diff --git a/.gitignore b/.gitignore index 71a4060..725c29b 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,7 @@ persistent.lock .gac-save-*.tmp battle_report.json .local-checkpoints/ + +.runtime/ +/scripts/client_unstuck_request.lua +/scripts/.client-unstuck-*.tmp diff --git a/README.md b/README.md index b827f7b..65aa4a9 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,42 @@ โปรเจกต์อยู่ระหว่างพัฒนา โดยกำลังตรวจการใช้งานกับ Client **4.6.53 OS** ตารางคำสั่งและ handler ที่แก้ล่าสุดอ้างอิง PearlSR commit `005d2c12db4781071f4b5b68e8f364587886a710` รายละเอียดอยู่ใน [บันทึกอัปเดต protocol](docs/protocol-update.md) การตรงกันของ schema ไม่ได้ยืนยันว่าเกมทุกระบบทำงานครบ +## CW — กำลังพัฒนา + +กำลังทำ Currency Wars ให้ครบวงจร รายละเอียดและขอบเขตที่ยังไม่เสร็จอยู่ใน [บันทึก CW](docs/currency-wars-investigation.md) ขณะนี้เพิ่ม catalog จาก Client, ข้อมูลเริ่มต้น `GridFightGetData` และรายการกิจกรรมแล้ว ยังไม่ถือว่า CW เล่นได้ครบ และระบบเซฟรอบ/ร้าน/เส้นทาง/การต่อสู้/ผลจบ CW ยังอยู่ระหว่างทำ + +ทางเข้า CW ใช้ start anchor จาก MapEntrance และ RuntimeGroup ของ Client แทนการเลือกเสาวาร์ปแรกในแมพ ผู้ใช้ยืนยันว่าเข้าห้อง เห็นโฮโลแกรม และเปิด UI ค้างไว้ได้แล้ว ข้อมูลอยู่ใน `resources/CurrencyWarsCatalog.json` พร้อมที่มา ส่วนเริ่มรอบและเล่น CW ให้จบยังอยู่ระหว่างทำ + +Catalog มีตารางเส้นทางจาก Client ครบชุดที่จับได้ 493 แถว ตัวอ่านตรวจรหัสเส้นทาง/บท/ห้องซ้ำและเส้นทางฝึกสอนที่ constant อ้างถึง โดยไม่ใช้ NodeTemplateID แทน StageID ของ Battle การส่งผลเริ่มรอบยังต้องต่อข้อมูลห้อง ร้านค้า และสถานะผู้เล่น CW ให้ครบก่อน + +โครงสร้างเซฟ CW แยกตาม UID อยู่ใน `persistent.currency_wars` พร้อม revision ป้องกัน session เก่าเขียนทับ และตรวจ Client/assembly ก่อนคืนข้อมูล `GridFightGetData` จะอ่านเซฟเมื่อมี โดยไม่เขียนไฟล์ระหว่างอ่าน StartGamePlay บันทึกสถานะเริ่มรอบก่อนตอบกลับแล้ว พร้อม Resume/QuitLeave แต่ยังไม่ได้ยืนยันการเล่นต่อจากเซฟใน Client + +ส่วนร้านค้ามีโค้ดกองการ์ดและแผนซื้อ/รีเฟรชแล้ว โดยอ่านจำนวนการ์ดกับกฎพื้นฐานจาก catalog และยังต้องเชื่อมกับกระดาน สถานะรอบ และแพ็กเก็ตคำสั่งจริง เพิ่มสถานะเริ่มต้นที่จับจาก March7 PS สำหรับด่านแรกของ Standard Gambit/Overclock ใน `resources/CurrencyWarsInitialRuns.json` แล้ว แต่ยังไม่ได้ต่อคำสั่งเลือกประตู ร้านค้า และการต่อสู้ครบ สถานะเริ่มต้นใช้ตัวอย่างที่จับไว้ ไม่ใช่การสุ่มรอบใหม่ทั้งหมด + +โปรไฟล์เริ่ม CW ใช้นโยบาย `freeplay_unlocked` ใน resource ดังกล่าว ตามข้อมูล tutorial ของ March7 PS เพื่อไม่ให้ Client ส่งคำขอฝึกสอน Division 0 มายัง handler รอบปกติ นโยบายนี้ข้ามบทฝึกสอนเพื่อเข้า Freeplay โดยไม่แจกผลรางวัลบทฝึกสอน ผู้ใช้ยืนยันว่าเข้า Investment Environment และผ่านไปหน้า Preparation ได้แล้ว + +ผู้ใช้ยืนยันแล้วว่าเข้า CW ถึงหน้า Investment Environment ได้ เพิ่มการตอบ Confirm จาก `GridFightHandleBonfireHealHpCsReq` ไปยัง `GridFightHandlePendingActionScRsp` พร้อม sync สถานะและบันทึกรอบก่อนตอบกลับ ขณะนี้ใช้ผลเริ่มต้นที่จับจาก reference สำหรับสามตัวเลือกของด่านแรกทั้งสองโหมดใน `resources/CurrencyWarsEntryTransitions.json` ยังเป็นผลเริ่มต้นคงที่ และยังไม่ได้ต่อคำสั่งรอบถัดไป/ร้าน/การต่อสู้ครบ ค่าเอฟเฟกต์บางอย่างของ reference ต่างจาก Client ปัจจุบัน จึงยังไม่ถือว่าเอฟเฟกต์หรือ CW เล่นครบแล้ว + +### Unstuck จาก GaC srtool + +ปุ่ม **Unstuck** ใน GM Command Console ส่ง `POST /api/client/unstuck` ให้เกมเรียกฟังก์ชันปลดการบล็อกขณะรอแพ็กเก็ตใน heartbeat ถัดไป เว็บรอผลยืนยันจาก Client ผ่าน `/api/client/unstuck/result` ก่อนแสดงว่าสำเร็จ ใช้คำสั่ง `/unstuck` ใน console ได้ด้วย การกู้ UI นี้ไม่ลบเซฟ CW ไม่ย้ายแมพ และไม่สร้างผลสำเร็จปลอมให้คำสั่งเล่นเกม หากเซิร์ฟเวอร์หรือเกมไม่เชื่อมต่อจะยังปลดไม่ได้ และยังต้องแก้ handler ที่ทำให้ค้างด้วย + +ตัวอ่าน catalog รองรับตัวละครเริ่มต้นจากสมุด 60 รายการและค่าด่านจากโปรไฟล์ใหม่ 71 รายการ พร้อมตรวจราคาขายเริ่มต้นกับตารางดาว/ความหายาก ข้อมูลนี้ยังไม่ครอบคลุมตัวแปรทั้งหมดของร้าน และค่าด่านยังต้องคำนวณผลของ talents/modifiers เพิ่ม จึงยังไม่ใช่ระบบร้านค้าหรือผลรางวัล CW ที่เสร็จแล้ว + +ข้อมูลเริ่มต้นของช่วงคะแนน `CycleScoreRewardGetData` ใช้เวลาจบจาก `activity_schedule.end_time` เพื่อไม่ให้ตัวนับเวลาได้ค่าเริ่มต้นปี 1970 ขณะนี้ยังเป็นช่วงเปิดเล่นตาม config ระบบรีเซ็ตรายสัปดาห์ คะแนนสะสม และการรับรางวัลยังอยู่ระหว่างพัฒนา + +ช่วงเวลากิจกรรมใช้ `activity_schedule.begin_time` และ `activity_schedule.end_time` ใน `server.json` (Unix seconds) override ด้วย `server.local.json` หรือ `GAC_ACTIVITY_BEGIN_TIME` / `GAC_ACTIVITY_END_TIME` ได้ ต้องมีค่าทั้งคู่ โดยเริ่มไม่น้อยกว่า 0 และสิ้นสุดมากกว่าเริ่ม SDK, gateway และ launcher ตรวจค่าเดียวกัน ช่วงเวลานี้เป็นนโยบายเปิดเล่นของเซิร์ฟเวอร์ ไม่ใช่กำหนดการทางการของเกม + ## เริ่มใช้งานบน Windows -1. ติดตั้ง **Go 1.27.0 ขึ้นไป** ตาม `go.mod` และตรวจด้วย `go version` +### ข้อมูลตัวละครหายจนค้างหน้าโหลด + +หาก Player.log มี `TeamManager._CreateMemberEntity` / `IndexOutOfRangeException` ให้ตรวจว่า `freesr-data.json` ยังมี `avatars` และครบทุกรหัสในทีมปัจจุบัน การนำเข้าเฉพาะ relic/light cone ต้องไม่ลบส่วนตัวละครออก เซิร์ฟเวอร์จะปฏิเสธ roster ว่างและทีมที่อ้างถึงตัวละครที่ไม่มี พร้อมเก็บข้อมูล session เดิมไว้เมื่อ hot reload พบไฟล์ผิด + +`POST /api/freesr/data` รวมเฉพาะฟิลด์ที่ส่งมาและรวมรายการ avatar ตามรหัส ส่วน `PUT` ใช้แทนข้อมูลทั้งชุดและต้องมี `avatars`, `lightcones`, `relics`, `battle_config` ครบ การบันทึกตรวจ roster/ทีมก่อนเขียนแบบ atomic และไม่เขียน `persistent` กลับจากการอ่านข้อมูล ใช้ SDK และ Game server build ที่มีการป้องกันนี้ทั้งคู่ + +1. ใช้ Windows กับ PowerShell และอินเทอร์เน็ตสำหรับ build ครั้งแรก Launcher ตรวจ Go ตามเวอร์ชันขั้นต่ำใน `go.mod`; ถ้าไม่มีหรือเก่าเกินไป จะดาวน์โหลด ZIP จากรายการรุ่นทางการ ตรวจ SHA-256 แล้วติดตั้งใน `launcher.go_install.directory` โดยไม่ต้องใช้สิทธิ์ผู้ดูแล ดู [การติดตั้ง Go](https://go.dev/doc/install) และ [รายการไฟล์ทางการ](https://go.dev/dl/?mode=json) 2. เตรียม Client, launcher/proxy และการ redirect dispatch ให้เชื่อมต่อเซิร์ฟเวอร์ที่กำหนดใน `server.json` 3. เก็บไฟล์ข้อมูลและโฟลเดอร์ `resources` ไว้ใน root ของโปรเจกต์ และตั้งค่า launcher ตามหัวข้อ config ด้านล่าง 4. เปิด `run.bat` แล้วเลือกเมนูที่ต้องการ @@ -42,16 +74,22 @@ SDK และ game server เปิดหน้าต่างคอนโซล | ค่าใน config | Environment override | ใช้สำหรับ | | --- | --- | --- | +| `account_name` | `GAC_ACCOUNT_NAME` | username ในคำตอบ SDK login และชื่อผู้เล่นในเกม ใช้ค่าเดียวกัน | | `player_uid` | `GAC_PLAYER_UID` | UID ผู้เล่น ใช้ร่วมกันทั้ง SDK และ game server; ต้องเป็นจำนวนเต็ม 1–4294967295 | | `client_version` | `GAC_CLIENT_VERSION` | เวอร์ชันที่แสดงใน log/API | | `game_host`, `game_port` | `GAC_GAME_HOST`, `GAC_GAME_PORT` | ที่อยู่ bind ของ game server | | `sdk_host`, `sdk_port` | `GAC_SDK_HOST`, `GAC_SDK_PORT` | ที่อยู่ bind ของ SDK server | | `public_game_host` | `GAC_PUBLIC_GAME_HOST` | ที่อยู่ game server ที่ gateway แจ้ง Client | | `public_sdk_url` | `GAC_PUBLIC_SDK_URL` | Base URL ที่ dispatch แจ้ง Client | +| `battle_diagnostics.live_report_stale_seconds` | `GAC_LIVE_BATTLE_STALE_SECONDS` | อายุสูงสุดของ snapshot Live ก่อนกลับไปใช้รายงานที่บันทึกแล้ว | | `launcher.client_path` | `GAC_CLIENT_PATH` | ไฟล์ launcher/เกมที่จะเปิด | | `launcher.proxy_path` | `GAC_PROXY_PATH` | ไฟล์ Proxy ที่จะเปิด | | `launcher.go_command` | `GAC_GO_COMMAND` | คำสั่ง Go จาก PATH หรือ path ที่กำหนด | +เปลี่ยน username และ UID ได้ที่เดียวใน `server.json`: `account_name` คือชื่อทั้งบัญชีและในเกม ส่วน `player_uid` คือ UID (ปัจจุบัน `52022`) ถ้าต้องการค่าเฉพาะเครื่อง ให้ใส่สองคีย์นี้ใน `server.local.json` แทน หลังแก้ให้รีสตาร์ตทั้ง SDK และ game server แล้วออกจากบัญชีและ login ใหม่เพื่ออัปเดตชื่อที่ Client cache ไว้ ไม่ต้องแก้ซอร์สหรือไฟล์เซฟเพื่อเปลี่ยนสองค่านี้ + +`run.bat requirements` เตรียม Go อย่างเดียว ส่วนเมนู build เรียกขั้นตอนนี้อัตโนมัติ การรัน executable ที่ build แล้วไม่ต้องมี Go ติดตั้งในเครื่อง ตั้ง `launcher.go_install.enabled=false` เพื่อใช้ Go ที่ติดตั้งเองเท่านั้น URL ของ manifest/ดาวน์โหลดและโฟลเดอร์ติดตั้งอยู่ใน `server.json` และ override ผ่านไฟล์ local ได้ ไม่มี path โปรแกรมเฉพาะเครื่องฝังใน launcher โฟลเดอร์ `.runtime/` และ receipt ของ toolchain ไม่ถูก commit + เมื่อเปลี่ยนเครือข่ายให้ตั้งทั้ง bind และค่าที่ประกาศให้ Client เข้าถึงได้ โดยเฉพาะ port ใน `public_sdk_url` เมื่อ SDK รับการเชื่อมต่อโดยตรง ค่าเหล่านี้มีค่าเริ่มต้นอยู่ในไฟล์ config และไม่มี fallback เครือข่ายในโค้ด ต้องรีสตาร์ตเซิร์ฟเวอร์หลังเปลี่ยน config การเปลี่ยน `client_version` ไม่ได้แปลง protocol หรือทรัพยากรของเกมให้อัตโนมัติ ตรวจ config โดยไม่เปิดเกมหรือเซิร์ฟเวอร์: @@ -60,6 +98,26 @@ SDK และ game server เปิดหน้าต่างคอนโซล .\run.bat check ``` +## มอนในฉากและการเชื่อมต่อ Srtool + +- เมื่อไม่ได้เชื่อมต่อ GaC-Srtool เซิร์ฟเวอร์จับคู่ EventID ของมอนในฉากกับ PlaneEvent ของ Client แล้วใช้ StageConfig ของด่านนั้น ทั้งตอนโจมตีมอนและตอนมอนโจมตีผู้เล่น ไม่มีการใช้รายการมอน Custom จากไฟล์เก่าเป็น fallback หากไม่มีข้อมูลตรงรุ่นจะคืน error พร้อม log +- `resources/WorldBattleConfig.json` เก็บ PlaneEvent/Cocoon ที่อ่านจาก Client พร้อมเวอร์ชันและ hash ของ assembly; `world_level` เป็นระดับบัญชีที่ใช้งานร่วมกันใน login/ฉาก/Battle ตารางนี้ต้องส่งออกใหม่เมื่อเปลี่ยน Client หรือชุด resource +- GaC-Srtool ส่ง `POST /api/tool-session` พร้อม `client: "GaC-Srtool"` และ `connected: true` แล้วต่ออายุตาม `srtool.lease_seconds` จึงเปิดใช้ Custom monsters ได้ การปิดเว็บ/ขาดการเชื่อมต่อทำให้ lease หมดอายุ โดยเก็บไฟล์ชั่วคราวตาม `srtool.lease_file` ต้องใช้เว็บฉบับที่รองรับการต่ออายุนี้และ reload เว็บหลังอัปเดต +- Challenge ที่กำลังเล่นใช้ config ของโหมดและห้องนั้น มีลำดับเหนือ Custom monsters +- Quick Cocoon ที่ส่งจำนวน wave เป็นศูนย์ตีความเป็นหนึ่งชุดด่านตามพฤติกรรม request ที่เก็บได้ ยังต้องตรวจผลใน Client สำหรับ Calyx แต่ละประเภทหลังปรับเส้นทางนี้ + +`resources/PropInteractionConfig.json` ระบุวัตถุทำลายได้จาก Prop ของ Client ส่วนก้อนฟื้น Technique MP ใช้นโยบายเพิ่ม 2 จาก reference server ที่ระบุในไฟล์และจำกัดไม่เกินเพดานทีม ระบบฟื้น HP/สุ่ม buff จากวัตถุยังรอข้อมูลกราฟของ Client จึงยังไม่อ้างว่ารองรับครบ + +Hide UI ใช้ปุ่ม Backslash เพื่อซ่อน HUD รวม CanvasGroup ย่อยใน Battle และเก็บชื่อเซิร์ฟเวอร์/UID ไว้ หน้าต่าง Eidolon ซ่อน controls โดยไม่ปิดกล้องหรือภาพประกอบ การเปลี่ยน Lua มีผลผ่าน heartbeat; ผลใน Battle และหน้าต่าง EX ต้องตรวจจาก Client อีกครั้ง + +`resources/PlayerCosmetics.json` ใช้รายการ PlayerOutfit และ AvatarSkin ที่อ่านจาก Client การปลดของแต่งผู้บุกเบิกส่งไอเท็มเป็นเจ้าของครั้งละหนึ่งชิ้นใน GetBag ส่วนชุดที่เลือกผ่าน SetPlayerOutfit เก็บใน `persistent.player_outfits` และส่งกลับเมื่อ login ใหม่ ค่า Outfit ID ที่สวมรับจาก selector ของ Client โดยตรงและ sync ตามโครงสร้าง PearlSR; ยังไม่ได้ export ตารางจับคู่ OutfitID/ItemID จึงไม่แปลงเลขด้วยสูตร + +ข้อมูลฉากที่ปรับรอบนี้จำกัดที่ Starfroster กับ Moment of Joy ใน `resources/SceneMetadata.json`: อัปเดตกลุ่ม/prop ที่ยังมีอยู่และเป็นของ Server พร้อม SavedValues จาก `RuntimeDimension.DefaultValue` จึงไม่ใช้ MaxValue เป็นค่าเริ่มต้นของสองแมพนี้ กลไกรถไฟเป็น prop ฝั่ง Client และมีตัวแปร FSV_Coaster ในตารางปัจจุบัน ผลการแสดงฉากและปุ่มรถไฟยังต้องยืนยันในเกม ส่วนแมพอื่นยังใช้ข้อมูลเดิม ไม่ได้อ้างว่าอัปเดตทั้ง resource แล้ว + +สองแมพนี้ยังส่ง GroupPropertyConfig ให้ GetSceneMapInfo และกลุ่มฉากของ Server โดยใช้ชื่อ/ค่าเริ่มต้น/ขอบเขตจาก Client ค่าที่เปลี่ยนเก็บใน `persistent.scene_group_properties` ข้อมูลที่เก็บครอบคลุม Main dimension ที่ระบุใน resource; handler จะปฏิเสธ dimension หรือ property ที่ยังไม่มีข้อมูล ข้อสันนิษฐานของ schema: field 15 ชนิด int32 ใน UpdateGroupPropertyCsReq ใช้เป็นค่าที่ต้องการตั้ง ส่วน response ยืนยันเฉพาะชื่อ/floor/group/dimension ตาม PearlSR โดยยังไม่ระบุความหมายของ field ค่าเก่า/ค่าใหม่ที่ obfuscated ต้องยืนยันผลจาก Client ต่อ + +เทคนิคฟันทิ้งมอนใช้รายการ avatar จาก reference PearlSR และ Rank ของ NPCMonsterData ที่ส่งออกจาก Client มอนระดับ Minion/MinionLv2 จึงข้าม Battle ได้ ส่วนบอส/Challenge และช่วงใช้ Custom encounter คงเส้นทาง Battle ของโหมดนั้น ไม่มีการตัดสินชนิดมอนด้วยช่วงเลข ID + ## ทำไมมี executable สองตัว | ไฟล์ | หน้าที่ | พอร์ต | @@ -114,7 +172,7 @@ go test ./... สำรอง `freesr-data.json` และ `persistent` ก่อนเปลี่ยนชุดข้อมูล `res.json` ใน root กับ `resources/res.json` มีโครงสร้างต่างกันและ loader ใช้ร่วมกัน จึงควรเก็บไว้ตามตำแหน่งเดิม -**Calyx ใช้ `battle_config` ใน `freesr-data.json` เป็นข้อมูลจำลองการต่อสู้** จึงอาจได้ StageID และมอนสเตอร์ต่างจากดอกไม้ที่กดในเกม +**FreeSR custom battle ใช้ได้เฉพาะ Golden/Crimson Calyx** ตาม `CocoonType` จาก Client resource; Stagnant Shadow และ Cavern of Corrosion จะใช้ Stage/monster จาก Client ตามเวอร์ชันเสมอ ส่วน Echo of War ใช้ `StartRaid` ซึ่งยังไม่มี handler สร้างฉากและ BattleInfo ใน server ปัจจุบัน จึงยังต้องเติม Raid resource/handler แยก โดยห้ามอ่าน `battle_config` ของ FreeSR ## REST API / GaC-Srtool @@ -124,9 +182,11 @@ go test ./... | --- | --- | --- | | GET | `/api/status` | อ่านสถานะและข้อมูลผู้เล่น | | GET, POST | `/api/freesr` | อ่านหรืออัปเดต FreeSR data | +| GET, POST | `/api/inventory/materials` | อ่าน catalog Item ID ของ Client หรือแก้จำนวนไอเทมหลายรายการโดยไม่เขียนทับ FreeSR data ส่วนอื่น | | GET, POST | `/api/freesr/avatars` | อ่านหรืออัปเดตข้อมูลตัวละคร | | GET, POST | `/api/persistent` | อ่านหรืออัปเดตข้อมูล persistent | | GET, POST | `/api/battle_report` | อ่านสถิติดาเมจ/การต่อสู้ล่าสุด หรือบันทึกรายงานการต่อสู้ | +| POST | `/api/battle_report/live` | รับ snapshot สถิติ protobuf ระหว่าง Battle จาก Client ที่ใช้ Lua collector | | POST | `/api/battle_report/reset` | ล้างสถิติรายงานการต่อสู้ | | POST | `/api/exrank/toggle` | สลับการปลดล็อก EX rank | | POST | `/api/avatar/rank` | เปลี่ยน rank ตัวละคร | @@ -137,6 +197,8 @@ go test ./... รูปแบบ request และเงื่อนไขการอัปเดตอยู่ใน `internal/sdkserver/api.go` การอัปเดตข้อมูลผ่าน API ยังต้องตรวจผลการโหลดข้อมูลของ Client ด้วย +Damage Analyst รับ snapshot ระหว่างสู้จาก `BattleModule.LastBattleStatistic` ผ่าน Lua ใน `scripts/` แล้ว Srtool อ่าน snapshot ล่าสุดจาก `/api/battle_report` โดยอัตโนมัติ รายงานสุดท้ายยังมาจาก `PVEBattleResult`/`QuitBattle` ตามเดิม หากไม่มี snapshot ใหม่เกิน `battle_diagnostics.live_report_stale_seconds` จะกลับไปแสดงรายงานล่าสุดที่บันทึกไว้ ค่าเริ่มต้นอยู่ใน `server.json` และ override ได้ด้วย `server.local.json` หรือ `GAC_LIVE_BATTLE_STALE_SECONDS` การอัปเดตนี้ยังต้องยืนยันการทำงานจริงจาก Client + ## สถานะและปัญหาที่กำลังตรวจ มี handler สำหรับ login, ทีม, ตัวละคร, ไอเทม, ฉาก, teleport, ภารกิจ, Calyx และ challenge แต่ความครบของ handler ไม่ได้หมายถึงรองรับทุกกรณีใน Client @@ -189,6 +251,8 @@ go test ./... แก้โปรไฟล์เพิ่มเติม: field 4 ของ GetPlayerBoardDataScRsp คือการ์ดส่วนตัว, field 8 คือรูปโปรไฟล์ และ field 9 คือตัวละครช่วยเหลือ โค้ดเดิมใส่ ID ผิดประเภทและไม่มี head frame/display data ปรับให้ใช้ `resources/AvatarPlayerIcon.json`, `resources/ProfileConfig.json` และทีมจริง พร้อมเติม ArchiveData ทั้งสอง response ผู้ใช้ยืนยันหน้าตัวละครหายค้างหลังเปิดเกมใหม่ +การสลับ Path ของ Trailblazer อ่าน path/เพศจาก `persistent` ส่งข้อมูล avatar และทีมตามลำดับ protocol ที่อ้างอิง พร้อมบันทึกค่าที่เปลี่ยน โปรไฟล์เก็บค่ารูป, การ์ด, signature, ตัวละครแสดงผล/ช่วยเหลือ และมือถือ (theme, case, chat bubble) ไว้ใต้ `persistent.profile` และตรวจ ID กับ resource ของ Client ก่อนรับค่า จึงยังคงค่าที่เลือกหลังเปิดเกมใหม่ + ## Eidolon และ EX: การแจกไอเท็มและซิงก์ `resources/EidolonConfig.json` กำหนดรายการแจกของ Jing Yuan, Dan Heng IL และ Acheron: @@ -202,6 +266,10 @@ go test ./... ก้อนปกติแจกเท่ากับต้นทุน rank ที่ยังไม่ปลด (E0 ได้ 6 ชิ้น) อ้างอิง `AvatarRankConfig.UnlockCost` และ `ItemConfigAvatarRank` จาก [ชุดข้อมูล revision ที่บันทึกไว้](https://gitlab.com/Dimbreath/turnbasedgamedata/-/tree/312b4597691e0a29cf9828a15b592757dba86949/ExcelOutput) และเทียบ RankIDList กับ AvatarConfig ในโปรเจกต์ ก้อน EX ใช้สาม ID ที่ผู้ใช้ระบุ แจกหนึ่งชิ้นเมื่อ EX ปิดอยู่ ไม่สร้าง ID ด้วยสูตรจาก AvatarID ผู้ใช้ยืนยันรายการใหม่และการกดปลดใน Client แล้ว - `GetBag` ส่งรายการแจกเมื่อเข้าเกม ก้อนลดตาม rank/EX ที่บันทึกไว้ ไม่รีเซ็ต progression เมื่อเปิดเกมใหม่ +- เมื่อนำเข้า FreeSR ระหว่างออนไลน์ การซิงก์เต็มส่งจำนวนวัสดุแบบเดียวกับ `GetBag` ด้วย การแก้เฉพาะตัวละครหรือวัสดุส่งเฉพาะจำนวนที่เปลี่ยน รวมค่า 0 เมื่อปลดครบ โดยยังเลื่อนการนำเข้าจนจบ Battle ตามเดิม +- API นำเข้า `PUT /api/freesr/data` เก็บ `materials` เดิมไว้เมื่อไฟล์นำเข้าไม่ได้ส่งฟิลด์นี้มา ถ้าส่ง `materials` มาเองจะใช้ค่าที่ส่ง รวมจำนวน 0; ส่ง `{}` เพื่อล้าง override กลับไปใช้จำนวนจาก resource/progression กฎนี้ไม่ครอบคลุมโปรแกรมภายนอกที่เขียนทับไฟล์โดยตรง +- ตามคำขอเก็บก้อนแม้ปลดครบแล้ว ให้ตั้งจำนวนแยกใน `materials` ผ่าน `/api/inventory/materials` โดย API รวม ID จาก `EidolonConfig.json` ด้วย จำนวนที่ตั้งไว้จะใช้แทนการแจกตาม rank/EX และไม่เปลี่ยน E6 หรือสถานะ EX ของตัวละคร +- `GetBag` โหลด catalog จาก `resources/InventoryItemConfig.json`: Material/Usable/Mission 2,612 รายการ, Light Cone 170 ใบ และ Relic BASIC ที่ Client มองเห็นตาม ItemConfigRelic โดย join กับ RelicConfig และกลุ่ม affix ของแต่ละชิ้น ของ catalog ที่ไม่มีใน save จะเพิ่มเป็นชิ้นยังไม่สวมและบันทึกลง `freesr-data.json`; อุปกรณ์เดิมไม่ถูกลบ - RankUpAvatar เซฟ rank ลง freesr-data.json โดยแก้เฉพาะค่า rank และเก็บฟิลด์นำเข้าอื่นไว้ E1–E6 ไม่เปิด EX ให้เอง - EX ทั้งสามคนเริ่มปิดไว้ตามคำขอ `false` เก็บชัดเจนใน persistent; การเปิดจากในเกมบันทึกและส่ง AvatarSync/MaterialList เฉพาะส่วน - เกมอ่าน EX จาก persistent ทุกประมาณ 1 วินาที แล้วส่งข้อมูลตัวละครที่เปลี่ยน ใช้เส้นทางนี้ร่วมกับ API เดิมโดยไม่แก้ source เว็บ GaC srtool @@ -210,7 +278,7 @@ go test ./... สถานะรอบ progression: build ทั้งสองตัวผ่าน ผู้ใช้ยืนยันว่าก้อนขึ้น ปลด E1/EX ได้ และยังเข้า Calyx ได้ ตรวจไฟล์ระหว่างลองพบ Dan Heng IL rank=1 และ EX=true ต่อมาผู้ใช้เปิด EX ทั้งสามคนแล้ว จึงเก็บค่า true ตามการกดปลดจริง ผลนี้ไม่ได้รับรองว่าเว็บ GaC srtool ที่แก้แยกอยู่ได้ทดสอบ integration แล้ว -รอบโหลดกระเป๋า 12:18 ส่ง GetBagScRsp ขนาด 56663 ไบต์แล้ว ไม่พบ TryCreateItemData/Inventory error ใน log ณ เวลาตรวจ และอ่าน API status แล้ว hash ของ persistent ไม่เปลี่ยน EX ยัง false ทั้งสามคน หลังจากนั้นรับ RankUpAvatar เวลา 12:18:23 และคำขอ EX เวลา 12:18:28 สำเร็จ พร้อม PlayerSyncScNotify ขนาด 234/237 ไบต์ แสดงว่าใช้การอัปเดตเฉพาะส่วนและไม่ได้ล้าง inventory ทั้งชุด +รอบโหลดกระเป๋าเดิม 12:18 ก่อนเพิ่ม item catalog ส่ง GetBagScRsp ขนาด 56663 ไบต์ ไม่พบ TryCreateItemData/Inventory error ใน log ณ เวลาตรวจ หลังจากนั้นรับ RankUpAvatar เวลา 12:18:23 และคำขอ EX เวลา 12:18:28 สำเร็จ พร้อม PlayerSyncScNotify ขนาด 234/237 ไบต์; ขนาดและผล Client ของ catalog ใหม่ยังต้องตรวจในเกม ## โครงสร้างซอร์ส @@ -296,4 +364,58 @@ python tools/audit_protocol_handlers.py "" `Backslash` ซ่อนเฉพาะ HUD ที่ระบุชื่อไว้ใน `scripts/hide_ui.lua` เช่น HUD เดินโลก/ต่อสู้ ตัวเลขลอยและ waypoint โดยไม่ปิด UIRoot, กล้อง UI หรือ Canvas ทั้งฉาก จึงเหลือหน้าตัวละคร หน้ารายละเอียด EX Eidolon และหน้าต่างรางวัลไว้ ปิดโหมดแล้วคืนค่า CanvasGroup เดิมของ HUD ที่แก้ ถ้าเคยใช้สคริปต์ซ่อนทั้ง UI รุ่นเก่า แนะนำเปิดเกมใหม่หนึ่งครั้ง เพราะรุ่นเก่าไม่ได้เก็บค่า alpha/interactable เดิมทั้งหมดไว้ ผลหน้า EX ยังรอยืนยันจาก Client -Hide UI ซ่อนเมนู รายละเอียด รายชื่อตัวละคร และปุ่มปิด/แถบบนที่ตรวจพบในหน้า Character เพิ่มด้วย โดยเว้น AvatarRankPanel และ Dialog ไว้เพื่อรักษาภาพ Eidolon; ส่วนควบคุมภายในหน้า Rank ยังไม่ได้แยกซ่อนและรอตรวจ Client +Hide UI ซ่อนเมนู รายละเอียด รายชื่อตัวละคร และปุ่มปิด/แถบบนที่ตรวจพบในหน้า Character เพิ่มด้วย ภายในหน้า Rank/Eidolon ซ่อนข้อความ ปุ่ม และรูปไอคอน SkillIcon โดยคงภาพประกอบไว้ รวมถึงเว้นชื่อเซิร์ฟเวอร์และ UID การตรวจชื่อองค์ประกอบนี้ยังต้องยืนยันทั้งหน้า EX และ Battle ใน Client + +การตรวจรอบล่าสุดยืนยันจากผู้ใช้ว่า prop ของ Moment of Joy โหลดได้แล้ว ส่วน Starfroster พบว่า RuntimeFloor มี 175 instance แต่มี GroupID ไม่ซ้ำ 167 กลุ่ม จึงแก้ `group_count` ใน SceneMetadata ให้นับ ID ไม่ซ้ำ มิฉะนั้นตัวตรวจจะไม่ใช้ข้อมูลใหม่และ Client ยังได้รับกลุ่มที่ถูกลบ รายการ checkpoint ที่ส่งออกของสองแมพใช้สถานะ CheckPointEnable ตามคำขอปลดล็อก โดยอ้างอิง enum จาก Client ผลวาร์ป/ปุ่ม M หลังแก้รอบนี้ยังรอยืนยัน + +### Town / Story ในแผนที่ M + +- `MapEntrance.json` มี Mission `2057101` และ Town `2057102` ซึ่งใช้ Plane/Floor เดียวกัน รายการ Starfroster เดิมใช้ Town และเพิ่ม `Starfroster — Story` ไว้ถัดลงมา โดยกำหนด Floor, Entry และชื่อที่ `resources/NavigationProfiles.json` แล้วรีสตาร์ต Game server/Client เมื่อเปลี่ยนรายการ +- `scripts/navigation_profiles.lua` ขยายรายการจริงใน `SwitchAreaPage` ผ่าน `SingleTabData`/`SubTabData` ที่ตรวจจาก Client และคัดลอกแท็บในหน่วยความจำ ชื่อ Story แยกจาก localized title เดิม เครื่องหมายตำแหน่งผู้เล่นตรวจ Entry ที่ Server ส่งด้วย จึงไม่แสดงทั้งคู่เพียงเพราะอยู่ Floor เดียวกัน ไม่สร้าง Plane/Floor/Entry ใหม่ +- Client เลือกแท็บซ้ำโดยใช้ FloorID แม้สองแถวมี Entry ต่างกัน สคริปต์จึงคง SubTabData ของตัวเลือกหลัง callback เลือกแถว พร้อมแก้ทั้งข้อความหัวข้อและข้อความแถวที่ LoopListView นำกลับมาใช้ ตรวจเฉพาะหน้าที่เปิดอยู่เป็นช่วง ๆ และ cache reflection ไม่สแกน assembly +- ตัวโหลดตรวจเวอร์ชัน resource และชนิด Town/Mission ให้ตรงตาราง MapEntrance รวมถึง Plane/Floor และ scene config ก่อนส่งข้อมูลใน heartbeat คำขอที่ระบุ Entry ตรง ๆ จะคง Entry นั้น เพื่อให้ Story ไม่ถูกเปลี่ยนกลับเป็น Town; คำขอที่ระบุเพียง Floor/teleport ใช้ค่าเริ่มต้นจาก `map_teleport_entry_id` ใน SceneMetadata +- ผู้ใช้ยืนยันว่าชื่อ Story เปลี่ยนแล้ว และ log หลังแก้ callback ยืนยัน request/response ของ Story เป็น Entry `2057101` และ Town เป็น `2057102` โดย Server ไม่เปลี่ยน Entry ระหว่างทาง ทั้งคู่ยังใช้ Floor `20571001` ตามตาราง Client จึงยังไม่ถือว่าแยกสภาพฉาก/แสง/สถานะเนื้อเรื่องได้ ประเภท Mission/Town ของทางเข้าเพียงอย่างเดียวไม่ยืนยันว่าภาพฉากจะต่างกัน การคืนตำแหน่งจาก Starfroster ไปจุดเดิมช่วยแก้กรณี login หน้าดำได้ตามผู้ใช้ยืนยัน แต่ไม่ถือว่าแก้ฉาก Starfroster ครบแล้ว +- เพิ่มการทดลองสถานะฉากแยก Entry ใน `SceneMetadata.entry_saved_values`: Town ใช้ MaxValue จาก RuntimeDimension ตามนโยบาย freeplay ของ PearlSR revision ที่ระบุ ส่วน Story ใช้ DefaultValue ตัวโหลดตรวจชื่อ/ขอบเขตจาก `saved_value_rules` และคัดลอกค่าแต่ละ Entry โดยไม่เขียนทับ defaults ของ Floor ร่วมกัน GetSceneMapInfo ใช้ Entry ที่ผู้เล่นอยู่เมื่อขอ Floor ปัจจุบัน จึงไม่ส่งสถานะ Town ทับ Story เพียงเพราะใช้ Floor เดียวกัน ผลแสงและกลไกหลังแยกสถานะรอบนี้ยังรอตรวจจาก Client และไม่อ้างว่า Story เป็น snapshot เควสต์อย่างเป็นทางการ +- หลังเปลี่ยนชุดสถานะ ผู้ใช้ยืนยันว่า Town กลับมาปกติแล้ว และ log ยืนยัน Entry `2057102` พร้อมชุดค่าฉาก Town การเล่นเนื้อเรื่องเต็มและกลไกของ Story ยังไม่ได้ยืนยัน + +### Inventory ใน Client + +`GetBag` ใช้ `resources/InventoryItemConfig.json` ซึ่งสร้างจาก ItemConfig/EquipmentConfig/RelicConfig revision ที่ระบุในไฟล์ เพื่อแสดงรายการ Material, Usable, Mission, Light Cone และ Relic BASIC ที่ Client มองเห็น อุปกรณ์ที่เพิ่มจาก catalog จะถูกเก็บเป็นรายการที่ยังไม่สวมใน `freesr-data.json`; main affix และ sub-affix ของ Relic เลือกจากกลุ่มที่ระบุใน RelicConfig ของชิ้นนั้น ID Relic ใน save ที่ไม่มี config ฝั่ง Client จะไม่ถูกส่งใน Bag, AvatarSync หรือ Battle แต่ยังเก็บไว้ใน save และมี log จำนวนรายการที่ถูกข้าม + +หากแก้ catalog ให้ใช้ตารางทั้งสี่ไฟล์จาก revision เดียวกันตาม `source` ใน JSON แล้วรัน `python tools/generate_inventory_item_config.py --source-dir "" --inventory-config resources/InventoryItemConfig.json` เพื่อสร้าง Relic templates ใหม่ + +GaC-Srtool แก้จำนวน Material/Usable/Mission ผ่าน `POST /api/inventory/materials`; จำนวนที่บันทึกใช้กับเกมหลังสร้าง session ใหม่ เพราะ game server เก็บ snapshot ผู้เล่นแยกจาก SDK API process. + +### ห้องรถไฟค้างโหลด + +Floor `10000003` ใช้ RuntimeGroup/prop และ SavedValues defaults ที่ capture จาก Client revision ใน `SceneMetadata.json` แทนชุด MaxValue เดิมซึ่งเปิด `Utility_IsDebug` และกลุ่ม DesignerBackup ที่ Client ไม่มี graph asset กลุ่มที่ส่งให้ Client กรองด้วย GroupIndexList ของ Dimension ที่ capture มา เพื่อไม่ส่งกลุ่มจาก Dimension อื่นปนกัน การเข้าแมปโดยไม่ระบุ Teleport ใช้ StartAnchorID ของ Entry ก่อน checkpoint แรกของ Floor เพื่อให้ลงตรงห้อง ส่วน Entry ที่ไม่มี StartAnchorID ใช้ floor_default_anchor ที่ capture จาก Client โดยรักษา Anchor แยกตามทางเข้า รายละเอียดและขอบเขตการยืนยันอยู่ใน [docs/scene-challenge-investigation.md](docs/scene-challenge-investigation.md) ผู้ใช้ยืนยันว่า Party Car ลงถูกห้องและวาร์ป/เข้าหน้า AA ได้แล้ว ส่วนการเล่นต่อสู้และ settlement ของ AA ยังไม่ได้ทดสอบ + +### Endgame — ทีมแนะนำ + +Damage Analyst ใช้ `StatisticsComponent` ของ Battle ปัจจุบันสำหรับข้อมูลสด พร้อมรายละเอียดรายตัวและช่องทีมจริง เก็บรายละเอียด native ตอนจบโดยตรวจให้ตรงกับผลที่ server ได้รับก่อนบันทึก ดู [docs/damage-analyst-live.md](docs/damage-analyst-live.md) สำหรับหลักฐาน Client และขอบเขตการตรวจ + +AA cycle: แยกเวลาจำกัดของ Peak ออกจากตาราง MoC แล้ว โดยใช้ค่าที่ capture จาก Client ใน `resources/PeakBattleConfig.json` ทั้ง Start และ Restart; เก็บแพ็กเก็ตผลเต็มเพื่อจับคู่ตัวนับ AA เพิ่มเติม การแก้เลข cycle/ดาวในหน้าผลยังรอตรวจ Client รอบใหม่ ดู [docs/peak-cycle-investigation.md](docs/peak-cycle-investigation.md) + +`GetFriendRecommendLineup` ส่งทีม Prydwen สำหรับ MoC floor 12 ลงใน response ของหน้าแนะนำทีม โดย resolve AvatarID จาก `resources/AvatarConfig.json` ของ Client ปัจจุบัน ข้อมูล snapshot/แหล่งที่มาและข้อจำกัดของ enum ที่ยัง obfuscate อยู่ระบุใน [docs/prydwen-endgame-recommendations.md](docs/prydwen-endgame-recommendations.md) อัปเดต snapshot ได้ด้วย `python tools/update_prydwen_endgame_teams.py --floor 12 --stage-count 3`; ต้องตรวจหน้าใน Client จริงก่อนยืนยันผล + +### CW Preparation และคำสั่งจัดการรอบ (2026-10-20) + +Client ยืนยันแล้วว่าเริ่มรอบ เปิดร้าน และลากตัวเริ่มลงสนามได้ เพิ่ม handler ซื้อ/รีเฟรช/ล็อกร้านและห้ามลง avatar ซ้ำในสนามแล้ว รุ่นแก้ชุดหลังยังรอตรวจจาก Client การซื้อเก็บตัวเพิ่มใน bench; การรวมดาวอัตโนมัติและเอฟเฟกต์เฉพาะตัวละครยังไม่ครบ + +พิมพ์ใน GM Console ของ GaC srtool เมื่อเชื่อมต่อเซิร์ฟเวอร์: + +- `/cw status` อ่านรอบ เงิน HP และเลเวลที่เซฟอยู่ +- `/cw gold <จำนวนรวม>` ตั้งเงิน CW เช่น `/cw gold 1000` +- `/cw hp <จำนวนรวม>` ตั้ง HP ภายในค่าสูงสุดของรอบ + +คำสั่งเปลี่ยนค่าถูกคิวไว้ตาม UID/รอบ และนำเข้าใน heartbeat ตอนอยู่หน้า Preparation ไม่แก้เงิน/กระเป๋า Adventure และไม่แทรกตอน Battle ข้อความ queued ยังไม่แปลว่าเกมใช้ค่าแล้ว; ตรวจ log `CW_GM applied` หรือ `/cw status` อีกครั้ง + +ผู้ใช้ยืนยันว่าเข้าต่อสู้ห้องแรก Standard ได้แล้ว และ log ยืนยันการบันทึกผลจบรอบ ไปห้อง 1-2 เลือก Investment และกลับหน้า Preparation ได้ ทีมและเงินมาจากรอบที่เซฟอยู่ ไม่แทนด้วยทีม reference + +ผู้ใช้ยืนยันการขายตัวที่ไม่มีอุปกรณ์ติดอยู่และซื้อ EXP แล้ว การซื้อ EXP บันทึกเงิน/ระดับ/จำนวนช่อง/อัตราร้านค้าพร้อมกัน ใช้ราคาจากรอบและจำนวน EXP จาก resource; ระดับสูงสุดไม่หักเงินเพิ่ม + + ห้อง 1-2 ใน Client ปัจจุบันมี Plot Armor/เลือก Protagonist ผู้ใช้ยืนยันว่าไม่ใช่การกด Battle ธรรมดา ทางจำลอง Battle ห้อง 1-2 ที่ทำไว้ก่อนหน้านี้จึงยังไม่ใช่เส้นทางที่ยืนยันว่าเล่นได้ ต้องต่อ Spotlight selection และ effects ก่อน ส่วน Supply, ห้องถัดไป, Overclock, trait/equipment effects และ progression ตลอดรอบยังไม่ครบ + + เพิ่มการรวมตัวชื่อเดียวกันและดาวเท่ากันครบ 3 ตัว โดยใช้แถวดาวของ Client ที่ตรวจ identity แล้ว สร้าง UID ใหม่และเก็บตำแหน่ง/อุปกรณ์ของตัวที่คงไว้ ตัวครบชุดที่ค้างจาก build เก่าจะรวมเมื่อกด Continue; การอ่านเซฟอย่างเดียวไม่แก้ไฟล์ ระบบพื้นฐานนี้ยังไม่ครอบคลุมตัวสลับร่างและข้อยกเว้น Spotlight/trait ที่เปลี่ยนกฎรวมดาว + + เพิ่มการเซฟ/ซิงก์ติดตามอุปกรณ์และลำดับติดตามจากหน้า Preparation แล้ว ใช้ข้อมูลอุปกรณ์ตรงรุ่น ทั้งการรวมดาวและการติดตามอุปกรณ์ยังรอผลยืนยันจาก Client หลังเปลี่ยน build diff --git a/artifacts/starfroster-scenes.fragment.json b/artifacts/starfroster-scenes.fragment.json new file mode 100644 index 0000000..939fc97 --- /dev/null +++ b/artifacts/starfroster-scenes.fragment.json @@ -0,0 +1,314 @@ +[ + { + "name": "Starfroster - Town", + "name_th": "Starfroster - Town", + "name_zh": "点星船 - Town", + "plane_id": 20571, + "entry_id": 2057102, + "entrance_type": "Town", + "floor_id": 20571001, + "world_id": 601, + "dimension_id": 0, + "x": 0, + "y": 19639, + "z": -98620, + "rot_y": 0, + "map_layer": 1, + "calyx_supported": false, + "source_client_version": "4.6.53", + "coordinate_units": "protocol: Unity metres/degrees multiplied by 1000", + "desc": "Starfroster Town entrance. Shared floor; entry and saved values require importer/server support.", + "start_anchor": { + "pos": { + "x": 0, + "y": 19639, + "z": -98620 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "ID": 1 + }, + "teleports": [ + { + "anchorId": 1, + "groupId": 66, + "instId": 300001, + "pos": { + "x": 0, + "y": 19639, + "z": -98620 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "teleportId": 2057101 + }, + { + "anchorId": 1, + "groupId": 67, + "instId": 300001, + "pos": { + "x": -100, + "y": -30739, + "z": 63630 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "teleportId": 2057102 + }, + { + "anchorId": 1, + "groupId": 68, + "instId": 300001, + "pos": { + "x": -80290, + "y": 72830, + "z": 315339 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "teleportId": 2057103 + }, + { + "anchorId": 1, + "groupId": 69, + "instId": 300001, + "pos": { + "x": 57408, + "y": 678, + "z": 753626 + }, + "rot": { + "x": 0, + "y": 270000, + "z": 0 + }, + "teleportId": 2057104 + }, + { + "anchorId": 1, + "groupId": 70, + "instId": 300001, + "pos": { + "x": 119461, + "y": 59375, + "z": 357360 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "teleportId": 2057105 + }, + { + "anchorId": 1, + "groupId": 139, + "instId": 300001, + "pos": { + "x": -19075, + "y": 0, + "z": 795969 + }, + "rot": { + "x": 0, + "y": 330388, + "z": 0 + }, + "teleportId": 1310 + } + ], + "saved_values": { + "FSV_StageChange": 1, + "FSV_CandyChange": 2, + "FSV_WindowBreak": 1, + "FSV_NPCrandom": 5, + "FSV_47Entry": 1, + "FSV_Carousel": 1, + "SceneStateByMainMission": 1, + "SubStateByMainMission": 1, + "FSV_470MissionCrowd_Sub1": 1, + "FSV_470MissionCrowd_Sub2": 1, + "FSV_470MissionCrowd_Sub3": 1, + "FSV_StageStep": 3, + "FSV_HideFIsh": 1, + "FSV_SkyChange": 1, + "FSV_UnlockFlute2057101": 1, + "FSV_ChangePhoto": 1, + "FSV_Coaster01": 2, + "FSV_Coaster02": 2, + "FSV_Coaster03": 2, + "FSV_Coaster": 1, + "FSV_CarouselOpen": 1, + "FSV_FDMain03Unlock": 1, + "FSV_FDFerrisWheel": 1 + } + }, + { + "name": "Starfroster - Story", + "name_th": "Starfroster - Story", + "name_zh": "点星船 - Story", + "plane_id": 20571, + "entry_id": 2057101, + "entrance_type": "Mission", + "floor_id": 20571001, + "world_id": 601, + "dimension_id": 0, + "x": 0, + "y": 19639, + "z": -98620, + "rot_y": 0, + "map_layer": 1, + "calyx_supported": false, + "source_client_version": "4.6.53", + "coordinate_units": "protocol: Unity metres/degrees multiplied by 1000", + "desc": "Starfroster Story entrance. Shared floor; entry and saved values require importer/server support.", + "start_anchor": { + "pos": { + "x": 0, + "y": 19639, + "z": -98620 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "ID": 1 + }, + "teleports": [ + { + "anchorId": 1, + "groupId": 66, + "instId": 300001, + "pos": { + "x": 0, + "y": 19639, + "z": -98620 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "teleportId": 2057101 + }, + { + "anchorId": 1, + "groupId": 67, + "instId": 300001, + "pos": { + "x": -100, + "y": -30739, + "z": 63630 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "teleportId": 2057102 + }, + { + "anchorId": 1, + "groupId": 68, + "instId": 300001, + "pos": { + "x": -80290, + "y": 72830, + "z": 315339 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "teleportId": 2057103 + }, + { + "anchorId": 1, + "groupId": 69, + "instId": 300001, + "pos": { + "x": 57408, + "y": 678, + "z": 753626 + }, + "rot": { + "x": 0, + "y": 270000, + "z": 0 + }, + "teleportId": 2057104 + }, + { + "anchorId": 1, + "groupId": 70, + "instId": 300001, + "pos": { + "x": 119461, + "y": 59375, + "z": 357360 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "teleportId": 2057105 + }, + { + "anchorId": 1, + "groupId": 139, + "instId": 300001, + "pos": { + "x": -19075, + "y": 0, + "z": 795969 + }, + "rot": { + "x": 0, + "y": 330388, + "z": 0 + }, + "teleportId": 1310 + } + ], + "saved_values": { + "FSV_StageChange": 0, + "FSV_CandyChange": 0, + "FSV_WindowBreak": 0, + "FSV_NPCrandom": 0, + "FSV_47Entry": 0, + "FSV_Carousel": 0, + "SceneStateByMainMission": 0, + "SubStateByMainMission": 0, + "FSV_470MissionCrowd_Sub1": 0, + "FSV_470MissionCrowd_Sub2": 0, + "FSV_470MissionCrowd_Sub3": 0, + "FSV_StageStep": 0, + "FSV_HideFIsh": 0, + "FSV_SkyChange": 0, + "FSV_UnlockFlute2057101": 0, + "FSV_ChangePhoto": 0, + "FSV_Coaster01": 0, + "FSV_Coaster02": 0, + "FSV_Coaster03": 0, + "FSV_Coaster": 0, + "FSV_CarouselOpen": 0, + "FSV_FDMain03Unlock": 0, + "FSV_FDFerrisWheel": 0 + } + } +] diff --git a/docs/currency-wars-investigation.md b/docs/currency-wars-investigation.md new file mode 100644 index 0000000..4a3f289 --- /dev/null +++ b/docs/currency-wars-investigation.md @@ -0,0 +1,316 @@ +# Currency Wars implementation status + +## Objective and completion requirements + +CW must support the complete native gameplay loop, not just entering a battle. +Completion remains unproven until the current Client demonstrates all of: + +- Entry through Cosmic Strife with a valid season, activity state and reward track. +- Tutorial, normal and Overcharge selection supported by the current Client tables. +- New runs, reconnect/resume, abandon and restart without resetting unrelated saves. +- Gold, interest, player EXP/levels, HP, shops, buying/selling and role upgrades. +- Board/front/back/bench placement, equipment, crafting, tracking and trait effects. +- Native routes, enemies, battle parameters and results for the selected node. +- Supplies, selections, augments, portals, bonuses, bonfires and other node actions. +- Chapter progression through the final boss, defeat and completion settlement. +- Persistent records, reward claims, weekly progression and talents. +- Client confirmation of the above and preservation of the established ordinary Battle paths. + +## Entry update (2026-10-20) + +- Current StartGamePlay request: division tag 2, season `LJNGPCKPJLF` tag 4, Overclock tag 9. Tag 3 remains semantically unresolved; it was observed as 1 on the tutorial path. Do not interpret it as season or remap division 0 to a regular division. +- Start now saves a complete initial run before replying, then GetData restores it. Resume validates run identity; QuitLeave preserves it. Pending portal actions, shop commands and battles remain incomplete. +- `resources/CurrencyWarsInitialRuns.json` contains captured initial runs for division 20101 in both modes, bound to the current Client assembly. Other divisions are rejected. Captured choices/modifiers are fixed samples; procedural generation remains unfinished. +- Reference source: https://github.com/Mar7thLover/March7thHoney-OpenSource/tree/fe00bdbda3c28ca33d01f171566aa35b5ab95083 . Native reference requests were replayed against an isolated loopback copy and disposable account. +- Error 6908 occurred with division 0 and tag 3 = 1. Named current-Client predicates confirmed `ShouldStartCurrentSeasonTutorial=true`, `IsFinishedTutorialThisSeason=false`, and `LastTutorialFinishedSeasonID=0`. Fresh bootstrap omitted tutorial state and selected the tutorial path. +- The entry resource declares `freeplay_unlocked` explicitly using reference GetData tutorial metadata (seasonal completion tag 15, permanent latest tutorial season tag 11, and permanent per-season history map tag 6). Sending only the two scalar values did not resolve 6908: the Client continued requesting season 1 with division 0. The history map has now also been restored from the reference capture. This bypasses scripted tutorials for freeplay entry; it does not implement their missions or grant rewards. Client confirmation of corrected entry is pending. +- Only builds were run for this change; a successful build does not prove Client entry or battle completion. + +### Initial pending choices and recovery + +The user confirmed entry to Investment Environment after the tutorial-history change. The first Confirm sent request 8485 and previously had no handler. Controlled native replay establishes the current table's `GridFightHandleBonfireHealHpCsReq` as the pending-action request, with `MFFCPLBNHCF.JCAPCNLJGFC` carrying the portal and a `GridFightHandlePendingActionScRsp` response (8466). The reference sends ordered `GridFightSyncUpdateResultScNotify` (8683) before that response. All handlers resolve names through the current table; no numeric aliases were added. + +`CurrencyWarsEntryTransitions.json` now contains six initial outcomes for the already captured Standard/Overclock offers. The handler checks offer membership, pending queue, revision, resource identity/digests and next-phase structure before saving and syncing the result. This extends the fixed entry prototype only: starter outcomes are captured, not procedurally generated; later pending actions, shops, battle and settlement remain incomplete. Client confirmation of Confirm is pending. + +`tools/export_cw_reference_tables.py` reads the native reference MemoryPack cache without loading its unrelated mismatched schemas. It extracted 493 node templates, 116 portals, 966 basic bonuses and 372 combination bonuses. All current captured route template IDs are covered. These reference tables remain diagnostic data. Current Client portal capture yielded 73 handbook rows and found 26 field/coverage differences, including decimal parameters on portal 121 that the reference represents as zero. Do not replace current effect formulas with these older integer parameters. + +Unstuck is a separate explicit UI recovery operation. A queued nonce reaches the connected game through the existing heartbeat Lua transport and calls the observed `UIManager.ClearWaitNetPacketFullScreenBlock()`. Client acknowledgement is required before the web UI reports completion. It preserves saved runs and does not fabricate gameplay success or reset phase/loading flags. UI recovery still requires Client confirmation. + +## Authoritative inputs captured on 2026-10-18 + +- Command table: PearlSR revision `005d2c12db4781071f4b5b68e8f364587886a710`, recorded in `protocol/proto/upstream_cmdids.go`. +- Current GameAssembly SHA-256: `c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144`. +- `tools/inventory_cw.py` found 78 `GridFight*` commands and 491 reachable local protobuf declarations. This is a dependency inventory, not Client compatibility verification. Pending actions also use commands with obfuscated/non-GridFight names. +- Initially no CW handler was registered. `dangerFamilies` suppressed empty replies because the native module dereferences missing state. Keep that guard for unsupported requests. +- The current PearlSR gameserver checkout contains no CW gameplay implementation to port. +- Native common/client constant tables provided 197 CW constants. Active season is 2, subseason 1. First season is 1; it is not the active-season default. +- Captured division catalogs: 97 rows for season 1, 71 for season 2, each with a completed native enumeration marker. `resources/CurrencyWarsCatalog.json` records capture and assembly hashes. +- Active `GridFightSeasonModuleConfigRow`: OfferingID 16, ActivityQuestConfigID 71101, ActivityModuleID 7110101, MaxRewardExp 48000. ActivityConfig maps that module to parent activity 71101. Runtime schedule dates are operator policy, not claimed official dates. + +## Client entry evidence + +The user's Cosmic Strife screenshot is the intended CW entry. Player.log contained: + +- `GridFightModule.get_ExpLineRewardData` NullReferenceException through `HandbookRogueGridFightTabItem._setup_level`. +- `HandbookRogueGotoBtnBehaviour.on_btn_go`: missing `StateData`. + +CW failed before the gameplay loop. These errors do not establish that ordinary battle conversion is the cause. + +## Protocol mapping evidence + +Probes inspect named CW types, never all assembly types/methods. They remain outside `scripts/` when not being captured. + +`tools/cw_scalar_wire_probe.lua` creates isolated protobuf objects, assigns one UInt32 backing field through boxed reflection and serializes it. No object is synced into a game module or sent as a response. This maps backing fields to wire tags and property getter tokens. + +The native token-check correlation was anchored by the stack RVA for `get_ExpLineRewardData`, adjacent `GetSeason`/`_SyncSeason` implementations and named runtime MetadataToken values. `tools/cw_native_token_sites.py` reports candidate check sites only. Proto method tokens can also match unrelated metadata-initialization constants; a candidate does not prove a function address. + +Native `_SyncSeason` at RVA `0xdb6efa0` reads offsets `0x40`, `0x30`, `0x34` into module SeasonID, SubSeasonID and keep-win count. Matching protobuf field order/encoding gives: + +| Meaning | AMEEHIIPMFP Go field | Wire tag | +| --- | --- | --- | +| SeasonID | ADFEKPNIFOJ | 4 | +| SubSeasonID | GEGMHOMNBDG | 11 | +| DivisionID | DivisionId | 2 | +| Keep-win count | GDAKCOICIDA | 15 | + +The bootstrap populates the nested metadata, reward EXP and handbook containers dereferenced by `_OnGridFightGetDataScRsp`. The optional active gameplay session remains absent because no CW run has started. + +Limitations: `Marshal.OffsetOf` is stripped, native field offset reflection returns -1, and the existing `.pdata` helper produced unusable boundaries. These are not successful layout verification. The season mapping still requires checking the bootstrap response in the Client. No method pointer is dereferenced or memory layout patched by retained probes. + +## Current boundary and next work + +- Version-checked catalog loader and source-based activity mapping; missing gameplay rules return errors, without guessed defaults. +- `GridFightGetData` bootstrap for a fresh profile; CW progression/resume are not yet implemented. +- Active CW activity in the schedule response. Timestamps moved from the handler to shared runtime config, retaining the previous interval as explicit configuration. +- Other CW commands remain guarded; no successful empty gameplay replies added. +- Initial code compiled. Client bootstrap verification and full gameplay remain pending. + +Next: verify bootstrap/activity state, capture initialized CW role/route/level tables, implement persistent run state and the complete node/action/battle loop, then verify gameplay and settlement in the Client. + +## First bootstrap result + +The current Client confirmed Season=2, Subseason=1, Division=20101, no active game, and a non-null ExpLineRewardData object. This verifies the initial season field mapping; it does not verify the full guide or gameplay. + +The user then reported an empty Cosmic Strife tab. The initial schedule entry used a parent ActivityID where the protocol expects an ActivityModuleID. PearlSR `services/events.zig` explicitly assigns module IDs to `ActivityScheduleData.activity_id` and parent ActivityID to `panel_id`. The active-season module alone also omits the whole-season CW module from `GridFight_WholeSeason_ActivityModuleID` in the native constants. The corrected CW schedule therefore derives both whole-season and current-season module/parent pairs from the captured constants, season metadata and ActivityConfig; it does not generate IDs arithmetically or expose unsupported unrelated activities. Ordinary Endgame schedule identities remain as before. + +The timestamp config checks covered normal JSON, local override, environment override, an invalid interval and a missing interval in both Go and launcher. They do not prove Client entry, combat or settlement. + +## Corrected schedule result and lobby investigation + +After the schedule correction, the user confirmed that Go returns to a world scene, but does not open the CW event UI. The server received EnterScene for the native `GridFight_EntranceID`, then an InteractProp request. There was no subsequent CW gameplay-start request. The interacted entity resolves to a SandBoardGate, not evidence of a CW entrance interaction. The native module still has `_NeedShowEntrancePage=false` and LastTutorialFinishedSeasonID=0; neither value was changed by a probe. + +The ordinary `loadScene` no-teleport path currently selects the first checkpoint instead of the MapEntrance start anchor. This can place a mission entrance in the outer hall. The matching MapEntrance row specifies a start group absent from the old res scene group list. Both placement and current RuntimeGroup data are being checked before updating the CW entrance. This is not yet a verified UI-entry fix. + +The catalog now also retains 71 active-season stage wrapper rows and 60 default handbook role rows, with a completed capture and its SHA-256. Stage wrapper values were observed on a fresh profile without talents. Handbook defaults do not establish the full hidden/variant shop pool. `tools/export_cw_catalog.py --gameplay-log` rejects incomplete final batches and checks stage identities against the active division catalog and role season/identity/star values. + +The native start anchor was captured and matches the existing Anchor table. The CW no-checkpoint path now uses that captured anchor; the user confirmed arrival inside the CW room. This fixes placement only. They still report that UI closes, and the console/hologram is absent and cannot be used. + +Targeted RuntimeGroup captures identify the CW Console and Emblem in an activity-tagged Client-managed group. Both props have `IsClientOnly=false`, `LoadOnInitial=true`, state 1, and exact captured world transforms. The loaded MapPropDef enumeration contained neither prop (0 matches). The group's saved-value condition is `FSV_370GridFight >= 1`; native `RPG.GameCore.CompareType` enum capture confirms operation 2 means GreaterEqual. + +The first prop-binding attempt produced no `CW_ROOM_BIND` log and the user still saw an empty table. Further inspection corrected an earlier mistaken inference: the supplementary table has MaxValue=2, but inline `res.json` has `FSV_370GridFight=0`, which wins during merging. The room condition was never satisfied; absence of the props did not prove that Client-managed entities needed server binding. The supplied video confirms the guide transition returns to a room with an empty table. + +The replacement implementation removes forced prop binding. On the native CW entrance only, it clones saved values and applies a resource-defined freeplay profile for the condition's referenced name, using the current native RuntimeDimension MaxValue (the existing PearlSR freeplay policy). Native MinValue/MaxValue/AllowedValues and activation threshold are validated, and unrelated keys are rejected. It does not mutate shared scene data, other entrances, or Client graphs. Room visibility, UI entry and gameplay remain pending Client verification. + +The user subsequently confirmed the hologram/props appeared. The actual packet path logged `CW_ROOM_ACTIVATION ... previous=0 selected=2`. Both the table interaction and Guide Go still opened the entrance briefly and closed it. + +Temporary observers on seven named CW Lua lifecycle methods, automatically restored after two minutes, identified `MonoRemainTimer._UpdateTime -> UITransitionManager.SwitchBack` as the close path. A second bounded observation captured two CW timers: `LeftPanel/TitlePanel/RemainTime` targeted 2031, while `LeftPanel/PtRewardPanel/RemainTime` targeted 1970-01-01. This distinguishes the missing points-reward period from the correctly populated season schedule. No timer value or callback was suppressed. + +The server receives `CycleScoreRewardGetDataCsReq` on login but previously left it unanswered under the CycleScore safety guard. The next typed handler supplies the non-null period object and its `end_time` using the explicit shared activity window; other CycleScore commands remain guarded. This is a fresh-profile/freeplay bootstrap, not implemented weekly rollover or reward-claim persistence, and needs Client confirmation. The separate CW EXP counters are not dates and remain zero. + +Client verification after this build: the user confirmed the CW UI stays open. The server logged `CYCLE_SCORE_REWARD_DATA end_time=1924992000 score=0 bootstrap=true policy=activity_window` and sent the typed `CycleScoreRewardGetDataScRsp`. Room placement, hologram visibility and stable entrance UI are now user-confirmed; starting a run, shops, battles, settlement and persistence remain unfinished. All temporary lifecycle observers were restored and their active scripts removed. + +## Native route catalog and battle configuration boundary + +The complete `GridFightStageRouteConfigExcelTable.dataDict` capture contains 493 rows. Its owner is `RPG.GameCore.Config`, reached from the known `GridFightRoleConfigRow` assembly, rather than the Client module assembly. The producer now requires `--route-log`, rejects incomplete batches and duplicate `(ID, ChapterID, SectionID)` coordinates, and preserves the capture hash. The Go catalog indexes sorted copies of each route and checks that the native `GridFight_FirstPlay_StageRouteID` is present. NodeTemplateID is retained as a configuration identity, never substituted for battle StageID. + +Targeted loader/type metadata identifies `GridFightStageTemplateConfig.GridFightWaveList` as `(WaveIndex, StageId)` entries, and a separate BattleTemplateList carrying monster waves, formation, level/hard level, elite group, monster stars and affixes. These schemas are captured in `cw-template-schema.log`; no graph or battle-template loader was invoked. The named NodeDisplay Excel table was absent in the inspected assemblies. Tutorial wrappers also do not expose the raw row through the field/getter paths used by the first bounded probe; those failed attempts are not captured gameplay data. + +The route reader compiled into `.runtime/cw-route-catalog-gameserver.exe`. This binary has not replaced the running server, and compilation does not verify CW run entry. Starting a run still requires a complete native node, player and shop state mapping. The original full CW scope remains open. + +The tutorial wrapper is flattened rather than retaining a raw Row. After inspecting that one named type, a bounded scalar exporter captured both initialized `TutorialStageConfigs` entries completely. The producer now also requires `--tutorial-log`; it preserves trial-avatar, portal/reveal/supply flags, sale restrictions, tutorial division/reward identities and native shop restriction objects. Obfuscated shop coordinate keys remain opaque; their numeric order has not been guessed. The Go loader validates identities, provenance and restriction shapes. These configuration captures do not create a run or bypass tutorial progression. All CW probes installed during this capture were removed from `scripts/` after completion; the unrelated scene metadata probe was left untouched. + +## Run player scalar mapping + +The next bounded capture encodes isolated `NIHNGPKHEPC`, `BEEFLEJAOCN`, `BCCIJHPLJOJ` and `OHMDHKGAEMM` UInt32 backing fields individually, without syncing objects or sending packets. `cw-gameplay-scalar-wire.log` completed all four types. Getter-token matches against metadata initialization calls are **not** treated as getter function addresses. + +Native `GridFightPlayer.SetData` starts at RVA `0xdb9d670`. It reads player protobuf offsets and updates named setters identified by their MethodDef checks. `cw-player-proto-fields.log` supplies the declaration order: nine reference fields precede thirteen UInt32 fields. The offset-to-wire association below uses the sequential IL2CPP field-layout inference; it is corroborated by the already named HP/EXP/gold wire fields, but is not yet a Client gameplay verification. Native getter offsets were not independently obtained. + +| Native offset | Wire tag / Go field | Player meaning | +| --- | --- | --- | +| 0x58 | 1 / PPKKHHNEOHB | MaxHP | +| 0x5c | 10 / GridFightLineupHp | HP | +| 0x60 | 3 / NDAINFLOLPJ | PlayerLevelLimit | +| 0x64 | 11 / AFFCFLFIFPH | RoleMaxNum | +| 0x68 | 2 / KNFOCCPOJEA | MaxInterestNum | +| 0x6c | 9 / GridFightCurLevelExp | Exp | +| 0x70 | 4 / JLOCMDIDPCI | MaxBackRoleNum | +| 0x74 | 15 / CPKLHPJMMDO | BuyExpHpCost | +| 0x78 | 7 / EHNJDIDABHD | Level | +| 0x7c | 12 / BEPMODICONA | BuyExpCost | +| 0x80 | 5 / GDAKCOICIDA | KeepWinCnt | +| 0x84 | 8 / Gold | Gold, passed to UpdateGold | +| 0x88 | 6 / MICEOJBAKGN | MaxBenchRoleNum | + +`currency_wars_player.go` implements this isolated scalar conversion and basic health/level validation, preserving destination restriction/tracker containers. It supplies no invented initial stats and is deliberately not wired to StartGamePlay before the full context and initial configuration are available. Native SetData also dereferences the active session, so it was not invoked on an isolated player merely to test these mappings. Ordinary Battle converters are untouched. + +Native `GridFightStage.Sync` (0xdc05680) copies the BEEFLEJAOCN scalars at 0x60/0x64/0x68. `_SyncRouteInfo` (0xdc05740) passes 0x68 and its route-node list to `SyncRouteNodes` (0xdc07090), which stores the scalar in `GridFightStageRoute._StageRouteID`. Thus the first parameter of SyncRouteNodes is route ID, not chapter ID. Together with scalar encoding this maps tag 7 / EMOHLJHPOPC to route ID, tag 5 / DCAHJELNJNP to chapter and tag 8 / SectionId to section. `currency_wars_route.go` builds that component from captured route coordinates and caller-provided display configurations, rejects missing/extra nodes and an invalid current coordinate, clones display objects, and commits only after validation. It does not invent display values from NodeTemplateID or replace battle-node state. + +A metadata-only search on the known GameCoreConfigLoader found `LoadJsonConfig(string)`. Reading only the native FirstPlay path with this plain JSON reader returned nil; no tutorial JSON was captured and no graph loader was invoked. Row metadata attributes also supplied no table accessor. These attempts do not establish that the native binary configuration is missing. The completed captures are retained outside scripts and all probes from this turn are removed after completion. + +## Standard Gambit and Overclock start request + +Both modes use the same `GridFightStartGamePlayCsReq` command (8579); the current protocol schema distinguishes Overclock with `is_overlock` (field 9) and carries `division_id` (field 2). A command-ID-only packet trace cannot reveal that flag, so the user's identification of the 23:05 request as Overclock is retained as the context for that capture. + +That trace has no `GridFightStartGamePlayScRsp` (8511). It only shows `GridFightGetDataCsReq` (8541) answered by `GridFightGetDataScRsp` (8503). A source-level diagnostic now logs the start mode, but deliberately sends no start response: the active-run object and its initialized state are not yet verified. This explains why this trace does not demonstrate a successful Overclock entry; it also must not be used as evidence about Standard Gambit. Do not return an empty start success or fabricate a run object to hide the missing state. + +## CW snapshot persistence foundation + +`currency_wars_store.go` adds a separate `currency_wars` object inside the existing persistent file, keyed by UID. Each envelope records its own save format, configured Client version, captured assembly SHA-256, a monotonic revision and serialized GridFightGetDataScRsp bytes. Reads do not create files, rewrite defaults or migrate data. Writes use the existing process mutex, shared OS file lock and atomic file replacement; unrelated JSON values are retained as RawMessage to avoid float conversion. A stale expected revision is rejected rather than overwriting a later run. Account/Client/schema mismatches preserve the existing save and return an error. + +GridFightGetData now reads a matching snapshot when one exists, decodes it, checks the known permanent/season/handbook prerequisites and restores its response. With no saved snapshot, it retains the existing fresh-profile bootstrap and does not write during GetData. A session helper prepares future commits after validated gameplay transitions. No gameplay handler writes a run yet, and full active-run/action validation must accompany the upcoming state machine; envelope persistence alone does not implement run resume or playable CW. The save build compiles into `.runtime/cw-save-gameserver.exe`, has not replaced the live server, and was not tested with a completed CW run. + +The known `_SessionPreloadProvider` field declares an obfuscated interface describing stage preparation. Its live value is nil before CW starts, so no concrete provider metadata or template paths were captured. Native `GridFightPlayer.set_Level` is a local scalar setter at 0xdba2110; the 0xdba2280 call in SetData is the Gold update path, not the level setter. No player/session instances were created or synced during this research. + +## Captured roles and economy + +The Go catalog now reads and indexes the 60 captured default roles and 71 fresh-profile stage wrappers, verifies source hash and active-season identities, rejects duplicate/missing division wrappers, and returns copies of mutable role/stage lists. This retains the original capture scope: handbook defaults are not the complete shop pool, and fresh-profile wrapper rewards are not the final totals after run modifiers. + +Native sale arrays exist for star ranks 1–3. Their rarity-indexed default-star values match all 60 captured `DefaultSellPrice` getters. The catalog checks this relation at load time. `BaseSalePrice` reads those arrays and rejects unsupported stars/rarities rather than fabricating a price. It is a base quote, not implemented sale processing, special-role handling or stolen-card refunds. + +Native `GridFightPlayer.GetWillGainInterest` (0xdba1aa0) divides the provided gold by a constant-table value and caps it with the player's resolved MaxInterestNum (0x50). The missing-native-rule fallback is not copied. `BaseInterest` uses captured `GridFight_DepositPerInterest` and an explicit run cap; zero caps remain zero. These helpers do not apply node rewards or mutate a run. The native string argument of the constant lookup was not independently decoded, so identifying the captured rule by its semantic name remains an inference pending Client confirmation. + +The upstream repository was rechecked at `https://git.xeondev.com/HonkaiSlopRail/pearl-sr`; its master page still identifies revision 005d2c12db from 2026-10-16, matching the recorded reference. No newer master implementation was established. During the user's AA round, no CW probe is installed and the live server is not replaced. + +`tools/cw_handbook_variants_export.lua` is prepared outside scripts for the next idle capture. It enumerates initialized DefaultRole and OtherRoles wrappers in bounded batches, recording role/star sale getters and native role rows without creating roles or changing stars. This will distinguish actual variants/higher-star wrappers from an assumed full pool. It has not run. No result from this planned capture is claimed in the current catalog. + +## Completed handbook variant capture (2026-10-20) + +The bounded capture now completed all 64 initialized wrappers: 60 default entries plus four OtherRoles entries. These are captured at star 1, not all stars or the complete hidden shop pool. The catalog producer retains native role/star/optional servant-star rows and the observed price/sale getters, with the completed capture SHA-256. The Go reader validates season, role/star identity, duplicate keys, and agreement with the earlier 60 default-role capture. Returned rows and slices are copied. Raw native star JSON preserves FixPoint strings and 64-bit text hashes without float conversion. + +The OtherRoles entries are 151112, 151122, 151132 and 141402. In particular role 151132 has rarity 5 but native buy/sale getters of 7; it must not be priced by blindly indexing the ordinary rarity array. `CapturedSalePrice` returns the actually captured star quote and rejects stars that were not captured. Run effects, stolen refunds and transactions are still separate unfinished work. The catalog and reader compile into `.runtime/cw-variants-gameserver.exe`; this staged build has not replaced the live server. + +Exact-name table lookup completed all 143 loaded assemblies without finding either `RPG.GameCore.GridFightPlayerLevelConfigExcelTable` or `RPG.GameCore.GridFightRoleConfigExcelTable`. This proves absence of those names, not absence of the native tables. A separate named-type metadata capture confirms `GridFightPlayer._ConfigRow` is a `GridFightPlayerLevelConfigRow`, and that the guessed PlayerLevelConfig/StageNodeTemplateConfig wrapper names are absent in the two relevant assemblies. All completed Lua probes from these captures were removed from `scripts/`. + +The user's 00:49:57 Standard Gambit and 00:50:18 Overclock traces both show StartGamePlay (8579), then GetData (8541/8503), without a StartGamePlayScRsp. This corroborates the unfinished start path; neither run mode is playable yet. Role/price capture and a successful build are not evidence of run entry. + +## Native player-level scalar capture + +The AMD64 PE exception table identifies the handbook getter entry at RVA 0xdb5f860 and the player-level table getter at 0x1e3a7880. `disassemble_pe_range.py --containing-function` records exact exception-table bounds and assembly digest. Native `GetLevelUpNeedExp` at 0xdba1b90 calls the latter getter and reads row offset 0x20 when no run modifier is present; named Row field metadata corroborates the other scalar offsets. + +A temporary Frida hook ran two table queries per read-only handbook call on managed Client thread 37460. The default level limit came from the captured constant rather than a probe default. An initial read-only check found that the table was not loaded. After inspecting its native Excel loader, the bounded capture used the normal getter's lazy initialization of that one Excel table; it did not invoke a level graph. Ten identity-checked rows completed, retaining EXP costs, front capacity and five shop rarity weights. The capture and REA Evidence are in `battle_diagnostics/cw-native-player-levels*`; the catalog producer hashes the scalar log and rejects missing/duplicate/out-of-range levels. `GeneralPropertyList` is explicitly outside this scalar capture. No run state, player object or saved progression was modified. The hook was detached and its Lua pulse removed. + +The catalog now retains these scalar columns and `CurrencyWarsCatalog.PlayerLevel` returns a copied value. Run EXP modifiers, actual purchases, level transitions and shop draws are not implemented by this lookup. The stage build `.runtime/cw-levels-gameserver.exe` compiles; it has not replaced the live server or demonstrated CW entry. + +A subsequent capture completed the full ten player-level rows, including `GeneralPropertyList`. The named Newtonsoft `SerializeObject(Object)` method exposes `RuntimeMethodHandle.Value` as Lua light userdata; reading that specific handle shows its executable method pointer at +8 (RVA 0x1d3efb60). PE function inspection confirms a static serialization overload forwarding path. This replaces an incorrect *candidate* produced by matching that method's MetadataToken to an unrelated native metadata-initialization check; that candidate was never invoked. Metadata-token pattern matches must not be generalized across assemblies as function addresses. + +The existing bounded handbook-thread hook queried each native level row and serialized it through that verified method. Every serialized scalar was cross-checked against the earlier raw layout. The raw JSON preserves FixPoint property values as strings; levels 4–10 include nonzero property modifiers, so omitting these columns would lose gameplay data. Complete capture/Evidence are retained in `cw-native-player-levels-full*`. The resource now uses `captured_player_levels` and validates/copies the property rows. Both temporary hooks were detached, and all Lua probes from this work were removed from scripts. This capture still does not define initial run gold/level/context, shop pool depletion, stage generation or StartGamePlay behavior. + +An additional metadata inspection of initialized DivisionStageConfigs (one selected stage in this Client session) and DivisionLevelConfigs (nine entries) found flattened wrapper fields rather than retained raw Row references. Its complete log is `cw-division-run-rows.log`. No raw division/server run configuration is claimed from that inspection. + +## Route-node fields and chapter rules (2026-10-20) + +The prior goal turn made concrete progress by capturing full player-level rows and role variants; CW start remains unfinished. This continuation resolves exact runtime handles for the named node/player protobuf getters and native node properties. `RuntimeMethodHandle.Value + 8` supplies their executable pointers. `cw-property-handle-rvas.json` and `cw-property-native-layout.json` retain the explicit targets and direct baseline return loads. The mapper accepts exact exception-table entries or short, branch-free leaf getters; computed getters remain unmapped. It tracks overwritten `this` aliases so a load through `_NodeParam` is not mistaken for an offset on the node itself. No all-type/assembly scan or getter invocation is used for that map. + +The native node's `_RefreshCachedFields` (runtime-resolved RVA 0xdc09fa0) establishes these associations with previously captured wire tags: + +| OHMDHKGAEMM offset | Wire tag / Go field | Native meaning | +| --- | --- | --- | +| 0x30 | 2 / StageId | CW node StageID | +| 0x3c | 14 / CJCCMAACJDB | RawNodeType | +| 0x50 | 12 / PICMDONCKCO | BasicReward | +| 0x40 | 8 / PFEMDGNFHNH | compared with 1 for IsAugmentNode | +| 0x4c | 11 / FCNNBODJNIK | base HasExpert flag, later affected by run modifiers | +| 0x4d | 4 / HPNNLMBHOPF | base HasSpotLight flag | + +The route-node protobuf's native offsets 0x20 and 0x24 are SectionId (tag 1) and ChapterId (tag 5), respectively. The player protobuf getter offsets independently corroborate the earlier thirteen scalar layout associations. `currency_wars_node.go` applies the mapped node subset while retaining other parameters; it rejects node types absent from the captured enum. The native enum capture contains GridFightNodeNone, Monster, CampMonster, EliteBranch, Boss and Supply. NodeTemplateID remains distinct from node StageID and must not be passed as battle StageID. + +The same native node refresh calls a table getter at 0x1de40ce0 with ChapterID, then reads HealNum into RestHealNum. A bounded managed-thread capture serialized the three chapter rows referenced by the complete route catalog, checking each identity; all completed with HealNum=20. These values are captured resource data, not a code fallback. The catalog validates complete chapter coverage and source digests and returns copied values. Applying actual HP recovery still belongs to the node action; this lookup does not decide whether a later modifier changes the amount. + +## Captured monster camps + +`GetAllMonsterCampData` yielded 21 initialized active-season handbook configurations. A bounded exporter captured each native GridFightCampConfigRow and GridFightCampSeasonConfigRow, including season-specific monster IDs, normal battle areas and boss battle area. The producer verifies the common/season/wrapper identities, positive monster IDs, duplicate keys and complete capture markers. Text hashes retain integer precision in the resource and raw JSON in the Go reader. The catalog reader returns copied arrays and text metadata. + +This is the observed handbook camp set, not proof of the full hidden pool. Camp MonsterList is not a complete node wave recipe: monster stars, levels, waves, battle templates and runtime enemy modifiers are still required for battle construction. No arbitrary camp list is substituted for an actual battle stage. The staged `.runtime/cw-node-state-gameserver.exe` includes the node/chapter/camp readers and compiles; the live server was not replaced during this capture, and neither Standard Gambit nor Overclock has been verified entering a run. All temporary probes/hooks from this continuation were removed or detached after their captures completed. + +## Shop pool and transaction plans (2026-10-20) + +The previous continuation progressed through the captured pool algorithm and bounded shop metadata capture. This continuation resolves 84 explicit method handles while the same Client process is live, then compares the native consumers and getters from the source assembly. Abstract GoodType has no executable pointer and is excluded from static getter analysis. Evidence is retained in `cw-shop-handle-rvas.json`, `cw-shop-getter-layout.json`, and the native shop disassemblies. The process subsequently closed; no handles from it may be reused after restart. + +Important correction to the provisional shop interpretation: `RoleShop.Sync` RVA 0xdbc9fd0 reads POC +0x28 as MONJNCPINKN, then enumerates its pair list into **RarityWeights** at this+0x28. It is not the goods list or a card-pool count snapshot. The POC goods list is +0x18 / tag 3, passed to 0xdbca1a0, which fills shop slots. DLDJEOPKNMB at +0x10 / tag 15 has not been assigned a semantic meaning. Pair-column meaning still needs its exact selector resolved. POC +0x30 / tag 13 is the refresh price; +0x34 / tag 6 is free refresh count; +0x38 / tag 5 is lock state. Do not encode rarity weights into tag 15 based on its repeated-uint shape. + +`GridFightShopGood.Cost` RVA 0xdbf2860 reads HDE +0x28 / tag 13. `Sold` RVA 0xdbf26f0 reads +0x24 / tag 7. The factory at 0xdbf2340 receives the slot index separately and selects the role constructor for oneof 1403, whose payload is NJBGFHDPFNO. The factory also recognizes native case 291, absent from the current generated Go oneof; that special goods variant is unsupported, not silently substituted. The source enum's normal/special meaning remains unassigned. + +`currency_wars_pool.go` reserves offers against the captured eligible pool, reads native per-rarity capacities/exclusions, and returns unsold copies before a new draw. Within-rarity weighting is explicit server policy (`remaining_copies` or `uniform_role_ids`), not asserted to reproduce the original server. Depleted rarity buckets are excluded and errors discard the proposed draw. This is still the captured handbook pool, not every hidden role. + +`currency_wars_shop.go` now produces detached transaction plans for manual refresh, node-entry refresh and purchase. Free refreshes, debit checks, repeated-purchase rejection and reserved-copy bookkeeping are included. Resolved slot count, refresh cost, rarity weights, quote and RNG are supplied explicitly; base rules come from the catalog. Upgraded offers require a separate copy-consumption rule. Board placement/merges and the run revision must be committed together with these plans by the upcoming action processor. No shop handler writes a run yet. The role-offer wire converter covers the supported role oneof and observed price/sold fields only. + +`go build -o .runtime/cw-shop-transactions-gameserver.exe ./cmd/gameserver` succeeded. No tests were added or run. This staged binary has not replaced the root executable or running server, and it does not implement StartGamePlay. Both Standard Gambit and Overclock remain unverified at run entry. All temporary shop Lua probes were removed from `scripts/`; unrelated scripts were preserved. Remaining work includes complete initial run state, route/node generation rules, board actions, modifiers, battle construction, progression, rewards and Client verification. + +## Offline continuation: references and EXP transitions + +The preceding turn made progress through transaction plans and explicit shop field mapping. The Client process is now absent, so no runtime handles were reused and no new probe was deployed. Offline source reads and compilation remain available. + +An adjacent older server installation contains GridFightRuntime, GridFightRewardRules and GridFightBasicOrbRewards JSON files. Their section inventory and source hashes are retained in `cw-offline-reference-inventory.json`. Reward rules contain nine combat profiles, three boss profiles, five node reward profiles and four talent triggers. These profile keys are not established as the same namespace as native NodeTemplateID, and the files carry no Client revision/provenance. They have not been imported or treated as current native node recipes. The SQLite file in that installation is player persistence, not a substitute for the missing native CW tables. The adjacent gameserver executable has no CLI directory, so managed reflection/CIL inspection cannot recover its implementation. No adjacent files or databases were modified or executed. + +`CurrencyWarsCatalog.PlanBaseExperience` now resolves multiple crossed levels from captured thresholds, validates the current counter and run limit, preserves each crossed level's copied property/capacity/rarity configuration, and rejects a protocol counter overflow. It is a detached calculation, not a BuyExp handler. Initial run values, run modifiers, gold/HP payment and the native treatment of residual EXP at the cap still need to be established and applied together by the action processor. No cap-reset behavior is invented here. The staged `.runtime/cw-experience-gameserver.exe` compiles; no tests were added/run and the root executable was not replaced. This does not prove CW entry or progression in the Client. + +## Preparation and position blockers (2026-10-20, continuation) + +Client logs now confirm RoundBegin queue 2 -> ReturnPreparation queue 10 -> no pending, followed by successful UpdatePos saves. The previous 6900 was an unsupported RoundBegin; 8795 had no handler. Current implementation uses revision-bound pending recipe `CurrencyWarsPreparation.json`, generates a current catalog shop and saves before notifying. UpdatePos validates the entire final board, ownership, duplicate request IDs, collisions, capacity and duplicate active avatar IDs. GDAKCOICIDA is keep-win count, not bench overflow; overflow bounds now read the captured constant. + +A controlled native commerce replay confirms `GridFightBuyGoodsCsReq` -> `BuyGoodRsp`, zero-based indices and add-role/shop sync. Buy, refresh and lock handlers are implemented. Purchases require shared entry property scales, use a fresh entity ID across the run and save the gold debit, sold offers and new bench role in one revision. This is the entry prototype: merges, role switches, trait recalculation and full modifier-dependent quotes remain incomplete. + +The SDK `/cw` command path queues run-bound absolute gold/HP commands in a separate persistent field, without writing adventure data or changing the CW snapshot revision. The game applies them under the session lock only while CW is open, preparing and outside Battle. It saves before notifying and acknowledges afterwards; retrying an absolute assignment is idempotent. + +Native replay also captures a first-node battle response. `tools/export_cw_battle_template.go` retains its exact enemy recipe. Runtime validates its route, node, division, mode, stage and penalty, replaces party/NPC equipment/portal/player identities, and rejects unsupported nodes. The captured party's traits/buffs/events are removed, not inherited. This describes the entry prototype at that point; subsequent Client evidence and settlement work are recorded below. + +## Client-confirmed first settlement and preparation continuation (2026-10-21) + +The user confirms first-node combat works. The actual game server trace records `CW_SETTLEMENT` for battle 21, followed by RoundBegin queue 12, Investment queue 13 and ReturnPreparation queue 14. The run reaches chapter 1, section 2 with its existing team, purchases and GM gold retained. This supersedes earlier statements in this investigation that run entry or all settlement is unimplemented. It does not establish a complete run or Overclock gameplay. + +First-node settlement now checks uploaded battle identity, percentage bounds and the saved revision. Gold, HP, EXP, next-node enemy layer and pending action are saved together before notification. Interest and victory ranges use captured data. Three captured Investment outcomes update only owned augment/gold state; these are not a general augment effect engine. Loss/terminal settlement, all node transitions, orb collection, merging and full traits/equipment effects remain unfinished. + +Native sale replay establishes request `GridFightRecycleRoleCsReq`, response `GridFightRecycleRoleScRsp`, the `HFCBOIOAECK` remove-role arm and observed sale source enum. The handler saves the role removal and captured sale quote atomically. Equipped roles are rejected until the equipment-return ownership notification is implemented; sale must not orphan gear. + +Native EXP replay establishes `GridFightBuyExpCsReq` / `GridFightBuyExpScRsp`, source `JJDFGMMMCMI_IHEKGIGCGEC`, gold, capacity (`BPCFDPNHIEL`), shop weights and player-level sync. Repeated purchases reach level 10 with residual EXP 2; further purchases return failure without spending gold. Before/after native team property maps remain identical. The implemented base purchase uses the run's gold quote and current captured EXP rule, saves before notifying, and updates capacity and rarity weights together. Modifier-dependent EXP gains and additional capacity bonuses still need their own resolution; this is not a claim of complete modifier support. + +The user's current Client exposes node 1-2 penalty row 92013, including TotalTurn 15, base HP penalty 5 and progress coefficient 10. This exact row and its capture digest are retained in `CurrencyWarsSettlementRules.json`. Named stage/monster metadata reads are bounded and do not load scene graphs. The isolated reference returns retcode 1 with no BattleInfo for node 1-2, even after re-entering that node and refreshing positions. The cause inside that binary is not established. Its first-node BattleInfo must not be copied onto another node to hide this failure. The current server still rejects an uncaptured enemy recipe explicitly; second-node combat and subsequent settlement remain work in progress. + +### Second-node recipe recovered from the reference save + +The isolated reference's `GridFight.RunInstance` holds a serialized native BattlePlan even though its second EnterBattle response fails. A unique bounded MemoryPack record at snapshot offsets 158:309 decodes as camp, elite group, penalty, difficulty and two waves; wave/monster record field counts match the public native schemas. `tools/export_cw_enemy_plan.py` rejects ambiguous matches, oversized arrays and nonempty drop payloads. It exports only the wave parameters and provenance hashes, not the account or party. The current target's flat `StageExcelTable` row independently supplies Level 90 and HardLevelGroup 1; no level graph loader was invoked. Its active stage reports zero additional difficulty. + +`CurrencyWarsEnemyPlans.json` binds this recipe to the captured route/division/node/mode/stage/penalty. Runtime builds enemies from the saved layer's monster identities and stars, checks them against the current target season's camp, validates wave IDs/counts and rejects unresolved difficulty modifiers. The proven first-node path is retained. The second-node parameter reconstruction and resulting combat are still awaiting Client verification. + +An isolated native administrative move to the next route node followed by RoundBegin captures the Supply layer/action. This is explicitly not a native second-battle settlement capture. Only next-node layer/pending definitions are imported; runtime settlement computes the player's own rewards and preserves their team. The queued action identifiers are opaque server-issued cursors following the preceding consumed action. The user confirms sale and EXP purchases work, including reaching the level cap. A staged and deployed second-node build now links its settlement to the Supply screen; Supply selection and later nodes remain unfinished. + +### Current Client correction: node 1-2 is Plot Armor + +The user reports that this node presents the Protagonist button, not ordinary Battle. Requests include `GridFightSpotLightEnterCsReq` and `GridFightUpdateSpotLightTrackCsReq`, both previously unhandled. The old reference lacks this current Spotlight implementation. The reconstructed normal second-battle path above is not verified as the appropriate current route. Moreover, the imported old layer's camp must not be treated as a generated member of the current run's active camps. Selection, actual effects and the appropriate enemy layer remain unfinished. + +Bounded current Client captures now contain 84 initialized Spotlight rows, exported by `tools/export_cw_spotlights.py` to `resources/CurrencyWarsSpotlights.json`. These are real configurations and suitable-role lists, not evidence of selection weights, offer count, costs or grant policy. Do not substitute arbitrary offers or a success-only response for those missing rules. + +Named MethodHandle +8 reads and bounded PE disassembly establish `GridFightSpotLightSelectAction._SyncFromProto` at RVA `0xdc00cd0`. Isolated protobuf setters encoded to bytes establish the field tags independently. Assembly SHA256 is `c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144`. Evidence is retained in `battle_diagnostics/cw-spotlight-selection.asm`, `cw-getter-native.json`, `cw-spotlight-wire.log` and `cw-spotlight-getters.log` (ignored diagnostics). + +| Pending BDLBHJGNCFM field | Current Client meaning | +| --- | --- | +| GFGJOKJGGCO (2) | TargetSpotLightUniqueId | +| BKOGIFHEKHH (4) | IsGrant | +| HPKFKBKOADP (5) | Candidate Spotlight IDs | +| IAJCPLMAACH (7) | IsUnlimitedTier | +| GFJDGNKAOFK (8) | NextRefreshCost | +| DLIANLGFMBG (9) | TargetRoleId | +| DOAHJPPPMGM (12) | RemainingRefreshCnt | +| ACKOKJBBPKH (14) | IsAbandonForbidden | + +ActionID comes from the enclosing pending QueuePosition. The protobuf arm is EEKMIAMGHFL (1817), not the ordinary Battle arm. `SelectCandidate` dispatches role and selected Spotlight ID through `Select`; this still needs a server-owned offered-choice/role validation path. FMBACDOFCAL mappings independently encoded: IHHNLLAJAGB (1) SpotlightID, UniqueId (2), MDNAGANGNKK (9), ELBPNDIENDL (11), RoleId (13). Meanings of fields 9/11 and special effects are not inferred merely from their types. + +### Basic merges and equipment tracking + +`CurrencyWarsCatalog.json` now contains 219 actual native star rows, identity checked against the requested role/star (no clamped rows accepted). `tools/import_cw_role_stars.py` preserves earlier configurations and imports only observed rows. Ordinary sale quotes use the current rarity table only when the captured default quote agrees with that table; unestablished special quotes are rejected. + +`tools/export_cw_merge_rule.go` derives the required copy count from an isolated native merge sync. The captured merge group removes three UIDs, adds one new UID at star 2, and uses source `JJDFGMMMCMI_NJBMBFFLNGM`. Runtime basic merges cascade for identical role IDs up to the resource-defined ordinary limit, prefer active/equipped roles for the retained position, preserve the retained role's equipment attachments and leave other equipment in the bag. It rejects unresolved divergent role modifiers. Physical pool accounting uses the merged card's underlying copy count; ordinary full-star cards are excluded from new offers. A full bench can accept a third copy only when merging consumes it. Resume reconciles old triplets in a saved transition; its following GetData returns the changed roster, avoiding notifications before the Client session exists. Switch groups, Spotlight star locks, special higher-star upgrades and merge-triggered trait effects remain incomplete. + +Current tracking handlers bind names from the current command table: GridFightUpdateEquipTrack and GridFightUpdateEquipTrackPriority. Tracks persist in the player component MIIDIMOCPEB; KFNCAIHIHCM.BMGFDIKDOBE carries the complete updated list. Native `CreateServerTrackUpdateInfo` at RVA `0xda5afa0`, `RemoveEquipTrack` at `0xda63a30` and `_AddTrackToLastAndSend` at `0xda628d0` prove BJDOINAHDLN is **enabled**: add passes true, removal false. It is not a deletion flag. Priority is NALMBOOCCIN; the source protocol comparison also names it priority, but old source tags/opcodes are not used. Equipment IDs are checked against the 142 current initialized handbook equipment rows. This implements tracking persistence/display, not equipping, crafting or combat item effects. + +The merge/tracking build compiles; no automated tests were added or run. Client confirmation of these new changes remains pending. Finished research scripts have been removed from scripts/; their source remains under tools/. diff --git a/docs/damage-analyst-live.md b/docs/damage-analyst-live.md new file mode 100644 index 0000000..2304194 --- /dev/null +++ b/docs/damage-analyst-live.md @@ -0,0 +1,104 @@ +# Damage Analyst: native live statistics + +The Client's final PVEBattleResult packet can contain a correct monster/team +total while all AvatarBattleInfo detail counters are zero. Its cached native +PVEGameStatistics still contains the complete character details. The old live +sender also read this last completed report during the next battle. + +The live sender now reads the active BattleGamePhase.BattleInstanceRef's logic +GameWorld, then the native level entity's StatisticsComponent. It reads only +known fields and caches them; component discovery is bounded to 16 entities +and 32 component slots per sample and uses the named StatisticsComponent type. +No assembly-wide reflection is performed. Do not call BuildPVEStatistics while +playing: native code caches the snapshot it builds, so calling it for a UI +poll could freeze the game's eventual report at an early point. + +The source `_LightTeamStt` contains the current AvatarBattleInfo. Native +PVECharacterStt dictionaries supply attack-type totals (`FNFFCPLHPGI`), break +totals (`HNJNDLEFMBE`) and maximum hits (`KEOOJBHFLFD`) because the corresponding +protobuf lists are assembled only at settlement. The aggregate total remains +the named TotalDamage; some attribution counters do not appear in the category +dictionary, so that aggregate is not replaced by a category sum. + +Additional fixes: + +- XLua returns protobuf byte arrays as Lua strings on this Client. Their byte + length is `#bytes`; `.Length` was nil and stopped all uploads. +- UploadHandlerRaw accepts the ASCII JSON body directly as bytes. Calling the + unavailable Encoding.GetBytes overload stopped uploads after the first fix. +- Sampling runs every 750 ms through render callbacks, with a heartbeat + fallback for background windows/render paths that suppress a callback. + Callbacks read the current sample function after a script refresh; earlier + broken callback states are disabled without changing Client battle state. +- Native NOGHNMCDDAI is a damage-taken breakdown, verified against supports with + zero dealt damage. It is no longer used as a damage-dealt fallback. +- BattleInfo accompanies live reports, providing StageID, BattleID, level, + rank and each avatar's actual slot. The companion UI orders by these slots, + independently of the overworld team. Historical reports without slots keep + their recorded order. +- Final native details are attached only to a completed result whose duration, + turn count and avatar IDs match. Server outcome and monster analysis remain + intact; mismatching snapshots are rejected and cannot change the report. +- The UI renders additional native attack types, including ElationDamage and + TrueDamage, with escaped labels instead of omitting those categories. + +## Evidence and verification + +The ignored `battle_diagnostics/damage-live-20261019` directory preserves native +protobuf snapshots, diagnostic logs and `live-api-verified.json`. The Client +assembly SHA-256 is +`c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144`. + +During the user's active stage 1052106, API `is_live=true` changed from +5,906,923.87 to 6,825,838.95 damage before settlement, with four current +characters in slots 0–3, level/rank metadata, native category breakdowns and +shares summing to 100%. This verifies the Client-to-SDK live path; it is not a +synthetic test report. Frontend slot/category changes require the corresponding +GaC-srtool build to be published before they appear on hosted GitHub Pages. + +Focused Go report/API tests cover damage-taken exclusion, native category data, +slot identity, final matching/rejection and expiry. The frontend Node tests +cover actual battle order versus a different overworld team and historical +report behavior. Diagnostic probes are kept outside scripts after capture. + +Published GaC-srtool commit e03e5b1 to main with user approval. The GitHub Pages workflow completed successfully, and fetching the public app.js confirmed the battle-slot and additional-category code. The final real Client report retained WIN, Stage1052106, four slots 0-3 and detailed damage after leaving battle. Browser UI automation was unavailable in local Work settings; frontend rendering was checked with the actual captured live report in a DOM fixture, plus a public asset check. + +## Memosprite attribution and Other (2026-10-20) + +The earlier reader omitted the separate servant statistics. The native named +StatisticsComponent field `_ServantStt` contains `LLPEHDFMLNJ` values; bounded +reflection of this specific type found `LJLDPJFOKCE` (HFALLFOEHKN servant +protobuf) and the same three attack-type dictionaries as character statistics. +Completed PVEGameStatistics exposes `servantBattleInfoList`. Both are now sent +through the SDK as separate servant protobufs; active category dictionaries are +hydrated without invoking the native final snapshot builder. + +The checked-in protocol's BattleAvatarServantInfo explicitly names `avatar_id`, +`entity_id`, aggregate damage and attack-type lists. Ownership uses `avatar_id`, +with no character ID or lineup-position special cases. The report combines the +separate servant damage/healing/shield with that owner and exposes the included +damage as `memosprite_damage`. Damage taken and owner turns remain the owner's +counters. Maximum hit uses the maximum across owner and servant, rather than +adding maxima. Repeated nonzero entity IDs are ignored. Team totals/shares are +rebuilt from attributed records so a monster damage-taken fallback is not added +again. Inputs are not modified, and alternate servant sources cannot be mixed +in the same request. + +The fifth frontend category is Other: the nonnegative remainder after Basic, +Skill, Ultimate and Break. Existing named extra categories remain visible as +details. A Memosprite line explicitly marks its damage as included in the +character total. Frontend commit `ca5831c` contains only these damage changes; +unrelated item-catalog work in the shared checkout was left uncommitted. + +Verification: focused Go report/API tests pass, including an HTTP roundtrip +with owner-only and servant records, correct percentage recalculation, +duplicate/unknown owner handling, and prevention of monster-fallback double +counting. Four frontend tests pass, including Other arithmetic and existing +slot order. The local SDK executable has the new receiver. Temporary servant +probes have been removed from scripts/ and retained only under tools/. + +Runtime limitation: the current session did not provide a nonempty servant +sample. The previous real Client verification above used a team without +memosprites. Evernight's live/final ownership and aggregate behavior still need +a real battle capture; passing synthetic tests does not establish that the +Client integration works. Native obfuscated field names remain revision-bound. diff --git a/docs/peak-cycle-investigation.md b/docs/peak-cycle-investigation.md new file mode 100644 index 0000000..b0607ef --- /dev/null +++ b/docs/peak-cycle-investigation.md @@ -0,0 +1,61 @@ +# AA cycle / star settlement investigation + +The reported King in Check win displayed zero consumed cycles and no completed +star conditions. This is not yet a verified complete fix. + +## Confirmed evidence + +- The original win report has 36 battle turns, `RoundCnt=0` and stage 30501021. + The cached native PVEGameStatistics had `totalBattleRounds=0`, + `challengeTurnCount=0`, `challengeTurnLeft=7`. A battle turn is not a cycle; + the meaning and wire mapping of the additional counters remain unverified. +- `finishChallengeBattle` copies `RoundCnt` into Peak `CyclesUsed` and never + supplies `FinishedTargetList`. This accounts for the displayed values, but + does not prove that the battle used zero cycles or earned no stars. +- The original start packet had `RoundsLimit=40`: Peak 104 was configured + through the separate ChallengeMaze table with the same numeric ID. +- Read-only captures from the running Client's ConstValueClientExcelTable + contain `ChallengePeak_Mob_Turn_Limit=6`, + `ChallengePeak_Boss_Turn_Limit=6`, and + `ChallengePeak_HardBoss_Turn_Limit=2`. +- Native BattleTargetConfigExcelTable rows referenced by the installed Peak + tables are preserved in `resources/PeakBattleConfig.json`, together with + Client version, GameAssembly SHA-256 and capture SHA-256. Boss targets + 3003/3004/3005 have thresholds 6/4/2; 3000 is a death-count condition. + These are BattleTargetConfig rows, not ChallengeTargetConfig rows. + +The ignored evidence directory is `battle_diagnostics/peak-cycle-20261019`. +`Player.native-tables.log` is the source for the new resource. Temporary +probes inspect named types/tables with bounded work per heartbeat. A missing +BattleTargetExcelTable was corrected to the observed +BattleTargetConfigExcelTable; no assembly-wide reflection is used. + +## Changes made + +- Peak start and restart use an explicit AA battle type and the native + normal/boss/hard limit, independent of the ChallengeMaze ID namespace. +- Rules reject a mismatching Client version, missing provenance, unknown + event or missing native limit. No guessed fallback is installed. +- Full PVEBattleResult requests are archived under `battle_diagnostics`, + including obfuscated and unknown protobuf fields that the aggregate damage + report does not retain. JSON is for inspection; binary preserves unknowns. +- `tools/peak_result_snapshot.lua` reads the six named native counters and + target lists for comparison with the next server packet. Its temporary + copy in scripts must be removed after reproduction. + +Focused Peak configuration and battle capture tests pass; a game-server build +passes. This does not verify Client battle loading, cycle display, stars, +medals or persistence. The existing unconditional unlock/medal response in +GetChallengePeakData has not been rewritten in this patch. + +## Pending Client reproduction + +The user agreed to complete another AA battle and leave the result screen +open. Compare its full result packet with native counters before assigning +semantic names to obfuscated fields or calculating FinishedTargetList. Do not +derive cycles from TotalBattleTurns, subtract from a guessed initial counter, +or grant every target merely because EndStatus is WIN. + +The Main chat is concurrently repairing login in the same workspace and +restarting the shared servers. Stop additional restarts from this chat while +that deployment is in progress; both builds included the Peak source changes. diff --git a/docs/prydwen-endgame-recommendations.md b/docs/prydwen-endgame-recommendations.md new file mode 100644 index 0000000..3fc74a4 --- /dev/null +++ b/docs/prydwen-endgame-recommendations.md @@ -0,0 +1,9 @@ +# Endgame team recommendations + +`GetFriendRecommendLineup` (CmdID 2985 from the checked-in 4.6.53 command table) now returns three recommended teams for the current MoC floor-12 snapshot. The response uses the `OJJJDPNOKHG.lineup_list` shape because its repeated `ChallengeLineupList` entries match the three stage rows in the referenced Client page. Each external character slug is resolved through the current `resources/AvatarConfig.json`; the server does not embed AvatarIDs in its handler. + +The bundled snapshot is dataset revision 4.6.2, collected 2026-10-14, for MoC cycle 4.6.1 “Crossing the Afterlife”. The files identify the first-ranked Prydwen team for stages 12-1, 12-2, and 12-3. The dataset repository declares MIT and asks users to credit LvlUrArti; its README says it contains processed data shown on Prydwen. Attribution and source metadata are kept in `resources/PrydwenEndgameTeams.json`. + +To refresh for another floor and the newest published snapshot, run `python tools/update_prydwen_endgame_teams.py --floor 12 --stage-count 3`. The updater validates every slug against this Client's AvatarConfig before replacing the snapshot; add a source-slug-to-AvatarVOTag alias in the resource if a name differs. + +Protocol limitation: the current proto retains an obfuscated `JFNJKAPPNOF` enum and obfuscated response oneof names. The handler echoes the request `type` and `key`, and uses the lineup-list variant based on the visible three-row MoC UI and the message's repeated lineup schema. The exact numeric type-to-mode relationship and the meaning of response field `ALDBIIIGLOM` are not established. This first implementation does not discriminate modes using `type` or `key`, so it is limited to the illustrated MoC page and needs in-Client verification before claiming support for other Endgame modes or the friend-cleared tab. diff --git a/docs/scene-challenge-investigation.md b/docs/scene-challenge-investigation.md index 630753c..b860795 100644 --- a/docs/scene-challenge-investigation.md +++ b/docs/scene-challenge-investigation.md @@ -1,5 +1,40 @@ # ตรวจ teleport และ Endgame — 17 ต.ค. 2026 +## ห้องรถไฟค้างโหลด — 19 ต.ค. 2026 + +- ผู้ใช้รายงาน AA และห้องรถไฟเข้าไม่ได้ โดย log ที่ส่งระบุ Entry `100000352`, Floor `10000003` และยังมี heartbeat หลังส่ง EnterScene response/notify แล้ว จึงไม่ถือว่าเข้า Client สำเร็จ +- Client log รอบ 00:03 พบ AsyncLoad MapProp ล้มเหลวใน `_EnterStep2` ขณะโหลด `DesignerBackup/Test_Prop_Teleport.bytes`, `Test_Prop_PTBathSalt.bytes`, `Test_Prop_PTWeaponRack.bytes` และ `Test_Prop_PTLightOff.bytes` ที่ไม่มีใน bundle index หลักฐานก่อนแก้เก็บใน ignored `battle_diagnostics/train-loading-20261019/` +- พบว่า no-teleport adventure entrance เลือก checkpoint แรกของ Floor แม้ MapEntrance/Anchor ระบุจุดเริ่มเฉพาะห้อง แก้ให้ใช้ StartAnchorID ของ Entry บน Floor ที่ตรงกันก่อน checkpoint โดยไม่เปลี่ยน challenge loader หรือ checkpoint teleport ที่ระบุมาโดยตรง การไม่มี Anchor ยังใช้เส้นทางเดิม +- Capture ก่อนหน้าไม่จบแม้แต่ Floor แรก จึงยังไม่ใช้ข้อมูลบางส่วนทับ metadata ปัจจุบัน เปลี่ยน capture เป็นเฉพาะ Floor ที่ล้มเหลวก่อน อ่านเฉพาะ RuntimeFloor/RuntimeGroup สูงสุด 4 กลุ่มต่อ heartbeat และเก็บ SavedValues ของ dimension เพื่อเทียบสถานะ debug กับ Client โดยไม่โหลดหรือรัน level graph +- Unit test ของ entrance anchor ผ่านและ build game server ได้ การทดสอบ common ผ่าน แต่ integration `TestGatewayHandshakeAndLogin` ติด fixture monster event `30124011` ที่ไม่มี Client stage mapping ใน resource ปัจจุบัน จึงยังไม่ถือว่า suite ทั้งหมดผ่าน +- AA ยังต้องเก็บ request/Client log ของการกดเข้าจริงแยกต่างหาก ไม่สรุปว่ามีสาเหตุเดียวกับห้องรถไฟ และยังรอยืนยันโหลดฉากหลังแก้จาก Client + +Capture รอบใหม่ครบ Floor `10000003`: กลุ่มไม่ซ้ำ 202 กลุ่ม, Server ที่ยังไม่ลบ 19 กลุ่ม และ SavedValues 34 ชื่อ พบ Client-managed groups 2/25/28/79 อ้างถึง DesignerBackup graph ทั้งสี่ชื่อที่ล้มเหลว โดยมีเงื่อนไข `Utility_IsDebug == 1` (CompareType Equal=4 จาก enum ที่ capture ไว้) ขณะที่ native DefaultValue ของ flag นี้เป็น 0 ชุด MaxValue เดิมจึงเปิดกลุ่ม debug ที่ asset ไม่ได้ถูกแพ็กมา ใช้ native defaults ที่ capture สำหรับ Floor นี้และเก็บ min/max/default เป็น rules ไม่แก้แบบลบ PropID 100 ทั้งเกม + +ไม่ได้ส่ง floor-wide start anchor ของรถไฟทับทุก Entry เพราะแต่ละห้องมี StartGroup/StartAnchor ของตัวเอง ใช้ `--omit-start-anchor` ใน exporter แล้วให้ no-teleport adventure path resolve Anchor ตาม Entry ข้อมูล Floor เดิมอีก 36 Floor เปรียบเทียบแล้วไม่เปลี่ยน และเก็บ source policy ของข้อมูลเดิมไว้ การ capture condition เป็นการอ่าน RuntimeGroup และ path ไม่ได้รัน graph ของ debug props หลัง capture นำ probe ของงานนี้ออกจาก `scripts/` แล้ว + +คำสั่งตรวจ exporter ครอบคลุม incomplete/missing/invalid SavedValues โดยยืนยันว่าไม่เขียนทับ output เดิม, การเก็บ provenance เมื่อ merge และการคง defaults แทน MaxValue ผ่านแล้ว ส่วน Client หลังแก้และ AA ยังรอทดสอบจริง + +### ผลทดสอบรอบแรกและการกรอง Dimension + +ผู้ใช้ยืนยันว่ากดวาร์ปแล้วไม่มีอะไรเกิดขึ้นทั้งห้องและ AA หลังเปลี่ยน defaults รอบแรก Client ไม่แจ้ง DesignerBackup graph error เดิม แต่เกิด `MapDef.InitServerGroups` NRE เพราะ Group 251 ไม่มีใน MapDef นี่เป็นผลจากการเพิ่ม Server group ตาม RuntimeFloor ทั้งชุดโดยยังไม่กรอง Dimension ไม่ใช่หลักฐานว่าแค่ default ของ Floor แก้ครบแล้ว + +การอ่าน RuntimeDimension ระบุว่า Dimension 0 มี GroupIndexList ของตัวเอง (199 GroupID ไม่ซ้ำจาก Floor รวม 202 กลุ่ม) และไม่มี 251 ขณะที่ Dimension อื่นมีข้อมูลกลุ่มนี้ เพิ่ม `dimension_groups` จาก GroupIndexList/GroupInstanceList ของ Client แล้วกรองทั้งกลุ่มเดิมและเส้นทางเพิ่ม prop จาก metadata ให้ตรง Dimension จริง ไม่ลบหมายเลขกลุ่มแบบเฉพาะ ID Unit test ตรวจว่ากลุ่มจาก Dimension อื่นไม่ถูกใส่กลับผ่าน props พร้อมรักษากลุ่มที่ถูกต้อง ผ่านแล้ว ผลวาร์ปหลังตัวกรองรอบนี้ยังรอ Client ยืนยัน + +การตรวจต่อเพิ่ม `TestTrainRoomScenePacketMatchesCapturedDimension`: สร้าง SceneInfo ของ Entry ที่ผู้ใช้รายงานผ่าน `loadScene` ด้วย resource ปัจจุบัน แล้วตรวจ membership ของ EntityGroupList, DimensionID, SavedValues, XYZ/rotation ของ entrance และการคงจุดลงเมื่อระบุ checkpoint โดยตรง ผ่านแล้ว การทดสอบนี้สร้างข้อมูลใน session จำลองและไม่ส่งเข้า Client จึงไม่ใช่หลักฐานว่าภาพฉากโหลดได้ ส่วนการเฝ้า Game server และ Client process ที่ยังทำงานอยู่หลัง deploy ไม่พบคำขอ EnterScene ใหม่ในช่วงที่เฝ้า ยังต้องลองวาร์ปจาก Client หลังชุดกรอง Dimension ล่าสุด + +### ผลยืนยัน AA และจุดลง Party Car + +ผู้ใช้ยืนยันหลังชุดกรอง Dimension ว่าวาร์ปเข้าหน้า AA และกดเข้าได้แล้ว แต่ยังไม่ได้ลองเล่น จึงยืนยันเฉพาะเส้นทางเข้า ไม่รวมการต่อสู้หรือ settlement ส่วนการวาร์ปห้องอีกจุดลงห้องนอน MC: log แยกได้ว่า Entry 1000003 (Party Car) ถูกกดก่อน 100000352 (ChallengePeakBattleEntry/AA) โดย 1000003 ไม่มี StartAnchorID และไม่มี Anchor เฉพาะ Entry จึงยังตกไปใช้ checkpoint แรก + +เก็บ `floor_default_anchor` แยกจาก `start_anchor` ที่ทับทางเข้าทั้ง Floor และใช้เฉพาะ MapEntrance ที่ไม่ระบุ StartAnchorID เท่านั้น Native default ของ Floor นี้ที่ capture ไว้คือ XYZ (-5449,-15289,-12), RotY 180000 ส่วนทางเข้า AA เก็บ anchor เฉพาะเดิม เพิ่ม regression test ทั้ง default Town entrance และ explicit checkpoint ผ่านแล้ว ยังรอผู้ใช้ยืนยันจุดลง Party Car หลังแก้รอบนี้ และรอชื่อห้องเป้าหมายเพื่อยืนยันว่าตรงรายการที่ผู้ใช้ตั้งใจ + +### ยืนยันผลและปิดงาน — 19 ต.ค. 2026 + +ผู้ใช้ระบุชัดว่าข้อ 1 คือ Party Car และยืนยันว่า “ตอนนี้ถูกแล้ว” หลังใช้ floor default anchor ส่วน AA ผู้ใช้ยืนยันก่อนหน้านี้ว่าวาร์ปไปหน้า AA และกดเข้าได้แล้ว Log รอบล่าสุดของ Party Car เป็น Entry 1000003, Floor 10000003, XYZ (-5449,-15289,-12) และการเข้า Entry 100000304 สลับกลับ Party Car ใช้ anchor คนละจุดตาม resource โดยไม่ถูกทับเป็นจุดเดียวกัน จึงยืนยันการแก้อาการค้างโหลดและจุดลงผิดสำหรับ Party Car/ทางเข้า AA ที่รายงานได้ครบตามขอบเขตงานนี้ + +หลักฐานแยกกัน: Client ยืนยันการวาร์ปและเข้าฉากจากผู้ใช้; regression tests ตรวจ Dimension membership, SavedValues, anchor เฉพาะทางเข้า, floor default และ explicit checkpoint พร้อม build ผ่าน การเล่นต่อสู้และ settlement ของ AA ยังไม่ได้ทดสอบ และ integration suite ทั้งหมดยังไม่ถือว่าผ่านเพราะ fixture stage mapping ของ smoke test ที่บันทึกไว้ข้างต้น งานนี้ไม่ได้เปลี่ยนเส้นทาง Battle เพื่ออ้างผลจากการเข้าฉาก + ## หลักฐานจาก Client - `Player.log` แจ้ง `[HoyoGroupManager] 尝试激活的Group不存在, FloorID=20571001 FloorName=Starfroster GroupID=216` ก่อน `MapDef.InitServerGroups` เกิด NullReferenceException diff --git a/freesr-data.json b/freesr-data.json index 2806fee..6052bbf 100644 --- a/freesr-data.json +++ b/freesr-data.json @@ -195,7 +195,7 @@ { "level": 80, "item_id": 23051, - "equip_avatar": 0, + "equip_avatar": 1414, "rank": 1, "promotion": 6, "internal_uid": 25 @@ -210,9 +210,9 @@ }, { "level": 80, - "item_id": 21018, - "equip_avatar": 0, - "rank": 3, + "item_id": 23038, + "equip_avatar": 1403, + "rank": 1, "promotion": 6, "internal_uid": 27 }, @@ -683,7 +683,7 @@ { "level": 80, "item_id": 24006, - "equip_avatar": 0, + "equip_avatar": 8009, "rank": 1, "promotion": 6, "internal_uid": 86 @@ -1075,7 +1075,7 @@ { "level": 80, "item_id": 23051, - "equip_avatar": 1414, + "equip_avatar": 0, "rank": 1, "promotion": 6, "internal_uid": 135 @@ -1315,7 +1315,7 @@ { "level": 80, "item_id": 23064, - "equip_avatar": 1513, + "equip_avatar": 0, "rank": 1, "promotion": 6, "internal_uid": 165 @@ -1339,7 +1339,7 @@ { "level": 80, "item_id": 23049, - "equip_avatar": 1413, + "equip_avatar": 0, "rank": 1, "promotion": 6, "internal_uid": 168 @@ -1347,7 +1347,7 @@ { "level": 80, "item_id": 23063, - "equip_avatar": 1512, + "equip_avatar": 0, "rank": 1, "promotion": 6, "internal_uid": 169 @@ -1363,7 +1363,7 @@ { "level": 80, "item_id": 23042, - "equip_avatar": 1409, + "equip_avatar": 0, "rank": 1, "promotion": 6, "internal_uid": 171 @@ -1371,7 +1371,7 @@ { "level": 80, "item_id": 23040, - "equip_avatar": 1407, + "equip_avatar": 0, "rank": 1, "promotion": 6, "internal_uid": 172 @@ -1403,7 +1403,7 @@ { "level": 80, "item_id": 23059, - "equip_avatar": 1507, + "equip_avatar": 0, "rank": 1, "promotion": 6, "internal_uid": 176 @@ -1419,7 +1419,7 @@ { "level": 80, "item_id": 23056, - "equip_avatar": 1504, + "equip_avatar": 0, "rank": 1, "promotion": 6, "internal_uid": 178 @@ -1443,7 +1443,7 @@ { "level": 80, "item_id": 23052, - "equip_avatar": 1415, + "equip_avatar": 0, "rank": 1, "promotion": 6, "internal_uid": 181 @@ -1483,7 +1483,7 @@ { "level": 80, "item_id": 23038, - "equip_avatar": 1403, + "equip_avatar": 0, "rank": 1, "promotion": 6, "internal_uid": 186 @@ -1655,12 +1655,653 @@ "rank": 1, "promotion": 6, "internal_uid": 207 + }, + { + "level": 80, + "item_id": 23064, + "equip_avatar": 1513, + "rank": 1, + "promotion": 6, + "internal_uid": 208 + }, + { + "level": 80, + "item_id": 24001, + "equip_avatar": 1504, + "rank": 5, + "promotion": 6, + "internal_uid": 209 + }, + { + "level": 80, + "item_id": 22000, + "equip_avatar": 1507, + "rank": 5, + "promotion": 6, + "internal_uid": 210 + }, + { + "level": 80, + "item_id": 23049, + "equip_avatar": 1413, + "rank": 1, + "promotion": 6, + "internal_uid": 211 + }, + { + "level": 80, + "item_id": 23063, + "equip_avatar": 1512, + "rank": 1, + "promotion": 6, + "internal_uid": 212 + }, + { + "level": 80, + "item_id": 24005, + "equip_avatar": 1415, + "rank": 5, + "promotion": 6, + "internal_uid": 213 + }, + { + "level": 80, + "item_id": 23042, + "equip_avatar": 1409, + "rank": 1, + "promotion": 6, + "internal_uid": 214 + }, + { + "level": 80, + "item_id": 23040, + "equip_avatar": 1407, + "rank": 1, + "promotion": 6, + "internal_uid": 215 + }, + { + "level": 1, + "item_id": 20001, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 216 + }, + { + "level": 1, + "item_id": 20004, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 217 + }, + { + "level": 1, + "item_id": 20005, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 218 + }, + { + "level": 1, + "item_id": 20006, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 219 + }, + { + "level": 1, + "item_id": 20007, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 220 + }, + { + "level": 1, + "item_id": 20008, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 221 + }, + { + "level": 1, + "item_id": 20009, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 222 + }, + { + "level": 1, + "item_id": 20010, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 223 + }, + { + "level": 1, + "item_id": 20011, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 224 + }, + { + "level": 1, + "item_id": 20016, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 225 + }, + { + "level": 1, + "item_id": 20017, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 226 + }, + { + "level": 1, + "item_id": 20019, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 227 + }, + { + "level": 1, + "item_id": 20020, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 228 + }, + { + "level": 1, + "item_id": 20021, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 229 + }, + { + "level": 1, + "item_id": 20022, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 230 + }, + { + "level": 1, + "item_id": 20023, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 231 + }, + { + "level": 1, + "item_id": 20024, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 232 + }, + { + "level": 1, + "item_id": 21000, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 233 + }, + { + "level": 1, + "item_id": 21003, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 234 + }, + { + "level": 1, + "item_id": 21004, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 235 + }, + { + "level": 1, + "item_id": 21005, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 236 + }, + { + "level": 1, + "item_id": 21008, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 237 + }, + { + "level": 1, + "item_id": 21009, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 238 + }, + { + "level": 1, + "item_id": 21011, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 239 + }, + { + "level": 1, + "item_id": 21014, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 240 + }, + { + "level": 1, + "item_id": 21016, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 241 + }, + { + "level": 1, + "item_id": 21017, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 242 + }, + { + "level": 1, + "item_id": 21020, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 243 + }, + { + "level": 1, + "item_id": 21022, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 244 + }, + { + "level": 1, + "item_id": 21023, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 245 + }, + { + "level": 1, + "item_id": 21025, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 246 + }, + { + "level": 1, + "item_id": 21026, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 247 + }, + { + "level": 1, + "item_id": 21027, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 248 + }, + { + "level": 1, + "item_id": 21028, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 249 + }, + { + "level": 1, + "item_id": 21029, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 250 + }, + { + "level": 1, + "item_id": 21030, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 251 + }, + { + "level": 1, + "item_id": 21031, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 252 + }, + { + "level": 1, + "item_id": 21032, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 253 + }, + { + "level": 1, + "item_id": 21033, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 254 + }, + { + "level": 1, + "item_id": 21034, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 255 + }, + { + "level": 1, + "item_id": 21036, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 256 + }, + { + "level": 1, + "item_id": 21037, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 257 + }, + { + "level": 1, + "item_id": 21038, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 258 + }, + { + "level": 1, + "item_id": 21040, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 259 + }, + { + "level": 1, + "item_id": 21041, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 260 + }, + { + "level": 1, + "item_id": 21044, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 261 + }, + { + "level": 1, + "item_id": 21045, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 262 + }, + { + "level": 1, + "item_id": 21047, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 263 + }, + { + "level": 1, + "item_id": 21048, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 264 + }, + { + "level": 1, + "item_id": 21050, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 265 + }, + { + "level": 1, + "item_id": 21051, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 266 + }, + { + "level": 1, + "item_id": 21052, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 267 + }, + { + "level": 1, + "item_id": 21053, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 268 + }, + { + "level": 1, + "item_id": 21054, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 269 + }, + { + "level": 1, + "item_id": 21055, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 270 + }, + { + "level": 1, + "item_id": 21057, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 271 + }, + { + "level": 1, + "item_id": 21058, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 272 + }, + { + "level": 1, + "item_id": 21060, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 273 + }, + { + "level": 1, + "item_id": 21061, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 274 + }, + { + "level": 1, + "item_id": 21062, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 275 + }, + { + "level": 1, + "item_id": 21066, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 276 + }, + { + "level": 1, + "item_id": 22001, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 277 + }, + { + "level": 1, + "item_id": 22002, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 278 + }, + { + "level": 1, + "item_id": 22003, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 279 + }, + { + "level": 1, + "item_id": 22005, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 280 + }, + { + "level": 1, + "item_id": 22007, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 281 + }, + { + "level": 1, + "item_id": 22008, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 282 + }, + { + "level": 1, + "item_id": 23006, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 283 + }, + { + "level": 1, + "item_id": 23012, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 284 + }, + { + "level": 1, + "item_id": 24002, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 285 + }, + { + "level": 1, + "item_id": 24003, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 286 + }, + { + "level": 1, + "item_id": 24004, + "equip_avatar": 0, + "rank": 1, + "promotion": 0, + "internal_uid": 287 } ], "relics": [ { "level": 15, "relic_id": 61291, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -1690,6 +2331,7 @@ { "level": 15, "relic_id": 61292, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -1719,6 +2361,7 @@ { "level": 15, "relic_id": 61293, + "relic_set_id": 129, "main_affix_id": 4, "sub_affixes": [ { @@ -1748,6 +2391,7 @@ { "level": 15, "relic_id": 61294, + "relic_set_id": 129, "main_affix_id": 4, "sub_affixes": [ { @@ -1777,6 +2421,7 @@ { "level": 15, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -1806,6 +2451,7 @@ { "level": 15, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 9, "sub_affixes": [ { @@ -1835,6 +2481,7 @@ { "level": 15, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -1864,6 +2511,7 @@ { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -1893,6 +2541,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -1922,6 +2571,7 @@ { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 4, "sub_affixes": [ { @@ -1951,6 +2601,7 @@ { "level": 15, "relic_id": 63235, + "relic_set_id": 323, "main_affix_id": 1, "sub_affixes": [ { @@ -1980,6 +2631,7 @@ { "level": 15, "relic_id": 63236, + "relic_set_id": 323, "main_affix_id": 2, "sub_affixes": [ { @@ -2009,6 +2661,7 @@ { "level": 15, "relic_id": 61321, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -2038,6 +2691,7 @@ { "level": 15, "relic_id": 61322, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -2067,6 +2721,7 @@ { "level": 15, "relic_id": 61323, + "relic_set_id": 132, "main_affix_id": 4, "sub_affixes": [ { @@ -2096,6 +2751,7 @@ { "level": 15, "relic_id": 61324, + "relic_set_id": 132, "main_affix_id": 4, "sub_affixes": [ { @@ -2125,6 +2781,7 @@ { "level": 15, "relic_id": 61324, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -2154,6 +2811,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -2183,6 +2841,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 2, "sub_affixes": [ { @@ -2212,6 +2871,7 @@ { "level": 15, "relic_id": 61311, + "relic_set_id": 131, "main_affix_id": 1, "sub_affixes": [ { @@ -2241,6 +2901,7 @@ { "level": 15, "relic_id": 61312, + "relic_set_id": 131, "main_affix_id": 1, "sub_affixes": [ { @@ -2270,6 +2931,7 @@ { "level": 15, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -2299,6 +2961,7 @@ { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -2328,6 +2991,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -2357,6 +3021,7 @@ { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 4, "sub_affixes": [ { @@ -2386,6 +3051,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 8, "sub_affixes": [ { @@ -2415,6 +3081,7 @@ { "level": 15, "relic_id": 63176, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -2439,11 +3106,12 @@ } ], "internal_uid": 32, - "equip_avatar": 0 + "equip_avatar": 8009 }, { "level": 15, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -2473,6 +3141,7 @@ { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -2502,6 +3171,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -2531,6 +3201,7 @@ { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 4, "sub_affixes": [ { @@ -2560,6 +3231,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -2589,6 +3261,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -2618,6 +3291,7 @@ { "level": 15, "relic_id": 61241, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -2647,6 +3321,7 @@ { "level": 15, "relic_id": 61242, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -2676,6 +3351,7 @@ { "level": 15, "relic_id": 61243, + "relic_set_id": 124, "main_affix_id": 5, "sub_affixes": [ { @@ -2705,6 +3381,7 @@ { "level": 15, "relic_id": 61244, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -2734,6 +3411,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -2763,6 +3441,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -2792,6 +3471,7 @@ { "level": 15, "relic_id": 61251, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -2821,6 +3501,7 @@ { "level": 15, "relic_id": 61252, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -2850,6 +3531,7 @@ { "level": 15, "relic_id": 61253, + "relic_set_id": 125, "main_affix_id": 6, "sub_affixes": [ { @@ -2879,6 +3561,7 @@ { "level": 15, "relic_id": 61254, + "relic_set_id": 125, "main_affix_id": 4, "sub_affixes": [ { @@ -2908,6 +3591,7 @@ { "level": 15, "relic_id": 63205, + "relic_set_id": 320, "main_affix_id": 1, "sub_affixes": [ { @@ -2937,6 +3621,7 @@ { "level": 15, "relic_id": 63206, + "relic_set_id": 320, "main_affix_id": 2, "sub_affixes": [ { @@ -2966,6 +3651,7 @@ { "level": 15, "relic_id": 61321, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -2995,6 +3681,7 @@ { "level": 15, "relic_id": 61322, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -3024,6 +3711,7 @@ { "level": 15, "relic_id": 61323, + "relic_set_id": 132, "main_affix_id": 4, "sub_affixes": [ { @@ -3053,6 +3741,7 @@ { "level": 15, "relic_id": 61324, + "relic_set_id": 132, "main_affix_id": 4, "sub_affixes": [ { @@ -3082,6 +3771,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -3111,6 +3801,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 2, "sub_affixes": [ { @@ -3140,6 +3831,7 @@ { "level": 15, "relic_id": 61081, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -3169,6 +3861,7 @@ { "level": 15, "relic_id": 61082, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -3198,6 +3891,7 @@ { "level": 15, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 5, "sub_affixes": [ { @@ -3227,6 +3921,7 @@ { "level": 15, "relic_id": 61104, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { @@ -3256,6 +3951,7 @@ { "level": 15, "relic_id": 63145, + "relic_set_id": 314, "main_affix_id": 8, "sub_affixes": [ { @@ -3285,6 +3981,7 @@ { "level": 15, "relic_id": 63146, + "relic_set_id": 314, "main_affix_id": 2, "sub_affixes": [ { @@ -3314,6 +4011,7 @@ { "level": 15, "relic_id": 61291, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -3343,6 +4041,7 @@ { "level": 15, "relic_id": 61292, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -3372,6 +4071,7 @@ { "level": 15, "relic_id": 61293, + "relic_set_id": 129, "main_affix_id": 4, "sub_affixes": [ { @@ -3401,6 +4101,7 @@ { "level": 15, "relic_id": 61294, + "relic_set_id": 129, "main_affix_id": 4, "sub_affixes": [ { @@ -3430,6 +4131,7 @@ { "level": 15, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 9, "sub_affixes": [ { @@ -3459,6 +4161,7 @@ { "level": 15, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -3488,6 +4191,7 @@ { "level": 15, "relic_id": 61224, + "relic_set_id": 122, "main_affix_id": 4, "sub_affixes": [ { @@ -3517,6 +4221,7 @@ { "level": 15, "relic_id": 61222, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -3546,6 +4251,7 @@ { "level": 15, "relic_id": 61101, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -3575,6 +4281,7 @@ { "level": 0, "relic_id": 63035, + "relic_set_id": 303, "main_affix_id": 3, "sub_affixes": [ { @@ -3599,6 +4306,7 @@ { "level": 15, "relic_id": 61243, + "relic_set_id": 124, "main_affix_id": 5, "sub_affixes": [ { @@ -3628,6 +4336,7 @@ { "level": 15, "relic_id": 61244, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -3657,6 +4366,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -3686,6 +4396,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -3715,6 +4426,7 @@ { "level": 15, "relic_id": 61231, + "relic_set_id": 123, "main_affix_id": 1, "sub_affixes": [ { @@ -3744,6 +4456,7 @@ { "level": 15, "relic_id": 61242, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -3773,6 +4486,7 @@ { "level": 15, "relic_id": 61232, + "relic_set_id": 123, "main_affix_id": 1, "sub_affixes": [ { @@ -3802,6 +4516,7 @@ { "level": 15, "relic_id": 61234, + "relic_set_id": 123, "main_affix_id": 4, "sub_affixes": [ { @@ -3831,6 +4546,7 @@ { "level": 15, "relic_id": 61254, + "relic_set_id": 125, "main_affix_id": 4, "sub_affixes": [ { @@ -3860,6 +4576,7 @@ { "level": 15, "relic_id": 61252, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -3889,6 +4606,7 @@ { "level": 15, "relic_id": 63145, + "relic_set_id": 314, "main_affix_id": 6, "sub_affixes": [ { @@ -3918,6 +4636,7 @@ { "level": 15, "relic_id": 61104, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { @@ -3947,6 +4666,7 @@ { "level": 15, "relic_id": 63176, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -3976,6 +4696,7 @@ { "level": 15, "relic_id": 63205, + "relic_set_id": 320, "main_affix_id": 1, "sub_affixes": [ { @@ -4005,6 +4726,7 @@ { "level": 15, "relic_id": 63206, + "relic_set_id": 320, "main_affix_id": 2, "sub_affixes": [ { @@ -4034,6 +4756,7 @@ { "level": 15, "relic_id": 63145, + "relic_set_id": 314, "main_affix_id": 8, "sub_affixes": [ { @@ -4063,6 +4786,7 @@ { "level": 15, "relic_id": 63146, + "relic_set_id": 314, "main_affix_id": 4, "sub_affixes": [ { @@ -4092,6 +4816,7 @@ { "level": 15, "relic_id": 63205, + "relic_set_id": 320, "main_affix_id": 1, "sub_affixes": [ { @@ -4121,6 +4846,7 @@ { "level": 15, "relic_id": 61254, + "relic_set_id": 125, "main_affix_id": 4, "sub_affixes": [ { @@ -4150,6 +4876,7 @@ { "level": 15, "relic_id": 61253, + "relic_set_id": 125, "main_affix_id": 6, "sub_affixes": [ { @@ -4179,6 +4906,7 @@ { "level": 15, "relic_id": 61241, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -4208,6 +4936,7 @@ { "level": 15, "relic_id": 61241, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -4237,6 +4966,7 @@ { "level": 15, "relic_id": 61243, + "relic_set_id": 124, "main_affix_id": 5, "sub_affixes": [ { @@ -4266,6 +4996,7 @@ { "level": 15, "relic_id": 61242, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -4295,6 +5026,7 @@ { "level": 15, "relic_id": 61244, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -4324,6 +5056,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 2, "sub_affixes": [ { @@ -4353,6 +5086,7 @@ { "level": 15, "relic_id": 63176, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -4382,6 +5116,7 @@ { "level": 15, "relic_id": 61213, + "relic_set_id": 121, "main_affix_id": 5, "sub_affixes": [ { @@ -4411,6 +5146,7 @@ { "level": 15, "relic_id": 61221, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -4440,6 +5176,7 @@ { "level": 15, "relic_id": 61214, + "relic_set_id": 121, "main_affix_id": 4, "sub_affixes": [ { @@ -4469,6 +5206,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 6, "sub_affixes": [ { @@ -4498,6 +5236,7 @@ { "level": 15, "relic_id": 63146, + "relic_set_id": 314, "main_affix_id": 2, "sub_affixes": [ { @@ -4527,6 +5266,7 @@ { "level": 15, "relic_id": 63145, + "relic_set_id": 314, "main_affix_id": 8, "sub_affixes": [ { @@ -4556,6 +5296,7 @@ { "level": 15, "relic_id": 63206, + "relic_set_id": 320, "main_affix_id": 2, "sub_affixes": [ { @@ -4585,6 +5326,7 @@ { "level": 15, "relic_id": 61223, + "relic_set_id": 122, "main_affix_id": 4, "sub_affixes": [ { @@ -4614,6 +5356,7 @@ { "level": 15, "relic_id": 61251, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -4643,6 +5386,7 @@ { "level": 15, "relic_id": 61253, + "relic_set_id": 125, "main_affix_id": 6, "sub_affixes": [ { @@ -4672,6 +5416,7 @@ { "level": 15, "relic_id": 63146, + "relic_set_id": 314, "main_affix_id": 4, "sub_affixes": [ { @@ -4701,6 +5446,7 @@ { "level": 15, "relic_id": 61252, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -4730,6 +5476,7 @@ { "level": 15, "relic_id": 61221, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -4759,6 +5506,7 @@ { "level": 15, "relic_id": 61224, + "relic_set_id": 122, "main_affix_id": 2, "sub_affixes": [ { @@ -4788,6 +5536,7 @@ { "level": 15, "relic_id": 61212, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -4817,6 +5566,7 @@ { "level": 15, "relic_id": 61211, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -4846,6 +5596,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 8, "sub_affixes": [ { @@ -4875,6 +5626,7 @@ { "level": 15, "relic_id": 61241, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -4904,6 +5656,7 @@ { "level": 15, "relic_id": 61233, + "relic_set_id": 123, "main_affix_id": 5, "sub_affixes": [ { @@ -4933,6 +5686,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -4962,6 +5716,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -4991,6 +5746,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -5020,6 +5776,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 2, "sub_affixes": [ { @@ -5049,6 +5806,7 @@ { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 4, "sub_affixes": [ { @@ -5078,6 +5836,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -5107,6 +5866,7 @@ { "level": 3, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 2, "sub_affixes": [ { @@ -5136,6 +5896,7 @@ { "level": 6, "relic_id": 61282, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -5165,6 +5926,7 @@ { "level": 15, "relic_id": 63176, + "relic_set_id": 317, "main_affix_id": 4, "sub_affixes": [ { @@ -5194,6 +5956,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 1, "sub_affixes": [ { @@ -5223,6 +5986,7 @@ { "level": 15, "relic_id": 61282, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -5252,6 +6016,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -5276,11 +6041,12 @@ } ], "internal_uid": 130, - "equip_avatar": 0 + "equip_avatar": 8009 }, { "level": 15, "relic_id": 63176, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -5310,6 +6076,7 @@ { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -5339,6 +6106,7 @@ { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -5368,6 +6136,7 @@ { "level": 15, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -5397,6 +6166,7 @@ { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 4, "sub_affixes": [ { @@ -5426,6 +6196,7 @@ { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -5455,6 +6226,7 @@ { "level": 15, "relic_id": 61281, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -5484,6 +6256,7 @@ { "level": 0, "relic_id": 63235, + "relic_set_id": 323, "main_affix_id": 6, "sub_affixes": [ { @@ -5508,6 +6281,7 @@ { "level": 15, "relic_id": 61284, + "relic_set_id": 128, "main_affix_id": 4, "sub_affixes": [ { @@ -5537,6 +6311,7 @@ { "level": 0, "relic_id": 63235, + "relic_set_id": 323, "main_affix_id": 6, "sub_affixes": [ { @@ -5561,6 +6336,7 @@ { "level": 15, "relic_id": 63235, + "relic_set_id": 323, "main_affix_id": 6, "sub_affixes": [ { @@ -5590,6 +6366,7 @@ { "level": 15, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -5619,6 +6396,7 @@ { "level": 15, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -5648,6 +6426,7 @@ { "level": 15, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 2, "sub_affixes": [ { @@ -5677,6 +6456,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -5706,6 +6486,7 @@ { "level": 15, "relic_id": 63236, + "relic_set_id": 323, "main_affix_id": 2, "sub_affixes": [ { @@ -5735,6 +6516,7 @@ { "level": 0, "relic_id": 61284, + "relic_set_id": 128, "main_affix_id": 4, "sub_affixes": [ { @@ -5759,6 +6541,7 @@ { "level": 0, "relic_id": 63215, + "relic_set_id": 321, "main_affix_id": 1, "sub_affixes": [ { @@ -5788,6 +6571,7 @@ { "level": 0, "relic_id": 63216, + "relic_set_id": 321, "main_affix_id": 3, "sub_affixes": [ { @@ -5812,6 +6596,7 @@ { "level": 0, "relic_id": 63216, + "relic_set_id": 321, "main_affix_id": 2, "sub_affixes": [ { @@ -5836,6 +6621,7 @@ { "level": 0, "relic_id": 61284, + "relic_set_id": 128, "main_affix_id": 4, "sub_affixes": [ { @@ -5860,6 +6646,7 @@ { "level": 0, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 2, "sub_affixes": [ { @@ -5884,6 +6671,7 @@ { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -5913,6 +6701,7 @@ { "level": 0, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 2, "sub_affixes": [ { @@ -5937,6 +6726,7 @@ { "level": 0, "relic_id": 61284, + "relic_set_id": 128, "main_affix_id": 4, "sub_affixes": [ { @@ -5961,6 +6751,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -5990,6 +6781,7 @@ { "level": 15, "relic_id": 63236, + "relic_set_id": 323, "main_affix_id": 3, "sub_affixes": [ { @@ -6019,6 +6811,7 @@ { "level": 0, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 2, "sub_affixes": [ { @@ -6043,6 +6836,7 @@ { "level": 0, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 2, "sub_affixes": [ { @@ -6067,6 +6861,7 @@ { "level": 0, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -6096,6 +6891,7 @@ { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -6125,6 +6921,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -6154,6 +6951,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -6183,6 +6981,7 @@ { "level": 15, "relic_id": 61023, + "relic_set_id": 102, "main_affix_id": 2, "sub_affixes": [ { @@ -6212,6 +7011,7 @@ { "level": 15, "relic_id": 61024, + "relic_set_id": 102, "main_affix_id": 2, "sub_affixes": [ { @@ -6241,6 +7041,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -6270,6 +7071,7 @@ { "level": 15, "relic_id": 61102, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -6299,6 +7101,7 @@ { "level": 15, "relic_id": 61103, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { @@ -6328,6 +7131,7 @@ { "level": 15, "relic_id": 61103, + "relic_set_id": 110, "main_affix_id": 5, "sub_affixes": [ { @@ -6357,6 +7161,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 4, "sub_affixes": [ { @@ -6386,6 +7191,7 @@ { "level": 15, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 9, "sub_affixes": [ { @@ -6415,6 +7221,7 @@ { "level": 15, "relic_id": 63106, + "relic_set_id": 310, "main_affix_id": 2, "sub_affixes": [ { @@ -6444,6 +7251,7 @@ { "level": 0, "relic_id": 63106, + "relic_set_id": 310, "main_affix_id": 4, "sub_affixes": [ { @@ -6473,6 +7281,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -6502,6 +7311,7 @@ { "level": 15, "relic_id": 61211, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -6531,6 +7341,7 @@ { "level": 15, "relic_id": 61212, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -6560,6 +7371,7 @@ { "level": 15, "relic_id": 61214, + "relic_set_id": 121, "main_affix_id": 2, "sub_affixes": [ { @@ -6589,6 +7401,7 @@ { "level": 15, "relic_id": 61211, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -6618,6 +7431,7 @@ { "level": 15, "relic_id": 61211, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -6647,6 +7461,7 @@ { "level": 15, "relic_id": 61213, + "relic_set_id": 121, "main_affix_id": 2, "sub_affixes": [ { @@ -6676,6 +7491,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -6705,6 +7521,7 @@ { "level": 15, "relic_id": 61214, + "relic_set_id": 121, "main_affix_id": 4, "sub_affixes": [ { @@ -6734,6 +7551,7 @@ { "level": 0, "relic_id": 61211, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -6758,6 +7576,7 @@ { "level": 15, "relic_id": 61213, + "relic_set_id": 121, "main_affix_id": 2, "sub_affixes": [ { @@ -6787,6 +7606,7 @@ { "level": 0, "relic_id": 61224, + "relic_set_id": 122, "main_affix_id": 2, "sub_affixes": [ { @@ -6811,6 +7631,7 @@ { "level": 15, "relic_id": 61212, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -6840,6 +7661,7 @@ { "level": 15, "relic_id": 61213, + "relic_set_id": 121, "main_affix_id": 5, "sub_affixes": [ { @@ -6869,6 +7691,7 @@ { "level": 15, "relic_id": 61213, + "relic_set_id": 121, "main_affix_id": 5, "sub_affixes": [ { @@ -6898,6 +7721,7 @@ { "level": 0, "relic_id": 61212, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -6922,6 +7746,7 @@ { "level": 0, "relic_id": 61212, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -6946,6 +7771,7 @@ { "level": 15, "relic_id": 61104, + "relic_set_id": 110, "main_affix_id": 2, "sub_affixes": [ { @@ -6975,6 +7801,7 @@ { "level": 0, "relic_id": 61022, + "relic_set_id": 102, "main_affix_id": 1, "sub_affixes": [ { @@ -6999,6 +7826,7 @@ { "level": 15, "relic_id": 61223, + "relic_set_id": 122, "main_affix_id": 5, "sub_affixes": [ { @@ -7028,6 +7856,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 1, "sub_affixes": [ { @@ -7057,6 +7886,7 @@ { "level": 15, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 4, "sub_affixes": [ { @@ -7086,6 +7916,7 @@ { "level": 15, "relic_id": 61082, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -7115,6 +7946,7 @@ { "level": 15, "relic_id": 61081, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -7144,6 +7976,7 @@ { "level": 15, "relic_id": 61081, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -7173,6 +8006,7 @@ { "level": 15, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 4, "sub_affixes": [ { @@ -7202,6 +8036,7 @@ { "level": 15, "relic_id": 61082, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -7231,6 +8066,7 @@ { "level": 15, "relic_id": 61103, + "relic_set_id": 110, "main_affix_id": 2, "sub_affixes": [ { @@ -7260,6 +8096,7 @@ { "level": 0, "relic_id": 61021, + "relic_set_id": 102, "main_affix_id": 1, "sub_affixes": [ { @@ -7284,6 +8121,7 @@ { "level": 0, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 5, "sub_affixes": [ { @@ -7313,6 +8151,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 3, "sub_affixes": [ { @@ -7342,6 +8181,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 6, "sub_affixes": [ { @@ -7371,6 +8211,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 4, "sub_affixes": [ { @@ -7400,6 +8241,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -7429,6 +8271,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -7458,6 +8301,7 @@ { "level": 15, "relic_id": 63235, + "relic_set_id": 323, "main_affix_id": 1, "sub_affixes": [ { @@ -7487,6 +8331,7 @@ { "level": 15, "relic_id": 61214, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -7516,6 +8361,7 @@ { "level": 15, "relic_id": 61082, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -7545,6 +8391,7 @@ { "level": 0, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 2, "sub_affixes": [ { @@ -7569,6 +8416,7 @@ { "level": 0, "relic_id": 61062, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -7593,6 +8441,7 @@ { "level": 0, "relic_id": 61061, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -7617,6 +8466,7 @@ { "level": 0, "relic_id": 61081, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -7641,6 +8491,7 @@ { "level": 0, "relic_id": 61062, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -7665,6 +8516,7 @@ { "level": 15, "relic_id": 61162, + "relic_set_id": 116, "main_affix_id": 1, "sub_affixes": [ { @@ -7694,6 +8546,7 @@ { "level": 15, "relic_id": 61161, + "relic_set_id": 116, "main_affix_id": 1, "sub_affixes": [ { @@ -7723,6 +8576,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -7752,6 +8606,7 @@ { "level": 0, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -7776,6 +8631,7 @@ { "level": 0, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -7805,6 +8661,7 @@ { "level": 0, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 4, "sub_affixes": [ { @@ -7829,6 +8686,7 @@ { "level": 0, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 2, "sub_affixes": [ { @@ -7858,6 +8716,7 @@ { "level": 15, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 5, "sub_affixes": [ { @@ -7887,6 +8746,7 @@ { "level": 0, "relic_id": 61062, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -7911,6 +8771,7 @@ { "level": 0, "relic_id": 61082, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -7935,6 +8796,7 @@ { "level": 0, "relic_id": 61061, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -7959,6 +8821,7 @@ { "level": 0, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 3, "sub_affixes": [ { @@ -7983,6 +8846,7 @@ { "level": 15, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 2, "sub_affixes": [ { @@ -8012,6 +8876,7 @@ { "level": 15, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -8041,6 +8906,7 @@ { "level": 0, "relic_id": 61063, + "relic_set_id": 106, "main_affix_id": 5, "sub_affixes": [ { @@ -8065,6 +8931,7 @@ { "level": 0, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 3, "sub_affixes": [ { @@ -8089,6 +8956,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 4, "sub_affixes": [ { @@ -8118,6 +8986,7 @@ { "level": 15, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 4, "sub_affixes": [ { @@ -8147,6 +9016,7 @@ { "level": 0, "relic_id": 61082, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -8171,6 +9041,7 @@ { "level": 0, "relic_id": 61061, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -8200,6 +9071,7 @@ { "level": 15, "relic_id": 61081, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -8229,6 +9101,7 @@ { "level": 0, "relic_id": 61062, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -8253,6 +9126,7 @@ { "level": 0, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 3, "sub_affixes": [ { @@ -8277,6 +9151,7 @@ { "level": 15, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 2, "sub_affixes": [ { @@ -8306,6 +9181,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -8335,6 +9211,7 @@ { "level": 15, "relic_id": 61082, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -8364,6 +9241,7 @@ { "level": 15, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -8393,6 +9271,7 @@ { "level": 15, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 5, "sub_affixes": [ { @@ -8422,6 +9301,7 @@ { "level": 15, "relic_id": 61081, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -8451,6 +9331,7 @@ { "level": 15, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 2, "sub_affixes": [ { @@ -8480,6 +9361,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 4, "sub_affixes": [ { @@ -8509,6 +9391,7 @@ { "level": 0, "relic_id": 61061, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -8533,6 +9416,7 @@ { "level": 0, "relic_id": 61063, + "relic_set_id": 106, "main_affix_id": 4, "sub_affixes": [ { @@ -8562,6 +9446,7 @@ { "level": 15, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 2, "sub_affixes": [ { @@ -8591,6 +9476,7 @@ { "level": 0, "relic_id": 61063, + "relic_set_id": 106, "main_affix_id": 4, "sub_affixes": [ { @@ -8615,6 +9501,7 @@ { "level": 15, "relic_id": 61081, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -8644,6 +9531,7 @@ { "level": 15, "relic_id": 61252, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -8673,6 +9561,7 @@ { "level": 15, "relic_id": 61254, + "relic_set_id": 125, "main_affix_id": 4, "sub_affixes": [ { @@ -8702,6 +9591,7 @@ { "level": 0, "relic_id": 61081, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -8726,6 +9616,7 @@ { "level": 15, "relic_id": 61081, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -8755,6 +9646,7 @@ { "level": 0, "relic_id": 61081, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -8779,6 +9671,7 @@ { "level": 0, "relic_id": 61064, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -8803,6 +9696,7 @@ { "level": 0, "relic_id": 61061, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -8827,6 +9721,7 @@ { "level": 0, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -8856,6 +9751,7 @@ { "level": 0, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 3, "sub_affixes": [ { @@ -8880,6 +9776,7 @@ { "level": 15, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 8, "sub_affixes": [ { @@ -8909,6 +9806,7 @@ { "level": 0, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 6, "sub_affixes": [ { @@ -8938,6 +9836,7 @@ { "level": 0, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 3, "sub_affixes": [ { @@ -8962,6 +9861,7 @@ { "level": 0, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 3, "sub_affixes": [ { @@ -8991,6 +9891,7 @@ { "level": 0, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 8, "sub_affixes": [ { @@ -9015,6 +9916,7 @@ { "level": 0, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 5, "sub_affixes": [ { @@ -9044,6 +9946,7 @@ { "level": 0, "relic_id": 61063, + "relic_set_id": 106, "main_affix_id": 4, "sub_affixes": [ { @@ -9068,6 +9971,7 @@ { "level": 0, "relic_id": 61063, + "relic_set_id": 106, "main_affix_id": 5, "sub_affixes": [ { @@ -9097,6 +10001,7 @@ { "level": 0, "relic_id": 61061, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -9121,6 +10026,7 @@ { "level": 0, "relic_id": 61062, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -9145,6 +10051,7 @@ { "level": 0, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -9174,6 +10081,7 @@ { "level": 0, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 5, "sub_affixes": [ { @@ -9203,6 +10111,7 @@ { "level": 15, "relic_id": 61251, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -9232,6 +10141,7 @@ { "level": 15, "relic_id": 61261, + "relic_set_id": 126, "main_affix_id": 1, "sub_affixes": [ { @@ -9261,6 +10171,7 @@ { "level": 0, "relic_id": 61253, + "relic_set_id": 125, "main_affix_id": 6, "sub_affixes": [ { @@ -9285,6 +10196,7 @@ { "level": 0, "relic_id": 61251, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -9314,6 +10226,7 @@ { "level": 0, "relic_id": 61251, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -9343,6 +10256,7 @@ { "level": 0, "relic_id": 61263, + "relic_set_id": 126, "main_affix_id": 1, "sub_affixes": [ { @@ -9367,6 +10281,7 @@ { "level": 0, "relic_id": 61253, + "relic_set_id": 125, "main_affix_id": 6, "sub_affixes": [ { @@ -9391,6 +10306,7 @@ { "level": 0, "relic_id": 63156, + "relic_set_id": 315, "main_affix_id": 2, "sub_affixes": [ { @@ -9415,6 +10331,7 @@ { "level": 0, "relic_id": 63155, + "relic_set_id": 315, "main_affix_id": 4, "sub_affixes": [ { @@ -9444,6 +10361,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -9473,6 +10391,7 @@ { "level": 15, "relic_id": 61104, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -9502,6 +10421,7 @@ { "level": 0, "relic_id": 61104, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { @@ -9531,6 +10451,7 @@ { "level": 0, "relic_id": 61104, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { @@ -9555,6 +10476,7 @@ { "level": 0, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 10, "sub_affixes": [ { @@ -9579,6 +10501,7 @@ { "level": 0, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 2, "sub_affixes": [ { @@ -9608,6 +10531,7 @@ { "level": 0, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -9632,6 +10556,7 @@ { "level": 0, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -9661,6 +10586,7 @@ { "level": 15, "relic_id": 61324, + "relic_set_id": 132, "main_affix_id": 4, "sub_affixes": [ { @@ -9690,6 +10616,7 @@ { "level": 15, "relic_id": 61323, + "relic_set_id": 132, "main_affix_id": 5, "sub_affixes": [ { @@ -9719,6 +10646,7 @@ { "level": 15, "relic_id": 61311, + "relic_set_id": 131, "main_affix_id": 1, "sub_affixes": [ { @@ -9748,6 +10676,7 @@ { "level": 0, "relic_id": 61321, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -9772,6 +10701,7 @@ { "level": 15, "relic_id": 61321, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -9801,6 +10731,7 @@ { "level": 15, "relic_id": 61322, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -9830,6 +10761,7 @@ { "level": 15, "relic_id": 61323, + "relic_set_id": 132, "main_affix_id": 4, "sub_affixes": [ { @@ -9859,6 +10791,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -9888,6 +10821,7 @@ { "level": 15, "relic_id": 61324, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -9917,6 +10851,7 @@ { "level": 0, "relic_id": 61154, + "relic_set_id": 115, "main_affix_id": 2, "sub_affixes": [ { @@ -9941,6 +10876,7 @@ { "level": 15, "relic_id": 61153, + "relic_set_id": 115, "main_affix_id": 4, "sub_affixes": [ { @@ -9970,6 +10906,7 @@ { "level": 15, "relic_id": 61154, + "relic_set_id": 115, "main_affix_id": 4, "sub_affixes": [ { @@ -9999,6 +10936,7 @@ { "level": 0, "relic_id": 61222, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -10023,6 +10961,7 @@ { "level": 15, "relic_id": 61151, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -10052,6 +10991,7 @@ { "level": 15, "relic_id": 61152, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -10081,6 +11021,7 @@ { "level": 0, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 9, "sub_affixes": [ { @@ -10105,6 +11046,7 @@ { "level": 0, "relic_id": 61154, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -10129,6 +11071,7 @@ { "level": 0, "relic_id": 61151, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -10153,6 +11096,7 @@ { "level": 15, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 4, "sub_affixes": [ { @@ -10182,6 +11126,7 @@ { "level": 0, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 4, "sub_affixes": [ { @@ -10206,6 +11151,7 @@ { "level": 0, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 9, "sub_affixes": [ { @@ -10235,6 +11181,7 @@ { "level": 15, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 5, "sub_affixes": [ { @@ -10264,6 +11211,7 @@ { "level": 0, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 4, "sub_affixes": [ { @@ -10288,6 +11236,7 @@ { "level": 15, "relic_id": 61154, + "relic_set_id": 115, "main_affix_id": 2, "sub_affixes": [ { @@ -10317,6 +11266,7 @@ { "level": 15, "relic_id": 61152, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -10346,6 +11296,7 @@ { "level": 15, "relic_id": 61152, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -10375,6 +11326,7 @@ { "level": 0, "relic_id": 61152, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -10399,6 +11351,7 @@ { "level": 15, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 9, "sub_affixes": [ { @@ -10428,6 +11381,7 @@ { "level": 0, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 4, "sub_affixes": [ { @@ -10452,6 +11406,7 @@ { "level": 0, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 5, "sub_affixes": [ { @@ -10476,6 +11431,7 @@ { "level": 0, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 2, "sub_affixes": [ { @@ -10505,6 +11461,7 @@ { "level": 0, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 2, "sub_affixes": [ { @@ -10529,6 +11486,7 @@ { "level": 0, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 3, "sub_affixes": [ { @@ -10553,6 +11511,7 @@ { "level": 0, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 2, "sub_affixes": [ { @@ -10577,6 +11536,7 @@ { "level": 15, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 7, "sub_affixes": [ { @@ -10606,6 +11566,7 @@ { "level": 0, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 5, "sub_affixes": [ { @@ -10630,6 +11591,7 @@ { "level": 15, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -10659,6 +11621,7 @@ { "level": 0, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 5, "sub_affixes": [ { @@ -10683,6 +11646,7 @@ { "level": 0, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 9, "sub_affixes": [ { @@ -10707,6 +11671,7 @@ { "level": 0, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 4, "sub_affixes": [ { @@ -10736,6 +11701,7 @@ { "level": 0, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -10760,6 +11726,7 @@ { "level": 0, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -10789,6 +11756,7 @@ { "level": 15, "relic_id": 61311, + "relic_set_id": 131, "main_affix_id": 1, "sub_affixes": [ { @@ -10818,6 +11786,7 @@ { "level": 15, "relic_id": 61312, + "relic_set_id": 131, "main_affix_id": 1, "sub_affixes": [ { @@ -10847,6 +11816,7 @@ { "level": 15, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 6, "sub_affixes": [ { @@ -10876,6 +11846,7 @@ { "level": 0, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 2, "sub_affixes": [ { @@ -10900,6 +11871,7 @@ { "level": 0, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 5, "sub_affixes": [ { @@ -10929,6 +11901,7 @@ { "level": 0, "relic_id": 61323, + "relic_set_id": 132, "main_affix_id": 5, "sub_affixes": [ { @@ -10953,6 +11926,7 @@ { "level": 15, "relic_id": 61322, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -10982,6 +11956,7 @@ { "level": 0, "relic_id": 61323, + "relic_set_id": 132, "main_affix_id": 4, "sub_affixes": [ { @@ -11006,6 +11981,7 @@ { "level": 0, "relic_id": 61322, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -11030,6 +12006,7 @@ { "level": 0, "relic_id": 61321, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -11054,6 +12031,7 @@ { "level": 15, "relic_id": 61323, + "relic_set_id": 132, "main_affix_id": 4, "sub_affixes": [ { @@ -11083,6 +12061,7 @@ { "level": 0, "relic_id": 61322, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -11107,6 +12086,7 @@ { "level": 0, "relic_id": 61311, + "relic_set_id": 131, "main_affix_id": 1, "sub_affixes": [ { @@ -11131,6 +12111,7 @@ { "level": 15, "relic_id": 61294, + "relic_set_id": 129, "main_affix_id": 4, "sub_affixes": [ { @@ -11160,6 +12141,7 @@ { "level": 0, "relic_id": 61291, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -11184,6 +12166,7 @@ { "level": 0, "relic_id": 61291, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -11208,6 +12191,7 @@ { "level": 0, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 4, "sub_affixes": [ { @@ -11232,6 +12216,7 @@ { "level": 15, "relic_id": 61292, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -11261,6 +12246,7 @@ { "level": 0, "relic_id": 61291, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -11285,6 +12271,7 @@ { "level": 15, "relic_id": 61291, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -11314,6 +12301,7 @@ { "level": 0, "relic_id": 61291, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -11338,6 +12326,7 @@ { "level": 15, "relic_id": 61293, + "relic_set_id": 129, "main_affix_id": 4, "sub_affixes": [ { @@ -11367,6 +12356,7 @@ { "level": 0, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -11391,6 +12381,7 @@ { "level": 0, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 4, "sub_affixes": [ { @@ -11420,6 +12411,7 @@ { "level": 0, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -11449,6 +12441,7 @@ { "level": 15, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -11478,6 +12471,7 @@ { "level": 0, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 3, "sub_affixes": [ { @@ -11502,6 +12496,7 @@ { "level": 0, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 6, "sub_affixes": [ { @@ -11526,6 +12521,7 @@ { "level": 0, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 6, "sub_affixes": [ { @@ -11550,6 +12546,7 @@ { "level": 0, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 6, "sub_affixes": [ { @@ -11574,6 +12571,7 @@ { "level": 0, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 3, "sub_affixes": [ { @@ -11598,6 +12596,7 @@ { "level": 0, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 7, "sub_affixes": [ { @@ -11622,6 +12621,7 @@ { "level": 0, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 8, "sub_affixes": [ { @@ -11646,6 +12646,7 @@ { "level": 15, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 9, "sub_affixes": [ { @@ -11675,6 +12676,7 @@ { "level": 0, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 3, "sub_affixes": [ { @@ -11699,6 +12701,7 @@ { "level": 0, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 4, "sub_affixes": [ { @@ -11723,6 +12726,7 @@ { "level": 0, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 6, "sub_affixes": [ { @@ -11747,6 +12751,7 @@ { "level": 0, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 4, "sub_affixes": [ { @@ -11771,6 +12776,7 @@ { "level": 0, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 1, "sub_affixes": [ { @@ -11795,6 +12801,7 @@ { "level": 0, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 9, "sub_affixes": [ { @@ -11819,6 +12826,7 @@ { "level": 15, "relic_id": 61151, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -11848,6 +12856,7 @@ { "level": 15, "relic_id": 61152, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -11877,6 +12886,7 @@ { "level": 15, "relic_id": 61153, + "relic_set_id": 115, "main_affix_id": 4, "sub_affixes": [ { @@ -11906,6 +12916,7 @@ { "level": 15, "relic_id": 61154, + "relic_set_id": 115, "main_affix_id": 4, "sub_affixes": [ { @@ -11935,6 +12946,7 @@ { "level": 15, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 2, "sub_affixes": [ { @@ -11964,6 +12976,7 @@ { "level": 15, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 4, "sub_affixes": [ { @@ -11993,6 +13006,7 @@ { "level": 15, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 5, "sub_affixes": [ { @@ -12022,6 +13036,7 @@ { "level": 15, "relic_id": 61251, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -12051,6 +13066,7 @@ { "level": 15, "relic_id": 61252, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -12080,6 +13096,7 @@ { "level": 15, "relic_id": 61253, + "relic_set_id": 125, "main_affix_id": 6, "sub_affixes": [ { @@ -12109,6 +13126,7 @@ { "level": 15, "relic_id": 61254, + "relic_set_id": 125, "main_affix_id": 4, "sub_affixes": [ { @@ -12138,6 +13156,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 1, "sub_affixes": [ { @@ -12167,6 +13186,7 @@ { "level": 15, "relic_id": 63176, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -12196,6 +13216,7 @@ { "level": 15, "relic_id": 61151, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -12225,6 +13246,7 @@ { "level": 15, "relic_id": 61152, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -12254,6 +13276,7 @@ { "level": 15, "relic_id": 61153, + "relic_set_id": 115, "main_affix_id": 4, "sub_affixes": [ { @@ -12283,6 +13306,7 @@ { "level": 15, "relic_id": 61154, + "relic_set_id": 115, "main_affix_id": 4, "sub_affixes": [ { @@ -12312,6 +13336,7 @@ { "level": 15, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 4, "sub_affixes": [ { @@ -12341,6 +13366,7 @@ { "level": 15, "relic_id": 61151, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -12370,6 +13396,7 @@ { "level": 15, "relic_id": 61152, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -12399,6 +13426,7 @@ { "level": 15, "relic_id": 61153, + "relic_set_id": 115, "main_affix_id": 4, "sub_affixes": [ { @@ -12428,6 +13456,7 @@ { "level": 15, "relic_id": 61154, + "relic_set_id": 115, "main_affix_id": 2, "sub_affixes": [ { @@ -12457,6 +13486,7 @@ { "level": 15, "relic_id": 61154, + "relic_set_id": 115, "main_affix_id": 2, "sub_affixes": [ { @@ -12486,6 +13516,7 @@ { "level": 15, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 2, "sub_affixes": [ { @@ -12515,6 +13546,7 @@ { "level": 15, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 4, "sub_affixes": [ { @@ -12544,6 +13576,7 @@ { "level": 15, "relic_id": 61224, + "relic_set_id": 122, "main_affix_id": 4, "sub_affixes": [ { @@ -12573,6 +13606,7 @@ { "level": 15, "relic_id": 61222, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -12602,6 +13636,7 @@ { "level": 15, "relic_id": 61101, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -12631,6 +13666,7 @@ { "level": 0, "relic_id": 63035, + "relic_set_id": 303, "main_affix_id": 3, "sub_affixes": [ { @@ -12655,6 +13691,7 @@ { "level": 15, "relic_id": 61243, + "relic_set_id": 124, "main_affix_id": 5, "sub_affixes": [ { @@ -12684,6 +13721,7 @@ { "level": 15, "relic_id": 61244, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -12713,6 +13751,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -12742,6 +13781,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -12771,6 +13811,7 @@ { "level": 15, "relic_id": 61231, + "relic_set_id": 123, "main_affix_id": 1, "sub_affixes": [ { @@ -12800,6 +13841,7 @@ { "level": 15, "relic_id": 61242, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -12829,6 +13871,7 @@ { "level": 15, "relic_id": 61232, + "relic_set_id": 123, "main_affix_id": 1, "sub_affixes": [ { @@ -12858,6 +13901,7 @@ { "level": 15, "relic_id": 61234, + "relic_set_id": 123, "main_affix_id": 4, "sub_affixes": [ { @@ -12887,6 +13931,7 @@ { "level": 15, "relic_id": 61254, + "relic_set_id": 125, "main_affix_id": 4, "sub_affixes": [ { @@ -12916,6 +13961,7 @@ { "level": 15, "relic_id": 61252, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -12945,6 +13991,7 @@ { "level": 15, "relic_id": 63145, + "relic_set_id": 314, "main_affix_id": 6, "sub_affixes": [ { @@ -12974,6 +14021,7 @@ { "level": 15, "relic_id": 61104, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { @@ -13003,6 +14051,7 @@ { "level": 15, "relic_id": 63176, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -13032,6 +14081,7 @@ { "level": 15, "relic_id": 63205, + "relic_set_id": 320, "main_affix_id": 1, "sub_affixes": [ { @@ -13061,6 +14111,7 @@ { "level": 15, "relic_id": 63206, + "relic_set_id": 320, "main_affix_id": 2, "sub_affixes": [ { @@ -13090,6 +14141,7 @@ { "level": 15, "relic_id": 63145, + "relic_set_id": 314, "main_affix_id": 8, "sub_affixes": [ { @@ -13119,6 +14171,7 @@ { "level": 15, "relic_id": 63146, + "relic_set_id": 314, "main_affix_id": 4, "sub_affixes": [ { @@ -13148,6 +14201,7 @@ { "level": 15, "relic_id": 63205, + "relic_set_id": 320, "main_affix_id": 1, "sub_affixes": [ { @@ -13177,6 +14231,7 @@ { "level": 15, "relic_id": 61254, + "relic_set_id": 125, "main_affix_id": 4, "sub_affixes": [ { @@ -13206,6 +14261,7 @@ { "level": 15, "relic_id": 61241, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -13235,6 +14291,7 @@ { "level": 15, "relic_id": 61241, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -13264,6 +14321,7 @@ { "level": 15, "relic_id": 61243, + "relic_set_id": 124, "main_affix_id": 5, "sub_affixes": [ { @@ -13293,6 +14351,7 @@ { "level": 15, "relic_id": 61242, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -13322,6 +14381,7 @@ { "level": 15, "relic_id": 61244, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -13351,6 +14411,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 2, "sub_affixes": [ { @@ -13380,6 +14441,7 @@ { "level": 15, "relic_id": 63176, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -13409,6 +14471,7 @@ { "level": 15, "relic_id": 61213, + "relic_set_id": 121, "main_affix_id": 5, "sub_affixes": [ { @@ -13438,6 +14501,7 @@ { "level": 15, "relic_id": 61221, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -13467,6 +14531,7 @@ { "level": 15, "relic_id": 61214, + "relic_set_id": 121, "main_affix_id": 4, "sub_affixes": [ { @@ -13496,6 +14561,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 6, "sub_affixes": [ { @@ -13525,6 +14591,7 @@ { "level": 15, "relic_id": 63146, + "relic_set_id": 314, "main_affix_id": 2, "sub_affixes": [ { @@ -13554,6 +14621,7 @@ { "level": 15, "relic_id": 63145, + "relic_set_id": 314, "main_affix_id": 8, "sub_affixes": [ { @@ -13583,6 +14651,7 @@ { "level": 15, "relic_id": 63206, + "relic_set_id": 320, "main_affix_id": 2, "sub_affixes": [ { @@ -13612,6 +14681,7 @@ { "level": 15, "relic_id": 61223, + "relic_set_id": 122, "main_affix_id": 4, "sub_affixes": [ { @@ -13641,6 +14711,7 @@ { "level": 15, "relic_id": 61253, + "relic_set_id": 125, "main_affix_id": 6, "sub_affixes": [ { @@ -13670,6 +14741,7 @@ { "level": 15, "relic_id": 63146, + "relic_set_id": 314, "main_affix_id": 4, "sub_affixes": [ { @@ -13699,6 +14771,7 @@ { "level": 15, "relic_id": 61252, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -13728,6 +14801,7 @@ { "level": 15, "relic_id": 61221, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -13757,6 +14831,7 @@ { "level": 15, "relic_id": 61224, + "relic_set_id": 122, "main_affix_id": 2, "sub_affixes": [ { @@ -13786,6 +14861,7 @@ { "level": 15, "relic_id": 61212, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -13815,6 +14891,7 @@ { "level": 15, "relic_id": 61211, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -13844,6 +14921,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 8, "sub_affixes": [ { @@ -13873,6 +14951,7 @@ { "level": 15, "relic_id": 61241, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -13902,6 +14981,7 @@ { "level": 15, "relic_id": 61233, + "relic_set_id": 123, "main_affix_id": 5, "sub_affixes": [ { @@ -13931,6 +15011,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -13960,6 +15041,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -13989,6 +15071,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -14018,6 +15101,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 2, "sub_affixes": [ { @@ -14047,6 +15131,7 @@ { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 4, "sub_affixes": [ { @@ -14076,6 +15161,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -14105,6 +15191,7 @@ { "level": 3, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 2, "sub_affixes": [ { @@ -14134,6 +15221,7 @@ { "level": 6, "relic_id": 61282, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -14163,6 +15251,7 @@ { "level": 15, "relic_id": 63176, + "relic_set_id": 317, "main_affix_id": 4, "sub_affixes": [ { @@ -14192,6 +15281,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 1, "sub_affixes": [ { @@ -14221,6 +15311,7 @@ { "level": 15, "relic_id": 61282, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -14250,6 +15341,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -14279,6 +15371,7 @@ { "level": 15, "relic_id": 63176, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -14308,6 +15401,7 @@ { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -14337,6 +15431,7 @@ { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -14366,6 +15461,7 @@ { "level": 15, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -14395,6 +15491,7 @@ { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 4, "sub_affixes": [ { @@ -14424,6 +15521,7 @@ { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -14453,6 +15551,7 @@ { "level": 15, "relic_id": 61281, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -14482,6 +15581,7 @@ { "level": 0, "relic_id": 63235, + "relic_set_id": 323, "main_affix_id": 6, "sub_affixes": [ { @@ -14506,6 +15606,7 @@ { "level": 15, "relic_id": 61284, + "relic_set_id": 128, "main_affix_id": 4, "sub_affixes": [ { @@ -14535,6 +15636,7 @@ { "level": 0, "relic_id": 63235, + "relic_set_id": 323, "main_affix_id": 6, "sub_affixes": [ { @@ -14559,6 +15661,7 @@ { "level": 15, "relic_id": 63235, + "relic_set_id": 323, "main_affix_id": 6, "sub_affixes": [ { @@ -14588,6 +15691,7 @@ { "level": 15, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -14617,6 +15721,7 @@ { "level": 15, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -14646,6 +15751,7 @@ { "level": 15, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 2, "sub_affixes": [ { @@ -14675,6 +15781,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -14704,6 +15811,7 @@ { "level": 15, "relic_id": 63236, + "relic_set_id": 323, "main_affix_id": 2, "sub_affixes": [ { @@ -14733,6 +15841,7 @@ { "level": 0, "relic_id": 61284, + "relic_set_id": 128, "main_affix_id": 4, "sub_affixes": [ { @@ -14757,6 +15866,7 @@ { "level": 0, "relic_id": 63215, + "relic_set_id": 321, "main_affix_id": 1, "sub_affixes": [ { @@ -14786,6 +15896,7 @@ { "level": 0, "relic_id": 63216, + "relic_set_id": 321, "main_affix_id": 3, "sub_affixes": [ { @@ -14810,6 +15921,7 @@ { "level": 0, "relic_id": 63216, + "relic_set_id": 321, "main_affix_id": 2, "sub_affixes": [ { @@ -14834,6 +15946,7 @@ { "level": 0, "relic_id": 61284, + "relic_set_id": 128, "main_affix_id": 4, "sub_affixes": [ { @@ -14858,6 +15971,7 @@ { "level": 0, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 2, "sub_affixes": [ { @@ -14882,6 +15996,7 @@ { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -14911,6 +16026,7 @@ { "level": 0, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 2, "sub_affixes": [ { @@ -14935,6 +16051,7 @@ { "level": 0, "relic_id": 61284, + "relic_set_id": 128, "main_affix_id": 4, "sub_affixes": [ { @@ -14959,6 +16076,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -14988,6 +16106,7 @@ { "level": 15, "relic_id": 63236, + "relic_set_id": 323, "main_affix_id": 3, "sub_affixes": [ { @@ -15017,6 +16136,7 @@ { "level": 0, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 2, "sub_affixes": [ { @@ -15041,6 +16161,7 @@ { "level": 0, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 2, "sub_affixes": [ { @@ -15065,6 +16186,7 @@ { "level": 0, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -15094,6 +16216,7 @@ { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -15123,6 +16246,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -15152,6 +16276,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -15181,6 +16306,7 @@ { "level": 15, "relic_id": 61023, + "relic_set_id": 102, "main_affix_id": 2, "sub_affixes": [ { @@ -15210,6 +16336,7 @@ { "level": 15, "relic_id": 61024, + "relic_set_id": 102, "main_affix_id": 2, "sub_affixes": [ { @@ -15239,6 +16366,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -15268,6 +16396,7 @@ { "level": 15, "relic_id": 61102, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -15297,6 +16426,7 @@ { "level": 15, "relic_id": 61103, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { @@ -15326,6 +16456,7 @@ { "level": 15, "relic_id": 61103, + "relic_set_id": 110, "main_affix_id": 5, "sub_affixes": [ { @@ -15355,6 +16486,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 4, "sub_affixes": [ { @@ -15384,6 +16516,7 @@ { "level": 15, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 9, "sub_affixes": [ { @@ -15413,6 +16546,7 @@ { "level": 15, "relic_id": 63106, + "relic_set_id": 310, "main_affix_id": 2, "sub_affixes": [ { @@ -15442,6 +16576,7 @@ { "level": 0, "relic_id": 63106, + "relic_set_id": 310, "main_affix_id": 4, "sub_affixes": [ { @@ -15471,6 +16606,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -15500,6 +16636,7 @@ { "level": 15, "relic_id": 61211, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -15529,6 +16666,7 @@ { "level": 15, "relic_id": 61212, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -15558,6 +16696,7 @@ { "level": 15, "relic_id": 61214, + "relic_set_id": 121, "main_affix_id": 2, "sub_affixes": [ { @@ -15587,6 +16726,7 @@ { "level": 15, "relic_id": 61211, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -15616,6 +16756,7 @@ { "level": 15, "relic_id": 61211, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -15645,6 +16786,7 @@ { "level": 15, "relic_id": 61213, + "relic_set_id": 121, "main_affix_id": 2, "sub_affixes": [ { @@ -15674,6 +16816,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -15703,6 +16846,7 @@ { "level": 15, "relic_id": 61214, + "relic_set_id": 121, "main_affix_id": 4, "sub_affixes": [ { @@ -15732,6 +16876,7 @@ { "level": 0, "relic_id": 61211, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -15756,6 +16901,7 @@ { "level": 15, "relic_id": 61213, + "relic_set_id": 121, "main_affix_id": 2, "sub_affixes": [ { @@ -15785,6 +16931,7 @@ { "level": 0, "relic_id": 61224, + "relic_set_id": 122, "main_affix_id": 2, "sub_affixes": [ { @@ -15809,6 +16956,7 @@ { "level": 15, "relic_id": 61212, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -15838,6 +16986,7 @@ { "level": 15, "relic_id": 61213, + "relic_set_id": 121, "main_affix_id": 5, "sub_affixes": [ { @@ -15867,6 +17016,7 @@ { "level": 15, "relic_id": 61213, + "relic_set_id": 121, "main_affix_id": 5, "sub_affixes": [ { @@ -15896,6 +17046,7 @@ { "level": 0, "relic_id": 61212, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -15920,6 +17071,7 @@ { "level": 0, "relic_id": 61212, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -15944,6 +17096,7 @@ { "level": 15, "relic_id": 61104, + "relic_set_id": 110, "main_affix_id": 2, "sub_affixes": [ { @@ -15973,6 +17126,7 @@ { "level": 0, "relic_id": 61022, + "relic_set_id": 102, "main_affix_id": 1, "sub_affixes": [ { @@ -15997,6 +17151,7 @@ { "level": 15, "relic_id": 61223, + "relic_set_id": 122, "main_affix_id": 5, "sub_affixes": [ { @@ -16026,6 +17181,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 1, "sub_affixes": [ { @@ -16055,6 +17211,7 @@ { "level": 15, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 4, "sub_affixes": [ { @@ -16084,6 +17241,7 @@ { "level": 15, "relic_id": 61082, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -16113,6 +17271,7 @@ { "level": 15, "relic_id": 61081, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -16142,6 +17301,7 @@ { "level": 15, "relic_id": 61081, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -16171,6 +17331,7 @@ { "level": 15, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 4, "sub_affixes": [ { @@ -16200,6 +17361,7 @@ { "level": 15, "relic_id": 61082, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -16229,6 +17391,7 @@ { "level": 15, "relic_id": 61103, + "relic_set_id": 110, "main_affix_id": 2, "sub_affixes": [ { @@ -16258,6 +17421,7 @@ { "level": 0, "relic_id": 61021, + "relic_set_id": 102, "main_affix_id": 1, "sub_affixes": [ { @@ -16282,6 +17446,7 @@ { "level": 0, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 5, "sub_affixes": [ { @@ -16311,6 +17476,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 3, "sub_affixes": [ { @@ -16340,6 +17506,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 6, "sub_affixes": [ { @@ -16369,6 +17536,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 4, "sub_affixes": [ { @@ -16398,6 +17566,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -16427,6 +17596,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -16456,6 +17626,7 @@ { "level": 15, "relic_id": 63235, + "relic_set_id": 323, "main_affix_id": 1, "sub_affixes": [ { @@ -16485,6 +17656,7 @@ { "level": 15, "relic_id": 61214, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -16514,6 +17686,7 @@ { "level": 15, "relic_id": 61082, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -16543,6 +17716,7 @@ { "level": 0, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 2, "sub_affixes": [ { @@ -16567,6 +17741,7 @@ { "level": 0, "relic_id": 61062, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -16591,6 +17766,7 @@ { "level": 0, "relic_id": 61061, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -16615,6 +17791,7 @@ { "level": 0, "relic_id": 61081, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -16639,6 +17816,7 @@ { "level": 0, "relic_id": 61062, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -16663,6 +17841,7 @@ { "level": 15, "relic_id": 61162, + "relic_set_id": 116, "main_affix_id": 1, "sub_affixes": [ { @@ -16692,6 +17871,7 @@ { "level": 15, "relic_id": 61161, + "relic_set_id": 116, "main_affix_id": 1, "sub_affixes": [ { @@ -16721,6 +17901,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -16750,6 +17931,7 @@ { "level": 0, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -16774,6 +17956,7 @@ { "level": 0, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -16803,6 +17986,7 @@ { "level": 0, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 4, "sub_affixes": [ { @@ -16827,6 +18011,7 @@ { "level": 0, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 2, "sub_affixes": [ { @@ -16856,6 +18041,7 @@ { "level": 15, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 5, "sub_affixes": [ { @@ -16885,6 +18071,7 @@ { "level": 0, "relic_id": 61062, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -16909,6 +18096,7 @@ { "level": 0, "relic_id": 61082, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -16933,6 +18121,7 @@ { "level": 0, "relic_id": 61061, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -16957,6 +18146,7 @@ { "level": 0, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 3, "sub_affixes": [ { @@ -16981,6 +18171,7 @@ { "level": 15, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 2, "sub_affixes": [ { @@ -17010,6 +18201,7 @@ { "level": 15, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -17039,6 +18231,7 @@ { "level": 0, "relic_id": 61063, + "relic_set_id": 106, "main_affix_id": 5, "sub_affixes": [ { @@ -17063,6 +18256,7 @@ { "level": 0, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 3, "sub_affixes": [ { @@ -17087,6 +18281,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 4, "sub_affixes": [ { @@ -17116,6 +18311,7 @@ { "level": 15, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 4, "sub_affixes": [ { @@ -17145,6 +18341,7 @@ { "level": 0, "relic_id": 61082, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -17169,6 +18366,7 @@ { "level": 0, "relic_id": 61061, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -17198,6 +18396,7 @@ { "level": 15, "relic_id": 61081, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -17227,6 +18426,7 @@ { "level": 0, "relic_id": 61062, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -17251,6 +18451,7 @@ { "level": 0, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 3, "sub_affixes": [ { @@ -17275,6 +18476,7 @@ { "level": 15, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 2, "sub_affixes": [ { @@ -17304,6 +18506,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -17333,6 +18536,7 @@ { "level": 15, "relic_id": 61082, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -17362,6 +18566,7 @@ { "level": 15, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -17391,6 +18596,7 @@ { "level": 15, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 5, "sub_affixes": [ { @@ -17420,6 +18626,7 @@ { "level": 15, "relic_id": 61081, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -17449,6 +18656,7 @@ { "level": 15, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 2, "sub_affixes": [ { @@ -17478,6 +18686,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 4, "sub_affixes": [ { @@ -17507,6 +18716,7 @@ { "level": 0, "relic_id": 61061, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -17531,6 +18741,7 @@ { "level": 0, "relic_id": 61063, + "relic_set_id": 106, "main_affix_id": 4, "sub_affixes": [ { @@ -17560,6 +18771,7 @@ { "level": 15, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 2, "sub_affixes": [ { @@ -17589,6 +18801,7 @@ { "level": 0, "relic_id": 61063, + "relic_set_id": 106, "main_affix_id": 4, "sub_affixes": [ { @@ -17613,6 +18826,7 @@ { "level": 15, "relic_id": 61081, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -17642,6 +18856,7 @@ { "level": 15, "relic_id": 61252, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -17671,6 +18886,7 @@ { "level": 15, "relic_id": 61254, + "relic_set_id": 125, "main_affix_id": 4, "sub_affixes": [ { @@ -17700,6 +18916,7 @@ { "level": 0, "relic_id": 61064, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -17724,6 +18941,7 @@ { "level": 0, "relic_id": 61061, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -17748,6 +18966,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -17777,6 +18996,7 @@ { "level": 0, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 3, "sub_affixes": [ { @@ -17801,6 +19021,7 @@ { "level": 15, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 8, "sub_affixes": [ { @@ -17830,6 +19051,7 @@ { "level": 0, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 6, "sub_affixes": [ { @@ -17859,6 +19081,7 @@ { "level": 0, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 3, "sub_affixes": [ { @@ -17888,6 +19111,7 @@ { "level": 0, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 8, "sub_affixes": [ { @@ -17912,6 +19136,7 @@ { "level": 0, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 5, "sub_affixes": [ { @@ -17941,6 +19166,7 @@ { "level": 0, "relic_id": 61063, + "relic_set_id": 106, "main_affix_id": 4, "sub_affixes": [ { @@ -17965,6 +19191,7 @@ { "level": 0, "relic_id": 61063, + "relic_set_id": 106, "main_affix_id": 5, "sub_affixes": [ { @@ -17994,6 +19221,7 @@ { "level": 0, "relic_id": 61061, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -18018,6 +19246,7 @@ { "level": 0, "relic_id": 61062, + "relic_set_id": 106, "main_affix_id": 1, "sub_affixes": [ { @@ -18042,6 +19271,7 @@ { "level": 0, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -18071,6 +19301,7 @@ { "level": 0, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 5, "sub_affixes": [ { @@ -18100,6 +19331,7 @@ { "level": 15, "relic_id": 61251, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -18129,6 +19361,7 @@ { "level": 15, "relic_id": 61261, + "relic_set_id": 126, "main_affix_id": 1, "sub_affixes": [ { @@ -18158,6 +19391,7 @@ { "level": 15, "relic_id": 61251, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -18187,6 +19421,7 @@ { "level": 0, "relic_id": 61263, + "relic_set_id": 126, "main_affix_id": 1, "sub_affixes": [ { @@ -18211,6 +19446,7 @@ { "level": 15, "relic_id": 61253, + "relic_set_id": 125, "main_affix_id": 6, "sub_affixes": [ { @@ -18240,6 +19476,7 @@ { "level": 0, "relic_id": 63156, + "relic_set_id": 315, "main_affix_id": 2, "sub_affixes": [ { @@ -18264,6 +19501,7 @@ { "level": 0, "relic_id": 63155, + "relic_set_id": 315, "main_affix_id": 4, "sub_affixes": [ { @@ -18293,6 +19531,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -18322,6 +19561,7 @@ { "level": 15, "relic_id": 61104, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -18351,6 +19591,7 @@ { "level": 0, "relic_id": 61104, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { @@ -18380,6 +19621,7 @@ { "level": 0, "relic_id": 61104, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { @@ -18404,6 +19646,7 @@ { "level": 0, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 10, "sub_affixes": [ { @@ -18428,6 +19671,7 @@ { "level": 0, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 2, "sub_affixes": [ { @@ -18457,6 +19701,7 @@ { "level": 0, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -18481,6 +19726,7 @@ { "level": 0, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -18510,6 +19756,7 @@ { "level": 15, "relic_id": 61324, + "relic_set_id": 132, "main_affix_id": 4, "sub_affixes": [ { @@ -18539,6 +19786,7 @@ { "level": 0, "relic_id": 61321, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -18563,6 +19811,7 @@ { "level": 15, "relic_id": 61321, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -18592,6 +19841,7 @@ { "level": 15, "relic_id": 61322, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -18621,6 +19871,7 @@ { "level": 15, "relic_id": 61323, + "relic_set_id": 132, "main_affix_id": 4, "sub_affixes": [ { @@ -18650,6 +19901,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -18679,6 +19931,7 @@ { "level": 15, "relic_id": 61324, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -18708,6 +19961,7 @@ { "level": 0, "relic_id": 61154, + "relic_set_id": 115, "main_affix_id": 2, "sub_affixes": [ { @@ -18732,6 +19986,7 @@ { "level": 15, "relic_id": 61153, + "relic_set_id": 115, "main_affix_id": 4, "sub_affixes": [ { @@ -18761,6 +20016,7 @@ { "level": 15, "relic_id": 61154, + "relic_set_id": 115, "main_affix_id": 4, "sub_affixes": [ { @@ -18790,6 +20046,7 @@ { "level": 0, "relic_id": 61222, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -18814,6 +20071,7 @@ { "level": 15, "relic_id": 61151, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -18843,6 +20101,7 @@ { "level": 15, "relic_id": 61152, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -18872,6 +20131,7 @@ { "level": 0, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 9, "sub_affixes": [ { @@ -18896,6 +20156,7 @@ { "level": 0, "relic_id": 61154, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -18920,6 +20181,7 @@ { "level": 0, "relic_id": 61151, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -18944,6 +20206,7 @@ { "level": 15, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 4, "sub_affixes": [ { @@ -18973,6 +20236,7 @@ { "level": 0, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 4, "sub_affixes": [ { @@ -18997,6 +20261,7 @@ { "level": 0, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 9, "sub_affixes": [ { @@ -19026,6 +20291,7 @@ { "level": 15, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 5, "sub_affixes": [ { @@ -19055,6 +20321,7 @@ { "level": 0, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 4, "sub_affixes": [ { @@ -19079,6 +20346,7 @@ { "level": 15, "relic_id": 61154, + "relic_set_id": 115, "main_affix_id": 2, "sub_affixes": [ { @@ -19108,6 +20376,7 @@ { "level": 15, "relic_id": 61152, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -19137,6 +20406,7 @@ { "level": 15, "relic_id": 61152, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -19166,6 +20436,7 @@ { "level": 0, "relic_id": 61152, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -19190,6 +20461,7 @@ { "level": 15, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 9, "sub_affixes": [ { @@ -19219,6 +20491,7 @@ { "level": 0, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 4, "sub_affixes": [ { @@ -19243,6 +20516,7 @@ { "level": 0, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 5, "sub_affixes": [ { @@ -19267,6 +20541,7 @@ { "level": 0, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 2, "sub_affixes": [ { @@ -19296,6 +20571,7 @@ { "level": 0, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 2, "sub_affixes": [ { @@ -19320,6 +20596,7 @@ { "level": 0, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 3, "sub_affixes": [ { @@ -19344,6 +20621,7 @@ { "level": 0, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 2, "sub_affixes": [ { @@ -19368,6 +20646,7 @@ { "level": 15, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 7, "sub_affixes": [ { @@ -19397,6 +20676,7 @@ { "level": 0, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 5, "sub_affixes": [ { @@ -19421,6 +20701,7 @@ { "level": 15, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -19450,6 +20731,7 @@ { "level": 0, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 5, "sub_affixes": [ { @@ -19474,6 +20756,7 @@ { "level": 0, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 9, "sub_affixes": [ { @@ -19498,6 +20781,7 @@ { "level": 0, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -19522,6 +20806,7 @@ { "level": 6, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -19551,6 +20836,7 @@ { "level": 15, "relic_id": 61311, + "relic_set_id": 131, "main_affix_id": 1, "sub_affixes": [ { @@ -19580,6 +20866,7 @@ { "level": 15, "relic_id": 61312, + "relic_set_id": 131, "main_affix_id": 1, "sub_affixes": [ { @@ -19609,6 +20896,7 @@ { "level": 15, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 6, "sub_affixes": [ { @@ -19638,6 +20926,7 @@ { "level": 0, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 2, "sub_affixes": [ { @@ -19662,6 +20951,7 @@ { "level": 0, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 5, "sub_affixes": [ { @@ -19691,6 +20981,7 @@ { "level": 15, "relic_id": 61322, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -19720,6 +21011,7 @@ { "level": 15, "relic_id": 61323, + "relic_set_id": 132, "main_affix_id": 4, "sub_affixes": [ { @@ -19749,6 +21041,7 @@ { "level": 15, "relic_id": 61322, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -19778,6 +21071,7 @@ { "level": 0, "relic_id": 61311, + "relic_set_id": 131, "main_affix_id": 1, "sub_affixes": [ { @@ -19802,6 +21096,7 @@ { "level": 15, "relic_id": 61294, + "relic_set_id": 129, "main_affix_id": 4, "sub_affixes": [ { @@ -19831,6 +21126,7 @@ { "level": 0, "relic_id": 61291, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -19855,6 +21151,7 @@ { "level": 0, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 4, "sub_affixes": [ { @@ -19879,6 +21176,7 @@ { "level": 15, "relic_id": 61292, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -19908,6 +21206,7 @@ { "level": 15, "relic_id": 61291, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -19937,6 +21236,7 @@ { "level": 15, "relic_id": 61293, + "relic_set_id": 129, "main_affix_id": 4, "sub_affixes": [ { @@ -19966,6 +21266,7 @@ { "level": 0, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -19990,6 +21291,7 @@ { "level": 6, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -20019,6 +21321,7 @@ { "level": 15, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -20048,6 +21351,7 @@ { "level": 0, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 3, "sub_affixes": [ { @@ -20072,6 +21376,7 @@ { "level": 15, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 9, "sub_affixes": [ { @@ -20101,6 +21406,7 @@ { "level": 0, "relic_id": 63246, + "relic_set_id": 324, "main_affix_id": 2, "sub_affixes": [ { @@ -20125,6 +21431,7 @@ { "level": 0, "relic_id": 63245, + "relic_set_id": 324, "main_affix_id": 2, "sub_affixes": [ { @@ -20149,6 +21456,7 @@ { "level": 0, "relic_id": 63246, + "relic_set_id": 324, "main_affix_id": 4, "sub_affixes": [ { @@ -20173,6 +21481,7 @@ { "level": 15, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -20202,6 +21511,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -20226,6 +21536,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -20255,6 +21566,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 2, "sub_affixes": [ { @@ -20279,6 +21591,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 2, "sub_affixes": [ { @@ -20303,6 +21616,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 2, "sub_affixes": [ { @@ -20327,6 +21641,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -20351,6 +21666,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -20375,6 +21691,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 2, "sub_affixes": [ { @@ -20399,6 +21716,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 2, "sub_affixes": [ { @@ -20423,6 +21741,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -20447,6 +21766,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 2, "sub_affixes": [ { @@ -20471,6 +21791,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 2, "sub_affixes": [ { @@ -20495,6 +21816,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 2, "sub_affixes": [ { @@ -20519,6 +21841,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -20543,6 +21866,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -20567,6 +21891,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 2, "sub_affixes": [ { @@ -20591,6 +21916,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -20615,6 +21941,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -20639,6 +21966,7 @@ { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 4, "sub_affixes": [ { @@ -20668,6 +21996,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -20692,6 +22021,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -20716,6 +22046,7 @@ { "level": 0, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -20740,6 +22071,7 @@ { "level": 0, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -20764,6 +22096,7 @@ { "level": 0, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 7, "sub_affixes": [ { @@ -20788,6 +22121,7 @@ { "level": 0, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -20812,6 +22146,7 @@ { "level": 0, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -20836,6 +22171,7 @@ { "level": 0, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 6, "sub_affixes": [ { @@ -20860,6 +22196,7 @@ { "level": 0, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -20884,6 +22221,7 @@ { "level": 0, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -20913,6 +22251,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -20942,6 +22281,7 @@ { "level": 0, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 7, "sub_affixes": [ { @@ -20966,6 +22306,7 @@ { "level": 0, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 6, "sub_affixes": [ { @@ -20990,6 +22331,7 @@ { "level": 0, "relic_id": 51273, + "relic_set_id": 127, "main_affix_id": 4, "sub_affixes": [ { @@ -21009,6 +22351,7 @@ { "level": 0, "relic_id": 51271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -21033,6 +22376,7 @@ { "level": 0, "relic_id": 51282, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -21052,6 +22396,7 @@ { "level": 0, "relic_id": 51273, + "relic_set_id": 127, "main_affix_id": 2, "sub_affixes": [ { @@ -21071,6 +22416,7 @@ { "level": 0, "relic_id": 51271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -21090,6 +22436,7 @@ { "level": 0, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -21114,6 +22461,7 @@ { "level": 0, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -21138,6 +22486,7 @@ { "level": 0, "relic_id": 51282, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -21157,6 +22506,7 @@ { "level": 0, "relic_id": 51273, + "relic_set_id": 127, "main_affix_id": 7, "sub_affixes": [ { @@ -21176,6 +22526,7 @@ { "level": 0, "relic_id": 51274, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -21195,6 +22546,7 @@ { "level": 0, "relic_id": 51273, + "relic_set_id": 127, "main_affix_id": 6, "sub_affixes": [ { @@ -21214,6 +22566,7 @@ { "level": 0, "relic_id": 51273, + "relic_set_id": 127, "main_affix_id": 2, "sub_affixes": [ { @@ -21233,6 +22586,7 @@ { "level": 0, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -21257,6 +22611,7 @@ { "level": 0, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -21281,6 +22636,7 @@ { "level": 0, "relic_id": 51284, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -21300,6 +22656,7 @@ { "level": 0, "relic_id": 51272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -21319,6 +22676,7 @@ { "level": 0, "relic_id": 51281, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -21343,6 +22701,7 @@ { "level": 0, "relic_id": 51282, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -21362,6 +22721,7 @@ { "level": 0, "relic_id": 51272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -21381,6 +22741,7 @@ { "level": 0, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -21405,6 +22766,7 @@ { "level": 0, "relic_id": 61282, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -21429,6 +22791,7 @@ { "level": 0, "relic_id": 51281, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -21448,6 +22811,7 @@ { "level": 0, "relic_id": 51284, + "relic_set_id": 128, "main_affix_id": 2, "sub_affixes": [ { @@ -21467,6 +22831,7 @@ { "level": 0, "relic_id": 51273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -21486,6 +22851,7 @@ { "level": 0, "relic_id": 51271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -21510,6 +22876,7 @@ { "level": 0, "relic_id": 51282, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -21529,6 +22896,7 @@ { "level": 0, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 3, "sub_affixes": [ { @@ -21553,6 +22921,7 @@ { "level": 0, "relic_id": 61281, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -21577,6 +22946,7 @@ { "level": 0, "relic_id": 51272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -21596,6 +22966,7 @@ { "level": 0, "relic_id": 51281, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -21615,6 +22986,7 @@ { "level": 0, "relic_id": 51273, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -21634,6 +23006,7 @@ { "level": 0, "relic_id": 51281, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -21653,6 +23026,7 @@ { "level": 0, "relic_id": 51273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -21672,6 +23046,7 @@ { "level": 0, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 7, "sub_affixes": [ { @@ -21701,6 +23076,7 @@ { "level": 0, "relic_id": 61282, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -21725,6 +23101,7 @@ { "level": 0, "relic_id": 51282, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -21744,6 +23121,7 @@ { "level": 0, "relic_id": 51284, + "relic_set_id": 128, "main_affix_id": 4, "sub_affixes": [ { @@ -21763,6 +23141,7 @@ { "level": 0, "relic_id": 51283, + "relic_set_id": 128, "main_affix_id": 6, "sub_affixes": [ { @@ -21782,6 +23161,7 @@ { "level": 0, "relic_id": 51284, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -21801,6 +23181,7 @@ { "level": 0, "relic_id": 51273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -21820,6 +23201,7 @@ { "level": 0, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -21844,6 +23226,7 @@ { "level": 0, "relic_id": 61281, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -21868,6 +23251,7 @@ { "level": 0, "relic_id": 51271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -21892,6 +23276,7 @@ { "level": 0, "relic_id": 51281, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -21911,6 +23296,7 @@ { "level": 0, "relic_id": 51284, + "relic_set_id": 128, "main_affix_id": 2, "sub_affixes": [ { @@ -21930,6 +23316,7 @@ { "level": 0, "relic_id": 51272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -21949,6 +23336,7 @@ { "level": 0, "relic_id": 51283, + "relic_set_id": 128, "main_affix_id": 6, "sub_affixes": [ { @@ -21968,6 +23356,7 @@ { "level": 0, "relic_id": 61284, + "relic_set_id": 128, "main_affix_id": 3, "sub_affixes": [ { @@ -21992,6 +23381,7 @@ { "level": 0, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 4, "sub_affixes": [ { @@ -22016,6 +23406,7 @@ { "level": 0, "relic_id": 51283, + "relic_set_id": 128, "main_affix_id": 5, "sub_affixes": [ { @@ -22035,6 +23426,7 @@ { "level": 0, "relic_id": 51273, + "relic_set_id": 127, "main_affix_id": 2, "sub_affixes": [ { @@ -22054,6 +23446,7 @@ { "level": 0, "relic_id": 51274, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -22073,6 +23466,7 @@ { "level": 0, "relic_id": 51283, + "relic_set_id": 128, "main_affix_id": 3, "sub_affixes": [ { @@ -22092,6 +23486,7 @@ { "level": 0, "relic_id": 51271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -22111,6 +23506,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 2, "sub_affixes": [ { @@ -22135,6 +23531,7 @@ { "level": 0, "relic_id": 61284, + "relic_set_id": 128, "main_affix_id": 3, "sub_affixes": [ { @@ -22159,6 +23556,7 @@ { "level": 0, "relic_id": 51284, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -22178,6 +23576,7 @@ { "level": 0, "relic_id": 51271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -22197,6 +23596,7 @@ { "level": 0, "relic_id": 51281, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -22216,6 +23616,7 @@ { "level": 0, "relic_id": 51272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -22235,6 +23636,7 @@ { "level": 0, "relic_id": 51283, + "relic_set_id": 128, "main_affix_id": 2, "sub_affixes": [ { @@ -22254,6 +23656,7 @@ { "level": 0, "relic_id": 61281, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -22283,6 +23686,7 @@ { "level": 0, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -22307,6 +23711,7 @@ { "level": 0, "relic_id": 51273, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -22326,6 +23731,7 @@ { "level": 0, "relic_id": 51271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -22345,6 +23751,7 @@ { "level": 0, "relic_id": 51281, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -22369,6 +23776,7 @@ { "level": 0, "relic_id": 51284, + "relic_set_id": 128, "main_affix_id": 3, "sub_affixes": [ { @@ -22393,6 +23801,7 @@ { "level": 0, "relic_id": 51283, + "relic_set_id": 128, "main_affix_id": 7, "sub_affixes": [ { @@ -22412,6 +23821,7 @@ { "level": 0, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 2, "sub_affixes": [ { @@ -22436,6 +23846,7 @@ { "level": 0, "relic_id": 61281, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -22460,6 +23871,7 @@ { "level": 0, "relic_id": 51271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -22479,6 +23891,7 @@ { "level": 0, "relic_id": 51274, + "relic_set_id": 127, "main_affix_id": 4, "sub_affixes": [ { @@ -22498,6 +23911,7 @@ { "level": 0, "relic_id": 51274, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -22517,6 +23931,7 @@ { "level": 0, "relic_id": 51284, + "relic_set_id": 128, "main_affix_id": 2, "sub_affixes": [ { @@ -22536,6 +23951,7 @@ { "level": 0, "relic_id": 51274, + "relic_set_id": 127, "main_affix_id": 2, "sub_affixes": [ { @@ -22555,6 +23971,7 @@ { "level": 0, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 7, "sub_affixes": [ { @@ -22579,6 +23996,7 @@ { "level": 0, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -22603,6 +24021,7 @@ { "level": 0, "relic_id": 51273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -22627,6 +24046,7 @@ { "level": 0, "relic_id": 51271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -22646,6 +24066,7 @@ { "level": 0, "relic_id": 51273, + "relic_set_id": 127, "main_affix_id": 6, "sub_affixes": [ { @@ -22665,6 +24086,7 @@ { "level": 0, "relic_id": 51281, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -22689,6 +24111,7 @@ { "level": 0, "relic_id": 51283, + "relic_set_id": 128, "main_affix_id": 2, "sub_affixes": [ { @@ -22708,6 +24131,7 @@ { "level": 0, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 6, "sub_affixes": [ { @@ -22732,6 +24156,7 @@ { "level": 0, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 3, "sub_affixes": [ { @@ -22756,6 +24181,7 @@ { "level": 15, "relic_id": 61151, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -22785,6 +24211,7 @@ { "level": 15, "relic_id": 61152, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -22814,6 +24241,7 @@ { "level": 15, "relic_id": 61211, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -22843,6 +24271,7 @@ { "level": 15, "relic_id": 61212, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -22872,6 +24301,7 @@ { "level": 15, "relic_id": 61213, + "relic_set_id": 121, "main_affix_id": 5, "sub_affixes": [ { @@ -22901,6 +24331,7 @@ { "level": 15, "relic_id": 61214, + "relic_set_id": 121, "main_affix_id": 4, "sub_affixes": [ { @@ -22930,6 +24361,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -22959,6 +24391,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 1, "sub_affixes": [ { @@ -22988,6 +24421,7 @@ { "level": 15, "relic_id": 61322, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -23017,6 +24451,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 1, "sub_affixes": [ { @@ -23046,6 +24481,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -23075,6 +24511,7 @@ { "level": 15, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -23104,6 +24541,7 @@ { "level": 15, "relic_id": 61301, + "relic_set_id": 130, "main_affix_id": 1, "sub_affixes": [ { @@ -23128,11 +24566,12 @@ } ], "internal_uid": 803, - "equip_avatar": 0 + "equip_avatar": 8009 }, { "level": 15, "relic_id": 61302, + "relic_set_id": 130, "main_affix_id": 1, "sub_affixes": [ { @@ -23157,11 +24596,12 @@ } ], "internal_uid": 804, - "equip_avatar": 0 + "equip_avatar": 8009 }, { "level": 15, "relic_id": 61303, + "relic_set_id": 130, "main_affix_id": 5, "sub_affixes": [ { @@ -23186,11 +24626,12 @@ } ], "internal_uid": 805, - "equip_avatar": 0 + "equip_avatar": 8009 }, { "level": 15, "relic_id": 61304, + "relic_set_id": 130, "main_affix_id": 4, "sub_affixes": [ { @@ -23215,11 +24656,12 @@ } ], "internal_uid": 806, - "equip_avatar": 0 + "equip_avatar": 8009 }, { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 4, "sub_affixes": [ { @@ -23249,6 +24691,7 @@ { "level": 15, "relic_id": 63176, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -23278,6 +24721,7 @@ { "level": 15, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -23307,6 +24751,7 @@ { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -23336,6 +24781,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -23365,6 +24811,7 @@ { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 4, "sub_affixes": [ { @@ -23394,6 +24841,7 @@ { "level": 15, "relic_id": 63235, + "relic_set_id": 323, "main_affix_id": 1, "sub_affixes": [ { @@ -23423,6 +24871,7 @@ { "level": 15, "relic_id": 63236, + "relic_set_id": 323, "main_affix_id": 3, "sub_affixes": [ { @@ -23452,6 +24901,7 @@ { "level": 15, "relic_id": 61291, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -23481,6 +24931,7 @@ { "level": 15, "relic_id": 61292, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -23510,6 +24961,7 @@ { "level": 15, "relic_id": 61293, + "relic_set_id": 129, "main_affix_id": 5, "sub_affixes": [ { @@ -23539,6 +24991,7 @@ { "level": 15, "relic_id": 61294, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -23568,6 +25021,7 @@ { "level": 15, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 7, "sub_affixes": [ { @@ -23597,6 +25051,7 @@ { "level": 15, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -23626,6 +25081,7 @@ { "level": 15, "relic_id": 61241, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -23655,6 +25111,7 @@ { "level": 15, "relic_id": 61242, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -23684,6 +25141,7 @@ { "level": 15, "relic_id": 61243, + "relic_set_id": 124, "main_affix_id": 5, "sub_affixes": [ { @@ -23713,6 +25171,7 @@ { "level": 15, "relic_id": 61244, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -23742,6 +25201,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 9, "sub_affixes": [ { @@ -23771,6 +25231,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -23800,6 +25261,7 @@ { "level": 15, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -23829,6 +25291,7 @@ { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -23858,6 +25321,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -23887,6 +25351,7 @@ { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -23916,6 +25381,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 6, "sub_affixes": [ { @@ -23945,6 +25411,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 2, "sub_affixes": [ { @@ -23974,6 +25441,7 @@ { "level": 15, "relic_id": 61191, + "relic_set_id": 119, "main_affix_id": 1, "sub_affixes": [ { @@ -24003,6 +25471,7 @@ { "level": 15, "relic_id": 61192, + "relic_set_id": 119, "main_affix_id": 1, "sub_affixes": [ { @@ -24032,6 +25501,7 @@ { "level": 15, "relic_id": 61193, + "relic_set_id": 119, "main_affix_id": 2, "sub_affixes": [ { @@ -24061,6 +25531,7 @@ { "level": 15, "relic_id": 61194, + "relic_set_id": 119, "main_affix_id": 4, "sub_affixes": [ { @@ -24090,6 +25561,7 @@ { "level": 15, "relic_id": 63165, + "relic_set_id": 316, "main_affix_id": 2, "sub_affixes": [ { @@ -24119,6 +25591,7 @@ { "level": 15, "relic_id": 63166, + "relic_set_id": 316, "main_affix_id": 1, "sub_affixes": [ { @@ -24148,6 +25621,7 @@ { "level": 15, "relic_id": 61171, + "relic_set_id": 117, "main_affix_id": 1, "sub_affixes": [ { @@ -24177,6 +25651,7 @@ { "level": 15, "relic_id": 61172, + "relic_set_id": 117, "main_affix_id": 1, "sub_affixes": [ { @@ -24206,6 +25681,7 @@ { "level": 15, "relic_id": 61173, + "relic_set_id": 117, "main_affix_id": 4, "sub_affixes": [ { @@ -24235,6 +25711,7 @@ { "level": 15, "relic_id": 61174, + "relic_set_id": 117, "main_affix_id": 2, "sub_affixes": [ { @@ -24264,6 +25741,7 @@ { "level": 15, "relic_id": 63145, + "relic_set_id": 314, "main_affix_id": 7, "sub_affixes": [ { @@ -24293,6 +25771,7 @@ { "level": 15, "relic_id": 63146, + "relic_set_id": 314, "main_affix_id": 4, "sub_affixes": [ { @@ -24322,6 +25801,7 @@ { "level": 15, "relic_id": 61191, + "relic_set_id": 119, "main_affix_id": 1, "sub_affixes": [ { @@ -24351,6 +25831,7 @@ { "level": 15, "relic_id": 61192, + "relic_set_id": 119, "main_affix_id": 1, "sub_affixes": [ { @@ -24380,6 +25861,7 @@ { "level": 15, "relic_id": 61193, + "relic_set_id": 119, "main_affix_id": 1, "sub_affixes": [ { @@ -24409,6 +25891,7 @@ { "level": 15, "relic_id": 61194, + "relic_set_id": 119, "main_affix_id": 4, "sub_affixes": [ { @@ -24438,6 +25921,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 10, "sub_affixes": [ { @@ -24467,6 +25951,7 @@ { "level": 15, "relic_id": 63176, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -24496,6 +25981,7 @@ { "level": 15, "relic_id": 61174, + "relic_set_id": 117, "main_affix_id": 2, "sub_affixes": [ { @@ -24520,11 +26006,12 @@ } ], "internal_uid": 851, - "equip_avatar": 1308 + "equip_avatar": 0 }, { "level": 15, "relic_id": 63145, + "relic_set_id": 314, "main_affix_id": 7, "sub_affixes": [ { @@ -24554,6 +26041,7 @@ { "level": 15, "relic_id": 63146, + "relic_set_id": 314, "main_affix_id": 4, "sub_affixes": [ { @@ -24583,6 +26071,7 @@ { "level": 15, "relic_id": 61172, + "relic_set_id": 117, "main_affix_id": 1, "sub_affixes": [ { @@ -24612,6 +26101,7 @@ { "level": 15, "relic_id": 61173, + "relic_set_id": 117, "main_affix_id": 4, "sub_affixes": [ { @@ -24636,11 +26126,12 @@ } ], "internal_uid": 855, - "equip_avatar": 1308 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61171, + "relic_set_id": 117, "main_affix_id": 1, "sub_affixes": [ { @@ -24665,11 +26156,12 @@ } ], "internal_uid": 856, - "equip_avatar": 1308 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61232, + "relic_set_id": 123, "main_affix_id": 1, "sub_affixes": [ { @@ -24699,6 +26191,7 @@ { "level": 15, "relic_id": 61233, + "relic_set_id": 123, "main_affix_id": 4, "sub_affixes": [ { @@ -24728,6 +26221,7 @@ { "level": 15, "relic_id": 61211, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -24757,6 +26251,7 @@ { "level": 15, "relic_id": 61214, + "relic_set_id": 121, "main_affix_id": 4, "sub_affixes": [ { @@ -24786,6 +26281,7 @@ { "level": 15, "relic_id": 63176, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -24815,6 +26311,7 @@ { "level": 15, "relic_id": 61213, + "relic_set_id": 121, "main_affix_id": 5, "sub_affixes": [ { @@ -24844,6 +26341,7 @@ { "level": 15, "relic_id": 61144, + "relic_set_id": 114, "main_affix_id": 4, "sub_affixes": [ { @@ -24873,6 +26371,7 @@ { "level": 15, "relic_id": 61231, + "relic_set_id": 123, "main_affix_id": 1, "sub_affixes": [ { @@ -24902,6 +26401,7 @@ { "level": 15, "relic_id": 61241, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -24931,6 +26431,7 @@ { "level": 15, "relic_id": 61243, + "relic_set_id": 124, "main_affix_id": 5, "sub_affixes": [ { @@ -24960,6 +26461,7 @@ { "level": 15, "relic_id": 61244, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -24989,6 +26491,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -25018,6 +26521,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -25047,6 +26551,7 @@ { "level": 15, "relic_id": 61242, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -25076,6 +26581,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 10, "sub_affixes": [ { @@ -25105,6 +26611,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 9, "sub_affixes": [ { @@ -25134,6 +26641,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 6, "sub_affixes": [ { @@ -25163,6 +26671,7 @@ { "level": 15, "relic_id": 61241, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -25192,6 +26701,7 @@ { "level": 15, "relic_id": 61242, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -25221,6 +26731,7 @@ { "level": 15, "relic_id": 63165, + "relic_set_id": 316, "main_affix_id": 5, "sub_affixes": [ { @@ -25250,6 +26761,7 @@ { "level": 15, "relic_id": 61193, + "relic_set_id": 119, "main_affix_id": 2, "sub_affixes": [ { @@ -25279,6 +26791,7 @@ { "level": 15, "relic_id": 61142, + "relic_set_id": 114, "main_affix_id": 1, "sub_affixes": [ { @@ -25308,6 +26821,7 @@ { "level": 15, "relic_id": 61194, + "relic_set_id": 119, "main_affix_id": 4, "sub_affixes": [ { @@ -25337,6 +26851,7 @@ { "level": 15, "relic_id": 61193, + "relic_set_id": 119, "main_affix_id": 7, "sub_affixes": [ { @@ -25366,6 +26881,7 @@ { "level": 15, "relic_id": 61252, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -25395,6 +26911,7 @@ { "level": 15, "relic_id": 63205, + "relic_set_id": 320, "main_affix_id": 1, "sub_affixes": [ { @@ -25424,6 +26941,7 @@ { "level": 15, "relic_id": 61253, + "relic_set_id": 125, "main_affix_id": 6, "sub_affixes": [ { @@ -25453,6 +26971,7 @@ { "level": 15, "relic_id": 61251, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -25482,6 +27001,7 @@ { "level": 15, "relic_id": 63206, + "relic_set_id": 320, "main_affix_id": 2, "sub_affixes": [ { @@ -25511,6 +27031,7 @@ { "level": 15, "relic_id": 61254, + "relic_set_id": 125, "main_affix_id": 4, "sub_affixes": [ { @@ -25540,6 +27061,7 @@ { "level": 15, "relic_id": 61212, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -25569,6 +27091,7 @@ { "level": 15, "relic_id": 61234, + "relic_set_id": 123, "main_affix_id": 4, "sub_affixes": [ { @@ -25598,6 +27121,7 @@ { "level": 15, "relic_id": 61141, + "relic_set_id": 114, "main_affix_id": 1, "sub_affixes": [ { @@ -25627,6 +27151,7 @@ { "level": 15, "relic_id": 61143, + "relic_set_id": 114, "main_affix_id": 5, "sub_affixes": [ { @@ -25656,6 +27181,7 @@ { "level": 15, "relic_id": 61263, + "relic_set_id": 126, "main_affix_id": 4, "sub_affixes": [ { @@ -25685,6 +27211,7 @@ { "level": 15, "relic_id": 61264, + "relic_set_id": 126, "main_affix_id": 2, "sub_affixes": [ { @@ -25714,6 +27241,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -25743,6 +27271,7 @@ { "level": 15, "relic_id": 63176, + "relic_set_id": 317, "main_affix_id": 3, "sub_affixes": [ { @@ -25772,6 +27301,7 @@ { "level": 15, "relic_id": 61261, + "relic_set_id": 126, "main_affix_id": 1, "sub_affixes": [ { @@ -25801,6 +27331,7 @@ { "level": 15, "relic_id": 63216, + "relic_set_id": 321, "main_affix_id": 4, "sub_affixes": [ { @@ -25830,6 +27361,7 @@ { "level": 15, "relic_id": 63215, + "relic_set_id": 321, "main_affix_id": 4, "sub_affixes": [ { @@ -25859,6 +27391,7 @@ { "level": 15, "relic_id": 61262, + "relic_set_id": 126, "main_affix_id": 1, "sub_affixes": [ { @@ -25888,6 +27421,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 2, "sub_affixes": [ { @@ -25917,6 +27451,7 @@ { "level": 15, "relic_id": 63226, + "relic_set_id": 322, "main_affix_id": 2, "sub_affixes": [ { @@ -25946,6 +27481,7 @@ { "level": 15, "relic_id": 63226, + "relic_set_id": 322, "main_affix_id": 2, "sub_affixes": [ { @@ -25975,6 +27511,7 @@ { "level": 15, "relic_id": 61162, + "relic_set_id": 116, "main_affix_id": 1, "sub_affixes": [ { @@ -26004,6 +27541,7 @@ { "level": 15, "relic_id": 61161, + "relic_set_id": 116, "main_affix_id": 1, "sub_affixes": [ { @@ -26033,6 +27571,7 @@ { "level": 15, "relic_id": 61162, + "relic_set_id": 116, "main_affix_id": 1, "sub_affixes": [ { @@ -26062,6 +27601,7 @@ { "level": 15, "relic_id": 61161, + "relic_set_id": 116, "main_affix_id": 1, "sub_affixes": [ { @@ -26091,6 +27631,7 @@ { "level": 15, "relic_id": 61163, + "relic_set_id": 116, "main_affix_id": 7, "sub_affixes": [ { @@ -26120,6 +27661,7 @@ { "level": 15, "relic_id": 61164, + "relic_set_id": 116, "main_affix_id": 4, "sub_affixes": [ { @@ -26149,6 +27691,7 @@ { "level": 15, "relic_id": 63225, + "relic_set_id": 322, "main_affix_id": 7, "sub_affixes": [ { @@ -26178,6 +27721,7 @@ { "level": 15, "relic_id": 61164, + "relic_set_id": 116, "main_affix_id": 4, "sub_affixes": [ { @@ -26207,6 +27751,7 @@ { "level": 15, "relic_id": 61163, + "relic_set_id": 116, "main_affix_id": 7, "sub_affixes": [ { @@ -26236,6 +27781,7 @@ { "level": 15, "relic_id": 63225, + "relic_set_id": 322, "main_affix_id": 4, "sub_affixes": [ { @@ -26265,6 +27811,7 @@ { "level": 15, "relic_id": 63176, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -26294,6 +27841,7 @@ { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -26323,6 +27871,7 @@ { "level": 15, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -26352,6 +27901,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -26381,6 +27931,7 @@ { "level": 15, "relic_id": 61284, + "relic_set_id": 128, "main_affix_id": 4, "sub_affixes": [ { @@ -26410,6 +27961,7 @@ { "level": 15, "relic_id": 63176, + "relic_set_id": 317, "main_affix_id": 2, "sub_affixes": [ { @@ -26439,6 +27991,7 @@ { "level": 15, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 2, "sub_affixes": [ { @@ -26468,6 +28021,7 @@ { "level": 15, "relic_id": 61281, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -26497,6 +28051,7 @@ { "level": 15, "relic_id": 61282, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -26526,6 +28081,7 @@ { "level": 15, "relic_id": 63185, + "relic_set_id": 318, "main_affix_id": 7, "sub_affixes": [ { @@ -26555,6 +28111,7 @@ { "level": 15, "relic_id": 63186, + "relic_set_id": 318, "main_affix_id": 4, "sub_affixes": [ { @@ -26584,6 +28141,7 @@ { "level": 15, "relic_id": 63235, + "relic_set_id": 323, "main_affix_id": 1, "sub_affixes": [ { @@ -26613,6 +28171,7 @@ { "level": 15, "relic_id": 63236, + "relic_set_id": 323, "main_affix_id": 3, "sub_affixes": [ { @@ -26642,6 +28201,7 @@ { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 4, "sub_affixes": [ { @@ -26671,6 +28231,7 @@ { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -26700,6 +28261,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -26729,6 +28291,7 @@ { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -26758,6 +28321,7 @@ { "level": 15, "relic_id": 61244, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -26787,6 +28351,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 6, "sub_affixes": [ { @@ -26816,6 +28381,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 2, "sub_affixes": [ { @@ -26845,6 +28411,7 @@ { "level": 15, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -26874,6 +28441,7 @@ { "level": 15, "relic_id": 61101, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -26903,6 +28471,7 @@ { "level": 15, "relic_id": 61192, + "relic_set_id": 119, "main_affix_id": 1, "sub_affixes": [ { @@ -26932,6 +28501,7 @@ { "level": 15, "relic_id": 61194, + "relic_set_id": 119, "main_affix_id": 4, "sub_affixes": [ { @@ -26961,6 +28531,7 @@ { "level": 15, "relic_id": 63166, + "relic_set_id": 316, "main_affix_id": 2, "sub_affixes": [ { @@ -26990,6 +28561,7 @@ { "level": 15, "relic_id": 61192, + "relic_set_id": 119, "main_affix_id": 1, "sub_affixes": [ { @@ -27019,6 +28591,7 @@ { "level": 15, "relic_id": 61102, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -27048,6 +28621,7 @@ { "level": 15, "relic_id": 61103, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -27077,6 +28651,7 @@ { "level": 15, "relic_id": 61193, + "relic_set_id": 119, "main_affix_id": 1, "sub_affixes": [ { @@ -27106,6 +28681,7 @@ { "level": 15, "relic_id": 63166, + "relic_set_id": 316, "main_affix_id": 1, "sub_affixes": [ { @@ -27135,6 +28711,7 @@ { "level": 15, "relic_id": 63166, + "relic_set_id": 316, "main_affix_id": 1, "sub_affixes": [ { @@ -27164,6 +28741,7 @@ { "level": 15, "relic_id": 61104, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { @@ -27193,6 +28771,7 @@ { "level": 15, "relic_id": 61192, + "relic_set_id": 119, "main_affix_id": 1, "sub_affixes": [ { @@ -27222,6 +28801,7 @@ { "level": 15, "relic_id": 61191, + "relic_set_id": 119, "main_affix_id": 1, "sub_affixes": [ { @@ -27251,6 +28831,7 @@ { "level": 15, "relic_id": 61191, + "relic_set_id": 119, "main_affix_id": 1, "sub_affixes": [ { @@ -27280,6 +28861,7 @@ { "level": 15, "relic_id": 63165, + "relic_set_id": 316, "main_affix_id": 5, "sub_affixes": [ { @@ -27309,6 +28891,7 @@ { "level": 15, "relic_id": 61194, + "relic_set_id": 119, "main_affix_id": 4, "sub_affixes": [ { @@ -27338,6 +28921,7 @@ { "level": 15, "relic_id": 63165, + "relic_set_id": 316, "main_affix_id": 2, "sub_affixes": [ { @@ -27367,6 +28951,7 @@ { "level": 15, "relic_id": 61191, + "relic_set_id": 119, "main_affix_id": 1, "sub_affixes": [ { @@ -27396,6 +28981,7 @@ { "level": 14, "relic_id": 61243, + "relic_set_id": 124, "main_affix_id": 5, "sub_affixes": [ { @@ -27425,6 +29011,7 @@ { "level": 15, "relic_id": 61292, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -27454,6 +29041,7 @@ { "level": 15, "relic_id": 61301, + "relic_set_id": 130, "main_affix_id": 1, "sub_affixes": [ { @@ -27483,6 +29071,7 @@ { "level": 15, "relic_id": 61302, + "relic_set_id": 130, "main_affix_id": 1, "sub_affixes": [ { @@ -27512,6 +29101,7 @@ { "level": 15, "relic_id": 61291, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -27541,6 +29131,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 4, "sub_affixes": [ { @@ -27570,6 +29161,7 @@ { "level": 15, "relic_id": 61303, + "relic_set_id": 130, "main_affix_id": 5, "sub_affixes": [ { @@ -27599,6 +29191,7 @@ { "level": 15, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -27628,6 +29221,7 @@ { "level": 15, "relic_id": 61292, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -27657,6 +29251,7 @@ { "level": 15, "relic_id": 61102, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -27686,6 +29281,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -27715,6 +29311,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 4, "sub_affixes": [ { @@ -27744,6 +29341,7 @@ { "level": 15, "relic_id": 61101, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -27773,6 +29371,7 @@ { "level": 15, "relic_id": 61104, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { @@ -27802,6 +29401,7 @@ { "level": 15, "relic_id": 61103, + "relic_set_id": 110, "main_affix_id": 2, "sub_affixes": [ { @@ -27831,6 +29431,7 @@ { "level": 15, "relic_id": 61291, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -27860,6 +29461,7 @@ { "level": 15, "relic_id": 61021, + "relic_set_id": 102, "main_affix_id": 1, "sub_affixes": [ { @@ -27889,6 +29491,7 @@ { "level": 15, "relic_id": 61023, + "relic_set_id": 102, "main_affix_id": 2, "sub_affixes": [ { @@ -27918,6 +29521,7 @@ { "level": 15, "relic_id": 61162, + "relic_set_id": 116, "main_affix_id": 1, "sub_affixes": [ { @@ -27947,6 +29551,7 @@ { "level": 15, "relic_id": 61164, + "relic_set_id": 116, "main_affix_id": 2, "sub_affixes": [ { @@ -27976,6 +29581,7 @@ { "level": 15, "relic_id": 61252, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -28005,6 +29611,7 @@ { "level": 15, "relic_id": 61251, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -28034,6 +29641,7 @@ { "level": 15, "relic_id": 61254, + "relic_set_id": 125, "main_affix_id": 4, "sub_affixes": [ { @@ -28063,6 +29671,7 @@ { "level": 15, "relic_id": 61253, + "relic_set_id": 125, "main_affix_id": 6, "sub_affixes": [ { @@ -28092,6 +29701,7 @@ { "level": 15, "relic_id": 61294, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -28121,6 +29731,7 @@ { "level": 15, "relic_id": 61293, + "relic_set_id": 129, "main_affix_id": 5, "sub_affixes": [ { @@ -28150,6 +29761,7 @@ { "level": 15, "relic_id": 63106, + "relic_set_id": 310, "main_affix_id": 2, "sub_affixes": [ { @@ -28179,6 +29791,7 @@ { "level": 15, "relic_id": 63105, + "relic_set_id": 310, "main_affix_id": 3, "sub_affixes": [ { @@ -28208,6 +29821,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -28237,6 +29851,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 3, "sub_affixes": [ { @@ -28266,6 +29881,7 @@ { "level": 15, "relic_id": 61304, + "relic_set_id": 130, "main_affix_id": 4, "sub_affixes": [ { @@ -28295,6 +29911,7 @@ { "level": 15, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 7, "sub_affixes": [ { @@ -28324,6 +29941,7 @@ { "level": 15, "relic_id": 61313, + "relic_set_id": 131, "main_affix_id": 4, "sub_affixes": [ { @@ -28353,6 +29971,7 @@ { "level": 15, "relic_id": 61314, + "relic_set_id": 131, "main_affix_id": 4, "sub_affixes": [ { @@ -28382,6 +30001,7 @@ { "level": 15, "relic_id": 63276, + "relic_set_id": 327, "main_affix_id": 3, "sub_affixes": [ { @@ -28411,6 +30031,7 @@ { "level": 15, "relic_id": 63275, + "relic_set_id": 327, "main_affix_id": 5, "sub_affixes": [ { @@ -28440,6 +30061,7 @@ { "level": 15, "relic_id": 61312, + "relic_set_id": 131, "main_affix_id": 1, "sub_affixes": [ { @@ -28469,6 +30091,7 @@ { "level": 15, "relic_id": 61311, + "relic_set_id": 131, "main_affix_id": 1, "sub_affixes": [ { @@ -28498,6 +30121,7 @@ { "level": 0, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 4, "sub_affixes": [ { @@ -28522,6 +30146,7 @@ { "level": 0, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -28546,6 +30171,7 @@ { "level": 0, "relic_id": 61312, + "relic_set_id": 131, "main_affix_id": 1, "sub_affixes": [ { @@ -28575,6 +30201,7 @@ { "level": 0, "relic_id": 61321, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -28604,6 +30231,7 @@ { "level": 0, "relic_id": 61313, + "relic_set_id": 131, "main_affix_id": 2, "sub_affixes": [ { @@ -28633,6 +30261,7 @@ { "level": 0, "relic_id": 61323, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -28657,6 +30286,7 @@ { "level": 0, "relic_id": 61314, + "relic_set_id": 131, "main_affix_id": 2, "sub_affixes": [ { @@ -28681,6 +30311,7 @@ { "level": 0, "relic_id": 61313, + "relic_set_id": 131, "main_affix_id": 1, "sub_affixes": [ { @@ -28710,6 +30341,7 @@ { "level": 0, "relic_id": 61321, + "relic_set_id": 132, "main_affix_id": 1, "sub_affixes": [ { @@ -28734,6 +30366,7 @@ { "level": 0, "relic_id": 63276, + "relic_set_id": 327, "main_affix_id": 5, "sub_affixes": [ { @@ -28758,6 +30391,7 @@ { "level": 0, "relic_id": 63275, + "relic_set_id": 327, "main_affix_id": 3, "sub_affixes": [ { @@ -28787,6 +30421,7 @@ { "level": 0, "relic_id": 63286, + "relic_set_id": 328, "main_affix_id": 4, "sub_affixes": [ { @@ -28811,6 +30446,7 @@ { "level": 0, "relic_id": 63275, + "relic_set_id": 327, "main_affix_id": 9, "sub_affixes": [ { @@ -28835,6 +30471,7 @@ { "level": 0, "relic_id": 63286, + "relic_set_id": 328, "main_affix_id": 5, "sub_affixes": [ { @@ -28859,6 +30496,7 @@ { "level": 0, "relic_id": 63276, + "relic_set_id": 327, "main_affix_id": 4, "sub_affixes": [ { @@ -28888,6 +30526,7 @@ { "level": 0, "relic_id": 63286, + "relic_set_id": 328, "main_affix_id": 1, "sub_affixes": [ { @@ -28917,6 +30556,7 @@ { "level": 0, "relic_id": 63285, + "relic_set_id": 328, "main_affix_id": 5, "sub_affixes": [ { @@ -28941,6 +30581,7 @@ { "level": 0, "relic_id": 63276, + "relic_set_id": 327, "main_affix_id": 3, "sub_affixes": [ { @@ -28965,6 +30606,7 @@ { "level": 0, "relic_id": 63286, + "relic_set_id": 328, "main_affix_id": 4, "sub_affixes": [ { @@ -28989,6 +30631,7 @@ { "level": 0, "relic_id": 63276, + "relic_set_id": 327, "main_affix_id": 5, "sub_affixes": [ { @@ -29013,6 +30656,7 @@ { "level": 0, "relic_id": 63286, + "relic_set_id": 328, "main_affix_id": 3, "sub_affixes": [ { @@ -29042,6 +30686,7 @@ { "level": 15, "relic_id": 61331, + "relic_set_id": 133, "main_affix_id": 1, "sub_affixes": [ { @@ -29071,6 +30716,7 @@ { "level": 15, "relic_id": 61332, + "relic_set_id": 133, "main_affix_id": 1, "sub_affixes": [ { @@ -29100,6 +30746,7 @@ { "level": 15, "relic_id": 61333, + "relic_set_id": 133, "main_affix_id": 6, "sub_affixes": [ { @@ -29129,6 +30776,7 @@ { "level": 15, "relic_id": 61334, + "relic_set_id": 133, "main_affix_id": 4, "sub_affixes": [ { @@ -29158,6 +30806,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 3, "sub_affixes": [ { @@ -29187,6 +30836,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 3, "sub_affixes": [ { @@ -29216,6 +30866,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -29245,6 +30896,7 @@ { "level": 15, "relic_id": 61331, + "relic_set_id": 133, "main_affix_id": 1, "sub_affixes": [ { @@ -29274,6 +30926,7 @@ { "level": 15, "relic_id": 61332, + "relic_set_id": 133, "main_affix_id": 1, "sub_affixes": [ { @@ -29303,6 +30956,7 @@ { "level": 15, "relic_id": 61333, + "relic_set_id": 133, "main_affix_id": 4, "sub_affixes": [ { @@ -29332,6 +30986,7 @@ { "level": 15, "relic_id": 61333, + "relic_set_id": 133, "main_affix_id": 4, "sub_affixes": [ { @@ -29361,6 +31016,7 @@ { "level": 15, "relic_id": 61334, + "relic_set_id": 133, "main_affix_id": 4, "sub_affixes": [ { @@ -29390,6 +31046,7 @@ { "level": 15, "relic_id": 63295, + "relic_set_id": 329, "main_affix_id": 1, "sub_affixes": [ { @@ -29419,6 +31076,7 @@ { "level": 15, "relic_id": 63296, + "relic_set_id": 329, "main_affix_id": 3, "sub_affixes": [ { @@ -29448,6 +31106,7 @@ { "level": 15, "relic_id": 63296, + "relic_set_id": 329, "main_affix_id": 3, "sub_affixes": [ { @@ -29477,6 +31136,7 @@ { "level": 15, "relic_id": 61291, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -29506,6 +31166,7 @@ { "level": 15, "relic_id": 61292, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -29535,6 +31196,7 @@ { "level": 15, "relic_id": 61293, + "relic_set_id": 129, "main_affix_id": 4, "sub_affixes": [ { @@ -29564,6 +31226,7 @@ { "level": 15, "relic_id": 61294, + "relic_set_id": 129, "main_affix_id": 4, "sub_affixes": [ { @@ -29593,6 +31256,7 @@ { "level": 15, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 9, "sub_affixes": [ { @@ -29622,6 +31286,7 @@ { "level": 15, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -29651,6 +31316,7 @@ { "level": 15, "relic_id": 61101, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -29680,6 +31346,7 @@ { "level": 15, "relic_id": 61102, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -29709,6 +31376,7 @@ { "level": 15, "relic_id": 61103, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { @@ -29738,6 +31406,7 @@ { "level": 15, "relic_id": 61104, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -29767,6 +31436,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 1, "sub_affixes": [ { @@ -29796,6 +31466,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -29825,6 +31496,7 @@ { "level": 15, "relic_id": 61101, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -29849,11 +31521,12 @@ } ], "internal_uid": 1037, - "equip_avatar": 0 + "equip_avatar": 1308 }, { "level": 15, "relic_id": 61102, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -29878,11 +31551,12 @@ } ], "internal_uid": 1038, - "equip_avatar": 0 + "equip_avatar": 1308 }, { "level": 15, "relic_id": 61103, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { @@ -29912,6 +31586,7 @@ { "level": 15, "relic_id": 61104, + "relic_set_id": 110, "main_affix_id": 2, "sub_affixes": [ { @@ -29941,6 +31616,7 @@ { "level": 15, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 7, "sub_affixes": [ { @@ -29970,6 +31646,7 @@ { "level": 15, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 4, "sub_affixes": [ { @@ -29999,6 +31676,7 @@ { "level": 15, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -30028,6 +31706,7 @@ { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -30057,6 +31736,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -30086,6 +31766,7 @@ { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 4, "sub_affixes": [ { @@ -30115,6 +31796,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -30144,6 +31826,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -30173,6 +31856,7 @@ { "level": 15, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -30202,6 +31886,7 @@ { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -30231,6 +31916,7 @@ { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -30260,6 +31946,7 @@ { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 4, "sub_affixes": [ { @@ -30289,6 +31976,7 @@ { "level": 15, "relic_id": 63235, + "relic_set_id": 323, "main_affix_id": 1, "sub_affixes": [ { @@ -30318,6 +32006,7 @@ { "level": 15, "relic_id": 63236, + "relic_set_id": 323, "main_affix_id": 2, "sub_affixes": [ { @@ -30347,6 +32036,7 @@ { "level": 15, "relic_id": 61211, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -30376,6 +32066,7 @@ { "level": 15, "relic_id": 61252, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -30405,6 +32096,7 @@ { "level": 15, "relic_id": 61213, + "relic_set_id": 121, "main_affix_id": 5, "sub_affixes": [ { @@ -30434,6 +32126,7 @@ { "level": 15, "relic_id": 61254, + "relic_set_id": 125, "main_affix_id": 4, "sub_affixes": [ { @@ -30463,6 +32156,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 6, "sub_affixes": [ { @@ -30492,6 +32186,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 3, "sub_affixes": [ { @@ -30521,6 +32216,7 @@ { "level": 15, "relic_id": 61251, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -30550,6 +32246,7 @@ { "level": 15, "relic_id": 61252, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -30579,6 +32276,7 @@ { "level": 15, "relic_id": 61253, + "relic_set_id": 125, "main_affix_id": 6, "sub_affixes": [ { @@ -30608,6 +32306,7 @@ { "level": 15, "relic_id": 61254, + "relic_set_id": 125, "main_affix_id": 4, "sub_affixes": [ { @@ -30637,6 +32336,7 @@ { "level": 15, "relic_id": 63235, + "relic_set_id": 323, "main_affix_id": 1, "sub_affixes": [ { @@ -30666,6 +32366,7 @@ { "level": 15, "relic_id": 63236, + "relic_set_id": 323, "main_affix_id": 2, "sub_affixes": [ { @@ -30695,6 +32396,7 @@ { "level": 15, "relic_id": 61241, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -30724,6 +32426,7 @@ { "level": 15, "relic_id": 61242, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -30753,6 +32456,7 @@ { "level": 15, "relic_id": 61243, + "relic_set_id": 124, "main_affix_id": 5, "sub_affixes": [ { @@ -30782,6 +32486,7 @@ { "level": 15, "relic_id": 61244, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -30811,6 +32516,7 @@ { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -30840,6 +32546,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -30869,6 +32576,7 @@ { "level": 15, "relic_id": 61211, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -30898,6 +32606,7 @@ { "level": 15, "relic_id": 61252, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -30927,6 +32636,7 @@ { "level": 15, "relic_id": 61213, + "relic_set_id": 121, "main_affix_id": 5, "sub_affixes": [ { @@ -30956,6 +32666,7 @@ { "level": 15, "relic_id": 61254, + "relic_set_id": 125, "main_affix_id": 4, "sub_affixes": [ { @@ -30985,6 +32696,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 6, "sub_affixes": [ { @@ -31014,6 +32726,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 3, "sub_affixes": [ { @@ -31043,6 +32756,7 @@ { "level": 15, "relic_id": 63296, + "relic_set_id": 329, "main_affix_id": 3, "sub_affixes": [ { @@ -31072,6 +32786,7 @@ { "level": 15, "relic_id": 63295, + "relic_set_id": 329, "main_affix_id": 1, "sub_affixes": [ { @@ -31101,6 +32816,7 @@ { "level": 15, "relic_id": 61293, + "relic_set_id": 129, "main_affix_id": 4, "sub_affixes": [ { @@ -31130,6 +32846,7 @@ { "level": 15, "relic_id": 61293, + "relic_set_id": 129, "main_affix_id": 4, "sub_affixes": [ { @@ -31159,6 +32876,7 @@ { "level": 15, "relic_id": 61293, + "relic_set_id": 129, "main_affix_id": 4, "sub_affixes": [ { @@ -31188,6 +32906,7 @@ { "level": 15, "relic_id": 61291, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -31212,11 +32931,12 @@ } ], "internal_uid": 1084, - "equip_avatar": 1513 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61292, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -31241,11 +32961,12 @@ } ], "internal_uid": 1085, - "equip_avatar": 1513 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61293, + "relic_set_id": 129, "main_affix_id": 4, "sub_affixes": [ { @@ -31270,11 +32991,12 @@ } ], "internal_uid": 1086, - "equip_avatar": 1513 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61294, + "relic_set_id": 129, "main_affix_id": 4, "sub_affixes": [ { @@ -31299,11 +33021,12 @@ } ], "internal_uid": 1087, - "equip_avatar": 1513 + "equip_avatar": 0 }, { "level": 15, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 9, "sub_affixes": [ { @@ -31328,11 +33051,12 @@ } ], "internal_uid": 1088, - "equip_avatar": 1513 + "equip_avatar": 0 }, { "level": 15, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -31357,11 +33081,12 @@ } ], "internal_uid": 1089, - "equip_avatar": 1513 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61151, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -31386,11 +33111,12 @@ } ], "internal_uid": 1090, - "equip_avatar": 1504 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61152, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -31415,11 +33141,12 @@ } ], "internal_uid": 1091, - "equip_avatar": 1504 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61153, + "relic_set_id": 115, "main_affix_id": 4, "sub_affixes": [ { @@ -31444,11 +33171,12 @@ } ], "internal_uid": 1092, - "equip_avatar": 1504 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61154, + "relic_set_id": 115, "main_affix_id": 2, "sub_affixes": [ { @@ -31473,11 +33201,12 @@ } ], "internal_uid": 1093, - "equip_avatar": 1504 + "equip_avatar": 0 }, { "level": 15, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 7, "sub_affixes": [ { @@ -31502,11 +33231,12 @@ } ], "internal_uid": 1094, - "equip_avatar": 1504 + "equip_avatar": 0 }, { "level": 15, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 4, "sub_affixes": [ { @@ -31531,11 +33261,12 @@ } ], "internal_uid": 1095, - "equip_avatar": 1504 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61101, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -31560,11 +33291,12 @@ } ], "internal_uid": 1096, - "equip_avatar": 1507 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61102, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -31589,11 +33321,12 @@ } ], "internal_uid": 1097, - "equip_avatar": 1507 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61103, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { @@ -31623,6 +33356,7 @@ { "level": 15, "relic_id": 61104, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -31652,6 +33386,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 1, "sub_affixes": [ { @@ -31676,11 +33411,12 @@ } ], "internal_uid": 1100, - "equip_avatar": 1507 + "equip_avatar": 0 }, { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -31705,11 +33441,12 @@ } ], "internal_uid": 1101, - "equip_avatar": 1507 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -31734,11 +33471,12 @@ } ], "internal_uid": 1102, - "equip_avatar": 1413 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -31763,11 +33501,12 @@ } ], "internal_uid": 1103, - "equip_avatar": 1413 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -31792,11 +33531,12 @@ } ], "internal_uid": 1104, - "equip_avatar": 1413 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 4, "sub_affixes": [ { @@ -31821,11 +33561,12 @@ } ], "internal_uid": 1105, - "equip_avatar": 1413 + "equip_avatar": 0 }, { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -31850,11 +33591,12 @@ } ], "internal_uid": 1106, - "equip_avatar": 1413 + "equip_avatar": 0 }, { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -31879,11 +33621,12 @@ } ], "internal_uid": 1107, - "equip_avatar": 1413 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61271, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -31908,11 +33651,12 @@ } ], "internal_uid": 1108, - "equip_avatar": 1512 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { @@ -31937,11 +33681,12 @@ } ], "internal_uid": 1109, - "equip_avatar": 1512 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61273, + "relic_set_id": 127, "main_affix_id": 5, "sub_affixes": [ { @@ -31966,11 +33711,12 @@ } ], "internal_uid": 1110, - "equip_avatar": 1512 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61274, + "relic_set_id": 127, "main_affix_id": 4, "sub_affixes": [ { @@ -31995,11 +33741,12 @@ } ], "internal_uid": 1111, - "equip_avatar": 1512 + "equip_avatar": 0 }, { "level": 15, "relic_id": 63235, + "relic_set_id": 323, "main_affix_id": 1, "sub_affixes": [ { @@ -32024,11 +33771,12 @@ } ], "internal_uid": 1112, - "equip_avatar": 1512 + "equip_avatar": 0 }, { "level": 15, "relic_id": 63236, + "relic_set_id": 323, "main_affix_id": 2, "sub_affixes": [ { @@ -32053,11 +33801,12 @@ } ], "internal_uid": 1113, - "equip_avatar": 1512 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61211, + "relic_set_id": 121, "main_affix_id": 1, "sub_affixes": [ { @@ -32082,11 +33831,12 @@ } ], "internal_uid": 1114, - "equip_avatar": 1415 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61252, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -32111,11 +33861,12 @@ } ], "internal_uid": 1115, - "equip_avatar": 1415 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61213, + "relic_set_id": 121, "main_affix_id": 5, "sub_affixes": [ { @@ -32140,11 +33891,12 @@ } ], "internal_uid": 1116, - "equip_avatar": 1415 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61254, + "relic_set_id": 125, "main_affix_id": 4, "sub_affixes": [ { @@ -32169,11 +33921,12 @@ } ], "internal_uid": 1117, - "equip_avatar": 1415 + "equip_avatar": 0 }, { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 6, "sub_affixes": [ { @@ -32198,11 +33951,12 @@ } ], "internal_uid": 1118, - "equip_avatar": 1415 + "equip_avatar": 0 }, { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 3, "sub_affixes": [ { @@ -32227,11 +33981,12 @@ } ], "internal_uid": 1119, - "equip_avatar": 1415 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61251, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -32256,11 +34011,12 @@ } ], "internal_uid": 1120, - "equip_avatar": 1409 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61252, + "relic_set_id": 125, "main_affix_id": 1, "sub_affixes": [ { @@ -32285,11 +34041,12 @@ } ], "internal_uid": 1121, - "equip_avatar": 1409 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61253, + "relic_set_id": 125, "main_affix_id": 6, "sub_affixes": [ { @@ -32314,11 +34071,12 @@ } ], "internal_uid": 1122, - "equip_avatar": 1409 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61254, + "relic_set_id": 125, "main_affix_id": 4, "sub_affixes": [ { @@ -32343,11 +34101,12 @@ } ], "internal_uid": 1123, - "equip_avatar": 1409 + "equip_avatar": 0 }, { "level": 15, "relic_id": 63235, + "relic_set_id": 323, "main_affix_id": 1, "sub_affixes": [ { @@ -32372,11 +34131,12 @@ } ], "internal_uid": 1124, - "equip_avatar": 1409 + "equip_avatar": 0 }, { "level": 15, "relic_id": 63236, + "relic_set_id": 323, "main_affix_id": 2, "sub_affixes": [ { @@ -32401,11 +34161,12 @@ } ], "internal_uid": 1125, - "equip_avatar": 1409 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61241, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -32430,11 +34191,12 @@ } ], "internal_uid": 1126, - "equip_avatar": 1407 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61242, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -32459,11 +34221,12 @@ } ], "internal_uid": 1127, - "equip_avatar": 1407 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61243, + "relic_set_id": 124, "main_affix_id": 5, "sub_affixes": [ { @@ -32488,11 +34251,12 @@ } ], "internal_uid": 1128, - "equip_avatar": 1407 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61244, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -32517,11 +34281,12 @@ } ], "internal_uid": 1129, - "equip_avatar": 1407 + "equip_avatar": 0 }, { "level": 15, "relic_id": 63195, + "relic_set_id": 319, "main_affix_id": 1, "sub_affixes": [ { @@ -32546,11 +34311,12 @@ } ], "internal_uid": 1130, - "equip_avatar": 1407 + "equip_avatar": 0 }, { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -32575,11 +34341,12 @@ } ], "internal_uid": 1131, - "equip_avatar": 1407 + "equip_avatar": 0 }, { "level": 15, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 10, "sub_affixes": [ { @@ -32609,6 +34376,7 @@ { "level": 15, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -32638,6 +34406,7 @@ { "level": 15, "relic_id": 61292, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { @@ -32667,6 +34436,7 @@ { "level": 15, "relic_id": 61293, + "relic_set_id": 129, "main_affix_id": 4, "sub_affixes": [ { @@ -32696,6 +34466,7 @@ { "level": 15, "relic_id": 61294, + "relic_set_id": 129, "main_affix_id": 4, "sub_affixes": [ { @@ -32725,6 +34496,7 @@ { "level": 15, "relic_id": 63255, + "relic_set_id": 325, "main_affix_id": 5, "sub_affixes": [ { @@ -32754,6 +34526,7 @@ { "level": 15, "relic_id": 63256, + "relic_set_id": 325, "main_affix_id": 2, "sub_affixes": [ { @@ -32783,6 +34556,7 @@ { "level": 15, "relic_id": 61222, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -32812,6 +34586,7 @@ { "level": 15, "relic_id": 61223, + "relic_set_id": 122, "main_affix_id": 4, "sub_affixes": [ { @@ -32841,6 +34616,7 @@ { "level": 15, "relic_id": 61223, + "relic_set_id": 122, "main_affix_id": 4, "sub_affixes": [ { @@ -32870,6 +34646,7 @@ { "level": 15, "relic_id": 61171, + "relic_set_id": 117, "main_affix_id": 1, "sub_affixes": [ { @@ -32899,6 +34676,7 @@ { "level": 15, "relic_id": 61174, + "relic_set_id": 117, "main_affix_id": 2, "sub_affixes": [ { @@ -32928,6 +34706,7 @@ { "level": 15, "relic_id": 61174, + "relic_set_id": 117, "main_affix_id": 4, "sub_affixes": [ { @@ -32957,6 +34736,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -32986,6 +34766,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -33015,6 +34796,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 9, "sub_affixes": [ { @@ -33044,6 +34826,7 @@ { "level": 15, "relic_id": 61293, + "relic_set_id": 129, "main_affix_id": 5, "sub_affixes": [ { @@ -33073,6 +34856,7 @@ { "level": 15, "relic_id": 61243, + "relic_set_id": 124, "main_affix_id": 5, "sub_affixes": [ { @@ -33102,6 +34886,7 @@ { "level": 15, "relic_id": 63196, + "relic_set_id": 319, "main_affix_id": 3, "sub_affixes": [ { @@ -33131,6 +34916,7 @@ { "level": 15, "relic_id": 61192, + "relic_set_id": 119, "main_affix_id": 1, "sub_affixes": [ { @@ -33160,6 +34946,7 @@ { "level": 15, "relic_id": 61193, + "relic_set_id": 119, "main_affix_id": 2, "sub_affixes": [ { @@ -33189,6 +34976,7 @@ { "level": 15, "relic_id": 61194, + "relic_set_id": 119, "main_affix_id": 4, "sub_affixes": [ { @@ -33218,6 +35006,7 @@ { "level": 15, "relic_id": 63165, + "relic_set_id": 316, "main_affix_id": 5, "sub_affixes": [ { @@ -33247,6 +35036,7 @@ { "level": 15, "relic_id": 63166, + "relic_set_id": 316, "main_affix_id": 1, "sub_affixes": [ { @@ -33276,6 +35066,7 @@ { "level": 15, "relic_id": 61191, + "relic_set_id": 119, "main_affix_id": 1, "sub_affixes": [ { @@ -33305,6 +35096,7 @@ { "level": 15, "relic_id": 61192, + "relic_set_id": 119, "main_affix_id": 1, "sub_affixes": [ { @@ -33334,6 +35126,7 @@ { "level": 15, "relic_id": 61193, + "relic_set_id": 119, "main_affix_id": 2, "sub_affixes": [ { @@ -33363,6 +35156,7 @@ { "level": 15, "relic_id": 61194, + "relic_set_id": 119, "main_affix_id": 4, "sub_affixes": [ { @@ -33392,6 +35186,7 @@ { "level": 15, "relic_id": 63165, + "relic_set_id": 316, "main_affix_id": 2, "sub_affixes": [ { @@ -33421,6 +35216,7 @@ { "level": 15, "relic_id": 63166, + "relic_set_id": 316, "main_affix_id": 1, "sub_affixes": [ { @@ -33450,6 +35246,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 4, "sub_affixes": [ { @@ -33479,6 +35276,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 4, "sub_affixes": [ { @@ -33508,6 +35306,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 4, "sub_affixes": [ { @@ -33537,6 +35336,7 @@ { "level": 15, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -33566,6 +35366,7 @@ { "level": 15, "relic_id": 61082, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -33595,6 +35396,7 @@ { "level": 15, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 4, "sub_affixes": [ { @@ -33624,6 +35426,7 @@ { "level": 15, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 2, "sub_affixes": [ { @@ -33653,6 +35456,7 @@ { "level": 15, "relic_id": 63135, + "relic_set_id": 313, "main_affix_id": 9, "sub_affixes": [ { @@ -33682,6 +35486,7 @@ { "level": 15, "relic_id": 63135, + "relic_set_id": 313, "main_affix_id": 9, "sub_affixes": [ { @@ -33711,6 +35516,7 @@ { "level": 15, "relic_id": 63136, + "relic_set_id": 313, "main_affix_id": 2, "sub_affixes": [ { @@ -33740,6 +35546,7 @@ { "level": 15, "relic_id": 61172, + "relic_set_id": 117, "main_affix_id": 1, "sub_affixes": [ { @@ -33764,11 +35571,12 @@ } ], "internal_uid": 1172, - "equip_avatar": 1308 + "equip_avatar": 0 }, { "level": 15, "relic_id": 61161, + "relic_set_id": 116, "main_affix_id": 1, "sub_affixes": [ { @@ -33798,6 +35606,7 @@ { "level": 15, "relic_id": 61162, + "relic_set_id": 116, "main_affix_id": 1, "sub_affixes": [ { @@ -33827,6 +35636,7 @@ { "level": 15, "relic_id": 61163, + "relic_set_id": 116, "main_affix_id": 7, "sub_affixes": [ { @@ -33856,6 +35666,7 @@ { "level": 15, "relic_id": 61164, + "relic_set_id": 116, "main_affix_id": 2, "sub_affixes": [ { @@ -33885,6 +35696,7 @@ { "level": 15, "relic_id": 63035, + "relic_set_id": 303, "main_affix_id": 8, "sub_affixes": [ { @@ -33914,6 +35726,7 @@ { "level": 15, "relic_id": 63036, + "relic_set_id": 303, "main_affix_id": 4, "sub_affixes": [ { @@ -33943,6 +35756,7 @@ { "level": 15, "relic_id": 61152, + "relic_set_id": 115, "main_affix_id": 1, "sub_affixes": [ { @@ -33972,6 +35786,7 @@ { "level": 15, "relic_id": 61154, + "relic_set_id": 115, "main_affix_id": 2, "sub_affixes": [ { @@ -34001,6 +35816,7 @@ { "level": 15, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 7, "sub_affixes": [ { @@ -34030,6 +35846,7 @@ { "level": 15, "relic_id": 63266, + "relic_set_id": 326, "main_affix_id": 4, "sub_affixes": [ { @@ -34059,6 +35876,7 @@ { "level": 15, "relic_id": 63265, + "relic_set_id": 326, "main_affix_id": 10, "sub_affixes": [ { @@ -34088,6 +35906,7 @@ { "level": 15, "relic_id": 61282, + "relic_set_id": 128, "main_affix_id": 1, "sub_affixes": [ { @@ -34117,6 +35936,7 @@ { "level": 15, "relic_id": 61283, + "relic_set_id": 128, "main_affix_id": 3, "sub_affixes": [ { @@ -34146,6 +35966,7 @@ { "level": 15, "relic_id": 61284, + "relic_set_id": 128, "main_affix_id": 4, "sub_affixes": [ { @@ -34175,6 +35996,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 3, "sub_affixes": [ { @@ -34204,6 +36026,7 @@ { "level": 15, "relic_id": 63176, + "relic_set_id": 317, "main_affix_id": 5, "sub_affixes": [ { @@ -34233,6 +36056,7 @@ { "level": 15, "relic_id": 61221, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -34262,6 +36086,7 @@ { "level": 15, "relic_id": 61222, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -34291,6 +36116,7 @@ { "level": 15, "relic_id": 61223, + "relic_set_id": 122, "main_affix_id": 4, "sub_affixes": [ { @@ -34320,6 +36146,7 @@ { "level": 15, "relic_id": 61224, + "relic_set_id": 122, "main_affix_id": 2, "sub_affixes": [ { @@ -34349,6 +36176,7 @@ { "level": 15, "relic_id": 61224, + "relic_set_id": 122, "main_affix_id": 2, "sub_affixes": [ { @@ -34378,6 +36206,7 @@ { "level": 15, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -34407,6 +36236,7 @@ { "level": 15, "relic_id": 61191, + "relic_set_id": 119, "main_affix_id": 1, "sub_affixes": [ { @@ -34436,6 +36266,7 @@ { "level": 15, "relic_id": 61192, + "relic_set_id": 119, "main_affix_id": 1, "sub_affixes": [ { @@ -34465,6 +36296,7 @@ { "level": 15, "relic_id": 61193, + "relic_set_id": 119, "main_affix_id": 6, "sub_affixes": [ { @@ -34494,6 +36326,7 @@ { "level": 15, "relic_id": 61193, + "relic_set_id": 119, "main_affix_id": 6, "sub_affixes": [ { @@ -34523,6 +36356,7 @@ { "level": 15, "relic_id": 61194, + "relic_set_id": 119, "main_affix_id": 4, "sub_affixes": [ { @@ -34552,6 +36386,7 @@ { "level": 15, "relic_id": 63165, + "relic_set_id": 316, "main_affix_id": 5, "sub_affixes": [ { @@ -34581,6 +36416,7 @@ { "level": 15, "relic_id": 63166, + "relic_set_id": 316, "main_affix_id": 2, "sub_affixes": [ { @@ -34610,6 +36446,7 @@ { "level": 15, "relic_id": 61101, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -34634,11 +36471,12 @@ } ], "internal_uid": 1202, - "equip_avatar": 1220 + "equip_avatar": 1507 }, { "level": 15, "relic_id": 61101, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -34668,6 +36506,7 @@ { "level": 15, "relic_id": 61102, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -34692,11 +36531,12 @@ } ], "internal_uid": 1204, - "equip_avatar": 1220 + "equip_avatar": 1507 }, { "level": 15, "relic_id": 61103, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { @@ -34726,6 +36566,7 @@ { "level": 15, "relic_id": 61104, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { @@ -34755,6 +36596,7 @@ { "level": 15, "relic_id": 63155, + "relic_set_id": 315, "main_affix_id": 8, "sub_affixes": [ { @@ -34784,6 +36626,7 @@ { "level": 15, "relic_id": 63156, + "relic_set_id": 315, "main_affix_id": 4, "sub_affixes": [ { @@ -34813,6 +36656,7 @@ { "level": 15, "relic_id": 61162, + "relic_set_id": 116, "main_affix_id": 1, "sub_affixes": [ { @@ -34842,6 +36686,7 @@ { "level": 15, "relic_id": 61163, + "relic_set_id": 116, "main_affix_id": 7, "sub_affixes": [ { @@ -34871,6 +36716,7 @@ { "level": 15, "relic_id": 61164, + "relic_set_id": 116, "main_affix_id": 4, "sub_affixes": [ { @@ -34900,6 +36746,7 @@ { "level": 15, "relic_id": 63035, + "relic_set_id": 303, "main_affix_id": 5, "sub_affixes": [ { @@ -34929,6 +36776,7 @@ { "level": 15, "relic_id": 63036, + "relic_set_id": 303, "main_affix_id": 2, "sub_affixes": [ { @@ -34958,6 +36806,7 @@ { "level": 15, "relic_id": 61221, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -34987,6 +36836,7 @@ { "level": 15, "relic_id": 61222, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -35016,6 +36866,7 @@ { "level": 15, "relic_id": 61223, + "relic_set_id": 122, "main_affix_id": 4, "sub_affixes": [ { @@ -35045,6 +36896,7 @@ { "level": 15, "relic_id": 61224, + "relic_set_id": 122, "main_affix_id": 2, "sub_affixes": [ { @@ -35074,6 +36926,7 @@ { "level": 15, "relic_id": 61224, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -35103,6 +36956,7 @@ { "level": 15, "relic_id": 61222, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -35132,6 +36986,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 3, "sub_affixes": [ { @@ -35161,6 +37016,7 @@ { "level": 15, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 7, "sub_affixes": [ { @@ -35190,6 +37046,7 @@ { "level": 15, "relic_id": 63086, + "relic_set_id": 308, "main_affix_id": 2, "sub_affixes": [ { @@ -35219,6 +37076,7 @@ { "level": 15, "relic_id": 63085, + "relic_set_id": 308, "main_affix_id": 9, "sub_affixes": [ { @@ -35248,6 +37106,7 @@ { "level": 15, "relic_id": 61081, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -35277,6 +37136,7 @@ { "level": 15, "relic_id": 61082, + "relic_set_id": 108, "main_affix_id": 1, "sub_affixes": [ { @@ -35306,6 +37166,7 @@ { "level": 15, "relic_id": 61083, + "relic_set_id": 108, "main_affix_id": 4, "sub_affixes": [ { @@ -35335,6 +37196,7 @@ { "level": 15, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 2, "sub_affixes": [ { @@ -35364,6 +37226,7 @@ { "level": 15, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -35393,6 +37256,7 @@ { "level": 15, "relic_id": 61101, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -35422,6 +37286,7 @@ { "level": 15, "relic_id": 61102, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -35451,6 +37316,7 @@ { "level": 15, "relic_id": 61103, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { @@ -35480,6 +37346,7 @@ { "level": 15, "relic_id": 61084, + "relic_set_id": 108, "main_affix_id": 2, "sub_affixes": [ { @@ -35509,6 +37376,7 @@ { "level": 15, "relic_id": 61102, + "relic_set_id": 110, "main_affix_id": 1, "sub_affixes": [ { @@ -35538,6 +37406,7 @@ { "level": 15, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -35567,6 +37436,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 4, "sub_affixes": [ { @@ -35596,6 +37466,7 @@ { "level": 15, "relic_id": 61221, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -35625,6 +37496,7 @@ { "level": 15, "relic_id": 61222, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -35654,6 +37526,7 @@ { "level": 15, "relic_id": 61223, + "relic_set_id": 122, "main_affix_id": 4, "sub_affixes": [ { @@ -35683,6 +37556,7 @@ { "level": 15, "relic_id": 61224, + "relic_set_id": 122, "main_affix_id": 2, "sub_affixes": [ { @@ -35712,6 +37586,7 @@ { "level": 15, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -35741,6 +37616,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 4, "sub_affixes": [ { @@ -35770,6 +37646,7 @@ { "level": 15, "relic_id": 61221, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -35799,6 +37676,7 @@ { "level": 15, "relic_id": 61222, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -35828,6 +37706,7 @@ { "level": 15, "relic_id": 61223, + "relic_set_id": 122, "main_affix_id": 4, "sub_affixes": [ { @@ -35857,6 +37736,7 @@ { "level": 15, "relic_id": 61223, + "relic_set_id": 122, "main_affix_id": 4, "sub_affixes": [ { @@ -35886,6 +37766,7 @@ { "level": 15, "relic_id": 61224, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -35915,6 +37796,7 @@ { "level": 15, "relic_id": 61241, + "relic_set_id": 124, "main_affix_id": 1, "sub_affixes": [ { @@ -35944,6 +37826,7 @@ { "level": 15, "relic_id": 61132, + "relic_set_id": 113, "main_affix_id": 1, "sub_affixes": [ { @@ -35973,6 +37856,7 @@ { "level": 15, "relic_id": 61131, + "relic_set_id": 113, "main_affix_id": 1, "sub_affixes": [ { @@ -36002,6 +37886,7 @@ { "level": 15, "relic_id": 61133, + "relic_set_id": 113, "main_affix_id": 1, "sub_affixes": [ { @@ -36031,6 +37916,7 @@ { "level": 15, "relic_id": 61134, + "relic_set_id": 113, "main_affix_id": 4, "sub_affixes": [ { @@ -36060,6 +37946,7 @@ { "level": 15, "relic_id": 63025, + "relic_set_id": 302, "main_affix_id": 1, "sub_affixes": [ { @@ -36089,6 +37976,7 @@ { "level": 15, "relic_id": 63026, + "relic_set_id": 302, "main_affix_id": 2, "sub_affixes": [ { @@ -36118,6 +38006,7 @@ { "level": 15, "relic_id": 61254, + "relic_set_id": 125, "main_affix_id": 4, "sub_affixes": [ { @@ -36147,6 +38036,7 @@ { "level": 15, "relic_id": 61014, + "relic_set_id": 101, "main_affix_id": 4, "sub_affixes": [ { @@ -36176,6 +38066,7 @@ { "level": 15, "relic_id": 61013, + "relic_set_id": 101, "main_affix_id": 6, "sub_affixes": [ { @@ -36205,6 +38096,7 @@ { "level": 15, "relic_id": 61012, + "relic_set_id": 101, "main_affix_id": 1, "sub_affixes": [ { @@ -36234,6 +38126,7 @@ { "level": 15, "relic_id": 61011, + "relic_set_id": 101, "main_affix_id": 1, "sub_affixes": [ { @@ -36263,6 +38156,7 @@ { "level": 15, "relic_id": 63025, + "relic_set_id": 302, "main_affix_id": 1, "sub_affixes": [ { @@ -36292,6 +38186,7 @@ { "level": 15, "relic_id": 63026, + "relic_set_id": 302, "main_affix_id": 2, "sub_affixes": [ { @@ -36321,6 +38216,7 @@ { "level": 15, "relic_id": 61214, + "relic_set_id": 121, "main_affix_id": 4, "sub_affixes": [ { @@ -36350,6 +38246,7 @@ { "level": 15, "relic_id": 63175, + "relic_set_id": 317, "main_affix_id": 1, "sub_affixes": [ { @@ -36379,6 +38276,7 @@ { "level": 15, "relic_id": 61221, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -36408,6 +38306,7 @@ { "level": 15, "relic_id": 61222, + "relic_set_id": 122, "main_affix_id": 1, "sub_affixes": [ { @@ -36437,6 +38336,7 @@ { "level": 15, "relic_id": 61223, + "relic_set_id": 122, "main_affix_id": 4, "sub_affixes": [ { @@ -36466,6 +38366,7 @@ { "level": 15, "relic_id": 63095, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -36495,6 +38396,7 @@ { "level": 15, "relic_id": 63096, + "relic_set_id": 309, "main_affix_id": 2, "sub_affixes": [ { @@ -36524,6 +38426,7 @@ { "level": 15, "relic_id": 61131, + "relic_set_id": 113, "main_affix_id": 1, "sub_affixes": [ { @@ -36553,6 +38456,7 @@ { "level": 15, "relic_id": 61132, + "relic_set_id": 113, "main_affix_id": 1, "sub_affixes": [ { @@ -36582,6 +38486,7 @@ { "level": 15, "relic_id": 61133, + "relic_set_id": 113, "main_affix_id": 4, "sub_affixes": [ { @@ -36611,6 +38516,7 @@ { "level": 15, "relic_id": 61134, + "relic_set_id": 113, "main_affix_id": 2, "sub_affixes": [ { @@ -36640,6 +38546,7 @@ { "level": 15, "relic_id": 63155, + "relic_set_id": 315, "main_affix_id": 4, "sub_affixes": [ { @@ -36669,6 +38576,7 @@ { "level": 15, "relic_id": 63156, + "relic_set_id": 315, "main_affix_id": 2, "sub_affixes": [ { @@ -36697,65 +38605,1178 @@ }, { "level": 15, - "relic_id": 61191, + "relic_id": 61291, + "relic_set_id": 129, "main_affix_id": 1, "sub_affixes": [ { - "sub_affix_id": 1, - "count": 2, + "sub_affix_id": 2, + "count": 1, "step": 2 }, { - "sub_affix_id": 2, + "sub_affix_id": 7, "count": 3, "step": 2 }, { - "sub_affix_id": 3, + "sub_affix_id": 8, "count": 2, - "step": 2 + "step": 3 }, { - "sub_affix_id": 4, + "sub_affix_id": 9, "count": 2, - "step": 2 + "step": 3 } ], "internal_uid": 1274, - "equip_avatar": 7213 + "equip_avatar": 1513 }, { "level": 15, - "relic_id": 61192, + "relic_id": 61292, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 4, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 7, + "count": 3, + "step": 2 + }, + { + "sub_affix_id": 8, + "count": 2, + "step": 2 + }, + { + "sub_affix_id": 9, + "count": 1, + "step": 1 + } + ], + "internal_uid": 1275, + "equip_avatar": 1513 + }, + { + "level": 15, + "relic_id": 61293, + "relic_set_id": 129, + "main_affix_id": 4, + "sub_affixes": [ + { + "sub_affix_id": 7, + "count": 2, + "step": 4 + }, + { + "sub_affix_id": 9, + "count": 2, + "step": 2 + }, + { + "sub_affix_id": 11, + "count": 3, + "step": 3 + }, + { + "sub_affix_id": 12, + "count": 2, + "step": 3 + } + ], + "internal_uid": 1276, + "equip_avatar": 1513 + }, + { + "level": 15, + "relic_id": 61294, + "relic_set_id": 129, + "main_affix_id": 4, + "sub_affixes": [ + { + "sub_affix_id": 3, + "count": 1, + "step": 2 + }, + { + "sub_affix_id": 6, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 8, + "count": 2, + "step": 2 + }, + { + "sub_affix_id": 9, + "count": 3, + "step": 1 + } + ], + "internal_uid": 1277, + "equip_avatar": 1513 + }, + { + "level": 15, + "relic_id": 63255, + "relic_set_id": 325, + "main_affix_id": 9, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 2 + }, + { + "sub_affix_id": 7, + "count": 2, + "step": 2 + }, + { + "sub_affix_id": 9, + "count": 5, + "step": 7 + } + ], + "internal_uid": 1278, + "equip_avatar": 1513 + }, + { + "level": 15, + "relic_id": 63256, + "relic_set_id": 325, + "main_affix_id": 2, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 2, + "step": 2 + }, + { + "sub_affix_id": 7, + "count": 3, + "step": 1 + }, + { + "sub_affix_id": 8, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 11, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1279, + "equip_avatar": 1513 + }, + { + "level": 15, + "relic_id": 61151, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 6, + "count": 1, + "step": 1 + }, + { + "sub_affix_id": 8, + "count": 3, + "step": 2 + }, + { + "sub_affix_id": 9, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 10, + "count": 2, + "step": 4 + } + ], + "internal_uid": 1280, + "equip_avatar": 1504 + }, + { + "level": 15, + "relic_id": 61152, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 4, + "count": 3, + "step": 3 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 2 + }, + { + "sub_affix_id": 8, + "count": 3, + "step": 1 + }, + { + "sub_affix_id": 9, + "count": 2, + "step": 2 + } + ], + "internal_uid": 1281, + "equip_avatar": 1504 + }, + { + "level": 15, + "relic_id": 61153, + "relic_set_id": 115, + "main_affix_id": 4, + "sub_affixes": [ + { + "sub_affix_id": 5, + "count": 3, + "step": 4 + }, + { + "sub_affix_id": 7, + "count": 1, + "step": 1 + }, + { + "sub_affix_id": 9, + "count": 2, + "step": 3 + }, + { + "sub_affix_id": 11, + "count": 2, + "step": 2 + } + ], + "internal_uid": 1282, + "equip_avatar": 1504 + }, + { + "level": 15, + "relic_id": 61154, + "relic_set_id": 115, + "main_affix_id": 2, + "sub_affixes": [ + { + "sub_affix_id": 4, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 8, + "count": 3, + "step": 6 + }, + { + "sub_affix_id": 9, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 12, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1283, + "equip_avatar": 1504 + }, + { + "level": 15, + "relic_id": 63265, + "relic_set_id": 326, + "main_affix_id": 7, + "sub_affixes": [ + { + "sub_affix_id": 6, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 8, + "count": 3, + "step": 4 + }, + { + "sub_affix_id": 9, + "count": 3, + "step": 5 + }, + { + "sub_affix_id": 10, + "count": 1, + "step": 2 + } + ], + "internal_uid": 1284, + "equip_avatar": 1504 + }, + { + "level": 15, + "relic_id": 63266, + "relic_set_id": 326, + "main_affix_id": 4, + "sub_affixes": [ + { + "sub_affix_id": 3, + "count": 1, + "step": 2 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 1 + }, + { + "sub_affix_id": 8, + "count": 4, + "step": 4 + }, + { + "sub_affix_id": 9, + "count": 2, + "step": 2 + } + ], + "internal_uid": 1285, + "equip_avatar": 1504 + }, + { + "level": 15, + "relic_id": 61321, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 4, + "count": 2, + "step": 3 + }, + { + "sub_affix_id": 8, + "count": 1, + "step": 1 + }, + { + "sub_affix_id": 9, + "count": 5, + "step": 7 + }, + { + "sub_affix_id": 10, + "count": 1, + "step": 1 + } + ], + "internal_uid": 1286, + "equip_avatar": 1220 + }, + { + "level": 15, + "relic_id": 61322, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 6, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 8, + "count": 3, + "step": 3 + }, + { + "sub_affix_id": 9, + "count": 3, + "step": 4 + }, + { + "sub_affix_id": 12, + "count": 1, + "step": 1 + } + ], + "internal_uid": 1287, + "equip_avatar": 1220 + }, + { + "level": 15, + "relic_id": 61323, + "relic_set_id": 132, + "main_affix_id": 4, + "sub_affixes": [ + { + "sub_affix_id": 3, + "count": 1, + "step": 1 + }, + { + "sub_affix_id": 4, + "count": 3, + "step": 4 + }, + { + "sub_affix_id": 9, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 11, + "count": 3, + "step": 5 + } + ], + "internal_uid": 1288, + "equip_avatar": 0 + }, + { + "level": 15, + "relic_id": 61324, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 3, + "step": 3 + }, + { + "sub_affix_id": 6, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 8, + "count": 3, + "step": 1 + }, + { + "sub_affix_id": 9, + "count": 1, + "step": 1 + } + ], + "internal_uid": 1289, + "equip_avatar": 0 + }, + { + "level": 15, + "relic_id": 63085, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 3, + "count": 1, + "step": 2 + }, + { + "sub_affix_id": 6, + "count": 1, + "step": 2 + }, + { + "sub_affix_id": 7, + "count": 4, + "step": 7 + }, + { + "sub_affix_id": 9, + "count": 2, + "step": 3 + } + ], + "internal_uid": 1290, + "equip_avatar": 1507 + }, + { + "level": 15, + "relic_id": 63086, + "relic_set_id": 308, + "main_affix_id": 2, + "sub_affixes": [ + { + "sub_affix_id": 4, + "count": 2, + "step": 4 + }, + { + "sub_affix_id": 7, + "count": 2, + "step": 0 + }, + { + "sub_affix_id": 8, + "count": 4, + "step": 5 + }, + { + "sub_affix_id": 9, + "count": 1, + "step": 2 + } + ], + "internal_uid": 1291, + "equip_avatar": 1507 + }, + { + "level": 15, + "relic_id": 61271, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 4, + "count": 3, + "step": 3 + }, + { + "sub_affix_id": 8, + "count": 3, + "step": 6 + }, + { + "sub_affix_id": 9, + "count": 2, + "step": 0 + }, + { + "sub_affix_id": 11, + "count": 1, + "step": 1 + } + ], + "internal_uid": 1292, + "equip_avatar": 1413 + }, + { + "level": 15, + "relic_id": 61272, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 8, + "count": 2, + "step": 2 + }, + { + "sub_affix_id": 9, + "count": 3, + "step": 5 + } + ], + "internal_uid": 1293, + "equip_avatar": 1413 + }, + { + "level": 15, + "relic_id": 61273, + "relic_set_id": 127, + "main_affix_id": 5, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 2, + "step": 2 + }, + { + "sub_affix_id": 4, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 6, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 8, + "count": 3, + "step": 6 + } + ], + "internal_uid": 1294, + "equip_avatar": 1413 + }, + { + "level": 15, + "relic_id": 61274, + "relic_set_id": 127, + "main_affix_id": 4, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 2 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 8, + "count": 3, + "step": 0 + }, + { + "sub_affix_id": 9, + "count": 3, + "step": 2 + } + ], + "internal_uid": 1295, + "equip_avatar": 1413 + }, + { + "level": 15, + "relic_id": 63195, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 3, + "count": 1, + "step": 1 + }, + { + "sub_affix_id": 6, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 7, + "count": 2, + "step": 3 + }, + { + "sub_affix_id": 9, + "count": 4, + "step": 4 + } + ], + "internal_uid": 1296, + "equip_avatar": 1413 + }, + { + "level": 15, + "relic_id": 63196, + "relic_set_id": 319, + "main_affix_id": 3, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 2, + "step": 2 + }, + { + "sub_affix_id": 5, + "count": 2, + "step": 2 + }, + { + "sub_affix_id": 9, + "count": 4, + "step": 3 + } + ], + "internal_uid": 1297, + "equip_avatar": 1413 + }, + { + "level": 15, + "relic_id": 61271, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 3, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 4, + "count": 3, + "step": 4 + }, + { + "sub_affix_id": 7, + "count": 3, + "step": 4 + }, + { + "sub_affix_id": 12, + "count": 1, + "step": 1 + } + ], + "internal_uid": 1298, + "equip_avatar": 1512 + }, + { + "level": 15, + "relic_id": 61272, + "relic_set_id": 127, "main_affix_id": 1, "sub_affixes": [ { "sub_affix_id": 1, "count": 2, + "step": 1 + }, + { + "sub_affix_id": 7, + "count": 4, + "step": 2 + }, + { + "sub_affix_id": 8, + "count": 1, + "step": 1 + }, + { + "sub_affix_id": 9, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1299, + "equip_avatar": 1512 + }, + { + "level": 15, + "relic_id": 61273, + "relic_set_id": 127, + "main_affix_id": 5, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, "step": 2 }, { "sub_affix_id": 2, - "count": 3, - "step": 2 - }, - { - "sub_affix_id": 3, "count": 2, "step": 2 }, { "sub_affix_id": 4, "count": 2, + "step": 3 + }, + { + "sub_affix_id": 7, + "count": 3, "step": 2 } ], - "internal_uid": 1275, - "equip_avatar": 7213 + "internal_uid": 1300, + "equip_avatar": 1512 }, { "level": 15, - "relic_id": 61193, + "relic_id": 61274, + "relic_set_id": 127, + "main_affix_id": 4, + "sub_affixes": [ + { + "sub_affix_id": 8, + "count": 3, + "step": 1 + }, + { + "sub_affix_id": 9, + "count": 1, + "step": 2 + }, + { + "sub_affix_id": 10, + "count": 2, + "step": 4 + }, + { + "sub_affix_id": 11, + "count": 2, + "step": 3 + } + ], + "internal_uid": 1301, + "equip_avatar": 1512 + }, + { + "level": 15, + "relic_id": 63235, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 3, + "count": 1, + "step": 1 + }, + { + "sub_affix_id": 6, + "count": 2, + "step": 0 + }, + { + "sub_affix_id": 7, + "count": 2, + "step": 0 + }, + { + "sub_affix_id": 11, + "count": 3, + "step": 0 + } + ], + "internal_uid": 1302, + "equip_avatar": 1512 + }, + { + "level": 15, + "relic_id": 63236, + "relic_set_id": 323, + "main_affix_id": 2, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 3, + "step": 2 + }, + { + "sub_affix_id": 6, + "count": 1, + "step": 1 + }, + { + "sub_affix_id": 7, + "count": 3, + "step": 1 + }, + { + "sub_affix_id": 10, + "count": 1, + "step": 2 + } + ], + "internal_uid": 1303, + "equip_avatar": 1512 + }, + { + "level": 15, + "relic_id": 61211, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 3, + "count": 2, + "step": 2 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 7, + "count": 3, + "step": 4 + }, + { + "sub_affix_id": 12, + "count": 2, + "step": 0 + } + ], + "internal_uid": 1304, + "equip_avatar": 1415 + }, + { + "level": 15, + "relic_id": 61252, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 3, + "count": 1, + "step": 1 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 7, + "count": 5, + "step": 6 + }, + { + "sub_affix_id": 10, + "count": 2, + "step": 0 + } + ], + "internal_uid": 1305, + "equip_avatar": 1415 + }, + { + "level": 15, + "relic_id": 61213, + "relic_set_id": 121, + "main_affix_id": 5, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 1 + }, + { + "sub_affix_id": 6, + "count": 1, + "step": 2 + }, + { + "sub_affix_id": 7, + "count": 4, + "step": 3 + } + ], + "internal_uid": 1306, + "equip_avatar": 1415 + }, + { + "level": 15, + "relic_id": 61254, + "relic_set_id": 125, + "main_affix_id": 4, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 1 + }, + { + "sub_affix_id": 5, + "count": 2, + "step": 0 + }, + { + "sub_affix_id": 9, + "count": 2, + "step": 4 + }, + { + "sub_affix_id": 11, + "count": 3, + "step": 4 + } + ], + "internal_uid": 1307, + "equip_avatar": 1415 + }, + { + "level": 15, + "relic_id": 63085, + "relic_set_id": 308, + "main_affix_id": 6, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 2 + }, + { + "sub_affix_id": 7, + "count": 3, + "step": 4 + }, + { + "sub_affix_id": 10, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 12, + "count": 2, + "step": 2 + } + ], + "internal_uid": 1308, + "equip_avatar": 1415 + }, + { + "level": 15, + "relic_id": 63086, + "relic_set_id": 308, + "main_affix_id": 3, + "sub_affixes": [ + { + "sub_affix_id": 6, + "count": 2, + "step": 2 + }, + { + "sub_affix_id": 7, + "count": 3, + "step": 3 + }, + { + "sub_affix_id": 8, + "count": 2, + "step": 2 + }, + { + "sub_affix_id": 10, + "count": 1, + "step": 2 + } + ], + "internal_uid": 1309, + "equip_avatar": 1415 + }, + { + "level": 15, + "relic_id": 61251, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 2, + "step": 3 + }, + { + "sub_affix_id": 4, + "count": 2, + "step": 3 + }, + { + "sub_affix_id": 7, + "count": 3, + "step": 3 + }, + { + "sub_affix_id": 9, + "count": 2, + "step": 2 + } + ], + "internal_uid": 1310, + "equip_avatar": 1409 + }, + { + "level": 15, + "relic_id": 61252, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 4, + "count": 3, + "step": 4 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 2 + }, + { + "sub_affix_id": 7, + "count": 3, + "step": 1 + }, + { + "sub_affix_id": 10, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1311, + "equip_avatar": 1409 + }, + { + "level": 15, + "relic_id": 61253, + "relic_set_id": 125, + "main_affix_id": 6, + "sub_affixes": [ + { + "sub_affix_id": 3, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 6, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 7, + "count": 3, + "step": 3 + } + ], + "internal_uid": 1312, + "equip_avatar": 1409 + }, + { + "level": 15, + "relic_id": 61254, + "relic_set_id": 125, "main_affix_id": 4, "sub_affixes": [ { @@ -36764,8 +39785,158 @@ "step": 2 }, { - "sub_affix_id": 2, + "sub_affix_id": 8, + "count": 2, + "step": 4 + }, + { + "sub_affix_id": 9, "count": 3, + "step": 3 + }, + { + "sub_affix_id": 11, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1313, + "equip_avatar": 1409 + }, + { + "level": 15, + "relic_id": 63235, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 6, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 7, + "count": 2, + "step": 3 + }, + { + "sub_affix_id": 9, + "count": 3, + "step": 4 + }, + { + "sub_affix_id": 11, + "count": 1, + "step": 2 + } + ], + "internal_uid": 1314, + "equip_avatar": 1409 + }, + { + "level": 15, + "relic_id": 63236, + "relic_set_id": 323, + "main_affix_id": 2, + "sub_affixes": [ + { + "sub_affix_id": 3, + "count": 3, + "step": 2 + }, + { + "sub_affix_id": 7, + "count": 4, + "step": 6 + }, + { + "sub_affix_id": 11, + "count": 1, + "step": 1 + }, + { + "sub_affix_id": 12, + "count": 1, + "step": 1 + } + ], + "internal_uid": 1315, + "equip_avatar": 1409 + }, + { + "level": 15, + "relic_id": 61241, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 5, + "count": 2, + "step": 2 + }, + { + "sub_affix_id": 8, + "count": 2, + "step": 2 + }, + { + "sub_affix_id": 9, + "count": 3, + "step": 3 + }, + { + "sub_affix_id": 10, + "count": 1, + "step": 2 + } + ], + "internal_uid": 1316, + "equip_avatar": 1407 + }, + { + "level": 15, + "relic_id": 61242, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 8, + "count": 3, + "step": 1 + }, + { + "sub_affix_id": 9, + "count": 3, + "step": 3 + }, + { + "sub_affix_id": 10, + "count": 2, + "step": 2 + }, + { + "sub_affix_id": 12, + "count": 1, + "step": 1 + } + ], + "internal_uid": 1317, + "equip_avatar": 1407 + }, + { + "level": 15, + "relic_id": 61243, + "relic_set_id": 124, + "main_affix_id": 5, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 3, + "step": 2 + }, + { + "sub_affix_id": 2, + "count": 1, "step": 2 }, { @@ -36779,97 +39950,36348 @@ "step": 2 } ], - "internal_uid": 1276, - "equip_avatar": 7213 + "internal_uid": 1318, + "equip_avatar": 1407 }, { "level": 15, - "relic_id": 61194, + "relic_id": 61244, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 1 + }, + { + "sub_affix_id": 8, + "count": 3, + "step": 0 + }, + { + "sub_affix_id": 10, + "count": 3, + "step": 2 + } + ], + "internal_uid": 1319, + "equip_avatar": 1407 + }, + { + "level": 15, + "relic_id": 63195, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 2 + }, + { + "sub_affix_id": 5, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 8, + "count": 3, + "step": 2 + }, + { + "sub_affix_id": 9, + "count": 2, + "step": 3 + } + ], + "internal_uid": 1320, + "equip_avatar": 1407 + }, + { + "level": 15, + "relic_id": 63196, + "relic_set_id": 319, + "main_affix_id": 3, + "sub_affixes": [ + { + "sub_affix_id": 3, + "count": 1, + "step": 2 + }, + { + "sub_affix_id": 8, + "count": 3, + "step": 2 + }, + { + "sub_affix_id": 9, + "count": 3, + "step": 4 + }, + { + "sub_affix_id": 10, + "count": 1, + "step": 2 + } + ], + "internal_uid": 1321, + "equip_avatar": 1407 + }, + { + "level": 15, + "relic_id": 61101, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 4, + "count": 2, + "step": 3 + }, + { + "sub_affix_id": 5, + "count": 2, + "step": 1 + }, + { + "sub_affix_id": 8, + "count": 3, + "step": 5 + }, + { + "sub_affix_id": 9, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1322, + "equip_avatar": 0 + }, + { + "level": 15, + "relic_id": 61102, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 6, + "count": 2, + "step": 3 + }, + { + "sub_affix_id": 8, + "count": 4, + "step": 5 + }, + { + "sub_affix_id": 9, + "count": 1, + "step": 2 + }, + { + "sub_affix_id": 10, + "count": 1, + "step": 2 + } + ], + "internal_uid": 1323, + "equip_avatar": 0 + }, + { + "level": 15, + "relic_id": 61103, + "relic_set_id": 110, "main_affix_id": 4, "sub_affixes": [ { - "sub_affix_id": 1, - "count": 2, - "step": 2 - }, - { - "sub_affix_id": 2, + "sub_affix_id": 5, "count": 3, - "step": 2 + "step": 3 }, { - "sub_affix_id": 3, - "count": 2, - "step": 2 + "sub_affix_id": 6, + "count": 3, + "step": 3 }, { - "sub_affix_id": 4, - "count": 2, - "step": 2 + "sub_affix_id": 9, + "count": 1, + "step": 1 + }, + { + "sub_affix_id": 11, + "count": 1, + "step": 1 } ], - "internal_uid": 1277, - "equip_avatar": 7213 + "internal_uid": 1324, + "equip_avatar": 1308 }, { "level": 15, - "relic_id": 63155, - "main_affix_id": 10, + "relic_id": 61104, + "relic_set_id": 110, + "main_affix_id": 2, "sub_affixes": [ { - "sub_affix_id": 1, - "count": 2, - "step": 2 + "sub_affix_id": 6, + "count": 1, + "step": 0 }, { - "sub_affix_id": 2, - "count": 3, - "step": 2 + "sub_affix_id": 11, + "count": 1, + "step": 0 }, { - "sub_affix_id": 3, - "count": 2, - "step": 2 + "sub_affix_id": 8, + "count": 4, + "step": 6 }, { - "sub_affix_id": 4, + "sub_affix_id": 12, "count": 2, - "step": 2 + "step": 0 } ], - "internal_uid": 1278, - "equip_avatar": 7213 + "internal_uid": 1325, + "equip_avatar": 1308 }, { - "level": 15, - "relic_id": 63156, - "main_affix_id": 4, + "level": 0, + "relic_id": 61031, + "relic_set_id": 103, + "main_affix_id": 1, "sub_affixes": [ - { - "sub_affix_id": 1, - "count": 2, - "step": 2 - }, { "sub_affix_id": 2, - "count": 3, - "step": 2 + "count": 1, + "step": 0 }, { "sub_affix_id": 3, - "count": 2, - "step": 2 + "count": 1, + "step": 0 }, { "sub_affix_id": 4, - "count": 2, - "step": 2 + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 } ], - "internal_uid": 1279, - "equip_avatar": 7213 + "internal_uid": 1326, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61032, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1327, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61033, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1328, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61034, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1329, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61041, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1330, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61042, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1331, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61043, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1332, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61044, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1333, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61051, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1334, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61052, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1335, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61053, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1336, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61054, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1337, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61071, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1338, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61072, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1339, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61073, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1340, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61074, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1341, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61091, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1342, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61092, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1343, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61093, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1344, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61094, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1345, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61111, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1346, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61112, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1347, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61113, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1348, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61114, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1349, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61121, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1350, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61122, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1351, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61123, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1352, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61124, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1353, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61181, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1354, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61182, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1355, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61183, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1356, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61184, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1357, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61201, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1358, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61202, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1359, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61203, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1360, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61204, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1361, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61341, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1362, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61342, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1363, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61343, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1364, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 61344, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1365, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 63015, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1366, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 63016, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1367, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 63045, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1368, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 63046, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1369, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 63055, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1370, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 63056, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1371, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 63065, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1372, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 63066, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1373, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 63075, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1374, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 63076, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1375, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 63115, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1376, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 63116, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1377, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 63125, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1378, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 63126, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1379, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71011, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1380, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71012, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1381, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71013, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1382, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71014, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1383, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71021, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1384, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71022, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1385, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71023, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1386, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71024, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1387, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71031, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1388, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71032, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1389, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71033, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1390, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71034, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1391, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71041, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1392, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71042, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1393, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71043, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1394, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71044, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1395, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71051, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1396, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71052, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1397, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71053, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1398, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71054, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1399, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71061, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1400, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71062, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1401, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71063, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1402, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71064, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1403, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71071, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1404, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71072, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1405, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71073, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1406, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71074, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1407, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71081, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1408, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71082, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1409, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71083, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1410, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71084, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1411, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71091, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1412, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71092, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1413, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71093, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1414, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71094, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1415, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71101, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1416, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71102, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1417, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71103, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1418, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71104, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1419, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71111, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1420, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71112, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1421, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71113, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1422, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71114, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1423, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71121, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1424, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71122, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1425, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71123, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1426, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71124, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1427, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71131, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1428, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71132, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1429, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71133, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1430, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71134, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1431, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71141, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1432, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71142, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1433, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71143, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1434, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71144, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1435, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71151, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1436, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71152, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1437, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71153, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1438, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71154, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1439, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71161, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1440, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71162, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1441, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71163, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1442, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71164, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1443, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71171, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1444, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71172, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1445, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71173, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1446, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71174, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1447, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71181, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1448, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71182, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1449, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71183, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1450, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71184, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1451, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71191, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1452, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71192, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1453, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71193, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1454, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71194, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1455, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71201, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1456, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71202, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1457, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71203, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1458, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71204, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1459, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71211, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1460, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71212, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1461, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71213, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1462, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71214, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1463, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71221, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1464, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71222, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1465, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71223, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1466, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71224, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1467, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71231, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1468, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71232, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1469, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71233, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1470, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71234, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1471, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71241, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1472, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71242, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1473, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71243, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1474, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71244, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1475, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71251, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1476, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71252, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1477, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71253, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1478, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71254, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1479, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71261, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1480, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71262, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1481, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71263, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1482, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71264, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1483, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71271, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1484, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71272, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1485, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71273, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1486, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71274, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1487, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71281, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1488, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71282, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1489, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71283, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1490, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71284, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1491, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71291, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1492, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71292, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1493, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71293, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1494, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71294, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1495, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71301, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1496, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71302, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1497, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71303, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1498, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71304, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1499, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71311, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1500, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71312, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1501, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71313, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1502, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71314, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1503, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71321, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1504, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71322, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1505, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71323, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1506, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71324, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1507, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71331, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1508, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71332, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1509, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71333, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1510, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71334, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1511, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71341, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1512, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71342, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1513, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71343, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1514, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 71344, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1515, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73015, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1516, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73016, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1517, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73025, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1518, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73026, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1519, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73035, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1520, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73036, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1521, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73045, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1522, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73046, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1523, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73055, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1524, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73056, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1525, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73065, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1526, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73066, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1527, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73075, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1528, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73076, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1529, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73085, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1530, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73086, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1531, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73095, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1532, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73096, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1533, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73105, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1534, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73106, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1535, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73115, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1536, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73116, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1537, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73125, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1538, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73126, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1539, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73135, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1540, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73136, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1541, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73145, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1542, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73146, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1543, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73155, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1544, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73156, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1545, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73165, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1546, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73166, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1547, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73175, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1548, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73176, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1549, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73185, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1550, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73186, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1551, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73195, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1552, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73196, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1553, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73205, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1554, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73206, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1555, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73215, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1556, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73216, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1557, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73225, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1558, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73226, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1559, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73235, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1560, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73236, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1561, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73245, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1562, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73246, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1563, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73255, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1564, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73256, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1565, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73265, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1566, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73266, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1567, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73275, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1568, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73276, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1569, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73285, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1570, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 73286, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1571, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81011, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1572, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81012, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1573, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81013, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1574, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81014, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1575, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81021, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1576, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81022, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1577, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81023, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1578, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81024, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1579, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81031, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1580, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81032, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1581, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81033, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1582, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81034, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1583, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81041, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1584, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81042, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1585, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81043, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1586, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81044, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1587, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81051, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1588, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81052, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1589, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81053, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1590, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81054, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1591, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81061, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1592, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81062, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1593, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81063, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1594, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81064, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1595, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81071, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1596, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81072, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1597, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81073, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1598, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81074, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1599, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81081, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1600, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81082, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1601, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81083, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1602, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81084, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1603, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81091, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1604, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81092, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1605, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81093, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1606, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81094, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1607, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81101, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1608, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81102, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1609, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81103, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1610, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81104, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1611, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81111, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1612, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81112, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1613, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81113, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1614, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81114, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1615, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81121, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1616, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81122, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1617, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81123, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1618, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81124, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1619, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81131, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1620, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81132, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1621, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81133, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1622, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81134, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1623, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81141, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1624, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81142, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1625, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81143, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1626, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81144, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1627, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81151, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1628, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81152, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1629, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81153, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1630, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81154, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1631, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81161, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1632, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81162, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1633, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81163, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1634, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81164, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1635, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81171, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1636, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81172, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1637, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81173, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1638, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81174, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1639, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81181, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1640, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81182, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1641, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81183, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1642, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81184, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1643, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81191, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1644, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81192, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1645, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81193, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1646, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81194, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1647, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81201, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1648, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81202, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1649, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81203, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1650, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81204, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1651, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81211, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1652, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81212, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1653, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81213, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1654, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81214, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1655, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81221, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1656, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81222, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1657, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81223, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1658, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81224, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1659, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81231, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1660, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81232, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1661, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81233, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1662, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81234, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1663, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81241, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1664, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81242, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1665, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81243, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1666, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81244, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1667, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81251, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1668, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81252, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1669, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81253, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1670, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81254, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1671, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81261, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1672, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81262, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1673, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81263, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1674, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81264, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1675, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81271, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1676, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81272, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1677, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81273, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1678, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81274, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1679, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81281, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1680, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81282, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1681, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81283, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1682, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81284, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1683, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81291, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1684, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81292, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1685, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81293, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1686, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81294, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1687, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81301, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1688, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81302, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1689, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81303, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1690, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81304, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1691, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81311, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1692, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81312, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1693, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81313, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1694, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81314, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1695, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81321, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1696, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81322, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1697, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81323, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1698, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81324, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1699, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81331, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1700, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81332, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1701, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81333, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1702, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81334, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1703, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81341, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1704, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81342, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1705, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81343, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1706, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 81344, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1707, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83015, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1708, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83016, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1709, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83025, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1710, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83026, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1711, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83035, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1712, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83036, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1713, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83045, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1714, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83046, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1715, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83055, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1716, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83056, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1717, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83065, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1718, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83066, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1719, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83075, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1720, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83076, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1721, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83085, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1722, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83086, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1723, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83095, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1724, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83096, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1725, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83105, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1726, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83106, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1727, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83115, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1728, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83116, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1729, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83125, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1730, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83126, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1731, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83135, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1732, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83136, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1733, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83145, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1734, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83146, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1735, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83155, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1736, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83156, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1737, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83165, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1738, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83166, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1739, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83175, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1740, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83176, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1741, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83185, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1742, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83186, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1743, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83195, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1744, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83196, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1745, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83205, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1746, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83206, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1747, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83215, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1748, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83216, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1749, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83225, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1750, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83226, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1751, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83235, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1752, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83236, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1753, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83245, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1754, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83246, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1755, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83255, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1756, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83256, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1757, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83265, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1758, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83266, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1759, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83275, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1760, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83276, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1761, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83285, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1762, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 83286, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1763, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 85001, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1764, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 85002, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1765, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 85003, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1766, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 85004, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1767, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 85005, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1768, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 85006, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1769, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91011, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1770, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91012, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1771, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91013, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1772, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91014, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1773, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91021, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1774, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91022, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1775, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91023, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1776, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91024, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1777, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91031, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1778, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91032, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1779, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91033, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1780, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91034, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1781, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91041, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1782, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91042, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1783, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91043, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1784, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91044, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1785, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91051, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1786, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91052, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1787, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91053, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1788, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91054, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1789, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91061, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1790, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91062, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1791, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91063, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1792, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91064, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1793, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91071, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1794, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91072, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1795, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91073, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1796, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91074, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1797, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91081, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1798, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91082, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1799, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91083, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1800, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91084, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1801, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91091, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1802, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91092, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1803, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91093, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1804, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91094, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1805, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91101, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1806, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91102, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1807, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91103, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1808, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91104, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1809, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91111, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1810, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91112, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1811, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91113, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1812, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91114, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1813, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91121, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1814, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91122, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1815, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91123, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1816, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91124, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1817, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91131, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1818, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91132, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1819, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91133, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1820, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91134, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1821, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91141, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1822, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91142, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1823, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91143, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1824, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91144, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1825, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91151, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1826, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91152, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1827, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91153, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1828, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91154, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1829, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91161, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1830, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91162, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1831, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91163, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1832, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91164, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1833, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91171, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1834, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91172, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1835, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91173, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1836, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91174, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1837, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91181, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1838, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91182, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1839, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91183, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1840, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91184, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1841, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91191, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1842, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91192, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1843, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91193, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1844, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91194, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1845, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91201, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1846, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91202, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1847, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91203, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1848, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91204, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1849, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91211, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1850, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91212, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1851, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91213, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1852, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91214, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1853, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91221, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1854, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91222, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1855, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91223, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1856, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91224, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1857, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91231, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1858, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91232, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1859, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91233, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1860, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91234, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1861, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91241, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1862, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91242, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1863, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91243, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1864, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91244, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1865, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91251, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1866, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91252, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1867, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91253, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1868, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91254, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1869, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91261, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1870, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91262, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1871, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91263, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1872, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91264, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1873, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91271, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1874, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91272, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1875, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91273, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1876, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91274, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1877, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91281, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1878, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91282, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1879, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91283, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1880, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91284, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1881, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91291, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1882, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91292, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1883, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91293, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1884, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91294, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1885, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91301, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1886, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91302, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1887, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91303, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1888, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91304, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1889, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91311, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1890, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91312, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1891, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91313, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1892, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91314, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1893, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91321, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1894, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91322, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1895, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91323, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1896, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91324, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1897, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91331, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1898, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91332, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1899, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91333, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1900, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91334, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1901, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91341, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1902, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91342, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1903, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91343, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1904, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 91344, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1905, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93015, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1906, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93016, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1907, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93025, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1908, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93026, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1909, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93035, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1910, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93036, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1911, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93045, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1912, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93046, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1913, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93055, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1914, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93056, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1915, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93065, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1916, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93066, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1917, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93075, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1918, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93076, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1919, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93085, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1920, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93086, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1921, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93095, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1922, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93096, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1923, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93105, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1924, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93106, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1925, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93115, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1926, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93116, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1927, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93125, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1928, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93126, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1929, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93135, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1930, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93136, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1931, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93145, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1932, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93146, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1933, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93155, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1934, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93156, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1935, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93165, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1936, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93166, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1937, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93175, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1938, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93176, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1939, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93185, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1940, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93186, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1941, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93195, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1942, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93196, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1943, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93205, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1944, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93206, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1945, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93215, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1946, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93216, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1947, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93225, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1948, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93226, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1949, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93235, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1950, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93236, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1951, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93245, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1952, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93246, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1953, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93255, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1954, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93256, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1955, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93265, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1956, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93266, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1957, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93275, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1958, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93276, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1959, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93285, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1960, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 93286, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1961, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31011, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1962, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31012, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1963, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31013, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1964, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31014, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1965, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31021, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1966, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31022, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1967, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31023, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1968, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31024, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1969, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31031, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1970, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31032, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1971, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31033, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1972, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31034, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1973, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31041, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1974, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31042, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1975, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31043, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1976, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31044, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1977, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31051, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1978, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31052, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1979, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31053, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1980, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31054, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1981, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31061, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1982, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31062, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1983, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31063, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1984, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31064, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1985, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31071, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1986, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31072, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1987, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31073, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1988, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31074, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1989, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31081, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1990, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31082, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1991, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31083, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1992, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31084, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1993, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31091, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1994, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31092, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1995, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31093, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1996, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31094, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1997, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31101, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1998, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31102, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 1999, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31103, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2000, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31104, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2001, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31111, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2002, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31112, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2003, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31113, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2004, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31114, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2005, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31121, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2006, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31122, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2007, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31123, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2008, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31124, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2009, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31131, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2010, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31132, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2011, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31133, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2012, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31134, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2013, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31141, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2014, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31142, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2015, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31143, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2016, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31144, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2017, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31151, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2018, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31152, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2019, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31153, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2020, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31154, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2021, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31161, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2022, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31162, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2023, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31163, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2024, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31164, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2025, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31171, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2026, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31172, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2027, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31173, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2028, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31174, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2029, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31181, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2030, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31182, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2031, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31183, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2032, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31184, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2033, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31191, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2034, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31192, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2035, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31193, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2036, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31194, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2037, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31201, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2038, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31202, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2039, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31203, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2040, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31204, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2041, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31211, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2042, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31212, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2043, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31213, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2044, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31214, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2045, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31221, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2046, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31222, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2047, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31223, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2048, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31224, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2049, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31231, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2050, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31232, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2051, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31233, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2052, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31234, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2053, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31241, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2054, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31242, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2055, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31243, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2056, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31244, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2057, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31251, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2058, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31252, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2059, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31253, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2060, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31254, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2061, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31261, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2062, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31262, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2063, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31263, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2064, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31264, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2065, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31271, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2066, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31272, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2067, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31273, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2068, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31274, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2069, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31281, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2070, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31282, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2071, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31283, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2072, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31284, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2073, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31291, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2074, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31292, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2075, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31293, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2076, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31294, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2077, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31301, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2078, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31302, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2079, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31303, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2080, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31304, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2081, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31311, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2082, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31312, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2083, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31313, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2084, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31314, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2085, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31321, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2086, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31322, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2087, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31323, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2088, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31324, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2089, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31331, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2090, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31332, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2091, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31333, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2092, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31334, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2093, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31341, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2094, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31342, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2095, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31343, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2096, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 31344, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2097, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33015, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2098, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33016, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2099, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33025, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2100, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33026, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2101, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33035, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2102, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33036, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2103, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33045, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2104, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33046, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2105, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33055, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2106, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33056, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2107, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33065, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2108, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33066, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2109, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33075, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2110, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33076, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2111, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33085, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2112, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33086, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2113, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33095, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2114, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33096, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2115, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33105, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2116, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33106, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2117, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33115, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2118, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33116, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2119, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33125, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2120, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33126, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2121, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33135, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2122, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33136, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2123, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33145, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2124, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33146, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2125, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33155, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2126, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33156, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2127, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33165, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2128, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33166, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2129, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33175, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2130, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33176, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2131, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33185, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2132, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33186, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2133, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33195, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2134, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33196, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2135, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33205, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2136, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33206, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2137, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33215, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2138, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33216, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2139, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33225, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2140, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33226, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2141, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33235, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2142, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33236, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2143, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33245, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2144, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33246, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2145, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33255, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2146, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33256, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2147, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33265, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2148, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33266, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2149, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33275, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2150, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33276, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2151, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33285, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2152, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 33286, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2153, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41011, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2154, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41012, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2155, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41013, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2156, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41014, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2157, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41021, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2158, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41022, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2159, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41023, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2160, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41024, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2161, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41031, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2162, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41032, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2163, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41033, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2164, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41034, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2165, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41041, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2166, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41042, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2167, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41043, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2168, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41044, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2169, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41051, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2170, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41052, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2171, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41053, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2172, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41054, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2173, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41061, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2174, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41062, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2175, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41063, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2176, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41064, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2177, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41071, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2178, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41072, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2179, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41073, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2180, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41074, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2181, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41081, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2182, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41082, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2183, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41083, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2184, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41084, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2185, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41091, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2186, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41092, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2187, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41093, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2188, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41094, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2189, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41101, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2190, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41102, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2191, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41103, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2192, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41104, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2193, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41111, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2194, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41112, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2195, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41113, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2196, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41114, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2197, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41121, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2198, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41122, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2199, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41123, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2200, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41124, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2201, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41131, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2202, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41132, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2203, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41133, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2204, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41134, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2205, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41141, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2206, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41142, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2207, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41143, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2208, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41144, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2209, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41151, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2210, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41152, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2211, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41153, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2212, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41154, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2213, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41161, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2214, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41162, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2215, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41163, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2216, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41164, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2217, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41171, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2218, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41172, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2219, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41173, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2220, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41174, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2221, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41181, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2222, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41182, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2223, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41183, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2224, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41184, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2225, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41191, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2226, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41192, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2227, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41193, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2228, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41194, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2229, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41201, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2230, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41202, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2231, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41203, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2232, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41204, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2233, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41211, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2234, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41212, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2235, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41213, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2236, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41214, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2237, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41221, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2238, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41222, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2239, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41223, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2240, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41224, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2241, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41231, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2242, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41232, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2243, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41233, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2244, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41234, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2245, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41241, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2246, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41242, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2247, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41243, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2248, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41244, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2249, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41251, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2250, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41252, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2251, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41253, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2252, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41254, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2253, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41261, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2254, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41262, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2255, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41263, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2256, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41264, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2257, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41271, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2258, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41272, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2259, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41273, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2260, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41274, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2261, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41281, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2262, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41282, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2263, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41283, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2264, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41284, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2265, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41291, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2266, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41292, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2267, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41293, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2268, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41294, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2269, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41301, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2270, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41302, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2271, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41303, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2272, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41304, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2273, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41311, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2274, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41312, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2275, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41313, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2276, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41314, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2277, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41321, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2278, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41322, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2279, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41323, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2280, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41324, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2281, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41331, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2282, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41332, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2283, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41333, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2284, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41334, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2285, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41341, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2286, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41342, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2287, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41343, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2288, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 41344, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2289, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43015, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2290, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43016, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2291, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43025, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2292, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43026, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2293, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43035, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2294, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43036, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2295, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43045, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2296, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43046, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2297, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43055, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2298, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43056, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2299, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43065, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2300, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43066, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2301, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43075, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2302, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43076, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2303, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43085, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2304, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43086, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2305, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43095, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2306, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43096, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2307, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43105, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2308, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43106, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2309, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43115, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2310, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43116, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2311, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43125, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2312, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43126, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2313, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43135, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2314, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43136, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2315, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43145, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2316, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43146, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2317, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43155, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2318, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43156, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2319, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43165, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2320, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43166, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2321, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43175, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2322, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43176, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2323, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43185, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2324, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43186, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2325, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43195, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2326, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43196, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2327, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43205, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2328, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43206, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2329, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43215, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2330, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43216, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2331, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43225, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2332, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43226, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2333, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43235, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2334, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43236, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2335, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43245, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2336, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43246, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2337, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43255, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2338, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43256, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2339, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43265, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2340, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43266, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2341, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43275, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2342, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43276, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2343, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43285, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2344, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 43286, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2345, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51011, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2346, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51012, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2347, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51013, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2348, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51014, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2349, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51021, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2350, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51022, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2351, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51023, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2352, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51024, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2353, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51031, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2354, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51032, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2355, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51033, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2356, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51034, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2357, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51041, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2358, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51042, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2359, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51043, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2360, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51044, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2361, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51051, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2362, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51052, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2363, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51053, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2364, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51054, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2365, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51061, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2366, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51062, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2367, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51063, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2368, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51064, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2369, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51071, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2370, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51072, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2371, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51073, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2372, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51074, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2373, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51081, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2374, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51082, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2375, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51083, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2376, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51084, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2377, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51091, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2378, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51092, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2379, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51093, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2380, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51094, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2381, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51101, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2382, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51102, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2383, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51103, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2384, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51104, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2385, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51111, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2386, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51112, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2387, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51113, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2388, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51114, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2389, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51121, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2390, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51122, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2391, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51123, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2392, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51124, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2393, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51131, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2394, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51132, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2395, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51133, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2396, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51134, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2397, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51141, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2398, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51142, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2399, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51143, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2400, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51144, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2401, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51151, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2402, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51152, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2403, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51153, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2404, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51154, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2405, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51161, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2406, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51162, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2407, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51163, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2408, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51164, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2409, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51171, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2410, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51172, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2411, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51173, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2412, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51174, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2413, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51181, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2414, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51182, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2415, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51183, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2416, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51184, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2417, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51191, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2418, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51192, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2419, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51193, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2420, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51194, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2421, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51201, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2422, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51202, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2423, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51203, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2424, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51204, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2425, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51211, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2426, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51212, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2427, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51213, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2428, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51214, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2429, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51221, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2430, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51222, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2431, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51223, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2432, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51224, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2433, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51231, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2434, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51232, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2435, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51233, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2436, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51234, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2437, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51241, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2438, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51242, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2439, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51243, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2440, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51244, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2441, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51251, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2442, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51252, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2443, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51253, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2444, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51254, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2445, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51261, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2446, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51262, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2447, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51263, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2448, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51264, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2449, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51291, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2450, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51292, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2451, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51293, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2452, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51294, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2453, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51301, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2454, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51302, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2455, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51303, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2456, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51304, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2457, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51311, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2458, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51312, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2459, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51313, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2460, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51314, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2461, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51321, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2462, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51322, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2463, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51323, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2464, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51324, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2465, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51331, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2466, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51332, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2467, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51333, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2468, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51334, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2469, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51341, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2470, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51342, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2471, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51343, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2472, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 51344, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2473, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53015, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2474, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53016, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2475, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53025, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2476, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53026, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2477, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53035, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2478, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53036, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2479, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53045, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2480, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53046, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2481, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53055, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2482, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53056, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2483, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53065, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2484, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53066, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2485, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53075, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2486, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53076, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2487, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53085, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2488, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53086, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2489, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53095, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2490, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53096, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2491, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53105, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2492, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53106, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2493, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53115, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2494, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53116, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2495, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53125, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2496, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53126, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2497, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53135, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2498, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53136, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2499, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53145, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2500, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53146, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2501, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53155, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2502, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53156, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2503, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53165, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2504, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53166, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2505, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53175, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2506, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53176, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2507, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53185, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2508, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53186, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2509, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53195, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2510, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53196, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2511, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53205, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2512, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53206, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2513, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53215, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2514, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53216, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2515, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53225, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2516, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53226, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2517, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53235, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2518, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53236, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2519, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53245, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2520, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53246, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2521, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53255, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2522, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53256, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2523, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53265, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2524, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53266, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2525, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53275, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2526, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53276, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2527, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53285, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2528, + "equip_avatar": 0 + }, + { + "level": 0, + "relic_id": 53286, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ], + "internal_uid": 2529, + "equip_avatar": 0 } ], + "materials": { + "11204": 6, + "11213": 6, + "11308": 6, + "131204": 1, + "131213": 1, + "131308": 1 + }, "avatars": { "1001": { "avatar_id": 1001, @@ -39809,8 +79231,8 @@ "techniques": [ 130803 ], - "sp_value": 5, - "sp_max": 9, + "sp_value": 70, + "sp_max": 140, "enhanced_id": null, "ex_rank_unlocked": true }, @@ -40413,8 +79835,8 @@ "techniques": [ 140301 ], - "sp_value": 60, - "sp_max": 120, + "sp_value": 70, + "sp_max": 140, "enhanced_id": null }, "1404": { @@ -40967,8 +80389,8 @@ 141401, 141402 ], - "sp_value": 68, - "sp_max": 135, + "sp_value": 70, + "sp_max": 140, "enhanced_id": null }, "1415": { @@ -41416,8 +80838,8 @@ "techniques": [ 150701 ], - "sp_value": 80, - "sp_max": 160, + "sp_value": 70, + "sp_max": 140, "enhanced_id": null }, "1508": { diff --git a/internal/common/battle_report.go b/internal/common/battle_report.go index 2d11724..9720d06 100644 --- a/internal/common/battle_report.go +++ b/internal/common/battle_report.go @@ -3,6 +3,7 @@ package common import ( "encoding/json" "os" + "sort" "sync" "time" @@ -22,9 +23,11 @@ type BattleSkillReport struct { type BattleAvatarReport struct { AvatarID uint32 `json:"avatar_id"` + Slot *uint32 `json:"slot,omitempty"` AvatarLevel uint32 `json:"level"` AvatarRank uint32 `json:"rank"` TotalDamage float64 `json:"total_damage"` + MemospriteDamage float64 `json:"memosprite_damage"` DamagePercent float64 `json:"damage_percent"` TotalDamageTaken float64 `json:"total_damage_taken"` TotalHeal float64 `json:"total_heal"` @@ -43,6 +46,42 @@ type BattleAvatarReport struct { SkillTimes []*BattleSkillReport `json:"skill_times"` } +// The battle's lineup is authoritative; overworld lineup and native statistics +// list enumeration can have different orders. +func ApplyBattleReportContext(report *BattleReport, battle *goproto.SceneBattleInfo) { + if report == nil || battle == nil { + return + } + report.BattleID, report.StageID = battle.BattleId, battle.StageId + indices := make(map[uint32]uint32, len(battle.BattleAvatarList)) + metadata := make(map[uint32]*goproto.BattleAvatar, len(battle.BattleAvatarList)) + for _, a := range battle.BattleAvatarList { + if a != nil { + indices[a.Id] = a.Index + metadata[a.Id] = a + } + } + for _, a := range report.Avatars { + if a != nil { + if slot, ok := indices[a.AvatarID]; ok { + value := slot + a.Slot = &value + a.AvatarLevel, a.AvatarRank = metadata[a.AvatarID].Level, metadata[a.AvatarID].Rank + } + } + } + sort.SliceStable(report.Avatars, func(i, j int) bool { + a, b := report.Avatars[i], report.Avatars[j] + if a == nil || a.Slot == nil { + return false + } + if b == nil || b.Slot == nil { + return true + } + return *a.Slot < *b.Slot + }) +} + type BattleMonsterReport struct { EntityID uint32 `json:"entity_id"` MonsterID uint32 `json:"monster_id"` @@ -103,8 +142,30 @@ func BattleReportFromStatistics(stt *goproto.BattleStatistics, battleID uint32, damageByAvatar[event.AvatarId] += event.Damage damageEventTotal += event.Damage } + attackDamageProperties := make(map[uint32][]*goproto.AttackDamageProperty, len(stt.BattleAvatarList)) + attackDamageByAvatar := make(map[uint32]float64, len(stt.BattleAvatarList)) + for _, avatar := range stt.BattleAvatarList { + if avatar == nil { + continue + } + properties := avatarAttackDamageProperties(avatar) + attackDamageProperties[avatar.Id] = properties + attackDamageByAvatar[avatar.Id] = sumAttackDamageProperties(properties) + } + // Some Client reports leave AvatarBattleInfo totals empty and include a + // supplemental list whose nested schema explicitly names AvatarId and Damage. + // Use it only as a fallback so two report sources are never added together. + supplementalDamageByAvatar := make(map[uint32]float64) + if stt.MFOJKJGKDGD != nil { + for _, entry := range stt.MFOJKJGKDGD.INBNCAKGDPJ { + if entry == nil || entry.AvatarId == 0 || entry.Damage <= 0 { + continue + } + supplementalDamageByAvatar[entry.AvatarId] += entry.Damage + } + } - var teamDmg, teamHeal, teamShield float64 + var teamDmg, primaryAvatarDamage, teamHeal, teamShield float64 for _, a := range stt.BattleAvatarList { if a == nil { continue @@ -113,10 +174,20 @@ func BattleReportFromStatistics(stt *goproto.BattleStatistics, battleID uint32, if damage == 0 { damage = damageByAvatar[a.Id] } + if damage == 0 { + damage = attackDamageByAvatar[a.Id] + } + primaryAvatarDamage += damage + if damage == 0 { + damage = supplementalDamageByAvatar[a.Id] + } teamDmg += damage teamHeal += a.TotalHeal teamShield += a.TotalShield } + if primaryAvatarDamage == 0 && stt.MFOJKJGKDGD != nil && stt.MFOJKJGKDGD.TotalDamage > 0 { + teamDmg = stt.MFOJKJGKDGD.TotalDamage + } // If neither avatar aggregate source contains damage, enemy damage-taken // stats still provide a reliable team total. They cannot identify which // avatar dealt each hit, so per-avatar shares remain unavailable in that case. @@ -142,6 +213,12 @@ func BattleReportFromStatistics(stt *goproto.BattleStatistics, battleID uint32, if damage == 0 { damage = damageByAvatar[a.Id] } + if damage == 0 { + damage = attackDamageByAvatar[a.Id] + } + if damage == 0 { + damage = supplementalDamageByAvatar[a.Id] + } var dmgPercent float64 if teamDmg > 0 { dmgPercent = (damage / teamDmg) * 100.0 @@ -168,7 +245,7 @@ func BattleReportFromStatistics(stt *goproto.BattleStatistics, battleID uint32, AttackTypeMaxDamage: make(map[string]float64), SkillTimes: make([]*BattleSkillReport, 0, len(a.SkillTimes)), } - for _, prop := range a.AttackTypeDamage { + for _, prop := range attackDamageProperties[a.Id] { if prop != nil && prop.AttackType != "" { ar.AttackTypeDamage[prop.AttackType] += prop.Damage } @@ -217,9 +294,30 @@ func BattleReportFromStatistics(stt *goproto.BattleStatistics, battleID uint32, report.Monsters = append(report.Monsters, mr) } + applyBattleServantStatistics(report, stt.GetIAGKLJEKAOL().GetGFOAHHHNBJC()) return report } +// Native snapshots show NOGHNMCDDAI matches damage taken by attack type, +// including a support with zero damage dealt. It must not become a fallback +// for damage dealt merely because it shares the AttackDamageProperty schema. +func avatarAttackDamageProperties(avatar *goproto.AvatarBattleInfo) []*goproto.AttackDamageProperty { + if avatar == nil { + return nil + } + return avatar.AttackTypeDamage +} + +func sumAttackDamageProperties(properties []*goproto.AttackDamageProperty) float64 { + var total float64 + for _, property := range properties { + if property != nil && property.Damage > 0 { + total += property.Damage + } + } + return total +} + // SaveBattleReport writes the battle report to disk atomically. func SaveBattleReport(report *BattleReport) error { if report == nil { diff --git a/internal/common/battle_report_test.go b/internal/common/battle_report_test.go index 8692662..190edc4 100644 --- a/internal/common/battle_report_test.go +++ b/internal/common/battle_report_test.go @@ -7,6 +7,14 @@ import ( goproto "gac-hkrpg-go/protocol/proto" ) +func TestBattleReportUsesActualBattleSlots(t *testing.T) { + r := &BattleReport{Avatars: []*BattleAvatarReport{{AvatarID: 11}, {AvatarID: 10}}} + ApplyBattleReportContext(r, &goproto.SceneBattleInfo{BattleId: 7, StageId: 20, BattleAvatarList: []*goproto.BattleAvatar{{Id: 10, Index: 0}, {Id: 11, Index: 2}}}) + if r.BattleID != 7 || r.StageID != 20 || r.Avatars[0].AvatarID != 10 || r.Avatars[0].Slot == nil || *r.Avatars[0].Slot != 0 || *r.Avatars[1].Slot != 2 { + t.Fatalf("battle identity/order lost: %+v", r) + } +} + func TestBattleReportSerialization(t *testing.T) { defer os.Remove(BattleReportFile) @@ -128,6 +136,44 @@ func TestBattleReportUsesAvatarDamageEventsWhenAvatarTotalsAreZero(t *testing.T) } } +func TestBattleReportUsesDealtDamagePropertiesAndDoesNotCountDamageTaken(t *testing.T) { + stt := &goproto.BattleStatistics{ + BattleAvatarList: []*goproto.AvatarBattleInfo{ + { + Id: 1503, + AttackTypeDamage: []*goproto.AttackDamageProperty{ + {AttackType: "Normal", Damage: 600}, + }, + // Native NOGHNMCDDAI contains damage taken, not dealt. + NOGHNMCDDAI: []*goproto.AttackDamageProperty{ + {AttackType: "Normal", Damage: 900}, + }, + }, + { + Id: 1511, + NOGHNMCDDAI: []*goproto.AttackDamageProperty{ + {AttackType: "Skill", Damage: 400}, + }, + }, + }, + MonsterList: []*goproto.MonsterBattleInfo{{TotalDamageTaken: 1200}}, + } + + report := BattleReportFromStatistics(stt, 1, 0, "WIN") + if report.TeamTotalDamage != 600 { + t.Fatalf("expected dealt damage 600, got %f", report.TeamTotalDamage) + } + if report.Avatars[0].TotalDamage != 600 || report.Avatars[0].DamagePercent != 100 { + t.Fatalf("unexpected avatar 1503 report: %+v", report.Avatars[0]) + } + if report.Avatars[1].TotalDamage != 0 || report.Avatars[1].DamagePercent != 0 { + t.Fatalf("unexpected avatar 1511 report: %+v", report.Avatars[1]) + } + if len(report.Avatars[1].AttackTypeDamage) != 0 { + t.Fatalf("damage taken became dealt damage: %+v", report.Avatars[1].AttackTypeDamage) + } +} + func TestBattleReportFallsBackToMonsterDamageTakenForTeamTotal(t *testing.T) { stt := &goproto.BattleStatistics{ BattleAvatarList: []*goproto.AvatarBattleInfo{{Id: 1503}}, @@ -145,3 +191,46 @@ func TestBattleReportFallsBackToMonsterDamageTakenForTeamTotal(t *testing.T) { t.Fatalf("cannot infer avatar share from monster totals, got %f", report.Avatars[0].DamagePercent) } } + +func TestBattleReportUsesSupplementalAvatarDamageWhenStandardFieldsAreEmpty(t *testing.T) { + stt := &goproto.BattleStatistics{ + BattleAvatarList: []*goproto.AvatarBattleInfo{ + {Id: 1409}, + {Id: 1507}, + }, + MFOJKJGKDGD: &goproto.FAHGFCIJHFK{ + TotalDamage: 1000, + INBNCAKGDPJ: []*goproto.PMPCIBGILIE{ + {AvatarId: 1409, Damage: 400}, + {AvatarId: 1507, Damage: 600}, + }, + }, + MonsterList: []*goproto.MonsterBattleInfo{{TotalDamageTaken: 1500}}, + } + + report := BattleReportFromStatistics(stt, 1, 1052106, "WIN") + if report.TeamTotalDamage != 1000 { + t.Fatalf("expected supplemental team total damage 1000, got %f", report.TeamTotalDamage) + } + if report.Avatars[0].TotalDamage != 400 || report.Avatars[0].DamagePercent != 40 { + t.Fatalf("unexpected avatar 1409 report: %+v", report.Avatars[0]) + } + if report.Avatars[1].TotalDamage != 600 || report.Avatars[1].DamagePercent != 60 { + t.Fatalf("unexpected avatar 1507 report: %+v", report.Avatars[1]) + } +} + +func TestBattleReportDoesNotReplaceStandardDamageWithSupplementalAggregate(t *testing.T) { + stt := &goproto.BattleStatistics{ + BattleAvatarList: []*goproto.AvatarBattleInfo{{Id: 1409, TotalDamage: 400}}, + MFOJKJGKDGD: &goproto.FAHGFCIJHFK{ + TotalDamage: 900, + INBNCAKGDPJ: []*goproto.PMPCIBGILIE{{AvatarId: 1409, Damage: 900}}, + }, + } + + report := BattleReportFromStatistics(stt, 1, 1052106, "WIN") + if report.TeamTotalDamage != 400 || report.Avatars[0].TotalDamage != 400 { + t.Fatalf("supplemental data replaced standard damage: %+v", report) + } +} diff --git a/internal/common/battle_servant_report.go b/internal/common/battle_servant_report.go new file mode 100644 index 0000000..6e376a5 --- /dev/null +++ b/internal/common/battle_servant_report.go @@ -0,0 +1,71 @@ +package common + +import pb "gac-hkrpg-go/protocol/proto" + +// BattleAvatarServantInfo is a separate native statistic, keyed by its owner's +// avatar_id. Never infer ownership from lineup position or the servant's ID. +func applyBattleServantStatistics(report *BattleReport, servants []*pb.BattleAvatarServantInfo) { + owners := make(map[uint32]*BattleAvatarReport, len(report.Avatars)) + for _, avatar := range report.Avatars { + owners[avatar.AvatarID] = avatar + } + matched := false + seen := make(map[uint32]bool) + for _, servant := range servants { + if servant == nil || servant.AvatarId == 0 { + continue + } + owner := owners[servant.AvatarId] + if owner == nil || (servant.EntityId != 0 && seen[servant.EntityId]) { + continue + } + if servant.EntityId != 0 { + seen[servant.EntityId] = true + } + matched = true + damage := servant.TotalDamage + if damage == 0 { + damage = sumAttackDamageProperties(servant.AttackTypeDamage) + } + owner.TotalDamage += damage + owner.MemospriteDamage += damage + owner.TotalBreakDamage += servant.TotalBreakDamage + owner.TotalHeal += servant.TotalHeal + owner.TotalShield += servant.TotalShield + for _, pair := range []struct { + values []*pb.AttackDamageProperty + target map[string]float64 + maximum bool + }{{servant.AttackTypeDamage, owner.AttackTypeDamage, false}, + {servant.AttackTypeBreakDamage, owner.AttackTypeBreakDamage, false}, + {servant.AttackTypeMaxDamage, owner.AttackTypeMaxDamage, true}} { + for _, value := range pair.values { + if value == nil || value.AttackType == "" { + continue + } + if pair.maximum { + pair.target[value.AttackType] = max(pair.target[value.AttackType], value.Damage) + } else { + pair.target[value.AttackType] += value.Damage + } + } + } + } + if !matched { + return + } + // Rebuild from attributed records; the earlier monster fallback can already + // include servant damage, so adding to that fallback would count it twice. + report.TeamTotalDamage, report.TeamTotalHeal, report.TeamTotalShield = 0, 0, 0 + for _, avatar := range report.Avatars { + report.TeamTotalDamage += avatar.TotalDamage + report.TeamTotalHeal += avatar.TotalHeal + report.TeamTotalShield += avatar.TotalShield + } + for _, avatar := range report.Avatars { + avatar.DamagePercent = 0 + if report.TeamTotalDamage > 0 { + avatar.DamagePercent = avatar.TotalDamage / report.TeamTotalDamage * 100 + } + } +} diff --git a/internal/common/battle_servant_report_test.go b/internal/common/battle_servant_report_test.go new file mode 100644 index 0000000..8fa3e94 --- /dev/null +++ b/internal/common/battle_servant_report_test.go @@ -0,0 +1,34 @@ +package common + +import ( + pb "gac-hkrpg-go/protocol/proto" + "testing" +) + +func TestBattleReportAttributesServantDamageByOwner(t *testing.T) { + servant := &pb.BattleAvatarServantInfo{AvatarId: 20, EntityId: 200, TotalDamage: 900, TotalHeal: 30, + AttackTypeDamage: []*pb.AttackDamageProperty{{AttackType: "BPSkill", Damage: 900}}, + AttackTypeMaxDamage: []*pb.AttackDamageProperty{{AttackType: "BPSkill", Damage: 300}}} + stats := &pb.BattleStatistics{BattleAvatarList: []*pb.AvatarBattleInfo{ + {Id: 10, TotalDamage: 100}, {Id: 20, TotalDamage: 0}}, + IAGKLJEKAOL: &pb.OHDHNDMJFAP{GFOAHHHNBJC: []*pb.BattleAvatarServantInfo{servant, servant, + {AvatarId: 999, TotalDamage: 999999}}}} + report := BattleReportFromStatistics(stats, 1, 2, "LIVE") + owner := report.Avatars[1] + if report.TeamTotalDamage != 1000 || owner.TotalDamage != 900 || owner.MemospriteDamage != 900 || owner.DamagePercent != 90 || + owner.AttackTypeDamage["BPSkill"] != 900 || owner.AttackTypeMaxDamage["BPSkill"] != 300 || report.TeamTotalHeal != 30 { + t.Fatalf("servant owner attribution incorrect: report=%+v owner=%+v", report, owner) + } + if stats.BattleAvatarList[1].TotalDamage != 0 || servant.TotalDamage != 900 { + t.Fatal("conversion modified native source statistics") + } +} + +func TestBattleReportServantDoesNotDoubleMonsterFallback(t *testing.T) { + stats := &pb.BattleStatistics{BattleAvatarList: []*pb.AvatarBattleInfo{{Id: 10}}, + MonsterList: []*pb.MonsterBattleInfo{{TotalDamageTaken: 1000}}, + IAGKLJEKAOL: &pb.OHDHNDMJFAP{GFOAHHHNBJC: []*pb.BattleAvatarServantInfo{{AvatarId: 10, TotalDamage: 1000}}}} + if report := BattleReportFromStatistics(stats, 1, 2, "WIN"); report.TeamTotalDamage != 1000 || report.Avatars[0].DamagePercent != 100 { + t.Fatalf("servant was added to a team-wide fallback twice: %+v", report) + } +} diff --git a/internal/common/currency_wars_camps.go b/internal/common/currency_wars_camps.go new file mode 100644 index 0000000..51feef6 --- /dev/null +++ b/internal/common/currency_wars_camps.go @@ -0,0 +1,86 @@ +package common + +import ( + "crypto/sha256" + "encoding/hex" + "encoding/json" + "fmt" +) + +// Handbook camp rows describe available monsters and battle areas. They do +// not specify a node's complete wave recipe, star/level, or battle template. +type CurrencyWarsMonsterCamp struct { + ID uint32 `json:"ID"` + SeasonID uint32 `json:"SeasonID"` + Common CurrencyWarsCampConfig `json:"Common"` + Season CurrencyWarsCampSeasonConfig `json:"Season"` +} + +type CurrencyWarsCampConfig struct { + ID uint32 `json:"ID"` + MonsterList []uint32 `json:"MonsterList"` + BattleAreaList []uint32 `json:"BattleAreaList"` + BossBattleArea uint32 `json:"BossBattleArea"` + InitialRandomCode uint32 `json:"InitialRandomCode"` + IfRandomEnabled uint32 `json:"IfRandomEnabled"` + IconPath string `json:"IconPath"` + ShowPicPath string `json:"ShowPicPath"` + CampName json.RawMessage `json:"CampName"` + CampDesc json.RawMessage `json:"CampDesc"` +} + +type CurrencyWarsCampSeasonConfig struct { + SeasonID uint32 `json:"SeasonID"` + CampID uint32 `json:"CampID"` + MonsterList []uint32 `json:"MonsterList"` +} + +func (c *CurrencyWarsCatalog) validateMonsterCamps() error { + c.campByID = make(map[[2]uint32]CurrencyWarsMonsterCamp) + if len(c.MonsterCamps) == 0 && c.Provenance.MonsterCampsSHA256 == "" { + return nil + } + digest, err := hex.DecodeString(c.Provenance.MonsterCampsSHA256) + if err != nil || len(digest) != sha256.Size || len(c.MonsterCamps) == 0 { + return fmt.Errorf("CW camp capture provenance is missing") + } + for _, camp := range c.MonsterCamps { + key := [2]uint32{camp.SeasonID, camp.ID} + if camp.ID == 0 || camp.SeasonID != c.ActiveSeasonID || camp.Common.ID != camp.ID || camp.Season.CampID != camp.ID || camp.Season.SeasonID != camp.SeasonID { + return fmt.Errorf("invalid CW monster camp %v", key) + } + if _, exists := c.campByID[key]; exists { + return fmt.Errorf("duplicate CW camp %v", key) + } + for _, list := range [][]uint32{camp.Common.MonsterList, camp.Season.MonsterList} { + if len(list) == 0 { + return fmt.Errorf("CW camp %v has an empty monster list", key) + } + for _, id := range list { + if id == 0 { + return fmt.Errorf("CW camp %v contains an empty monster ID", key) + } + } + } + for _, id := range camp.Common.BattleAreaList { + if id == 0 { + return fmt.Errorf("CW camp %v contains an empty battle area", key) + } + } + c.campByID[key] = camp + } + return nil +} + +func (c *CurrencyWarsCatalog) MonsterCamp(seasonID, campID uint32) (CurrencyWarsMonsterCamp, error) { + row, exists := c.campByID[[2]uint32{seasonID, campID}] + if !exists { + return CurrencyWarsMonsterCamp{}, fmt.Errorf("CW camp %d/%d has not been captured", seasonID, campID) + } + row.Common.MonsterList = append([]uint32(nil), row.Common.MonsterList...) + row.Common.BattleAreaList = append([]uint32(nil), row.Common.BattleAreaList...) + row.Common.CampName = append(json.RawMessage(nil), row.Common.CampName...) + row.Common.CampDesc = append(json.RawMessage(nil), row.Common.CampDesc...) + row.Season.MonsterList = append([]uint32(nil), row.Season.MonsterList...) + return row, nil +} diff --git a/internal/common/currency_wars_catalog.go b/internal/common/currency_wars_catalog.go new file mode 100644 index 0000000..96d6ace --- /dev/null +++ b/internal/common/currency_wars_catalog.go @@ -0,0 +1,501 @@ +package common + +import ( + "crypto/sha256" + "encoding/hex" + "encoding/json" + "fmt" + "sort" + "sync" +) + +// CurrencyWarsCatalog contains captured Client data, not an invented CW preset. +// Loading the catalog does not start a run, unlock progression, or register a +// protocol handler. Those operations need the independently mapped CW schema. +type CurrencyWarsCatalog struct { + ClientVersion string `json:"client_version"` + ActiveSeasonID uint32 `json:"active_season_id"` + ActiveSubSeasonID uint32 `json:"active_sub_season_id"` + CapturedSeasons []uint32 `json:"captured_seasons"` + SeasonModules []CurrencyWarsSeasonModule `json:"season_modules"` + Divisions []CurrencyWarsDivision `json:"divisions"` + Constants map[string]map[string]CurrencyWarsConstant `json:"constants"` + Entrance CurrencyWarsEntrance `json:"entrance"` + StageRoutes []CurrencyWarsRouteNode `json:"stage_routes"` + Tutorials []CurrencyWarsTutorial `json:"tutorials"` + CapturedRoles []CurrencyWarsCapturedRole `json:"active_handbook_default_roles"` + CapturedStages []CurrencyWarsCapturedStage `json:"active_stage_wrappers"` + CapturedVariants []CurrencyWarsRoleVariant `json:"captured_role_variants"` + PlayerLevels []CurrencyWarsPlayerLevel `json:"captured_player_levels"` + Chapters []CurrencyWarsChapter `json:"chapters"` + NodeTypes []CurrencyWarsNodeType `json:"node_types"` + MonsterCamps []CurrencyWarsMonsterCamp `json:"captured_monster_camps"` + Provenance struct { + GameAssemblySHA256 string `json:"game_assembly_sha256"` + ConstantsSHA256 string `json:"constants_capture_sha256"` + EntranceSHA256 string `json:"entrance_capture_sha256"` + RoomSHA256 string `json:"room_capture_sha256"` + ComparisonSHA256 string `json:"comparison_capture_sha256"` + RoutesSHA256 string `json:"routes_capture_sha256"` + TutorialsSHA256 string `json:"tutorials_capture_sha256"` + GameplaySHA256 string `json:"gameplay_capture_sha256"` + VariantsSHA256 string `json:"variants_capture_sha256"` + StarRowsSHA256 string `json:"star_rows_capture_sha256"` + StarRowsComplete bool `json:"star_rows_capture_complete"` + PlayerLevelsSHA256 string `json:"player_levels_capture_sha256"` + ChaptersSHA256 string `json:"chapters_capture_sha256"` + NodeTypesSHA256 string `json:"node_types_capture_sha256"` + MonsterCampsSHA256 string `json:"monster_camps_capture_sha256"` + } `json:"provenance"` + divisionByID map[uint32]CurrencyWarsDivision + activitySchedules []CurrencyWarsActivitySchedule + routeByID map[uint32][]CurrencyWarsRouteNode + roleByID map[uint32]CurrencyWarsCapturedRole + stageByID map[uint32]CurrencyWarsCapturedStage + variantByKey map[[2]uint32]CurrencyWarsRoleVariant + playerLevelByID map[uint32]CurrencyWarsPlayerLevel + chapterByID map[uint32]CurrencyWarsChapter + nodeTypeByID map[uint32]string + campByID map[[2]uint32]CurrencyWarsMonsterCamp +} + +type CurrencyWarsTutorial struct { + ID uint32 `json:"ID"` + DivisionID uint32 `json:"DivisionID"` + RewardQuest uint32 `json:"RewardQuest"` + ForbiddenBattleFailChapterID uint32 `json:"ForbiddenBattleFailChapterID"` + ForbiddenSellRoleBeforeChapterID uint32 `json:"ForbiddenSellRoleBeforeChapterId"` + ForbiddenSellRoleBeforeSectionID uint32 `json:"ForbiddenSellRoleBeforeSectionId"` + HasMonsterReveal bool `json:"HasMonsterReveal"` + HasPortal bool `json:"HasPortal"` + HasInitialSupply bool `json:"HasInitialSupply"` + HasRouteShow bool `json:"HasRouteShow"` + HasEquipRecommendShow bool `json:"HasEquipRecommendShow"` + HasBossToastShow bool `json:"HasBossToastShow"` + UseTrialAvatar bool `json:"UseTrialAvatar"` + ForbiddenSellRoleDict map[uint32]uint32 `json:"ForbiddenSellRoleDict"` + // Preserve native keys until their chapter/section wire mapping is proven. + ForbiddenAutoOpenShopNodeList []json.RawMessage `json:"ForbiddenAutoOpenShopNodeList"` +} + +// Route IDs and chapter/section coordinates come from the native route table. +// NodeTemplateID identifies configuration, not a battle StageID. +type CurrencyWarsRouteNode struct { + RouteID uint32 `json:"ID"` + ChapterID uint32 `json:"ChapterID"` + SectionID uint32 `json:"SectionID"` + NodeTemplateID uint32 `json:"NodeTemplateID"` +} + +func (c *CurrencyWarsCatalog) validateRoutes() error { + digest, err := hex.DecodeString(c.Provenance.RoutesSHA256) + if err != nil || len(digest) != sha256.Size || len(c.StageRoutes) == 0 { + return fmt.Errorf("CW route capture or provenance is missing") + } + c.routeByID = make(map[uint32][]CurrencyWarsRouteNode) + seen := make(map[[3]uint32]bool) + for _, row := range c.StageRoutes { + key := [3]uint32{row.RouteID, row.ChapterID, row.SectionID} + if row.RouteID == 0 || row.ChapterID == 0 || row.SectionID == 0 || row.NodeTemplateID == 0 || seen[key] { + return fmt.Errorf("invalid or duplicate CW route node %v", key) + } + seen[key] = true + c.routeByID[row.RouteID] = append(c.routeByID[row.RouteID], row) + } + for _, nodes := range c.routeByID { + sort.Slice(nodes, func(i, j int) bool { + if nodes[i].ChapterID != nodes[j].ChapterID { + return nodes[i].ChapterID < nodes[j].ChapterID + } + return nodes[i].SectionID < nodes[j].SectionID + }) + } + id, err := c.IntegerRule("GridFight_FirstPlay_StageRouteID") + if err != nil || id <= 0 || uint64(id) > uint64(^uint32(0)) || len(c.routeByID[uint32(id)]) == 0 { + return fmt.Errorf("CW tutorial route is absent from native route capture") + } + return c.validateTutorials() +} + +func (c *CurrencyWarsCatalog) validateTutorials() error { + digest, err := hex.DecodeString(c.Provenance.TutorialsSHA256) + if err != nil || len(digest) != sha256.Size || len(c.Tutorials) == 0 { + return fmt.Errorf("CW tutorial capture or provenance is missing") + } + seen := make(map[uint32]bool) + for _, row := range c.Tutorials { + if row.ID == 0 || row.DivisionID == 0 || seen[row.ID] || row.ForbiddenSellRoleDict == nil || row.ForbiddenAutoOpenShopNodeList == nil { + return fmt.Errorf("invalid or duplicate CW tutorial %d", row.ID) + } + seen[row.ID] = true + for roleID, rank := range row.ForbiddenSellRoleDict { + if roleID == 0 || rank == 0 { + return fmt.Errorf("invalid CW tutorial sell restriction") + } + } + for _, raw := range row.ForbiddenAutoOpenShopNodeList { + var coordinates map[string]uint32 + if err := json.Unmarshal(raw, &coordinates); err != nil || len(coordinates) == 0 { + return fmt.Errorf("invalid CW tutorial shop coordinates") + } + } + } + return nil +} + +// Return a copy so run state cannot alter the shared configuration. +func (c *CurrencyWarsCatalog) RouteNodes(routeID uint32) ([]CurrencyWarsRouteNode, error) { + nodes, ok := c.routeByID[routeID] + if !ok { + return nil, fmt.Errorf("CW route %d has not been captured", routeID) + } + return append([]CurrencyWarsRouteNode(nil), nodes...), nil +} + +// A mission entrance can share a floor with ordinary checkpoint teleports. +// Its position is the captured MapEntrance start anchor, not the first pillar. +type CurrencyWarsEntrance struct { + EntryID uint32 `json:"entry_id"` + PlaneID uint32 `json:"plane_id"` + FloorID uint32 `json:"floor_id"` + StartGroupID uint32 `json:"start_group_id"` + Anchor AnchorItem `json:"anchor"` + RoomGroups []CurrencyWarsRoomGroup `json:"room_groups"` + SavedValues map[string]int32 `json:"saved_values"` + SavedValueRules map[string]CurrencyWarsSavedValueRule `json:"saved_value_rules"` +} + +type CurrencyWarsSavedValueRule struct { + DefaultValue int32 `json:"DefaultValue"` + MinValue int32 `json:"MinValue"` + MaxValue int32 `json:"MaxValue"` + AllowedValues []int32 `json:"AllowedValues"` +} + +type CurrencyWarsRoomGroup struct { + GroupID uint32 `json:"group_id"` + Condition struct { + Name string `json:"name"` + Comparison string `json:"comparison"` + Value int32 `json:"value"` + } `json:"condition"` + Props []ScenePropInfo `json:"props"` +} + +// ActivityScheduleData.activity_id carries a module ID, while panel_id carries +// its parent ActivityID (PearlSR services/events.zig, recorded revision). +type CurrencyWarsActivitySchedule struct { + ModuleID uint32 + ActivityID uint32 +} + +type CurrencyWarsDivision struct { + ID uint32 `json:"ID"` + SeasonID uint32 `json:"SeasonID"` + DivisionLevel uint32 `json:"DivisionLevel"` + Progress uint32 `json:"Progress"` + IsPromotion bool `json:"IsPromotion"` +} + +type CurrencyWarsSeasonModule struct { + OfferingID uint32 `json:"OfferingID"` + ActivityQuestConfigID uint32 `json:"ActivityQuestConfigID"` + SeasonID uint32 `json:"SeasonID"` + SubSeasonID uint32 `json:"SubSeasonID"` + MaxRewardExp uint32 `json:"MaxRewardExp"` + ActivityModuleID uint32 `json:"ActivityModuleID"` +} + +// Preserve the native DynamicValue flags and payloads. Do not infer a type from +// a zero payload: for example, a legitimate integer rule can itself be zero. +type CurrencyWarsConstant struct { + IntValue int64 `json:"IntValue"` + DoubleValue float64 `json:"DoubleValue"` + BoolValue bool `json:"BoolValue"` + StringValue *string `json:"StringValue"` + ArrayValue []CurrencyWarsConstant `json:"ArrayValue"` + MapValue map[string]CurrencyWarsConstant `json:"MapValue"` + IsInt bool `json:"IsInt"` + IsFloat bool `json:"IsFloat"` + IsBool bool `json:"IsBool"` + IsString bool `json:"IsString"` + IsNull bool `json:"IsNull"` + IsArray bool `json:"IsArray"` + IsMap bool `json:"IsMap"` +} + +var currencyWarsCatalogOnce sync.Once +var currencyWarsCatalog *CurrencyWarsCatalog +var currencyWarsCatalogErr error + +func LoadCurrencyWarsCatalog() (*CurrencyWarsCatalog, error) { + currencyWarsCatalogOnce.Do(func() { + raw, err := ReadResourceFile("resources/CurrencyWarsCatalog.json") + if err != nil { + currencyWarsCatalogErr = err + return + } + var catalog CurrencyWarsCatalog + if err := json.Unmarshal(raw, &catalog); err != nil { + currencyWarsCatalogErr = fmt.Errorf("decode CW catalog: %w", err) + return + } + cfg, err := LoadRuntimeConfig() + if err != nil { + currencyWarsCatalogErr = err + return + } + if err := catalog.validate(cfg.ClientVersion); err != nil { + currencyWarsCatalogErr = err + return + } + if err := catalog.resolveActivity(); err != nil { + currencyWarsCatalogErr = err + return + } + if err := catalog.validateRoutes(); err != nil { + currencyWarsCatalogErr = err + return + } + if err := catalog.validateCapturedGameplay(); err != nil { + currencyWarsCatalogErr = err + return + } + if err := catalog.validateEntrance(); err != nil { + currencyWarsCatalogErr = err + return + } + currencyWarsCatalog = &catalog + }) + return currencyWarsCatalog, currencyWarsCatalogErr +} + +func (c *CurrencyWarsCatalog) validateEntrance() error { + id, err := c.IntegerRule("GridFight_EntranceID") + e := c.Entrance + if err != nil || id <= 0 || int64(e.EntryID) != id || e.PlaneID == 0 || e.FloorID == 0 || e.StartGroupID == 0 || e.Anchor.ID == 0 { + return fmt.Errorf("CW entrance capture is missing or differs from native constant") + } + if digest, err := hex.DecodeString(c.Provenance.EntranceSHA256); err != nil || len(digest) != sha256.Size { + return fmt.Errorf("CW entrance capture SHA-256 is invalid") + } + raw, err := ReadResourceFile("resources/MapEntrance.json") + if err != nil { + return err + } + var table struct { + Entries []MapEntranceEntry `json:"map_entrance_config"` + } + if err := json.Unmarshal(raw, &table); err != nil { + return fmt.Errorf("decode CW MapEntrance: %w", err) + } + matches := 0 + for _, row := range table.Entries { + if row.ID != e.EntryID { + continue + } + matches++ + if row.PlaneID != e.PlaneID || row.FloorID != e.FloorID || row.StartGroupID != e.StartGroupID || row.StartAnchorID != e.Anchor.ID { + return fmt.Errorf("CW entrance capture differs from MapEntrance") + } + } + if matches != 1 { + return fmt.Errorf("CW entrance must have exactly one MapEntrance row") + } + for _, digestText := range []string{c.Provenance.RoomSHA256, c.Provenance.ComparisonSHA256} { + if digest, err := hex.DecodeString(digestText); err != nil || len(digest) != sha256.Size { + return fmt.Errorf("CW room/comparison capture SHA-256 is invalid") + } + } + if len(e.RoomGroups) == 0 { + return fmt.Errorf("CW room props have not been captured") + } + seenGroups := map[uint32]bool{} + neededValues := map[string]bool{} + for _, group := range e.RoomGroups { + if group.GroupID == 0 || seenGroups[group.GroupID] || group.Condition.Name == "" || group.Condition.Comparison != "GreaterEqual" || len(group.Props) == 0 { + return fmt.Errorf("invalid CW room group/condition") + } + seenGroups[group.GroupID] = true + neededValues[group.Condition.Name] = true + value, exists := e.SavedValues[group.Condition.Name] + rule, sourced := e.SavedValueRules[group.Condition.Name] + if !exists || !sourced || value < group.Condition.Value || value < rule.MinValue || value > rule.MaxValue || value != rule.MaxValue { + return fmt.Errorf("CW room saved-value selection differs from captured freeplay policy") + } + if len(rule.AllowedValues) > 0 { + allowed := false + for _, v := range rule.AllowedValues { + if v == value { + allowed = true + } + } + if !allowed { + return fmt.Errorf("CW room selected saved value is not allowed") + } + } + seenProps := map[uint32]bool{} + for _, prop := range group.Props { + if prop.GroupID != group.GroupID || prop.InstID == 0 || prop.PropID == 0 || seenProps[prop.InstID] { + return fmt.Errorf("invalid or duplicate CW room prop") + } + seenProps[prop.InstID] = true + } + } + if len(neededValues) != len(e.SavedValues) || len(neededValues) != len(e.SavedValueRules) { + return fmt.Errorf("CW saved-value profile contains unrelated fields") + } + return nil +} + +func (c *CurrencyWarsCatalog) resolveActivity() error { + raw, err := ReadResourceFile("resources/ActivityConfig.json") + if err != nil { + return err + } + var data struct { + Rows []struct { + ActivityID uint32 `json:"ActivityID"` + Modules []uint32 `json:"ActivityModuleIDList"` + } `json:"activity_config"` + } + if err := json.Unmarshal(raw, &data); err != nil { + return fmt.Errorf("decode CW activity mapping: %w", err) + } + wholeSeason, err := c.IntegerRule("GridFight_WholeSeason_ActivityModuleID") + if err != nil || wholeSeason <= 0 || uint64(wholeSeason) > uint64(^uint32(0)) { + return fmt.Errorf("invalid CW whole-season activity module constant") + } + activeModule := c.ActiveSeasonModule().ActivityModuleID + seen := map[uint32]bool{} + for _, required := range []uint32{uint32(wholeSeason), activeModule} { + if seen[required] { + continue + } + seen[required] = true + var parent uint32 + for _, row := range data.Rows { + for _, id := range row.Modules { + if id != required { + continue + } + if row.ActivityID == 0 || parent != 0 { + return fmt.Errorf("invalid or ambiguous CW activity mapping for module %d", required) + } + parent = row.ActivityID + } + } + if parent == 0 { + return fmt.Errorf("CW module %d is absent from ActivityConfig", required) + } + c.activitySchedules = append(c.activitySchedules, CurrencyWarsActivitySchedule{ModuleID: required, ActivityID: parent}) + } + return nil +} + +func (c *CurrencyWarsCatalog) ActivitySchedules() []CurrencyWarsActivitySchedule { + return append([]CurrencyWarsActivitySchedule(nil), c.activitySchedules...) +} + +func (c *CurrencyWarsCatalog) validate(clientVersion string) error { + if c.ClientVersion == "" || c.ClientVersion != clientVersion { + return fmt.Errorf("CW catalog does not match configured Client revision") + } + for _, digest := range []string{c.Provenance.GameAssemblySHA256, c.Provenance.ConstantsSHA256} { + decoded, err := hex.DecodeString(digest) + if err != nil || len(decoded) != sha256.Size { + return fmt.Errorf("CW catalog is missing valid capture provenance") + } + } + seasons := make(map[uint32]bool, len(c.CapturedSeasons)) + for _, id := range c.CapturedSeasons { + if id == 0 || seasons[id] { + return fmt.Errorf("invalid or duplicate CW captured season %d", id) + } + seasons[id] = true + } + if !seasons[c.ActiveSeasonID] || c.ActiveSubSeasonID == 0 { + return fmt.Errorf("CW active season has not been captured") + } + c.divisionByID = make(map[uint32]CurrencyWarsDivision, len(c.Divisions)) + for _, division := range c.Divisions { + if division.ID == 0 || !seasons[division.SeasonID] || division.Progress == 0 { + return fmt.Errorf("invalid CW division %d", division.ID) + } + if _, exists := c.divisionByID[division.ID]; exists { + return fmt.Errorf("duplicate CW division %d", division.ID) + } + c.divisionByID[division.ID] = division + } + season, err := c.IntegerRule("GridFight_Season_ID") + if err != nil || season != int64(c.ActiveSeasonID) { + return fmt.Errorf("CW season selection differs from captured native constant") + } + subSeason, err := c.IntegerRule("GridFight_Sub_Season_ID") + if err != nil || subSeason != int64(c.ActiveSubSeasonID) { + return fmt.Errorf("CW subseason selection differs from captured native constant") + } + if len(c.SeasonDivisions(c.ActiveSeasonID)) == 0 { + return fmt.Errorf("CW active season has no divisions") + } + activeModules := 0 + for _, module := range c.SeasonModules { + if !seasons[module.SeasonID] || module.SubSeasonID == 0 || module.OfferingID == 0 || + module.ActivityModuleID == 0 || module.ActivityQuestConfigID == 0 || module.MaxRewardExp == 0 { + return fmt.Errorf("invalid CW season module %d/%d", module.SeasonID, module.SubSeasonID) + } + if module.SeasonID == c.ActiveSeasonID && module.SubSeasonID == c.ActiveSubSeasonID { + activeModules++ + } + } + if activeModules != 1 { + return fmt.Errorf("CW catalog must contain exactly one active season module") + } + return nil +} + +func (c *CurrencyWarsCatalog) ActiveSeasonModule() CurrencyWarsSeasonModule { + for _, module := range c.SeasonModules { + if module.SeasonID == c.ActiveSeasonID && module.SubSeasonID == c.ActiveSubSeasonID { + return module + } + } + // Only validated catalogs are returned by LoadCurrencyWarsCatalog. + panic("CW active season module missing from validated catalog") +} + +// IntegerRule deliberately returns an error for an absent or mistyped rule; +// callers must never replace missing gameplay data with a hidden constant. +func (c *CurrencyWarsCatalog) IntegerRule(name string) (int64, error) { + value, ok := c.Constants["ConstValueCommonExcelTable"][name] + if !ok || !value.IsInt { + return 0, fmt.Errorf("CW integer rule missing or mistyped: %s", name) + } + return value.IntValue, nil +} + +func (c *CurrencyWarsCatalog) Division(id uint32) (CurrencyWarsDivision, bool) { + division, ok := c.divisionByID[id] + return division, ok +} + +// Return a copy so a run cannot mutate shared catalog state while sorting. +func (c *CurrencyWarsCatalog) SeasonDivisions(season uint32) []CurrencyWarsDivision { + var divisions []CurrencyWarsDivision + for _, division := range c.Divisions { + if division.SeasonID == season { + divisions = append(divisions, division) + } + } + sort.Slice(divisions, func(i, j int) bool { + a, b := divisions[i], divisions[j] + if a.DivisionLevel != b.DivisionLevel { + return a.DivisionLevel < b.DivisionLevel + } + if a.Progress != b.Progress { + return a.Progress < b.Progress + } + return a.ID < b.ID + }) + return divisions +} diff --git a/internal/common/currency_wars_commands.go b/internal/common/currency_wars_commands.go new file mode 100644 index 0000000..269e62d --- /dev/null +++ b/internal/common/currency_wars_commands.go @@ -0,0 +1,97 @@ +package common + +import ( + "crypto/rand" + "encoding/hex" + "encoding/json" + "fmt" +) + +// Commands are separate from the run revision. The live game session applies +// them only during Preparation, so a web command cannot invalidate settlement. +type CurrencyWarsCommand struct { + ID string `json:"id"` + UID uint32 `json:"uid"` + RunID uint32 `json:"run_id"` + Field string `json:"field"` + Value uint32 `json:"value"` +} + +func ReadCurrencyWarsCommands() ([]CurrencyWarsCommand, error) { + root, err := readCurrencyWarsPersistentRoot() + if err != nil { + return nil, err + } + var commands []CurrencyWarsCommand + if raw, ok := root["currency_wars_commands"]; ok { + err = json.Unmarshal(raw, &commands) + } + return commands, err +} + +func QueueCurrencyWarsCommand(uid, runID uint32, field string, value uint32) (string, error) { + if uid == 0 || runID == 0 || (field != "gold" && field != "hp") { + return "", fmt.Errorf("invalid CW command") + } + var nonce [16]byte + if _, err := rand.Read(nonce[:]); err != nil { + return "", err + } + id := hex.EncodeToString(nonce[:]) + persistentWriteMu.Lock() + defer persistentWriteMu.Unlock() + unlock, err := lockPersistentFile() + if err != nil { + return "", err + } + defer unlock() + root, err := readCurrencyWarsPersistentRoot() + if err != nil { + return "", err + } + var commands []CurrencyWarsCommand + if raw, ok := root["currency_wars_commands"]; ok { + if err = json.Unmarshal(raw, &commands); err != nil { + return "", err + } + } + commands = append(commands, CurrencyWarsCommand{ID: id, UID: uid, RunID: runID, Field: field, Value: value}) + raw, err := json.Marshal(commands) + if err != nil { + return "", err + } + root["currency_wars_commands"] = raw + return id, writeJSONAtomic("persistent", root) +} + +func AcknowledgeCurrencyWarsCommand(id string) error { + persistentWriteMu.Lock() + defer persistentWriteMu.Unlock() + unlock, err := lockPersistentFile() + if err != nil { + return err + } + defer unlock() + root, err := readCurrencyWarsPersistentRoot() + if err != nil { + return err + } + var commands []CurrencyWarsCommand + if raw, ok := root["currency_wars_commands"]; ok { + if err = json.Unmarshal(raw, &commands); err != nil { + return err + } + } + remaining := commands[:0] + for _, c := range commands { + if c.ID != id { + remaining = append(remaining, c) + } + } + raw, err := json.Marshal(remaining) + if err != nil { + return err + } + root["currency_wars_commands"] = raw + return writeJSONAtomic("persistent", root) +} diff --git a/internal/common/currency_wars_economy.go b/internal/common/currency_wars_economy.go new file mode 100644 index 0000000..32ba1e5 --- /dev/null +++ b/internal/common/currency_wars_economy.go @@ -0,0 +1,56 @@ +package common + +import "fmt" + +// IntegerArrayRule returns a copy of a native integer array, without coercing +// floats/bools or substituting a default for an absent entry. +func (c *CurrencyWarsCatalog) IntegerArrayRule(name string) ([]uint32, error) { + rule, found := c.Constants["ConstValueCommonExcelTable"][name] + if !found || !rule.IsArray || len(rule.ArrayValue) == 0 { + return nil, fmt.Errorf("CW integer array rule missing or mistyped: %s", name) + } + values := make([]uint32, len(rule.ArrayValue)) + for i, item := range rule.ArrayValue { + if !item.IsInt || item.IntValue < 0 || uint64(item.IntValue) > uint64(^uint32(0)) { + return nil, fmt.Errorf("invalid CW integer array %s index %d", name, i) + } + values[i] = uint32(item.IntValue) + } + return values, nil +} + +// BaseSalePrice is the unmodified native star/rarity table price. Run effects, +// stolen-role refunds and special-role policies must be applied by the action +// processor before crediting gold. This does not sell a role or change state. +func (c *CurrencyWarsCatalog) BaseSalePrice(roleID, star uint32) (uint32, error) { + role, err := c.CapturedRole(roleID) + if err != nil { + return 0, err + } + if star == 0 || star > role.MaxStar || role.Config.Rarity == 0 { + return 0, fmt.Errorf("CW role sale star/rarity is invalid") + } + prices, err := c.IntegerArrayRule(fmt.Sprintf("GridFight_AvatarSnippetSellGoldStar%d", star)) + if err != nil { + return 0, err + } + if uint64(role.Config.Rarity) > uint64(len(prices)) { + return 0, fmt.Errorf("CW role rarity has no captured sale price") + } + return prices[role.Config.Rarity-1], nil +} + +// BaseInterest follows native GetWillGainInterest's integer division and cap. +// maxInterest must be the current run's resolved cap, including OC/modifiers; +// callers must not replace a legitimate zero cap with the normal-mode rule. +func (c *CurrencyWarsCatalog) BaseInterest(gold, maxInterest uint32) (uint32, error) { + deposit, err := c.IntegerRule("GridFight_DepositPerInterest") + if err != nil || deposit <= 0 || uint64(deposit) > uint64(^uint32(0)) { + return 0, fmt.Errorf("invalid CW deposit-per-interest rule") + } + interest := gold / uint32(deposit) + if interest > maxInterest { + interest = maxInterest + } + return interest, nil +} diff --git a/internal/common/currency_wars_equipment.go b/internal/common/currency_wars_equipment.go new file mode 100644 index 0000000..975101a --- /dev/null +++ b/internal/common/currency_wars_equipment.go @@ -0,0 +1,67 @@ +package common + +import ( + "crypto/sha256" + "encoding/hex" + "encoding/json" + "fmt" +) + +// Only initialized handbook equipment is captured, not consumables or a claim +// of the complete hidden item table. Native fixed-point values remain text. +type CurrencyWarsEquipment struct { + ItemID uint32 `json:"ItemID"` + BaseItemID uint32 `json:"BaseItemID"` + NeedEquipSlot bool `json:"NeedEquipSlot"` + EquipType uint32 `json:"EquipType"` + EquipCategory uint32 `json:"EquipCategory"` + EquipFunc uint32 `json:"EquipFunc"` + DressRule uint32 `json:"DressRule"` + AbilityName string `json:"AbilityName"` + GeneralPropertyList []CurrencyWarsNativePropertyValue `json:"GeneralPropertyList"` + AbilityParamList []string `json:"AbilityParamList"` + EquipFuncParamList []uint32 `json:"EquipFuncParamList"` + DressRuleParamList []uint32 `json:"DressRuleParamList"` +} + +func LoadCurrencyWarsEquipment(catalog *CurrencyWarsCatalog) (map[uint32]CurrencyWarsEquipment, error) { + raw, err := ReadResourceFile("resources/CurrencyWarsEquipment.json") + if err != nil { + return nil, err + } + var r struct { + Format uint32 `json:"format_version"` + Client string `json:"target_client_version"` + Assembly string `json:"target_assembly_sha256"` + Capture string `json:"source_capture_sha256"` + Entries []CurrencyWarsEquipment `json:"entries"` + } + if err = json.Unmarshal(raw, &r); err != nil { + return nil, err + } + if catalog == nil || r.Format != 1 || r.Client != catalog.ClientVersion || r.Assembly != catalog.Provenance.GameAssemblySHA256 { + return nil, fmt.Errorf("CW equipment revision differs") + } + digest, err := hex.DecodeString(r.Capture) + if err != nil || len(digest) != sha256.Size || len(r.Entries) == 0 { + return nil, fmt.Errorf("CW equipment capture missing") + } + values := make(map[uint32]CurrencyWarsEquipment, len(r.Entries)) + for _, row := range r.Entries { + if _, duplicate := values[row.ItemID]; row.ItemID == 0 || row.BaseItemID == 0 || duplicate { + return nil, fmt.Errorf("CW equipment identity invalid/duplicated") + } + for _, property := range row.GeneralPropertyList { + if property.PropertyType == 0 || !currencyWarsDecimal.MatchString(property.Value) { + return nil, fmt.Errorf("CW equipment property value invalid") + } + } + for _, parameter := range row.AbilityParamList { + if !currencyWarsDecimal.MatchString(parameter) { + return nil, fmt.Errorf("CW equipment ability parameter invalid") + } + } + values[row.ItemID] = row + } + return values, nil +} diff --git a/internal/common/currency_wars_experience.go b/internal/common/currency_wars_experience.go new file mode 100644 index 0000000..3244bd0 --- /dev/null +++ b/internal/common/currency_wars_experience.go @@ -0,0 +1,56 @@ +package common + +import "fmt" + +// The action processor applies each crossed level's properties, capacity and +// shop weights together with this plan. It must not credit an EXP purchase +// separately from its gold/HP debit or persist only part of the level effects. +type CurrencyWarsExperiencePlan struct { + Level uint32 + Exp uint32 + Crossed []CurrencyWarsPlayerLevel +} + +// PlanBaseExperience uses the captured thresholds before run modifiers. +// levelLimit is the resolved run limit, not a fallback to a normal-mode cap. +// Residual EXP at that limit is retained in the returned plan; callers must +// apply a separately established cap/reset policy before encoding the Client +// counter. This function does not guess that policy or spend any currency. +func (c *CurrencyWarsCatalog) PlanBaseExperience(level, exp, gain, levelLimit uint32) (CurrencyWarsExperiencePlan, error) { + var empty CurrencyWarsExperiencePlan + if c == nil || level == 0 || levelLimit < level { + return empty, fmt.Errorf("CW experience level/limit is invalid") + } + if _, err := c.PlayerLevel(levelLimit); err != nil { + return empty, fmt.Errorf("CW experience limit: %w", err) + } + current, err := c.PlayerLevel(level) + if err != nil { + return empty, err + } + if level < levelLimit && (current.LevelUpExp == 0 || exp >= current.LevelUpExp) { + return empty, fmt.Errorf("CW initial experience counter is not normalized") + } + plan := CurrencyWarsExperiencePlan{Level: level} + remaining := uint64(exp) + uint64(gain) + for plan.Level < levelLimit { + if current.LevelUpExp == 0 { + return empty, fmt.Errorf("CW level %d has no positive EXP threshold", plan.Level) + } + if remaining < uint64(current.LevelUpExp) { + break + } + remaining -= uint64(current.LevelUpExp) + plan.Level++ + current, err = c.PlayerLevel(plan.Level) + if err != nil { + return empty, err + } + plan.Crossed = append(plan.Crossed, current) + } + if remaining > uint64(^uint32(0)) { + return empty, fmt.Errorf("CW experience counter overflows protocol uint32") + } + plan.Exp = uint32(remaining) + return plan, nil +} diff --git a/internal/common/currency_wars_levels.go b/internal/common/currency_wars_levels.go new file mode 100644 index 0000000..c15db8b --- /dev/null +++ b/internal/common/currency_wars_levels.go @@ -0,0 +1,84 @@ +package common + +import ( + "crypto/sha256" + "encoding/hex" + "fmt" + "regexp" +) + +// Native PlayerLevelConfigRow, before run-specific modifiers are applied. +type CurrencyWarsPlayerLevel struct { + GeneralPropertyList []CurrencyWarsNativePropertyValue `json:"GeneralPropertyList"` + Level uint32 `json:"PlayerLevel"` + LevelUpExp uint32 `json:"LevelUpExp"` + AvatarMaxNumber uint32 `json:"AvatarMaxNumber"` + Rarity1Weight uint32 `json:"Rarity1Weight"` + Rarity2Weight uint32 `json:"Rarity2Weight"` + Rarity3Weight uint32 `json:"Rarity3Weight"` + Rarity4Weight uint32 `json:"Rarity4Weight"` + Rarity5Weight uint32 `json:"Rarity5Weight"` +} + +// Keep native FixPoint decimal values as text rather than float64. +type CurrencyWarsNativePropertyValue struct { + PropertyType uint32 `json:"PropertyType"` + Value string `json:"Value"` +} + +var currencyWarsDecimal = regexp.MustCompile(`^[+-]?[0-9]+(?:\.[0-9]+)?$`) + +func (p CurrencyWarsPlayerLevel) RarityWeights() [5]uint32 { + return [5]uint32{p.Rarity1Weight, p.Rarity2Weight, p.Rarity3Weight, p.Rarity4Weight, p.Rarity5Weight} +} + +func (c *CurrencyWarsCatalog) validatePlayerLevels() error { + c.playerLevelByID = make(map[uint32]CurrencyWarsPlayerLevel) + if len(c.PlayerLevels) == 0 && c.Provenance.PlayerLevelsSHA256 == "" { + return nil + } + digest, err := hex.DecodeString(c.Provenance.PlayerLevelsSHA256) + if err != nil || len(digest) != sha256.Size { + return fmt.Errorf("CW player-level capture provenance is missing") + } + maxLevel, err := c.IntegerRule("GridFight_DefaultPlayerLevelMax") + if err != nil || maxLevel <= 0 || uint64(maxLevel) != uint64(len(c.PlayerLevels)) { + return fmt.Errorf("CW player-level capture does not cover the default range") + } + for _, row := range c.PlayerLevels { + if row.Level == 0 || uint64(row.Level) > uint64(maxLevel) || row.AvatarMaxNumber == 0 { + return fmt.Errorf("invalid CW player-level row %d", row.Level) + } + if _, duplicate := c.playerLevelByID[row.Level]; duplicate { + return fmt.Errorf("duplicate CW player level %d", row.Level) + } + if row.GeneralPropertyList == nil { + return fmt.Errorf("CW level %d is missing property rows", row.Level) + } + for _, prop := range row.GeneralPropertyList { + if prop.PropertyType == 0 || !currencyWarsDecimal.MatchString(prop.Value) { + return fmt.Errorf("invalid CW property value at level %d", row.Level) + } + } + var total uint64 + for _, weight := range row.RarityWeights() { + total += uint64(weight) + } + if total == 0 { + return fmt.Errorf("CW shop rarity weights are empty at level %d", row.Level) + } + c.playerLevelByID[row.Level] = row + } + return nil +} + +// Native GetLevelUpNeedExp uses a run modifier when present, otherwise this +// table's LevelUpExp. Reading a row does not apply EXP or draw shop cards. +func (c *CurrencyWarsCatalog) PlayerLevel(level uint32) (CurrencyWarsPlayerLevel, error) { + row, exists := c.playerLevelByID[level] + if !exists { + return CurrencyWarsPlayerLevel{}, fmt.Errorf("CW player level %d has not been captured", level) + } + row.GeneralPropertyList = append([]CurrencyWarsNativePropertyValue(nil), row.GeneralPropertyList...) + return row, nil +} diff --git a/internal/common/currency_wars_merge.go b/internal/common/currency_wars_merge.go new file mode 100644 index 0000000..b5a285c --- /dev/null +++ b/internal/common/currency_wars_merge.go @@ -0,0 +1,67 @@ +package common + +import ( + "crypto/sha256" + "encoding/hex" + "encoding/json" + "fmt" +) + +type CurrencyWarsMergeRules struct { + Format uint32 `json:"format_version"` + Client string `json:"target_client_version"` + Assembly string `json:"target_assembly_sha256"` + Capture string `json:"source_capture_sha256"` + Copies uint32 `json:"copies_required"` + OrdinaryMaxStar uint32 `json:"ordinary_max_star"` +} + +func (c *CurrencyWarsCatalog) MergeRules() (CurrencyWarsMergeRules, error) { + var r CurrencyWarsMergeRules + raw, e := ReadResourceFile("resources/CurrencyWarsMergeRules.json") + if e != nil { + return r, e + } + if e = json.Unmarshal(raw, &r); e != nil { + return r, e + } + digest, e := hex.DecodeString(r.Capture) + if e != nil || len(digest) != sha256.Size || r.Format != 1 || r.Client != c.ClientVersion || r.Assembly != c.Provenance.GameAssemblySHA256 || r.Copies < 2 || r.Copies > 64 || r.OrdinaryMaxStar == 0 || r.OrdinaryMaxStar > 16 { + return r, fmt.Errorf("CW merge rules missing or revision differs") + } + return r, nil +} + +// Reserve merged cards as their physical underlying copies. Ordinary full-star +// roles are excluded from new draws; returning unsold offers keeps exclusion. +func (p *CurrencyWarsCardPool) ReserveOwned(c *CurrencyWarsCatalog, id, star uint32) error { + entry, ok := p.Roles[id] + if !ok { + return nil + } + base, e := c.CapturedRole(id) + if e != nil { + return e + } + rules, e := c.MergeRules() + if e != nil { + return e + } + if star < base.DefaultStar || star > base.MaxStar { + return fmt.Errorf("CW owned star is invalid") + } + copies := uint64(1) + for s := base.DefaultStar; s < star; s++ { + copies *= uint64(rules.Copies) + if copies > uint64(entry.Capacity) { + return fmt.Errorf("CW owned copies exceed pool capacity") + } + } + if copies > uint64(entry.Remaining) { + return fmt.Errorf("CW pool exhausted for %d", id) + } + entry.Remaining -= uint32(copies) + entry.Disabled = entry.Disabled || star >= rules.OrdinaryMaxStar + p.Roles[id] = entry + return nil +} diff --git a/internal/common/currency_wars_nodes.go b/internal/common/currency_wars_nodes.go new file mode 100644 index 0000000..8a7f0d5 --- /dev/null +++ b/internal/common/currency_wars_nodes.go @@ -0,0 +1,78 @@ +package common + +import ( + "crypto/sha256" + "encoding/hex" + "fmt" +) + +type CurrencyWarsChapter struct { + ID uint32 `json:"ChapterID"` + HealNum uint32 `json:"HealNum"` +} + +type CurrencyWarsNodeType struct { + Name string `json:"name"` + Value uint32 `json:"value"` +} + +func (c *CurrencyWarsCatalog) validateNodeRules() error { + c.chapterByID = make(map[uint32]CurrencyWarsChapter) + c.nodeTypeByID = make(map[uint32]string) + if len(c.Chapters) == 0 && len(c.NodeTypes) == 0 && c.Provenance.ChaptersSHA256 == "" && c.Provenance.NodeTypesSHA256 == "" { + return nil + } + for _, hash := range []string{c.Provenance.ChaptersSHA256, c.Provenance.NodeTypesSHA256} { + digest, err := hex.DecodeString(hash) + if err != nil || len(digest) != sha256.Size { + return fmt.Errorf("CW chapter/node enum capture provenance is missing") + } + } + needed := make(map[uint32]bool) + for _, row := range c.StageRoutes { + needed[row.ChapterID] = true + } + for _, row := range c.Chapters { + if !needed[row.ID] { + return fmt.Errorf("CW chapter %d is not in captured routes", row.ID) + } + if _, duplicate := c.chapterByID[row.ID]; duplicate { + return fmt.Errorf("duplicate CW chapter %d", row.ID) + } + c.chapterByID[row.ID] = row + } + if len(c.chapterByID) != len(needed) { + return fmt.Errorf("CW chapter rules do not cover every route chapter") + } + names := make(map[string]bool) + for _, row := range c.NodeTypes { + if row.Name == "" || names[row.Name] { + return fmt.Errorf("invalid/duplicate CW node enum name") + } + if _, duplicate := c.nodeTypeByID[row.Value]; duplicate { + return fmt.Errorf("duplicate CW node enum value %d", row.Value) + } + c.nodeTypeByID[row.Value] = row.Name + names[row.Name] = true + } + if len(c.nodeTypeByID) == 0 { + return fmt.Errorf("CW node enum is empty") + } + return nil +} + +func (c *CurrencyWarsCatalog) Chapter(id uint32) (CurrencyWarsChapter, error) { + row, exists := c.chapterByID[id] + if !exists { + return CurrencyWarsChapter{}, fmt.Errorf("CW chapter %d has not been captured", id) + } + return row, nil +} + +func (c *CurrencyWarsCatalog) NodeTypeName(value uint32) (string, error) { + name, exists := c.nodeTypeByID[value] + if !exists { + return "", fmt.Errorf("CW node type %d has not been captured", value) + } + return name, nil +} diff --git a/internal/common/currency_wars_pool.go b/internal/common/currency_wars_pool.go new file mode 100644 index 0000000..f6678ca --- /dev/null +++ b/internal/common/currency_wars_pool.go @@ -0,0 +1,209 @@ +package common + +import ( + "fmt" + "sort" +) + +// A run's card pool, separate from the immutable capture and adventure bag. +// This initial pool covers captured, pool-enabled handbook roles only. Hidden +// roles need captured configurations before they can enter this pool. +type CurrencyWarsCardPool struct { + Roles map[uint32]CurrencyWarsPoolRole `json:"roles"` +} + +type CurrencyWarsPoolRole struct { + Rarity uint32 `json:"rarity"` + Capacity uint32 `json:"capacity"` + Remaining uint32 `json:"remaining"` + Disabled bool `json:"disabled,omitempty"` +} + +// Draw policy is explicit server policy, not a claim that the Client defines +// how the original server weights different roles inside a rarity bucket. +type CurrencyWarsDrawPolicy string + +const ( + CurrencyWarsDrawRemainingCopies CurrencyWarsDrawPolicy = "remaining_copies" + CurrencyWarsDrawUniformRoleIDs CurrencyWarsDrawPolicy = "uniform_role_ids" +) + +// NewCapturedCardPool reads capacity and initial exclusions from captured +// native constants. It never fabricates an ID or silently includes non-pool +// roles. The caller must retain the capture-coverage limitation above. +func (c *CurrencyWarsCatalog) NewCapturedCardPool() (*CurrencyWarsCardPool, error) { + capacities, err := c.IntegerArrayRule("GridFight_CardPoolNumber") + if err != nil { + return nil, err + } + excluded, err := c.IntegerArrayRule("GridFight_InitialExceptRoleIdList") + if err != nil { + return nil, err + } + blocked := make(map[uint32]bool, len(excluded)) + for _, id := range excluded { + blocked[id] = true + } + pool := &CurrencyWarsCardPool{Roles: make(map[uint32]CurrencyWarsPoolRole)} + if len(c.CapturedVariants) == 0 { + return nil, fmt.Errorf("CW initial card pool needs a completed role capture") + } + for _, role := range c.CapturedVariants { + r := role.Config + if !r.IsInPool || blocked[r.ID] { + continue + } + if r.SeasonID != c.ActiveSeasonID || r.Rarity == 0 || uint64(r.Rarity) > uint64(len(capacities)) || capacities[r.Rarity-1] == 0 { + return nil, fmt.Errorf("CW role %d has no captured pool capacity", r.ID) + } + entry := CurrencyWarsPoolRole{Rarity: r.Rarity, Capacity: capacities[r.Rarity-1], Remaining: capacities[r.Rarity-1]} + if old, present := pool.Roles[r.ID]; present && old != entry { + return nil, fmt.Errorf("conflicting CW pool role %d", r.ID) + } + pool.Roles[r.ID] = entry + } + if len(pool.Roles) == 0 { + return nil, fmt.Errorf("CW captured initial pool is empty") + } + return pool, nil +} + +func (p *CurrencyWarsCardPool) Clone() *CurrencyWarsCardPool { + copyPool := &CurrencyWarsCardPool{Roles: make(map[uint32]CurrencyWarsPoolRole, len(p.Roles))} + for id, entry := range p.Roles { + copyPool.Roles[id] = entry + } + return copyPool +} + +// ReturnCopies is internal inventory bookkeeping. The action processor must +// prove ownership/unsold-offer identity before supplying IDs. Capacity checks +// prevent overfilling, and validation commits no partial refund on failure. +func (p *CurrencyWarsCardPool) ReturnCopies(ids []uint32) error { + if p == nil { + return fmt.Errorf("CW pool is missing") + } + next := p.Clone() + for _, id := range ids { + role, exists := next.Roles[id] + if !exists || role.Remaining >= role.Capacity { + return fmt.Errorf("invalid CW pool refund for role %d", id) + } + role.Remaining++ + next.Roles[id] = role + } + p.Roles = next.Roles + return nil +} + +// Draw reserves copies for shop offers. Rarity weights must be the run's +// resolved weights (including modifiers), not necessarily unmodified level +// rows. The supplied random function returns a value in [0,upper); no seeded +// generator or machine-specific randomness policy is hidden here. +func (p *CurrencyWarsCardPool) Draw(count uint32, rarityWeights []uint32, policy CurrencyWarsDrawPolicy, + random func(upper uint64) (uint64, error)) ([]uint32, error) { + if p == nil || random == nil || len(rarityWeights) == 0 { + return nil, fmt.Errorf("CW draw inputs are incomplete") + } + if policy != CurrencyWarsDrawRemainingCopies && policy != CurrencyWarsDrawUniformRoleIDs { + return nil, fmt.Errorf("unknown CW draw policy %q", policy) + } + next := p.Clone() + ids := make([]uint32, 0, len(next.Roles)) + var available uint64 + for id, role := range next.Roles { + if id == 0 || role.Rarity == 0 || uint64(role.Rarity) > uint64(len(rarityWeights)) || role.Remaining > role.Capacity { + return nil, fmt.Errorf("invalid CW pool role %d", id) + } + if role.Disabled { + continue + } + ids = append(ids, id) + if rarityWeights[role.Rarity-1] != 0 { + available += uint64(role.Remaining) + } + } + if uint64(count) > available { + return nil, fmt.Errorf("CW pool has too few eligible copies") + } + sort.Slice(ids, func(i, j int) bool { return ids[i] < ids[j] }) + var drawn []uint32 + for draw := uint32(0); draw < count; draw++ { + present := make([]bool, len(rarityWeights)) + for _, id := range ids { + role := next.Roles[id] + if role.Remaining != 0 { + present[role.Rarity-1] = true + } + } + var total uint64 + for i, weight := range rarityWeights { + if present[i] { + total += uint64(weight) + } + } + if total == 0 { + return nil, fmt.Errorf("CW eligible rarity weights are empty") + } + roll, err := random(total) + if err != nil { + return nil, err + } + if roll >= total { + return nil, fmt.Errorf("CW random source returned an out-of-range rarity roll") + } + var rarity uint32 + for i, weight := range rarityWeights { + if !present[i] { + continue + } + if roll < uint64(weight) { + rarity = uint32(i) + 1 + break + } + roll -= uint64(weight) + } + var roleTotal uint64 + for _, id := range ids { + role := next.Roles[id] + if role.Rarity == rarity && role.Remaining != 0 { + if policy == CurrencyWarsDrawRemainingCopies { + roleTotal += uint64(role.Remaining) + } else { + roleTotal++ + } + } + } + roleRoll, err := random(roleTotal) + if err != nil { + return nil, err + } + if roleRoll >= roleTotal { + return nil, fmt.Errorf("CW random source returned an out-of-range role roll") + } + selected := false + for _, id := range ids { + role := next.Roles[id] + if role.Rarity != rarity || role.Remaining == 0 { + continue + } + weight := uint64(1) + if policy == CurrencyWarsDrawRemainingCopies { + weight = uint64(role.Remaining) + } + if roleRoll < weight { + role.Remaining-- + next.Roles[id] = role + drawn = append(drawn, id) + selected = true + break + } + roleRoll -= weight + } + if !selected { + return nil, fmt.Errorf("CW role draw did not resolve") + } + } + p.Roles = next.Roles + return drawn, nil +} diff --git a/internal/common/currency_wars_roles.go b/internal/common/currency_wars_roles.go new file mode 100644 index 0000000..747a608 --- /dev/null +++ b/internal/common/currency_wars_roles.go @@ -0,0 +1,116 @@ +package common + +import ( + "crypto/sha256" + "encoding/hex" + "fmt" +) + +// CapturedRole retains native handbook-default configuration. This is not the +// complete shop pool: hidden, variant and OtherRoles entries are not captured. +type CurrencyWarsCapturedRole struct { + Config CurrencyWarsRoleConfig `json:"Config"` + Price uint32 `json:"Price"` + MaxStar uint32 `json:"MaxStar"` + DefaultStar uint32 `json:"DefaultStar"` + DefaultSellPrice uint32 `json:"DefaultSellPrice"` +} + +type CurrencyWarsRoleConfig struct { + ID uint32 `json:"ID"` + SeasonID uint32 `json:"SeasonID"` + AvatarID uint32 `json:"AvatarID"` + SpecialAvatarID uint32 `json:"SpecialAvatarID"` + Rarity uint32 `json:"Rarity"` + IsInBook bool `json:"IsInBook"` + IsInPool bool `json:"IsInPool"` + IsExpert uint32 `json:"IsExpert"` + IsFakeAvatar uint32 `json:"IsFakeAvatar"` + FrontBackType uint32 `json:"FrontBackType"` + EquipmentID uint32 `json:"EquipmentID"` + TraitList []uint32 `json:"TraitList"` + BackendRankList []uint32 `json:"BackendRankList"` + ChargeType []uint32 `json:"ChargeType"` +} + +// Stage wrappers were captured on a fresh profile without talents. Future +// run modifiers must be applied separately; these are not final reward totals. +type CurrencyWarsCapturedStage struct { + ID uint32 `json:"ID"` + EnemyHardLevel uint32 `json:"EnemyHardLevel"` + Exp uint32 `json:"Exp"` + WeeklyScore uint32 `json:"WeeklyScore"` + OverChargeExp uint32 `json:"OverChargeExp"` + OverChargeWeeklyScore uint32 `json:"OverChargeWeeklyScore"` + ScoreRule uint32 `json:"ScoreRule"` + OCScoreRule uint32 `json:"OCScoreRule"` + EnvironmentBuffList []uint32 `json:"EnvironmentBuffList"` +} + +func (c *CurrencyWarsCatalog) validateCapturedGameplay() error { + digest, err := hex.DecodeString(c.Provenance.GameplaySHA256) + if err != nil || len(digest) != sha256.Size || len(c.CapturedRoles) == 0 { + return fmt.Errorf("CW role/stage capture or provenance is missing") + } + c.roleByID = make(map[uint32]CurrencyWarsCapturedRole) + for _, role := range c.CapturedRoles { + r := role.Config + if r.ID == 0 || r.AvatarID == 0 || r.SeasonID != c.ActiveSeasonID || role.DefaultStar == 0 || role.DefaultStar > role.MaxStar { + return fmt.Errorf("invalid CW captured role %d", r.ID) + } + if _, duplicate := c.roleByID[r.ID]; duplicate { + return fmt.Errorf("duplicate CW role %d", r.ID) + } + c.roleByID[r.ID] = role + } + for _, role := range c.CapturedRoles { + price, err := c.BaseSalePrice(role.Config.ID, role.DefaultStar) + if err != nil || price != role.DefaultSellPrice { + return fmt.Errorf("CW captured default sale price differs from star/rarity table for role %d", role.Config.ID) + } + } + c.stageByID = make(map[uint32]CurrencyWarsCapturedStage) + for _, stage := range c.CapturedStages { + division, found := c.divisionByID[stage.ID] + if !found || division.SeasonID != c.ActiveSeasonID || stage.EnemyHardLevel == 0 { + return fmt.Errorf("CW stage %d has no matching active division", stage.ID) + } + if _, duplicate := c.stageByID[stage.ID]; duplicate { + return fmt.Errorf("duplicate CW captured stage %d", stage.ID) + } + c.stageByID[stage.ID] = stage + } + if len(c.stageByID) != len(c.SeasonDivisions(c.ActiveSeasonID)) { + return fmt.Errorf("CW stage capture does not cover every active division") + } + if err := c.validateRoleVariants(); err != nil { + return err + } + if err := c.validatePlayerLevels(); err != nil { + return err + } + if err := c.validateNodeRules(); err != nil { + return err + } + return c.validateMonsterCamps() +} + +func (c *CurrencyWarsCatalog) CapturedRole(id uint32) (CurrencyWarsCapturedRole, error) { + role, found := c.roleByID[id] + if !found { + return CurrencyWarsCapturedRole{}, fmt.Errorf("CW role %d has not been captured", id) + } + role.Config.TraitList = append([]uint32(nil), role.Config.TraitList...) + role.Config.BackendRankList = append([]uint32(nil), role.Config.BackendRankList...) + role.Config.ChargeType = append([]uint32(nil), role.Config.ChargeType...) + return role, nil +} + +func (c *CurrencyWarsCatalog) CapturedStage(id uint32) (CurrencyWarsCapturedStage, error) { + stage, found := c.stageByID[id] + if !found { + return CurrencyWarsCapturedStage{}, fmt.Errorf("CW stage %d has not been captured", id) + } + stage.EnvironmentBuffList = append([]uint32(nil), stage.EnvironmentBuffList...) + return stage, nil +} diff --git a/internal/common/currency_wars_shop.go b/internal/common/currency_wars_shop.go new file mode 100644 index 0000000..6c05be8 --- /dev/null +++ b/internal/common/currency_wars_shop.go @@ -0,0 +1,212 @@ +package common + +import "fmt" + +// Shop plans are detached copies. The run action processor must commit the +// returned shop, gold and purchased board role together in one saved revision. +// They never mutate adventure inventory or write persistent state themselves. +type CurrencyWarsShop struct { + Pool *CurrencyWarsCardPool `json:"pool"` + Offers []CurrencyWarsShopOffer `json:"offers"` + Locked bool `json:"locked"` + FreeRefreshTimes uint32 `json:"free_refresh_times"` +} + +type CurrencyWarsShopOffer struct { + RoleID uint32 `json:"role_id"` + Star uint32 `json:"star"` + Cost uint32 `json:"cost"` + Sold bool `json:"sold"` +} + +// Quotes and rarity weights must come from the server's current run modifiers. +// Neither a client request price nor an implicit base-price fallback is used. +type CurrencyWarsShopQuote func(roleID uint32) (star, cost uint32, err error) + +// BaseShopRules returns captured values before run effects. The action +// processor resolves modifiers and supplies the resulting rules explicitly. +type CurrencyWarsShopRules struct { + Slots uint32 + RefreshCost uint32 +} + +func (c *CurrencyWarsCatalog) BaseShopRules() (CurrencyWarsShopRules, error) { + slots, err := c.shopRule("GridFight_CardNumberPerRefresh") + if err != nil { + return CurrencyWarsShopRules{}, err + } + cost, err := c.shopRule("GridFight_LotteryRefreshGold") + if err != nil { + return CurrencyWarsShopRules{}, err + } + if slots == 0 { + return CurrencyWarsShopRules{}, fmt.Errorf("CW shop has no configured slots") + } + return CurrencyWarsShopRules{Slots: slots, RefreshCost: cost}, nil +} + +func (s *CurrencyWarsShop) Clone() *CurrencyWarsShop { + if s == nil { + return nil + } + next := *s + next.Offers = append([]CurrencyWarsShopOffer(nil), s.Offers...) + if s.Pool != nil { + next.Pool = s.Pool.Clone() + } + return &next +} + +func (s *CurrencyWarsShop) validate() error { + if s == nil || s.Pool == nil || len(s.Pool.Roles) == 0 { + return fmt.Errorf("CW shop card pool is missing") + } + reserved := make(map[uint32]uint64) + for _, offer := range s.Offers { + if offer.RoleID == 0 || offer.Star == 0 { + return fmt.Errorf("CW shop offer identity is incomplete") + } + if _, exists := s.Pool.Roles[offer.RoleID]; !exists { + return fmt.Errorf("CW shop role %d is absent from pool", offer.RoleID) + } + if !offer.Sold { + reserved[offer.RoleID]++ + } + } + for id, role := range s.Pool.Roles { + if id == 0 || role.Rarity == 0 || role.Capacity == 0 || role.Remaining > role.Capacity || + uint64(role.Remaining)+reserved[id] > uint64(role.Capacity) { + return fmt.Errorf("CW shop pool accounting is invalid for role %d", id) + } + } + return nil +} + +// PlanRefresh charges only a manual refresh. Enter-node refreshes must use +// PlanEnterNode, which also observes the lock. Both return a detached state; +// failures (including RNG and quote failures) leave the original untouched. +func (s *CurrencyWarsShop) PlanRefresh(c *CurrencyWarsCatalog, rules CurrencyWarsShopRules, gold uint32, weights []uint32, + policy CurrencyWarsDrawPolicy, random func(uint64) (uint64, error), quote CurrencyWarsShopQuote, +) (*CurrencyWarsShop, uint32, error) { + if err := s.validate(); err != nil { + return nil, gold, err + } + next := s.Clone() + remainingGold := gold + if next.FreeRefreshTimes > 0 { + next.FreeRefreshTimes-- + } else { + if gold < rules.RefreshCost { + return nil, gold, fmt.Errorf("CW refresh gold is insufficient") + } + remainingGold -= rules.RefreshCost + } + if err := next.replaceOffers(c, rules, weights, policy, random, quote); err != nil { + return nil, gold, err + } + return next, remainingGold, nil +} + +func (s *CurrencyWarsShop) PlanEnterNode(c *CurrencyWarsCatalog, rules CurrencyWarsShopRules, weights []uint32, + policy CurrencyWarsDrawPolicy, random func(uint64) (uint64, error), quote CurrencyWarsShopQuote, +) (*CurrencyWarsShop, error) { + if err := s.validate(); err != nil { + return nil, err + } + next := s.Clone() + // Keeping a locked shop does not reroll or refund any reserved copies. + // The run processor decides when the lock is cleared from captured rules. + if next.Locked { + return next, nil + } + if err := next.replaceOffers(c, rules, weights, policy, random, quote); err != nil { + return nil, err + } + return next, nil +} + +func (s *CurrencyWarsShop) replaceOffers(c *CurrencyWarsCatalog, rules CurrencyWarsShopRules, weights []uint32, + policy CurrencyWarsDrawPolicy, random func(uint64) (uint64, error), quote CurrencyWarsShopQuote, +) error { + if quote == nil { + return fmt.Errorf("CW shop quote resolver is missing") + } + if c == nil { + return fmt.Errorf("CW catalog is missing") + } + if rules.Slots == 0 { + return fmt.Errorf("CW shop has no configured slots") + } + var returned []uint32 + for _, offer := range s.Offers { + if !offer.Sold { + returned = append(returned, offer.RoleID) + } + } + if err := s.Pool.ReturnCopies(returned); err != nil { + return err + } + drawn, err := s.Pool.Draw(rules.Slots, weights, policy, random) + if err != nil { + return err + } + offers := make([]CurrencyWarsShopOffer, len(drawn)) + for i, id := range drawn { + star, cost, err := quote(id) + if err != nil { + return fmt.Errorf("CW quote role %d: %w", id, err) + } + // One reserved pool copy represents a base role. A quoted upgraded role + // needs an explicit copy-consumption rule before it can be offered here. + role, err := c.CapturedRole(id) + if err != nil { + return err + } + if star != role.DefaultStar { + return fmt.Errorf("CW upgraded shop offer needs a copy-consumption rule") + } + if _, err := c.CapturedRoleVariant(id, star); err != nil { + return err + } + offers[i] = CurrencyWarsShopOffer{RoleID: id, Star: star, Cost: cost} + } + s.Offers = offers + return s.validate() +} + +// PlanBuy transfers the already-reserved copy to the board action processor. +// That processor must validate placement, merge and capacity before committing +// this plan. Rejecting placement discards the whole plan, including gold debit. +func (s *CurrencyWarsShop) PlanBuy(slot, gold uint32) (*CurrencyWarsShop, uint32, CurrencyWarsShopOffer, error) { + var empty CurrencyWarsShopOffer + if err := s.validate(); err != nil { + return nil, gold, empty, err + } + if uint64(slot) >= uint64(len(s.Offers)) { + return nil, gold, empty, fmt.Errorf("CW shop slot is out of range") + } + offer := s.Offers[slot] + if offer.Sold { + return nil, gold, empty, fmt.Errorf("CW shop offer was already bought") + } + if gold < offer.Cost { + return nil, gold, empty, fmt.Errorf("CW purchase gold is insufficient") + } + next := s.Clone() + next.Offers[slot].Sold = true + return next, gold - offer.Cost, offer, nil +} + +func (c *CurrencyWarsCatalog) shopRule(name string) (uint32, error) { + if c == nil { + return 0, fmt.Errorf("CW catalog is missing") + } + value, err := c.IntegerRule(name) + if err != nil { + return 0, err + } + if value < 0 || uint64(value) > uint64(^uint32(0)) { + return 0, fmt.Errorf("CW shop rule %s is outside uint32", name) + } + return uint32(value), nil +} diff --git a/internal/common/currency_wars_spotlights.go b/internal/common/currency_wars_spotlights.go new file mode 100644 index 0000000..a8dc8ac --- /dev/null +++ b/internal/common/currency_wars_spotlights.go @@ -0,0 +1,72 @@ +package common + +import ( + "crypto/sha256" + "encoding/hex" + "encoding/json" + "fmt" +) + +type CurrencyWarsSpotlight struct { + ID uint32 `json:"ID"` + SuitableRoles []uint32 `json:"SuitableAvatarList"` + IsCarry bool `json:"IsCarry"` + IsOCEffective bool `json:"IsOCEffective"` + EnemyDiffLvAdd int32 `json:"EnemyDiffLvAdd"` + TraitID uint32 `json:"TraitID"` + JsonPath string `json:"JsonPath"` + EffectParams []string `json:"EffectParamList"` +} + +type CurrencyWarsSpotlightPolicy struct { + Format uint32 `json:"format_version"` + Client string `json:"target_client_version"` + Assembly string `json:"target_assembly_sha256"` + OfferCount uint32 `json:"offer_count"` + FreeRefreshCount uint32 `json:"free_refresh_count"` +} + +func (c *CurrencyWarsCatalog) SpotlightData() (map[uint32]CurrencyWarsSpotlight, CurrencyWarsSpotlightPolicy, error) { + var policy CurrencyWarsSpotlightPolicy + var resource struct { + Format uint32 `json:"format_version"` + Client string `json:"target_client_version"` + Assembly string `json:"target_assembly_sha256"` + Capture string `json:"source_capture_sha256"` + Entries []CurrencyWarsSpotlight `json:"entries"` + } + raw, e := ReadResourceFile("resources/CurrencyWarsSpotlights.json") + if e != nil { + return nil, policy, e + } + if e = json.Unmarshal(raw, &resource); e != nil { + return nil, policy, e + } + digest, e := hex.DecodeString(resource.Capture) + if e != nil || len(digest) != sha256.Size || resource.Format != 1 || resource.Client != c.ClientVersion || resource.Assembly != c.Provenance.GameAssemblySHA256 || len(resource.Entries) == 0 { + return nil, policy, fmt.Errorf("CW Spotlight capture revision differs") + } + rows := make(map[uint32]CurrencyWarsSpotlight, len(resource.Entries)) + for _, r := range resource.Entries { + if _, exists := rows[r.ID]; exists || r.ID == 0 || r.JsonPath == "" { + return nil, policy, fmt.Errorf("CW Spotlight configuration invalid") + } + for _, v := range r.EffectParams { + if !currencyWarsDecimal.MatchString(v) { + return nil, policy, fmt.Errorf("CW Spotlight effect parameter invalid") + } + } + rows[r.ID] = r + } + raw, e = ReadResourceFile("resources/CurrencyWarsSpotlightPolicy.json") + if e != nil { + return nil, policy, e + } + if e = json.Unmarshal(raw, &policy); e != nil { + return nil, policy, e + } + if policy.Format != 1 || policy.Client != c.ClientVersion || policy.Assembly != c.Provenance.GameAssemblySHA256 || policy.OfferCount == 0 || policy.OfferCount > uint32(len(rows)) { + return nil, policy, fmt.Errorf("CW Spotlight selection policy invalid") + } + return rows, policy, nil +} diff --git a/internal/common/currency_wars_store.go b/internal/common/currency_wars_store.go new file mode 100644 index 0000000..6eb952d --- /dev/null +++ b/internal/common/currency_wars_store.go @@ -0,0 +1,147 @@ +package common + +import ( + "crypto/sha256" + "encoding/hex" + "encoding/json" + "errors" + "fmt" + "os" + "strconv" +) + +const currencyWarsSaveFormat = 1 // Version of this repository's save envelope. + +var ErrCurrencyWarsSaveConflict = errors.New("CW save changed in another session") + +// WireData is a serialized GridFightGetDataScRsp, retaining unknown protocol +// fields. UID and Client identity prevent restoring a different account/schema. +type CurrencyWarsSnapshot struct { + FormatVersion uint32 `json:"format_version"` + UID uint32 `json:"uid"` + ClientVersion string `json:"client_version"` + AssemblySHA256 string `json:"assembly_sha256"` + Revision uint64 `json:"revision"` + WireData []byte `json:"wire_data"` +} + +func (s *CurrencyWarsSnapshot) validate() error { + if s == nil || s.FormatVersion != currencyWarsSaveFormat || s.UID == 0 || s.ClientVersion == "" || len(s.WireData) == 0 { + return fmt.Errorf("invalid CW snapshot envelope") + } + if digest, err := hex.DecodeString(s.AssemblySHA256); err != nil || len(digest) != sha256.Size { + return fmt.Errorf("invalid CW snapshot source hash") + } + return nil +} + +// ReadCurrencyWarsSnapshot never creates or rewrites persistent. A revision +// mismatch is surfaced rather than silently replacing progress with defaults. +func ReadCurrencyWarsSnapshot(uid uint32, version, assemblySHA string) (*CurrencyWarsSnapshot, error) { + root, err := readCurrencyWarsPersistentRoot() + if err != nil { + return nil, err + } + var accounts map[string]json.RawMessage + if raw, ok := root["currency_wars"]; ok { + if err := json.Unmarshal(raw, &accounts); err != nil || accounts == nil { + return nil, fmt.Errorf("invalid CW account store") + } + } + raw, found := accounts[strconv.FormatUint(uint64(uid), 10)] + if !found { + return nil, nil + } + var snapshot CurrencyWarsSnapshot + if err := json.Unmarshal(raw, &snapshot); err != nil { + return nil, fmt.Errorf("decode CW snapshot: %w", err) + } + if err := snapshot.validate(); err != nil { + return nil, err + } + if snapshot.UID != uid || snapshot.ClientVersion != version || snapshot.AssemblySHA256 != assemblySHA || snapshot.Revision == 0 { + return nil, fmt.Errorf("CW snapshot account/Client revision does not match") + } + return &snapshot, nil +} + +func readCurrencyWarsPersistentRoot() (map[string]json.RawMessage, error) { + raw, err := os.ReadFile("persistent") + if os.IsNotExist(err) { + return make(map[string]json.RawMessage), nil + } + if err != nil { + return nil, err + } + var root map[string]json.RawMessage + if err := json.Unmarshal(raw, &root); err != nil || root == nil { + return nil, fmt.Errorf("invalid persistent object; CW save refused") + } + return root, nil +} + +// CommitCurrencyWarsSnapshot updates only this UID's CW value, sharing the +// existing cross-process lock and atomic writer. expectedRevision prevents a +// stale game session from overwriting a later run. The caller must validate +// the protocol payload before committing; reads do not perform migration. +func CommitCurrencyWarsSnapshot(expectedRevision uint64, next CurrencyWarsSnapshot) (uint64, error) { + if err := next.validate(); err != nil { + return 0, err + } + persistentWriteMu.Lock() + defer persistentWriteMu.Unlock() + unlock, err := lockPersistentFile() + if err != nil { + return 0, err + } + defer unlock() + root, err := readCurrencyWarsPersistentRoot() + if err != nil { + return 0, err + } + accounts := make(map[string]json.RawMessage) + if raw, exists := root["currency_wars"]; exists { + if err := json.Unmarshal(raw, &accounts); err != nil || accounts == nil { + return 0, fmt.Errorf("invalid CW account store; save refused") + } + } + key := strconv.FormatUint(uint64(next.UID), 10) + var revision uint64 + if raw, exists := accounts[key]; exists { + var previous CurrencyWarsSnapshot + if err := json.Unmarshal(raw, &previous); err != nil { + return 0, err + } + if err := previous.validate(); err != nil { + return 0, err + } + if previous.UID != next.UID || previous.ClientVersion != next.ClientVersion || previous.AssemblySHA256 != next.AssemblySHA256 || previous.Revision == 0 { + return 0, fmt.Errorf("CW snapshot source differs; migration is required") + } + revision = previous.Revision + } + if revision != expectedRevision { + return 0, ErrCurrencyWarsSaveConflict + } + if revision == ^uint64(0) { + return 0, fmt.Errorf("CW snapshot revision exhausted") + } + next.Revision = revision + 1 + accounts[key], err = json.Marshal(next) + if err != nil { + return 0, err + } + root["currency_wars"], err = json.Marshal(accounts) + if err != nil { + return 0, err + } + if err := writeJSONAtomic("persistent", root); err != nil { + return 0, err + } + return next.Revision, nil +} + +func NewCurrencyWarsSnapshot(uid uint32, version, assemblySHA string, wire []byte) CurrencyWarsSnapshot { + return CurrencyWarsSnapshot{FormatVersion: currencyWarsSaveFormat, UID: uid, + ClientVersion: version, AssemblySHA256: assemblySHA, WireData: append([]byte(nil), wire...)} +} diff --git a/internal/common/currency_wars_test.go b/internal/common/currency_wars_test.go new file mode 100644 index 0000000..97d0e00 --- /dev/null +++ b/internal/common/currency_wars_test.go @@ -0,0 +1,178 @@ +package common + +import ( + "bytes" + "encoding/json" + "os" + "strings" + "testing" +) + +func loadCurrencyWarsTestCatalog(t *testing.T) *CurrencyWarsCatalog { + t.Helper() + raw, err := ReadResourceFile("resources/CurrencyWarsCatalog.json") + if err != nil { + t.Fatal(err) + } + var catalog CurrencyWarsCatalog + if err := json.Unmarshal(raw, &catalog); err != nil { + t.Fatal(err) + } + if err := catalog.validate(catalog.ClientVersion); err != nil { + t.Fatalf("validate captured CW catalog: %v", err) + } + if err := catalog.resolveActivity(); err != nil { + t.Fatalf("resolve captured CW activities: %v", err) + } + if err := catalog.validateRoutes(); err != nil { + t.Fatalf("validate captured CW routes: %v", err) + } + if err := catalog.validateCapturedGameplay(); err != nil { + t.Fatalf("validate captured CW role/stage data: %v", err) + } + if err := catalog.validateEntrance(); err != nil { + t.Fatalf("validate captured CW entrance: %v", err) + } + return &catalog +} + +func TestCurrencyWarsCapturedCatalogAndConfiguredVersion(t *testing.T) { + catalog := loadCurrencyWarsTestCatalog(t) + if len(catalog.ActivitySchedules()) == 0 || len(catalog.CapturedRoles) == 0 || len(catalog.CapturedStages) == 0 { + t.Fatal("captured CW activity, role, or stage data is empty") + } + if err := catalog.validate(catalog.ClientVersion + "-mismatch"); err == nil { + t.Fatal("CW catalog accepted a different Client version") + } +} + +func TestCurrencyWarsCatalogLookupsReturnIsolatedCopies(t *testing.T) { + catalog := loadCurrencyWarsTestCatalog(t) + + roleBefore, err := catalog.CapturedRole(catalog.CapturedRoles[0].Config.ID) + if err != nil { + t.Fatal(err) + } + role, err := catalog.CapturedRole(catalog.CapturedRoles[0].Config.ID) + if err != nil { + t.Fatal(err) + } + if len(role.Config.TraitList) > 0 { + role.Config.TraitList[0]++ + } + roleAfter, err := catalog.CapturedRole(catalog.CapturedRoles[0].Config.ID) + if err != nil { + t.Fatal(err) + } + if len(roleBefore.Config.TraitList) > 0 && roleAfter.Config.TraitList[0] != roleBefore.Config.TraitList[0] { + t.Fatal("mutating a returned CW role changed catalog data") + } + + stageBefore, err := catalog.CapturedStage(catalog.CapturedStages[0].ID) + if err != nil { + t.Fatal(err) + } + stage, err := catalog.CapturedStage(catalog.CapturedStages[0].ID) + if err != nil { + t.Fatal(err) + } + if len(stage.EnvironmentBuffList) > 0 { + stage.EnvironmentBuffList[0]++ + } + stageAfter, err := catalog.CapturedStage(catalog.CapturedStages[0].ID) + if err != nil { + t.Fatal(err) + } + if len(stageBefore.EnvironmentBuffList) > 0 && stageAfter.EnvironmentBuffList[0] != stageBefore.EnvironmentBuffList[0] { + t.Fatal("mutating a returned CW stage changed catalog data") + } + + routeID := catalog.StageRoutes[0].RouteID + routeBefore, err := catalog.RouteNodes(routeID) + if err != nil { + t.Fatal(err) + } + route, err := catalog.RouteNodes(routeID) + if err != nil { + t.Fatal(err) + } + route[0].NodeTemplateID++ + routeAfter, err := catalog.RouteNodes(routeID) + if err != nil { + t.Fatal(err) + } + if routeAfter[0].NodeTemplateID != routeBefore[0].NodeTemplateID { + t.Fatal("mutating a returned CW route changed catalog data") + } +} + +func TestCurrencyWarsCapturedEconomyRules(t *testing.T) { + catalog := loadCurrencyWarsTestCatalog(t) + role := catalog.CapturedRoles[0] + + price, err := catalog.BaseSalePrice(role.Config.ID, role.DefaultStar) + if err != nil { + t.Fatal(err) + } + if price != role.DefaultSellPrice { + t.Fatalf("captured base sale price = %d, want native row value %d", price, role.DefaultSellPrice) + } + if _, err := catalog.BaseSalePrice(role.Config.ID, role.MaxStar+1); err == nil { + t.Fatal("sale price accepted an uncaptured star rank") + } + + deposit, err := catalog.IntegerRule("GridFight_DepositPerInterest") + if err != nil || deposit <= 0 { + t.Fatalf("invalid captured deposit rule %d: %v", deposit, err) + } + gold := uint32(deposit*3 + deposit/2) + interest, err := catalog.BaseInterest(gold, 2) + if err != nil || interest != 2 { + t.Fatalf("base interest = %d, %v; want integer division capped at 2", interest, err) + } + zeroCapped, err := catalog.BaseInterest(gold, 0) + if err != nil || zeroCapped != 0 { + t.Fatalf("zero-cap interest = %d, %v; want 0", zeroCapped, err) + } +} + +func TestCurrencyWarsSnapshotRevisionPreventsStaleWrites(t *testing.T) { + t.Chdir(t.TempDir()) + const assemblyHash = "abababababababababababababababababababababababababababababababab" + if err := os.WriteFile("persistent", []byte(`{"other_service":{"counter":9007199254740993}}`), 0600); err != nil { + t.Fatal(err) + } + + first := NewCurrencyWarsSnapshot(42, "4.6.53", assemblyHash, []byte{0x0a, 0x01, 0x01}) + revision, err := CommitCurrencyWarsSnapshot(0, first) + if err != nil || revision != 1 { + t.Fatalf("first CW commit = revision %d, %v; want revision 1", revision, err) + } + + stale := NewCurrencyWarsSnapshot(42, "4.6.53", assemblyHash, []byte{0x0a, 0x01, 0x02}) + if _, err := CommitCurrencyWarsSnapshot(0, stale); err != ErrCurrencyWarsSaveConflict { + t.Fatalf("stale CW commit error = %v; want save conflict", err) + } + + saved, err := ReadCurrencyWarsSnapshot(42, "4.6.53", assemblyHash) + if err != nil || saved.Revision != 1 || !bytes.Equal(saved.WireData, first.WireData) { + t.Fatalf("stale write changed saved CW snapshot: %+v, %v", saved, err) + } + + next := NewCurrencyWarsSnapshot(42, "4.6.53", assemblyHash, []byte{0x0a, 0x01, 0x03}) + revision, err = CommitCurrencyWarsSnapshot(1, next) + if err != nil || revision != 2 { + t.Fatalf("next CW commit = revision %d, %v; want revision 2", revision, err) + } + if _, err := ReadCurrencyWarsSnapshot(42, "6.1", assemblyHash); err == nil { + t.Fatal("CW snapshot accepted a different Client version") + } + + persistent, err := os.ReadFile("persistent") + if err != nil { + t.Fatal(err) + } + if !bytes.Contains(persistent, []byte(`"other_service"`)) || !bytes.Contains(persistent, []byte("9007199254740993")) { + t.Fatalf("CW commit failed to preserve unrelated persistent data: %s", strings.TrimSpace(string(persistent))) + } +} diff --git a/internal/common/currency_wars_variants.go b/internal/common/currency_wars_variants.go new file mode 100644 index 0000000..46c4934 --- /dev/null +++ b/internal/common/currency_wars_variants.go @@ -0,0 +1,88 @@ +package common + +import ( + "crypto/sha256" + "encoding/hex" + "encoding/json" + "fmt" +) + +// Role variants retain the native row JSON without converting FixPoint strings +// or text hashes to float64. Only the captured star is available here; this +// does not imply that every star or every hidden shop role has been captured. +type CurrencyWarsRoleVariant struct { + Config CurrencyWarsRoleConfig `json:"Config"` + Price uint32 `json:"Price"` + MaxStar uint32 `json:"MaxStar"` + Star uint32 `json:"Star"` + SellPrice uint32 `json:"SellPrice"` + SaleQuoteKnown *bool `json:"SaleQuoteKnown,omitempty"` + StarConfig json.RawMessage `json:"StarConfig"` + ServantStarConfig json.RawMessage `json:"ServantStarConfig"` +} + +func (c *CurrencyWarsCatalog) validateRoleVariants() error { + c.variantByKey = make(map[[2]uint32]CurrencyWarsRoleVariant) + if len(c.CapturedVariants) == 0 && c.Provenance.VariantsSHA256 == "" { + return nil // Older catalogs have no variant capture; lookups reject it. + } + digest, err := hex.DecodeString(c.Provenance.VariantsSHA256) + if err != nil || len(digest) != sha256.Size || len(c.CapturedVariants) == 0 { + return fmt.Errorf("CW role variant capture or provenance is missing") + } + if c.Provenance.StarRowsSHA256 != "" { + d, e := hex.DecodeString(c.Provenance.StarRowsSHA256) + if e != nil || len(d) != sha256.Size { + return fmt.Errorf("CW star row capture identity is invalid") + } + } + for _, role := range c.CapturedVariants { + key := [2]uint32{role.Config.ID, role.Star} + if role.Config.ID == 0 || role.Config.AvatarID == 0 || role.Config.Rarity == 0 || + role.Config.SeasonID != c.ActiveSeasonID || role.Star == 0 || role.Star > role.MaxStar { + return fmt.Errorf("invalid CW captured role variant %v", key) + } + if _, exists := c.variantByKey[key]; exists { + return fmt.Errorf("duplicate CW captured role variant %v", key) + } + var identity struct{ ID, Star uint32 } + if err := json.Unmarshal(role.StarConfig, &identity); err != nil || identity.ID != key[0] || identity.Star != key[1] { + return fmt.Errorf("CW role star row identity differs for %v", key) + } + c.variantByKey[key] = role + } + for id, role := range c.roleByID { + variant, exists := c.variantByKey[[2]uint32{id, role.DefaultStar}] + if !exists || variant.Price != role.Price || variant.SellPrice != role.DefaultSellPrice || variant.MaxStar != role.MaxStar || + variant.Config.AvatarID != role.Config.AvatarID || variant.Config.SeasonID != role.Config.SeasonID { + return fmt.Errorf("CW variant capture differs from default role %d", id) + } + } + return nil +} + +func (c *CurrencyWarsCatalog) CapturedRoleVariant(roleID, star uint32) (CurrencyWarsRoleVariant, error) { + role, exists := c.variantByKey[[2]uint32{roleID, star}] + if !exists { + return CurrencyWarsRoleVariant{}, fmt.Errorf("CW role %d star %d has not been captured", roleID, star) + } + role.Config.TraitList = append([]uint32(nil), role.Config.TraitList...) + role.Config.BackendRankList = append([]uint32(nil), role.Config.BackendRankList...) + role.Config.ChargeType = append([]uint32(nil), role.Config.ChargeType...) + role.StarConfig = append(json.RawMessage(nil), role.StarConfig...) + role.ServantStarConfig = append(json.RawMessage(nil), role.ServantStarConfig...) + return role, nil +} + +// Native special roles can have a sale quote different from the rarity array. +// Return only an observed quote, with run modifiers/refunds left to the caller. +func (c *CurrencyWarsCatalog) CapturedSalePrice(roleID, star uint32) (uint32, error) { + role, err := c.CapturedRoleVariant(roleID, star) + if err != nil { + return 0, err + } + if role.SaleQuoteKnown != nil && !*role.SaleQuoteKnown { + return 0, fmt.Errorf("CW role %d star %d sale quote has not been established", roleID, star) + } + return role.SellPrice, nil +} diff --git a/internal/common/eidolon_items.go b/internal/common/eidolon_items.go new file mode 100644 index 0000000..24e24c3 --- /dev/null +++ b/internal/common/eidolon_items.go @@ -0,0 +1,62 @@ +package common + +import ( + "encoding/json" + "fmt" + "sort" +) + +// EidolonMaterialIDs includes the separate rank-item catalog, which is not +// part of InventoryItemConfig's general Material/Usable/Mission table. +func EidolonMaterialIDs() ([]uint32, error) { + raw, err := ReadResourceFile("resources/EidolonConfig.json", "EidolonConfig.json") + if err != nil { + return nil, err + } + var resource struct { + Avatars map[uint32]struct { + Ranks []struct { + Cost []struct{ ItemID, ItemNum uint32 } `json:"cost"` + } `json:"ranks"` + } `json:"avatars"` + ExMaterials map[uint32]struct { + ItemID uint32 `json:"item_id"` + Count uint32 `json:"count"` + } `json:"ex_materials"` + } + if err := json.Unmarshal(raw, &resource); err != nil { + return nil, err + } + if len(resource.Avatars) == 0 { + return nil, fmt.Errorf("Eidolon item catalog is empty") + } + ids := map[uint32]bool{} + for avatarID, avatar := range resource.Avatars { + if avatarID == 0 || len(avatar.Ranks) == 0 { + return nil, fmt.Errorf("invalid Eidolon avatar %d", avatarID) + } + for _, rank := range avatar.Ranks { + if len(rank.Cost) == 0 { + return nil, fmt.Errorf("missing Eidolon cost for %d", avatarID) + } + for _, cost := range rank.Cost { + if cost.ItemID == 0 || cost.ItemNum == 0 { + return nil, fmt.Errorf("invalid Eidolon cost for %d", avatarID) + } + ids[cost.ItemID] = true + } + } + } + for avatarID, grant := range resource.ExMaterials { + if AvatarExRankMap[avatarID] == 0 || grant.ItemID == 0 || grant.Count == 0 { + return nil, fmt.Errorf("invalid EX item for %d", avatarID) + } + ids[grant.ItemID] = true + } + out := make([]uint32, 0, len(ids)) + for id := range ids { + out = append(out, id) + } + sort.Slice(out, func(i, j int) bool { return out[i] < out[j] }) + return out, nil +} diff --git a/internal/common/models.go b/internal/common/models.go index 54441b9..6c27b8b 100644 --- a/internal/common/models.go +++ b/internal/common/models.go @@ -168,6 +168,7 @@ func (s *SubAffix) UnmarshalJSON(data []byte) error { type Relic struct { Level uint32 `json:"level"` RelicID uint32 `json:"relic_id"` + RelicSetID uint32 `json:"relic_set_id"` MainAffixID uint32 `json:"main_affix_id"` SubAffixes []SubAffix `json:"sub_affixes"` InternalUID uint32 `json:"internal_uid"` @@ -286,6 +287,7 @@ type RogueMagicScepter struct { } type BattleConfig struct { + WorldLevel *uint32 `json:"world_level,omitempty"` EnableInvasionSupport bool `json:"enable_invasion_support"` BattleType BattleType `json:"battle_type"` Monsters [][]Monster `json:"monsters"` @@ -351,21 +353,24 @@ type TeamPreset struct { } type Persistent struct { - TeamPresets map[uint32]*TeamPreset `json:"team_presets"` - ActiveTeamPreset uint32 `json:"active_team_preset"` - TierceProgress map[uint32]*TierceProgress `json:"tierce_progress"` - TechniqueFoodStock map[uint32]uint32 `json:"technique_food_stock"` - AutoTechniqueFood *bool `json:"auto_technique_food"` - Lineups map[uint32]uint32 `json:"lineups"` - Position Position `json:"position"` - Scene Scene `json:"scene"` - MainCharacter MultiPathAvatar `json:"main_character"` - MarchType MultiPathAvatar `json:"march_type"` - EnableSWGlobal *bool `json:"enable_sw_global"` - EnableCastoriceGlobal *bool `json:"enable_castorice_global"` - EnableAhaGlobal *bool `json:"enable_aha_global"` - DressedSkins map[uint32]uint32 `json:"dressed_skins"` - ExRanksUnlocked map[uint32]bool `json:"ex_ranks_unlocked"` + Profile ProfileSettings `json:"profile"` + TeamPresets map[uint32]*TeamPreset `json:"team_presets"` + ActiveTeamPreset uint32 `json:"active_team_preset"` + TierceProgress map[uint32]*TierceProgress `json:"tierce_progress"` + TechniqueFoodStock map[uint32]uint32 `json:"technique_food_stock"` + AutoTechniqueFood *bool `json:"auto_technique_food"` + Lineups map[uint32]uint32 `json:"lineups"` + Position Position `json:"position"` + Scene Scene `json:"scene"` + MainCharacter MultiPathAvatar `json:"main_character"` + MarchType MultiPathAvatar `json:"march_type"` + EnableSWGlobal *bool `json:"enable_sw_global"` + EnableCastoriceGlobal *bool `json:"enable_castorice_global"` + EnableAhaGlobal *bool `json:"enable_aha_global"` + DressedSkins map[uint32]uint32 `json:"dressed_skins"` + PlayerOutfits []uint32 `json:"player_outfits"` + SceneGroupProperties map[uint32]map[uint32]map[string]int32 `json:"scene_group_properties"` + ExRanksUnlocked map[uint32]bool `json:"ex_ranks_unlocked"` } // DefaultPersistent mirrors the Rust Default impl. @@ -392,6 +397,7 @@ func DefaultPersistent() Persistent { // --------------------------------------------------------------------------- type FreesrData struct { + Profile ProfileSettings `json:"-"` TeamPresets map[uint32]*TeamPreset `json:"-"` ActiveTeamPreset uint32 `json:"-"` TierceProgress map[uint32]*TierceProgress `json:"-"` @@ -401,19 +407,22 @@ type FreesrData struct { Lightcones []Lightcone `json:"lightcones"` Relics []Relic `json:"relics"` + Materials map[uint32]uint32 `json:"materials,omitempty"` Avatars map[uint32]*AvatarJson `json:"avatars"` BattleConfig BattleConfig `json:"battle_config"` // Fields stored in "persistent", merged on load (not serialized here). - Lineups map[uint32]uint32 `json:"-"` - Position Position `json:"-"` - Scene Scene `json:"-"` - MainCharacter MultiPathAvatar `json:"-"` - MarchType MultiPathAvatar `json:"-"` - EnableSWGlobal *bool `json:"-"` - EnableCastoriceGlobal *bool `json:"-"` - EnableAhaGlobal *bool `json:"-"` - DressedSkins map[uint32]uint32 `json:"-"` + Lineups map[uint32]uint32 `json:"-"` + Position Position `json:"-"` + Scene Scene `json:"-"` + MainCharacter MultiPathAvatar `json:"-"` + MarchType MultiPathAvatar `json:"-"` + EnableSWGlobal *bool `json:"-"` + EnableCastoriceGlobal *bool `json:"-"` + EnableAhaGlobal *bool `json:"-"` + DressedSkins map[uint32]uint32 `json:"-"` + PlayerOutfits []uint32 `json:"-"` + SceneGroupProperties map[uint32]map[uint32]map[string]int32 `json:"-"` } // LoadFreesrData reads freesr-data.json + persistent and merges them, @@ -429,8 +438,8 @@ func LoadFreesrData() (*FreesrData, error) { return nil, fmt.Errorf("freesr-data.json is broken: %w, pls redownload", err) } - if data.Avatars == nil { - data.Avatars = map[uint32]*AvatarJson{} + if err := ValidateAvatarRoster(data.Avatars); err != nil { + return nil, fmt.Errorf("invalid freesr-data.json: %w", err) } if data.BattleConfig.Monsters == nil && data.BattleConfig.StageID == 0 { data.BattleConfig = DefaultBattleConfig() @@ -441,6 +450,7 @@ func LoadFreesrData() (*FreesrData, error) { if err == nil { var p Persistent if err := json.Unmarshal(pers, &p); err == nil { + data.Profile = p.Profile data.Lineups = p.Lineups data.TeamPresets = p.TeamPresets data.ActiveTeamPreset = p.ActiveTeamPreset @@ -455,6 +465,8 @@ func LoadFreesrData() (*FreesrData, error) { data.EnableCastoriceGlobal = p.EnableCastoriceGlobal data.EnableAhaGlobal = p.EnableAhaGlobal data.DressedSkins = p.DressedSkins + data.PlayerOutfits = p.PlayerOutfits + data.SceneGroupProperties = p.SceneGroupProperties for aid, unlocked := range p.ExRanksUnlocked { if av, ok := data.Avatars[aid]; ok { av.ExRankUnlocked = unlocked @@ -487,6 +499,9 @@ func LoadFreesrData() (*FreesrData, error) { } data.VerifyLineup() + if err := ValidateAdventureLineup(data.Avatars, data.Lineups); err != nil { + return nil, fmt.Errorf("invalid active lineup: %w", err) + } if data.MarchType.ID() > 8000 { data.MarchType = MultiPathMarchHunt diff --git a/internal/common/persistent_store.go b/internal/common/persistent_store.go index 253c158..5b5ab47 100644 --- a/internal/common/persistent_store.go +++ b/internal/common/persistent_store.go @@ -1,6 +1,7 @@ package common import ( + "bytes" "encoding/json" "fmt" "os" @@ -39,10 +40,10 @@ func (f *FreesrData) persistentSnapshot() Persistent { ex[id] = avatar.ExRankUnlocked } } - return Persistent{TeamPresets: f.TeamPresets, ActiveTeamPreset: f.ActiveTeamPreset, TierceProgress: f.TierceProgress, TechniqueFoodStock: f.TechniqueFoodStock, AutoTechniqueFood: f.AutoTechniqueFood, Lineups: f.Lineups, Position: f.Position, Scene: f.Scene, + return Persistent{Profile: f.Profile, TeamPresets: f.TeamPresets, ActiveTeamPreset: f.ActiveTeamPreset, TierceProgress: f.TierceProgress, TechniqueFoodStock: f.TechniqueFoodStock, AutoTechniqueFood: f.AutoTechniqueFood, Lineups: f.Lineups, Position: f.Position, Scene: f.Scene, MainCharacter: f.MainCharacter, MarchType: f.MarchType, EnableSWGlobal: f.EnableSWGlobal, EnableCastoriceGlobal: f.EnableCastoriceGlobal, - EnableAhaGlobal: f.EnableAhaGlobal, DressedSkins: f.DressedSkins, ExRanksUnlocked: ex} + EnableAhaGlobal: f.EnableAhaGlobal, DressedSkins: f.DressedSkins, PlayerOutfits: f.PlayerOutfits, SceneGroupProperties: f.SceneGroupProperties, ExRanksUnlocked: ex} } // Apply only locally changed fields. A stale game session saving its position @@ -196,3 +197,209 @@ func SaveAvatarRank(id, rank uint32) error { } return writeJSONAtomic("freesr-data.json", root) } + +// SaveEquipmentAssignments patches only equip_avatar on the explicitly changed +// inventory entries. It preserves all other equipment, relic stats and unknown +// FreeSR fields, so an in-game equip action never replaces the full inventory. +func SaveEquipmentAssignments(lightcones, relics map[uint32]uint32) error { + if len(lightcones) == 0 && len(relics) == 0 { + return nil + } + persistentWriteMu.Lock() + defer persistentWriteMu.Unlock() + unlock, err := lockPersistentFile() + if err != nil { + return err + } + defer unlock() + raw, err := os.ReadFile("freesr-data.json") + if err != nil { + return err + } + var root map[string]json.RawMessage + if err := json.Unmarshal(raw, &root); err != nil { + return err + } + for _, collection := range []struct { + field string + owners map[uint32]uint32 + }{{"lightcones", lightcones}, {"relics", relics}} { + if len(collection.owners) == 0 { + continue + } + var entries []json.RawMessage + if err := json.Unmarshal(root[collection.field], &entries); err != nil { + return fmt.Errorf("read %s: %w", collection.field, err) + } + found := make(map[uint32]bool, len(collection.owners)) + for i, entry := range entries { + var item map[string]json.RawMessage + if err := json.Unmarshal(entry, &item); err != nil { + return fmt.Errorf("decode %s entry: %w", collection.field, err) + } + var uid uint32 + if err := json.Unmarshal(item["internal_uid"], &uid); err != nil { + return fmt.Errorf("read %s internal_uid: %w", collection.field, err) + } + owner, update := collection.owners[uid] + if !update { + continue + } + item["equip_avatar"], err = json.Marshal(owner) + if err != nil { + return err + } + entries[i], err = json.Marshal(item) + if err != nil { + return err + } + found[uid] = true + } + for uid := range collection.owners { + if !found[uid] { + return fmt.Errorf("%s item internal_uid %d not found", collection.field, uid) + } + } + root[collection.field], err = json.Marshal(entries) + if err != nil { + return err + } + } + return writeJSONAtomic("freesr-data.json", root) +} + +// SaveNewLightcones appends catalog entries that are absent from the latest +// import while preserving existing inventory records and unknown fields. +func SaveNewLightcones(additions []Lightcone) error { + if len(additions) == 0 { + return nil + } + persistentWriteMu.Lock() + defer persistentWriteMu.Unlock() + unlock, err := lockPersistentFile() + if err != nil { + return err + } + defer unlock() + raw, err := os.ReadFile("freesr-data.json") + if err != nil { + return err + } + var root map[string]json.RawMessage + if err := json.Unmarshal(raw, &root); err != nil { + return err + } + entries, err := readInventoryEntries(root, "lightcones") + if err != nil { + return fmt.Errorf("read lightcones: %w", err) + } + var existing []Lightcone + for _, entry := range entries { + var item Lightcone + if err := json.Unmarshal(entry, &item); err != nil { + return fmt.Errorf("decode lightcone: %w", err) + } + existing = append(existing, item) + } + usedIDs := make(map[uint32]bool, len(existing)) + usedUIDs := make(map[uint32]bool, len(existing)) + for _, item := range existing { + usedIDs[item.ItemID] = true + usedUIDs[item.InternalUID] = true + } + for _, item := range additions { + if usedIDs[item.ItemID] || usedUIDs[item.InternalUID] { + continue + } + encoded, err := json.Marshal(item) + if err != nil { + return err + } + entries = append(entries, encoded) + usedIDs[item.ItemID] = true + usedUIDs[item.InternalUID] = true + } + root["lightcones"], err = json.Marshal(entries) + if err != nil { + return err + } + return writeJSONAtomic("freesr-data.json", root) +} + +// SaveNewRelics appends catalog instances absent from the latest import. +func SaveNewRelics(additions []Relic) error { + if len(additions) == 0 { + return nil + } + persistentWriteMu.Lock() + defer persistentWriteMu.Unlock() + unlock, err := lockPersistentFile() + if err != nil { + return err + } + defer unlock() + raw, err := os.ReadFile("freesr-data.json") + if err != nil { + return err + } + var root map[string]json.RawMessage + if err := json.Unmarshal(raw, &root); err != nil { + return err + } + entries, err := readInventoryEntries(root, "relics") + if err != nil { + return fmt.Errorf("read relics: %w", err) + } + var existing []Relic + for _, entry := range entries { + var item Relic + if err := json.Unmarshal(entry, &item); err != nil { + return fmt.Errorf("decode relic: %w", err) + } + existing = append(existing, item) + } + usedIDs := make(map[uint32]bool, len(existing)) + usedUIDs := make(map[uint32]bool, len(existing)) + for _, item := range existing { + usedIDs[item.RelicID] = true + usedUIDs[item.InternalUID] = true + } + for _, item := range additions { + if usedIDs[item.RelicID] || usedUIDs[item.InternalUID] { + continue + } + encoded, err := json.Marshal(item) + if err != nil { + return err + } + entries = append(entries, encoded) + usedIDs[item.RelicID] = true + usedUIDs[item.InternalUID] = true + } + root["relics"], err = json.Marshal(entries) + if err != nil { + return err + } + return writeJSONAtomic("freesr-data.json", root) +} + +// Empty initial saves may contain account settings without inventory arrays. +// Treat absent or null collections as empty, while still rejecting malformed +// collections so a bad import cannot be silently replaced. +func readInventoryEntries(root map[string]json.RawMessage, field string) ([]json.RawMessage, error) { + if root == nil { + return nil, fmt.Errorf("inventory data must be a JSON object") + } + raw, ok := root[field] + if !ok || bytes.Equal(bytes.TrimSpace(raw), []byte("null")) { + return []json.RawMessage{}, nil + } + var entries []json.RawMessage + if err := json.Unmarshal(raw, &entries); err != nil { + return nil, err + } + if entries == nil { + entries = []json.RawMessage{} + } + return entries, nil +} diff --git a/internal/common/persistent_store_test.go b/internal/common/persistent_store_test.go new file mode 100644 index 0000000..e4175d1 --- /dev/null +++ b/internal/common/persistent_store_test.go @@ -0,0 +1,58 @@ +package common + +import ( + "encoding/json" + "os" + "testing" +) + +func TestSaveNewInventoryItemsInitializesMissingCollections(t *testing.T) { + t.Chdir(t.TempDir()) + if err := os.WriteFile("freesr-data.json", []byte(`{"account_name":"test-player","player_uid":52022}`), 0600); err != nil { + t.Fatal(err) + } + + if err := SaveNewLightcones([]Lightcone{{ItemID: 23001, InternalUID: 1, Level: 1, Rank: 1}}); err != nil { + t.Fatalf("SaveNewLightcones: %v", err) + } + if err := SaveNewRelics([]Relic{{RelicID: 31001, RelicSetID: 3101, MainAffixID: 1, InternalUID: 2}}); err != nil { + t.Fatalf("SaveNewRelics: %v", err) + } + + raw, err := os.ReadFile("freesr-data.json") + if err != nil { + t.Fatal(err) + } + var saved struct { + AccountName string `json:"account_name"` + PlayerUID uint32 `json:"player_uid"` + Lightcones []Lightcone `json:"lightcones"` + Relics []Relic `json:"relics"` + } + if err := json.Unmarshal(raw, &saved); err != nil { + t.Fatal(err) + } + if saved.AccountName != "test-player" || saved.PlayerUID != 52022 { + t.Fatalf("account fields were not preserved: %+v", saved) + } + if len(saved.Lightcones) != 1 || saved.Lightcones[0].ItemID != 23001 { + t.Fatalf("missing Light Cone was not initialized: %+v", saved.Lightcones) + } + if len(saved.Relics) != 1 || saved.Relics[0].RelicID != 31001 { + t.Fatalf("missing Relic collection was not initialized: %+v", saved.Relics) + } +} + +func TestReadInventoryEntriesTreatsNullAsEmptyAndRejectsMalformed(t *testing.T) { + for _, root := range []map[string]json.RawMessage{ + {}, {"lightcones": json.RawMessage("null")}, + } { + entries, err := readInventoryEntries(root, "lightcones") + if err != nil || len(entries) != 0 { + t.Fatalf("expected empty collection, got entries=%v err=%v", entries, err) + } + } + if _, err := readInventoryEntries(map[string]json.RawMessage{"lightcones": json.RawMessage(`{"not":"an array"}`)}, "lightcones"); err == nil { + t.Fatal("malformed inventory collection was accepted") + } +} diff --git a/internal/common/player_cosmetics.go b/internal/common/player_cosmetics.go new file mode 100644 index 0000000..10a1471 --- /dev/null +++ b/internal/common/player_cosmetics.go @@ -0,0 +1,56 @@ +package common + +import ( + "encoding/json" + "fmt" + "sync" +) + +type PlayerCosmetics struct { + ClientVersion string `json:"client_version"` + OutfitItems []struct { + ItemID uint32 `json:"item_id"` + PileLimit uint32 `json:"pile_limit"` + OwnedCount uint32 `json:"owned_count"` + } `json:"outfit_items"` + Skins []struct { + ID uint32 `json:"id"` + AvatarID uint32 `json:"avatar_id"` + } `json:"skins"` +} + +var cosmeticsOnce sync.Once +var cosmeticsData PlayerCosmetics +var cosmeticsError error + +func LoadPlayerCosmetics() (*PlayerCosmetics, error) { + cosmeticsOnce.Do(func() { + raw, err := ReadResourceFile("resources/PlayerCosmetics.json") + if err != nil { + cosmeticsError = err + return + } + if err = json.Unmarshal(raw, &cosmeticsData); err != nil { + cosmeticsError = err + return + } + cfg, err := LoadRuntimeConfig() + if err != nil { + cosmeticsError = err + return + } + if cfg.ClientVersion != cosmeticsData.ClientVersion || len(cosmeticsData.OutfitItems) == 0 { + cosmeticsError = fmt.Errorf("missing or mismatched PlayerCosmetics resource") + return + } + seen := map[uint32]bool{} + for _, item := range cosmeticsData.OutfitItems { + if item.ItemID == 0 || item.OwnedCount == 0 || item.OwnedCount > item.PileLimit || seen[item.ItemID] { + cosmeticsError = fmt.Errorf("invalid outfit item %d", item.ItemID) + return + } + seen[item.ItemID] = true + } + }) + return &cosmeticsData, cosmeticsError +} diff --git a/internal/common/profile.go b/internal/common/profile.go new file mode 100644 index 0000000..c061c0b --- /dev/null +++ b/internal/common/profile.go @@ -0,0 +1,20 @@ +package common + +// Optional selections distinguish an unset preference from an explicit zero, +// false, empty signature or cleared avatar list. Ownership comes from resources. +type ProfileSettings struct { + PhoneTheme *uint32 `json:"phone_theme,omitempty"` + PhoneCase *uint32 `json:"phone_case,omitempty"` + ChatBubble *uint32 `json:"chat_bubble,omitempty"` + HeadIcon *uint32 `json:"head_icon,omitempty"` + PersonalCard *uint32 `json:"personal_card,omitempty"` + Signature *string `json:"signature,omitempty"` + IsDisplay *bool `json:"is_display,omitempty"` + DisplayAvatars *[]ProfileAvatar `json:"display_avatars,omitempty"` + AssistAvatars *[]uint32 `json:"assist_avatars,omitempty"` +} + +type ProfileAvatar struct { + AvatarID uint32 `json:"avatar_id"` + Pos uint32 `json:"pos"` +} diff --git a/internal/common/proto_convert.go b/internal/common/proto_convert.go index c9e0b60..2329243 100644 --- a/internal/common/proto_convert.go +++ b/internal/common/proto_convert.go @@ -76,6 +76,19 @@ func (r *Relic) ToProtoRelic() *goproto.Relic { // Avatar // --------------------------------------------------------------------------- +// Gender and path values are defined in StarRail.proto at the command table's +// revision. Keep the login gender consistent with the selected persistent path. +func (m MultiPathAvatar) Gender() goproto.Gender { + switch m { + case MultiPathMalePhysical, MultiPathMalePreservation, MultiPathMaleHarmony, MultiPathMaleRemembrance, MultiPathMaleElation: + return goproto.Gender_GenderMan + case MultiPathFemalePhysical, MultiPathFemalePreservation, MultiPathFemaleHarmony, MultiPathFemaleRemembrance, MultiPathFemaleElation: + return goproto.Gender_GenderWoman + default: + return goproto.Gender_GenderNone + } +} + // ToAvatarProto serializes the "base avatar" entry (8001 for MC, 1001 for March). func (a *AvatarJson) ToAvatarProto(lightcone *Lightcone, mcID, marchID uint32) *goproto.Avatar { baseAvatarID := BaseAvatarID(a.AvatarID) @@ -169,11 +182,14 @@ func (a *AvatarJson) ToAvatarPathDataProto(lightcone *Lightcone, relics []*Relic points := res.AvatarSkillTreePoints[a.AvatarID] for anchor, pointID := range points { var level uint32 - if len(a.Data.Skills) > 0 { - level = a.Data.Skills[pointID] - } else if len(a.Data.SkillsByAnchorType) > 0 { - level = a.Data.SkillsByAnchorType[anchor] - } else { + if saved, ok := a.Data.Skills[pointID]; ok { + level = saved + } else if saved, ok := a.Data.SkillsByAnchorType[anchor]; ok { + // SRTools and older FreeSR exports may only contain the anchor + // value for some nodes. Fall back per node so a partial Skills + // map does not hide the saved Trace state. + level = saved + } else if len(a.Data.Skills) == 0 && len(a.Data.SkillsByAnchorType) == 0 { // Keep the existing no-import level behavior, using valid anchors. level = 1 } @@ -226,11 +242,11 @@ func (a *AvatarJson) ToBattleAvatarProto(index uint32, lightcone *Lightcone, rel }, } - if len(a.Data.Skills) > 0 { + if len(a.Data.Skills) > 0 || len(a.Data.SkillsByAnchorType) > 0 { + levels := make(map[uint32]uint32, len(a.Data.Skills)+len(a.Data.SkillsByAnchorType)) for pointID, level := range a.Data.Skills { - ba.SkilltreeList = append(ba.SkilltreeList, &goproto.AvatarSkillTree{PointId: pointID, Level: level}) + levels[pointID] = level } - } else if len(a.Data.SkillsByAnchorType) > 0 { res, _ := GameRes() for anchorType, level := range a.Data.SkillsByAnchorType { pointID := anchorType @@ -239,6 +255,11 @@ func (a *AvatarJson) ToBattleAvatarProto(index uint32, lightcone *Lightcone, rel pointID = pid } } + if _, exists := levels[pointID]; !exists { + levels[pointID] = level + } + } + for pointID, level := range levels { ba.SkilltreeList = append(ba.SkilltreeList, &goproto.AvatarSkillTree{PointId: pointID, Level: level}) } } else { diff --git a/internal/common/res.go b/internal/common/res.go index bd78e41..fc415c0 100644 --- a/internal/common/res.go +++ b/internal/common/res.go @@ -66,12 +66,14 @@ type SceneData struct { } type LevelOutputConfig struct { - IsEnteredSceneInfo bool `json:"isEnteredSceneInfo"` - Scenes map[uint32]SceneData `json:"scenes"` - PlaneType uint32 `json:"planeType"` - WorldID uint32 `json:"worldId"` - Sections []uint32 `json:"sections"` - SavedValues map[string]int32 `json:"savedValues"` + DimensionID uint32 `json:"dimensionId"` + GroupProperties map[uint32]map[string]GroupPropertyRule `json:"groupProperties"` + IsEnteredSceneInfo bool `json:"isEnteredSceneInfo"` + Scenes map[uint32]SceneData `json:"scenes"` + PlaneType uint32 `json:"planeType"` + WorldID uint32 `json:"worldId"` + Sections []uint32 `json:"sections"` + SavedValues map[string]int32 `json:"savedValues"` } type AvatarConfig struct { @@ -80,9 +82,17 @@ type AvatarConfig struct { MaxRank uint32 `json:"maxRank"` } +type GroupPropertyRule struct { + DefaultValue int32 `json:"DefaultValue"` + MinValue int32 `json:"MinValue"` + MaxValue int32 `json:"MaxValue"` +} + type JsonConfig struct { - MapEntrances map[uint32]MapEntranceEntry `json:"-"` - SceneAnchors map[uint32][]AnchorItem `json:"-"` + MapEntrances map[uint32]MapEntranceEntry `json:"-"` + SceneAnchors map[uint32][]AnchorItem `json:"-"` + SceneDefaultAnchors map[uint32]AnchorItem `json:"-"` + MapTeleportEntrances map[uint32]uint32 `json:"-"` // entryId -> "P_F" -> config LevelOutputConfigs map[uint32]map[string]*LevelOutputConfig `json:"levelOutputConfigs"` AvatarConfigs map[uint32]AvatarConfig `json:"avatarConfigs"` @@ -102,6 +112,7 @@ var ( type MapEntranceEntry struct { ID uint32 `json:"ID"` + EntranceType string `json:"EntranceType"` PlaneID uint32 `json:"PlaneID"` FloorID uint32 `json:"FloorID"` StartGroupID uint32 `json:"StartGroupID"` diff --git a/internal/common/roster_validation.go b/internal/common/roster_validation.go new file mode 100644 index 0000000..8250406 --- /dev/null +++ b/internal/common/roster_validation.go @@ -0,0 +1,44 @@ +package common + +import "fmt" + +// Missing avatars must not become a successful empty roster: scene actors and +// the Client's lineup member array would then disagree during login. +func ValidateAvatarRoster(avatars map[uint32]*AvatarJson) error { + if len(avatars) == 0 { + return fmt.Errorf("player data is missing a non-empty avatars object") + } + for id, avatar := range avatars { + if id == 0 || avatar == nil || avatar.AvatarID != id { + return fmt.Errorf("invalid avatar record for key %d", id) + } + } + return nil +} + +func ValidateAdventureLineup(avatars map[uint32]*AvatarJson, lineup map[uint32]uint32) error { + if err := ValidateAvatarRoster(avatars); err != nil { + return err + } + rules, err := LoadTeamPresetRules() + if err != nil { + return err + } + members := 0 + for slot, id := range lineup { + if id == 0 { + continue + } + if slot >= rules.MaxMembers { + return fmt.Errorf("lineup slot %d exceeds captured member limit", slot) + } + if avatars[id] == nil { + return fmt.Errorf("lineup slot %d references missing avatar %d", slot, id) + } + members++ + } + if members == 0 { + return fmt.Errorf("active adventure lineup has no valid members") + } + return nil +} diff --git a/internal/common/runtime_config.go b/internal/common/runtime_config.go index ea69bba..66a567b 100644 --- a/internal/common/runtime_config.go +++ b/internal/common/runtime_config.go @@ -15,6 +15,9 @@ import ( // RuntimeConfig is shared by both server processes. Deployment values belong // in configuration rather than in handlers or executable entry points. type RuntimeConfig struct { + ActivitySchedule ActivityScheduleConfig `json:"activity_schedule"` + AccountName string `json:"account_name"` + Srtool SrtoolConfig `json:"srtool"` PlayerUID uint32 `json:"player_uid"` BattleDiagnostics BattleDiagnosticsConfig `json:"battle_diagnostics"` ClientVersion string `json:"client_version"` @@ -26,10 +29,18 @@ type RuntimeConfig struct { PublicSDKURL string `json:"public_sdk_url"` } +// The schedule interval is an explicit operator policy shared by SDK, gateway, +// and launcher. A missing interval must never silently advertise expired CW. +type ActivityScheduleConfig struct { + BeginTime *int64 `json:"begin_time"` + EndTime *int64 `json:"end_time"` +} + // The obfuscated protobuf class name is version-specific and comes from the // client's stack trace. Empty disables the read-only client wire probe. type BattleDiagnosticsConfig struct { - ClientBattleType string `json:"client_battle_type"` + ClientBattleType string `json:"client_battle_type"` + LiveReportStaleSeconds uint16 `json:"live_report_stale_seconds"` } func LoadRuntimeConfig() (RuntimeConfig, error) { @@ -51,6 +62,7 @@ func LoadRuntimeConfig() (RuntimeConfig, error) { } } for name, dest := range map[string]*string{ + "GAC_ACCOUNT_NAME": &cfg.AccountName, "GAC_CLIENT_VERSION": &cfg.ClientVersion, "GAC_GAME_HOST": &cfg.GameHost, "GAC_SDK_HOST": &cfg.SDKHost, "GAC_PUBLIC_GAME_HOST": &cfg.PublicGameHost, "GAC_PUBLIC_SDK_URL": &cfg.PublicSDKURL, @@ -68,6 +80,13 @@ func LoadRuntimeConfig() (RuntimeConfig, error) { *dest = uint16(n) } } + if value, ok := os.LookupEnv("GAC_LIVE_BATTLE_STALE_SECONDS"); ok { + n, err := strconv.ParseUint(value, 10, 16) + if err != nil || n == 0 { + return cfg, fmt.Errorf("GAC_LIVE_BATTLE_STALE_SECONDS must be an integer between 1 and 65535") + } + cfg.BattleDiagnostics.LiveReportStaleSeconds = uint16(n) + } if value, ok := os.LookupEnv("GAC_PLAYER_UID"); ok { n, err := strconv.ParseUint(value, 10, 32) if err != nil || n == 0 { @@ -75,12 +94,37 @@ func LoadRuntimeConfig() (RuntimeConfig, error) { } cfg.PlayerUID = uint32(n) } + for name, dest := range map[string]**int64{ + "GAC_ACTIVITY_BEGIN_TIME": &cfg.ActivitySchedule.BeginTime, + "GAC_ACTIVITY_END_TIME": &cfg.ActivitySchedule.EndTime, + } { + if value, ok := os.LookupEnv(name); ok { + n, err := strconv.ParseInt(value, 10, 64) + if err != nil { + return cfg, fmt.Errorf("%s must be an int64 Unix timestamp", name) + } + *dest = &n + } + } + if cfg.ActivitySchedule.BeginTime == nil || cfg.ActivitySchedule.EndTime == nil || + *cfg.ActivitySchedule.BeginTime < 0 || *cfg.ActivitySchedule.EndTime <= *cfg.ActivitySchedule.BeginTime { + return cfg, fmt.Errorf("activity_schedule requires nonnegative begin_time and end_time greater than begin_time") + } + if strings.TrimSpace(cfg.AccountName) == "" { + return cfg, fmt.Errorf("runtime config requires account_name") + } + if strings.TrimSpace(cfg.Srtool.LeaseFile) == "" || cfg.Srtool.LeaseSeconds == 0 { + return cfg, fmt.Errorf("runtime config requires srtool.lease_file and nonzero srtool.lease_seconds") + } if cfg.PlayerUID == 0 { return cfg, fmt.Errorf("runtime config requires a nonzero player_uid") } if cfg.GamePort == 0 || cfg.SDKPort == 0 || strings.TrimSpace(cfg.ClientVersion) == "" { return cfg, fmt.Errorf("runtime config requires client_version, game_port and sdk_port") } + if cfg.BattleDiagnostics.LiveReportStaleSeconds == 0 { + return cfg, fmt.Errorf("runtime config requires battle_diagnostics.live_report_stale_seconds") + } for name, host := range map[string]string{"game_host": cfg.GameHost, "sdk_host": cfg.SDKHost, "public_game_host": cfg.PublicGameHost} { if strings.TrimSpace(host) == "" || strings.ContainsAny(host, "/\\ \t\r\n") { return cfg, fmt.Errorf("invalid %s", name) diff --git a/internal/common/runtime_config_test.go b/internal/common/runtime_config_test.go index 06ebb80..4dccae8 100644 --- a/internal/common/runtime_config_test.go +++ b/internal/common/runtime_config_test.go @@ -10,17 +10,17 @@ import ( // deployment defaults. These tests must never bind sockets or start servers. func TestRuntimeConfigOverrides(t *testing.T) { t.Chdir(t.TempDir()) - for _, name := range []string{"GAC_CONFIG", "GAC_CLIENT_VERSION", "GAC_GAME_HOST", "GAC_GAME_PORT", "GAC_SDK_HOST", "GAC_SDK_PORT", "GAC_PUBLIC_GAME_HOST", "GAC_PUBLIC_SDK_URL"} { + for _, name := range []string{"GAC_CONFIG", "GAC_ACCOUNT_NAME", "GAC_PLAYER_UID", "GAC_ACTIVITY_BEGIN_TIME", "GAC_ACTIVITY_END_TIME", "GAC_CLIENT_VERSION", "GAC_GAME_HOST", "GAC_GAME_PORT", "GAC_SDK_HOST", "GAC_SDK_PORT", "GAC_PUBLIC_GAME_HOST", "GAC_PUBLIC_SDK_URL", "GAC_LIVE_BATTLE_STALE_SECONDS"} { t.Setenv(name, "") if err := os.Unsetenv(name); err != nil { t.Fatal(err) } } - base := `{"client_version":"fixture","game_host":"localhost","game_port":32101,"sdk_host":"localhost","sdk_port":32102,"public_game_host":"example.invalid","public_sdk_url":"https://example.invalid/base/"}` + base := `{"account_name":"base-player","player_uid":10001,"activity_schedule":{"begin_time":0,"end_time":100},"srtool":{"lease_file":"fixture-session.json","lease_seconds":30},"battle_diagnostics":{"live_report_stale_seconds":10},"client_version":"fixture","game_host":"localhost","game_port":32101,"sdk_host":"localhost","sdk_port":32102,"public_game_host":"example.invalid","public_sdk_url":"https://example.invalid/base/"}` if err := os.WriteFile("server.json", []byte(base), 0600); err != nil { t.Fatal(err) } - local := append([]byte{0xef, 0xbb, 0xbf}, []byte(`{"game_port":32201,"launcher":{"client_path":"fixture"}}`)...) + local := append([]byte{0xef, 0xbb, 0xbf}, []byte(`{"account_name":"local-player","player_uid":10002,"game_port":32201,"launcher":{"client_path":"fixture"}}`)...) if err := os.WriteFile("server.local.json", local, 0600); err != nil { t.Fatal(err) } @@ -28,18 +28,33 @@ func TestRuntimeConfigOverrides(t *testing.T) { if err != nil { t.Fatal(err) } - if cfg.GamePort != 32201 || cfg.SDKPort != 32102 || cfg.PublicSDKURL != "https://example.invalid/base" { + if cfg.AccountName != "local-player" || cfg.PlayerUID != 10002 || cfg.GamePort != 32201 || cfg.SDKPort != 32102 || cfg.PublicSDKURL != "https://example.invalid/base" || cfg.BattleDiagnostics.LiveReportStaleSeconds != 10 { t.Fatalf("merge failed: %+v", cfg) } t.Setenv("GAC_GAME_PORT", "32301") + t.Setenv("GAC_ACCOUNT_NAME", "environment-player") + t.Setenv("GAC_PLAYER_UID", "10003") t.Setenv("GAC_PUBLIC_GAME_HOST", "gateway.example.invalid") + t.Setenv("GAC_LIVE_BATTLE_STALE_SECONDS", "15") cfg, err = LoadRuntimeConfig() if err != nil { t.Fatal(err) } - if cfg.GamePort != 32301 || cfg.PublicGameHost != "gateway.example.invalid" { + if cfg.AccountName != "environment-player" || cfg.PlayerUID != 10003 || cfg.GamePort != 32301 || cfg.PublicGameHost != "gateway.example.invalid" || cfg.BattleDiagnostics.LiveReportStaleSeconds != 15 { t.Fatalf("environment override failed: %+v", cfg) } + for _, value := range []string{"0", "-1", "4294967296", "invalid", ""} { + t.Setenv("GAC_PLAYER_UID", value) + if _, err := LoadRuntimeConfig(); err == nil { + t.Fatalf("invalid UID %q accepted", value) + } + } + t.Setenv("GAC_PLAYER_UID", "10003") + t.Setenv("GAC_ACCOUNT_NAME", " ") + if _, err := LoadRuntimeConfig(); err == nil { + t.Fatal("blank account name accepted") + } + t.Setenv("GAC_ACCOUNT_NAME", "environment-player") t.Setenv("GAC_GAME_PORT", "65536") if _, err := LoadRuntimeConfig(); err == nil { t.Fatal("out-of-range port accepted") @@ -48,6 +63,13 @@ func TestRuntimeConfigOverrides(t *testing.T) { if _, err := LoadRuntimeConfig(); err == nil { t.Fatal("zero port accepted") } + t.Setenv("GAC_GAME_PORT", "32301") + for _, value := range []string{"0", "-1", "65536", "invalid"} { + t.Setenv("GAC_LIVE_BATTLE_STALE_SECONDS", value) + if _, err := LoadRuntimeConfig(); err == nil { + t.Fatalf("invalid live battle stale interval %q accepted", value) + } + } } func TestRuntimeConfigRequiresFile(t *testing.T) { diff --git a/internal/common/scene_metadata.go b/internal/common/scene_metadata.go index 0101d64..fa83e71 100644 --- a/internal/common/scene_metadata.go +++ b/internal/common/scene_metadata.go @@ -11,10 +11,19 @@ import ( type sceneMetadata struct { ClientVersion string `json:"client_version"` Floors map[uint32]struct { - StartAnchor *AnchorItem `json:"start_anchor"` - Monsters map[uint32]map[uint32]TeleportInfo `json:"monsters"` - GroupCount int `json:"group_count"` - Groups map[uint32]struct { + MapTeleportEntryID uint32 `json:"map_teleport_entry_id"` + DimensionID *uint32 `json:"dimension_id"` + DimensionGroups map[uint32][]uint32 `json:"dimension_groups"` + GroupProperties map[uint32]map[string]GroupPropertyRule `json:"group_properties"` + SavedValues map[string]int32 `json:"saved_values"` + SavedValueRules map[string]GroupPropertyRule `json:"saved_value_rules"` + EntrySavedValues map[uint32]map[string]int32 `json:"entry_saved_values"` + Props map[uint32][]ScenePropInfo `json:"props"` + StartAnchor *AnchorItem `json:"start_anchor"` + FloorDefaultAnchor *AnchorItem `json:"floor_default_anchor"` + Monsters map[uint32]map[uint32]TeleportInfo `json:"monsters"` + GroupCount int `json:"group_count"` + Groups map[uint32]struct { LoadSide string `json:"load_side"` Deleted bool `json:"is_deleted"` } `json:"groups"` @@ -50,17 +59,86 @@ func applySceneMetadata(res *JsonConfig) { LogInfo("[SCENE] Incomplete group metadata for floor %d; not applied", floorID) continue } + if target := floor.MapTeleportEntryID; target != 0 { + entrance, exists := res.MapEntrances[target] + canonical := fmt.Sprintf("P%d_F%d", planeID, floorID) + if exists && entrance.PlaneID == planeID && entrance.FloorID == floorID && + entrance.EntranceType == "Town" && res.LevelOutputConfigs[target][canonical] != nil { + if res.MapTeleportEntrances == nil { + res.MapTeleportEntrances = map[uint32]uint32{} + } + res.MapTeleportEntrances[floorID] = target + res.MapDefaultEntranceMap[floorID] = target + } else { + LogInfo("[SCENE] Map teleport entrance %d is not a configured Town on floor %d; routing override not applied", target, floorID) + } + } if floor.StartAnchor != nil { res.SceneAnchors[entryID] = []AnchorItem{*floor.StartAnchor} } + if floor.FloorDefaultAnchor != nil && floor.FloorDefaultAnchor.ID != 0 { + if res.SceneDefaultAnchors == nil { + res.SceneDefaultAnchors = map[uint32]AnchorItem{} + } + res.SceneDefaultAnchors[floorID] = *floor.FloorDefaultAnchor + } + if floor.GroupProperties != nil { + scene.GroupProperties = floor.GroupProperties + } + if floor.DimensionID != nil { + scene.DimensionID = *floor.DimensionID + } + var dimensionGroups map[uint32]bool + if floor.DimensionGroups != nil { + ids, exists := floor.DimensionGroups[scene.DimensionID] + if !exists || len(ids) == 0 { + LogInfo("[SCENE] Missing group membership for floor %d dimension %d; scene override not applied", floorID, scene.DimensionID) + continue + } + dimensionGroups = make(map[uint32]bool, len(ids)) + for _, id := range ids { + dimensionGroups[id] = true + } + } + if floor.SavedValues != nil { + // RuntimeDimension exports the actual DefaultValue, not MaxValue. + // This applies only to floors with a complete captured override. + scene.SavedValues = floor.SavedValues + } + if overrides, exists := floor.EntrySavedValues[entryID]; exists { + entrance, known := res.MapEntrances[entryID] + valid := known && entrance.FloorID == floorID && entrance.PlaneID == planeID + values := make(map[string]int32, len(floor.SavedValues)) + for key, value := range floor.SavedValues { + values[key] = value + } + for key, value := range overrides { + rule, known := floor.SavedValueRules[key] + if !known || value < rule.MinValue || value > rule.MaxValue { + valid = false + break + } + values[key] = value + } + if valid { + // Never mutate the shared floor defaults: entrances sharing a + // floor can intentionally represent different story states. + scene.SavedValues = values + } else { + LogInfo("[SCENE] Invalid saved-value profile entry=%d floor=%d; override not applied", entryID, floorID) + } + } for groupID := range scene.Scenes { group, exists := floor.Groups[groupID] - if !exists || group.Deleted || group.LoadSide == "Client" { + if !exists || group.Deleted || group.LoadSide == "Client" || (dimensionGroups != nil && !dimensionGroups[groupID]) { delete(scene.Scenes, groupID) LogInfo("[SCENE] Excluded group entry=%d floor=%d group=%d present=%t deleted=%t side=%s", entryID, floorID, groupID, exists, group.Deleted, group.LoadSide) continue } data := scene.Scenes[groupID] + if floor.Props != nil { + data.Props = floor.Props[groupID] + } for index := range data.Monsters { monster := &data.Monsters[index] if placement, ok := floor.Monsters[groupID][monster.InstID]; ok { @@ -69,6 +147,16 @@ func applySceneMetadata(res *JsonConfig) { } scene.Scenes[groupID] = data } + // Resource updates may introduce server props in previously empty groups. + for groupID, props := range floor.Props { + group, exists := floor.Groups[groupID] + if !exists || group.Deleted || group.LoadSide == "Client" || (dimensionGroups != nil && !dimensionGroups[groupID]) { + continue + } + data := scene.Scenes[groupID] + data.Props = props + scene.Scenes[groupID] = data + } } } } diff --git a/internal/common/scene_metadata_test.go b/internal/common/scene_metadata_test.go new file mode 100644 index 0000000..6448cc5 --- /dev/null +++ b/internal/common/scene_metadata_test.go @@ -0,0 +1,55 @@ +package common + +import ( + "encoding/json" + "fmt" + "os" + "path/filepath" + "testing" +) + +func TestSceneMetadataDoesNotAddGroupsFromAnotherDimension(t *testing.T) { + root, err := filepath.Abs(filepath.Join("..", "..")) + if err != nil { + t.Fatal(err) + } + config, err := os.ReadFile(filepath.Join(root, "server.json")) + if err != nil { + t.Fatal(err) + } + var version struct { + ClientVersion string `json:"client_version"` + } + if err := json.Unmarshal(config, &version); err != nil { + t.Fatal(err) + } + directory := t.TempDir() + if err := os.Mkdir(filepath.Join(directory, "resources"), 0755); err != nil { + t.Fatal(err) + } + configPath := filepath.Join(directory, "server.json") + if err := os.WriteFile(configPath, config, 0600); err != nil { + t.Fatal(err) + } + metadata := fmt.Sprintf(`{"client_version":%q,"floors":{"20":{ + "group_count":3,"dimension_id":0,"dimension_groups":{"0":[10,12]}, + "groups":{"10":{"load_side":"Server"},"11":{"load_side":"Server"},"12":{"load_side":"Server"}}, + "props":{"10":[{"groupId":10,"instId":1}],"11":[{"groupId":11,"instId":1}],"12":[{"groupId":12,"instId":1}]} + }}}`, version.ClientVersion) + if err := os.WriteFile(filepath.Join(directory, "resources", "SceneMetadata.json"), []byte(metadata), 0600); err != nil { + t.Fatal(err) + } + t.Chdir(directory) + t.Setenv("GAC_CONFIG", configPath) + scene := &LevelOutputConfig{Scenes: map[uint32]SceneData{10: {}, 11: {}}} + res := &JsonConfig{LevelOutputConfigs: map[uint32]map[string]*LevelOutputConfig{1: {"P1_F20": scene}}} + applySceneMetadata(res) + if _, exists := scene.Scenes[11]; exists { + t.Fatal("a server group from another dimension was retained or re-added") + } + for _, group := range []uint32{10, 12} { + if len(scene.Scenes[group].Props) != 1 { + t.Fatalf("eligible group %d must retain refreshed props", group) + } + } +} diff --git a/internal/common/srtool_session.go b/internal/common/srtool_session.go new file mode 100644 index 0000000..32d8b07 --- /dev/null +++ b/internal/common/srtool_session.go @@ -0,0 +1,66 @@ +package common + +import ( + "encoding/json" + "fmt" + "os" + "path/filepath" + "time" +) + +type SrtoolConfig struct { + LeaseFile string `json:"lease_file"` + LeaseSeconds uint32 `json:"lease_seconds"` +} +type srtoolLease struct { + ExpiresAt int64 `json:"expires_at"` +} + +// This is an expiring tool connection, not a persisted gameplay preference. +// A stale FreeSR file alone must never enable custom encounters. +func SetSrtoolConnection(connected bool) (uint32, error) { + cfg, err := LoadRuntimeConfig() + if err != nil { + return 0, err + } + lease := srtoolLease{} + if connected { + lease.ExpiresAt = time.Now().Add(time.Duration(cfg.Srtool.LeaseSeconds) * time.Second).UnixMilli() + } + if err = os.MkdirAll(filepath.Dir(cfg.Srtool.LeaseFile), 0700); err != nil { + return 0, err + } + raw, err := json.Marshal(lease) + if err != nil { + return 0, err + } + f, err := os.CreateTemp(filepath.Dir(cfg.Srtool.LeaseFile), ".tool-session-*.tmp") + if err != nil { + return 0, err + } + name := f.Name() + defer os.Remove(name) + if _, err = f.Write(raw); err != nil { + f.Close() + return 0, err + } + if err = f.Close(); err != nil { + return 0, err + } + if err = os.Rename(name, cfg.Srtool.LeaseFile); err != nil { + return 0, fmt.Errorf("save tool connection: %w", err) + } + return cfg.Srtool.LeaseSeconds, nil +} +func SrtoolCustomBattleActive() bool { + cfg, err := LoadRuntimeConfig() + if err != nil { + return false + } + raw, err := os.ReadFile(cfg.Srtool.LeaseFile) + if err != nil { + return false + } + var lease srtoolLease + return json.Unmarshal(raw, &lease) == nil && lease.ExpiresAt > time.Now().UnixMilli() +} diff --git a/internal/gameserver/battle_capture.go b/internal/gameserver/battle_capture.go index 7603743..e28430e 100644 --- a/internal/gameserver/battle_capture.go +++ b/internal/gameserver/battle_capture.go @@ -31,6 +31,31 @@ type battleCapture struct { StageID uint32 `json:"stage_id"` } +// Preserve every result field, including fields whose native names are still +// obfuscated. The display report intentionally retains only aggregate stats. +func saveBattleResultCapture(req *goproto.PVEBattleResultCsReq) error { + if req == nil { + return nil + } + wire, err := proto.Marshal(req) + if err != nil { + return err + } + pretty, err := (protojson.MarshalOptions{Indent: " ", EmitUnpopulated: true}).Marshal(req) + if err != nil { + return err + } + hash := sha256.Sum256(wire) + dir := filepath.Join("battle_diagnostics", time.Now().UTC().Format("20060102T150405.000000000Z")+fmt.Sprintf("_result_%x", hash[:6])) + if err := os.MkdirAll(dir, 0700); err != nil { + return err + } + if err := os.WriteFile(filepath.Join(dir, "battle_result.bin"), wire, 0600); err != nil { + return err + } + return os.WriteFile(filepath.Join(dir, "battle_result.json"), pretty, 0600) +} + func saveBattleCapture(msg proto.Message, cmdID uint16, response []byte) ([]byte, *battleCapture, error) { carrier, ok := msg.(interface { GetBattleInfo() *goproto.SceneBattleInfo diff --git a/internal/gameserver/battle_capture_test.go b/internal/gameserver/battle_capture_test.go index d4f5e4a..4847e7f 100644 --- a/internal/gameserver/battle_capture_test.go +++ b/internal/gameserver/battle_capture_test.go @@ -5,13 +5,41 @@ import ( "crypto/sha256" "fmt" "os" + "path/filepath" "strings" "testing" goproto "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/encoding/protowire" "google.golang.org/protobuf/proto" ) +func TestBattleResultCaptureRetainsObfuscatedAndUnknownStatistics(t *testing.T) { + t.Chdir(t.TempDir()) + req := &goproto.PVEBattleResultCsReq{Stt: &goproto.BattleStatistics{NPFDEJPPPLI: 7, IEOGEFBLNEL: 3}} + unknown := protowire.AppendTag(nil, 100, protowire.VarintType) + unknown = protowire.AppendVarint(unknown, 9) + req.Stt.ProtoReflect().SetUnknown(unknown) + if err := saveBattleResultCapture(req); err != nil { + t.Fatal(err) + } + files, err := filepath.Glob("battle_diagnostics/*/battle_result.bin") + if err != nil || len(files) != 1 { + t.Fatalf("capture files=%v err=%v", files, err) + } + wire, err := os.ReadFile(files[0]) + if err != nil { + t.Fatal(err) + } + var got goproto.PVEBattleResultCsReq + if err := proto.Unmarshal(wire, &got); err != nil { + t.Fatal(err) + } + if !proto.Equal(req, &got) { + t.Fatal("capture lost result statistics") + } +} + func TestCaptureUsesExactResponseBattleBytes(t *testing.T) { t.Chdir(t.TempDir()) // Fixture values exercise zero-step affixes and map ordering on the wire. diff --git a/internal/gameserver/challenge_run.go b/internal/gameserver/challenge_run.go index 57aff2a..8756ca3 100644 --- a/internal/gameserver/challenge_run.go +++ b/internal/gameserver/challenge_run.go @@ -235,7 +235,11 @@ func restartChallengeRoom(s *Session) (*goproto.SceneInfo, error) { return nil, fmt.Errorf("no challenge to restart") } r := run.Rooms[run.Node] - if err := setChallengeBattleConfig(s, r.Avatars, run.ID, r.Event, r.Buffs); err != nil { + configure := setChallengeBattleConfig + if run.Peak { + configure = setPeakBattleConfig + } + if err := configure(s, r.Avatars, run.ID, r.Event, r.Buffs); err != nil { return nil, err } scene, _, err := loadChallengeScene(s, r.Entrance, r.Group, r.Monster, r.Event, r.Avatars) diff --git a/internal/gameserver/currency_wars_battle.go b/internal/gameserver/currency_wars_battle.go new file mode 100644 index 0000000..6092775 --- /dev/null +++ b/internal/gameserver/currency_wars_battle.go @@ -0,0 +1,192 @@ +package gameserver + +import ( + "encoding/json" + "fmt" + "maps" + "sort" + + "gac-hkrpg-go/internal/common" + pb "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" +) + +// The captured first-node response supplies the mapped CW envelope and role +// mode schema. Other supported nodes replace its enemy recipe from their own +// captured parameters and the live saved enemy layer before party construction. +func buildCurrencyWarsBattle(s *Session, catalog *common.CurrencyWarsCatalog, run *pb.MPIMAEMCEFH) (*pb.SceneBattleInfo, error) { + raw, err := common.ReadResourceFile("resources/CurrencyWarsBattleTemplates.json") + if err != nil { + return nil, err + } + var recipe struct { + Format uint32 `json:"format_version"` + Client string `json:"target_client_version"` + Assembly string `json:"target_assembly_sha256"` + Wire []byte `json:"battle_wire"` + } + if err = json.Unmarshal(raw, &recipe); err != nil { + return nil, err + } + if recipe.Format != 1 || recipe.Client != catalog.ClientVersion || recipe.Assembly != catalog.Provenance.GameAssemblySHA256 { + return nil, fmt.Errorf("CW battle recipe revision differs") + } + info := new(pb.SceneBattleInfo) + if err = proto.Unmarshal(recipe.Wire, info); err != nil { + return nil, err + } + grid := info.EIGMKOJOEEI + player, team, _ := cwComponents(run) + if player == nil || team == nil || grid == nil || grid.IOCKDJCDMAH == nil || len(grid.GridGameRoleList) == 0 { + return nil, fmt.Errorf("CW battle components missing") + } + var stage *pb.BEEFLEJAOCN + for _, c := range run.NAGDJGMMCBE { + if v := c.GetKLCPAAHDPJF(); v != nil { + stage = v + } + if v := c.GetKFBIEANENKJ(); v != nil { + grid.StageInfo = &pb.KJFEHJMAIAA{FMNPBOJGLFI: v.FMNPBOJGLFI} + } + } + if stage == nil || run.DivisionId != grid.AACGBEBGDPE || run.IsOverlock != grid.IsOverlock { + return nil, fmt.Errorf("CW battle envelope has not been captured for this mode/division") + } + var node *pb.OHMDHKGAEMM + for _, n := range stage.OOMMIIKPHBC { + if n.SectionId == stage.SectionId && n.DCAHJELNJNP == stage.DCAHJELNJNP { + node = n.DisplayValue + } + } + if node == nil { + return nil, fmt.Errorf("CW current node missing") + } + if stage.EMOHLJHPOPC == grid.IOCKDJCDMAH.EMOHLJHPOPC && stage.DCAHJELNJNP == grid.IOCKDJCDMAH.DCAHJELNJNP && stage.SectionId == grid.IOCKDJCDMAH.SectionId { + if node.StageId != info.StageId || node.IFIIOIIKJHO != grid.IFIIOIIKJHO { + return nil, fmt.Errorf("CW first enemy recipe stage/penalty differs") + } + } else if err = cwBuildNodeEnemy(catalog, run, stage, node, info); err != nil { + return nil, err + } + front, err := catalog.IntegerRule("GridFight_Front_AvatarMaxNum") + if err != nil { + return nil, err + } + back, err := catalog.IntegerRule("GridFight_Back_AvatarMaxNum") + if err != nil { + return nil, err + } + ext := proto.Clone(grid.GridGameRoleList[0].DCEOLAAMGOO).(*pb.JJHJCIAPADP) + // These fields contain the reference party's traits, buffs and battle events. + // They cannot be reused for another party. Derived trait/equipment effects + // remain a separate implementation task; don't silently inherit its bonuses. + grid.GridGameRoleList = nil + grid.GridGameNpcList = nil + grid.OPHONCKPNMG = nil + grid.GridFightTraitInfo = nil + grid.POCKGKDFLKK = nil + grid.KCOMPKMJCMC = nil + grid.SyncAugmentInfo = nil + for _, component := range run.NAGDJGMMCBE { + if owned := component.GetLLDBOIANGDN(); owned != nil { + for _, a := range owned.SyncAugmentInfo { + grid.SyncAugmentInfo = append(grid.SyncAugmentInfo, &pb.BGLCGNCLHLJ{AugmentId: a.AugmentId}) + } + } + } + info.BattleAvatarList = nil + info.BuffList = nil + info.BattleEvent = nil + supported, err := supportedRelicIDs() + if err != nil { + return nil, err + } + adventure := s.JSON() + if adventure == nil { + return nil, fmt.Errorf("CW avatar data not loaded") + } + roles := append([]*pb.CDEAABODKCP(nil), team.GridGameRoleList...) + sort.Slice(roles, func(i, j int) bool { return roles[i].Pos < roles[j].Pos }) + seen := map[uint32]bool{} + for _, role := range roles { + if role.Pos == 0 || uint64(role.Pos) > uint64(front+back) { + continue + } + config, err := catalog.CapturedRoleVariant(role.Id, role.RoleStar) + if err != nil { + return nil, err + } + avatarID := config.Config.AvatarID + if seen[avatarID] { + return nil, fmt.Errorf("CW duplicate active avatar %d", avatarID) + } + seen[avatarID] = true + avatar := adventure.Avatars[avatarID] + if avatar == nil { + return nil, fmt.Errorf("CW role avatar %d not owned; trial resolver required", avatarID) + } + battleAvatar, _ := avatar.ToBattleAvatarProto(uint32(len(info.BattleAvatarList)), adventure.FindLightconeFor(avatarID), filterSupportedRelics(adventure.FindRelicsFor(avatarID), supported)) + battleAvatar.AvatarType = pb.AvatarType_AvatarType_AvatarGridFightType + if uint64(role.Pos) <= uint64(front) { + info.BattleAvatarList = append(info.BattleAvatarList, battleAvatar) + } else { + battleAvatar.Index = uint32(len(grid.OPHONCKPNMG)) + grid.OPHONCKPNMG = append(grid.OPHONCKPNMG, battleAvatar) + } + grid.GridGameRoleList = append(grid.GridGameRoleList, &pb.BJGJBNJDLIK{RoleId: role.Id, RoleStar: role.RoleStar, Pos: role.Pos, AvatarId: avatarID, UniqueId: role.UniqueId, ConvertPropertyToFixpoint: maps.Clone(role.ConvertPropertyToFixpoint), DCEOLAAMGOO: proto.Clone(ext).(*pb.JJHJCIAPADP)}) + } + if len(info.BattleAvatarList) == 0 || uint32(len(seen)) > player.AFFCFLFIFPH { + return nil, fmt.Errorf("CW active party is empty or exceeds capacity") + } + grid.GridFightLineupHp = player.GridFightLineupHp + grid.EHNJDIDABHD = player.AFFCFLFIFPH + grid.HHEPCDMBJFI = uint32(len(seen)) + grid.LJNGPCKPJLF = run.LJNGPCKPJLF + grid.GridFightPortalBuffList = nil + for _, portal := range stage.GridFightPortalBuffList { + grid.GridFightPortalBuffList = append(grid.GridFightPortalBuffList, &pb.KHFHMJEMBOF{PortalBuffId: portal.PortalBuffId}) + } + // NPCs carry run-owned equipment identities, independent of the copied enemy recipe. + for _, npc := range team.GridGameNpcList { + value := &pb.PKDNDNABKII{NpcId: npc.Id, UniqueId: npc.UniqueId, Pos: npc.Pos} + for _, id := range npc.PNJIPHJJONG { + for _, c := range run.NAGDJGMMCBE { + if bag := c.GetGCKLIONKMJC(); bag != nil { + for _, eq := range bag.GridFightEquipmentList { + if eq.UniqueId == id { + value.GridFightEquipmentList = append(value.GridFightEquipmentList, &pb.ACFLKPFDHIM{UniqueId: id, GridFightEquipmentId: eq.GridFightEquipmentId}) + } + } + } + } + } + grid.GridGameNpcList = append(grid.GridGameNpcList, value) + } + info.LogicRandomSeed = randUint32() + if s.currencyWarsRevision >= uint64(^uint32(0)) { + return nil, fmt.Errorf("CW battle identifier exhausted") + } + info.BattleId = uint32(s.currencyWarsRevision + 1) + return info, nil +} + +func init() { + handle("GridFightEnterBattleStage", func(s *Session, _ *pb.GridFightEnterBattleStageCsReq, rsp *pb.GridFightEnterBattleStageScRsp) error { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_CONF_MISS) + catalog, data, err := cwPreparingData(s) + if err != nil { + PacketLog("CW_ENTER_BATTLE rejected: " + err.Error()) + return nil + } + info, err := buildCurrencyWarsBattle(s, catalog, data.DHFOFLFCLAH) + if err != nil { + PacketLog("CW_ENTER_BATTLE rejected: " + err.Error()) + return nil + } + CURRENT_BATTLE.Store(s.Token, info) + rsp.BattleInfo = info + rsp.Retcode = 0 + PacketLog(fmt.Sprintf("CW_ENTER_BATTLE stage=%d roles=%d background=%d battle=%d", info.StageId, len(info.BattleAvatarList), len(info.EIGMKOJOEEI.OPHONCKPNMG), info.BattleId)) + return nil + }) +} diff --git a/internal/gameserver/currency_wars_commands.go b/internal/gameserver/currency_wars_commands.go new file mode 100644 index 0000000..60c375f --- /dev/null +++ b/internal/gameserver/currency_wars_commands.go @@ -0,0 +1,72 @@ +package gameserver + +import ( + "fmt" + "gac-hkrpg-go/internal/common" + pb "gac-hkrpg-go/protocol/proto" +) + +func (s *Session) applyCurrencyWarsCommands() error { + if !s.currencyWarsOpen { + return nil + } + if _, active := CURRENT_BATTLE.Load(s.Token); active { + return nil + } + commands, err := common.ReadCurrencyWarsCommands() + if err != nil { + return err + } + if len(commands) == 0 { + return nil + } + cfg, err := common.LoadRuntimeConfig() + if err != nil { + return err + } + for _, command := range commands { + if command.UID != cfg.PlayerUID { + continue + } + catalog, data, err := cwPreparingData(s) + if err != nil { + return nil + } + if command.RunID != data.DHFOFLFCLAH.UniqueId { + if err = common.AcknowledgeCurrencyWarsCommand(command.ID); err != nil { + return err + } + PacketLog("CW_GM discarded command for a finished run") + continue + } + player, _, _ := cwComponents(data.DHFOFLFCLAH) + if player == nil { + return fmt.Errorf("CW player missing") + } + var update *pb.KFNCAIHIHCM + switch command.Field { + case "gold": + player.Gold = command.Value + update = cwGoldSync(player.Gold) + case "hp": + if command.Value == 0 || command.Value > player.PPKKHHNEOHB { + return fmt.Errorf("CW command HP exceeds run limit") + } + player.GridFightLineupHp = command.Value + update = &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_GridFightLineupHp{GridFightLineupHp: &pb.FMJDDIHBELC{GridFightLineupHp: command.Value, PPKKHHNEOHB: player.PPKKHHNEOHB}}} + default: + return fmt.Errorf("unknown CW command field") + } + if err = s.saveCurrencyWarsData(data, catalog); err != nil { + return err + } + if err = s.Send(cwNotify(update)); err != nil { + return err + } + if err = common.AcknowledgeCurrencyWarsCommand(command.ID); err != nil { + return err + } + PacketLog(fmt.Sprintf("CW_GM applied request=%s field=%s value=%d revision=%d", command.ID, command.Field, command.Value, s.currencyWarsRevision)) + } + return nil +} diff --git a/internal/gameserver/currency_wars_enemy.go b/internal/gameserver/currency_wars_enemy.go new file mode 100644 index 0000000..567a2a2 --- /dev/null +++ b/internal/gameserver/currency_wars_enemy.go @@ -0,0 +1,125 @@ +package gameserver + +import ( + "crypto/sha256" + "encoding/hex" + "encoding/json" + "fmt" + + "gac-hkrpg-go/internal/common" + pb "gac-hkrpg-go/protocol/proto" +) + +type cwEnemyPlan struct { + Route uint32 `json:"route_id"` + Chapter uint32 `json:"chapter_id"` + Section uint32 `json:"section_id"` + Division uint32 `json:"division_id"` + Overclock bool `json:"is_overclock"` + Penalty uint32 `json:"penalty_id"` + Stage uint32 `json:"stage_id"` + Level uint32 `json:"level"` + HardLevelGroup uint32 `json:"hard_level_group"` + EliteGroup uint32 `json:"elite_group"` + ExtraDifficulty uint32 `json:"extra_difficulty"` + Waves []struct { + ID uint32 `json:"wave_id"` + Formation uint32 `json:"formation_wave_id"` + Count uint32 `json:"monster_count"` + } `json:"waves"` +} + +// Only wave parameters are captured. Monster IDs and stars must agree with +// the current run's saved layer, so a reference encounter never replaces it. +func cwBuildNodeEnemy(catalog *common.CurrencyWarsCatalog, run *pb.MPIMAEMCEFH, stage *pb.BEEFLEJAOCN, node *pb.OHMDHKGAEMM, info *pb.SceneBattleInfo) error { + raw, err := common.ReadResourceFile("resources/CurrencyWarsEnemyPlans.json") + if err != nil { + return err + } + var resource struct { + Format uint32 `json:"format_version"` + Client string `json:"target_client_version"` + Assembly string `json:"target_assembly_sha256"` + PlanHash string `json:"source_plan_sha256"` + StageHash string `json:"target_stage_capture_sha256"` + Entries []cwEnemyPlan `json:"entries"` + } + if err = json.Unmarshal(raw, &resource); err != nil { + return err + } + if resource.Format != 1 || resource.Client != catalog.ClientVersion || resource.Assembly != catalog.Provenance.GameAssemblySHA256 { + return fmt.Errorf("CW enemy plan revision differs") + } + for _, digest := range []string{resource.PlanHash, resource.StageHash} { + value, e := hex.DecodeString(digest) + if e != nil || len(value) != sha256.Size { + return fmt.Errorf("CW enemy plan provenance missing") + } + } + var recipe *cwEnemyPlan + for i := range resource.Entries { + r := &resource.Entries[i] + if r.Route == stage.EMOHLJHPOPC && r.Chapter == stage.DCAHJELNJNP && r.Section == stage.SectionId && r.Division == run.DivisionId && r.Overclock == run.IsOverlock && r.Stage == node.StageId && r.Penalty == node.IFIIOIIKJHO { + if recipe != nil { + return fmt.Errorf("CW enemy plan duplicated") + } + recipe = r + } + } + if recipe == nil || recipe.Level == 0 || recipe.HardLevelGroup == 0 || recipe.EliteGroup == 0 || len(recipe.Waves) == 0 { + return fmt.Errorf("CW enemy plan not captured for this node/mode") + } + layer := stage.IMPNAHBCADN.GetMPOBBIPMNNJ() + // This capture is an ordinary combat node with a single selected plan. + // Elite branch selection needs a separately mapped identity, not index 0. + if layer == nil || len(layer.BPDABHGFBFO) != 1 || layer.MOADBALHMFD != 1 { + return fmt.Errorf("CW current enemy layer is not a single selected plan") + } + plan := layer.BPDABHGFBFO[0] + if plan.IFIIOIIKJHO != recipe.Penalty || plan.EPPHOFDAEMI != recipe.ExtraDifficulty || len(plan.MonsterWaveList) != len(recipe.Waves) { + return fmt.Errorf("CW saved enemy plan differs from captured wave schema") + } + camp, err := catalog.MonsterCamp(run.LJNGPCKPJLF, layer.LNDKCPBJDKH) + if err != nil { + return err + } + allowed := make(map[uint32]bool, len(camp.Season.MonsterList)) + for _, id := range camp.Season.MonsterList { + allowed[id] = true + } + division, err := catalog.CapturedStage(run.DivisionId) + if err != nil { + return err + } + // Additional difficulty sources are not resolved by this base recipe. + if stage.ANJBLBEOJND != nil { + for _, delta := range stage.ANJBLBEOJND.PIFNOKAMBLL { + if delta != 0 { + return fmt.Errorf("CW modified enemy difficulty requires its own resolver") + } + } + } + waves := make([]*pb.SceneMonsterWave, 0, len(recipe.Waves)) + for i, config := range recipe.Waves { + current := plan.MonsterWaveList[i] + if config.ID == 0 || config.Formation == 0 || current.OCPEPEMNNEK != config.ID || uint64(len(current.PBLBBDBDLEK)) != uint64(config.Count) { + return fmt.Errorf("CW current wave identity/count differs") + } + wave := &pb.SceneMonsterWave{BattleStageId: node.StageId, WaveId: config.ID, WaveParam: &pb.SceneMonsterWaveParam{Level: recipe.Level, HardLevelGroup: recipe.HardLevelGroup, EliteGroup: recipe.EliteGroup, CPHIINKIDEB: config.Formation}} + for _, monster := range current.PBLBBDBDLEK { + if !allowed[monster.MonsterId] || monster.RoleStar == 0 { + return fmt.Errorf("CW saved monster identity/star differs from current season camp") + } + wave.MonsterList = append(wave.MonsterList, &pb.SceneMonster{MonsterId: monster.MonsterId, ExtraInfo: &pb.MNDMNDKLKIE{TeleportNice: &pb.MNDMNDKLKIE_EIGMKOJOEEI{EIGMKOJOEEI: &pb.HNEBODEBELG{RoleStar: monster.RoleStar}}}}) + } + waves = append(waves, wave) + } + info.StageId = node.StageId + info.MonsterWaveList = waves + grid := info.EIGMKOJOEEI + grid.IOCKDJCDMAH = &pb.MIPDJDJLGPL{EMOHLJHPOPC: stage.EMOHLJHPOPC, DCAHJELNJNP: stage.DCAHJELNJNP, SectionId: stage.SectionId, CJCCMAACJDB: node.CJCCMAACJDB} + grid.IFIIOIIKJHO = node.IFIIOIIKJHO + grid.LODNFLMBIEH = division.EnemyHardLevel + grid.BattleWaveId = recipe.Waves[0].ID + return nil +} diff --git a/internal/gameserver/currency_wars_entry_choice.go b/internal/gameserver/currency_wars_entry_choice.go new file mode 100644 index 0000000..5726558 --- /dev/null +++ b/internal/gameserver/currency_wars_entry_choice.go @@ -0,0 +1,218 @@ +package gameserver + +import ( + "crypto/sha256" + "encoding/hex" + "encoding/json" + "fmt" + + "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" +) + +// This advances the existing captured-entry prototype, not the final +// procedural portal/effect processor. Each starter outcome is a complete, +// internally consistent reference capture. No adventure inventory is touched. +func currencyWarsEntryChoice(catalog *common.CurrencyWarsCatalog, before *goproto.MPIMAEMCEFH, queue, portal uint32) (*goproto.MPIMAEMCEFH, *goproto.GridFightSyncUpdateResultScNotify, error) { + if catalog == nil || before == nil || before.FMIGOKIDKJL == nil || before.FMIGOKIDKJL.QueuePosition != queue { + return nil, nil, fmt.Errorf("CW pending queue differs from the active run") + } + offer := before.FMIGOKIDKJL.GetMFFCPLBNHCF() + if offer == nil { + return nil, nil, fmt.Errorf("CW active pending action is not an initial portal selection") + } + found := false + for _, id := range offer.NPHOIMEEDHM { + found = found || id == portal + } + if portal == 0 || !found { + return nil, nil, fmt.Errorf("CW portal is not in the active offer") + } + for _, component := range before.NAGDJGMMCBE { + if team := component.GetEJIPINIKNCK(); team != nil && len(team.GridGameRoleList) != 0 { + return nil, nil, fmt.Errorf("CW entry prototype cannot replace an existing team") + } + } + raw, err := common.ReadResourceFile("resources/CurrencyWarsEntryTransitions.json") + if err != nil { + return nil, nil, err + } + var resource struct { + Format uint32 `json:"format_version"` + Client string `json:"target_client_version"` + Assembly string `json:"target_assembly_sha256"` + Source string `json:"source_binary_sha256"` + Choices []struct { + Division uint32 `json:"division_id"` + Season uint32 `json:"season_id"` + Overclock bool `json:"is_overclock"` + Portal uint32 `json:"portal_id"` + BeforeQueue uint32 `json:"before_queue"` + AfterWire []byte `json:"after_wire"` + NotifyWire []byte `json:"notify_wire"` + AfterSHA string `json:"after_sha256"` + NotifySHA string `json:"notify_sha256"` + } `json:"choices"` + } + if err := json.Unmarshal(raw, &resource); err != nil { + return nil, nil, err + } + if resource.Format != 1 || resource.Client != catalog.ClientVersion || resource.Assembly != catalog.Provenance.GameAssemblySHA256 { + return nil, nil, fmt.Errorf("CW entry transition revision differs from the active catalog") + } + if h, err := hex.DecodeString(resource.Source); err != nil || len(h) != sha256.Size { + return nil, nil, fmt.Errorf("CW entry transition source identity is missing") + } + var after *goproto.MPIMAEMCEFH + var notify *goproto.GridFightSyncUpdateResultScNotify + for _, choice := range resource.Choices { + if choice.Division != before.DivisionId || choice.Season != before.LJNGPCKPJLF || choice.Overclock != before.IsOverlock || choice.Portal != portal || choice.BeforeQueue != queue { + continue + } + if after != nil { + return nil, nil, fmt.Errorf("CW entry transition key is duplicated") + } + if !currencyWarsWireDigest(choice.AfterWire, choice.AfterSHA) || !currencyWarsWireDigest(choice.NotifyWire, choice.NotifySHA) { + return nil, nil, fmt.Errorf("CW entry transition wire digest differs") + } + after = new(goproto.MPIMAEMCEFH) + notify = new(goproto.GridFightSyncUpdateResultScNotify) + if err := proto.Unmarshal(choice.AfterWire, after); err != nil { + return nil, nil, err + } + if err := proto.Unmarshal(choice.NotifyWire, notify); err != nil { + return nil, nil, err + } + if after.DivisionId != before.DivisionId || after.LJNGPCKPJLF != before.LJNGPCKPJLF || after.IsOverlock != before.IsOverlock || after.FMIGOKIDKJL == nil || after.FMIGOKIDKJL.QueuePosition <= queue { + return nil, nil, fmt.Errorf("CW captured transition identity or next queue is invalid") + } + selected := false + finished := false + for _, result := range notify.GCPNIHHBGGD { + for _, update := range result.JKPJFKCBIEM { + if value := update.GetHPIIGHOELBH(); value != nil && value.PortalBuffId == portal { + selected = true + } + finished = finished || update.GetPMFBIGLPJJA() == queue + } + } + if !selected || !finished { + return nil, nil, fmt.Errorf("CW captured transition lacks portal or queue acknowledgement") + } + if err := validateCurrencyWarsEntryComponents(after, catalog); err != nil { + return nil, nil, err + } + after.UniqueId = before.UniqueId + } + if after == nil { + return nil, nil, fmt.Errorf("CW initial portal outcome is not captured for this division/mode") + } + // The native reference's GetData projection omits selected portals even + // though the live sync includes them. Preserve this in our resume snapshot. + for _, component := range after.NAGDJGMMCBE { + if stage := component.GetKLCPAAHDPJF(); stage != nil { + stage.GridFightPortalBuffList = append(stage.GridFightPortalBuffList, &goproto.GIDEDMOPFKF{PortalBuffId: portal}) + } + } + cwEnsureSpotlights(after) + return after, notify, nil +} + +func currencyWarsWireDigest(wire []byte, expected string) bool { + hash := sha256.Sum256(wire) + return len(wire) > 0 && hex.EncodeToString(hash[:]) == expected +} + +func init() { + // The revision's request name is misleading. Controlled reference replay + // establishes this request's MFFCPLBNHCF arm as portal selection and its + // response as GridFightHandlePendingActionScRsp. No numeric alias is used. + handleNamed("GridFightHandleBonfireHealHp", "GridFightHandlePendingActionScRsp", func(s *Session, req *goproto.GridFightHandleBonfireHealHpCsReq, rsp *goproto.GridFightHandlePendingActionScRsp) (resultErr error) { + rsp.QueuePosition = req.QueuePosition + rsp.Retcode = uint32(goproto.Retcode_RET_GRID_FIGHT_CONF_MISS) + defer func() { + if resultErr != nil { + PacketLog(fmt.Sprintf("CW_PENDING_ACTION failed queue=%d error=%v", req.QueuePosition, resultErr)) + rsp.Retcode = uint32(goproto.Retcode_RET_GRID_FIGHT_CONF_MISS) + resultErr = nil // Send the typed error response so the wait block is released. + } + }() + selection := req.GetMFFCPLBNHCF() + if selection == nil && req.GetNNDGEJFLGGF() == nil && req.GetLGNPHHBGKFH() == nil && req.GetIBCHMBNIPLK() == nil && req.GetDKDFDGJGIHM() == nil { + PacketLog(fmt.Sprintf("CW_PENDING_ACTION unsupported queue=%d action=%T", req.QueuePosition, req.FGLIODAJFML)) + return nil + } + catalog, err := common.LoadCurrencyWarsCatalog() + if err != nil { + return err + } + data, revision, err := readCurrencyWarsData(catalog) + if err != nil { + return err + } + if data == nil || data.DHFOFLFCLAH == nil { + rsp.Retcode = uint32(goproto.Retcode_RET_GRID_FIGHT_NOT_IN_GAMEPLAY) + return nil + } + if revision != s.currencyWarsRevision { + rsp.Retcode = uint32(goproto.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH) + return nil + } + before := data.DHFOFLFCLAH + if before.FMIGOKIDKJL == nil || before.FMIGOKIDKJL.QueuePosition != req.QueuePosition { + rsp.Retcode = uint32(goproto.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH) + return nil + } + var after *goproto.MPIMAEMCEFH + var notify *goproto.GridFightSyncUpdateResultScNotify + if selection != nil { + after, notify, err = currencyWarsEntryChoice(catalog, before, req.QueuePosition, selection.JCAPCNLJGFC) + } else { + after = proto.Clone(before).(*goproto.MPIMAEMCEFH) + switch { + case req.GetDKDFDGJGIHM() != nil && before.FMIGOKIDKJL.GetEEKMIAMGHFL() != nil: + notify, err = cwSelectSpotlight(catalog, after, req.GetDKDFDGJGIHM()) + case req.GetNNDGEJFLGGF() != nil && before.FMIGOKIDKJL.GetNNDGEJFLGGF() != nil: + stage, _ := cwStage(after) + entries, loadErr := cwNodeTransitions(catalog) + isNextRound := false + if loadErr == nil && stage != nil { + for _, entry := range entries { + level := new(goproto.AINFNFIDGFF) + if proto.Unmarshal(entry.LevelWire, level) == nil && level.DCAHJELNJNP == stage.DCAHJELNJNP && level.SectionId == stage.SectionId { + isNextRound = true + } + } + } + if isNextRound { + notify, err = cwNextRound(catalog, after) + } else { + notify, err = cwInitialRound(catalog, after) + } + case req.GetLGNPHHBGKFH() != nil && before.FMIGOKIDKJL.GetLGNPHHBGKFH() != nil: + notify, err = cwReturnPreparation(after) + case req.GetIBCHMBNIPLK() != nil && before.FMIGOKIDKJL.GetIBCHMBNIPLK() != nil: + notify, err = cwSelectInvestment(catalog, after, req.GetIBCHMBNIPLK().AugmentId) + default: + err = fmt.Errorf("pending request kind differs from active queue") + } + } + if err != nil { + PacketLog(fmt.Sprintf("CW_PENDING_ACTION rejected queue=%d action=%T error=%v", req.QueuePosition, req.FGLIODAJFML, err)) + return nil + } + data.DHFOFLFCLAH = after + if err := s.saveCurrencyWarsData(data, catalog); err != nil { + return err + } + // Save before synchronizing, then finish the request after the ordered + // notification, matching the reference's pending-action callback flow. + if err := s.Send(notify); err != nil { + return err + } + rsp.Retcode = 0 + PacketLog(fmt.Sprintf("CW_PENDING_ACTION advanced action=%T queue=%d next_queue=%d preparing=%t revision=%d", req.FGLIODAJFML, req.QueuePosition, after.GetFMIGOKIDKJL().GetQueuePosition(), after.FMIGOKIDKJL == nil, s.currencyWarsRevision)) + return nil + }) +} diff --git a/internal/gameserver/currency_wars_experience.go b/internal/gameserver/currency_wars_experience.go new file mode 100644 index 0000000..3d17cdb --- /dev/null +++ b/internal/gameserver/currency_wars_experience.go @@ -0,0 +1,90 @@ +package gameserver + +import ( + "fmt" + + "gac-hkrpg-go/internal/common" + pb "gac-hkrpg-go/protocol/proto" +) + +// The current native BuyExp capture sends capacity, shop weights and level +// together. The native before/after capture does not rewrite individual role +// property maps. This does not implement all level-dependent combat effects. +func cwApplyBaseExperience(catalog *common.CurrencyWarsCatalog, player *pb.NIHNGPKHEPC, shop *pb.POCJDMMANBM, gain uint32) error { + previous, err := catalog.PlayerLevel(player.EHNJDIDABHD) + if err != nil { + return err + } + plan, err := catalog.PlanBaseExperience(player.EHNJDIDABHD, player.GridFightCurLevelExp, gain, player.NDAINFLOLPJ) + if err != nil { + return err + } + row, err := catalog.PlayerLevel(plan.Level) + if err != nil { + return err + } + // Preserve already resolved run bonuses, rather than resetting capacity + // to the unmodified level table when equipment/augments add slots. + capacity := int64(player.AFFCFLFIFPH) + int64(row.AvatarMaxNumber) - int64(previous.AvatarMaxNumber) + if capacity <= 0 || uint64(capacity) > uint64(^uint32(0)) { + return fmt.Errorf("CW level capacity is outside protocol range") + } + player.EHNJDIDABHD = plan.Level + player.GridFightCurLevelExp = plan.Exp + player.AFFCFLFIFPH = uint32(capacity) + shop.ABBNGCPECAI = &pb.MONJNCPINKN{} + for i, weight := range row.RarityWeights() { + shop.ABBNGCPECAI.FIJPICNPKIG = append(shop.ABBNGCPECAI.FIJPICNPKIG, &pb.BOPHDCKJMMN{CKKDAEMFDPA: uint32(i + 1), APAKCBFMCAB: weight}) + } + return nil +} + +func cwCapacitySync(player *pb.NIHNGPKHEPC) *pb.KFNCAIHIHCM { + return &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_BPCFDPNHIEL{BPCFDPNHIEL: player.AFFCFLFIFPH}} +} + +func init() { + handle("GridFightBuyExp", func(s *Session, _ *pb.GridFightBuyExpCsReq, rsp *pb.GridFightBuyExpScRsp) error { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH) + catalog, data, err := cwPreparingData(s) + if err != nil { + PacketLog("CW_BUY_EXP rejected: " + err.Error()) + return nil + } + player, _, shop := cwComponents(data.DHFOFLFCLAH) + if player == nil || shop == nil { + return nil + } + row, err := catalog.PlayerLevel(player.EHNJDIDABHD) + if err != nil || row.LevelUpExp == 0 || player.EHNJDIDABHD >= player.NDAINFLOLPJ { + return nil + } + cost := player.BEPMODICONA // The run's resolved quote, not a fixed gold price. + if player.Gold < cost { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_COIN_NOT_ENOUGH) + return nil + } + gain, err := catalog.IntegerRule("GridFight_LevelUpExp") + if err != nil || gain <= 0 || uint64(gain) > uint64(^uint32(0)) { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_CONF_MISS) + return nil + } + if err = cwApplyBaseExperience(catalog, player, shop, uint32(gain)); err != nil { + PacketLog("CW_BUY_EXP rejected: " + err.Error()) + return nil + } + player.Gold -= cost + if err = s.saveCurrencyWarsData(data, catalog); err != nil { + PacketLog("CW_BUY_EXP save failed: " + err.Error()) + return nil + } + notify := cwNotify(cwGoldSync(player.Gold), cwCapacitySync(player), cwShopSync(shop), &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_PLPHEIBLPDL{PLPHEIBLPDL: &pb.PIHKLPJGEPM{Level: player.EHNJDIDABHD, Exp: player.GridFightCurLevelExp, HFMKLAPEKFA: player.NDAINFLOLPJ}}}) + notify.GCPNIHHBGGD[0].GridUpdateSrc = pb.JJDFGMMMCMI_JJDFGMMMCMI_IHEKGIGCGEC + if err = s.Send(notify); err != nil { + return err + } + rsp.Retcode = 0 + PacketLog(fmt.Sprintf("CW_BUY_EXP saved cost=%d gain=%d level=%d exp=%d capacity=%d gold=%d revision=%d", cost, gain, player.EHNJDIDABHD, player.GridFightCurLevelExp, player.AFFCFLFIFPH, player.Gold, s.currencyWarsRevision)) + return nil + }) +} diff --git a/internal/gameserver/currency_wars_investment.go b/internal/gameserver/currency_wars_investment.go new file mode 100644 index 0000000..87912db --- /dev/null +++ b/internal/gameserver/currency_wars_investment.go @@ -0,0 +1,109 @@ +package gameserver + +import ( + "encoding/json" + "fmt" + "gac-hkrpg-go/internal/common" + pb "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" + "math" +) + +func cwSelectInvestment(catalog *common.CurrencyWarsCatalog, run *pb.MPIMAEMCEFH, id uint32) (*pb.GridFightSyncUpdateResultScNotify, error) { + pending := run.FMIGOKIDKJL + if pending == nil || pending.GetIBCHMBNIPLK() == nil { + return nil, fmt.Errorf("CW investment not pending") + } + offered := false + for _, v := range pending.GetIBCHMBNIPLK().CEBFFDFMKGK { + offered = offered || v.AugmentId == id + } + if !offered || id == 0 { + return nil, fmt.Errorf("CW investment not offered") + } + raw, err := common.ReadResourceFile("resources/CurrencyWarsInvestmentChoices.json") + if err != nil { + return nil, err + } + var resource struct { + Format uint32 `json:"format_version"` + Client string `json:"target_client_version"` + Assembly string `json:"target_assembly_sha256"` + Choices []struct { + ID uint32 `json:"augment_id"` + GoldDelta int64 `json:"gold_delta"` + Info []byte `json:"augment_info_wire"` + } `json:"choices"` + } + if err = json.Unmarshal(raw, &resource); err != nil { + return nil, err + } + if resource.Format != 1 || resource.Client != catalog.ClientVersion || resource.Assembly != catalog.Provenance.GameAssemblySHA256 { + return nil, fmt.Errorf("CW investment resource revision differs") + } + player, _, _ := cwComponents(run) + if player == nil { + return nil, fmt.Errorf("CW player missing") + } + var augments *pb.KGFNICBCMOA + for _, c := range run.NAGDJGMMCBE { + if v := c.GetLLDBOIANGDN(); v != nil { + augments = v + } + } + if augments == nil { + return nil, fmt.Errorf("CW investment container missing") + } + for _, v := range augments.SyncAugmentInfo { + if v.AugmentId == id { + return nil, fmt.Errorf("CW investment already owned") + } + } + var info *pb.PPGEBEBPMJC + var delta int64 + for _, choice := range resource.Choices { + if choice.ID == id { + if info != nil { + return nil, fmt.Errorf("CW investment outcome duplicated") + } + info = new(pb.PPGEBEBPMJC) + if err = proto.Unmarshal(choice.Info, info); err != nil { + return nil, err + } + delta = choice.GoldDelta + } + } + if info == nil || info.AugmentId != id { + return nil, fmt.Errorf("CW investment effect not captured") + } + if delta < 0 { + cost := uint64(-(delta + 1)) + 1 + if cost > uint64(player.Gold) { + return nil, fmt.Errorf("CW investment gold insufficient") + } + player.Gold -= uint32(cost) + } else { + total := uint64(player.Gold) + uint64(delta) + if total > math.MaxUint32 { + total = math.MaxUint32 + } + player.Gold = uint32(total) + } + if pending.QueuePosition == math.MaxUint32 { + return nil, fmt.Errorf("CW pending queue exhausted") + } + next := &pb.CHCHAJIANIM{QueuePosition: pending.QueuePosition + 1, FGLIODAJFML: &pb.CHCHAJIANIM_LGNPHHBGKFH{LGNPHHBGKFH: &pb.HJPDALHDJHC{}}} + augments.SyncAugmentInfo = append(augments.SyncAugmentInfo, info) + run.FMIGOKIDKJL = next + notify := cwNotify(&pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_EIKHFBCKIFA{EIKHFBCKIFA: &pb.OMINPDAIBLP{MCPIKEHDMND: info}}}) + notify.GCPNIHHBGGD[0].GridUpdateSrc = pb.JJDFGMMMCMI_JJDFGMMMCMI_EJLJOJFECPM + if delta != 0 { + gold := cwNotify(cwGoldSync(player.Gold)).GCPNIHHBGGD[0] + gold.OOEOCGLLHFO = []uint32{id} + gold.GridUpdateSrc = pb.JJDFGMMMCMI_JJDFGMMMCMI_ANMFPKDFICD + notify.GCPNIHHBGGD = append([]*pb.ABPLALCHNFA{gold}, notify.GCPNIHHBGGD...) + } + notify.GCPNIHHBGGD = append(notify.GCPNIHHBGGD, cwNotify(cwFinish(pending.QueuePosition), cwUnlock()).GCPNIHHBGGD...) + notify.GCPNIHHBGGD = append(notify.GCPNIHHBGGD, cwNotify(&pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_JOMFJHOCHJP{JOMFJHOCHJP: player.GAJGBBFELEL}}, &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_FMIGOKIDKJL{FMIGOKIDKJL: next}}).GCPNIHHBGGD...) + return notify, nil +} diff --git a/internal/gameserver/currency_wars_merge.go b/internal/gameserver/currency_wars_merge.go new file mode 100644 index 0000000..2b414c6 --- /dev/null +++ b/internal/gameserver/currency_wars_merge.go @@ -0,0 +1,112 @@ +package gameserver + +import ( + "fmt" + "gac-hkrpg-go/internal/common" + pb "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" + "maps" + "sort" +) + +// Basic identical-role merge, following the captured remove/add sync. Existing +// equipment stays in the bag; only the retained role's attachment list moves. +// Switch-role groups and Spotlight star locks need their separately mapped rules. +func cwMergeRoles(c *common.CurrencyWarsCatalog, run *pb.MPIMAEMCEFH, preferred uint32) ([]*pb.ABPLALCHNFA, error) { + _, team, _ := cwComponents(run) + if team == nil { + return nil, fmt.Errorf("CW team missing") + } + rules, e := c.MergeRules() + if e != nil { + return nil, e + } + front, e := c.IntegerRule("GridFight_Front_AvatarMaxNum") + if e != nil { + return nil, e + } + back, e := c.IntegerRule("GridFight_Back_AvatarMaxNum") + if e != nil { + return nil, e + } + active := func(r *pb.CDEAABODKCP) bool { return r.Pos > 0 && uint64(r.Pos) <= uint64(front+back) } + better := func(a, b *pb.CDEAABODKCP) bool { + if active(a) != active(b) { + return active(a) + } + if len(a.PNJIPHJJONG) != len(b.PNJIPHJJONG) { + return len(a.PNJIPHJJONG) > len(b.PNJIPHJJONG) + } + return a.UniqueId < b.UniqueId + } + var groups []*pb.ABPLALCHNFA + for { + candidates := map[[2]uint32][]*pb.CDEAABODKCP{} + for _, r := range team.GridGameRoleList { + if r.RoleStar < rules.OrdinaryMaxStar { + key := [2]uint32{r.Id, r.RoleStar} + candidates[key] = append(candidates[key], r) + } + } + keys := make([][2]uint32, 0, len(candidates)) + for k, v := range candidates { + if len(v) >= int(rules.Copies) { + keys = append(keys, k) + } + } + sort.Slice(keys, func(i, j int) bool { + if keys[i][1] != keys[j][1] { + return keys[i][1] < keys[j][1] + } + return keys[i][0] < keys[j][0] + }) + var selected []*pb.CDEAABODKCP + for _, key := range keys { + if _, err := c.CapturedRoleVariant(key[0], key[1]+1); err != nil { + continue + } + selected = candidates[key] + sort.Slice(selected, func(i, j int) bool { + if (selected[i].UniqueId == preferred) != (selected[j].UniqueId == preferred) { + return selected[i].UniqueId == preferred + } + return better(selected[i], selected[j]) + }) + selected = selected[:int(rules.Copies)] + break + } + if len(selected) == 0 { + return groups, nil + } + sort.Slice(selected, func(i, j int) bool { return better(selected[i], selected[j]) }) + anchor := selected[0] + for _, r := range selected { + if !maps.Equal(anchor.ConvertPropertyToFixpoint, r.ConvertPropertyToFixpoint) || !maps.Equal(anchor.BABNHPDGNGB, r.BABNHPDGNGB) || !maps.Equal(anchor.GridFightValueInitComponent, r.GridFightValueInitComponent) { + return nil, fmt.Errorf("CW merge role modifiers need an explicit transfer rule") + } + } + id, err := cwNextEntityID(run) + if err != nil { + return nil, err + } + merged := proto.Clone(anchor).(*pb.CDEAABODKCP) + merged.UniqueId = id + merged.RoleStar++ + removed := map[uint32]bool{} + group := &pb.ABPLALCHNFA{GridUpdateSrc: pb.JJDFGMMMCMI_JJDFGMMMCMI_NJBMBFFLNGM} + for _, r := range selected { + removed[r.UniqueId] = true + group.JKPJFKCBIEM = append(group.JKPJFKCBIEM, &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_HFCBOIOAECK{HFCBOIOAECK: r.UniqueId}}) + } + kept := make([]*pb.CDEAABODKCP, 0, len(team.GridGameRoleList)-len(selected)+1) + for _, r := range team.GridGameRoleList { + if !removed[r.UniqueId] { + kept = append(kept, r) + } + } + team.GridGameRoleList = append(kept, merged) + group.JKPJFKCBIEM = append(group.JKPJFKCBIEM, &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_PIDDDHKPDDM{PIDDDHKPDDM: proto.Clone(merged).(*pb.CDEAABODKCP)}}) + groups = append(groups, group) + preferred = id + } +} diff --git a/internal/gameserver/currency_wars_node.go b/internal/gameserver/currency_wars_node.go new file mode 100644 index 0000000..a0350ec --- /dev/null +++ b/internal/gameserver/currency_wars_node.go @@ -0,0 +1,36 @@ +package gameserver + +import ( + "fmt" + "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" +) + +// The mapped subset of a CW route node's display parameters. Remaining fields +// belong to their own selection/event rules and are preserved on the protobuf. +// StageID is the native CW field; it is not a NodeTemplateID or automatically +// a SceneBattleInfo stage ID. +type currencyWarsNodeScalars struct { + StageID, RawType, BasicReward, AugmentKind uint32 + HasExpert, HasSpotLight bool +} + +// Native GridFightStageNode._RefreshCachedFields at RVA 0xdc09fa0, corroborated +// by explicit runtime getter handles and isolated protobuf scalar encoding: +// OHM offsets 0x30/0x3c/0x50 -> StageID/RawNodeType/BasicReward; +// 0x40 is compared with 1 for IsAugmentNode; 0x4c/0x4d are base flags. +func (n currencyWarsNodeScalars) applyProto(dst *goproto.OHMDHKGAEMM, catalog *common.CurrencyWarsCatalog) error { + if dst == nil || catalog == nil { + return fmt.Errorf("CW node destination/catalog is missing") + } + if _, err := catalog.NodeTypeName(n.RawType); err != nil { + return err + } + dst.StageId = n.StageID + dst.CJCCMAACJDB = n.RawType + dst.PICMDONCKCO = n.BasicReward + dst.PFEMDGNFHNH = n.AugmentKind + dst.FCNNBODJNIK = n.HasExpert + dst.HPNNLMBHOPF = n.HasSpotLight + return nil +} diff --git a/internal/gameserver/currency_wars_player.go b/internal/gameserver/currency_wars_player.go new file mode 100644 index 0000000..7a1a3e0 --- /dev/null +++ b/internal/gameserver/currency_wars_player.go @@ -0,0 +1,47 @@ +package gameserver + +import ( + "fmt" + + goproto "gac-hkrpg-go/protocol/proto" +) + +// currencyWarsPlayerStats is run-local state, separate from adventure avatars. +// Initial values must come from captured CW rules/run configuration. Zero is a +// valid price or win count and is never replaced with an implicit default. +type currencyWarsPlayerStats struct { + HP, MaxHP uint32 + Level, LevelLimit, Exp uint32 + Gold, KeepWinCount uint32 + FrontCapacity, BackCapacity uint32 + BenchCapacity, MaxInterest uint32 + BuyExpGoldCost, BuyExpHPCost uint32 +} + +// applyProtoScalars preserves the separately managed restriction/tracker +// containers on dst. It does not create a complete session or start a run. +// Mapping: native GridFightPlayer.SetData at RVA 0xdb9d670, setter MethodDef +// checks, and isolated NIHNGPKHEPC scalar wire encoding. See the CW investigation +// document for the field-layout inference and outstanding Client verification. +func (p currencyWarsPlayerStats) applyProtoScalars(dst *goproto.NIHNGPKHEPC) error { + if dst == nil { + return fmt.Errorf("CW player destination is missing") + } + if p.MaxHP == 0 || p.HP > p.MaxHP || p.Level == 0 || p.LevelLimit < p.Level { + return fmt.Errorf("CW player health/level state is invalid") + } + dst.PPKKHHNEOHB = p.MaxHP + dst.GridFightLineupHp = p.HP + dst.NDAINFLOLPJ = p.LevelLimit + dst.AFFCFLFIFPH = p.FrontCapacity + dst.KNFOCCPOJEA = p.MaxInterest + dst.GridFightCurLevelExp = p.Exp + dst.JLOCMDIDPCI = p.BackCapacity + dst.CPKLHPJMMDO = p.BuyExpHPCost + dst.EHNJDIDABHD = p.Level + dst.BEPMODICONA = p.BuyExpGoldCost + dst.GDAKCOICIDA = p.KeepWinCount + dst.Gold = p.Gold + dst.MICEOJBAKGN = p.BenchCapacity + return nil +} diff --git a/internal/gameserver/currency_wars_preparation.go b/internal/gameserver/currency_wars_preparation.go new file mode 100644 index 0000000..4143f5f --- /dev/null +++ b/internal/gameserver/currency_wars_preparation.go @@ -0,0 +1,390 @@ +package gameserver + +import ( + "crypto/rand" + "encoding/json" + "fmt" + "math/big" + + "gac-hkrpg-go/internal/common" + pb "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" +) + +// Wire names are revision-specific. Mappings were established by the native +// RoundBegin -> ReturnPreparation -> UpdatePos replay, not opcode aliases. +func cwComponents(run *pb.MPIMAEMCEFH) (player *pb.NIHNGPKHEPC, team *pb.HKFECLCHBFJ, shop *pb.POCJDMMANBM) { + for _, c := range run.NAGDJGMMCBE { + if v := c.GetFAOCFBOFCJP(); v != nil { + player = v + } + if v := c.GetEJIPINIKNCK(); v != nil { + team = v + } + if v := c.GetEBHDIOGALIE(); v != nil { + shop = v + } + } + return +} + +func cwNotify(updates ...*pb.KFNCAIHIHCM) *pb.GridFightSyncUpdateResultScNotify { + return &pb.GridFightSyncUpdateResultScNotify{GCPNIHHBGGD: []*pb.ABPLALCHNFA{{JKPJFKCBIEM: updates}}} +} +func cwFinish(queue uint32) *pb.KFNCAIHIHCM { + return &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_PMFBIGLPJJA{PMFBIGLPJJA: queue}} +} +func cwUnlock() *pb.KFNCAIHIHCM { + return &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_JOMFJHOCHJP{JOMFJHOCHJP: &pb.GMBMNFLMKPI{}}} +} +func cwShopSync(shop *pb.POCJDMMANBM) *pb.KFNCAIHIHCM { + return &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_MOFNIOJHBBL{MOFNIOJHBBL: &pb.HONNGJEMGGH{ + ABGEKPJHHIA: shop.ABGEKPJHHIA, OPDCMCFOFAA: shop.OPDCMCFOFAA, NFGMOPCCPIC: shop.NFGMOPCCPIC, + ABBNGCPECAI: shop.ABBNGCPECAI, OGDKJPDFFAI: shop.OGDKJPDFFAI, + }}} +} + +func cwInitialRound(catalog *common.CurrencyWarsCatalog, run *pb.MPIMAEMCEFH) (*pb.GridFightSyncUpdateResultScNotify, error) { + raw, err := common.ReadResourceFile("resources/CurrencyWarsPreparation.json") + if err != nil { + return nil, err + } + var recipe struct { + Format uint32 `json:"format_version"` + Client string `json:"target_client_version"` + Assembly string `json:"target_assembly_sha256"` + Pending []byte `json:"return_preparation_wire"` + Policy common.CurrencyWarsDrawPolicy `json:"shop_draw_policy"` + } + if err = json.Unmarshal(raw, &recipe); err != nil { + return nil, err + } + if recipe.Format != 1 || recipe.Client != catalog.ClientVersion || recipe.Assembly != catalog.Provenance.GameAssemblySHA256 { + return nil, fmt.Errorf("CW preparation recipe revision differs") + } + pending := new(pb.CHCHAJIANIM) + if err = proto.Unmarshal(recipe.Pending, pending); err != nil { + return nil, err + } + if pending.GetLGNPHHBGKFH() == nil || pending.QueuePosition <= run.FMIGOKIDKJL.QueuePosition { + return nil, fmt.Errorf("CW preparation recipe has invalid pending action") + } + player, team, shop := cwComponents(run) + if player == nil || team == nil || shop == nil || len(shop.OGDKJPDFFAI) != 0 { + return nil, fmt.Errorf("CW initial round components differ") + } + pool, err := catalog.NewCapturedCardPool() + if err != nil { + return nil, err + } + // Reserve starter copies from the same finite pool before drawing the shop. + for _, role := range team.GridGameRoleList { + r, ok := pool.Roles[role.Id] + if !ok { + continue + } + config, e := catalog.CapturedRole(role.Id) + if e != nil { + return nil, e + } + if role.RoleStar != config.DefaultStar || r.Remaining == 0 { + return nil, fmt.Errorf("CW starter pool reservation is not supported") + } + r.Remaining-- + pool.Roles[role.Id] = r + } + level, err := catalog.PlayerLevel(player.EHNJDIDABHD) + if err != nil { + return nil, err + } + weights := level.RarityWeights() + rules, err := catalog.BaseShopRules() + if err != nil { + return nil, err + } + planned, err := (&common.CurrencyWarsShop{Pool: pool}).PlanEnterNode(catalog, rules, weights[:], recipe.Policy, + func(upper uint64) (uint64, error) { + v, e := rand.Int(rand.Reader, new(big.Int).SetUint64(upper)) + if e != nil { + return 0, e + } + return v.Uint64(), nil + }, + func(id uint32) (uint32, uint32, error) { + r, e := catalog.CapturedRole(id) + return r.DefaultStar, r.Price, e + }) + if err != nil { + return nil, err + } + for _, offer := range planned.Offers { + value, e := currencyWarsRoleOfferProto(catalog, offer, pb.FKGIEPHGACD_FKGIEPHGACD_EJKDKAJPDCO) + if e != nil { + return nil, e + } + shop.OGDKJPDFFAI = append(shop.OGDKJPDFFAI, value) + } + shop.NFGMOPCCPIC = rules.RefreshCost + queue := run.FMIGOKIDKJL.QueuePosition + run.FMIGOKIDKJL = pending + player.GAJGBBFELEL = &pb.GMBMNFLMKPI{IBCPAKJAPFF: pb.KMJNPEMPNMC_KMJNPEMPNMC_AEINKINPAFL, LMICDNNABNM: pb.GGNKDLAHAGH_GGNKDLAHAGH_FHOHPFBDNOH} + return cwNotify(cwShopSync(shop), cwFinish(queue), cwUnlock(), + &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_JOMFJHOCHJP{JOMFJHOCHJP: player.GAJGBBFELEL}}, + &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_FMIGOKIDKJL{FMIGOKIDKJL: pending}}), nil +} + +func cwReturnPreparation(run *pb.MPIMAEMCEFH) (*pb.GridFightSyncUpdateResultScNotify, error) { + player, team, shop := cwComponents(run) + if player == nil || team == nil || shop == nil { + return nil, fmt.Errorf("CW preparation components missing") + } + queue := run.FMIGOKIDKJL.QueuePosition + run.FMIGOKIDKJL = nil + player.GAJGBBFELEL = &pb.GMBMNFLMKPI{} + return cwNotify(cwShopSync(shop), cwFinish(queue), cwUnlock()), nil +} + +// Refresh a node's shop without charging the player. Pool accounting includes +// owned copies and unsold reservations, and a locked shop keeps its offers. +func cwRestockForNode(catalog *common.CurrencyWarsCatalog, run *pb.MPIMAEMCEFH) error { + player, team, shop := cwComponents(run) + if player == nil || team == nil || shop == nil { + return fmt.Errorf("CW node shop components missing") + } + pool, err := catalog.NewCapturedCardPool() + if err != nil { + return err + } + reserve := func(id uint32) error { + r, ok := pool.Roles[id] + if !ok { + return nil + } + if r.Remaining == 0 { + return fmt.Errorf("CW card pool exhausted") + } + r.Remaining-- + pool.Roles[id] = r + return nil + } + for _, r := range team.GridGameRoleList { + if e := pool.ReserveOwned(catalog, r.Id, r.RoleStar); e != nil { + return e + } + } + current := &common.CurrencyWarsShop{Pool: pool, Locked: shop.ABGEKPJHHIA, FreeRefreshTimes: shop.OPDCMCFOFAA} + for _, g := range shop.OGDKJPDFFAI { + r := g.GetBDPIMPJOJBK() + if r == nil { + return fmt.Errorf("CW special shop offer not supported") + } + if !g.LHGIFDNPIDE { + if err = reserve(r.RoleId); err != nil { + return err + } + } + current.Offers = append(current.Offers, common.CurrencyWarsShopOffer{RoleID: r.RoleId, Star: r.RoleStar, Cost: g.KDKPDJNMMCM, Sold: g.LHGIFDNPIDE}) + } + rules, err := catalog.BaseShopRules() + if err != nil { + return err + } + level, err := catalog.PlayerLevel(player.EHNJDIDABHD) + if err != nil { + return err + } + weights := level.RarityWeights() + next, err := current.PlanEnterNode(catalog, rules, weights[:], common.CurrencyWarsDrawRemainingCopies, func(upper uint64) (uint64, error) { + v, e := rand.Int(rand.Reader, new(big.Int).SetUint64(upper)) + if e != nil { + return 0, e + } + return v.Uint64(), nil + }, func(id uint32) (uint32, uint32, error) { + r, e := catalog.CapturedRole(id) + return r.DefaultStar, r.Price, e + }) + if err != nil { + return err + } + shop.OGDKJPDFFAI = nil + for _, offer := range next.Offers { + value, e := currencyWarsRoleOfferProto(catalog, offer, pb.FKGIEPHGACD_FKGIEPHGACD_EJKDKAJPDCO) + if e != nil { + return e + } + shop.OGDKJPDFFAI = append(shop.OGDKJPDFFAI, value) + } + shop.NFGMOPCCPIC = rules.RefreshCost + return nil +} + +func cwNextRound(catalog *common.CurrencyWarsCatalog, run *pb.MPIMAEMCEFH) (*pb.GridFightSyncUpdateResultScNotify, error) { + stage, _ := cwStage(run) + if stage == nil || run.FMIGOKIDKJL == nil { + return nil, fmt.Errorf("CW next round missing") + } + entries, err := cwNodeTransitions(catalog) + if err != nil { + return nil, err + } + var pending *pb.CHCHAJIANIM + for _, e := range entries { + level := new(pb.AINFNFIDGFF) + before := new(pb.CHCHAJIANIM) + if err = proto.Unmarshal(e.LevelWire, level); err != nil { + return nil, err + } + if err = proto.Unmarshal(e.PendingWire, before); err != nil { + return nil, err + } + if e.Route == stage.EMOHLJHPOPC && e.Division == run.DivisionId && e.Overclock == run.IsOverlock && level.DCAHJELNJNP == stage.DCAHJELNJNP && level.SectionId == stage.SectionId && before.QueuePosition == run.FMIGOKIDKJL.QueuePosition { + if pending != nil { + return nil, fmt.Errorf("CW next round recipe duplicated") + } + pending = new(pb.CHCHAJIANIM) + if err = proto.Unmarshal(e.RoundWire, pending); err != nil { + return nil, err + } + } + } + if pending == nil || pending.QueuePosition <= run.FMIGOKIDKJL.QueuePosition { + return nil, fmt.Errorf("CW next round recipe missing") + } + if err = cwRestockForNode(catalog, run); err != nil { + return nil, err + } + player, _, shop := cwComponents(run) + queue := run.FMIGOKIDKJL.QueuePosition + run.FMIGOKIDKJL = pending + return cwNotify(cwShopSync(shop), cwFinish(queue), cwUnlock(), &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_JOMFJHOCHJP{JOMFJHOCHJP: player.GAJGBBFELEL}}, &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_FMIGOKIDKJL{FMIGOKIDKJL: pending}}), nil +} + +func init() { + handle("GridFightUpdatePos", func(s *Session, req *pb.GridFightUpdatePosCsReq, rsp *pb.GridFightUpdatePosScRsp) error { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH) + catalog, err := common.LoadCurrencyWarsCatalog() + if err != nil { + return err + } + data, revision, err := readCurrencyWarsData(catalog) + if err != nil { + return err + } + if data == nil || data.DHFOFLFCLAH == nil { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_NOT_IN_GAMEPLAY) + return nil + } + if revision != s.currencyWarsRevision { + return nil + } + run := data.DHFOFLFCLAH + if run.FMIGOKIDKJL != nil || len(req.AAKDHMHCMLP) == 0 { + PacketLog("CW_UPDATE_POS rejected reason=not_preparing_or_empty") + return nil + } + player, team, _ := cwComponents(run) + if player == nil || team == nil { + return nil + } + front, err := catalog.IntegerRule("GridFight_Front_AvatarMaxNum") + if err != nil { + return err + } + back, err := catalog.IntegerRule("GridFight_Back_AvatarMaxNum") + if err != nil { + return err + } + activeEnd := uint64(front + back) + overflow, err := catalog.IntegerRule("GridFight_Bench_OverFlow_AvatarNum") + if err != nil { + return err + } + benchEnd := activeEnd + uint64(player.MICEOJBAKGN) + uint64(overflow) + changes := map[uint32]uint32{} + for _, v := range req.AAKDHMHCMLP { + if v == nil || v.UniqueId == 0 { + return nil + } + if _, ok := changes[v.UniqueId]; ok { + return nil + } + if uint64(v.Pos) > benchEnd { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_POS_NOT_VALID) + return nil + } + changes[v.UniqueId] = v.Pos + } + // Validate final positions together, so swaps need no intermediate empty slot. + occupied := map[uint32]bool{} + owned := map[uint32]bool{} + active := uint32(0) + activeAvatars := map[uint32]bool{} + for _, role := range team.GridGameRoleList { + owned[role.UniqueId] = true + pos := role.Pos + if v, ok := changes[role.UniqueId]; ok { + pos = v + } + if pos != 0 { + if occupied[pos] { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_POS_EXIST_ROLE) + return nil + } + occupied[pos] = true + } + if pos != 0 && uint64(pos) <= activeEnd { + config, err := catalog.CapturedRoleVariant(role.Id, role.RoleStar) + if err != nil { + return err + } + if activeAvatars[config.Config.AvatarID] { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_SAME_ROLE_IN_BATTLE) + return nil + } + activeAvatars[config.Config.AvatarID] = true + active++ + } + } + for _, forge := range team.KCOMPKMJCMC { + pos := forge.Pos + if _, changed := changes[forge.UniqueId]; changed { + return nil + } // Forge movement needs its separately verified sync arm. + if pos != 0 { + if occupied[pos] { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_POS_EXIST_ROLE) + return nil + } + occupied[pos] = true + } + } + for id := range changes { + if !owned[id] { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_ROLE_NOT_EXIST) + return nil + } + } + if active > player.AFFCFLFIFPH { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_REGION_FULL) + return nil + } + var updates []*pb.KFNCAIHIHCM + for _, role := range team.GridGameRoleList { + if pos, ok := changes[role.UniqueId]; ok { + role.Pos = pos + updates = append(updates, &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_CFOCDALNCBP{CFOCDALNCBP: role}}) + } + } + if err = s.saveCurrencyWarsData(data, catalog); err != nil { + return err + } + if err = s.Send(cwNotify(updates...)); err != nil { + return err + } + rsp.AAKDHMHCMLP = req.AAKDHMHCMLP + rsp.Retcode = 0 + PacketLog(fmt.Sprintf("CW_UPDATE_POS saved count=%d active=%d revision=%d", len(changes), active, s.currencyWarsRevision)) + return nil + }) +} diff --git a/internal/gameserver/currency_wars_route.go b/internal/gameserver/currency_wars_route.go new file mode 100644 index 0000000..abdea0e --- /dev/null +++ b/internal/gameserver/currency_wars_route.go @@ -0,0 +1,59 @@ +package gameserver + +import ( + "fmt" + + "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" +) + +type currencyWarsNodeCoordinate struct { + Chapter uint32 + Section uint32 +} + +// applyCurrencyWarsRoute fills only the route component. Battle/node status +// belongs to the action that enters a node and is preserved on dst. +// Native GridFightStage.Sync (0xdc05680) copies the three scalar coordinates; +// _SyncRouteInfo (0xdc05740) passes route ID and nodes to SyncRouteNodes. The +// latter stores its first argument in GridFightStageRoute._StageRouteID. +func applyCurrencyWarsRoute(dst *goproto.BEEFLEJAOCN, catalog *common.CurrencyWarsCatalog, + routeID uint32, current currencyWarsNodeCoordinate, + displays map[currencyWarsNodeCoordinate]*goproto.OHMDHKGAEMM) error { + if dst == nil || catalog == nil { + return fmt.Errorf("CW route destination/catalog is missing") + } + rows, err := catalog.RouteNodes(routeID) + if err != nil { + return err + } + nodes := make([]*goproto.BCCIJHPLJOJ, 0, len(rows)) + foundCurrent := false + for _, row := range rows { + coordinate := currencyWarsNodeCoordinate{Chapter: row.ChapterID, Section: row.SectionID} + display := displays[coordinate] + if display == nil { + return fmt.Errorf("CW node configuration is missing: route=%d chapter=%d section=%d template=%d", + routeID, row.ChapterID, row.SectionID, row.NodeTemplateID) + } + nodes = append(nodes, &goproto.BCCIJHPLJOJ{ + DCAHJELNJNP: row.ChapterID, + SectionId: row.SectionID, + DisplayValue: proto.Clone(display).(*goproto.OHMDHKGAEMM), + }) + foundCurrent = foundCurrent || coordinate == current + } + if !foundCurrent { + return fmt.Errorf("CW current node is outside captured route") + } + if len(displays) != len(rows) { + return fmt.Errorf("CW node configuration contains coordinates outside captured route") + } + // Commit after all input has been validated, preserving dst on any error. + dst.DCAHJELNJNP = current.Chapter + dst.SectionId = current.Section + dst.EMOHLJHPOPC = routeID + dst.OOMMIIKPHBC = nodes + return nil +} diff --git a/internal/gameserver/currency_wars_save.go b/internal/gameserver/currency_wars_save.go new file mode 100644 index 0000000..2b824db --- /dev/null +++ b/internal/gameserver/currency_wars_save.go @@ -0,0 +1,97 @@ +package gameserver + +import ( + "fmt" + + "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" +) + +// Shared read path for entry and GetData. It never adopts a revision into a +// session or writes persistent; callers choose when a validated view becomes +// their current session revision. +func readCurrencyWarsData(catalog *common.CurrencyWarsCatalog) (*goproto.GridFightGetDataScRsp, uint64, error) { + if catalog == nil { + return nil, 0, fmt.Errorf("CW catalog is missing") + } + cfg, err := common.LoadRuntimeConfig() + if err != nil { + return nil, 0, err + } + snapshot, err := common.ReadCurrencyWarsSnapshot(cfg.PlayerUID, catalog.ClientVersion, catalog.Provenance.GameAssemblySHA256) + if err != nil { + return nil, 0, err + } + if snapshot == nil { + return nil, 0, nil + } + var saved goproto.GridFightGetDataScRsp + if err := proto.Unmarshal(snapshot.WireData, &saved); err != nil { + return nil, 0, fmt.Errorf("decode saved CW protocol: %w", err) + } + if err := validateCurrencyWarsSavedData(&saved, catalog); err != nil { + return nil, 0, err + } + return &saved, snapshot.Revision, nil +} + +// Validate known metadata prerequisites before restoring a saved response. +// Full run validation belongs to the gameplay state machine, which is still +// being implemented. Entry and captured initial-choice handlers commit only +// their validated phases; this is not full gameplay/resume validation. +func validateCurrencyWarsSavedData(data *goproto.GridFightGetDataScRsp, catalog *common.CurrencyWarsCatalog) error { + if data == nil || catalog == nil || data.Retcode != 0 || data.LFLCDNGALME == nil { + return fmt.Errorf("saved CW response is missing metadata or contains an error") + } + meta := data.LFLCDNGALME + if meta.PKELAIPIHMF == nil || meta.PKELAIPIHMF.MHFHLBHFIBC == nil || meta.HFPEJIDDDJG == nil { + return fmt.Errorf("saved CW permanent/season state is incomplete") + } + season := meta.HFPEJIDDDJG + if season.ADFEKPNIFOJ != catalog.ActiveSeasonID || season.GEGMHOMNBDG != catalog.ActiveSubSeasonID || season.Exp == nil || season.MHFHLBHFIBC == nil || season.NLENPEPIHAC == nil { + return fmt.Errorf("saved CW season state differs from captured active season") + } + division, ok := catalog.Division(season.DivisionId) + if !ok || division.SeasonID != catalog.ActiveSeasonID { + return fmt.Errorf("saved CW division is not in active season") + } + book := season.NLENPEPIHAC + if book.DNEGDNEBJMB == nil || book.NIOAIKLPACM == nil || book.EECJFCNKKMB == nil || book.KJIJEGAHLGB == nil || book.NNIJIFGJJJA == nil || book.JLFANEOAHOC == nil || book.EJHDGLHCNLH == nil || book.PJBIPMKACOF == nil { + return fmt.Errorf("saved CW handbook containers are incomplete") + } + if run := data.DHFOFLFCLAH; run != nil { + // Native Start/GetData captures establish LJNGPCKPJLF as Season. + // MPJPLKKJNGE is not a required season identity; it can be zero. + if run.UniqueId == 0 || run.LJNGPCKPJLF != catalog.ActiveSeasonID || run.DivisionId == 0 { + return fmt.Errorf("saved CW active run identity is incomplete") + } + if d, ok := catalog.Division(run.DivisionId); !ok || d.SeasonID != run.LJNGPCKPJLF { + return fmt.Errorf("saved CW run division differs from its season") + } + } + return nil +} + +// saveCurrencyWarsData must be called only after a validated CW state-machine +// transition, under the session state lock. It does not alter adventure data. +func (s *Session) saveCurrencyWarsData(data *goproto.GridFightGetDataScRsp, catalog *common.CurrencyWarsCatalog) error { + if err := validateCurrencyWarsSavedData(data, catalog); err != nil { + return err + } + cfg, err := common.LoadRuntimeConfig() + if err != nil { + return err + } + wire, err := proto.Marshal(data) + if err != nil { + return err + } + next := common.NewCurrencyWarsSnapshot(cfg.PlayerUID, catalog.ClientVersion, catalog.Provenance.GameAssemblySHA256, wire) + revision, err := common.CommitCurrencyWarsSnapshot(s.currencyWarsRevision, next) + if err != nil { + return err + } + s.currencyWarsRevision = revision + return nil +} diff --git a/internal/gameserver/currency_wars_settlement.go b/internal/gameserver/currency_wars_settlement.go new file mode 100644 index 0000000..bcb631c --- /dev/null +++ b/internal/gameserver/currency_wars_settlement.go @@ -0,0 +1,293 @@ +package gameserver + +import ( + "encoding/json" + "fmt" + "math" + + "gac-hkrpg-go/internal/common" + pb "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" +) + +const cwPercentScale uint32 = 100 // Uploaded progress is an integer percentage. + +type cwNodeTransition struct { + Route uint32 `json:"route_id"` + Chapter uint32 `json:"chapter_id"` + Section uint32 `json:"section_id"` + Stage uint32 `json:"stage_id"` + Penalty uint32 `json:"penalty_id"` + Division uint32 `json:"division_id"` + Overclock bool `json:"is_overclock"` + LevelWire []byte `json:"next_level_wire"` + PendingWire []byte `json:"next_pending_wire"` + RoundWire []byte `json:"round_pending_wire"` +} + +func cwNodeTransitions(c *common.CurrencyWarsCatalog) ([]cwNodeTransition, error) { + raw, e := common.ReadResourceFile("resources/CurrencyWarsNodeTransitions.json") + if e != nil { + return nil, e + } + var r struct { + Format uint32 `json:"format_version"` + Client string `json:"target_client_version"` + Assembly string `json:"target_assembly_sha256"` + Entries []cwNodeTransition `json:"entries"` + } + if e = json.Unmarshal(raw, &r); e != nil { + return nil, e + } + if r.Format != 1 || r.Client != c.ClientVersion || r.Assembly != c.Provenance.GameAssemblySHA256 { + return nil, fmt.Errorf("CW node transition revision differs") + } + return r.Entries, nil +} +func cwStage(run *pb.MPIMAEMCEFH) (*pb.BEEFLEJAOCN, *pb.OHMDHKGAEMM) { + for _, c := range run.NAGDJGMMCBE { + if s := c.GetKLCPAAHDPJF(); s != nil { + for _, n := range s.OOMMIIKPHBC { + if n.SectionId == s.SectionId && n.DCAHJELNJNP == s.DCAHJELNJNP { + return s, n.DisplayValue + } + } + return s, nil + } + } + return nil, nil +} + +func finishCurrencyWarsBattle(s *Session, req *pb.PVEBattleResultCsReq, current *pb.SceneBattleInfo) error { + if current == nil || req.BattleId != current.BattleId || req.StageId != current.StageId { + return fmt.Errorf("CW battle identity differs") + } + if req.EndStatus != pb.BattleEndStatus_BATTLE_END_WIN { + // Quitting returns to the same preparation; it does not award a victory. + CURRENT_BATTLE.Delete(s.Token) + return s.Send(cwNotify(cwUnlock())) + } + if req.Stt == nil || req.Stt.APAGMJNECCN == nil { + return fmt.Errorf("CW uploaded statistics missing") + } + progress := req.Stt.APAGMJNECCN.HFLPDCJDIAC + if progress > cwPercentScale { + return fmt.Errorf("CW progress is outside percentage range") + } + catalog, err := common.LoadCurrencyWarsCatalog() + if err != nil { + return err + } + data, revision, err := readCurrencyWarsData(catalog) + if err != nil { + return err + } + if data == nil || data.DHFOFLFCLAH == nil || revision != s.currencyWarsRevision { + return fmt.Errorf("CW run/revision differs at settlement") + } + run := data.DHFOFLFCLAH + stage, node := cwStage(run) + player, team, shop := cwComponents(run) + if stage == nil || node == nil || player == nil || team == nil || shop == nil || node.StageId != req.StageId { + return fmt.Errorf("CW settlement components differ") + } + transitions, err := cwNodeTransitions(catalog) + if err != nil { + return err + } + var transition *cwNodeTransition + for i := range transitions { + t := &transitions[i] + if t.Route == stage.EMOHLJHPOPC && t.Chapter == stage.DCAHJELNJNP && t.Section == stage.SectionId && t.Stage == node.StageId && t.Penalty == node.IFIIOIIKJHO && t.Division == run.DivisionId && t.Overclock == run.IsOverlock { + if transition != nil { + return fmt.Errorf("CW transition duplicated") + } + transition = t + } + } + if transition == nil { + return fmt.Errorf("CW next node recipe not captured") + } + nextLevel := new(pb.AINFNFIDGFF) + nextPending := new(pb.CHCHAJIANIM) + if err = proto.Unmarshal(transition.LevelWire, nextLevel); err != nil { + return err + } + if err = proto.Unmarshal(transition.PendingWire, nextPending); err != nil { + return err + } + if nextLevel.IMPNAHBCADN == nil || nextPending.GetNNDGEJFLGGF() == nil { + return fmt.Errorf("CW next node recipe incomplete") + } + found := false + for _, n := range stage.OOMMIIKPHBC { + found = found || (n.DCAHJELNJNP == nextLevel.DCAHJELNJNP && n.SectionId == nextLevel.SectionId) + } + if !found { + return fmt.Errorf("CW next node outside route") + } + raw, err := common.ReadResourceFile("resources/CurrencyWarsSettlementRules.json") + if err != nil { + return err + } + var rules struct { + Format uint32 `json:"format_version"` + Client string `json:"target_client_version"` + Assembly string `json:"target_assembly_sha256"` + Penalties []struct{ ID, ThresholdPosition, ThresholdFailPlayerHPPenalty, ThresholdPassBasicPlayerHPPenalty, ProgressPenaltyCoefficient uint32 } `json:"penalty_rules"` + Victories []struct{ Low, Up, Bonus uint32 } `json:"victory_rules"` + StreakNodes []string `json:"streak_node_types"` + } + if err = json.Unmarshal(raw, &rules); err != nil { + return err + } + if rules.Format != 1 || rules.Client != catalog.ClientVersion || rules.Assembly != catalog.Provenance.GameAssemblySHA256 { + return fmt.Errorf("CW settlement rule revision differs") + } + penaltyIndex := -1 + for i, p := range rules.Penalties { + if p.ID == node.IFIIOIIKJHO { + if penaltyIndex >= 0 { + return fmt.Errorf("CW penalty duplicated") + } + penaltyIndex = i + } + } + if penaltyIndex < 0 { + return fmt.Errorf("CW target penalty row not captured") + } + penalty := rules.Penalties[penaltyIndex] + if player.PPKKHHNEOHB > math.MaxInt32 || player.GridFightLineupHp > player.PPKKHHNEOHB { + return fmt.Errorf("CW HP cannot be represented in settlement") + } + perfect := progress == cwPercentScale + previousHP := player.GridFightLineupHp + previousStreak := player.GDAKCOICIDA + previousLevel, previousExp := player.EHNJDIDABHD, player.GridFightCurLevelExp + var hpChanges []*pb.GEDDNPGHNGP + loseHP := func(amount uint32, reason pb.DFIJIBKBEJL) { + before := player.GridFightLineupHp + if amount > before { + amount = before + } + player.GridFightLineupHp -= amount + hpChanges = append(hpChanges, &pb.GEDDNPGHNGP{Reason: reason, ODJEBDNBLLC: int32(before), BMMADDOCJOG: int32(player.GridFightLineupHp), IOAOHNDEJNB: amount}) + } + basicLoss, progressLoss, thresholdLoss := uint32(0), uint32(0), uint32(0) + if !perfect { + basicLoss = penalty.ThresholdPassBasicPlayerHPPenalty + loss := uint64(cwPercentScale-progress) * uint64(penalty.ProgressPenaltyCoefficient) / uint64(cwPercentScale) + if loss > math.MaxUint32 { + return fmt.Errorf("CW progress penalty overflow") + } + progressLoss = uint32(loss) + if progress < penalty.ThresholdPosition { + thresholdLoss = penalty.ThresholdFailPlayerHPPenalty + } + } + loseHP(basicLoss, pb.DFIJIBKBEJL_DFIJIBKBEJL_FDKCPHMMFCD) + loseHP(progressLoss, pb.DFIJIBKBEJL_DFIJIBKBEJL_IEGEHAKDEHA) + loseHP(thresholdLoss, pb.DFIJIBKBEJL_DFIJIBKBEJL_KEOPICGMGPI) + if player.GridFightLineupHp == 0 { + return fmt.Errorf("CW defeat settlement requires terminal-run handler") + } + kind, err := catalog.NodeTypeName(node.CJCCMAACJDB) + if err != nil { + return err + } + for _, name := range rules.StreakNodes { + if name == kind { + if perfect { + if player.GDAKCOICIDA == math.MaxUint32 { + return fmt.Errorf("CW streak overflow") + } + player.GDAKCOICIDA++ + } else { + player.GDAKCOICIDA = 0 + } + break + } + } + bonusFound := false + var streakGold uint32 + for _, v := range rules.Victories { + if v.Low <= player.GDAKCOICIDA && player.GDAKCOICIDA <= v.Up { + if bonusFound { + return fmt.Errorf("CW victory ranges overlap") + } + bonusFound = true + streakGold = v.Bonus + } + } + if !bonusFound { + return fmt.Errorf("CW victory range missing") + } + interest, err := catalog.BaseInterest(player.Gold, player.KNFOCCPOJEA) + if err != nil { + return err + } + basicGold := node.PICMDONCKCO + sum := uint64(player.Gold) + uint64(basicGold) + uint64(interest) + uint64(streakGold) + if sum > math.MaxUint32 { + sum = math.MaxUint32 + } + player.Gold = uint32(sum) + gain, err := catalog.IntegerRule("GridFight_GainExpWhenWaveEnd") + if err != nil || gain < 0 || uint64(gain) > math.MaxUint32 { + return fmt.Errorf("CW EXP gain rule invalid") + } + plan, err := catalog.PlanBaseExperience(player.EHNJDIDABHD, player.GridFightCurLevelExp, uint32(gain), player.NDAINFLOLPJ) + if err != nil { + return err + } + previousRow, err := catalog.PlayerLevel(previousLevel) + if err != nil { + return err + } + row, err := catalog.PlayerLevel(plan.Level) + if err != nil { + return err + } + if err = cwApplyBaseExperience(catalog, player, shop, uint32(gain)); err != nil { + return err + } + damage := &pb.BHBAILHMCOI{} + frontMax, err := catalog.IntegerRule("GridFight_Front_AvatarMaxNum") + if err != nil { + return err + } + for _, role := range current.EIGMKOJOEEI.GridGameRoleList { + total := float64(0) + for _, stat := range req.Stt.APAGMJNECCN.DOGMMGLBJIJ { + if stat.RoleId == role.RoleId && !math.IsNaN(stat.Damage) && !math.IsInf(stat.Damage, 0) && stat.Damage > 0 { + total += stat.Damage + } + } + damage.EEGPILJDLBG = append(damage.EEGPILJDLBG, &pb.PLFKMENCDMM{RoleId: role.RoleId, RoleStar: role.RoleStar, TotalDamage: total, DIGNECHKINI: uint64(role.Pos) > uint64(frontMax)}) + } + oldChapter, oldSection := stage.DCAHJELNJNP, stage.SectionId + stage.DCAHJELNJNP = nextLevel.DCAHJELNJNP + stage.SectionId = nextLevel.SectionId + stage.IMPNAHBCADN = proto.Clone(nextLevel.IMPNAHBCADN).(*pb.NCKOKDHNJDC) + run.FMIGOKIDKJL = nextPending + player.GAJGBBFELEL = &pb.GMBMNFLMKPI{IBCPAKJAPFF: pb.KMJNPEMPNMC_KMJNPEMPNMC_AEINKINPAFL, LMICDNNABNM: pb.GGNKDLAHAGH_GGNKDLAHAGH_FHOHPFBDNOH} + end := &pb.GridFightEndBattleStageNotify{DCAHJELNJNP: oldChapter, SectionId: oldSection, EMOHLJHPOPC: stage.EMOHLJHPOPC, HFLPDCJDIAC: progress, OAHFCPPIMLF: penalty.ThresholdPosition, CBHJKFNCDAD: perfect, + JPKHBELGHCG: previousStreak, OCCOHKIMGCN: player.GDAKCOICIDA, CLFNPMGHMFC: basicGold, DMNILJEGICO: interest, OGLOCDMNNIM: streakGold, ODJEBDNBLLC: previousHP, PAGPKOKMDBK: player.GridFightLineupHp, LKCJAPIGEND: player.PPKKHHNEOHB, NKBIDLBLONC: damage, HMKOKACNHJH: hpChanges, + AEOCOGHMEBG: &pb.GEEMFDBDMDH{PBMAHOJBAGG: uint32(gain), EDCLIPCEHAO: &pb.NFPLDMFCLHA{Level: previousLevel, Exp: previousExp, KDBMPKJKAKI: previousRow.LevelUpExp}, LHIAODNJIIC: &pb.NFPLDMFCLHA{Level: plan.Level, Exp: plan.Exp, KDBMPKJKAKI: row.LevelUpExp}}} + if err = s.saveCurrencyWarsData(data, catalog); err != nil { + return err + } + CURRENT_BATTLE.Delete(s.Token) // Duplicate uploads cannot award again. + update := cwNotify(cwUnlock(), cwGoldSync(player.Gold), cwCapacitySync(player), &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_GridFightLineupHp{GridFightLineupHp: &pb.FMJDDIHBELC{PPKKHHNEOHB: player.PPKKHHNEOHB, GridFightLineupHp: player.GridFightLineupHp}}}, &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_PLPHEIBLPDL{PLPHEIBLPDL: &pb.PIHKLPJGEPM{Level: plan.Level, Exp: plan.Exp, HFMKLAPEKFA: player.NDAINFLOLPJ}}}) + if err = s.Send(update); err != nil { + return err + } + if err = s.Send(end); err != nil { + return err + } + if err = s.Send(cwNotify(&pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_OOICHLAMNIG{OOICHLAMNIG: nextLevel}}, &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_JOMFJHOCHJP{JOMFJHOCHJP: player.GAJGBBFELEL}}, &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_FMIGOKIDKJL{FMIGOKIDKJL: nextPending}})); err != nil { + return err + } + PacketLog(fmt.Sprintf("CW_SETTLEMENT saved battle=%d progress=%d gold=%d basic=%d interest=%d streak=%d exp=%d next=%d/%d revision=%d", req.BattleId, progress, player.Gold, basicGold, interest, streakGold, plan.Exp, stage.DCAHJELNJNP, stage.SectionId, s.currencyWarsRevision)) + return nil +} diff --git a/internal/gameserver/currency_wars_shop.go b/internal/gameserver/currency_wars_shop.go new file mode 100644 index 0000000..e25f917 --- /dev/null +++ b/internal/gameserver/currency_wars_shop.go @@ -0,0 +1,36 @@ +package gameserver + +import ( + "fmt" + + "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" +) + +// Exact runtime method pointers and their baseline native consumers were +// resolved for the catalog's source assembly (see CW investigation notes). +// Factory RVA 0xdbf2340 takes the slot index separately and selects the role +// constructor for oneof tag 1403. Cost RVA 0xdbf2860 reads HDE +0x28 (tag 13). +// Source is deliberately supplied by the action processor; its obfuscated enum +// values are not assigned normal/special meanings by this converter. +func currencyWarsRoleOfferProto(catalog *common.CurrencyWarsCatalog, offer common.CurrencyWarsShopOffer, + source goproto.FKGIEPHGACD, +) (*goproto.HDEIAANGMDB, error) { + if catalog == nil { + return nil, fmt.Errorf("CW offer catalog is missing") + } + if _, valid := goproto.FKGIEPHGACD_name[int32(source)]; !valid { + return nil, fmt.Errorf("CW shop source enum is outside the protocol schema") + } + if _, err := catalog.CapturedRoleVariant(offer.RoleID, offer.Star); err != nil { + return nil, err + } + return &goproto.HDEIAANGMDB{ + Source: source, + LHGIFDNPIDE: offer.Sold, + KDKPDJNMMCM: offer.Cost, + AELHFLGJMJN: &goproto.HDEIAANGMDB_BDPIMPJOJBK{ + BDPIMPJOJBK: &goproto.NJBGFHDPFNO{RoleId: offer.RoleID, RoleStar: offer.Star}, + }, + }, nil +} diff --git a/internal/gameserver/currency_wars_spotlight.go b/internal/gameserver/currency_wars_spotlight.go new file mode 100644 index 0000000..74aabc9 --- /dev/null +++ b/internal/gameserver/currency_wars_spotlight.go @@ -0,0 +1,195 @@ +package gameserver + +import ( + "crypto/rand" + "fmt" + "gac-hkrpg-go/internal/common" + pb "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" + "math/big" + "sort" +) + +func cwSpotlights(run *pb.MPIMAEMCEFH) *pb.GNOBLNOCEHA { + for _, c := range run.NAGDJGMMCBE { + if v := c.GetLEGMAJLHBLA(); v != nil { + return v + } + } + return nil +} + +func cwEnsureSpotlights(run *pb.MPIMAEMCEFH) bool { + if cwSpotlights(run) != nil { + return false + } + run.NAGDJGMMCBE = append(run.NAGDJGMMCBE, &pb.GridFightGameInfo{LEOIAOFBBFA: &pb.GridFightGameInfo_LEGMAJLHBLA{LEGMAJLHBLA: &pb.GNOBLNOCEHA{}}}) + return true +} + +func cwSpotlightChoices(c *common.CurrencyWarsCatalog, run *pb.MPIMAEMCEFH) (*pb.BDLBHJGNCFM, error) { + rows, policy, e := c.SpotlightData() + if e != nil { + return nil, e + } + _, team, _ := cwComponents(run) + if team == nil { + return nil, fmt.Errorf("CW Spotlight team missing") + } + owned := map[uint32]bool{} + for _, r := range team.GridGameRoleList { + owned[r.Id] = true + } + used := map[uint32]bool{} + if v := cwSpotlights(run); v != nil { + for _, r := range v.FNNEPMAPOOF { + used[r.RoleId] = true + } + } + var ids []uint32 + for id, row := range rows { + if run.IsOverlock && !row.IsOCEffective { + continue + } + compatible := false + for _, role := range row.SuitableRoles { + if owned[role] && !used[role] { + compatible = true + break + } + } + if compatible { + ids = append(ids, id) + } + } + sort.Slice(ids, func(i, j int) bool { return ids[i] < ids[j] }) + if len(ids) == 0 { + return nil, fmt.Errorf("CW no compatible Spotlight choices for owned roles") + } + // Explicit resource policy, not an invented claim about native weights. + count := int(policy.OfferCount) + if count > len(ids) { + count = len(ids) + } + out := &pb.BDLBHJGNCFM{BKOGIFHEKHH: true, ACKOKJBBPKH: true, DOAHJPPPMGM: policy.FreeRefreshCount} + for i := 0; i < count; i++ { + n, e := rand.Int(rand.Reader, big.NewInt(int64(len(ids)-i))) + if e != nil { + return nil, e + } + j := i + int(n.Int64()) + ids[i], ids[j] = ids[j], ids[i] + out.HPKFKBKOADP = append(out.HPKFKBKOADP, &pb.FGEOPPMIHJM{IHHNLLAJAGB: ids[i]}) + } + return out, nil +} + +func cwSelectSpotlight(c *common.CurrencyWarsCatalog, run *pb.MPIMAEMCEFH, selection *pb.NIJPHAAONFB) (*pb.GridFightSyncUpdateResultScNotify, error) { + if selection == nil || run.FMIGOKIDKJL == nil || run.FMIGOKIDKJL.GetEEKMIAMGHFL() == nil { + return nil, fmt.Errorf("CW Spotlight is not pending") + } + pending := run.FMIGOKIDKJL + offer := pending.GetEEKMIAMGHFL() + if !offer.BKOGIFHEKHH || offer.GFGJOKJGGCO != 0 { + return nil, fmt.Errorf("CW Spotlight replacement is not a grant") + } + offered := false + for _, v := range offer.HPKFKBKOADP { + offered = offered || v.IHHNLLAJAGB == selection.IHHNLLAJAGB + } + if !offered { + return nil, fmt.Errorf("CW Spotlight choice not offered") + } + rows, _, e := c.SpotlightData() + if e != nil { + return nil, e + } + row, ok := rows[selection.IHHNLLAJAGB] + if !ok { + return nil, fmt.Errorf("CW Spotlight configuration missing") + } + compatible := false + for _, id := range row.SuitableRoles { + compatible = compatible || id == selection.RoleId + } + if !compatible { + return nil, fmt.Errorf("CW Spotlight role is incompatible") + } + player, team, _ := cwComponents(run) + owned := false + for _, r := range team.GridGameRoleList { + owned = owned || r.Id == selection.RoleId + } + if !owned { + return nil, fmt.Errorf("CW Spotlight role not owned") + } + cwEnsureSpotlights(run) + state := cwSpotlights(run) + for _, v := range state.FNNEPMAPOOF { + if v.RoleId == selection.RoleId { + return nil, fmt.Errorf("CW role already has Spotlight") + } + } + uid, e := cwNextEntityID(run) + if e != nil { + return nil, e + } + item := &pb.FMBACDOFCAL{UniqueId: uid, IHHNLLAJAGB: row.ID, RoleId: selection.RoleId} + state.FNNEPMAPOOF = append(state.FNNEPMAPOOF, item) + stage, node := cwStage(run) + if stage == nil || node == nil || !node.HPNNLMBHOPF { + return nil, fmt.Errorf("CW current node has no unclaimed Spotlight") + } + node.HPNNLMBHOPF = false + var routeNode *pb.BCCIJHPLJOJ + for _, v := range stage.OOMMIIKPHBC { + if v.DCAHJELNJNP == stage.DCAHJELNJNP && v.SectionId == stage.SectionId { + routeNode = v + break + } + } + if routeNode == nil { + return nil, fmt.Errorf("CW current route node missing") + } + run.FMIGOKIDKJL = nil + player.GAJGBBFELEL = &pb.GMBMNFLMKPI{} + return cwNotify(&pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_OHHBBOGFDON{OHHBBOGFDON: proto.Clone(item).(*pb.FMBACDOFCAL)}}, + &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_KBHOBGHKIBA{KBHOBGHKIBA: &pb.BAAGMMIDHDB{DBIIPEEDBHI: proto.Clone(routeNode).(*pb.BCCIJHPLJOJ)}}}, cwFinish(pending.QueuePosition), cwUnlock()), nil +} + +func init() { + handle("GridFightSpotLightEnter", func(s *Session, _ *pb.GridFightSpotLightEnterCsReq, rsp *pb.GridFightSpotLightEnterScRsp) error { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_CONF_MISS) + c, data, e := cwPreparingData(s) + if e != nil { + PacketLog("CW_SPOTLIGHT_ENTER rejected: " + e.Error()) + return nil + } + run := data.DHFOFLFCLAH + _, node := cwStage(run) + if node == nil || !node.HPNNLMBHOPF { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH) + return nil + } + if s.currencyWarsRevision >= uint64(^uint32(0)) { + return nil + } + offer, e := cwSpotlightChoices(c, run) + if e != nil { + PacketLog("CW_SPOTLIGHT_ENTER rejected: " + e.Error()) + return nil + } + cwEnsureSpotlights(run) + pending := &pb.CHCHAJIANIM{QueuePosition: uint32(s.currencyWarsRevision + 1), FGLIODAJFML: &pb.CHCHAJIANIM_EEKMIAMGHFL{EEKMIAMGHFL: offer}} + run.FMIGOKIDKJL = pending + if e = s.saveCurrencyWarsData(data, c); e != nil { + return nil + } + if e = s.Send(cwNotify(&pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_FMIGOKIDKJL{FMIGOKIDKJL: pending}})); e != nil { + return e + } + rsp.Retcode = 0 + PacketLog(fmt.Sprintf("CW_SPOTLIGHT_ENTER offered=%d queue=%d revision=%d", len(offer.HPKFKBKOADP), pending.QueuePosition, s.currencyWarsRevision)) + return nil + }) +} diff --git a/internal/gameserver/currency_wars_start.go b/internal/gameserver/currency_wars_start.go new file mode 100644 index 0000000..5a7a6ce --- /dev/null +++ b/internal/gameserver/currency_wars_start.go @@ -0,0 +1,186 @@ +package gameserver + +import ( + "crypto/sha256" + "encoding/hex" + "encoding/json" + "fmt" + + "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" +) + +// Initial entry presets are captured reference states, not a replacement for +// the procedural run/action processor. IDs, route displays, pending choices +// and modifiers stay in the revision-bound resource rather than handler code. +func buildCurrencyWarsInitialRun(catalog *common.CurrencyWarsCatalog, req *goproto.GridFightStartGamePlayCsReq, uniqueID uint32) (*goproto.MPIMAEMCEFH, error) { + if catalog == nil || req == nil || uniqueID == 0 { + return nil, fmt.Errorf("CW start inputs are incomplete") + } + if req.LJNGPCKPJLF != catalog.ActiveSeasonID { + return nil, fmt.Errorf("CW requested season is not active") + } + raw, err := common.ReadResourceFile("resources/CurrencyWarsInitialRuns.json") + if err != nil { + return nil, err + } + var resource struct { + Format uint32 `json:"format_version"` + Client string `json:"target_client_version"` + Assembly string `json:"target_assembly_sha256"` + SourceSHA string `json:"source_binary_sha256"` + Entries []struct { + Division uint32 `json:"division_id"` + Overclock bool `json:"is_overclock"` + Wire []byte `json:"run_wire"` + CaptureSHA string `json:"capture_sha256"` + } `json:"entries"` + } + if err := json.Unmarshal(raw, &resource); err != nil { + return nil, err + } + if resource.Format != 1 || resource.Client != catalog.ClientVersion || resource.Assembly != catalog.Provenance.GameAssemblySHA256 { + return nil, fmt.Errorf("CW initial preset revision differs from the current catalog") + } + if h, err := hex.DecodeString(resource.SourceSHA); err != nil || len(h) != sha256.Size { + return nil, fmt.Errorf("CW initial preset source identity is missing") + } + var selected *goproto.MPIMAEMCEFH + for _, entry := range resource.Entries { + if entry.Division != req.DivisionId || entry.Overclock != req.IsOverlock { + continue + } + if selected != nil { + return nil, fmt.Errorf("CW initial preset key is duplicated") + } + if h, err := hex.DecodeString(entry.CaptureSHA); err != nil || len(h) != sha256.Size { + return nil, fmt.Errorf("CW initial preset capture identity is missing") + } + var run goproto.MPIMAEMCEFH + if err := proto.Unmarshal(entry.Wire, &run); err != nil { + return nil, fmt.Errorf("decode CW initial preset: %w", err) + } + if run.DivisionId != req.DivisionId || run.IsOverlock != req.IsOverlock || run.LJNGPCKPJLF != req.LJNGPCKPJLF { + return nil, fmt.Errorf("CW initial preset identity differs from its resource key") + } + if err := validateCurrencyWarsEntryComponents(&run, catalog); err != nil { + return nil, err + } + run.UniqueId = uniqueID + selected = &run + } + if selected == nil { + return nil, fmt.Errorf("CW requested division/mode has no captured initial preset") + } + cwEnsureSpotlights(selected) + return selected, nil +} + +func validateCurrencyWarsEntryComponents(run *goproto.MPIMAEMCEFH, catalog *common.CurrencyWarsCatalog) error { + if run == nil || run.FMIGOKIDKJL == nil || run.JLDDDLDNFEF == nil || run.CAAGABEPPPE == nil { + return fmt.Errorf("CW initial pending/context/modifier containers are missing") + } + var player *goproto.NIHNGPKHEPC + var stage *goproto.BEEFLEJAOCN + var shop *goproto.POCJDMMANBM + for _, info := range run.NAGDJGMMCBE { + if info == nil { + return fmt.Errorf("CW initial component is nil") + } + if p := info.GetFAOCFBOFCJP(); p != nil { + if player != nil { + return fmt.Errorf("CW player component is duplicated") + } + player = p + } + if p := info.GetKLCPAAHDPJF(); p != nil { + if stage != nil { + return fmt.Errorf("CW stage component is duplicated") + } + stage = p + } + if p := info.GetEBHDIOGALIE(); p != nil { + if shop != nil { + return fmt.Errorf("CW shop component is duplicated") + } + shop = p + } + } + if player == nil || stage == nil || shop == nil || shop.ABBNGCPECAI == nil { + return fmt.Errorf("CW initial player/stage/shop is incomplete") + } + if player.PPKKHHNEOHB == 0 || player.GridFightLineupHp > player.PPKKHHNEOHB || player.EHNJDIDABHD == 0 || player.EHNJDIDABHD > player.NDAINFLOLPJ { + return fmt.Errorf("CW initial health/level is invalid") + } + if _, err := catalog.PlayerLevel(player.EHNJDIDABHD); err != nil { + return err + } + displays := make(map[currencyWarsNodeCoordinate]*goproto.OHMDHKGAEMM) + for _, node := range stage.OOMMIIKPHBC { + if node == nil || node.DisplayValue == nil { + return fmt.Errorf("CW initial route node is incomplete") + } + coord := currencyWarsNodeCoordinate{Chapter: node.DCAHJELNJNP, Section: node.SectionId} + if _, exists := displays[coord]; exists { + return fmt.Errorf("CW initial route coordinate is duplicated") + } + if _, err := catalog.NodeTypeName(node.DisplayValue.CJCCMAACJDB); err != nil { + return err + } + displays[coord] = node.DisplayValue + } + copyStage := proto.Clone(stage).(*goproto.BEEFLEJAOCN) + return applyCurrencyWarsRoute(copyStage, catalog, stage.EMOHLJHPOPC, currencyWarsNodeCoordinate{Chapter: stage.DCAHJELNJNP, Section: stage.SectionId}, displays) +} + +func newCurrencyWarsData(catalog *common.CurrencyWarsCatalog) (*goproto.GridFightGetDataScRsp, error) { + // March7's freeplay profile marks the tutorial as unlocked. Without this + // metadata the current Client sends a tutorial request (division omitted), + // not the division selected by the normal entry page. This policy does not + // implement or award completion of the scripted tutorial itself. + raw, err := common.ReadResourceFile("resources/CurrencyWarsInitialRuns.json") + if err != nil { + return nil, err + } + var entry struct { + Client string `json:"target_client_version"` + Assembly string `json:"target_assembly_sha256"` + Profile struct { + Policy string `json:"tutorial_policy"` + Completion uint32 `json:"tutorial_completion"` + Season uint32 `json:"last_tutorial_season"` + History map[uint32]*goproto.GLHCHCJMFGA `json:"tutorial_history"` + } `json:"entry_profile"` + } + if err := json.Unmarshal(raw, &entry); err != nil { + return nil, err + } + if entry.Client != catalog.ClientVersion || entry.Assembly != catalog.Provenance.GameAssemblySHA256 || entry.Profile.Policy != "freeplay_unlocked" || entry.Profile.Completion == 0 || entry.Profile.Season != catalog.ActiveSeasonID { + return nil, fmt.Errorf("CW entry profile revision or freeplay tutorial policy is invalid") + } + if len(entry.Profile.History) == 0 { + return nil, fmt.Errorf("CW freeplay tutorial history is missing") + } + for season, history := range entry.Profile.History { + if season == 0 || history == nil || history.DivisionId == 0 || history.GDAKCOICIDA == 0 { + return nil, fmt.Errorf("CW freeplay tutorial history is incomplete") + } + } + var division uint32 + for _, d := range catalog.SeasonDivisions(catalog.ActiveSeasonID) { + if !d.IsPromotion { + division = d.ID + break + } + } + if division == 0 { + return nil, fmt.Errorf("CW has no initial division in active season") + } + return &goproto.GridFightGetDataScRsp{LFLCDNGALME: &goproto.CLEDCMIOIPF{ + PKELAIPIHMF: &goproto.CKPOBLIFMGN{FBJMBJKMAJA: entry.Profile.History, ENECKKGPKHI: entry.Profile.Season, MHFHLBHFIBC: &goproto.FMNKKAMOHEE{}}, + HFPEJIDDDJG: &goproto.AMEEHIIPMFP{GDAKCOICIDA: entry.Profile.Completion, ADFEKPNIFOJ: catalog.ActiveSeasonID, GEGMHOMNBDG: catalog.ActiveSubSeasonID, DivisionId: division, Exp: &goproto.GLIFOLCEMIN{}, MHFHLBHFIBC: &goproto.FMNKKAMOHEE{}, NLENPEPIHAC: &goproto.NMECHIFGKAD{ + DNEGDNEBJMB: &goproto.NCHKFJPOHAH{}, NIOAIKLPACM: &goproto.AHPHDNBNLPJ{}, EECJFCNKKMB: &goproto.LLBMKOILIDN{}, KJIJEGAHLGB: &goproto.GNIIDINFPDO{}, NNIJIFGJJJA: &goproto.ODKODPBCDKD{}, JLFANEOAHOC: &goproto.GKNIJKHENBF{}, EJHDGLHCNLH: &goproto.NEDHMLJKIOA{}, PJBIPMKACOF: &goproto.FCEILNCDMAH{}, + }}, + }}, nil +} diff --git a/internal/gameserver/currency_wars_test.go b/internal/gameserver/currency_wars_test.go new file mode 100644 index 0000000..d10c80b --- /dev/null +++ b/internal/gameserver/currency_wars_test.go @@ -0,0 +1,165 @@ +package gameserver + +import ( + "os" + "path/filepath" + "strconv" + "strings" + "testing" + + "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" +) + +func TestCurrencyWarsEntranceUsesCapturedRoomConditionWithoutMutatingScene(t *testing.T) { + scene := &common.LevelOutputConfig{SavedValues: map[string]int32{ + "FSV_370GridFight": 0, + "unrelated": 7, + }} + group := common.CurrencyWarsRoomGroup{GroupID: 1} + group.Condition.Name = "FSV_370GridFight" + group.Condition.Comparison = "GreaterEqual" + group.Condition.Value = 1 + entrance := common.CurrencyWarsEntrance{ + EntryID: 2, + RoomGroups: []common.CurrencyWarsRoomGroup{group}, + SavedValues: map[string]int32{"FSV_370GridFight": 2}, + } + + got, err := currencyWarsEntranceScene(scene, entrance) + if err != nil { + t.Fatalf("apply captured CW entrance profile: %v", err) + } + if got.SavedValues["FSV_370GridFight"] != 2 || got.SavedValues["unrelated"] != 7 { + t.Fatalf("CW entrance profile = %v; want selected and unrelated values preserved", got.SavedValues) + } + if scene.SavedValues["FSV_370GridFight"] != 0 { + t.Fatal("applying CW freeplay profile mutated shared scene data") + } + got.SavedValues["FSV_370GridFight"] = 99 + if scene.SavedValues["FSV_370GridFight"] != 0 { + t.Fatal("returned CW scene shares its saved-value map with the original") + } +} + +func TestUnimplementedCurrencyWarsRequestsRemainSuppressed(t *testing.T) { + for _, name := range []string{ + "GridFightEnterBattleStageCsReq", + "GridFightRefreshShopCsReq", + } { + t.Run(name, func(t *testing.T) { + id, ok := goproto.CmdIDByName[name] + if !ok { + t.Fatalf("protocol command table is missing %s", name) + } + if !isDangerCmd(uint16(id)) { + t.Fatalf("unsupported CW request %s is not protected from an empty response", name) + } + if typedHandlers[uint16(id)] != nil || rawHandlers[uint16(id)] != nil { + t.Fatalf("unsupported CW request %s unexpectedly has a handler", name) + } + if _, ok := dummyResponses[uint16(id)]; ok { + t.Fatalf("unsupported CW request %s unexpectedly has a dummy response", name) + } + if _, ok := goproto.RspIDByReqID[uint32(id)]; !ok { + t.Fatalf("test request %s has no paired response to protect", name) + } + }) + } + + getDataID, ok := goproto.CmdIDByName["GridFightGetDataCsReq"] + if !ok || typedHandlers[uint16(getDataID)] == nil { + t.Fatal("the verified CW bootstrap request must keep its typed handler") + } +} + +func TestCurrencyWarsStartGameplayLogsRequestedModeWithoutReply(t *testing.T) { + id := uint16(goproto.CmdIDByName["GridFightStartGamePlayCsReq"]) + handler := rawHandlers[id] + if handler == nil { + t.Fatal("CW start request must have a mode-observation handler") + } + if typedHandlers[id] != nil { + t.Fatal("CW start request must not send an unverified typed response") + } + if _, ok := dummyResponses[id]; ok { + t.Fatal("CW start request must not receive an empty response") + } + if !isDangerCmd(id) { + t.Fatal("CW start request must remain protected from dispatcher auto-replies") + } + if err := handler(nil, nil); err == nil { + t.Fatal("empty start request must not be misreported as Standard Gambit") + } + + oldWD, err := os.Getwd() + if err != nil { + t.Fatal(err) + } + if err := os.Chdir(t.TempDir()); err != nil { + t.Fatal(err) + } + t.Cleanup(func() { _ = os.Chdir(oldWD) }) + + for _, tc := range []struct { + name string + overclock bool + wantMode string + divisionID uint32 + }{ + {name: "standard", wantMode: "standard", divisionID: 42}, + {name: "overclock", overclock: true, wantMode: "overclock", divisionID: 42}, + } { + t.Run(tc.name, func(t *testing.T) { + req := &goproto.GridFightStartGamePlayCsReq{DivisionId: tc.divisionID, IsOverlock: tc.overclock} + payload, err := proto.Marshal(req) + if err != nil { + t.Fatal(err) + } + // A nil session makes any accidental attempt to send a response fail. + if err := handler(nil, payload); err != nil { + t.Fatalf("observe mode: %v", err) + } + logData, err := os.ReadFile(filepath.Join("gameserver.log")) + if err != nil { + t.Fatal(err) + } + log := string(logData) + if !strings.Contains(log, "CW_START_GAMEPLAY observed mode="+tc.wantMode+" division="+strconv.FormatUint(uint64(tc.divisionID), 10)) || !strings.Contains(log, "response_suppressed=true reason=run_state_unverified") { + t.Fatalf("mode diagnostic missing or malformed: %s", log) + } + }) + } +} + +func TestCurrencyWarsEntranceRejectsUnsupportedOrUnmetConditions(t *testing.T) { + tests := []struct { + name string + value int32 + comparison string + wantErr string + }{ + {name: "condition unmet", value: 0, comparison: "GreaterEqual", wantErr: "condition is not satisfied"}, + {name: "unsupported comparison", value: 2, comparison: "Equal", wantErr: "unsupported CW room comparison"}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + scene := &common.LevelOutputConfig{SavedValues: map[string]int32{"condition": 0}} + group := common.CurrencyWarsRoomGroup{GroupID: 1} + group.Condition.Name = "condition" + group.Condition.Comparison = tt.comparison + group.Condition.Value = 1 + entrance := common.CurrencyWarsEntrance{ + RoomGroups: []common.CurrencyWarsRoomGroup{group}, + SavedValues: map[string]int32{"condition": tt.value}, + } + if _, err := currencyWarsEntranceScene(scene, entrance); err == nil || !strings.Contains(err.Error(), tt.wantErr) { + t.Fatalf("entrance error = %v; want %q", err, tt.wantErr) + } + if scene.SavedValues["condition"] != 0 { + t.Fatal("rejected CW profile mutated shared scene data") + } + }) + } +} diff --git a/internal/gameserver/currency_wars_tracking.go b/internal/gameserver/currency_wars_tracking.go new file mode 100644 index 0000000..fa9ce2e --- /dev/null +++ b/internal/gameserver/currency_wars_tracking.go @@ -0,0 +1,120 @@ +package gameserver + +import ( + "fmt" + "gac-hkrpg-go/internal/common" + pb "gac-hkrpg-go/protocol/proto" + "sort" +) + +func cwEquipTrackSync(player *pb.NIHNGPKHEPC) *pb.GridFightSyncUpdateResultScNotify { + return cwNotify(&pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_BMGFDIKDOBE{BMGFDIKDOBE: &pb.MDKHMNKAECP{MIIDIMOCPEB: player.MIIDIMOCPEB}}}) +} + +// This Client's CreateServerTrackUpdateInfo takes (roleID, enabled, desired, +// equipped, priority, source). AddTrackToLastAndSend passes true; RemoveEquipTrack +// passes false with empty lists and source None. The boolean is NOT a delete flag. +// Evidence: named RuntimeMethodHandle and bounded PE disassembly in CW notes. +func init() { + handle("GridFightUpdateEquipTrack", func(s *Session, req *pb.GridFightUpdateEquipTrackCsReq, rsp *pb.GridFightUpdateEquipTrackScRsp) error { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH) + catalog, data, e := cwPreparingData(s) + if e != nil { + return nil + } + player, _, _ := cwComponents(data.DHFOFLFCLAH) + if player == nil { + return nil + } + if _, ok := pb.IHMJHLGKLHP_name[int32(req.Source)]; !ok { + return nil + } + equipment, e := common.LoadCurrencyWarsEquipment(catalog) + if e != nil { + PacketLog("CW_EQUIP_TRACK rejected: " + e.Error()) + return nil + } + entries := append([]*pb.JJOBHGFOGHP(nil), player.MIIDIMOCPEB...) + seen := map[uint32]bool{} + for _, update := range req.DKEIDONNDCJ { + if update == nil || update.BGFFICLCKHE == 0 || seen[update.BGFFICLCKHE] { + return nil + } + seen[update.BGFFICLCKHE] = true + if _, ok := pb.IHMJHLGKLHP_name[int32(update.Source)]; !ok { + return nil + } + if _, e = catalog.CapturedRole(update.BGFFICLCKHE); e != nil { + PacketLog(fmt.Sprintf("CW_EQUIP_TRACK unknown role=%d", update.BGFFICLCKHE)) + return nil + } + for _, list := range [][]uint32{update.GridFightItemList, update.MCJMHBIECMN} { + for _, id := range list { + if _, ok := equipment[id]; !ok { + return nil + } + } + } + kept := make([]*pb.JJOBHGFOGHP, 0, len(entries)+1) + for _, old := range entries { + // Remove is per-role; upsert replaces just its source. + if old.BGFFICLCKHE == update.BGFFICLCKHE && (!update.BJDOINAHDLN || old.Source == update.Source) { + continue + } + kept = append(kept, old) + } + if update.BJDOINAHDLN { + kept = append(kept, &pb.JJOBHGFOGHP{BGFFICLCKHE: update.BGFFICLCKHE, NALMBOOCCIN: update.NALMBOOCCIN, Source: update.Source, MCJMHBIECMN: append([]uint32(nil), update.MCJMHBIECMN...), GridFightItemList: append([]uint32(nil), update.GridFightItemList...)}) + } + entries = kept + } + sort.SliceStable(entries, func(i, j int) bool { return entries[i].NALMBOOCCIN < entries[j].NALMBOOCCIN }) + player.MIIDIMOCPEB = entries + if e = s.saveCurrencyWarsData(data, catalog); e != nil { + return nil + } + if e = s.Send(cwEquipTrackSync(player)); e != nil { + return e + } + rsp.Retcode = 0 + PacketLog(fmt.Sprintf("CW_EQUIP_TRACK saved updates=%d tracks=%d revision=%d", len(req.DKEIDONNDCJ), len(entries), s.currencyWarsRevision)) + return nil + }) + handle("GridFightUpdateEquipTrackPriority", func(s *Session, req *pb.GridFightUpdateEquipTrackPriorityCsReq, rsp *pb.GridFightUpdateEquipTrackPriorityScRsp) error { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH) + catalog, data, e := cwPreparingData(s) + if e != nil { + return nil + } + player, _, _ := cwComponents(data.DHFOFLFCLAH) + if player == nil { + return nil + } + seen := map[uint32]bool{} + for _, update := range req.BFCMLCJMLOL { + if update == nil || seen[update.BGFFICLCKHE] { + return nil + } + seen[update.BGFFICLCKHE] = true + found := false + for _, track := range player.MIIDIMOCPEB { + if track.BGFFICLCKHE == update.BGFFICLCKHE { + track.NALMBOOCCIN = update.NALMBOOCCIN + found = true + } + } + if !found { + return nil + } + } + sort.SliceStable(player.MIIDIMOCPEB, func(i, j int) bool { return player.MIIDIMOCPEB[i].NALMBOOCCIN < player.MIIDIMOCPEB[j].NALMBOOCCIN }) + if e = s.saveCurrencyWarsData(data, catalog); e != nil { + return nil + } + if e = s.Send(cwEquipTrackSync(player)); e != nil { + return e + } + rsp.Retcode = 0 + return nil + }) +} diff --git a/internal/gameserver/currency_wars_transactions.go b/internal/gameserver/currency_wars_transactions.go new file mode 100644 index 0000000..6d60e38 --- /dev/null +++ b/internal/gameserver/currency_wars_transactions.go @@ -0,0 +1,381 @@ +package gameserver + +import ( + "crypto/rand" + "fmt" + "maps" + "math/big" + + "gac-hkrpg-go/internal/common" + pb "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" +) + +func cwGoldSync(gold uint32) *pb.KFNCAIHIHCM { + return &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_ItemValue{ItemValue: gold}} +} + +func cwNextEntityID(run *pb.MPIMAEMCEFH) (uint32, error) { + var max uint32 + var visit func(protoreflect.Message) + visit = func(m protoreflect.Message) { + m.Range(func(f protoreflect.FieldDescriptor, v protoreflect.Value) bool { + if string(f.Name()) == "unique_id" && f.Kind() == protoreflect.Uint32Kind && uint32(v.Uint()) > max { + max = uint32(v.Uint()) + } + if f.IsList() && f.Message() != nil { + a := v.List() + for i := 0; i < a.Len(); i++ { + visit(a.Get(i).Message()) + } + } else if f.IsMap() && f.MapValue().Message() != nil { + v.Map().Range(func(_ protoreflect.MapKey, x protoreflect.Value) bool { visit(x.Message()); return true }) + } else if !f.IsList() && !f.IsMap() && f.Message() != nil { + visit(v.Message()) + } + return true + }) + } + visit(run.ProtoReflect()) + if max == ^uint32(0) { + return 0, fmt.Errorf("CW entity identifiers exhausted") + } + return max + 1, nil +} + +func cwPreparingData(s *Session) (*common.CurrencyWarsCatalog, *pb.GridFightGetDataScRsp, error) { + catalog, err := common.LoadCurrencyWarsCatalog() + if err != nil { + return nil, nil, err + } + data, revision, err := readCurrencyWarsData(catalog) + if err != nil { + return nil, nil, err + } + if data == nil || data.DHFOFLFCLAH == nil || data.DHFOFLFCLAH.FMIGOKIDKJL != nil { + return nil, nil, fmt.Errorf("CW is not preparing") + } + if revision != s.currencyWarsRevision { + return nil, nil, common.ErrCurrencyWarsSaveConflict + } + if _, battle := CURRENT_BATTLE.Load(s.Token); battle { + return nil, nil, fmt.Errorf("battle is active") + } + return catalog, data, nil +} + +func init() { + // Native replay confirms HFCBOIOAECK removes an owned role. Its command + // is resolved by the current table, including the actual typed response. + handle("GridFightRecycleRole", func(s *Session, req *pb.GridFightRecycleRoleCsReq, rsp *pb.GridFightRecycleRoleScRsp) error { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH) + catalog, data, err := cwPreparingData(s) + if err != nil { + PacketLog("CW_SELL rejected: " + err.Error()) + return nil + } + player, team, _ := cwComponents(data.DHFOFLFCLAH) + if player == nil || team == nil { + return nil + } + index := -1 + for i, role := range team.GridGameRoleList { + if role.UniqueId == req.UniqueId { + index = i + break + } + } + if index < 0 { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_ROLE_NOT_EXIST) + return nil + } + role := team.GridGameRoleList[index] + if len(role.PNJIPHJJONG) != 0 { + // Returning attached equipment needs its own observed ownership sync. + // Do not remove the role and leave the Client with orphaned equipment. + PacketLog("CW_SELL rejected: unequip the role before selling") + return nil + } + price, err := catalog.CapturedSalePrice(role.Id, role.RoleStar) + if err != nil { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_CONF_MISS) + PacketLog("CW_SELL rejected: " + err.Error()) + return nil + } + gold := uint64(player.Gold) + uint64(price) + if gold > uint64(^uint32(0)) { + gold = uint64(^uint32(0)) + } + player.Gold = uint32(gold) + team.GridGameRoleList = append(team.GridGameRoleList[:index], team.GridGameRoleList[index+1:]...) + if err = s.saveCurrencyWarsData(data, catalog); err != nil { + PacketLog("CW_SELL save failed: " + err.Error()) + return nil + } + notify := cwNotify(cwGoldSync(player.Gold), &pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_HFCBOIOAECK{HFCBOIOAECK: req.UniqueId}}) + notify.GCPNIHHBGGD[0].GridUpdateSrc = pb.JJDFGMMMCMI_JJDFGMMMCMI_JOMIDGFCHPH + if err = s.Send(notify); err != nil { + return err + } + rsp.Retcode = 0 + PacketLog(fmt.Sprintf("CW_SELL saved unique=%d role=%d credit=%d gold=%d revision=%d", req.UniqueId, role.Id, price, player.Gold, s.currencyWarsRevision)) + return nil + }) + // Current table names this response BuyGoodRsp. Controlled native capture + // confirms that name/command, including zero-based indices and sync-before-rsp. + handleNamed("GridFightBuyGoods", "BuyGoodRsp", func(s *Session, req *pb.GridFightBuyGoodsCsReq, rsp *pb.BuyGoodRsp) error { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH) + catalog, data, err := cwPreparingData(s) + if err != nil { + PacketLog("CW_BUY rejected: " + err.Error()) + return nil + } + run := data.DHFOFLFCLAH + player, team, shop := cwComponents(run) + if player == nil || team == nil || shop == nil { + return nil + } + indices := append([]uint32(nil), req.CGAFCMIAKLI...) + if req.CIBONIOHELB { + indices = nil + for i, g := range shop.OGDKJPDFFAI { + if !g.LHGIFDNPIDE { + indices = append(indices, uint32(i)) + } + } + } + if len(indices) == 0 { + return nil + } + used := map[uint32]bool{} + var cost uint64 + for _, i := range indices { + if used[i] || uint64(i) >= uint64(len(shop.OGDKJPDFFAI)) { + return nil + } + used[i] = true + offer := shop.OGDKJPDFFAI[i] + if offer.LHGIFDNPIDE || offer.GetBDPIMPJOJBK() == nil { + return nil + } + cost += uint64(offer.KDKPDJNMMCM) + } + if cost > uint64(player.Gold) { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_COIN_NOT_ENOUGH) + return nil + } + // Initial-entry prototype supplies shared property scales. Refuse to copy + // character-specific modifiers into another role if this assumption changes. + if len(team.GridGameRoleList) == 0 { + return nil + } + scales := team.GridGameRoleList[0].ConvertPropertyToFixpoint + for _, r := range team.GridGameRoleList { + if !maps.Equal(scales, r.ConvertPropertyToFixpoint) { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_CONF_MISS) + return nil + } + } + front, e := catalog.IntegerRule("GridFight_Front_AvatarMaxNum") + if e != nil { + return e + } + back, e := catalog.IntegerRule("GridFight_Back_AvatarMaxNum") + if e != nil { + return e + } + var groups []*pb.ABPLALCHNFA + for _, i := range indices { + offer := shop.OGDKJPDFFAI[i] + roleOffer := offer.GetBDPIMPJOJBK() + if _, e := catalog.CapturedRoleVariant(roleOffer.RoleId, roleOffer.RoleStar); e != nil { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_CONF_MISS) + return nil + } + var pos uint32 + occupied := map[uint32]bool{} + for _, r := range team.GridGameRoleList { + occupied[r.Pos] = true + } + for _, r := range team.KCOMPKMJCMC { + occupied[r.Pos] = true + } + for p := uint32(front+back) + 1; uint64(p) <= uint64(front+back)+uint64(player.MICEOJBAKGN); p++ { + if !occupied[p] { + pos = p + break + } + } + id, e := cwNextEntityID(run) + if e != nil { + return e + } + role := &pb.CDEAABODKCP{Id: roleOffer.RoleId, RoleStar: roleOffer.RoleStar, UniqueId: id, Pos: pos, ConvertPropertyToFixpoint: maps.Clone(scales)} + team.GridGameRoleList = append(team.GridGameRoleList, role) + offer.LHGIFDNPIDE = true + groups = append(groups, cwNotify(&pb.KFNCAIHIHCM{MNLCHEJKDHO: &pb.KFNCAIHIHCM_PIDDDHKPDDM{PIDDDHKPDDM: role}}).GCPNIHHBGGD[0]) + merges, err := cwMergeRoles(catalog, run, id) + if err != nil { + PacketLog("CW_BUY merge rejected: " + err.Error()) + return nil + } + groups = append(groups, merges...) + // A transient unplaced third copy is legal only if the merge consumes + // it. A rejected transaction never writes this detached snapshot. + for _, r := range team.GridGameRoleList { + if r.Pos == 0 { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_NO_EMPTY_POS) + return nil + } + } + } + player.Gold -= uint32(cost) + if err = s.saveCurrencyWarsData(data, catalog); err != nil { + PacketLog("CW_BUY save failed: " + err.Error()) + return nil + } + notify := cwNotify(cwGoldSync(player.Gold)) + notify.GCPNIHHBGGD[0].OOEOCGLLHFO = indices + notify.GCPNIHHBGGD = append(notify.GCPNIHHBGGD, groups...) + notify.GCPNIHHBGGD = append(notify.GCPNIHHBGGD, cwNotify(cwShopSync(shop)).GCPNIHHBGGD...) + if err = s.Send(notify); err != nil { + return err + } + rsp.CGAFCMIAKLI = indices + rsp.Retcode = 0 + PacketLog(fmt.Sprintf("CW_BUY saved slots=%v gold=%d revision=%d", indices, player.Gold, s.currencyWarsRevision)) + return nil + }) + handle("GridFightLockShop", func(s *Session, req *pb.GridFightLockShopCsReq, rsp *pb.GridFightLockShopScRsp) error { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH) + catalog, data, err := cwPreparingData(s) + if err != nil { + return nil + } + _, _, shop := cwComponents(data.DHFOFLFCLAH) + if shop == nil { + return nil + } + shop.ABGEKPJHHIA = req.IsLocked + if err = s.saveCurrencyWarsData(data, catalog); err != nil { + return nil + } + if err = s.Send(cwNotify(cwShopSync(shop))); err != nil { + return err + } + rsp.Retcode = 0 + return nil + }) + handle("GridFightRefreshShop", func(s *Session, _ *pb.GridFightRefreshShopCsReq, rsp *pb.GridFightRefreshShopScRsp) error { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH) + catalog, data, err := cwPreparingData(s) + if err != nil { + return nil + } + player, team, shop := cwComponents(data.DHFOFLFCLAH) + if player == nil || team == nil || shop == nil { + return nil + } + if shop.OPDCMCFOFAA == 0 && player.Gold < shop.NFGMOPCCPIC { + rsp.Retcode = uint32(pb.Retcode_RET_GRID_FIGHT_COIN_NOT_ENOUGH) + return nil + } + pool, err := catalog.NewCapturedCardPool() + if err != nil { + return err + } + reserve := func(id uint32) error { + r, ok := pool.Roles[id] + if !ok { + return nil + } + if r.Remaining == 0 { + return fmt.Errorf("CW pool exhausted for %d", id) + } + r.Remaining-- + pool.Roles[id] = r + return nil + } + for _, r := range team.GridGameRoleList { + if e := pool.ReserveOwned(catalog, r.Id, r.RoleStar); e != nil { + return e + } + } + current := &common.CurrencyWarsShop{Pool: pool, Locked: shop.ABGEKPJHHIA, FreeRefreshTimes: shop.OPDCMCFOFAA} + for _, g := range shop.OGDKJPDFFAI { + r := g.GetBDPIMPJOJBK() + if r == nil { + return nil + } + if !g.LHGIFDNPIDE { + if err = reserve(r.RoleId); err != nil { + return err + } + } + current.Offers = append(current.Offers, common.CurrencyWarsShopOffer{RoleID: r.RoleId, Star: r.RoleStar, Cost: g.KDKPDJNMMCM, Sold: g.LHGIFDNPIDE}) + } + rules, err := catalog.BaseShopRules() + if err != nil { + return err + } + rules.RefreshCost = shop.NFGMOPCCPIC + level, err := catalog.PlayerLevel(player.EHNJDIDABHD) + if err != nil { + return err + } + weights := level.RarityWeights() + next, gold, err := current.PlanRefresh(catalog, rules, player.Gold, weights[:], common.CurrencyWarsDrawRemainingCopies, + func(upper uint64) (uint64, error) { + v, e := rand.Int(rand.Reader, new(big.Int).SetUint64(upper)) + if e != nil { + return 0, e + } + return v.Uint64(), nil + }, func(id uint32) (uint32, uint32, error) { + r, e := catalog.CapturedRole(id) + return r.DefaultStar, r.Price, e + }) + if err != nil { + PacketLog("CW_REFRESH rejected: " + err.Error()) + return nil + } + shop.OGDKJPDFFAI = nil + for _, offer := range next.Offers { + g, e := currencyWarsRoleOfferProto(catalog, offer, pb.FKGIEPHGACD_FKGIEPHGACD_EJKDKAJPDCO) + if e != nil { + return e + } + shop.OGDKJPDFFAI = append(shop.OGDKJPDFFAI, g) + } + player.Gold = gold + shop.OPDCMCFOFAA = next.FreeRefreshTimes + if err = s.saveCurrencyWarsData(data, catalog); err != nil { + return nil + } + if err = s.Send(cwNotify(cwGoldSync(gold), cwShopSync(shop))); err != nil { + return err + } + rsp.Retcode = 0 + return nil + }) + // This revision omits Cs in the request's name; bind that exact table name. + rawNamed("GridFightBackToPrepareReq", func(s *Session, payload []byte) error { + req := new(pb.GridFightBackToPrepareReq) + if err := proto.Unmarshal(payload, req); err != nil { + return err + } + rsp := &pb.GridFightBackToPrepareScRsp{Retcode: uint32(pb.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH)} + _, data, err := cwPreparingData(s) + if err == nil { + _, _, shop := cwComponents(data.DHFOFLFCLAH) + if shop != nil { + if err = s.Send(cwNotify(cwShopSync(shop), cwUnlock())); err != nil { + return err + } + rsp.Retcode = 0 + } + } + return s.Send(rsp) + }) +} diff --git a/internal/gameserver/eidolon_resources.go b/internal/gameserver/eidolon_resources.go index 2d6c26d..0f45cca 100644 --- a/internal/gameserver/eidolon_resources.go +++ b/internal/gameserver/eidolon_resources.go @@ -84,16 +84,19 @@ func eidolonMaterials(player *common.FreesrData) ([]*goproto.Material, error) { } counts := map[uint32]uint32{} for id, rules := range resources.Avatars { - avatar := player.Avatars[id] - if avatar == nil { - continue + // Rank-up materials belong to the catalog, not to the currently owned + // avatar list. Include every configured avatar so the player can obtain + // its Eidolon materials before unlocking that character. + var currentRank uint32 + if avatar := player.Avatars[id]; avatar != nil { + currentRank = avatar.Data.Rank } for _, rank := range rules.Ranks { for _, cost := range rank.Cost { if _, present := counts[cost.ItemID]; !present { counts[cost.ItemID] = 0 } - if rank.Rank > avatar.Data.Rank { + if rank.Rank > currentRank { counts[cost.ItemID] += cost.ItemNum } } @@ -109,6 +112,13 @@ func eidolonMaterials(player *common.FreesrData) ([]*goproto.Material, error) { counts[grant.ItemID] = grant.Count } } + // Explicit inventory quantities are separate from progression. Preserve + // retained stones (and explicit zero) through rank/EX notifications too. + for id, count := range player.Materials { + if _, known := counts[id]; known { + counts[id] = count + } + } ids := make([]uint32, 0, len(counts)) for id := range counts { ids = append(ids, id) diff --git a/internal/gameserver/gateway.go b/internal/gameserver/gateway.go index f742c27..9dee0e4 100644 --- a/internal/gameserver/gateway.go +++ b/internal/gameserver/gateway.go @@ -1,6 +1,7 @@ package gameserver import ( + "fmt" "net" "sync" "sync/atomic" @@ -14,10 +15,11 @@ import ( // mihoyo KCP handshake (20-byte NetOperation) and dispatching KCP payloads // to sessions. type Gateway struct { - conn *net.UDPConn - idSeq atomic.Uint32 - mu sync.Mutex - sessions map[uint32]*Session + conn *net.UDPConn + idSeq atomic.Uint32 + mu sync.Mutex + sessions map[uint32]*Session + publicSDKURL string } func NewGateway(host string, port uint16) (*Gateway, error) { @@ -26,6 +28,24 @@ func NewGateway(host string, port uint16) (*Gateway, error) { return nil, err } playerUID = cfg.PlayerUID + playerName = cfg.AccountName + world, err := loadWorldBattleResources() + if err != nil { + return nil, err + } + playerWorldLevel = world.WorldLevel + if _, err := loadPropRules(); err != nil { + return nil, err + } + if _, err := loadNavigationProfiles(); err != nil { + return nil, err + } + if _, err := common.LoadPlayerCosmetics(); err != nil { + return nil, err + } + if _, err := common.LoadCurrencyWarsCatalog(); err != nil { + return nil, err + } addr, err := net.ResolveUDPAddr("udp", net.JoinHostPort(host, itoa(int(port)))) if err != nil { return nil, err @@ -34,7 +54,7 @@ func NewGateway(host string, port uint16) (*Gateway, error) { if err != nil { return nil, err } - return &Gateway{conn: conn, sessions: map[uint32]*Session{}}, nil + return &Gateway{conn: conn, sessions: map[uint32]*Session{}, publicSDKURL: cfg.PublicSDKURL}, nil } func itoa(v int) string { @@ -103,12 +123,15 @@ func (g *Gateway) establishSession(op *NetOperation, addr *net.UDPAddr) error { _, err := g.conn.WriteToUDP(payload, addr) return err }, conv, token) + session.publicSDKURL = g.publicSDKURL if data, err := common.LoadFreesrData(); err == nil { session.SetJSON(data) PacketLog("[KCP] FreesrData loaded successfully") } else { PacketLog("[ERROR] Failed to load initial freesr-data.json: " + err.Error()) + session.Close() + return fmt.Errorf("refuse session with invalid player data: %w", err) } // file watcher: reload freesr-data.json when the SRTools overwrites it @@ -192,6 +215,7 @@ func (g *Gateway) processKCPPayload(data []byte, addr *net.UDPAddr) { // and re-syncs the player in real-time when changed. func watchFreesrData(session *Session) { var lastModFreesr time.Time + var lastRejectedFreesr time.Time if st, err := statFile("freesr-data.json"); err == nil { lastModFreesr = st } @@ -221,6 +245,9 @@ func watchFreesrData(session *Session) { lastModFreesr = stFreesr Log("player data updated & live synced to client") } + } else if !stFreesr.Equal(lastRejectedFreesr) { + Log("[PLAYER DATA REJECTED] keeping previous session data: " + err.Error()) + lastRejectedFreesr = stFreesr } session.stateMu.Unlock() } diff --git a/internal/gameserver/group_properties.go b/internal/gameserver/group_properties.go new file mode 100644 index 0000000..3f39a16 --- /dev/null +++ b/internal/gameserver/group_properties.go @@ -0,0 +1,81 @@ +package gameserver + +import ( + "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" +) + +// Keep resource defaults immutable: saved values belong to the player session. +func (s *Session) sceneGroupProperties(floor, group uint32, rules map[string]common.GroupPropertyRule) map[string]int32 { + values := make(map[string]int32, len(rules)) + player := s.JSON() + for name, rule := range rules { + value := rule.DefaultValue + if player != nil { + if saved, ok := player.SceneGroupProperties[floor][group][name]; ok && saved >= rule.MinValue && saved <= rule.MaxValue { + value = saved + } + } + values[name] = value + } + return values +} + +func init() { + handle("UpdateGroupProperty", func(s *Session, req *goproto.UpdateGroupPropertyCsReq, rsp *goproto.UpdateGroupPropertyScRsp) error { + // PearlSR 005d2c12 services/scene.zig acknowledges these named fields. + // The sole int32 request field (15) is treated as the new value, constrained + // by the Client GroupPropertyConfig. Obfuscated response values stay unset, + // as in the reference; their old/new semantics have not been verified. + rsp.FloorId = req.FloorId + rsp.GroupId = req.GroupId + rsp.DimensionId = req.DimensionId + rsp.HMELFPDPCFC = req.HMELFPDPCFC + p := s.JSON() + if p == nil || req.FloorId != s.CurrentSceneFloor || s.ChallengeRun != nil { + rsp.Retcode = uint32(goproto.Retcode_RET_FAIL) + return nil + } + if _, active := CURRENT_BATTLE.Load(s.Token); active { + rsp.Retcode = uint32(goproto.Retcode_RET_FAIL) + return nil + } + res, err := common.GameRes() + if err != nil { + return err + } + entry := findEntryForFloor(res, req.FloorId) + _, cfg, ok := firstSceneOfEntry(res, entry) + if !ok || req.DimensionId != cfg.DimensionID { + rsp.Retcode = uint32(goproto.Retcode_RET_NOT_CORRECT_GROUP_PROPERTY_NAME) + return nil + } + rule, ok := cfg.GroupProperties[req.GroupId][req.HMELFPDPCFC] + if !ok || req.OLBEPIBLDBD < rule.MinValue || req.OLBEPIBLDBD > rule.MaxValue { + rsp.Retcode = uint32(goproto.Retcode_RET_NOT_CORRECT_GROUP_PROPERTY_NAME) + return nil + } + if p.SceneGroupProperties == nil { + p.SceneGroupProperties = map[uint32]map[uint32]map[string]int32{} + } + if p.SceneGroupProperties[req.FloorId] == nil { + p.SceneGroupProperties[req.FloorId] = map[uint32]map[string]int32{} + } + if p.SceneGroupProperties[req.FloorId][req.GroupId] == nil { + p.SceneGroupProperties[req.FloorId][req.GroupId] = map[string]int32{} + } + values := p.SceneGroupProperties[req.FloorId][req.GroupId] + previous, existed := values[req.HMELFPDPCFC] + values[req.HMELFPDPCFC] = req.OLBEPIBLDBD + if err := p.SavePersistentChecked(); err != nil { + if existed { + values[req.HMELFPDPCFC] = previous + } else { + delete(values, req.HMELFPDPCFC) + } + return err + } + SceneDebugLog("GROUP_PROPERTY floor=%d group=%d property=%s value=%d", req.FloorId, req.GroupId, req.HMELFPDPCFC, req.OLBEPIBLDBD) + return nil + }) +} diff --git a/internal/gameserver/handlers_authentication.go b/internal/gameserver/handlers_authentication.go index 1ad307b..a0c347f 100644 --- a/internal/gameserver/handlers_authentication.go +++ b/internal/gameserver/handlers_authentication.go @@ -8,6 +8,8 @@ import ( // Loaded from the shared runtime configuration before the gateway accepts sessions. var playerUID uint32 +var playerName string +var playerWorldLevel uint32 func init() { handle("PlayerGetToken", func(s *Session, req *goproto.PlayerGetTokenCsReq, rsp *goproto.PlayerGetTokenScRsp) error { @@ -24,9 +26,9 @@ func init() { rsp.ServerTimestampMs = uint64(time.Now().UnixMilli()) rsp.Stamina = 240 rsp.BasicInfo = &goproto.PlayerBasicInfo{ - Nickname: "GaySR", + Nickname: playerName, Level: 70, - WorldLevel: 6, + WorldLevel: playerWorldLevel, Stamina: 240, Mcoin: 9999999, Hcoin: 9999999, diff --git a/internal/gameserver/handlers_avatar.go b/internal/gameserver/handlers_avatar.go index cc7d443..ad42dad 100644 --- a/internal/gameserver/handlers_avatar.go +++ b/internal/gameserver/handlers_avatar.go @@ -7,12 +7,69 @@ import ( ) func init() { + handle("SetAvatarPath", func(s *Session, req *goproto.SetAvatarPathCsReq, rsp *goproto.SetAvatarPathScRsp) error { + player := s.JSON() + if player == nil { + return nil + } + supportedRelics, err := supportedRelicIDs() + if err != nil { + return err + } + id := uint32(req.AvatarId) + path := common.MultiPathAvatarFromID(id) + if player.Avatars[id] == nil || (!common.IsMainCharacter(id) && !common.IsMarch7th(id)) || + (common.IsMainCharacter(id) && path.Gender() != player.MainCharacter.Gender()) { + rsp.Retcode = uint32(goproto.Retcode_RET_AVATAR_PATH_NOT_MATCH) + return nil + } + if _, active := CURRENT_BATTLE.Load(s.Token); active { + rsp.Retcode = uint32(goproto.Retcode_RET_LINEUP_NOT_ALLOW_EDIT) + return nil + } + previousMC, previousMarch := player.MainCharacter, player.MarchType + if common.IsMainCharacter(id) { + player.MainCharacter = path + } else { + player.MarchType = path + } + if err := player.SavePersistentChecked(); err != nil { + player.MainCharacter, player.MarchType = previousMC, previousMarch + return err + } + rsp.AvatarId = req.AvatarId + // Match services/avatar.zig at CommandSourceRevision: path change, + // changed avatar data, refreshed lineup, then the single response. + if err := s.Send(&goproto.AvatarPathChangedNotify{BaseAvatarId: common.BaseAvatarID(id), CurMultiPathAvatarType: req.AvatarId}); err != nil { + return err + } + avatarSync := &goproto.AvatarSync{} + for _, baseID := range BaseAvatarIDs { + if av := player.Avatars[baseID]; av != nil { + avatarSync.AvatarList = append(avatarSync.AvatarList, av.ToAvatarProto(player.FindLightconeFor(baseID), player.MainCharacter.ID(), player.MarchType.ID())) + } + } + for _, pathID := range sortedU32Keys2(player.Avatars) { + av := player.Avatars[pathID] + avatarSync.AvatarPathDataInfoList = append(avatarSync.AvatarPathDataInfoList, + av.ToAvatarPathDataProto(player.FindLightconeFor(pathID), filterSupportedRelics(player.FindRelicsFor(pathID), supportedRelics), player.DressedSkins[pathID])) + } + if err := s.Send(&goproto.PlayerSyncScNotify{AvatarSync: avatarSync}); err != nil { + return err + } + return refreshLineup(s) + }) + handle("GetAvatarData", func(s *Session, req *goproto.GetAvatarDataCsReq, rsp *goproto.GetAvatarDataScRsp) error { player := s.JSON() if player == nil { Log("data is not set!") return nil } + supportedRelics, err := supportedRelicIDs() + if err != nil { + return err + } rsp.IsGetAll = req.IsGetAll @@ -34,7 +91,7 @@ func init() { for _, av := range player.Avatars { rsp.AvatarPathDataInfoList = append(rsp.AvatarPathDataInfoList, - av.ToAvatarPathDataProto(player.FindLightconeFor(av.AvatarID), player.FindRelicsFor(av.AvatarID), player.DressedSkins[av.AvatarID])) + av.ToAvatarPathDataProto(player.FindLightconeFor(av.AvatarID), filterSupportedRelics(player.FindRelicsFor(av.AvatarID), supportedRelics), player.DressedSkins[av.AvatarID])) } // unlocked skins: res.json skinIds + currently dressed ones @@ -53,13 +110,19 @@ func init() { } } } - for _, id := range []uint32{1130301, 1100101, 1131001, 1141501, 1140701, 1150101, 1150501, 1140901} { + cosmetics, err := common.LoadPlayerCosmetics() + if err != nil { + return err + } + for _, skin := range cosmetics.Skins { + id := skin.ID if !seen[id] { seen[id] = true rsp.SkinList = append(rsp.SkinList, id) } } sort.Slice(rsp.SkinList, func(i, j int) bool { return rsp.SkinList[i] < rsp.SkinList[j] }) + rsp.OutfitList = &goproto.OutfitInfo{Outfits: append([]uint32{}, player.PlayerOutfits...)} return nil }) @@ -85,7 +148,26 @@ func init() { }) handle("SetPlayerOutfit", func(s *Session, req *goproto.SetPlayerOutfitCsReq, rsp *goproto.SetPlayerOutfitScRsp) error { - return nil // retcode defaults to 0 + player := s.JSON() + if player == nil || req.OutfitList == nil { + return nil + } + // Outfit IDs are supplied by the Client's outfit selector. They are + // distinct from ownership item IDs; do not invent an ID conversion. + // PearlSR 005d2c12 services/avatar.zig echoes the same wire structure. + previous := player.PlayerOutfits + player.PlayerOutfits = append([]uint32{}, req.OutfitList.Outfits...) + if err := player.SavePersistentChecked(); err != nil { + player.PlayerOutfits = previous + return err + } + if err := s.Send(rsp); err != nil { + return err + } + if err := s.Send(&goproto.PlayerSyncScNotify{OutfitList: &goproto.OutfitInfo{Outfits: player.PlayerOutfits}}); err != nil { + return err + } + return errResponseAlreadySent }) handle("TakePromotionReward", func(s *Session, req *goproto.TakePromotionRewardCsReq, rsp *goproto.TakePromotionRewardScRsp) error { diff --git a/internal/gameserver/handlers_battle.go b/internal/gameserver/handlers_battle.go index 2b2bb4f..059a58c 100644 --- a/internal/gameserver/handlers_battle.go +++ b/internal/gameserver/handlers_battle.go @@ -13,7 +13,8 @@ import ( // PearlSR 005d2c1 protocol/src/protocol.pb.zig: MonsterBattleType. // The Go schema retains obfuscated enum labels; zero is NONE, not TRIGGER. const ( - monsterBattleTrigger goproto.MonsterBattleType = 1 + monsterBattleTrigger goproto.MonsterBattleType = 1 + monsterBattleDirectDieSkip goproto.MonsterBattleType = 3 // PearlSR protocol.pb.zig: MONSTER_BATTLE_TYPE_NO_BATTLE. monsterBattleNoBattle goproto.MonsterBattleType = 4 ) @@ -25,9 +26,17 @@ func init() { rsp.PropEntityId = req.PropEntityId rsp.CocoonId = req.CocoonId rsp.Wave = req.Wave - battleInfo, err := createBattleInfo(s, 0, 0) + source, sourceErr := s.cocoonBattleConfig(req.CocoonId, req.WorldLevel, req.Wave) + if sourceErr != nil { + Log("[BATTLE] " + sourceErr.Error()) + rsp.Retcode = uint32(goproto.Retcode_RET_BATTLE_STAGE_NOT_MATCH) + return nil + } + battleInfo, err := createBattleInfo(s, 0, 0, source) if err != nil { - return err + Log("[BATTLE] " + err.Error()) + rsp.Retcode = uint32(goproto.Retcode_RET_BATTLE_STAGE_NOT_MATCH) + return nil } CURRENT_BATTLE.Store(s.Token, battleInfo) rsp.BattleInfo = battleInfo @@ -40,9 +49,17 @@ func init() { rsp.Retcode = 0 rsp.CocoonId = req.CocoonId rsp.Wave = req.Wave - battleInfo, err := createBattleInfo(s, 0, 0) + source, sourceErr := s.cocoonBattleConfig(req.CocoonId, req.WorldLevel, req.Wave) + if sourceErr != nil { + Log("[BATTLE] " + sourceErr.Error()) + rsp.Retcode = uint32(goproto.Retcode_RET_BATTLE_STAGE_NOT_MATCH) + return nil + } + battleInfo, err := createBattleInfo(s, 0, 0, source) if err != nil { - return err + Log("[BATTLE] " + err.Error()) + rsp.Retcode = uint32(goproto.Retcode_RET_BATTLE_STAGE_NOT_MATCH) + return nil } CURRENT_BATTLE.Store(s.Token, battleInfo) @@ -52,9 +69,17 @@ func init() { handleNamed("StartQuickFarmElement", "StartQuickFarmElementRsp", func(s *Session, req *goproto.StartQuickFarmElementCsReq, rsp *goproto.StartQuickFarmElementRsp) error { Log(fmt.Sprintf("[BATTLE] StartQuickFarmElement: FarmID=%d WorldLevel=%d", req.PAOFHFLFFHD, req.WorldLevel)) - battleInfo, err := createBattleInfo(s, 0, 0) + source, sourceErr := s.cocoonBattleConfig(req.PAOFHFLFFHD, req.WorldLevel, 0) + if sourceErr != nil { + Log("[BATTLE] " + sourceErr.Error()) + rsp.Retcode = uint32(goproto.Retcode_RET_BATTLE_STAGE_NOT_MATCH) + return nil + } + battleInfo, err := createBattleInfo(s, 0, 0, source) if err != nil { - return err + Log("[BATTLE] " + err.Error()) + rsp.Retcode = uint32(goproto.Retcode_RET_BATTLE_STAGE_NOT_MATCH) + return nil } CURRENT_BATTLE.Store(s.Token, battleInfo) @@ -103,9 +128,22 @@ func init() { }) handle("SceneEnterStage", func(s *Session, req *goproto.SceneEnterStageCsReq, rsp *goproto.SceneEnterStageScRsp) error { - battleInfo, err := createBattleInfo(s, 0, 0) + data, err := loadWorldBattleResources() if err != nil { - return err + rsp.Retcode = uint32(goproto.Retcode_RET_BATTLE_STAGE_NOT_MATCH) + return nil + } + source, err := s.eventBattleConfig(req.EventId, data.WorldLevel) + if err != nil { + Log("[BATTLE] " + err.Error()) + rsp.Retcode = uint32(goproto.Retcode_RET_BATTLE_STAGE_NOT_MATCH) + return nil + } + battleInfo, err := createBattleInfo(s, 0, 0, source) + if err != nil { + Log("[BATTLE] " + err.Error()) + rsp.Retcode = uint32(goproto.Retcode_RET_BATTLE_STAGE_NOT_MATCH) + return nil } CURRENT_BATTLE.Store(s.Token, battleInfo) rsp.BattleInfo = battleInfo @@ -113,9 +151,12 @@ func init() { }) handle("PVEBattleResult", func(s *Session, req *goproto.PVEBattleResultCsReq, rsp *goproto.PVEBattleResultScRsp) error { + if err := saveBattleResultCapture(req); err != nil { + Log(fmt.Sprintf("[BATTLE CAPTURE] result: %v", err)) + } current, active := CURRENT_BATTLE.Load(s.Token) active = active && current.StageId == req.StageId - if active { + if active && current.EIGMKOJOEEI == nil { CURRENT_BATTLE.Delete(s.Token) } rsp.EndStatus = req.EndStatus @@ -131,6 +172,9 @@ func init() { statusStr = "QUIT" } report := common.BattleReportFromStatistics(req.Stt, req.BattleId, req.StageId, statusStr) + if active { + common.ApplyBattleReportContext(report, current) + } if err := common.SaveBattleReport(report); err != nil { Log(fmt.Sprintf("[DAMAGE_ANALYST] Failed to save battle report: %v", err)) } else { @@ -138,6 +182,13 @@ func init() { req.BattleId, report.TeamTotalDamage, report.RoundCnt, report.TotalBattleTurns, statusStr)) } } + if active && current.EIGMKOJOEEI != nil { + if err := finishCurrencyWarsBattle(s, req, current); err != nil { + PacketLog("CW_SETTLEMENT rejected: " + err.Error()) + rsp.Retcode = uint32(goproto.Retcode_RET_GRID_FIGHT_CONF_MISS) + } + return nil + } return finishChallengeBattle(s, req, rsp, active) }) @@ -155,6 +206,7 @@ func init() { targets = append(targets, id) } } + addTarget(req.CasterId) for _, id := range req.HitTargetEntityIdList { addTarget(id) } @@ -170,7 +222,18 @@ func init() { req.CastEntityId, req.CasterId, req.SkillIndex, req.HitTargetEntityIdList, req.AssistMonsterEntityIdList, req.AssistMonsterEntityInfo, s.MonsterEntities, targets) + props := s.hitSceneProps(req) if len(targets) == 0 { + if len(props) > 0 { + // Complete the cast before removing props used by its animation. + if err := s.Send(rsp); err != nil { + return err + } + if err := s.breakSceneProps(props); err != nil { + return err + } + return errResponseAlreadySent + } if s.ChallengeStageID != 0 { SceneDebugLog("[CHALLENGE] attack without monster target request=%s", req.String()) } @@ -203,9 +266,46 @@ func init() { } } - battleInfo, err := createBattleInfo(s, req.CasterId, req.SkillIndex) + defeated := s.instantDefeatTargets(req, targets) + if len(defeated) > 0 { + removed := map[uint32]bool{} + for _, id := range defeated { + removed[id] = true + rsp.MonsterBattleInfo = append(rsp.MonsterBattleInfo, &goproto.HitMonsterBattleInfo{TargetMonsterEntityId: id, MonsterBattleType: monsterBattleDirectDieSkip}) + } + remaining := make([]uint32, 0, len(targets)) + for _, id := range targets { + if !removed[id] { + remaining = append(remaining, id) + } + } + targets = remaining + if len(targets) == 0 { + if err := s.Send(rsp); err != nil { + return err + } + if err := s.removeSceneMonsters(defeated); err != nil { + return err + } + if err := s.breakSceneProps(props); err != nil { + return err + } + return errResponseAlreadySent + } + } + source, sourceErr := s.worldEncounterConfig(targets) + if sourceErr != nil { + rsp.MonsterBattleInfo = nil + Log("[BATTLE] " + sourceErr.Error()) + rsp.Retcode = uint32(goproto.Retcode_RET_BATTLE_STAGE_NOT_MATCH) + return nil + } + battleInfo, err := createBattleInfo(s, req.CasterId, req.SkillIndex, source) if err != nil { - return err + Log("[BATTLE] " + err.Error()) + rsp.Retcode = uint32(goproto.Retcode_RET_BATTLE_STAGE_NOT_MATCH) + rsp.MonsterBattleInfo = nil + return nil } CURRENT_BATTLE.Store(s.Token, battleInfo) @@ -216,15 +316,37 @@ func init() { }) } rsp.BattleInfo = battleInfo + if len(defeated) > 0 || len(props) > 0 { + if err := s.Send(rsp); err != nil { + return err + } + if err := s.removeSceneMonsters(defeated); err != nil { + return err + } + if err := s.breakSceneProps(props); err != nil { + return err + } + return errResponseAlreadySent + } return nil }) // Cost and recovery use the same session MP as lineup and consumables. handle("SceneCastSkillCostMp", func(s *Session, req *goproto.SceneCastSkillCostMpCsReq, rsp *goproto.SceneCastSkillCostMpScRsp) error { rsp.CastEntityId = req.CastEntityId - code, err := s.payTechnique(req.CastEntityId, req.SkillIndex) + code, err := s.payTechnique(req.CastEntityId, req.SkillIndex, req.AttackedByEntityId) rsp.Retcode = code - return err + if err != nil || code != 0 { + return err + } + // Finish the pending ability's cost callback before publishing its MP. + if err := s.Send(rsp); err != nil { + return err + } + if err := s.Send(&goproto.SceneCastSkillMpUpdateScNotify{CastEntityId: req.CastEntityId, Mp: *s.techniqueMP}); err != nil { + return err + } + return errResponseAlreadySent }) handle("GetCurBattleInfo", func(s *Session, req *goproto.GetCurBattleInfoCsReq, rsp *goproto.GetCurBattleInfoScRsp) error { @@ -241,28 +363,32 @@ func init() { } // createBattleInfo is the Go port of.rs create_battle_info. -func createBattleInfo(s *Session, casterID, skillIndex uint32) (*goproto.SceneBattleInfo, error) { +func createBattleInfo(s *Session, casterID, skillIndex uint32, sources ...*common.BattleConfig) (*goproto.SceneBattleInfo, error) { player := s.JSON() if player == nil { return nil, fmt.Errorf("battle: player data is not loaded") } - if s.ChallengeBattleConfig != nil { - // Keep challenge waves and team local to this session. External - // Freesr reloads must not replace the stage the player just entered. - battlePlayer := *player - battlePlayer.BattleConfig = *s.ChallengeBattleConfig - player = &battlePlayer - } else if len(player.TeamPresets) > 0 { - // A selected native preset is the party the player sees in the scene. - // Keep the imported stage/waves while taking members from that party. - battlePlayer := *player - battlePlayer.BattleConfig.CustomBattleLineup = map[uint32]uint32{} - for slot, id := range player.Lineups { - if id != 0 { - battlePlayer.BattleConfig.CustomBattleLineup[slot] = id - } - } - player = &battlePlayer + selected := *player + switch { + case s.ChallengeBattleConfig != nil: + selected.BattleConfig = *s.ChallengeBattleConfig + case len(sources) > 0 && sources[0] != nil: + selected.BattleConfig = *sources[0] + default: + return nil, fmt.Errorf("battle source was not selected from a Client resource or a validated Cocoon request") + } + player = &selected + supportedRelics, err := supportedRelicIDs() + if err != nil { + return nil, fmt.Errorf("battle: load Client Relic catalog: %w", err) + } + worldResources, err := loadWorldBattleResources() + if err != nil { + return nil, err + } + worldLevel := worldResources.WorldLevel + if player.BattleConfig.WorldLevel != nil { + worldLevel = *player.BattleConfig.WorldLevel } rules, err := loadBattleRules() @@ -275,7 +401,7 @@ func createBattleInfo(s *Session, casterID, skillIndex uint32) (*goproto.SceneBa LogicRandomSeed: randUint32(), BattleId: 1, RoundsLimit: player.BattleConfig.CycleCount, - WorldLevel: 6, + WorldLevel: worldLevel, BattleTargetInfo: make(map[uint32]*goproto.BattleTargetList), } @@ -318,8 +444,9 @@ func createBattleInfo(s *Session, casterID, skillIndex uint32) (*goproto.SceneBa battleAvatar, techs := avatar.ToBattleAvatarProto( avatarIndex, player.FindLightconeFor(avatarID), - player.FindRelicsFor(avatarID), + filterSupportedRelics(player.FindRelicsFor(avatarID), supportedRelics), ) + battleAvatar.WorldLevel = worldLevel battleInfo.BuffList = append(battleInfo.BuffList, rules.techniqueBuffs(avatar, avatarIndex, firstAvatarIdx, techs)...) battleInfo.BattleAvatarList = append(battleInfo.BattleAvatarList, battleAvatar) }) @@ -346,7 +473,10 @@ func createBattleInfo(s *Session, casterID, skillIndex uint32) (*goproto.SceneBa if attackBuffID == 0 { attackBuffID = cfg.WeaknessBuffID } - if attackBuffID != 0 { + _, attackedByMonster := s.MonsterEntities[casterID] + if attackedByMonster { + // An ambush has no player entry attack. + } else if attackBuffID != 0 { entrySkillIndex := skillIndex if casterID == 0 { entrySkillIndex = 1 diff --git a/internal/gameserver/handlers_challenge.go b/internal/gameserver/handlers_challenge.go index 6c83244..a6ed93d 100644 --- a/internal/gameserver/handlers_challenge.go +++ b/internal/gameserver/handlers_challenge.go @@ -471,13 +471,21 @@ func init() { }) handle("GetActivityScheduleConfig", func(s *Session, req *goproto.GetActivityScheduleConfigCsReq, rsp *goproto.GetActivityScheduleConfigScRsp) error { + cfg, err := common.LoadRuntimeConfig() + if err != nil { + return err + } + cw, err := common.LoadCurrencyWarsCatalog() + if err != nil { + return err + } rsp.Retcode = 0 add := func(activityID, panelID uint32) { rsp.ScheduleData = append(rsp.ScheduleData, &goproto.ActivityScheduleData{ ActivityId: activityID, PanelId: panelID, - BeginTime: 0, - EndTime: 1924992000, + BeginTime: *cfg.ActivitySchedule.BeginTime, + EndTime: *cfg.ActivitySchedule.EndTime, }) } // Advertise only the supported Endgame schedules. Exposing the full @@ -491,6 +499,9 @@ func init() { for i := uint32(1); i <= 8; i++ { add(2100000+i*100+1, 21001) } + for _, schedule := range cw.ActivitySchedules() { + add(schedule.ModuleID, schedule.ActivityID) + } return nil }) } diff --git a/internal/gameserver/handlers_challenge_flow.go b/internal/gameserver/handlers_challenge_flow.go index 1d6096e..7154251 100644 --- a/internal/gameserver/handlers_challenge_flow.go +++ b/internal/gameserver/handlers_challenge_flow.go @@ -155,6 +155,10 @@ func decodeSetChallengeTierceLineupReq(payload []byte) (uint32, [][]uint32, []ui // Build challenge configuration from the selected resource stage, never from // Freesr custom monsters. Only the current session owns this configuration. func setChallengeBattleConfig(s *Session, avatars []uint32, challengeID, eventID uint32, buffs []uint32) error { + return setChallengeBattleConfigWithLimit(s, avatars, challengeID, eventID, buffs, "", 0) +} + +func setChallengeBattleConfigWithLimit(s *Session, avatars []uint32, challengeID, eventID uint32, buffs []uint32, mode common.BattleType, limit uint32) error { stage, ok := getChallengeData().Stages[eventID] if !ok || len(stage.Monsters) == 0 { return fmt.Errorf("challenge stage %d has no resource waves", eventID) @@ -171,12 +175,20 @@ func setChallengeBattleConfig(s *Session, avatars []uint32, challengeID, eventID default: config.BattleType = common.BattleTypeDefault } - // ChallengeCountDown is supplied by the installed challenge table. - configID := challengeID - if tierce, ok := getChallengeData().Tierce[challengeID]; ok { - configID = tierce.PreChallengeID + if mode != "" { + config.BattleType = mode + } + // Peak IDs occupy a separate namespace from ChallengeMaze IDs. Its + // explicit native limit must never be replaced by a same-numbered MoC row. + config.CycleCount = limit + if mode == "" { + // ChallengeCountDown is supplied by the installed challenge table. + configID := challengeID + if tierce, ok := getChallengeData().Tierce[challengeID]; ok { + configID = tierce.PreChallengeID + } + config.CycleCount = getChallengeData().Countdowns[configID] } - config.CycleCount = getChallengeData().Countdowns[configID] if config.CycleCount == 0 { // AS/PF rows omit ChallengeCountDown. Their limits come from the // sourced challenge rules, not the user's custom battle configuration. diff --git a/internal/gameserver/handlers_challenge_scene.go b/internal/gameserver/handlers_challenge_scene.go index 5fa6efa..d561105 100644 --- a/internal/gameserver/handlers_challenge_scene.go +++ b/internal/gameserver/handlers_challenge_scene.go @@ -72,13 +72,14 @@ func loadChallengeScene(s *Session, entryID, targetGroupID, monsterID, eventID u // load all props in the arena scene (do not filter out prop groups like group 2 / group 3) propEntityID := uint32(1000) s.PropEntities = map[uint32]PropEntry{} + s.CurrentSceneFloor = floorID for _, gid := range sortedU32Keys2(scene.Scenes) { group := scene.Scenes[gid] - groupInfo := &goproto.SceneEntityGroupInfo{State: 1, GroupId: gid} + groupInfo := &goproto.SceneEntityGroupInfo{State: 1, GroupId: gid, PropertyMap: s.sceneGroupProperties(floorID, gid, scene.GroupProperties[gid])} for i := range group.Props { prop := &group.Props[i] propEntityID++ - s.PropEntities[propEntityID] = PropEntry{PropID: prop.PropID, InstID: prop.InstID, State: prop.PropState} + s.PropEntities[propEntityID] = PropEntry{GroupID: prop.GroupID, PropID: prop.PropID, InstID: prop.InstID, State: prop.PropState} groupInfo.EntityList = append(groupInfo.EntityList, &goproto.SceneEntityInfo{ InstId: prop.InstID, GroupId: prop.GroupID, @@ -97,6 +98,7 @@ func loadChallengeScene(s *Session, entryID, targetGroupID, monsterID, eventID u // single boss monster (entity 30001, registered for SceneCastSkill battles) monsterGroup := &goproto.SceneEntityGroupInfo{State: 1, GroupId: targetGroupID} s.MonsterEntities = map[uint32]uint32{30001: eventID} + s.SceneMonsterIdentities = map[uint32]sceneMonsterIdentity{30001: {MonsterID: monsterID, GroupID: targetGroupID}} s.ChallengeStageID = eventID monsterGroup.EntityList = append(monsterGroup.EntityList, &goproto.SceneEntityInfo{ InstId: instID, @@ -107,7 +109,7 @@ func loadChallengeScene(s *Session, entryID, targetGroupID, monsterID, eventID u NpcMonster: &goproto.SceneNpcMonsterInfo{ MonsterId: monsterID, EventId: eventID, - WorldLevel: 6, + WorldLevel: playerWorldLevel, }, }, }) @@ -179,12 +181,11 @@ func handleStartChallengePeak(s *Session, req *goproto.StartChallengePeakCsReq, return nil } previousConfig := s.ChallengeBattleConfig - if err := setChallengeBattleConfig(s, avatars, peakID, eventID, buffs); err != nil { + if err := setPeakBattleConfig(s, avatars, peakID, eventID, buffs); err != nil { SceneDebugLog("[PEAK] stage rejected: %v", err) rsp.Retcode = uint32(goproto.Retcode_RET_CHALLENGE_NOT_EXIST) return nil } - s.ChallengeBattleConfig.BattleType = common.BattleTypeAA sceneInfo, _, err := loadChallengeScene(s, stage.Entrance, stage.Group, monsterID, eventID, avatars) if err != nil { s.ChallengeBattleConfig = previousConfig diff --git a/internal/gameserver/handlers_currency_wars.go b/internal/gameserver/handlers_currency_wars.go new file mode 100644 index 0000000..3595c85 --- /dev/null +++ b/internal/gameserver/handlers_currency_wars.go @@ -0,0 +1,192 @@ +package gameserver + +import ( + "fmt" + + "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" +) + +// Apply the resource-defined freeplay lobby state on this entrance only. +// Client-managed groups create their own props once their condition is true. +func currencyWarsEntranceScene(scene *common.LevelOutputConfig, entrance common.CurrencyWarsEntrance) (*common.LevelOutputConfig, error) { + copyScene := *scene + copyScene.SavedValues = make(map[string]int32, len(scene.SavedValues)) + for name, value := range scene.SavedValues { + copyScene.SavedValues[name] = value + } + for name, value := range entrance.SavedValues { + old, exists := copyScene.SavedValues[name] + if !exists { + return nil, fmt.Errorf("CW room activation value missing: %s", name) + } + copyScene.SavedValues[name] = value + SceneDebugLog("CW_ROOM_ACTIVATION entry=%d name=%s previous=%d selected=%d", entrance.EntryID, name, old, value) + } + for _, room := range entrance.RoomGroups { + value, exists := copyScene.SavedValues[room.Condition.Name] + if !exists { + return nil, fmt.Errorf("CW room activation value missing: %s", room.Condition.Name) + } + if room.Condition.Comparison != "GreaterEqual" { + return nil, fmt.Errorf("unsupported CW room comparison") + } + if value < room.Condition.Value { + return nil, fmt.Errorf("CW room activation condition is not satisfied") + } + } + return ©Scene, nil +} + +func init() { + // Bind to this revision's command table. Save a complete initial preset + // before returning success so the immediately following GetData sees it. + handle("GridFightStartGamePlay", func(s *Session, req *goproto.GridFightStartGamePlayCsReq, rsp *goproto.GridFightStartGamePlayScRsp) error { + mode := "standard" + if req.IsOverlock { + mode = "overclock" + } + rsp.Retcode = uint32(goproto.Retcode_RET_GRID_FIGHT_CONF_MISS) + catalog, err := common.LoadCurrencyWarsCatalog() + if err != nil { + PacketLog(fmt.Sprintf("CW_START_GAMEPLAY rejected mode=%s retcode=%d reason=catalog_error error=%v", mode, rsp.Retcode, err)) + return nil + } + division, exists := catalog.Division(req.DivisionId) + if !exists || division.SeasonID != catalog.ActiveSeasonID { + rsp.Retcode = uint32(goproto.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH) + PacketLog(fmt.Sprintf("CW_START_GAMEPLAY rejected mode=%s division=%d param_3=%d season=%d retcode=%d reason=division_mismatch", mode, req.DivisionId, req.MPJPLKKJNGE, req.LJNGPCKPJLF, rsp.Retcode)) + return nil + } + data, revision, err := readCurrencyWarsData(catalog) + if err != nil { + PacketLog(fmt.Sprintf("CW_START_GAMEPLAY rejected mode=%s retcode=%d reason=snapshot_error error=%v", mode, rsp.Retcode, err)) + return nil + } + if data != nil && data.DHFOFLFCLAH != nil { + rsp.Retcode = uint32(goproto.Retcode_RET_GRID_FIGHT_ALREADY_IN_GAMEPLAY) + PacketLog(fmt.Sprintf("CW_START_GAMEPLAY rejected mode=%s retcode=%d reason=active_run_exists", mode, rsp.Retcode)) + return nil + } + if req.LJNGPCKPJLF != catalog.ActiveSeasonID || revision != s.currencyWarsRevision { + rsp.Retcode = uint32(goproto.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH) + PacketLog(fmt.Sprintf("CW_START_GAMEPLAY rejected mode=%s retcode=%d reason=season_or_session_revision_mismatch", mode, rsp.Retcode)) + return nil + } + if revision >= uint64(^uint32(0)) { + PacketLog("CW_START_GAMEPLAY rejected reason=run_identifier_exhausted") + return nil + } + run, err := buildCurrencyWarsInitialRun(catalog, req, uint32(revision+1)) + if err != nil { + PacketLog(fmt.Sprintf("CW_START_GAMEPLAY rejected mode=%s division=%d retcode=%d error=%v", mode, req.DivisionId, rsp.Retcode, err)) + return nil + } + if data == nil { + data, err = newCurrencyWarsData(catalog) + if err != nil { + return err + } + } + data.DHFOFLFCLAH = run + if err := s.saveCurrencyWarsData(data, catalog); err != nil { + PacketLog(fmt.Sprintf("CW_START_GAMEPLAY rejected reason=save_error error=%v", err)) + return nil + } + rsp.DHFOFLFCLAH = proto.Clone(run).(*goproto.MPIMAEMCEFH) + rsp.Retcode = 0 + PacketLog(fmt.Sprintf("CW_START_GAMEPLAY started mode=%s division=%d season=%d run=%d revision=%d source=captured_initial_preset", mode, req.DivisionId, req.LJNGPCKPJLF, run.UniqueId, s.currencyWarsRevision)) + return nil + }) + handle("GridFightResumeGamePlay", func(s *Session, req *goproto.GridFightResumeGamePlayCsReq, rsp *goproto.GridFightResumeGamePlayScRsp) error { + rsp.Retcode = uint32(goproto.Retcode_RET_GRID_FIGHT_NOT_IN_GAMEPLAY) + catalog, err := common.LoadCurrencyWarsCatalog() + if err != nil { + return err + } + data, revision, err := readCurrencyWarsData(catalog) + if err != nil { + return err + } + if data == nil || data.DHFOFLFCLAH == nil { + return nil + } + if req.UniqueId != data.DHFOFLFCLAH.UniqueId { + rsp.Retcode = uint32(goproto.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH) + return nil + } + if revision != s.currencyWarsRevision { + rsp.Retcode = uint32(goproto.Retcode_RET_GRID_FIGHT_PARAM_NOT_MATCH) + return nil + } + // Reconcile triplets left by the former buy handler on an explicit + // Resume action. Snapshot readers remain read-only. + if data.DHFOFLFCLAH.FMIGOKIDKJL == nil { + if _, active := CURRENT_BATTLE.Load(s.Token); !active { + groups, e := cwMergeRoles(catalog, data.DHFOFLFCLAH, 0) + if e != nil { + PacketLog("CW_RESUME merge rejected: " + e.Error()) + return nil + } + addedSpotlights := cwEnsureSpotlights(data.DHFOFLFCLAH) + if len(groups) > 0 || addedSpotlights { + if e = s.saveCurrencyWarsData(data, catalog); e != nil { + return nil + } + // Resume is followed by GetData. Return the reconciled roster in + // that snapshot, after the Client constructs its game session. + PacketLog(fmt.Sprintf("CW_RESUME merged=%d revision=%d", len(groups), s.currencyWarsRevision)) + } + } + } + rsp.Retcode = 0 + return nil + }) + // Leaving the UI keeps the active run for Resume, matching the reference. + handle("GridFightQuitLeaveGamePlay", func(s *Session, _ *goproto.GridFightQuitLeaveGamePlayCsReq, _ *goproto.GridFightQuitLeaveGamePlayScRsp) error { + s.currencyWarsOpen = false + return nil + }) + + // CW's points panel uses the shared CycleScore reward period. Missing + // GetData leaves its MonoRemainTimer at the Unix epoch and closes the page. + // This fresh-profile bootstrap uses the explicit operator activity window; + // weekly rollover, earned scores and reward claims still need persistence. + handle("CycleScoreRewardGetData", func(s *Session, req *goproto.CycleScoreRewardGetDataCsReq, rsp *goproto.CycleScoreRewardGetDataScRsp) error { + cfg, err := common.LoadRuntimeConfig() + if err != nil { + return err + } + rsp.NFEDANFBIBE = &goproto.GAAMBBFPCHB{EndTime: *cfg.ActivitySchedule.EndTime} + PacketLog(fmt.Sprintf("CYCLE_SCORE_REWARD_DATA end_time=%d score=0 bootstrap=true policy=activity_window", *cfg.ActivitySchedule.EndTime)) + return nil + }) + // Bootstrap only. Keep the danger-family guard for every unsupported CW + // operation; it must never receive a successful empty gameplay response. + handle("GridFightGetData", func(s *Session, req *goproto.GridFightGetDataCsReq, rsp *goproto.GridFightGetDataScRsp) error { + catalog, err := common.LoadCurrencyWarsCatalog() + if err != nil { + return err + } + saved, revision, err := readCurrencyWarsData(catalog) + if err != nil { + return err + } + if saved != nil { + proto.Merge(rsp, saved) + s.currencyWarsRevision = revision + s.currencyWarsOpen = saved.DHFOFLFCLAH != nil + PacketLog(fmt.Sprintf("CW_GET_DATA restored=true revision=%d active_run=%t", revision, saved.DHFOFLFCLAH != nil)) + return nil + } + s.currencyWarsRevision = 0 + initial, err := newCurrencyWarsData(catalog) + if err != nil { + return err + } + proto.Merge(rsp, initial) + PacketLog(fmt.Sprintf("CW_GET_DATA season=%d subseason=%d division=%d active_run=false bootstrap=true tutorial_policy=freeplay_unlocked", catalog.ActiveSeasonID, catalog.ActiveSubSeasonID, initial.LFLCDNGALME.HFPEJIDDDJG.DivisionId)) + return nil + }) +} diff --git a/internal/gameserver/handlers_equipment_test.go b/internal/gameserver/handlers_equipment_test.go new file mode 100644 index 0000000..43c9ddf --- /dev/null +++ b/internal/gameserver/handlers_equipment_test.go @@ -0,0 +1,175 @@ +package gameserver + +import ( + "encoding/json" + "os" + "testing" + + "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" +) + +func TestLightconeSwapAndUnequipPersistAssignments(t *testing.T) { + t.Chdir(t.TempDir()) + writeEquipmentFixture(t, `{"lightcones":[{"item_id":23001,"internal_uid":1,"equip_avatar":1201},{"item_id":23002,"internal_uid":2,"equip_avatar":1202}],"relics":[]}`) + + player := &common.FreesrData{ + Avatars: map[uint32]*common.AvatarJson{ + 1201: {AvatarID: 1201}, + 1202: {AvatarID: 1202}, + }, + Lightcones: []common.Lightcone{ + {ItemID: 23001, InternalUID: 1, EquipAvatar: 1201}, + {ItemID: 23002, InternalUID: 2, EquipAvatar: 1202}, + }, + } + session := &Session{json: player} + + update, err := setLightconeEquipper(session, 1201, 3002) + if err != nil { + t.Fatalf("equip Light Cone: %v", err) + } + if player.Lightcones[0].EquipAvatar != 1202 || player.Lightcones[1].EquipAvatar != 1201 { + t.Fatalf("Light Cone swap failed: %+v", player.Lightcones) + } + if len(update.EquipmentList) != 2 || len(update.AvatarSync.AvatarList) != 2 { + t.Fatalf("swap did not sync both Light Cones and avatars: %+v", update) + } + assertSavedEquipmentOwners(t, "lightcones", map[uint32]uint32{1: 1202, 2: 1201}) + + update, err = setLightconeEquipper(session, 1201, 0) + if err != nil { + t.Fatalf("unequip Light Cone: %v", err) + } + if player.Lightcones[1].EquipAvatar != 0 || len(update.EquipmentList) != 1 { + t.Fatalf("Light Cone unequip failed: items=%+v update=%+v", player.Lightcones, update) + } + assertSavedEquipmentOwners(t, "lightcones", map[uint32]uint32{1: 1202, 2: 0}) +} + +func TestRelicSwapUnequipAndSlotValidationPersistAssignments(t *testing.T) { + t.Chdir(t.TempDir()) + writeEquipmentFixture(t, `{"lightcones":[],"relics":[{"relic_id":31012,"internal_uid":11,"equip_avatar":1201},{"relic_id":32012,"internal_uid":12,"equip_avatar":1202}]}`) + + player := &common.FreesrData{ + Avatars: map[uint32]*common.AvatarJson{ + 1201: {AvatarID: 1201}, + 1202: {AvatarID: 1202}, + }, + Relics: []common.Relic{ + {RelicID: 31012, InternalUID: 11, EquipAvatar: 1201}, + {RelicID: 32012, InternalUID: 12, EquipAvatar: 1202}, + }, + } + session := &Session{json: player} + + wrongSlot, err := equipRelic(session, &goproto.DressRelicAvatarCsReq{ + AvatarId: 1201, + SwitchList: []*goproto.DressRelicParam{{RelicType: 1, RelicUniqueId: 12}}, + }) + if err != nil || wrongSlot != nil { + t.Fatalf("mismatched Relic slot should be ignored: update=%+v err=%v", wrongSlot, err) + } + if player.Relics[0].EquipAvatar != 1201 || player.Relics[1].EquipAvatar != 1202 { + t.Fatalf("mismatched Relic slot changed ownership: %+v", player.Relics) + } + + update, err := equipRelic(session, &goproto.DressRelicAvatarCsReq{ + AvatarId: 1201, + SwitchList: []*goproto.DressRelicParam{{RelicType: 2, RelicUniqueId: 12}}, + }) + if err != nil { + t.Fatalf("equip Relic: %v", err) + } + if player.Relics[0].EquipAvatar != 1202 || player.Relics[1].EquipAvatar != 1201 { + t.Fatalf("Relic swap failed: %+v", player.Relics) + } + if len(update.RelicList) != 2 || len(update.AvatarSync.AvatarList) != 2 { + t.Fatalf("swap did not sync both Relics and avatars: %+v", update) + } + assertSavedEquipmentOwners(t, "relics", map[uint32]uint32{11: 1202, 12: 1201}) + + update, err = unequipRelic(session, &goproto.TakeOffRelicCsReq{ + AvatarId: 1201, + RelicTypeList: []uint32{2}, + }) + if err != nil { + t.Fatalf("unequip Relic: %v", err) + } + if player.Relics[1].EquipAvatar != 0 || len(update.RelicList) != 1 { + t.Fatalf("Relic unequip failed: items=%+v update=%+v", player.Relics, update) + } + assertSavedEquipmentOwners(t, "relics", map[uint32]uint32{11: 1202, 12: 0}) +} + +func TestEquipmentPickerAuxiliaryRequestsHaveTypedReplies(t *testing.T) { + for _, name := range []string{ + "RelicPresetGetPlanCsReq", + "RelicSmartWearGetPlanCsReq", + "RelicSmartWearGetPinRelicCsReq", + "GetBigDataRecommendCsReq", + } { + t.Run(name, func(t *testing.T) { + id, ok := goproto.CmdIDByName[name] + if !ok { + t.Fatalf("protocol table is missing %s", name) + } + if typedHandlers[uint16(id)] == nil { + t.Fatalf("%s is not registered as a typed handler", name) + } + }) + } + + avatarID := uint32(1201) + recommendation := emptyEquipmentRecommendation(avatarID, goproto.BigDataRecommendType_BIG_DATA_RECOMMEND_TYPE_AVATAR_RELIC) + responses := []proto.Message{ + emptyRelicPresetPlans(avatarID), + emptyRelicSmartWearPlans(avatarID), + emptyPinnedRelics(avatarID), + &recommendation, + } + for _, response := range responses { + encoded, err := proto.Marshal(response) + if err != nil { + t.Fatalf("marshal %T: %v", response, err) + } + if len(encoded) == 0 { + t.Fatalf("%T encoded as an empty response", response) + } + } + if recommendation.EquipAvatar != avatarID || recommendation.BigDataRecommendType != goproto.BigDataRecommendType_BIG_DATA_RECOMMEND_TYPE_AVATAR_RELIC { + t.Fatalf("recommendation response lost request context: %+v", recommendation) + } +} + +func writeEquipmentFixture(t *testing.T, contents string) { + t.Helper() + if err := os.WriteFile("freesr-data.json", []byte(contents), 0600); err != nil { + t.Fatalf("write fixture: %v", err) + } +} + +func assertSavedEquipmentOwners(t *testing.T, collection string, expected map[uint32]uint32) { + t.Helper() + contents, err := os.ReadFile("freesr-data.json") + if err != nil { + t.Fatalf("read persisted equipment: %v", err) + } + var root map[string][]struct { + InternalUID uint32 `json:"internal_uid"` + EquipAvatar uint32 `json:"equip_avatar"` + } + if err := json.Unmarshal(contents, &root); err != nil { + t.Fatalf("decode persisted equipment: %v", err) + } + owners := make(map[uint32]uint32, len(root[collection])) + for _, entry := range root[collection] { + owners[entry.InternalUID] = entry.EquipAvatar + } + for uid, want := range expected { + if got, ok := owners[uid]; !ok || got != want { + t.Errorf("%s UID %d owner = %d (present %v), want %d", collection, uid, got, ok, want) + } + } +} diff --git a/internal/gameserver/handlers_lineup.go b/internal/gameserver/handlers_lineup.go index 266600b..5db6a2b 100644 --- a/internal/gameserver/handlers_lineup.go +++ b/internal/gameserver/handlers_lineup.go @@ -254,7 +254,7 @@ func refreshLineup(s *Session) error { AvatarType: goproto.AvatarType_AVATAR_FORMAL_TYPE, BaseAvatarId: avatarID, MapLayer: 0, - Uid: 25, + Uid: playerUID, }, }, }, diff --git a/internal/gameserver/handlers_misc.go b/internal/gameserver/handlers_misc.go index 3f01377..a8d5be8 100644 --- a/internal/gameserver/handlers_misc.go +++ b/internal/gameserver/handlers_misc.go @@ -1,6 +1,7 @@ package gameserver import ( + "fmt" "math/rand" "sync" @@ -37,6 +38,22 @@ func (sm *syncMap) Delete(k uint32) { muBattle.Lock(); sm.init(); delete(sm.m, k func randUint32() uint32 { return rand.Uint32() } +func emptyRelicPresetPlans(avatarID uint32) *goproto.RelicPresetGetPlanScRsp { + return &goproto.RelicPresetGetPlanScRsp{AvatarId: avatarID} +} + +func emptyRelicSmartWearPlans(avatarID uint32) *goproto.RelicSmartWearGetPlanScRsp { + return &goproto.RelicSmartWearGetPlanScRsp{AvatarId: avatarID} +} + +func emptyPinnedRelics(avatarID uint32) *goproto.RelicSmartWearGetPinRelicScRsp { + return &goproto.RelicSmartWearGetPinRelicScRsp{AvatarId: avatarID} +} + +func emptyEquipmentRecommendation(avatarID uint32, kind goproto.BigDataRecommendType) goproto.GetBigDataRecommendScRsp { + return goproto.GetBigDataRecommendScRsp{EquipAvatar: avatarID, BigDataRecommendType: kind} +} + func playerArchive(s *Session) *goproto.ArchiveData { archive := &goproto.ArchiveData{} if player := s.JSON(); player != nil { @@ -62,32 +79,28 @@ func init() { if player == nil { return nil } + if err := ensureCatalogLightcones(player); err != nil { + return err + } + if err := ensureCatalogRelics(player); err != nil { + return err + } for i := range player.Lightcones { rsp.EquipmentList = append(rsp.EquipmentList, player.Lightcones[i].ToProtoEquipment()) } - for i := range player.Relics { - rsp.RelicList = append(rsp.RelicList, player.Relics[i].ToProtoRelic()) - } - rsp.MaterialList = []*goproto.Material{ - {Tid: 1, Num: 9999999}, // Stellar Jade - {Tid: 2, Num: 99999999}, // Credit - {Tid: 101, Num: 999999}, // Normal Pass - {Tid: 102, Num: 999999}, // Special Pass - } - materials, err := eidolonMaterials(player) + relics, omitted, err := supportedProtoRelics(player.Relics) if err != nil { return err } - for _, material := range materials { - if material.Num > 0 { - rsp.MaterialList = append(rsp.MaterialList, material) - } + if omitted > 0 { + Log(fmt.Sprintf("[INVENTORY] omitted %d Relic entries without a Client RelicConfig row", omitted)) } - foods, err := techniqueMaterials(player) + rsp.RelicList = append(rsp.RelicList, relics...) + materials, err := bagMaterials(player) if err != nil { return err } - rsp.MaterialList = append(rsp.MaterialList, foods...) + rsp.MaterialList = materials // Avatar IDs do not imply item IDs. The old 130000+avatar formula // produced nonexistent materials and broke the client's inventory init. return nil @@ -103,30 +116,67 @@ func init() { return nil }) + // These requests are made while the Client builds equipment/relic + // selection panels. An empty raw response is not equivalent to a valid + // empty list: the Client uses the echoed AvatarId to complete the request. + handle("RelicPresetGetPlan", func(_ *Session, req *goproto.RelicPresetGetPlanCsReq, rsp *goproto.RelicPresetGetPlanScRsp) error { + *rsp = *emptyRelicPresetPlans(req.AvatarId) + return nil + }) + handle("RelicSmartWearGetPlan", func(_ *Session, req *goproto.RelicSmartWearGetPlanCsReq, rsp *goproto.RelicSmartWearGetPlanScRsp) error { + *rsp = *emptyRelicSmartWearPlans(req.AvatarId) + return nil + }) + handle("RelicSmartWearGetPinRelic", func(_ *Session, req *goproto.RelicSmartWearGetPinRelicCsReq, rsp *goproto.RelicSmartWearGetPinRelicScRsp) error { + *rsp = *emptyPinnedRelics(req.AvatarId) + return nil + }) + handle("GetBigDataRecommend", func(_ *Session, req *goproto.GetBigDataRecommendCsReq, rsp *goproto.GetBigDataRecommendScRsp) error { + *rsp = emptyEquipmentRecommendation(req.EquipAvatar, req.BigDataRecommendType) + return nil + }) + // --- lightcone equipping (Rust: set_lightcone_equipper) --- handle("DressAvatar", func(s *Session, req *goproto.DressAvatarCsReq, rsp *goproto.DressAvatarScRsp) error { - if pkt := setLightconeEquipper(s, req.AvatarId, req.EquipmentUniqueId); pkt != nil { + pkt, err := setLightconeEquipper(s, req.AvatarId, req.EquipmentUniqueId) + if err != nil { + return err + } + if pkt != nil { return s.Send(pkt) } return nil }) handle("TakeOffEquipment", func(s *Session, req *goproto.TakeOffEquipmentCsReq, rsp *goproto.TakeOffEquipmentScRsp) error { - if pkt := setLightconeEquipper(s, req.AvatarId, 0); pkt != nil { + pkt, err := setLightconeEquipper(s, req.AvatarId, 0) + if err != nil { + return err + } + if pkt != nil { return s.Send(pkt) } return nil }) handle("DressRelicAvatar", func(s *Session, req *goproto.DressRelicAvatarCsReq, rsp *goproto.DressRelicAvatarScRsp) error { - if pkt := equipRelic(s, req); pkt != nil { + rsp.AvatarId = req.AvatarId + pkt, err := equipRelic(s, req) + if err != nil { + return err + } + if pkt != nil { return s.Send(pkt) } return nil }) handle("TakeOffRelic", func(s *Session, req *goproto.TakeOffRelicCsReq, rsp *goproto.TakeOffRelicScRsp) error { - if pkt := unequipRelic(s, req); pkt != nil { + pkt, err := unequipRelic(s, req) + if err != nil { + return err + } + if pkt != nil { return s.Send(pkt) } return nil @@ -203,12 +253,9 @@ func init() { } rsp.RecommendType = &goproto.GetBigDataAllRecommendScRsp_RelicAvatar{RelicAvatar: inner} case goproto.BigDataRecommendType_BIG_DATA_RECOMMEND_TYPE_AVATAR_RELIC: - // Loaded schema: recomended_relic_info_list is repeated GDFKJKDLEPM - // (obfuscated, contents unused by this PS) — reply with empty entries + // No AvatarRelicRecommend rows are available in the loaded resource. + // Empty placeholder rows crash the Client while it reads sub-properties. inner := &goproto.BigDataRecommendAvatarRelic{} - for range BaseAvatarIDs { - inner.RecomendedRelicInfoList = append(inner.RecomendedRelicInfoList, &goproto.GDFKJKDLEPM{}) - } rsp.RecommendType = &goproto.GetBigDataAllRecommendScRsp_AvatarRelic{AvatarRelic: inner} } return nil @@ -287,14 +334,14 @@ func init() { // equip helpers (Go port of inventory.rs helper fns) // --------------------------------------------------------------------------- -func setLightconeEquipper(s *Session, targetAvatarID, targetLCUID uint32) *goproto.PlayerSyncScNotify { +func setLightconeEquipper(s *Session, targetAvatarID, targetLCUID uint32) (*goproto.PlayerSyncScNotify, error) { player := s.JSON() if player == nil { - return nil + return nil, nil } targetAvatar, ok := player.Avatars[targetAvatarID] if !ok { - return nil + return nil, nil } ret := &goproto.PlayerSyncScNotify{} @@ -313,26 +360,59 @@ func setLightconeEquipper(s *Session, targetAvatarID, targetLCUID uint32) *gopro // undress if targetLCUID == 0 { if curAvatarLCIdx >= 0 { - player.Lightcones[curAvatarLCIdx].EquipAvatar = 0 + lc := &player.Lightcones[curAvatarLCIdx] + previousOwner := lc.EquipAvatar + lc.EquipAvatar = 0 + if err := common.SaveEquipmentAssignments(map[uint32]uint32{lc.InternalUID: 0}, nil); err != nil { + lc.EquipAvatar = previousOwner + return nil, err + } buildSync(player, ret, []uint32{targetAvatar.AvatarID}, []int{curAvatarLCIdx}, nil) - return ret + return ret, nil } - return nil + return nil, nil } if targetLCIdx < 0 { - return nil + return nil, nil + } + if targetLCIdx == curAvatarLCIdx { + return nil, nil } var avatarsSync []uint32 var lcIdxSync []int + previousOwners := make(map[uint32]uint32, 2) + remember := func(idx int) { + lc := &player.Lightcones[idx] + previousOwners[lc.InternalUID] = lc.EquipAvatar + } // if the current avatar holds an LC, swap owners with the target LC's owner if curAvatarLCIdx >= 0 { + remember(curAvatarLCIdx) + remember(targetLCIdx) player.Lightcones[curAvatarLCIdx].EquipAvatar = player.Lightcones[targetLCIdx].EquipAvatar } avatarsSync = append(avatarsSync, player.Lightcones[targetLCIdx].EquipAvatar, targetAvatar.AvatarID) player.Lightcones[targetLCIdx].EquipAvatar = targetAvatar.AvatarID + if curAvatarLCIdx < 0 { + remember(targetLCIdx) + } + owners := make(map[uint32]uint32, len(previousOwners)) + for i := range player.Lightcones { + if _, changed := previousOwners[player.Lightcones[i].InternalUID]; changed { + owners[player.Lightcones[i].InternalUID] = player.Lightcones[i].EquipAvatar + } + } + if err := common.SaveEquipmentAssignments(owners, nil); err != nil { + for i := range player.Lightcones { + if owner, changed := previousOwners[player.Lightcones[i].InternalUID]; changed { + player.Lightcones[i].EquipAvatar = owner + } + } + return nil, err + } if curAvatarLCIdx >= 0 { lcIdxSync = append(lcIdxSync, curAvatarLCIdx) @@ -340,22 +420,27 @@ func setLightconeEquipper(s *Session, targetAvatarID, targetLCUID uint32) *gopro lcIdxSync = append(lcIdxSync, targetLCIdx) buildSync(player, ret, avatarsSync, lcIdxSync, nil) - return ret + return ret, nil } -func equipRelic(s *Session, req *goproto.DressRelicAvatarCsReq) *goproto.PlayerSyncScNotify { +func equipRelic(s *Session, req *goproto.DressRelicAvatarCsReq) (*goproto.PlayerSyncScNotify, error) { player := s.JSON() if player == nil { - return nil + return nil, nil + } + supportedRelics, err := supportedRelicIDs() + if err != nil { + return nil, err } targetAvatar, ok := player.Avatars[req.AvatarId] if !ok { - return nil + return nil, nil } ret := &goproto.PlayerSyncScNotify{} var avatarIDsToSync []uint32 var relicIdxToSync []int + previousOwners := make(map[uint32]uint32) for _, param := range req.SwitchList { targetRelicIdx := -1 @@ -368,6 +453,15 @@ func equipRelic(s *Session, req *goproto.DressRelicAvatarCsReq) *goproto.PlayerS if targetRelicIdx < 0 { continue } + if _, supported := supportedRelics[player.Relics[targetRelicIdx].RelicID]; !supported { + continue + } + // The Client supplies both the desired slot and the inventory UID. + // Ignore malformed/stale requests rather than equipping a Relic into a + // different slot than the one represented by its configured item ID. + if player.Relics[targetRelicIdx].Slot() != param.RelicType { + continue + } curAvatarRelicIdx := -1 for i := range player.Relics { @@ -379,45 +473,86 @@ func equipRelic(s *Session, req *goproto.DressRelicAvatarCsReq) *goproto.PlayerS } if curAvatarRelicIdx >= 0 { + previousOwners[player.Relics[curAvatarRelicIdx].InternalUID] = player.Relics[curAvatarRelicIdx].EquipAvatar + previousOwners[player.Relics[targetRelicIdx].InternalUID] = player.Relics[targetRelicIdx].EquipAvatar avatarIDsToSync = append(avatarIDsToSync, player.Relics[curAvatarRelicIdx].EquipAvatar) player.Relics[curAvatarRelicIdx].EquipAvatar = player.Relics[targetRelicIdx].EquipAvatar relicIdxToSync = append(relicIdxToSync, curAvatarRelicIdx) } avatarIDsToSync = append(avatarIDsToSync, player.Relics[targetRelicIdx].EquipAvatar) + if _, remembered := previousOwners[player.Relics[targetRelicIdx].InternalUID]; !remembered { + previousOwners[player.Relics[targetRelicIdx].InternalUID] = player.Relics[targetRelicIdx].EquipAvatar + } player.Relics[targetRelicIdx].EquipAvatar = targetAvatar.AvatarID avatarIDsToSync = append(avatarIDsToSync, player.Relics[targetRelicIdx].EquipAvatar) relicIdxToSync = append(relicIdxToSync, targetRelicIdx) } + if len(relicIdxToSync) == 0 { + return nil, nil + } + owners := make(map[uint32]uint32, len(previousOwners)) + for i := range player.Relics { + if _, changed := previousOwners[player.Relics[i].InternalUID]; changed { + owners[player.Relics[i].InternalUID] = player.Relics[i].EquipAvatar + } + } + if err := common.SaveEquipmentAssignments(nil, owners); err != nil { + for i := range player.Relics { + if owner, changed := previousOwners[player.Relics[i].InternalUID]; changed { + player.Relics[i].EquipAvatar = owner + } + } + return nil, err + } buildSync(player, ret, avatarIDsToSync, nil, relicIdxToSync) - return ret + return ret, nil } -func unequipRelic(s *Session, req *goproto.TakeOffRelicCsReq) *goproto.PlayerSyncScNotify { +func unequipRelic(s *Session, req *goproto.TakeOffRelicCsReq) (*goproto.PlayerSyncScNotify, error) { player := s.JSON() if player == nil { - return nil + return nil, nil } if _, ok := player.Avatars[req.AvatarId]; !ok { - return nil + return nil, nil } ret := &goproto.PlayerSyncScNotify{} var relicIdxToSync []int + previousOwners := make(map[uint32]uint32) for _, slot := range req.RelicTypeList { for i := range player.Relics { r := &player.Relics[i] if r.EquipAvatar == req.AvatarId && r.Slot() == slot { + previousOwners[r.InternalUID] = r.EquipAvatar r.EquipAvatar = 0 relicIdxToSync = append(relicIdxToSync, i) } } } + if len(relicIdxToSync) == 0 { + return nil, nil + } + owners := make(map[uint32]uint32, len(previousOwners)) + for i := range player.Relics { + if _, changed := previousOwners[player.Relics[i].InternalUID]; changed { + owners[player.Relics[i].InternalUID] = player.Relics[i].EquipAvatar + } + } + if err := common.SaveEquipmentAssignments(nil, owners); err != nil { + for i := range player.Relics { + if owner, changed := previousOwners[player.Relics[i].InternalUID]; changed { + player.Relics[i].EquipAvatar = owner + } + } + return nil, err + } buildSync(player, ret, []uint32{req.AvatarId}, nil, relicIdxToSync) - return ret + return ret, nil } func buildSync( @@ -427,22 +562,45 @@ func buildSync( lightconeIndexes []int, relicIndexes []int, ) { + supportedRelics, supportedErr := supportedRelicIDs() + if supportedErr != nil { + Log("[INVENTORY] cannot resolve Client RelicConfig; omitting Relic sync: " + supportedErr.Error()) + supportedRelics = map[uint32]struct{}{} + } sync := &goproto.AvatarSync{} + seenAvatars := make(map[uint32]bool, len(avatarIDs)) for _, id := range avatarIDs { + if seenAvatars[id] { + continue + } + seenAvatars[id] = true if av, ok := player.Avatars[id]; ok { sync.AvatarList = append(sync.AvatarList, av.ToAvatarProto(player.FindLightconeFor(id), player.MainCharacter.ID(), player.MarchType.ID())) sync.AvatarPathDataInfoList = append(sync.AvatarPathDataInfoList, - av.ToAvatarPathDataProto(player.FindLightconeFor(id), player.FindRelicsFor(id), player.DressedSkins[id])) + av.ToAvatarPathDataProto(player.FindLightconeFor(id), filterSupportedRelics(player.FindRelicsFor(id), supportedRelics), player.DressedSkins[id])) } } ret.AvatarSync = sync + seenRelics := make(map[int]bool, len(relicIndexes)) for _, idx := range relicIndexes { + if seenRelics[idx] { + continue + } + seenRelics[idx] = true if idx >= 0 && idx < len(player.Relics) { + if _, supported := supportedRelics[player.Relics[idx].RelicID]; !supported { + continue + } ret.RelicList = append(ret.RelicList, player.Relics[idx].ToProtoRelic()) } } + seenLightcones := make(map[int]bool, len(lightconeIndexes)) for _, idx := range lightconeIndexes { + if seenLightcones[idx] { + continue + } + seenLightcones[idx] = true if idx >= 0 && idx < len(player.Lightcones) { ret.EquipmentList = append(ret.EquipmentList, player.Lightcones[idx].ToProtoEquipment()) } diff --git a/internal/gameserver/handlers_mission.go b/internal/gameserver/handlers_mission.go index dc78377..3a91c92 100644 --- a/internal/gameserver/handlers_mission.go +++ b/internal/gameserver/handlers_mission.go @@ -2,6 +2,7 @@ package gameserver import ( "encoding/json" + "fmt" "os" "sort" "sync" @@ -26,8 +27,50 @@ type MissionUnlocks struct { var ( missionUnlocksOnce sync.Once missionUnlocks MissionUnlocks + missionCompatOnce sync.Once + missionCompatIDs map[uint32]struct{} + missionCompatErr error ) +type missionCompatibility struct { + UnsupportedSubMissions map[string][]uint32 `json:"unsupported_sub_mission_ids_by_client_version"` +} + +func excludedSubMissionsForVersion(raw []byte, clientVersion string) (map[uint32]struct{}, error) { + var compatibility missionCompatibility + if err := json.Unmarshal(raw, &compatibility); err != nil { + return nil, fmt.Errorf("parse MissionCompatibility.json: %w", err) + } + excluded := make(map[uint32]struct{}) + for _, id := range compatibility.UnsupportedSubMissions[clientVersion] { + if id == 0 { + return nil, fmt.Errorf("MissionCompatibility.json contains zero sub-mission ID for Client %s", clientVersion) + } + if _, exists := excluded[id]; exists { + return nil, fmt.Errorf("MissionCompatibility.json contains duplicate sub-mission ID %d for Client %s", id, clientVersion) + } + excluded[id] = struct{}{} + } + return excluded, nil +} + +func excludedSubMissionsForConfiguredClient() (map[uint32]struct{}, error) { + missionCompatOnce.Do(func() { + cfg, err := common.LoadRuntimeConfig() + if err != nil { + missionCompatErr = err + return + } + raw, err := common.ReadResourceFile("resources/MissionCompatibility.json", "MissionCompatibility.json") + if err != nil { + missionCompatErr = err + return + } + missionCompatIDs, missionCompatErr = excludedSubMissionsForVersion(raw, cfg.ClientVersion) + }) + return missionCompatIDs, missionCompatErr +} + func getMissionUnlocks() *MissionUnlocks { missionUnlocksOnce.Do(func() { raw, err := os.ReadFile("mission_unlocks.json") @@ -115,7 +158,35 @@ func init() { } rsp.FinishedMainMissionIdList = finished - SceneDebugLog("GET_MISSION_DATA finished_sent=%d", len(rsp.FinishedMainMissionIdList)) + // The Client's train unlock-data callback reads sub-mission rows from + // GetMissionData. Sending only MainMissionList leaves those lookups + // absent and can throw in TrainPartyModule while the train scene loads. + excludedSubMissions, err := excludedSubMissionsForConfiguredClient() + if err != nil { + return err + } + seenSubMissions := make(map[uint32]struct{}, len(unlocks.SubMissionIDs)) + excludedCount := 0 + for _, id := range unlocks.SubMissionIDs { + if id == 0 { + continue + } + if _, excluded := excludedSubMissions[id]; excluded { + excludedCount++ + continue + } + if _, exists := seenSubMissions[id]; exists { + continue + } + seenSubMissions[id] = struct{}{} + rsp.MissionList = append(rsp.MissionList, &goproto.Mission{ + Id: id, + Progress: 1, + Status: goproto.MissionStatus_MISSION_FINISH, + }) + } + + SceneDebugLog("GET_MISSION_DATA finished_main_sent=%d sub_missions_sent=%d sub_missions_excluded=%d", len(rsp.FinishedMainMissionIdList), len(rsp.MissionList), excludedCount) return nil }) diff --git a/internal/gameserver/handlers_mission_test.go b/internal/gameserver/handlers_mission_test.go new file mode 100644 index 0000000..c469d33 --- /dev/null +++ b/internal/gameserver/handlers_mission_test.go @@ -0,0 +1,34 @@ +package gameserver + +import "testing" + +func TestExcludedSubMissionsAreScopedToClientVersion(t *testing.T) { + raw := []byte(`{"unsupported_sub_mission_ids_by_client_version":{"4.6.53":[103380210]}}`) + + excluded, err := excludedSubMissionsForVersion(raw, "4.6.53") + if err != nil { + t.Fatal(err) + } + if _, ok := excluded[103380210]; !ok || len(excluded) != 1 { + t.Fatalf("expected the captured unsupported mission to be excluded: %v", excluded) + } + + excluded, err = excludedSubMissionsForVersion(raw, "other-client") + if err != nil { + t.Fatal(err) + } + if len(excluded) != 0 { + t.Fatalf("mission exclusion leaked into another Client version: %v", excluded) + } +} + +func TestExcludedSubMissionsRejectInvalidResource(t *testing.T) { + for _, raw := range [][]byte{ + []byte(`{"unsupported_sub_mission_ids_by_client_version":{"4.6.53":[0]}}`), + []byte(`{"unsupported_sub_mission_ids_by_client_version":{"4.6.53":[103380210,103380210]}}`), + } { + if _, err := excludedSubMissionsForVersion(raw, "4.6.53"); err == nil { + t.Fatalf("invalid compatibility entry accepted: %s", raw) + } + } +} diff --git a/internal/gameserver/handlers_player.go b/internal/gameserver/handlers_player.go index e631522..d5f975a 100644 --- a/internal/gameserver/handlers_player.go +++ b/internal/gameserver/handlers_player.go @@ -1,6 +1,7 @@ package gameserver import ( + "fmt" "os" "path/filepath" "sort" @@ -14,7 +15,11 @@ func init() { // Client requires these when processing _CmdGetBasicInfoScRsp. handle("GetBasicInfo", func(s *Session, req *goproto.GetBasicInfoCsReq, rsp *goproto.GetBasicInfoScRsp) error { rsp.Retcode = 0 - rsp.Gender = 2 + player := s.JSON() + if player == nil { + return fmt.Errorf("GetBasicInfo requires player data") + } + rsp.Gender = uint32(player.MainCharacter.Gender()) rsp.IsGenderSet = true rsp.PlayerSettingInfo = &goproto.PlayerSettingInfo{ OJPAODIHAJE: &goproto.PNOLLIAKGDB{ @@ -35,11 +40,25 @@ func init() { }) handle("PlayerHeartBeat", func(s *Session, req *goproto.PlayerHeartBeatCsReq, rsp *goproto.PlayerHeartBeatScRsp) error { + if err := s.applyCurrencyWarsCommands(); err != nil { + PacketLog("CW_GM deferred: " + err.Error()) + } rsp.ClientTimeMs = req.ClientTimeMs rsp.ServerTimeMs = req.ClientTimeMs var finalData []byte finalData = append(finalData, heartbeatLua...) + if s.publicSDKURL != "" { + finalData = append(finalData, []byte("\n_G.__GAC_SRTOOL_LIVE_URL = "+luaQuotedString(s.publicSDKURL)+"\n")...) + } + profiles, err := loadNavigationProfiles() + if err != nil { + return err + } + finalData = append(finalData, profiles...) + if player := s.JSON(); player != nil { + finalData = append(finalData, []byte(fmt.Sprintf("\n_G.__GAC_NAVIGATION_CURRENT_ENTRY=%d\n", player.Scene.EntryID))...) + } if probe := s.takeBattleProbe(); len(probe) > 0 { finalData = append(finalData, '\n') finalData = append(finalData, probe...) @@ -100,28 +119,11 @@ func init() { return err } rsp.Retcode = 0 - rsp.CurrentHeadIconId = profile.Icons[0] - rsp.CurrentPersonalCardId = profile.CurrentPersonalCard - rsp.HeadFrameInfo = profile.HeadFrame - rsp.NBIEJKLENOB = &goproto.DisplayAvatarVec{IsDisplay: true} - rsp.Signature = "Trailblazer" - // PearlSR 005d2c1 GetPlayerBoardDataScRsp: field 4 is personal - // cards, field 8 is head icons, and field 9 is assist avatar IDs. - rsp.JJDDEKIAOFC = profile.PersonalCards - for _, id := range profile.Icons { - rsp.KNINLDPFLMA = append(rsp.KNINLDPFLMA, &goproto.HeadIconData{Id: id}) - } - if player := s.JSON(); player != nil { - for _, slot := range player.SortedLineupKeys() { - id := player.Lineups[slot] - if _, ok := player.Avatars[id]; !ok { - continue - } - rsp.KJAABDABLJJ = append(rsp.KJAABDABLJJ, id) - rsp.NBIEJKLENOB.DisplayAvatarList = append(rsp.NBIEJKLENOB.DisplayAvatarList, - &goproto.DisplayAvatarData{AvatarId: id, Pos: slot}) - } + player, err := profilePlayer(s) + if err != nil { + return err } + fillPlayerBoard(player, profile, rsp) SceneDebugLog("GET_PLAYER_BOARD_DATA sent") return nil }) @@ -132,12 +134,11 @@ func init() { return err } rsp.Retcode = 0 - rsp.CurPhoneTheme = profile.CurrentPhoneTheme - rsp.CurPhoneCase = profile.CurrentPhoneCase - rsp.CurChatBubble = profile.CurrentChatBubble - rsp.OwnedPhoneThemes = profile.PhoneThemes - rsp.OwnedPhoneCases = profile.PhoneCases - rsp.OwnedChatBubbles = profile.ChatBubbles + player, err := profilePlayer(s) + if err != nil { + return err + } + fillPhoneData(player, profile, rsp) SceneDebugLog("GET_PHONE_DATA sent") return nil }) @@ -157,9 +158,37 @@ const heartbeatLua = `local function beta_text() if gameObject then local textComponent = gameObject:GetComponentInChildren(typeof(CS.RPG.Client.LocalizedText)) if textComponent then - textComponent.text = "GaC hkrpg GO แล้วเรามาเกกันนะ" + textComponent.text = "GaC hkrpg GO แล้วเรามาเกกันนะ" end end end beta_text() ` + +func luaQuotedString(value string) string { + var out strings.Builder + out.Grow(len(value) + 2) + out.WriteByte('\'') + for _, r := range value { + switch r { + case '\\': + out.WriteString("\\\\") + case '\'': + out.WriteString("\\'") + case '\n': + out.WriteString("\\n") + case '\r': + out.WriteString("\\r") + case '\t': + out.WriteString("\\t") + default: + if r < 0x20 { + fmt.Fprintf(&out, "\\%03d", r) + } else { + out.WriteRune(r) + } + } + } + out.WriteByte('\'') + return out.String() +} diff --git a/internal/gameserver/handlers_profile.go b/internal/gameserver/handlers_profile.go new file mode 100644 index 0000000..22533e9 --- /dev/null +++ b/internal/gameserver/handlers_profile.go @@ -0,0 +1,259 @@ +package gameserver + +import ( + "fmt" + + "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" +) + +// Request/response layouts follow services/profile.zig and protocol.pb.zig at +// goproto.CommandSourceRevision. CSReq Go spellings below are legacy type names; +// handle resolves only the current CsReq command name, never numeric aliases. +func selectedProfileID(value *uint32, fallback uint32) uint32 { + if value != nil { + return *value + } + return fallback +} + +func saveProfile(player *common.FreesrData, next common.ProfileSettings) error { + previous := player.Profile + player.Profile = next + if err := player.SavePersistentChecked(); err != nil { + player.Profile = previous + return err + } + return nil +} + +func profilePlayer(s *Session) (*common.FreesrData, error) { + if p := s.JSON(); p != nil { + return p, nil + } + return nil, fmt.Errorf("profile command requires player data") +} + +func fillPhoneData(p *common.FreesrData, resource *profileResources, rsp *goproto.GetPhoneDataScRsp) { + rsp.CurPhoneTheme = selectedProfileID(p.Profile.PhoneTheme, resource.CurrentPhoneTheme) + rsp.CurPhoneCase = selectedProfileID(p.Profile.PhoneCase, resource.CurrentPhoneCase) + rsp.CurChatBubble = selectedProfileID(p.Profile.ChatBubble, resource.CurrentChatBubble) + rsp.OwnedPhoneThemes = resource.PhoneThemes + rsp.OwnedPhoneCases = resource.PhoneCases + rsp.OwnedChatBubbles = resource.ChatBubbles +} + +func fillPlayerBoard(p *common.FreesrData, resource *profileResources, rsp *goproto.GetPlayerBoardDataScRsp) { + rsp.CurrentHeadIconId = selectedProfileID(p.Profile.HeadIcon, resource.Icons[0]) + rsp.CurrentPersonalCardId = selectedProfileID(p.Profile.PersonalCard, resource.CurrentPersonalCard) + rsp.HeadFrameInfo = resource.HeadFrame + if p.Profile.Signature != nil { + rsp.Signature = *p.Profile.Signature + } + rsp.JJDDEKIAOFC = resource.PersonalCards + for _, id := range resource.Icons { + rsp.KNINLDPFLMA = append(rsp.KNINLDPFLMA, &goproto.HeadIconData{Id: id}) + } + rsp.NBIEJKLENOB = &goproto.DisplayAvatarVec{IsDisplay: true} + if p.Profile.IsDisplay != nil { + rsp.NBIEJKLENOB.IsDisplay = *p.Profile.IsDisplay + } + for _, slot := range p.SortedLineupKeys() { + id := p.Lineups[slot] + if p.Avatars[id] != nil { + rsp.KJAABDABLJJ = append(rsp.KJAABDABLJJ, id) + rsp.NBIEJKLENOB.DisplayAvatarList = append(rsp.NBIEJKLENOB.DisplayAvatarList, &goproto.DisplayAvatarData{AvatarId: id, Pos: slot}) + } + } + if p.Profile.DisplayAvatars != nil { + rsp.NBIEJKLENOB.DisplayAvatarList = nil + for _, av := range *p.Profile.DisplayAvatars { + rsp.NBIEJKLENOB.DisplayAvatarList = append(rsp.NBIEJKLENOB.DisplayAvatarList, &goproto.DisplayAvatarData{AvatarId: av.AvatarID, Pos: av.Pos}) + } + } + if p.Profile.AssistAvatars != nil { + rsp.KJAABDABLJJ = append([]uint32{}, (*p.Profile.AssistAvatars)...) + } +} + +func init() { + handle("SelectPhoneTheme", func(s *Session, req *goproto.SelectPhoneThemeCsReq, rsp *goproto.SelectPhoneThemeScRsp) error { + p, err := profilePlayer(s) + if err != nil { + return err + } + resource, err := loadProfileResources() + if err != nil { + return err + } + if req.ThemeId != resource.CurrentPhoneTheme && !containsU32(resource.PhoneThemes, req.ThemeId) { + rsp.Retcode = uint32(goproto.Retcode_RET_ITEM_NOT_EXIST) + return nil + } + next := p.Profile + next.PhoneTheme = &req.ThemeId + if err := saveProfile(p, next); err != nil { + return err + } + rsp.CurPhoneTheme = req.ThemeId + return nil + }) + handle("SelectPhoneCase", func(s *Session, req *goproto.SelectPhoneCaseCSReq, rsp *goproto.SelectPhoneCaseScRsp) error { + p, err := profilePlayer(s) + if err != nil { + return err + } + resource, err := loadProfileResources() + if err != nil { + return err + } + if !containsU32(resource.PhoneCases, req.PhoneCaseId) { + rsp.Retcode = uint32(goproto.Retcode_RET_ITEM_NOT_EXIST) + return nil + } + next := p.Profile + next.PhoneCase = &req.PhoneCaseId + if err := saveProfile(p, next); err != nil { + return err + } + rsp.CurPhoneCase = req.PhoneCaseId + return nil + }) + handle("SelectChatBubble", func(s *Session, req *goproto.SelectChatBubbleCsReq, rsp *goproto.SelectChatBubbleScRsp) error { + p, err := profilePlayer(s) + if err != nil { + return err + } + resource, err := loadProfileResources() + if err != nil { + return err + } + if req.BubbleId != resource.CurrentChatBubble && !containsU32(resource.ChatBubbles, req.BubbleId) { + rsp.Retcode = uint32(goproto.Retcode_RET_ITEM_NOT_EXIST) + return nil + } + next := p.Profile + next.ChatBubble = &req.BubbleId + if err := saveProfile(p, next); err != nil { + return err + } + rsp.CurChatBubble = req.BubbleId + return nil + }) + handle("SetHeadIcon", func(s *Session, req *goproto.SetHeadIconCsReq, rsp *goproto.SetHeadIconScRsp) error { + p, err := profilePlayer(s) + if err != nil { + return err + } + resource, err := loadProfileResources() + if err != nil { + return err + } + if !containsU32(resource.Icons, req.Id) { + rsp.Retcode = uint32(goproto.Retcode_RET_ITEM_NOT_EXIST) + return nil + } + next := p.Profile + next.HeadIcon = &req.Id + if err := saveProfile(p, next); err != nil { + return err + } + rsp.CurrentHeadIconId = req.Id + return nil + }) + handle("SetPersonalCard", func(s *Session, req *goproto.SetPersonalCardCSReq, rsp *goproto.SetPersonalCardScRsp) error { + p, err := profilePlayer(s) + if err != nil { + return err + } + resource, err := loadProfileResources() + if err != nil { + return err + } + if !containsU32(resource.PersonalCards, req.Id) { + rsp.Retcode = uint32(goproto.Retcode_RET_ITEM_NOT_EXIST) + return nil + } + next := p.Profile + next.PersonalCard = &req.Id + if err := saveProfile(p, next); err != nil { + return err + } + rsp.CurrentPersonalCardId = req.Id + return nil + }) + handle("SetSignature", func(s *Session, req *goproto.SetSignatureCsReq, rsp *goproto.SetSignatureScRsp) error { + p, err := profilePlayer(s) + if err != nil { + return err + } + next := p.Profile + next.Signature = &req.Signature + if err := saveProfile(p, next); err != nil { + return err + } + rsp.Signature = req.Signature + return nil + }) + handle("SetIsDisplayAvatarInfo", func(s *Session, req *goproto.SetIsDisplayAvatarInfoCsReq, rsp *goproto.SetIsDisplayAvatarInfoScRsp) error { + p, err := profilePlayer(s) + if err != nil { + return err + } + next := p.Profile + next.IsDisplay = &req.IsDisplay + if err := saveProfile(p, next); err != nil { + return err + } + rsp.IsDisplay = req.IsDisplay + return nil + }) + handle("SetDisplayAvatar", func(s *Session, req *goproto.SetDisplayAvatarCsReq, rsp *goproto.SetDisplayAvatarScRsp) error { + p, err := profilePlayer(s) + if err != nil { + return err + } + list := make([]common.ProfileAvatar, 0, len(req.DisplayAvatarList)) + positions, avatars := map[uint32]bool{}, map[uint32]bool{} + for _, av := range req.DisplayAvatarList { + if av == nil || p.Avatars[av.AvatarId] == nil || positions[av.Pos] || avatars[av.AvatarId] { + rsp.Retcode = uint32(goproto.Retcode_RET_AVATAR_NOT_EXIST) + return nil + } + positions[av.Pos], avatars[av.AvatarId] = true, true + list = append(list, common.ProfileAvatar{AvatarID: av.AvatarId, Pos: av.Pos}) + } + next := p.Profile + next.DisplayAvatars = &list + if err := saveProfile(p, next); err != nil { + return err + } + rsp.DisplayAvatarList = req.DisplayAvatarList + return nil + }) + handle("SetAssistAvatar", func(s *Session, req *goproto.SetAssistAvatarCsReq, rsp *goproto.SetAssistAvatarScRsp) error { + p, err := profilePlayer(s) + if err != nil { + return err + } + list := append([]uint32{}, req.AvatarIdList...) + if req.AvatarId != 0 && !containsU32(list, req.AvatarId) { + list = append(list, req.AvatarId) + } + seen := map[uint32]bool{} + for _, id := range list { + if p.Avatars[id] == nil || seen[id] { + rsp.Retcode = uint32(goproto.Retcode_RET_AVATAR_NOT_EXIST) + return nil + } + seen[id] = true + } + next := p.Profile + next.AssistAvatars = &list + if err := saveProfile(p, next); err != nil { + return err + } + rsp.AvatarId, rsp.AvatarIdList = req.AvatarId, req.AvatarIdList + return nil + }) +} diff --git a/internal/gameserver/handlers_recommend.go b/internal/gameserver/handlers_recommend.go new file mode 100644 index 0000000..a16c0ae --- /dev/null +++ b/internal/gameserver/handlers_recommend.go @@ -0,0 +1,158 @@ +package gameserver + +import ( + "encoding/json" + "fmt" + "path/filepath" + "strings" + "sync" + + "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" +) + +type prydwenEndgameSnapshot struct { + Source struct { + DatasetVersion string `json:"dataset_version"` + ChallengeVersion string `json:"challenge_version"` + ChallengeName string `json:"challenge_name"` + } `json:"source"` + AvatarAliases map[string]string `json:"avatar_aliases"` + Mode string `json:"mode"` + Floor uint32 `json:"floor"` + Stages []struct { + Stage uint32 `json:"stage"` + Rank uint32 `json:"rank"` + Characters []string `json:"characters"` + } `json:"stages"` +} + +type prydwenAvatarResource struct { + ID uint32 `json:"AvatarID"` + VOTag string `json:"AvatarVOTag"` + ConfigPath string `json:"JsonPath"` +} + +var ( + prydwenOnce sync.Once + prydwenLineups []*goproto.ChallengeLineupList + prydwenLoadErr error +) + +func normalizedAvatarName(name string) string { + name = strings.ToLower(name) + return strings.Map(func(r rune) rune { + if (r >= 'a' && r <= 'z') || (r >= '0' && r <= '9') { + return r + } + return -1 + }, name) +} + +func loadPrydwenLineups() ([]*goproto.ChallengeLineupList, error) { + prydwenOnce.Do(func() { + prydwenLineups, prydwenLoadErr = readPrydwenLineups() + }) + return prydwenLineups, prydwenLoadErr +} + +func readPrydwenLineups() ([]*goproto.ChallengeLineupList, error) { + raw, err := common.ReadResourceFile("resources/PrydwenEndgameTeams.json") + if err != nil { + return nil, fmt.Errorf("read Prydwen endgame team snapshot: %w", err) + } + var snapshot prydwenEndgameSnapshot + if err := json.Unmarshal(raw, &snapshot); err != nil { + return nil, fmt.Errorf("parse Prydwen endgame team snapshot: %w", err) + } + if snapshot.Mode != "moc" || snapshot.Floor == 0 || len(snapshot.Stages) == 0 { + return nil, fmt.Errorf("Prydwen endgame team snapshot has no supported MoC floor") + } + + avatarRaw, err := common.ReadResourceFile("resources/AvatarConfig.json") + if err != nil { + return nil, fmt.Errorf("read Client AvatarConfig resource: %w", err) + } + var avatarTable struct { + Entries []prydwenAvatarResource `json:"avatar_config"` + } + if err := json.Unmarshal(avatarRaw, &avatarTable); err != nil { + return nil, fmt.Errorf("parse Client AvatarConfig resource: %w", err) + } + avatarIDs := make(map[string]uint32, len(avatarTable.Entries)*2) + for _, avatar := range avatarTable.Entries { + if avatar.ID == 0 { + continue + } + if tag := normalizedAvatarName(avatar.VOTag); tag != "" { + avatarIDs[tag] = avatar.ID + } + pathName := strings.TrimSuffix(filepath.Base(avatar.ConfigPath), filepath.Ext(avatar.ConfigPath)) + pathName = strings.TrimSuffix(strings.TrimPrefix(pathName, "Avatar_"), "_Config") + if pathName = normalizedAvatarName(pathName); pathName != "" { + avatarIDs[pathName] = avatar.ID + } + } + + lineups := make([]*goproto.ChallengeLineupList, 0, len(snapshot.Stages)) + seenStages := map[uint32]bool{} + for _, stage := range snapshot.Stages { + if stage.Stage == 0 || seenStages[stage.Stage] || len(stage.Characters) != 4 { + return nil, fmt.Errorf("invalid Prydwen MoC stage %d team size/order", stage.Stage) + } + seenStages[stage.Stage] = true + avatars := make([]*goproto.ChallengeAvatarInfo, 0, len(stage.Characters)) + for index, slug := range stage.Characters { + resourceTag := snapshot.AvatarAliases[slug] + if resourceTag == "" { + resourceTag = slug + } + id := avatarIDs[normalizedAvatarName(resourceTag)] + if id == 0 { + return nil, fmt.Errorf("Prydwen avatar %q has no ID in Client AvatarConfig", slug) + } + avatars = append(avatars, &goproto.ChallengeAvatarInfo{ + AvatarType: goproto.AvatarType_AVATAR_FORMAL_TYPE, + Id: id, + Index: uint32(index), + }) + } + lineups = append(lineups, &goproto.ChallengeLineupList{AvatarList: avatars}) + } + return lineups, nil +} + +func buildPrydwenRecommendResponse(req *goproto.GetFriendRecommendLineupCsReq) (*goproto.GetFriendRecommendLineupScRsp, error) { + lineups, err := loadPrydwenLineups() + if err != nil { + return nil, err + } + return &goproto.GetFriendRecommendLineupScRsp{ + Key: req.Key, + Type: req.Type, + MGKCKHIIICL: []*goproto.FPDCINMDJCE{{ + KJFEKHDEBIK: &goproto.FPDCINMDJCE_NHKCFOALAPD{ + NHKCFOALAPD: &goproto.OJJJDPNOKHG{LineupList: lineups}, + }, + }}, + }, nil +} + +func init() { + handle("GetFriendRecommendLineup", func(_ *Session, req *goproto.GetFriendRecommendLineupCsReq, rsp *goproto.GetFriendRecommendLineupScRsp) error { + // Preserve request context. The game UI asks this endpoint for the + // recommendation panel; an empty auto-response left the panel blank. + response, err := buildPrydwenRecommendResponse(req) + if err != nil { + Log(fmt.Sprintf("[RECOMMEND] Prydwen data unavailable type=%s key=%d: %v", req.Type, req.Key, err)) + return nil + } + rsp.Key = response.Key + rsp.Type = response.Type + rsp.MGKCKHIIICL = response.MGKCKHIIICL + rsp.Retcode = response.Retcode + rsp.ALDBIIIGLOM = response.ALDBIIIGLOM + Log(fmt.Sprintf("[RECOMMEND] served Prydwen MoC teams type=%s key=%d stages=%d", req.Type, req.Key, len(response.MGKCKHIIICL[0].GetNHKCFOALAPD().LineupList))) + return nil + }) +} diff --git a/internal/gameserver/handlers_recommend_test.go b/internal/gameserver/handlers_recommend_test.go new file mode 100644 index 0000000..4785ebd --- /dev/null +++ b/internal/gameserver/handlers_recommend_test.go @@ -0,0 +1,69 @@ +package gameserver + +import ( + "testing" + + "google.golang.org/protobuf/proto" + + goproto "gac-hkrpg-go/protocol/proto" +) + +func TestReadPrydwenLineupsUseCurrentClientAvatarResources(t *testing.T) { + lineups, err := readPrydwenLineups() + if err != nil { + t.Fatal(err) + } + if len(lineups) != 3 { + t.Fatalf("want 3 MoC stage teams, got %d", len(lineups)) + } + for stage, lineup := range lineups { + if len(lineup.GetAvatarList()) != 4 { + t.Fatalf("stage %d: want 4 avatars, got %d", stage+1, len(lineup.GetAvatarList())) + } + seen := map[uint32]bool{} + for slot, avatar := range lineup.GetAvatarList() { + if avatar.GetId() == 0 || avatar.GetAvatarType() != goproto.AvatarType_AVATAR_FORMAL_TYPE { + t.Fatalf("stage %d slot %d has invalid avatar resource: %v", stage+1, slot, avatar) + } + if seen[avatar.GetId()] { + t.Fatalf("stage %d repeats AvatarID %d", stage+1, avatar.GetId()) + } + seen[avatar.GetId()] = true + if avatar.GetIndex() != uint32(slot) { + t.Fatalf("stage %d slot %d has index %d", stage+1, slot, avatar.GetIndex()) + } + } + } +} + +func TestBuildPrydwenRecommendResponsePreservesRequestAndLineups(t *testing.T) { + req := &goproto.GetFriendRecommendLineupCsReq{ + Type: goproto.JFNJKAPPNOF_JFNJKAPPNOF_JHOEBNNMKHB, + Key: 101201, + } + rsp, err := buildPrydwenRecommendResponse(req) + if err != nil { + t.Fatal(err) + } + if rsp.GetType() != req.GetType() || rsp.GetKey() != req.GetKey() { + t.Fatalf("response context does not match request: req=%v rsp=%v", req, rsp) + } + if len(rsp.GetMGKCKHIIICL()) != 1 { + t.Fatalf("want one Prydwen recommendation group, got %d", len(rsp.GetMGKCKHIIICL())) + } + payload := rsp.GetMGKCKHIIICL()[0].GetNHKCFOALAPD() + if payload == nil || len(payload.GetLineupList()) != 3 { + t.Fatalf("want three stage lineups in the protocol recommendation oneof, got %v", payload) + } + encoded, err := proto.Marshal(rsp) + if err != nil { + t.Fatal(err) + } + var decoded goproto.GetFriendRecommendLineupScRsp + if err := proto.Unmarshal(encoded, &decoded); err != nil { + t.Fatal(err) + } + if len(decoded.GetMGKCKHIIICL()[0].GetNHKCFOALAPD().GetLineupList()) != 3 { + t.Fatal("wire round-trip lost recommended teams") + } +} diff --git a/internal/gameserver/handlers_scene.go b/internal/gameserver/handlers_scene.go index c371359..0d5b667 100644 --- a/internal/gameserver/handlers_scene.go +++ b/internal/gameserver/handlers_scene.go @@ -136,6 +136,16 @@ func parsePlaneFloor(name string) (uint32, uint32, error) { } func init() { + handle("SetTrainWorldId", func(s *Session, req *goproto.SetTrainWorldIdCsReq, rsp *goproto.SetTrainWorldIdScRsp) error { + // The default unknown-request path sends an empty response. The Client + // expects the selected train world ID in this response before it enters + // Train-plane scenes. + rsp.Retcode = 0 + rsp.TrainWorldId = req.TrainWorldId + SceneDebugLog("SET_TRAIN_WORLD_ID interact_id=%d world_id=%d", req.InteractId, req.TrainWorldId) + return nil + }) + handle("GetCurSceneInfo", func(s *Session, req *goproto.GetCurSceneInfoCsReq, rsp *goproto.GetCurSceneInfoScRsp) error { player := s.JSON() if player == nil { @@ -280,6 +290,20 @@ func init() { teleportID = &v } + // Map checkpoints may name the Mission entrance even when a Town + // entrance exists on the same floor. Route only checkpoint teleports; + // direct story entries and scripted prop interactions keep their entry. + if teleportID != nil && *teleportID != 0 && interactID == 0 && !mapHasEntry(res, req.EntryId) { + floorID := res.MapEntrances[resolvedEntry].FloorID + if floorID == 0 && sceneIdent != nil { + floorID = sceneIdent.FloorId + } + if target := res.MapTeleportEntrances[floorID]; target != 0 { + SceneDebugLog("MAP_TELEPORT_ENTRY requested=%d resolved=%d floor=%d teleport=%d", resolvedEntry, target, floorID, *teleportID) + resolvedEntry = target + } + } + sceneInfo, err := loadScene(s, resolvedEntry, true, false, teleportID, sceneIdent) if err != nil { SceneDebugLog("ENTER_SCENE_FAILED requested_entry=%d resolved_entry=%d err=%v", req.EntryId, resolvedEntry, err) @@ -377,12 +401,19 @@ func init() { // resolve the floor's entry directly (mapDefaultEntranceMap covers // only 115/371 floors - new-region maps were left with no unlocked // teleports, which locked the pillars) - if entryID := findEntryForFloor(res, floorID); entryID != 0 { + entryID := findEntryForFloor(res, floorID) + if player := s.JSON(); player != nil { + current := res.MapEntrances[player.Scene.EntryID] + if current.FloorID == floorID && mapHasEntry(res, player.Scene.EntryID) { + entryID = player.Scene.EntryID + } + } + if entryID != 0 { if _, cfg, ok := firstSceneOfEntry(res, entryID); ok { groupIDs := sortedU32Keys2(cfg.Scenes) for _, groupID := range groupIDs { group := cfg.Scenes[groupID] - mapInfo.GroupList = append(mapInfo.GroupList, &goproto.MapInfoGroup{GroupId: groupID}) + mapInfo.GroupList = append(mapInfo.GroupList, &goproto.MapInfoGroup{GroupId: groupID, PropertyMap: s.sceneGroupProperties(floorID, groupID, cfg.GroupProperties[groupID])}) for tp := range group.Teleports { mapInfo.UnlockedTeleportList = append(mapInfo.UnlockedTeleportList, tp) @@ -396,6 +427,14 @@ func init() { } } mapInfo.LightenSectionList = cfg.Sections + // Client-owned groups still have saved properties used by navmap + // conditions. Include data without spawning their entities. + for _, groupID := range sortedU32Keys2(cfg.GroupProperties) { + if _, exists := cfg.Scenes[groupID]; exists { + continue + } + mapInfo.GroupList = append(mapInfo.GroupList, &goproto.MapInfoGroup{GroupId: groupID, PropertyMap: s.sceneGroupProperties(floorID, groupID, cfg.GroupProperties[groupID])}) + } if cfg.SavedValues != nil { mapInfo.FloorSavedData = cfg.SavedValues } @@ -794,6 +833,24 @@ func loadScene(s *Session, entryID uint32, isEnterScene, sendNotify bool, telepo return nil, err } + var cwEntrance *common.CurrencyWarsEntrance + cwCatalog, err := common.LoadCurrencyWarsCatalog() + if err != nil { + return nil, err + } + if cwCatalog.Entrance.EntryID == entryID { + catalog := cwCatalog + if catalog.Entrance.PlaneID != planeID || catalog.Entrance.FloorID != floorID { + return nil, fmt.Errorf("CW entrance scene differs from captured start anchor") + } + if isEnterScene && teleportID == nil { + cwEntrance = &catalog.Entrance + } + scene, err = currencyWarsEntranceScene(scene, catalog.Entrance) + if err != nil { + return nil, err + } + } jsonPos := player.Position if teleportID != nil { found := false @@ -827,6 +884,13 @@ func loadScene(s *Session, entryID uint32, isEnterScene, sendNotify bool, telepo } } SceneDebugLog("LOAD_SCENE_TELEPORT entry_id=%d config=%s floor_id=%d teleport_id=%d matched=%t pos=(%d,%d,%d)", entryID, name, floorID, *teleportID, found, jsonPos.X, jsonPos.Y, jsonPos.Z) + } else if cwEntrance != nil { + anchor := cwEntrance.Anchor + jsonPos.X, jsonPos.Y, jsonPos.Z, jsonPos.RotY = anchor.Pos.X, anchor.Pos.Y, anchor.Pos.Z, anchor.Rot.Y + SceneDebugLog("CW_ENTRANCE_SPAWN entry=%d floor=%d group=%d anchor=%d pos=(%d,%d,%d)", entryID, floorID, cwEntrance.StartGroupID, anchor.ID, anchor.Pos.X, anchor.Pos.Y, anchor.Pos.Z) + } else if anchor, ok := sceneEntranceAnchor(res, entryID, floorID); isEnterScene && ok { + jsonPos.X, jsonPos.Y, jsonPos.Z, jsonPos.RotY = anchor.Pos.X, anchor.Pos.Y, anchor.Pos.Z, anchor.Rot.Y + SceneDebugLog("ENTRANCE_ANCHOR_SPAWN entry=%d floor=%d group=%d anchor=%d pos=(%d,%d,%d)", entryID, floorID, res.MapEntrances[entryID].StartGroupID, anchor.ID, anchor.Pos.X, anchor.Pos.Y, anchor.Pos.Z) } else if isEnterScene || jsonPos.Y < -5000 { // first teleport in the scene, else the teleport DB, else spawn near the first prop var firstTP *common.TeleportInfo @@ -893,6 +957,7 @@ func loadScene(s *Session, entryID uint32, isEnterScene, sendNotify bool, telepo } sceneInfo := &goproto.SceneInfo{ + DimensionId: scene.DimensionID, FloorId: floorID, PlaneId: planeID, EntryId: entryID, @@ -931,20 +996,22 @@ func loadScene(s *Session, entryID uint32, isEnterScene, sendNotify bool, telepo monsterEntityID := uint32(30000) s.PropEntities = map[uint32]PropEntry{} + s.CurrentSceneFloor = floorID s.MonsterEntities = map[uint32]uint32{} + s.SceneMonsterIdentities = map[uint32]sceneMonsterIdentity{} s.ChallengeStageID = 0 s.ChallengeBattleConfig = nil s.ChallengeRun = nil for _, groupID := range sortedU32Keys2(scene.Scenes) { group := scene.Scenes[groupID] - groupInfo := &goproto.SceneEntityGroupInfo{State: 1, GroupId: groupID} + groupInfo := &goproto.SceneEntityGroupInfo{State: 1, GroupId: groupID, PropertyMap: s.sceneGroupProperties(floorID, groupID, scene.GroupProperties[groupID])} // props for i := range group.Props { prop := &group.Props[i] propEntityID++ - s.PropEntities[propEntityID] = PropEntry{PropID: prop.PropID, InstID: prop.InstID, State: prop.PropState} + s.PropEntities[propEntityID] = PropEntry{GroupID: prop.GroupID, PropID: prop.PropID, InstID: prop.InstID, State: prop.PropState} groupInfo.EntityList = append(groupInfo.EntityList, &goproto.SceneEntityInfo{ InstId: prop.InstID, @@ -985,6 +1052,7 @@ func loadScene(s *Session, entryID uint32, isEnterScene, sendNotify bool, telepo monster := &group.Monsters[i] monsterEntityID++ s.MonsterEntities[monsterEntityID] = monster.EventID + s.SceneMonsterIdentities[monsterEntityID] = sceneMonsterIdentity{MonsterID: monster.MonsterID, GroupID: monster.GroupID} groupInfo.EntityList = append(groupInfo.EntityList, &goproto.SceneEntityInfo{ InstId: monster.InstID, @@ -995,7 +1063,7 @@ func loadScene(s *Session, entryID uint32, isEnterScene, sendNotify bool, telepo NpcMonster: &goproto.SceneNpcMonsterInfo{ MonsterId: monster.MonsterID, EventId: monster.EventID, - WorldLevel: 6, + WorldLevel: playerWorldLevel, }, }, }) @@ -1026,7 +1094,7 @@ func loadScene(s *Session, entryID uint32, isEnterScene, sendNotify bool, telepo AvatarType: goproto.AvatarType_AVATAR_FORMAL_TYPE, BaseAvatarId: avatarID, MapLayer: 0, - Uid: 25, + Uid: playerUID, }, }, }) @@ -1042,6 +1110,9 @@ func loadScene(s *Session, entryID uint32, isEnterScene, sendNotify bool, telepo sceneInfo.LeaderEntityId = s.leaderSlot + 1 sceneInfo.EntityGroupList = append(sceneInfo.EntityGroupList, playerGroup) SceneDebugLog("[SCENE] entry=%d floor=%d plane=%d world=%d mode=%d savedValues=%d groups=%v", entryID, floorID, planeID, sceneInfo.WorldId, sceneInfo.GameModeType, len(sceneInfo.FloorSavedData), sortedU32Keys2(scene.Scenes)) + if res.MapTeleportEntrances[floorID] != 0 { + SceneDebugLog("SCENE_SAVED_VALUES entry=%d floor=%d values=%v", entryID, floorID, sceneInfo.FloorSavedData) + } if isEnterScene { // in-memory only: the scene is persisted by SceneEntityMove once the diff --git a/internal/gameserver/inventory_items.go b/internal/gameserver/inventory_items.go new file mode 100644 index 0000000..f67221e --- /dev/null +++ b/internal/gameserver/inventory_items.go @@ -0,0 +1,306 @@ +package gameserver + +import ( + "encoding/json" + "fmt" + "sort" + "sync" + + "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" +) + +type inventoryItemResource struct { + ItemIDs []uint32 `json:"item_ids"` + Lightcones []struct { + ID uint32 `json:"id"` + MaxRank uint32 `json:"max_rank"` + } `json:"lightcones"` + Relics []struct { + RelicID uint32 `json:"relic_id"` + RelicSetID uint32 `json:"relic_set_id"` + MainAffixID uint32 `json:"main_affix_id"` + SubAffixes []struct { + SubAffixID uint32 `json:"sub_affix_id"` + Count uint32 `json:"count"` + Step uint32 `json:"step"` + } `json:"sub_affixes"` + } `json:"relics"` +} + +var inventoryItemsOnce sync.Once +var inventoryItems []uint32 +var inventoryCatalog inventoryItemResource +var inventoryRelicIDs map[uint32]struct{} +var inventoryItemsErr error + +func loadInventoryItems() ([]uint32, error) { + inventoryItemsOnce.Do(func() { + raw, err := common.ReadResourceFile("resources/InventoryItemConfig.json", "InventoryItemConfig.json") + if err != nil { + inventoryItemsErr = err + return + } + var resource inventoryItemResource + if err := json.Unmarshal(raw, &resource); err != nil { + inventoryItemsErr = err + return + } + if len(resource.ItemIDs) == 0 || len(resource.Lightcones) == 0 || len(resource.Relics) == 0 { + inventoryItemsErr = fmt.Errorf("inventory item resource is incomplete") + return + } + seen := make(map[uint32]bool, len(resource.ItemIDs)) + for _, id := range resource.ItemIDs { + if id == 0 || seen[id] { + inventoryItemsErr = fmt.Errorf("invalid or duplicate inventory item id %d", id) + return + } + seen[id] = true + } + seenLightcones := make(map[uint32]bool, len(resource.Lightcones)) + for _, lc := range resource.Lightcones { + if lc.ID == 0 || lc.MaxRank == 0 || seenLightcones[lc.ID] { + inventoryItemsErr = fmt.Errorf("invalid or duplicate Light Cone %d in inventory item resource", lc.ID) + return + } + seenLightcones[lc.ID] = true + } + seenRelics := make(map[uint32]struct{}, len(resource.Relics)) + for _, relic := range resource.Relics { + if relic.RelicID == 0 || relic.RelicSetID == 0 || relic.MainAffixID == 0 || len(relic.SubAffixes) != 4 { + inventoryItemsErr = fmt.Errorf("invalid or duplicate Relic %d in inventory item resource", relic.RelicID) + return + } + if _, exists := seenRelics[relic.RelicID]; exists { + inventoryItemsErr = fmt.Errorf("invalid or duplicate Relic %d in inventory item resource", relic.RelicID) + return + } + seenRelics[relic.RelicID] = struct{}{} + } + inventoryCatalog = resource + inventoryRelicIDs = seenRelics + inventoryItems = resource.ItemIDs + }) + if inventoryItemsErr != nil { + return nil, fmt.Errorf("load inventory item resource: %w", inventoryItemsErr) + } + return inventoryItems, nil +} + +func supportedRelicIDs() (map[uint32]struct{}, error) { + if _, err := loadInventoryItems(); err != nil { + return nil, err + } + return inventoryRelicIDs, nil +} + +func filterSupportedRelics(relics []*common.Relic, supported map[uint32]struct{}) []*common.Relic { + filtered := make([]*common.Relic, 0, len(relics)) + for _, relic := range relics { + if relic == nil { + continue + } + if _, ok := supported[relic.RelicID]; ok { + filtered = append(filtered, relic) + } + } + return filtered +} + +func supportedRelicsForAvatar(player *common.FreesrData, avatarID uint32) ([]*common.Relic, error) { + supported, err := supportedRelicIDs() + if err != nil { + return nil, err + } + return filterSupportedRelics(player.FindRelicsFor(avatarID), supported), nil +} + +func supportedProtoRelics(relics []common.Relic) ([]*goproto.Relic, int, error) { + supported, err := supportedRelicIDs() + if err != nil { + return nil, 0, err + } + result := make([]*goproto.Relic, 0, len(relics)) + omitted := 0 + for i := range relics { + if _, ok := supported[relics[i].RelicID]; !ok { + omitted++ + continue + } + result = append(result, relics[i].ToProtoRelic()) + } + return result, omitted, nil +} + +// ensureCatalogLightcones makes each client-configured Light Cone available as +// an unassigned level-1 copy while keeping existing copies and their ownership. +func ensureCatalogLightcones(player *common.FreesrData) error { + if _, err := loadInventoryItems(); err != nil { + return err + } + usedItems := make(map[uint32]bool, len(player.Lightcones)) + usedUIDs := make(map[uint32]bool, len(player.Lightcones)) + var nextUID uint32 + for _, item := range player.Lightcones { + usedItems[item.ItemID] = true + usedUIDs[item.InternalUID] = true + if item.InternalUID >= nextUID { + if item.InternalUID == ^uint32(0) { + return fmt.Errorf("cannot allocate a Light Cone inventory UID") + } + nextUID = item.InternalUID + 1 + } + } + var additions []common.Lightcone + for _, item := range inventoryCatalog.Lightcones { + if usedItems[item.ID] { + continue + } + for usedUIDs[nextUID] { + if nextUID == ^uint32(0) { + return fmt.Errorf("cannot allocate a Light Cone inventory UID") + } + nextUID++ + } + additions = append(additions, common.Lightcone{ + ItemID: item.ID, InternalUID: nextUID, Level: 1, Promotion: 0, Rank: 1, + }) + usedItems[item.ID] = true + usedUIDs[nextUID] = true + if nextUID == ^uint32(0) { + return fmt.Errorf("cannot allocate a Light Cone inventory UID") + } + nextUID++ + } + if err := common.SaveNewLightcones(additions); err != nil { + return err + } + player.Lightcones = append(player.Lightcones, additions...) + return nil +} + +// ensureCatalogRelics makes each Client-configured Relic type available as an +// unassigned instance with affixes validated against its own config groups. +func ensureCatalogRelics(player *common.FreesrData) error { + if _, err := loadInventoryItems(); err != nil { + return err + } + usedRelics := make(map[uint32]bool, len(player.Relics)) + usedUIDs := make(map[uint32]bool, len(player.Relics)) + var nextUID uint32 + for _, item := range player.Relics { + usedRelics[item.RelicID] = true + usedUIDs[item.InternalUID] = true + if item.InternalUID >= nextUID { + if item.InternalUID == ^uint32(0) { + return fmt.Errorf("cannot allocate a Relic inventory UID") + } + nextUID = item.InternalUID + 1 + } + } + var additions []common.Relic + for _, item := range inventoryCatalog.Relics { + if usedRelics[item.RelicID] { + continue + } + for usedUIDs[nextUID] { + if nextUID == ^uint32(0) { + return fmt.Errorf("cannot allocate a Relic inventory UID") + } + nextUID++ + } + relic := common.Relic{ + RelicID: item.RelicID, RelicSetID: item.RelicSetID, + MainAffixID: item.MainAffixID, InternalUID: nextUID, + SubAffixes: make([]common.SubAffix, 0, len(item.SubAffixes)), + } + for _, sub := range item.SubAffixes { + relic.SubAffixes = append(relic.SubAffixes, common.SubAffix{ + SubAffixID: sub.SubAffixID, Count: sub.Count, Step: sub.Step, + }) + } + additions = append(additions, relic) + usedRelics[item.RelicID] = true + usedUIDs[nextUID] = true + if nextUID == ^uint32(0) { + return fmt.Errorf("cannot allocate a Relic inventory UID") + } + nextUID++ + } + if err := common.SaveNewRelics(additions); err != nil { + return err + } + player.Relics = append(player.Relics, additions...) + return nil +} + +func bagMaterials(player *common.FreesrData) ([]*goproto.Material, error) { + itemIDs, err := loadInventoryItems() + if err != nil { + return nil, err + } + counts := make(map[uint32]uint32, len(itemIDs)+64) + for _, id := range itemIDs { + counts[id] = 1 + } + counts[1] = 9999999 // Stellar Jade + counts[2] = 99999999 // Credit + counts[101] = 999999 // Normal Pass + counts[102] = 999999 // Special Pass + + eidolon, err := eidolonMaterials(player) + if err != nil { + return nil, err + } + for _, item := range eidolon { + // A completed rank/EX grant is zero, including when the general + // inventory catalog also contains this item. + counts[item.Tid] = item.Num + } + foods, err := techniqueMaterials(player) + if err != nil { + return nil, err + } + for _, item := range foods { + if item.Num > 0 { + counts[item.Tid] = item.Num + } + } + cosmetics, err := common.LoadPlayerCosmetics() + if err != nil { + return nil, err + } + for _, item := range cosmetics.OutfitItems { + if item.OwnedCount > 0 { + counts[item.ItemID] = item.OwnedCount + } + } + // Explicit inventory edits from GaC Srtool are authoritative over generated + // defaults and progression grants. Keeping zero values lets users remove an + // item from the bag without deleting its catalog entry. + allowed := make(map[uint32]bool, len(itemIDs)+2) + allowed[1], allowed[2] = true, true + for _, id := range itemIDs { + allowed[id] = true + } + for _, item := range eidolon { + allowed[item.Tid] = true + } + for id, count := range player.Materials { + if allowed[id] { + counts[id] = count + } + } + + ids := make([]uint32, 0, len(counts)) + for id := range counts { + ids = append(ids, id) + } + sort.Slice(ids, func(i, j int) bool { return ids[i] < ids[j] }) + materials := make([]*goproto.Material, 0, len(ids)) + for _, id := range ids { + materials = append(materials, &goproto.Material{Tid: id, Num: counts[id]}) + } + return materials, nil +} diff --git a/internal/gameserver/inventory_items_test.go b/internal/gameserver/inventory_items_test.go new file mode 100644 index 0000000..dbd8eaa --- /dev/null +++ b/internal/gameserver/inventory_items_test.go @@ -0,0 +1,67 @@ +package gameserver + +import ( + "testing" + + "gac-hkrpg-go/internal/common" +) + +func TestClientRelicCatalogFiltersUnsupportedInventoryEntries(t *testing.T) { + chdirRepositoryRoot(t) + if _, err := loadInventoryItems(); err != nil { + t.Fatal(err) + } + if len(inventoryCatalog.Relics) == 0 { + t.Fatal("Relic catalog is empty") + } + validID := inventoryCatalog.Relics[0].RelicID + for _, relic := range inventoryCatalog.Relics { + if relic.RelicID/10000 >= 7 && relic.RelicID/10000 <= 9 { + t.Fatalf("synthetic Relic ID %d appears in the Client catalog", relic.RelicID) + } + } + + got, omitted, err := supportedProtoRelics([]common.Relic{ + {RelicID: validID, InternalUID: 1}, + {RelicID: 71011, InternalUID: 2}, + {RelicID: 63295, InternalUID: 3}, + }) + if err != nil { + t.Fatal(err) + } + if len(got) != 1 || got[0].Tid != validID || omitted != 2 { + t.Fatalf("filtered Relics = %+v, omitted %d; want only Client-supported ID %d", got, omitted, validID) + } +} + +func TestBagMaterialsAppliesOnlyCatalogBackedOverrides(t *testing.T) { + chdirRepositoryRoot(t) + itemIDs, err := loadInventoryItems() + if err != nil { + t.Fatal(err) + } + if len(itemIDs) == 0 { + t.Fatal("inventory catalog is empty") + } + foodAuto := true + player := &common.FreesrData{ + Avatars: map[uint32]*common.AvatarJson{}, + Materials: map[uint32]uint32{itemIDs[0]: 0, 99999999: 77}, + TechniqueFoodStock: map[uint32]uint32{}, + AutoTechniqueFood: &foodAuto, + } + materials, err := bagMaterials(player) + if err != nil { + t.Fatal(err) + } + counts := make(map[uint32]uint32, len(materials)) + for _, material := range materials { + counts[material.Tid] = material.Num + } + if count, ok := counts[itemIDs[0]]; !ok || count != 0 { + t.Fatalf("catalog item override = %d, present=%v; want explicit zero", count, ok) + } + if _, ok := counts[99999999]; ok { + t.Fatal("unknown item override leaked into the Client bag") + } +} diff --git a/internal/gameserver/navigation_profiles.go b/internal/gameserver/navigation_profiles.go new file mode 100644 index 0000000..11e6282 --- /dev/null +++ b/internal/gameserver/navigation_profiles.go @@ -0,0 +1,79 @@ +package gameserver + +import ( + "encoding/json" + "fmt" + "strings" + "sync" + + "gac-hkrpg-go/internal/common" +) + +var navigationProfilesOnce sync.Once +var navigationProfilesData []byte +var navigationProfilesError error + +// Quote Lua text without interpreting either Lua escapes or localized labels. +func luaNavigationString(value string) string { + separator := "" + for strings.Contains(value, "]"+separator+"]") { + separator += "=" + } + return "[" + separator + "[" + value + "]" + separator + "]" +} + +func loadNavigationProfiles() ([]byte, error) { + navigationProfilesOnce.Do(func() { + var data struct { + ClientVersion string `json:"client_version"` + Profiles []struct { + FloorID uint32 `json:"floor_id"` + TownEntryID uint32 `json:"town_entry_id"` + StoryEntryID uint32 `json:"story_entry_id"` + StoryLabel string `json:"story_label"` + } `json:"profiles"` + } + raw, err := common.ReadResourceFile("resources/NavigationProfiles.json") + if err != nil { + navigationProfilesError = err + return + } + if err = json.Unmarshal(raw, &data); err != nil { + navigationProfilesError = err + return + } + cfg, err := common.LoadRuntimeConfig() + if err != nil { + navigationProfilesError = err + return + } + if data.ClientVersion != cfg.ClientVersion { + navigationProfilesError = fmt.Errorf("navigation profiles Client revision mismatch") + return + } + res, err := common.GameRes() + if err != nil { + navigationProfilesError = err + return + } + var script strings.Builder + script.WriteString("\n_G.__GAC_NAVIGATION_PROFILES = {\n") + seen := map[uint32]bool{} + for _, p := range data.Profiles { + town, townOK := res.MapEntrances[p.TownEntryID] + story, storyOK := res.MapEntrances[p.StoryEntryID] + if !townOK || !storyOK || p.FloorID == 0 || town.FloorID != p.FloorID || story.FloorID != p.FloorID || + town.PlaneID != story.PlaneID || town.EntranceType != "Town" || story.EntranceType != "Mission" || + p.TownEntryID == p.StoryEntryID || strings.TrimSpace(p.StoryLabel) == "" || seen[p.FloorID] || + len(res.LevelOutputConfigs[p.TownEntryID]) == 0 || len(res.LevelOutputConfigs[p.StoryEntryID]) == 0 { + navigationProfilesError = fmt.Errorf("invalid navigation profile for floor %d", p.FloorID) + return + } + seen[p.FloorID] = true + fmt.Fprintf(&script, "{floor_id=%d,town_entry_id=%d,story_entry_id=%d,story_label=%s},\n", p.FloorID, p.TownEntryID, p.StoryEntryID, luaNavigationString(p.StoryLabel)) + } + script.WriteString("}\n") + navigationProfilesData = []byte(script.String()) + }) + return navigationProfilesData, navigationProfilesError +} diff --git a/internal/gameserver/peak_battle_rules.go b/internal/gameserver/peak_battle_rules.go new file mode 100644 index 0000000..b066b4d --- /dev/null +++ b/internal/gameserver/peak_battle_rules.go @@ -0,0 +1,59 @@ +package gameserver + +import ( + "encoding/json" + "fmt" + + "gac-hkrpg-go/internal/common" +) + +type peakBattleRules struct { + ClientVersion string `json:"client_version"` + Source struct { + AssemblySHA256 string `json:"assembly_sha256"` + CaptureSHA256 string `json:"capture_sha256"` + } `json:"source"` + TurnLimits map[string]uint32 `json:"turn_limits"` +} + +func (r peakBattleRules) limit(stage PeakStageData, event uint32) (uint32, error) { + name := "ChallengePeak_Mob_Turn_Limit" + if stage.IsBoss { + name = "ChallengePeak_Boss_Turn_Limit" + if stage.HardEventID != 0 && event == stage.HardEventID { + name = "ChallengePeak_HardBoss_Turn_Limit" + } + } + limit := r.TurnLimits[name] + if limit == 0 { + return 0, fmt.Errorf("missing native Peak constant %s", name) + } + return limit, nil +} + +func setPeakBattleConfig(s *Session, avatars []uint32, peakID, eventID uint32, buffs []uint32) error { + raw, err := common.ReadResourceFile("resources/PeakBattleConfig.json") + if err != nil { + return err + } + var rules peakBattleRules + if err := json.Unmarshal(raw, &rules); err != nil { + return err + } + cfg, err := common.LoadRuntimeConfig() + if err != nil { + return err + } + if rules.ClientVersion != cfg.ClientVersion || len(rules.Source.AssemblySHA256) != 64 || len(rules.Source.CaptureSHA256) != 64 { + return fmt.Errorf("Peak rules require matching Client version and capture provenance") + } + stage, ok := getChallengeData().Peak[itoa(int(peakID))] + if !ok || (eventID != stage.EventID && (stage.HardEventID == 0 || eventID != stage.HardEventID)) { + return fmt.Errorf("Peak %d has no matching event %d", peakID, eventID) + } + limit, err := rules.limit(stage, eventID) + if err != nil { + return err + } + return setChallengeBattleConfigWithLimit(s, avatars, peakID, eventID, buffs, common.BattleTypeAA, limit) +} diff --git a/internal/gameserver/peak_battle_rules_test.go b/internal/gameserver/peak_battle_rules_test.go new file mode 100644 index 0000000..898afc2 --- /dev/null +++ b/internal/gameserver/peak_battle_rules_test.go @@ -0,0 +1,59 @@ +package gameserver + +import ( + "strconv" + "testing" + + "gac-hkrpg-go/internal/common" +) + +func TestPeakConfigDoesNotUseSameNumberedMazeCountdown(t *testing.T) { + chdirRepositoryRoot(t) + data := getChallengeData() + checked := false + for key, stage := range data.Peak { + id, _ := strconv.ParseUint(key, 10, 32) + if data.Countdowns[uint32(id)] == 0 || len(data.Stages[stage.EventID].Monsters) == 0 { + continue + } + s := &Session{} + if err := setPeakBattleConfig(s, []uint32{1}, uint32(id), stage.EventID, stage.Buffs); err != nil { + t.Fatal(err) + } + if s.ChallengeBattleConfig.BattleType != common.BattleTypeAA { + t.Fatal("Peak was classified by a Maze ID") + } + if s.ChallengeBattleConfig.CycleCount == data.Countdowns[uint32(id)] { + t.Fatal("Peak inherited the same-numbered Maze countdown") + } + checked = true + } + if !checked { + t.Fatal("fixture has no overlapping Peak/Maze IDs") + } +} + +func TestPeakLimitsKeepNormalAndHardBossSeparate(t *testing.T) { + r := peakBattleRules{TurnLimits: map[string]uint32{ + "ChallengePeak_Mob_Turn_Limit": 9, + "ChallengePeak_Boss_Turn_Limit": 7, + "ChallengePeak_HardBoss_Turn_Limit": 3, + }} + for _, tc := range []struct { + stage PeakStageData + event, want uint32 + }{ + {PeakStageData{}, 100, 9}, + {PeakStageData{IsBoss: true, HardEventID: 101}, 100, 7}, + {PeakStageData{IsBoss: true, HardEventID: 101}, 101, 3}, + } { + got, err := r.limit(tc.stage, tc.event) + if err != nil || got != tc.want { + t.Fatalf("limit=%d want=%d err=%v", got, tc.want, err) + } + } + delete(r.TurnLimits, "ChallengePeak_HardBoss_Turn_Limit") + if _, err := r.limit(PeakStageData{IsBoss: true, HardEventID: 101}, 101); err == nil { + t.Fatal("missing native limit silently fell back") + } +} diff --git a/internal/gameserver/progression_sync.go b/internal/gameserver/progression_sync.go index b5d7def..2781915 100644 --- a/internal/gameserver/progression_sync.go +++ b/internal/gameserver/progression_sync.go @@ -60,6 +60,26 @@ func syncPersistedExRanks(s *Session) error { // existing full-import path only when equipment, relics or avatar ownership change. func reloadPlayerData(s *Session, next *common.FreesrData) error { previous := s.JSON() + materials, err := bagMaterials(next) + if err != nil { + return err + } + var changedMaterials []*goproto.Material + if previous != nil { + oldMaterials, err := bagMaterials(previous) + if err != nil { + return err + } + oldCounts := make(map[uint32]uint32, len(oldMaterials)) + for _, item := range oldMaterials { + oldCounts[item.Tid] = item.Num + } + for _, item := range materials { + if old, exists := oldCounts[item.Tid]; !exists || old != item.Num { + changedMaterials = append(changedMaterials, item) + } + } + } full := previous == nil if !full { full = !reflect.DeepEqual(previous.Lightcones, next.Lightcones) || !reflect.DeepEqual(previous.Relics, next.Relics) || len(previous.Avatars) != len(next.Avatars) @@ -81,16 +101,12 @@ func reloadPlayerData(s *Session, next *common.FreesrData) error { if full { return s.SyncPlayer() } - if len(changed) == 0 { + if len(changed) == 0 && len(changedMaterials) == 0 { return nil } sortU32Slice(changed) notify := &goproto.PlayerSyncScNotify{} buildSync(next, notify, changed, nil, nil) - var err error - notify.MaterialList, err = eidolonMaterials(next) - if err != nil { - return err - } + notify.MaterialList = changedMaterials return s.Send(notify) } diff --git a/internal/gameserver/scene_entrance_anchor.go b/internal/gameserver/scene_entrance_anchor.go new file mode 100644 index 0000000..1611769 --- /dev/null +++ b/internal/gameserver/scene_entrance_anchor.go @@ -0,0 +1,22 @@ +package gameserver + +import "gac-hkrpg-go/internal/common" + +// An entrance identifies a particular room even when several rooms share a +// floor. Its start anchor must take precedence over that floor's checkpoints. +func sceneEntranceAnchor(res *common.JsonConfig, entryID, floorID uint32) (common.AnchorItem, bool) { + entrance, exists := res.MapEntrances[entryID] + if !exists || entrance.FloorID != floorID { + return common.AnchorItem{}, false + } + if entrance.StartAnchorID == 0 { + anchor, exists := res.SceneDefaultAnchors[floorID] + return anchor, exists && anchor.ID != 0 + } + for _, anchor := range res.SceneAnchors[entryID] { + if anchor.ID == entrance.StartAnchorID { + return anchor, true + } + } + return common.AnchorItem{}, false +} diff --git a/internal/gameserver/scene_entrance_anchor_test.go b/internal/gameserver/scene_entrance_anchor_test.go new file mode 100644 index 0000000..5d33a61 --- /dev/null +++ b/internal/gameserver/scene_entrance_anchor_test.go @@ -0,0 +1,153 @@ +package gameserver + +import ( + "encoding/json" + "path/filepath" + "strconv" + "testing" + + "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" +) + +func TestSceneEntranceAnchorKeepsRoomsOnSameFloorDistinct(t *testing.T) { + res := &common.JsonConfig{ + MapEntrances: map[uint32]common.MapEntranceEntry{ + 10: {FloorID: 20, StartAnchorID: 2}, + 11: {FloorID: 20, StartAnchorID: 2}, + }, + SceneAnchors: map[uint32][]common.AnchorItem{ + 10: {{ID: 1, Pos: common.Vector{X: 5}}, {ID: 2, Pos: common.Vector{Y: -15000}}}, + 11: {{ID: 2, Pos: common.Vector{X: 25}}}, + }, + SceneDefaultAnchors: map[uint32]common.AnchorItem{20: {ID: 1, Pos: common.Vector{X: 99}}}, + } + first, ok := sceneEntranceAnchor(res, 10, 20) + if !ok || first.ID != 2 || first.Pos.Y != -15000 { + t.Fatalf("room must retain its selected anchor, including a negative height: %+v, %t", first, ok) + } + second, ok := sceneEntranceAnchor(res, 11, 20) + if !ok || second.Pos.X != 25 { + t.Fatalf("second room must use its own entrance anchor: %+v, %t", second, ok) + } + for _, pair := range [][2]uint32{{10, 21}, {12, 20}} { + if _, ok := sceneEntranceAnchor(res, pair[0], pair[1]); ok { + t.Fatalf("must reject an unknown entrance or mismatching floor: %v", pair) + } + } + res.MapEntrances[10] = common.MapEntranceEntry{FloorID: 20, StartAnchorID: 3} + if _, ok := sceneEntranceAnchor(res, 10, 20); ok { + t.Fatal("must not substitute another anchor when the requested anchor is absent") + } + res.MapEntrances[12] = common.MapEntranceEntry{FloorID: 20} + if anchor, ok := sceneEntranceAnchor(res, 12, 20); !ok || anchor.Pos.X != 99 { + t.Fatal("entrance without an explicit start anchor must use the captured floor default") + } +} + +// Regression for the entrance reported by the Client, using the actual captured +// membership and placements rather than a second hand-written group list. +func TestTrainRoomScenePacketMatchesCapturedDimension(t *testing.T) { + chdirRepositoryRoot(t) + configPath, err := filepath.Abs("server.json") + if err != nil { + t.Fatal(err) + } + t.Setenv("GAC_CONFIG", configPath) + res, err := common.GameRes() + if err != nil { + t.Fatal(err) + } + const reportedEntrance uint32 = 100000352 + entrance, exists := res.MapEntrances[reportedEntrance] + if !exists { + t.Fatal("reported train entrance missing from Client MapEntrance") + } + raw, err := common.ReadResourceFile("resources/SceneMetadata.json") + if err != nil { + t.Fatal(err) + } + var captured struct { + Floors map[string]struct { + DimensionID uint32 `json:"dimension_id"` + Groups map[string][]uint32 `json:"dimension_groups"` + Saved map[string]int32 `json:"saved_values"` + DefaultAnchor common.AnchorItem `json:"floor_default_anchor"` + } `json:"floors"` + } + if err := json.Unmarshal(raw, &captured); err != nil { + t.Fatal(err) + } + floor := captured.Floors[strconv.FormatUint(uint64(entrance.FloorID), 10)] + allowed := map[uint32]bool{} + for _, group := range floor.Groups[strconv.FormatUint(uint64(floor.DimensionID), 10)] { + allowed[group] = true + } + if len(allowed) == 0 { + t.Fatal("reported room has no captured dimension membership") + } + s := NewSession(func([]byte) error { t.Fatal("scene construction must not send or persist data"); return nil }, 1, 1) + s.SetJSON(&common.FreesrData{Lineups: map[uint32]uint32{0: 1001}}) + scene, err := loadScene(s, reportedEntrance, true, false, nil, &goproto.SceneIdentifier{FloorId: entrance.FloorID}) + if err != nil { + t.Fatal(err) + } + if scene.EntryId != reportedEntrance || scene.FloorId != entrance.FloorID || scene.DimensionId != floor.DimensionID { + t.Fatalf("wrong scene identity: %v", scene) + } + for _, group := range scene.EntityGroupList { + if group.GroupId != 0 && !allowed[group.GroupId] { + t.Fatalf("packet includes group %d from another dimension", group.GroupId) + } + } + for name, expected := range floor.Saved { + if value, present := scene.FloorSavedData[name]; !present || value != expected { + t.Fatalf("saved value %s: got %d/%t, expected %d", name, value, present, expected) + } + } + anchor, exists := sceneEntranceAnchor(res, reportedEntrance, entrance.FloorID) + if !exists { + t.Fatal("reported entrance has no resource anchor") + } + pos := s.JSON().Position + if pos.X != anchor.Pos.X || pos.Y != anchor.Pos.Y || pos.Z != anchor.Pos.Z || pos.RotY != anchor.Rot.Y { + t.Fatalf("room spawned at a floor checkpoint instead of its entrance anchor: %+v", pos) + } + if floor.DefaultAnchor.ID == 0 { + t.Fatal("train floor has no captured default anchor") + } + defaultEntryFound := false + for id, row := range res.MapEntrances { + if row.FloorID != entrance.FloorID || row.StartAnchorID != 0 || row.EntranceType != "Town" { + continue + } + defaultEntryFound = true + if _, err := loadScene(s, id, true, false, nil, nil); err != nil { + t.Fatal(err) + } + pos = s.JSON().Position + if pos.X != floor.DefaultAnchor.Pos.X || pos.Y != floor.DefaultAnchor.Pos.Y || pos.Z != floor.DefaultAnchor.Pos.Z { + t.Fatalf("default entrance %d spawned at a checkpoint instead of native floor start: %+v", id, pos) + } + } + if !defaultEntryFound { + t.Fatal("no default Town entrance tested") + } + _, config, exists := firstSceneOfEntry(res, reportedEntrance) + if !exists { + t.Fatal("reported entrance has no scene config") + } + for _, group := range config.Scenes { + for id, checkpoint := range group.Teleports { + if _, err := loadScene(s, reportedEntrance, true, false, &id, nil); err != nil { + t.Fatal(err) + } + pos = s.JSON().Position + if pos.X != checkpoint.Pos.X || pos.Y != checkpoint.Pos.Y || pos.Z != checkpoint.Pos.Z { + t.Fatal("explicit checkpoint teleport was replaced by an entrance anchor") + } + return + } + } + t.Fatal("reported room has no checkpoint to verify explicit teleport precedence") +} diff --git a/internal/gameserver/session.go b/internal/gameserver/session.go index a0bb1a9..e5dd00c 100644 --- a/internal/gameserver/session.go +++ b/internal/gameserver/session.go @@ -18,16 +18,18 @@ const maxPacketSize = 1400 // PropEntry mirrors PlayerSession.prop_entities: entity_id -> (prop_id, inst_id, state). type PropEntry struct { - PropID uint32 - InstID uint32 - State uint32 + GroupID uint32 + PropID uint32 + InstID uint32 + State uint32 } // Session is the Go port of PlayerSession. type Session struct { - Token uint32 - ConvID uint32 - Addr string + Token uint32 + ConvID uint32 + Addr string + publicSDKURL string jsonMu sync.RWMutex stateMu sync.Mutex // serializes packet handlers and hot reload mutations @@ -36,16 +38,18 @@ type Session struct { kcpMu sync.Mutex kcp *kcplib.KCP - startTime time.Time - nextSceneSave int64 - battleProbeMu sync.Mutex - battleProbe []byte - PropEntities map[uint32]PropEntry + startTime time.Time + nextSceneSave int64 + battleProbeMu sync.Mutex + battleProbe []byte + PropEntities map[uint32]PropEntry + CurrentSceneFloor uint32 // MonsterEntities tracks real overworld monster entities (entity_id -> event_id) // spawned in the current scene. Used by SceneCastSkill to decide whether an // attack actually hit a monster (the camera-detach bug fix). - MonsterEntities map[uint32]uint32 - partyActorSlots map[uint32]bool + MonsterEntities map[uint32]uint32 + SceneMonsterIdentities map[uint32]sceneMonsterIdentity + partyActorSlots map[uint32]bool // Set by the challenge scene loader, cleared when loading an overworld scene. ChallengeStageID uint32 ChallengeBattleConfig *common.BattleConfig @@ -53,6 +57,8 @@ type Session struct { PeakHardModes map[uint32]bool TierceTeams map[uint32][][]uint32 TierceBuffs map[uint32][]uint32 + currencyWarsRevision uint64 + currencyWarsOpen bool pendingExRankSync map[uint32]bool techniqueMP *uint32 leaderSlot uint32 @@ -216,6 +222,14 @@ func (s *Session) SyncPlayer() error { Log("data is not init!") return nil } + materials, err := bagMaterials(player) + if err != nil { + return err + } + supportedRelics, err := supportedRelicIDs() + if err != nil { + return err + } // clear relics & lightcones del := &goproto.PlayerSyncScNotify{ @@ -244,7 +258,9 @@ func (s *Session) SyncPlayer() error { // sync new relics & lightcones sync := &goproto.PlayerSyncScNotify{} for i := range player.Relics { - sync.RelicList = append(sync.RelicList, player.Relics[i].ToProtoRelic()) + if _, supported := supportedRelics[player.Relics[i].RelicID]; supported { + sync.RelicList = append(sync.RelicList, player.Relics[i].ToProtoRelic()) + } } for i := range player.Lightcones { sync.EquipmentList = append(sync.EquipmentList, player.Lightcones[i].ToProtoEquipment()) @@ -263,9 +279,11 @@ func (s *Session) SyncPlayer() error { } for _, av := range player.Avatars { avatarSync2.AvatarPathDataInfoList = append(avatarSync2.AvatarPathDataInfoList, - av.ToAvatarPathDataProto(player.FindLightconeFor(av.AvatarID), player.FindRelicsFor(av.AvatarID), player.DressedSkins[av.AvatarID])) + av.ToAvatarPathDataProto(player.FindLightconeFor(av.AvatarID), filterSupportedRelics(player.FindRelicsFor(av.AvatarID), supportedRelics), player.DressedSkins[av.AvatarID])) } - return s.Send(&goproto.PlayerSyncScNotify{AvatarSync: avatarSync2}) + // FreeSR imports can change ranks as well as equipment. Publish the same + // material quantities as GetBag, without deleting/recreating materials. + return s.Send(&goproto.PlayerSyncScNotify{AvatarSync: avatarSync2, MaterialList: materials}) } func uint32Range(from, to uint32) []uint32 { diff --git a/internal/gameserver/technique.go b/internal/gameserver/technique.go index d9023c7..db247c1 100644 --- a/internal/gameserver/technique.go +++ b/internal/gameserver/technique.go @@ -32,6 +32,10 @@ func (s *Session) techniqueLineup() *goproto.LineupInfo { } return lineup } + +// PearlSR services/battle.zig uses this protocol entity namespace for techniques. +const techniqueAvatarEntityOffset uint32 = 100000 + func (s *Session) techniqueAvatar(entity uint32) uint32 { lineup := s.techniqueLineup() if lineup == nil { @@ -41,7 +45,7 @@ func (s *Session) techniqueAvatar(entity uint32) uint32 { entity = lineup.LeaderSlot + 1 } for _, a := range lineup.AvatarList { - if a.Slot+1 == entity { + if a.Slot+1 == entity || (entity >= techniqueAvatarEntityOffset && a.Id == entity-techniqueAvatarEntityOffset) { return a.Id } } @@ -109,7 +113,7 @@ func (s *Session) consumeTechniqueFood(id, count uint32) error { SceneDebugLog("[TECHNIQUE] food=%d count=%d mp=%d/%d remaining=%d", id, count, *s.techniqueMP, lineup.MaxMp, p.TechniqueFoodStock[id]) return s.syncTechnique(goproto.SyncLineupReason_SyncLineupReason_SyncReasonMpAdd) } -func (s *Session) payTechnique(castID, skillIndex uint32) (uint32, error) { +func (s *Session) payTechnique(castID, skillIndex uint32, actor ...uint32) (uint32, error) { if s.paidTechniqueCasts[castID] { return 0, nil } @@ -117,7 +121,11 @@ func (s *Session) payTechnique(castID, skillIndex uint32) (uint32, error) { if err != nil { return 0, err } - avatar := s.techniqueAvatar(0) + entity := uint32(0) + if len(actor) > 0 { + entity = actor[0] + } + avatar := s.techniqueAvatar(entity) skills := rules.Avatars[avatar] if int(skillIndex) >= len(skills) { return uint32(goproto.Retcode_RET_MAZE_NO_ABILITY), nil @@ -158,7 +166,7 @@ func (s *Session) payTechnique(castID, skillIndex uint32) (uint32, error) { } s.paidTechniqueCasts[castID] = true SceneDebugLog("[TECHNIQUE] cast=%d avatar=%d skill=%d cost=%d mp=%d/%d", castID, avatar, skillIndex, cost, *s.techniqueMP, lineup.MaxMp) - return 0, s.Send(&goproto.SceneCastSkillMpUpdateScNotify{CastEntityId: castID, Mp: *s.techniqueMP}) + return 0, nil } func init() { handle("UseItem", func(s *Session, req *goproto.UseItemCsReq, rsp *goproto.UseItemScRsp) error { diff --git a/internal/gameserver/test_helpers_test.go b/internal/gameserver/test_helpers_test.go new file mode 100644 index 0000000..b3479b4 --- /dev/null +++ b/internal/gameserver/test_helpers_test.go @@ -0,0 +1,36 @@ +package gameserver + +import ( + "fmt" + "os" + "path/filepath" + "runtime" + "testing" +) + +func TestMain(m *testing.M) { + _, source, _, ok := runtime.Caller(0) + if !ok { + fmt.Fprintln(os.Stderr, "cannot locate gameserver test helper source") + os.Exit(2) + } + root := filepath.Clean(filepath.Join(filepath.Dir(source), "..", "..")) + if err := os.Chdir(root); err != nil { + fmt.Fprintf(os.Stderr, "cannot change to repository root %s: %v\n", root, err) + os.Exit(2) + } + os.Exit(m.Run()) +} + +func chdirRepositoryRoot(t *testing.T) { + t.Helper() + _, source, _, ok := runtime.Caller(0) + if !ok { + t.Fatal("cannot locate gameserver test helper source") + } + root := filepath.Clean(filepath.Join(filepath.Dir(source), "..", "..")) + if _, err := os.Stat(filepath.Join(root, "go.mod")); err != nil { + t.Fatalf("cannot locate repository root from %s: %v", source, err) + } + t.Chdir(root) +} diff --git a/internal/gameserver/world_battle.go b/internal/gameserver/world_battle.go new file mode 100644 index 0000000..f32b864 --- /dev/null +++ b/internal/gameserver/world_battle.go @@ -0,0 +1,269 @@ +package gameserver + +import ( + "encoding/json" + "fmt" + "sync" + + "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" +) + +type worldEvent struct { + EventID uint32 `json:"EventID"` + WorldLevel uint32 `json:"WorldLevel"` + StageID uint32 `json:"StageID"` +} +type cocoonResource struct { + ID uint32 `json:"ID"` + WorldLevel uint32 `json:"WorldLevel"` + CocoonType uint32 `json:"CocoonType"` + StageID uint32 `json:"StageID"` + StageIDs []uint32 `json:"StageIDList"` + MaxCount uint32 `json:"MaxChallengeCnt"` +} + +// CocoonType values from the Client's Cocoon table. Only Calyx entries may +// use FreeSR custom battles; Stagnant Shadow and Cavern must use Client stages. +const ( + clientCocoonTypeCalyx uint32 = 1 + clientCocoonTypeStagnantShadow uint32 = 2 + clientCocoonTypeCavernCorrosion uint32 = 3 +) + +func canUseSrtoolCustomCocoon(row cocoonResource) bool { + return row.CocoonType == clientCocoonTypeCalyx +} + +type worldBattleResources struct { + ClientVersion string `json:"client_version"` + WorldLevel uint32 `json:"world_level"` + Events []worldEvent `json:"events"` + Cocoons []cocoonResource `json:"cocoons"` + NPCMonsters map[uint32]struct { + Rank uint32 `json:"rank"` + } `json:"npc_monsters"` + InstantDefeatAvatars []uint32 `json:"instant_defeat_avatars"` + InstantDefeatRanks []uint32 `json:"instant_defeat_ranks"` +} + +type sceneMonsterIdentity struct { + MonsterID uint32 + GroupID uint32 +} + +// Match both the technique owner and the actual NPC rank exported from Client. +// Challenge bosses and tool-controlled encounters always use their battle flow. +func (s *Session) instantDefeatTargets(req *goproto.SceneCastSkillCsReq, targets []uint32) []uint32 { + if req.SkillIndex != 1 || s.ChallengeBattleConfig != nil || s.ChallengeStageID != 0 || common.SrtoolCustomBattleActive() { + return nil + } + data, err := loadWorldBattleResources() + if err != nil { + return nil + } + owner := s.techniqueAvatar(req.CasterId) + allowed := false + for _, id := range data.InstantDefeatAvatars { + if id == owner { + allowed = true + break + } + } + if !allowed { + return nil + } + var defeated []uint32 + for _, entity := range targets { + identity, ok := s.SceneMonsterIdentities[entity] + if !ok { + continue + } + row, ok := data.NPCMonsters[identity.MonsterID] + if !ok { + continue + } + for _, rank := range data.InstantDefeatRanks { + if rank == row.Rank { + defeated = append(defeated, entity) + break + } + } + } + return defeated +} + +func (s *Session) removeSceneMonsters(ids []uint32) error { + notify := &goproto.SceneGroupRefreshScNotify{FloorId: s.CurrentSceneFloor} + groups := map[uint32]*goproto.SceneGroupRefreshInfo{} + for _, id := range ids { + m, ok := s.SceneMonsterIdentities[id] + if !ok { + continue + } + group := groups[m.GroupID] + if group == nil { + group = &goproto.SceneGroupRefreshInfo{GroupId: m.GroupID, State: 1, GroupRefreshType: goproto.SceneGroupRefreshType_SCENE_GROUP_REFRESH_TYPE_LOADED} + groups[m.GroupID] = group + } + group.RefreshEntity = append(group.RefreshEntity, &goproto.SceneEntityRefreshInfo{RefreshType: &goproto.SceneEntityRefreshInfo_DeleteEntity{DeleteEntity: id}}) + delete(s.MonsterEntities, id) + delete(s.SceneMonsterIdentities, id) + } + for _, id := range sortedU32Keys2(groups) { + notify.GroupRefreshInfo = append(notify.GroupRefreshInfo, groups[id]) + } + if len(notify.GroupRefreshInfo) == 0 { + return nil + } + return s.Send(notify) +} + +var worldBattleOnce sync.Once +var worldBattleData worldBattleResources +var worldBattleError error + +func loadWorldBattleResources() (*worldBattleResources, error) { + worldBattleOnce.Do(func() { + var raw []byte + raw, worldBattleError = common.ReadResourceFile("resources/WorldBattleConfig.json") + if worldBattleError != nil { + return + } + worldBattleError = json.Unmarshal(raw, &worldBattleData) + if worldBattleError != nil { + return + } + cfg, err := common.LoadRuntimeConfig() + if err != nil { + worldBattleError = err + return + } + if cfg.ClientVersion != worldBattleData.ClientVersion || len(worldBattleData.Events) == 0 || len(worldBattleData.Cocoons) == 0 { + worldBattleError = fmt.Errorf("world battle resource missing or Client revision mismatch") + } + }) + return &worldBattleData, worldBattleError +} + +func resourceBattleConfig(stageID uint32) (*common.BattleConfig, error) { + stage, ok := getChallengeData().Stages[stageID] + if !ok || stage.Level == 0 || len(stage.Monsters) == 0 { + return nil, fmt.Errorf("stage %d has no verified waves", stageID) + } + rules, err := loadBattleRules() + if err != nil { + return nil, err + } + config := &common.BattleConfig{StageID: stageID, BattleType: common.BattleTypeDefault, CycleCount: rules.ChallengeRoundLimits[common.BattleTypeDefault]} + for _, wave := range stage.Monsters { + if len(wave) == 0 { + return nil, fmt.Errorf("stage %d has an empty wave", stageID) + } + var monsters []common.Monster + for _, id := range wave { + monsters = append(monsters, common.Monster{MonsterID: id, Level: stage.Level}) + } + config.Monsters = append(config.Monsters, monsters) + } + return config, nil +} + +func (s *Session) worldEncounterConfig(targets []uint32) (*common.BattleConfig, error) { + if s.ChallengeBattleConfig != nil { + return s.ChallengeBattleConfig, nil + } + data, err := loadWorldBattleResources() + if err != nil { + return nil, err + } + if len(targets) == 0 { + return nil, fmt.Errorf("battle has no scene monster") + } + var combined *common.BattleConfig + seen := map[uint32]bool{} + for _, target := range targets { + eventID := s.MonsterEntities[target] + if seen[eventID] { + continue + } + seen[eventID] = true + config, err := s.eventBattleConfig(eventID, data.WorldLevel) + if err != nil { + return nil, err + } + if combined == nil { + combined = config + } else { + combined.Monsters = append(combined.Monsters, config.Monsters...) + } + } + return combined, nil +} +func (s *Session) eventBattleConfig(eventID, worldLevel uint32) (*common.BattleConfig, error) { + data, err := loadWorldBattleResources() + if err != nil { + return nil, err + } + for _, row := range data.Events { + if row.EventID == eventID && row.WorldLevel == worldLevel { + config, err := resourceBattleConfig(row.StageID) + if config != nil { + level := worldLevel + config.WorldLevel = &level + } + return config, err + } + } + return nil, fmt.Errorf("scene event %d world level %d has no Client stage mapping", eventID, worldLevel) +} + +func (s *Session) cocoonBattleConfig(id, worldLevel, wave uint32) (*common.BattleConfig, error) { + data, err := loadWorldBattleResources() + if err != nil { + return nil, err + } + for _, row := range data.Cocoons { + if row.ID != id || row.WorldLevel != worldLevel { + continue + } + if row.MaxCount != 0 && wave > row.MaxCount { + return nil, fmt.Errorf("cocoon wave exceeds Client limit") + } + if common.SrtoolCustomBattleActive() && canUseSrtoolCustomCocoon(row) { + // The Client's Cocoon table identifies Calyx separately from + // Stagnant Shadow and Cavern of Corrosion. Custom battles are limited + // to Calyx; all other cocoon encounters use their Client stage rows. + player := s.JSON() + if player == nil { + return nil, fmt.Errorf("player data is not loaded") + } + config := player.BattleConfig + return &config, nil + } + stages := row.StageIDs + if len(stages) == 0 && row.StageID != 0 { + stages = []uint32{row.StageID} + } + if len(stages) == 0 { + return nil, fmt.Errorf("cocoon %d has no stages", id) + } + config, err := resourceBattleConfig(stages[0]) + if err != nil { + return nil, err + } + level := worldLevel + config.WorldLevel = &level + // Quick-start sends zero for its default single stage. Explicit counts + // repeat complete resource stages; never replace their monster lists. + for i := uint32(1); i < wave; i++ { + next, err := resourceBattleConfig(stages[int(i)%len(stages)]) + if err != nil { + return nil, err + } + config.Monsters = append(config.Monsters, next.Monsters...) + } + return config, nil + } + return nil, fmt.Errorf("unknown cocoon %d at world level %d", id, worldLevel) +} diff --git a/internal/gameserver/world_battle_test.go b/internal/gameserver/world_battle_test.go new file mode 100644 index 0000000..9bb550f --- /dev/null +++ b/internal/gameserver/world_battle_test.go @@ -0,0 +1,45 @@ +package gameserver + +import ( + "testing" +) + +func TestSrtoolCustomBattleIsLimitedToClientCalyxRows(t *testing.T) { + chdirRepositoryRoot(t) + resources, err := loadWorldBattleResources() + if err != nil { + t.Fatal(err) + } + + seenCalyx, seenStagnantShadow, seenCavern := false, false, false + for _, row := range resources.Cocoons { + if row.CocoonType == 0 { + t.Fatalf("Client Cocoon row %d at world level %d has no CocoonType", row.ID, row.WorldLevel) + } + allowed := canUseSrtoolCustomCocoon(row) + switch row.CocoonType { + case clientCocoonTypeCalyx: + seenCalyx = true + if !allowed { + t.Errorf("Calyx row %d at world level %d must allow FreeSR custom battles", row.ID, row.WorldLevel) + } + case clientCocoonTypeStagnantShadow: + seenStagnantShadow = true + if allowed { + t.Errorf("Stagnant Shadow row %d at world level %d must use its Client stage", row.ID, row.WorldLevel) + } + case clientCocoonTypeCavernCorrosion: + seenCavern = true + if allowed { + t.Errorf("Cavern row %d at world level %d must use its Client stage", row.ID, row.WorldLevel) + } + default: + if allowed { + t.Errorf("unknown Client CocoonType %d must not allow FreeSR custom battles", row.CocoonType) + } + } + } + if !seenCalyx || !seenStagnantShadow || !seenCavern { + t.Fatalf("Client Cocoon resource must cover Calyx, Stagnant Shadow, and Cavern; got calyx=%t stagnant=%t cavern=%t", seenCalyx, seenStagnantShadow, seenCavern) + } +} diff --git a/internal/gameserver/world_props.go b/internal/gameserver/world_props.go new file mode 100644 index 0000000..945b661 --- /dev/null +++ b/internal/gameserver/world_props.go @@ -0,0 +1,133 @@ +package gameserver + +import ( + "encoding/json" + "fmt" + "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" + "sync" +) + +type destructibleRule struct { + Path string `json:"json_path"` + RecoverMP uint32 `json:"recover_mp"` +} + +var propRulesOnce sync.Once +var propRules map[uint32]destructibleRule +var propRulesError error + +func loadPropRules() (map[uint32]destructibleRule, error) { + propRulesOnce.Do(func() { + raw, err := common.ReadResourceFile("resources/PropInteractionConfig.json") + if err != nil { + propRulesError = err + return + } + var data struct { + ClientVersion string `json:"client_version"` + Props map[uint32]destructibleRule `json:"destructibles"` + } + if err = json.Unmarshal(raw, &data); err != nil { + propRulesError = err + return + } + cfg, err := common.LoadRuntimeConfig() + if err != nil { + propRulesError = err + return + } + if cfg.ClientVersion != data.ClientVersion || len(data.Props) == 0 { + propRulesError = fmt.Errorf("destructible resource missing or Client revision mismatch") + return + } + propRules = data.Props + }) + return propRules, propRulesError +} + +func (s *Session) hitSceneProps(req *goproto.SceneCastSkillCsReq) []uint32 { + if s.techniqueAvatar(req.CasterId) == 0 { + return nil + } + if _, active := CURRENT_BATTLE.Load(s.Token); active { + return nil + } + rules, err := loadPropRules() + if err != nil { + Log("[PROP] " + err.Error()) + return nil + } + var ids []uint32 + seen := map[uint32]bool{} + add := func(id uint32) { + if p, ok := s.PropEntities[id]; ok { + if _, destructible := rules[p.PropID]; destructible && !seen[id] { + seen[id] = true + ids = append(ids, id) + } + } + } + for _, id := range req.HitTargetEntityIdList { + add(id) + } + for _, id := range req.AssistMonsterEntityIdList { + add(id) + } + for _, group := range req.AssistMonsterEntityInfo { + for _, id := range group.GetEntityIdList() { + add(id) + } + } + return ids +} + +func (s *Session) breakSceneProps(ids []uint32) error { + rules, err := loadPropRules() + if err != nil { + return err + } + lineup := s.techniqueLineup() + if lineup == nil { + return nil + } + notify := &goproto.SceneGroupRefreshScNotify{FloorId: s.CurrentSceneFloor} + groups := map[uint32]*goproto.SceneGroupRefreshInfo{} + var recover uint32 + for _, id := range ids { + prop, exists := s.PropEntities[id] + if !exists { + continue + } + rule, ok := rules[prop.PropID] + if !ok { + continue + } + group := groups[prop.GroupID] + if group == nil { + group = &goproto.SceneGroupRefreshInfo{GroupId: prop.GroupID, State: 1, GroupRefreshType: goproto.SceneGroupRefreshType_SCENE_GROUP_REFRESH_TYPE_LOADED} + groups[prop.GroupID] = group + } + group.RefreshEntity = append(group.RefreshEntity, &goproto.SceneEntityRefreshInfo{RefreshType: &goproto.SceneEntityRefreshInfo_DeleteEntity{DeleteEntity: id}}) + recover += rule.RecoverMP + delete(s.PropEntities, id) + SceneDebugLog("[PROP] destroyed entity=%d prop=%d recover_mp=%d", id, prop.PropID, rule.RecoverMP) + } + for _, id := range sortedU32Keys2(groups) { + notify.GroupRefreshInfo = append(notify.GroupRefreshInfo, groups[id]) + } + if len(notify.GroupRefreshInfo) > 0 { + if err = s.Send(notify); err != nil { + return err + } + } + if recover > 0 { + remaining := lineup.MaxMp - *s.techniqueMP + if recover > remaining { + recover = remaining + } + *s.techniqueMP += recover + return s.syncTechnique(goproto.SyncLineupReason_SyncLineupReason_SyncReasonMpAdd) + } + return nil +} diff --git a/internal/sdkserver/api.go b/internal/sdkserver/api.go index 9bfb234..39bea18 100644 --- a/internal/sdkserver/api.go +++ b/internal/sdkserver/api.go @@ -1,6 +1,7 @@ package sdkserver import ( + "encoding/base64" "encoding/json" "fmt" "io" @@ -12,10 +13,18 @@ import ( "time" "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" ) var apiMu sync.Mutex +var liveBattleReportState struct { + sync.RWMutex + report *common.BattleReport + received time.Time +} + var exRankAvatarNames = map[uint32]string{ 1204: "Jing Yuan (จิ่งหยวน)", 1213: "Dan Heng • Imbibitor Lunae (ดันเฮง จ้าวยลจันทรา)", @@ -27,7 +36,7 @@ func corsWrapper(next http.HandlerFunc) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Access-Control-Allow-Origin", "*") w.Header().Set("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS") - w.Header().Set("Access-Control-Allow-Headers", "Content-Type, Authorization, X-Requested-With") + w.Header().Set("Access-Control-Allow-Headers", "Content-Type, Authorization, X-Requested-With, X-GaC-Srtool") if r.Method == http.MethodOptions { w.WriteHeader(http.StatusOK) return @@ -37,9 +46,11 @@ func corsWrapper(next http.HandlerFunc) http.HandlerFunc { } func registerAPIRoutes(mux *http.ServeMux) { + mux.HandleFunc("/api/tool-session", corsWrapper(apiToolSession)) mux.HandleFunc("/api/status", corsWrapper(apiStatus)) mux.HandleFunc("/api/technique", corsWrapper(apiTechnique)) mux.HandleFunc("/api/freesr", corsWrapper(apiFreesrData)) + mux.HandleFunc("/api/inventory/materials", corsWrapper(apiInventoryMaterials)) mux.HandleFunc("/api/freesr/avatars", corsWrapper(apiFreesrAvatars)) mux.HandleFunc("/api/persistent", corsWrapper(apiPersistentData)) mux.HandleFunc("/api/exrank/toggle", corsWrapper(apiExRankToggle)) @@ -48,8 +59,11 @@ func registerAPIRoutes(mux *http.ServeMux) { mux.HandleFunc("/api/teleport", corsWrapper(apiTeleport)) mux.HandleFunc("/api/gachabase/fetch", corsWrapper(apiGachabaseFetch)) mux.HandleFunc("/api/command", corsWrapper(apiCommand)) + mux.HandleFunc("/api/client/unstuck", corsWrapper(apiClientUnstuck)) + mux.HandleFunc("/api/client/unstuck/result", corsWrapper(apiClientUnstuckResult)) mux.HandleFunc("/api/data-in-game", corsWrapper(apiDataInGame)) mux.HandleFunc("/api/battle_report", corsWrapper(apiBattleReport)) + mux.HandleFunc("/api/battle_report/live", corsWrapper(apiBattleReportLive)) mux.HandleFunc("/api/battle_report/reset", corsWrapper(apiBattleReportReset)) } @@ -70,16 +84,17 @@ func apiRoot(w http.ResponseWriter, r *http.Request) { "status": 200, "description": "Backend connection endpoints for freesr-data, persistent, and GaC-Srtool", "endpoints": map[string]string{ - "status": "GET /api/status", - "freesr": "GET, POST /api/freesr", - "avatars": "GET, POST /api/freesr/avatars", - "persistent": "GET, POST /api/persistent", - "exrank_toggle": "POST /api/exrank/toggle", - "avatar_rank": "POST /api/avatar/rank", - "avatar_max_all": "POST /api/avatar/max_all", - "teleport": "POST /api/teleport", - "command": "POST /api/command", - "battle_report": "GET, POST /api/battle_report", + "status": "GET /api/status", + "freesr": "GET, POST /api/freesr", + "avatars": "GET, POST /api/freesr/avatars", + "persistent": "GET, POST /api/persistent", + "exrank_toggle": "POST /api/exrank/toggle", + "avatar_rank": "POST /api/avatar/rank", + "avatar_max_all": "POST /api/avatar/max_all", + "teleport": "POST /api/teleport", + "command": "POST /api/command", + "battle_report": "GET, POST /api/battle_report", + "battle_report_live": "POST /api/battle_report/live", }, }) } @@ -142,7 +157,7 @@ func apiStatus(w http.ResponseWriter, r *http.Request) { }) } -// apiFreesrData handles full read/write of freesr-data.json +// apiFreesrData reads data, merges POST updates, and validates complete PUTs. func apiFreesrData(w http.ResponseWriter, r *http.Request) { apiMu.Lock() defer apiMu.Unlock() @@ -177,21 +192,19 @@ func apiFreesrData(w http.ResponseWriter, r *http.Request) { toWrite = wrap.Data } - var parsed map[string]any - if err := json.Unmarshal(toWrite, &parsed); err != nil { - writeJSON(w, map[string]any{"error": "invalid json: " + err.Error(), "status": 400}) + existing, err := os.ReadFile("freesr-data.json") + if err != nil && (r.Method != http.MethodPut || !os.IsNotExist(err)) { + writeInventoryError(w, http.StatusInternalServerError, "failed to read player data: "+err.Error()) return } - - out, _ := json.MarshalIndent(parsed, "", " ") - if err := os.WriteFile("freesr-data.json", out, 0o644); err != nil { - writeJSON(w, map[string]any{"error": "failed to write freesr-data.json: " + err.Error(), "status": 500}) + out, err := preparePlayerDataUpdate(existing, toWrite, r.Method == http.MethodPut) + if err != nil { + writeInventoryError(w, http.StatusBadRequest, err.Error()) return } - - // Reload and sync persistent - if d, err := common.LoadFreesrData(); err == nil { - d.SavePersistent() + if err := writePlayerDataAtomic(out); err != nil { + writeInventoryError(w, http.StatusInternalServerError, "failed to write player data: "+err.Error()) + return } writeJSON(w, map[string]any{"message": "freesr-data.json saved successfully", "status": 200}) @@ -201,6 +214,158 @@ func apiFreesrData(w http.ResponseWriter, r *http.Request) { } } +type inventoryMaterialUpdate struct { + ItemID uint32 `json:"item_id"` + Count *uint32 `json:"count,omitempty"` + Reset bool `json:"reset,omitempty"` +} + +func writeInventoryError(w http.ResponseWriter, status int, message string) { + w.WriteHeader(status) + writeJSON(w, map[string]any{"status": status, "error": message}) +} + +// apiInventoryMaterials provides a narrow inventory editor endpoint so a UI +// can update material counts without posting a stale full freesr-data snapshot. +func apiInventoryMaterials(w http.ResponseWriter, r *http.Request) { + apiMu.Lock() + defer apiMu.Unlock() + + resource, err := common.ReadResourceFile("resources/InventoryItemConfig.json", "InventoryItemConfig.json") + if err != nil { + writeInventoryError(w, http.StatusInternalServerError, "inventory catalog unavailable: "+err.Error()) + return + } + var catalog struct { + ItemIDs []uint32 `json:"item_ids"` + } + if err := json.Unmarshal(resource, &catalog); err != nil || len(catalog.ItemIDs) == 0 { + writeInventoryError(w, http.StatusInternalServerError, "inventory catalog is invalid") + return + } + allowed := make(map[uint32]struct{}, len(catalog.ItemIDs)) + for _, id := range catalog.ItemIDs { + allowed[id] = struct{}{} + } + eidolonIDs, err := common.EidolonMaterialIDs() + if err != nil { + writeInventoryError(w, http.StatusInternalServerError, "Eidolon catalog unavailable: "+err.Error()) + return + } + for _, id := range eidolonIDs { + if _, exists := allowed[id]; !exists { + catalog.ItemIDs = append(catalog.ItemIDs, id) + } + allowed[id] = struct{}{} + } + // These two currency IDs are emitted by the server bag handler in addition + // to the Client item catalog. + allowed[1] = struct{}{} + allowed[2] = struct{}{} + + readInventory := func() (map[string]uint32, error) { + raw, err := os.ReadFile("freesr-data.json") + if err != nil { + return nil, err + } + var data struct { + Materials map[string]uint32 `json:"materials"` + } + if err := json.Unmarshal(raw, &data); err != nil { + return nil, err + } + if data.Materials == nil { + data.Materials = map[string]uint32{} + } + return data.Materials, nil + } + + switch r.Method { + case http.MethodGet: + materials, err := readInventory() + if err != nil { + writeInventoryError(w, http.StatusInternalServerError, "failed to read inventory: "+err.Error()) + return + } + writeJSON(w, map[string]any{"status": 200, "item_ids": catalog.ItemIDs, "materials": materials}) + case http.MethodPost: + var req struct { + Updates []inventoryMaterialUpdate `json:"updates"` + } + decoder := json.NewDecoder(http.MaxBytesReader(w, r.Body, 1<<20)) + decoder.DisallowUnknownFields() + if err := decoder.Decode(&req); err != nil || len(req.Updates) == 0 { + writeInventoryError(w, http.StatusBadRequest, "expected a non-empty updates list") + return + } + if len(req.Updates) > 3000 { + writeInventoryError(w, http.StatusBadRequest, "too many inventory updates") + return + } + seen := make(map[uint32]struct{}, len(req.Updates)) + for _, update := range req.Updates { + if _, ok := allowed[update.ItemID]; !ok { + writeInventoryError(w, http.StatusBadRequest, fmt.Sprintf("item %d is not in this Client catalog", update.ItemID)) + return + } + if _, ok := seen[update.ItemID]; ok { + writeInventoryError(w, http.StatusBadRequest, fmt.Sprintf("duplicate item %d", update.ItemID)) + return + } + if update.Reset == (update.Count != nil) { + writeInventoryError(w, http.StatusBadRequest, fmt.Sprintf("item %d must set either count or reset", update.ItemID)) + return + } + seen[update.ItemID] = struct{}{} + } + materials, err := readInventory() + if err != nil { + writeInventoryError(w, http.StatusInternalServerError, "failed to read inventory: "+err.Error()) + return + } + for _, update := range req.Updates { + key := strconv.FormatUint(uint64(update.ItemID), 10) + if update.Reset { + delete(materials, key) + } else { + materials[key] = *update.Count + } + } + raw, err := os.ReadFile("freesr-data.json") + if err != nil { + writeInventoryError(w, http.StatusInternalServerError, "failed to read freesr-data.json: "+err.Error()) + return + } + var data map[string]json.RawMessage + if err := json.Unmarshal(raw, &data); err != nil { + writeInventoryError(w, http.StatusInternalServerError, "freesr-data.json is invalid: "+err.Error()) + return + } + if data == nil { + writeInventoryError(w, http.StatusInternalServerError, "freesr-data.json must contain a JSON object") + return + } + materialJSON, err := json.Marshal(materials) + if err != nil { + writeInventoryError(w, http.StatusInternalServerError, "failed to encode inventory: "+err.Error()) + return + } + data["materials"] = materialJSON + output, err := json.MarshalIndent(data, "", " ") + if err != nil { + writeInventoryError(w, http.StatusInternalServerError, "failed to encode freesr-data.json: "+err.Error()) + return + } + if err := os.WriteFile("freesr-data.json", output, 0o644); err != nil { + writeInventoryError(w, http.StatusInternalServerError, "failed to save inventory: "+err.Error()) + return + } + writeJSON(w, map[string]any{"status": 200, "updated": len(req.Updates), "materials": materials}) + default: + http.Error(w, "method not allowed", http.StatusMethodNotAllowed) + } +} + // apiFreesrAvatars handles querying and modifying avatar details func apiFreesrAvatars(w http.ResponseWriter, r *http.Request) { apiMu.Lock() @@ -660,6 +825,19 @@ func apiCommand(w http.ResponseWriter, r *http.Request) { writeJSON(w, map[string]any{"error": "empty command", "status": 400}) return } + if strings.EqualFold(cmd, "/unstuck") { + status, err := queueClientUnstuck() + if err != nil { + writeJSON(w, map[string]any{"success": false, "output": "Cannot queue Client UI recovery: " + err.Error()}) + return + } + writeJSON(w, map[string]any{"success": true, "state": status.State, "request_id": status.RequestID, "output": "UI recovery queued for the next game heartbeat. Saved CW progress is preserved."}) + return + } + if parts := strings.Fields(cmd); len(parts) > 0 && strings.EqualFold(parts[0], "/cw") { + apiCurrencyWarsCommand(w, cmd) + return + } apiMu.Lock() defer apiMu.Unlock() @@ -777,6 +955,16 @@ func apiCommand(w http.ResponseWriter, r *http.Request) { // apiBattleReport handles GET (fetch latest in-game battle) and POST (import battle report) func apiBattleReport(w http.ResponseWriter, r *http.Request) { if r.Method == http.MethodGet { + if report, revision, live, err := latestLiveBattleReport(); err != nil { + writeJSON(w, map[string]any{"error": err.Error(), "status": 500}) + return + } else if live { + writeJSON(w, map[string]any{ + "status": 200, "has_report": true, "is_live": true, + "revision": revision, "report": report, + }) + return + } report, err := common.LoadLatestBattleReport() if err != nil { writeJSON(w, map[string]any{ @@ -789,6 +977,8 @@ func apiBattleReport(w http.ResponseWriter, r *http.Request) { writeJSON(w, map[string]any{ "status": 200, "has_report": true, + "is_live": false, + "revision": report.Timestamp * 1000, "report": report, }) return @@ -803,6 +993,7 @@ func apiBattleReport(w http.ResponseWriter, r *http.Request) { if report.Timestamp == 0 { report.Timestamp = time.Now().Unix() } + clearLiveBattleReport() if err := common.SaveBattleReport(&report); err != nil { writeJSON(w, map[string]any{"error": err.Error(), "status": 500}) return @@ -818,6 +1009,164 @@ func apiBattleReport(w http.ResponseWriter, r *http.Request) { http.Error(w, "method not allowed", http.StatusMethodNotAllowed) } +type liveBattleReportRequest struct { + Active bool `json:"active"` + Final bool `json:"final"` + BattleInfoBase64 string `json:"battle_info_base64"` + StatisticsBase64 string `json:"statistics_base64"` + AvatarStatisticsBase64 []string `json:"avatar_statistics_base64"` + TotalBattleTurns uint32 `json:"total_battle_turns"` + TotalAutoTurns uint32 `json:"total_auto_turns"` + RoundCnt uint32 `json:"round_cnt"` + CostTime float64 `json:"cost_time"` + AvatarBreakdowns []liveAvatarBreakdown `json:"avatar_breakdowns"` + ServantStatisticsBase64 []string `json:"servant_statistics_base64"` + ServantBreakdowns []liveAvatarBreakdown `json:"servant_breakdowns"` +} + +func writeLiveBattleReportError(w http.ResponseWriter, status int, message string) { + w.WriteHeader(status) + writeJSON(w, map[string]any{"status": status, "error": message}) +} + +func apiBattleReportLive(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + http.Error(w, "method not allowed", http.StatusMethodNotAllowed) + return + } + defer r.Body.Close() + var request liveBattleReportRequest + decoder := json.NewDecoder(http.MaxBytesReader(w, r.Body, 3<<20)) + decoder.DisallowUnknownFields() + if err := decoder.Decode(&request); err != nil { + writeLiveBattleReportError(w, http.StatusBadRequest, "invalid live battle request: "+err.Error()) + return + } + if !request.Active && !request.Final { + clearLiveBattleReport() + writeJSON(w, map[string]any{"status": 200, "active": false}) + return + } + statistics := &goproto.BattleStatistics{} + if request.StatisticsBase64 != "" && len(request.AvatarStatisticsBase64) > 0 { + writeLiveBattleReportError(w, http.StatusBadRequest, "send either statistics_base64 or avatar_statistics_base64") + return + } + if request.StatisticsBase64 != "" { + wire, err := base64.StdEncoding.Strict().DecodeString(request.StatisticsBase64) + if err != nil || len(wire) > 2<<20 { + writeLiveBattleReportError(w, http.StatusBadRequest, "statistics_base64 is invalid or too large") + return + } + if err := proto.Unmarshal(wire, statistics); err != nil { + writeLiveBattleReportError(w, http.StatusBadRequest, "invalid BattleStatistics protobuf") + return + } + } else if len(request.AvatarStatisticsBase64) > 0 { + if len(request.AvatarStatisticsBase64) > 16 { + writeLiveBattleReportError(w, http.StatusBadRequest, "avatar_statistics_base64 has too many entries") + return + } + var totalBytes int + for _, encoded := range request.AvatarStatisticsBase64 { + wire, err := base64.StdEncoding.Strict().DecodeString(encoded) + if err != nil || len(wire) == 0 || len(wire) > 2<<20-totalBytes { + writeLiveBattleReportError(w, http.StatusBadRequest, "avatar_statistics_base64 contains invalid or oversized protobuf data") + return + } + totalBytes += len(wire) + avatar := &goproto.AvatarBattleInfo{} + if err := proto.Unmarshal(wire, avatar); err != nil || avatar.Id == 0 { + writeLiveBattleReportError(w, http.StatusBadRequest, "avatar_statistics_base64 contains an invalid AvatarBattleInfo protobuf") + return + } + statistics.BattleAvatarList = append(statistics.BattleAvatarList, avatar) + } + statistics.TotalBattleTurns = request.TotalBattleTurns + statistics.TotalAutoTurns = request.TotalAutoTurns + statistics.RoundCnt = request.RoundCnt + statistics.CostTime = request.CostTime + } else { + writeLiveBattleReportError(w, http.StatusBadRequest, "active request requires statistics_base64 or avatar_statistics_base64") + return + } + if len(statistics.BattleAvatarList) == 0 { + writeLiveBattleReportError(w, http.StatusUnprocessableEntity, "BattleStatistics has no avatar entries") + return + } + if err := applyLiveAvatarBreakdowns(statistics.BattleAvatarList, request.AvatarBreakdowns); err != nil { + writeLiveBattleReportError(w, http.StatusBadRequest, err.Error()) + return + } + if err := applyLiveServantStatistics(statistics, request.ServantStatisticsBase64, request.ServantBreakdowns); err != nil { + writeLiveBattleReportError(w, http.StatusBadRequest, err.Error()) + return + } + var stageID uint32 + var battleID uint32 + var battleContext *goproto.SceneBattleInfo + if request.BattleInfoBase64 != "" { + wire, err := base64.StdEncoding.Strict().DecodeString(request.BattleInfoBase64) + battle := &goproto.SceneBattleInfo{} + if err != nil || len(wire) > 2<<20 || proto.Unmarshal(wire, battle) != nil { + writeLiveBattleReportError(w, http.StatusBadRequest, "invalid battle_info_base64") + return + } + stageID, battleID = battle.StageId, battle.BattleId + battleContext = battle + } + for _, avatar := range statistics.BattleAvatarList { + if stageID == 0 && avatar != nil && avatar.StageId != 0 { + stageID = avatar.StageId + break + } + } + report := common.BattleReportFromStatistics(statistics, battleID, stageID, "LIVE") + common.ApplyBattleReportContext(report, battleContext) + if report == nil { + writeLiveBattleReportError(w, http.StatusBadRequest, "unable to build live battle report") + return + } + if request.Final { + if err := saveFinalBattleDetails(report); err != nil { + writeLiveBattleReportError(w, http.StatusConflict, err.Error()) + return + } + clearLiveBattleReport() + writeJSON(w, map[string]any{"status": 200, "active": false, "final": true}) + return + } + liveBattleReportState.Lock() + liveBattleReportState.report = report + liveBattleReportState.received = time.Now() + liveBattleReportState.Unlock() + writeJSON(w, map[string]any{"status": 200, "active": true}) +} + +func latestLiveBattleReport() (*common.BattleReport, int64, bool, error) { + config, err := common.LoadRuntimeConfig() + if err != nil { + return nil, 0, false, err + } + liveBattleReportState.RLock() + defer liveBattleReportState.RUnlock() + if liveBattleReportState.report == nil || liveBattleReportState.received.IsZero() { + return nil, 0, false, nil + } + staleAfter := time.Duration(config.BattleDiagnostics.LiveReportStaleSeconds) * time.Second + if time.Since(liveBattleReportState.received) > staleAfter { + return nil, 0, false, nil + } + return liveBattleReportState.report, liveBattleReportState.received.UnixMilli(), true, nil +} + +func clearLiveBattleReport() { + liveBattleReportState.Lock() + liveBattleReportState.report = nil + liveBattleReportState.received = time.Time{} + liveBattleReportState.Unlock() +} + // apiBattleReportReset clears the current recorded battle report func apiBattleReportReset(w http.ResponseWriter, r *http.Request) { if r.Method != http.MethodPost && r.Method != http.MethodGet { @@ -828,6 +1177,7 @@ func apiBattleReportReset(w http.ResponseWriter, r *http.Request) { writeJSON(w, map[string]any{"error": err.Error(), "status": 500}) return } + clearLiveBattleReport() writeJSON(w, map[string]any{ "status": 200, "message": "Battle report cleared", diff --git a/internal/sdkserver/api_battle_report_live_test.go b/internal/sdkserver/api_battle_report_live_test.go new file mode 100644 index 0000000..02d6ea2 --- /dev/null +++ b/internal/sdkserver/api_battle_report_live_test.go @@ -0,0 +1,146 @@ +package sdkserver + +import ( + "encoding/base64" + "encoding/json" + "net/http" + "net/http/httptest" + "os" + "path/filepath" + "strings" + "testing" + "time" + + "gac-hkrpg-go/internal/common" + goproto "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" +) + +func TestLiveBattleReportRoundTripAndExpiry(t *testing.T) { + configPath := filepath.Join(t.TempDir(), "server.json") + config := `{"account_name":"fixture","player_uid":52022,"activity_schedule":{"begin_time":0,"end_time":100},"srtool":{"lease_file":"fixture-session.json","lease_seconds":30},"battle_diagnostics":{"live_report_stale_seconds":10},"client_version":"fixture","game_host":"localhost","game_port":32101,"sdk_host":"localhost","sdk_port":32102,"public_game_host":"localhost","public_sdk_url":"http://localhost:32102"}` + if err := os.WriteFile(configPath, []byte(config), 0600); err != nil { + t.Fatal(err) + } + t.Setenv("GAC_CONFIG", configPath) + t.Setenv("GAC_LIVE_BATTLE_STALE_SECONDS", "10") + defer clearLiveBattleReport() + + statistics := &goproto.BattleStatistics{ + TotalBattleTurns: 2, + BattleAvatarList: []*goproto.AvatarBattleInfo{{ + Id: 1204, StageId: 1052106, TotalDamage: 400, + AttackTypeDamage: []*goproto.AttackDamageProperty{{AttackType: "Normal", Damage: 400}}, + }}, + MonsterList: []*goproto.MonsterBattleInfo{{MonsterId: 5035011, TotalDamageTaken: 400}}, + } + wire, err := proto.Marshal(statistics) + if err != nil { + t.Fatal(err) + } + requestBody, err := json.Marshal(liveBattleReportRequest{ + Active: true, StatisticsBase64: base64.StdEncoding.EncodeToString(wire), + }) + if err != nil { + t.Fatal(err) + } + post := httptest.NewRequest(http.MethodPost, "/api/battle_report/live", strings.NewReader(string(requestBody))) + postResponse := httptest.NewRecorder() + apiBattleReportLive(postResponse, post) + if postResponse.Code != http.StatusOK { + t.Fatalf("live POST status = %d, body = %s", postResponse.Code, postResponse.Body.String()) + } + + getResponse := httptest.NewRecorder() + apiBattleReport(getResponse, httptest.NewRequest(http.MethodGet, "/api/battle_report", nil)) + var result struct { + IsLive bool `json:"is_live"` + Revision int64 `json:"revision"` + Report common.BattleReport `json:"report"` + } + if err := json.Unmarshal(getResponse.Body.Bytes(), &result); err != nil { + t.Fatal(err) + } + if !result.IsLive || result.Report.EndStatus != "LIVE" || result.Report.StageID != 1052106 { + t.Fatalf("unexpected live response: %+v", result) + } + if result.Report.TeamTotalDamage != 400 || result.Report.Avatars[0].DamagePercent != 100 || result.Revision == 0 { + t.Fatalf("unexpected live damage values: %+v", result.Report) + } + + avatarSnapshots := []*goproto.AvatarBattleInfo{ + { + Id: 1409, StageId: 1052106, TotalDamage: 600, TotalTurns: 2, + AttackTypeDamage: []*goproto.AttackDamageProperty{{AttackType: "BPSkill", Damage: 600}}, + }, + { + Id: 1507, StageId: 1052106, TotalDamage: 400, TotalTurns: 1, + AttackTypeDamage: []*goproto.AttackDamageProperty{{AttackType: "Normal", Damage: 400}}, + }, + } + avatarStatisticsBase64 := make([]string, 0, len(avatarSnapshots)) + for _, avatar := range avatarSnapshots { + wire, err := proto.Marshal(avatar) + if err != nil { + t.Fatal(err) + } + avatarStatisticsBase64 = append(avatarStatisticsBase64, base64.StdEncoding.EncodeToString(wire)) + } + requestBody, err = json.Marshal(liveBattleReportRequest{ + Active: true, + AvatarStatisticsBase64: avatarStatisticsBase64, + TotalBattleTurns: 3, + }) + if err != nil { + t.Fatal(err) + } + post = httptest.NewRequest(http.MethodPost, "/api/battle_report/live", strings.NewReader(string(requestBody))) + postResponse = httptest.NewRecorder() + apiBattleReportLive(postResponse, post) + if postResponse.Code != http.StatusOK { + t.Fatalf("avatar snapshot POST status = %d, body = %s", postResponse.Code, postResponse.Body.String()) + } + + getResponse = httptest.NewRecorder() + apiBattleReport(getResponse, httptest.NewRequest(http.MethodGet, "/api/battle_report", nil)) + if err := json.Unmarshal(getResponse.Body.Bytes(), &result); err != nil { + t.Fatal(err) + } + if !result.IsLive || result.Report.TotalBattleTurns != 3 || result.Report.TeamTotalDamage != 1000 { + t.Fatalf("unexpected avatar-only live report: %+v", result) + } + if len(result.Report.Avatars) != 2 || result.Report.Avatars[0].DamagePercent != 60 || result.Report.Avatars[1].DamagePercent != 40 { + t.Fatalf("unexpected avatar-only live shares: %+v", result.Report.Avatars) + } + if result.Report.Avatars[0].AttackTypeDamage["BPSkill"] != 600 || result.Report.Avatars[1].AttackTypeDamage["Normal"] != 400 { + t.Fatalf("unexpected avatar-only live breakdown: %+v", result.Report.Avatars) + } + servantWire, _ := proto.Marshal(&goproto.BattleAvatarServantInfo{AvatarId: avatarSnapshots[1].Id, EntityId: 88, TotalDamage: 1000}) + requestBody, _ = json.Marshal(liveBattleReportRequest{ + Active: true, AvatarStatisticsBase64: avatarStatisticsBase64, + ServantStatisticsBase64: []string{base64.StdEncoding.EncodeToString(servantWire)}, + ServantBreakdowns: []liveAvatarBreakdown{{Damage: map[string]float64{"BPSkill": 900}}}, + }) + postResponse = httptest.NewRecorder() + apiBattleReportLive(postResponse, httptest.NewRequest(http.MethodPost, "/api/battle_report/live", strings.NewReader(string(requestBody)))) + if postResponse.Code != http.StatusOK { + t.Fatalf("servant POST: %s", postResponse.Body.String()) + } + getResponse = httptest.NewRecorder() + apiBattleReport(getResponse, httptest.NewRequest(http.MethodGet, "/api/battle_report", nil)) + if err := json.Unmarshal(getResponse.Body.Bytes(), &result); err != nil { + t.Fatal(err) + } + owner := result.Report.Avatars[1] + if !result.IsLive || result.Report.TeamTotalDamage != 2000 || owner.TotalDamage != 1400 || owner.MemospriteDamage != 1000 || + owner.DamagePercent != 70 || owner.AttackTypeDamage["BPSkill"] != 900 { + t.Fatalf("servant data lost through live API: report=%+v owner=%+v", result.Report, owner) + } + + liveBattleReportState.Lock() + liveBattleReportState.received = time.Now().Add(-11 * time.Second) + liveBattleReportState.Unlock() + if _, _, live, err := latestLiveBattleReport(); err != nil || live { + t.Fatalf("expired live report should be ignored, live=%t err=%v", live, err) + } +} diff --git a/internal/sdkserver/api_client_unstuck.go b/internal/sdkserver/api_client_unstuck.go new file mode 100644 index 0000000..265a356 --- /dev/null +++ b/internal/sdkserver/api_client_unstuck.go @@ -0,0 +1,146 @@ +package sdkserver + +import ( + "crypto/rand" + "encoding/hex" + "encoding/json" + "fmt" + "net/http" + "os" + "path/filepath" + "sync" + "time" +) + +const clientUnstuckRequestFile = "scripts/client_unstuck_request.lua" + +type clientUnstuckStatus struct { + RequestID string `json:"request_id"` + State string `json:"state"` + Error string `json:"error,omitempty"` + QueuedAt int64 `json:"queued_at"` + CompletedAt int64 `json:"completed_at,omitempty"` +} + +var clientUnstuckState struct { + sync.Mutex + status clientUnstuckStatus +} + +func queueClientUnstuck() (clientUnstuckStatus, error) { + clientUnstuckState.Lock() + defer clientUnstuckState.Unlock() + var nonce [16]byte + if _, err := rand.Read(nonce[:]); err != nil { + return clientUnstuckStatus{}, err + } + id := hex.EncodeToString(nonce[:]) + // Only a generated hexadecimal nonce is interpolated. No user-supplied + // command, path, endpoint or Lua source can enter this heartbeat script. + script := fmt.Sprintf(clientUnstuckLua, id) + if err := os.MkdirAll(filepath.Dir(clientUnstuckRequestFile), 0700); err != nil { + return clientUnstuckStatus{}, err + } + file, err := os.CreateTemp(filepath.Dir(clientUnstuckRequestFile), ".client-unstuck-*.tmp") + if err != nil { + return clientUnstuckStatus{}, err + } + defer os.Remove(file.Name()) + if _, err = file.WriteString(script); err != nil { + file.Close() + return clientUnstuckStatus{}, err + } + if err = file.Close(); err != nil { + return clientUnstuckStatus{}, err + } + if err = os.Rename(file.Name(), clientUnstuckRequestFile); err != nil { + return clientUnstuckStatus{}, err + } + status := clientUnstuckStatus{RequestID: id, State: "queued", QueuedAt: time.Now().UnixMilli()} + clientUnstuckState.status = status + Log("[UNSTUCK] UI recovery queued request=" + id) + return status, nil +} + +func apiClientUnstuck(w http.ResponseWriter, r *http.Request) { + switch r.Method { + case http.MethodGet: + clientUnstuckState.Lock() + status := clientUnstuckState.status + clientUnstuckState.Unlock() + writeJSON(w, status) + case http.MethodPost: + status, err := queueClientUnstuck() + if err != nil { + http.Error(w, "cannot queue UI recovery", http.StatusInternalServerError) + return + } + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(http.StatusAccepted) + writeJSON(w, status) + default: + http.Error(w, "method not allowed", http.StatusMethodNotAllowed) + } +} + +func apiClientUnstuckResult(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + http.Error(w, "method not allowed", http.StatusMethodNotAllowed) + return + } + var result struct { + RequestID string `json:"request_id"` + Success bool `json:"success"` + Error string `json:"error"` + } + decoder := json.NewDecoder(http.MaxBytesReader(w, r.Body, 8192)) + decoder.DisallowUnknownFields() + if err := decoder.Decode(&result); err != nil { + http.Error(w, "invalid recovery result", http.StatusBadRequest) + return + } + clientUnstuckState.Lock() + defer clientUnstuckState.Unlock() + if result.RequestID == "" || result.RequestID != clientUnstuckState.status.RequestID { + http.Error(w, "recovery request is no longer current", http.StatusConflict) + return + } + clientUnstuckState.status.State = "failed" + if result.Success { + clientUnstuckState.status.State = "completed" + } + clientUnstuckState.status.Error = result.Error + clientUnstuckState.status.CompletedAt = time.Now().UnixMilli() + Log("[UNSTUCK] UI recovery " + clientUnstuckState.status.State + " request=" + result.RequestID) + writeJSON(w, clientUnstuckState.status) +} + +// Named UIManager API observed on the current Client. Clear only network UI +// waits: never close a Battle, change a scene, fabricate a successful gameplay +// response, erase a run, or reset the Client's loading/phase flags. +const clientUnstuckLua = `do + local id = %q + if _G.__GAC_UNSTUCK_HTTP and _G.__GAC_UNSTUCK_HTTP.isDone then + pcall(function() _G.__GAC_UNSTUCK_HTTP:Dispose() end); _G.__GAC_UNSTUCK_HTTP=nil + end + if _G.__GAC_UNSTUCK_LAST ~= id then + _G.__GAC_UNSTUCK_LAST=id + local ok,err=pcall(function() + local ui=CS.RPG.Client.GlobalVars.s_UIManager + if not ui then error('Client UIManager is unavailable') end + ui:ClearWaitNetPacketFullScreenBlock() + end) + CS.UnityEngine.Debug.Log('[GAC_UNSTUCK] request='..id..' success='..tostring(ok)..' '..tostring(err or '')) + pcall(function() + local url=_G.__GAC_SRTOOL_LIVE_URL + if type(url)~='string' or url=='' then return end + local body='{"request_id":"'..id..'","success":'..tostring(ok)..',"error":'..CS.Newtonsoft.Json.JsonConvert.SerializeObject(tostring(err or ''))..'}' + local req=CS.UnityEngine.Networking.UnityWebRequest(url..'/api/client/unstuck/result','POST') + req.uploadHandler=CS.UnityEngine.Networking.UploadHandlerRaw(CS.System.Text.Encoding.UTF8:GetBytes(body)) + req.downloadHandler=CS.UnityEngine.Networking.DownloadHandlerBuffer() + req:SetRequestHeader('Content-Type','application/json');req.timeout=10 + req:SendWebRequest();_G.__GAC_UNSTUCK_HTTP=req + end) + end +end +` diff --git a/internal/sdkserver/api_currency_wars.go b/internal/sdkserver/api_currency_wars.go new file mode 100644 index 0000000..765f8ac --- /dev/null +++ b/internal/sdkserver/api_currency_wars.go @@ -0,0 +1,84 @@ +package sdkserver + +import ( + "fmt" + "gac-hkrpg-go/internal/common" + pb "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" + "net/http" + "strconv" + "strings" +) + +func apiCurrencyWarsCommand(w http.ResponseWriter, command string) { + fail := func(err error) { writeJSON(w, map[string]any{"success": false, "output": err.Error()}) } + parts := strings.Fields(command) + usage := "Usage: /cw status | /cw gold | /cw hp . Changes apply in CW Preparation; adventure inventory is unchanged." + if len(parts) < 2 { + fail(fmt.Errorf("%s", usage)) + return + } + catalog, err := common.LoadCurrencyWarsCatalog() + if err != nil { + fail(err) + return + } + cfg, err := common.LoadRuntimeConfig() + if err != nil { + fail(err) + return + } + snapshot, err := common.ReadCurrencyWarsSnapshot(cfg.PlayerUID, catalog.ClientVersion, catalog.Provenance.GameAssemblySHA256) + if err != nil { + fail(err) + return + } + if snapshot == nil { + fail(fmt.Errorf("no saved CW run")) + return + } + var data pb.GridFightGetDataScRsp + if err = proto.Unmarshal(snapshot.WireData, &data); err != nil { + fail(err) + return + } + run := data.DHFOFLFCLAH + if run == nil { + fail(fmt.Errorf("no active CW run")) + return + } + var player *pb.NIHNGPKHEPC + for _, c := range run.NAGDJGMMCBE { + if v := c.GetFAOCFBOFCJP(); v != nil { + player = v + } + } + if player == nil { + fail(fmt.Errorf("CW player state missing")) + return + } + field := strings.ToLower(parts[1]) + if field == "status" && len(parts) == 2 { + writeJSON(w, map[string]any{"success": true, "output": fmt.Sprintf("CW run=%d revision=%d gold=%d hp=%d/%d level=%d", run.UniqueId, snapshot.Revision, player.Gold, player.GridFightLineupHp, player.PPKKHHNEOHB, player.EHNJDIDABHD)}) + return + } + if len(parts) != 3 || (field != "gold" && field != "hp") { + fail(fmt.Errorf("%s", usage)) + return + } + value, err := strconv.ParseUint(parts[2], 10, 32) + if err != nil { + fail(fmt.Errorf("value must be a nonnegative uint32")) + return + } + if field == "hp" && (value == 0 || value > uint64(player.PPKKHHNEOHB)) { + fail(fmt.Errorf("HP must be 1..%d", player.PPKKHHNEOHB)) + return + } + id, err := common.QueueCurrencyWarsCommand(cfg.PlayerUID, run.UniqueId, field, uint32(value)) + if err != nil { + fail(err) + return + } + writeJSON(w, map[string]any{"success": true, "state": "queued", "request_id": id, "output": fmt.Sprintf("Queued CW %s=%d for run %d. Applies at the next heartbeat in Preparation.", field, value, run.UniqueId)}) +} diff --git a/internal/sdkserver/api_inventory_test.go b/internal/sdkserver/api_inventory_test.go new file mode 100644 index 0000000..bf55eb5 --- /dev/null +++ b/internal/sdkserver/api_inventory_test.go @@ -0,0 +1,94 @@ +package sdkserver + +import ( + "encoding/json" + "net/http" + "net/http/httptest" + "os" + "path/filepath" + "strings" + "testing" +) + +func TestInventoryMaterialsUpdateIsCatalogBoundAndPreservesSave(t *testing.T) { + root := t.TempDir() + t.Chdir(root) + if err := os.Mkdir("resources", 0o755); err != nil { + t.Fatal(err) + } + if err := os.WriteFile(filepath.Join("resources", "InventoryItemConfig.json"), []byte(`{"item_ids":[101,102,301]}`), 0o644); err != nil { + t.Fatal(err) + } + original := `{"avatars":{"1001":{"level":80}},"battle_config":{},"materials":{"101":4}}` + if err := os.WriteFile("freesr-data.json", []byte(original), 0o644); err != nil { + t.Fatal(err) + } + + request := httptest.NewRequest(http.MethodPost, "/api/inventory/materials", strings.NewReader(`{"updates":[{"item_id":101,"count":0},{"item_id":301,"count":9}]}`)) + response := httptest.NewRecorder() + apiInventoryMaterials(response, request) + if response.Code != http.StatusOK { + t.Fatalf("POST status = %d, body=%s", response.Code, response.Body.String()) + } + var saved map[string]json.RawMessage + raw, err := os.ReadFile("freesr-data.json") + if err != nil { + t.Fatal(err) + } + if err := json.Unmarshal(raw, &saved); err != nil { + t.Fatal(err) + } + var avatars map[string]any + if err := json.Unmarshal(saved["avatars"], &avatars); err != nil || avatars["1001"] == nil { + t.Fatalf("existing avatar data was not preserved: %s", saved["avatars"]) + } + var materials map[string]uint32 + if err := json.Unmarshal(saved["materials"], &materials); err != nil { + t.Fatal(err) + } + if materials["101"] != 0 || materials["301"] != 9 { + t.Fatalf("saved materials = %#v", materials) + } + + reset := httptest.NewRequest(http.MethodPost, "/api/inventory/materials", strings.NewReader(`{"updates":[{"item_id":101,"reset":true}]}`)) + resetResponse := httptest.NewRecorder() + apiInventoryMaterials(resetResponse, reset) + if resetResponse.Code != http.StatusOK { + t.Fatalf("reset status = %d, body=%s", resetResponse.Code, resetResponse.Body.String()) + } + raw, err = os.ReadFile("freesr-data.json") + if err != nil { + t.Fatal(err) + } + if err := json.Unmarshal(raw, &saved); err != nil { + t.Fatal(err) + } + materials = nil + if err := json.Unmarshal(saved["materials"], &materials); err != nil { + t.Fatal(err) + } + if _, exists := materials["101"]; exists || materials["301"] != 9 { + t.Fatalf("reset did not restore default while preserving other edits: %#v", materials) + } + + before := string(raw) + bad := httptest.NewRequest(http.MethodPost, "/api/inventory/materials", strings.NewReader(`{"updates":[{"item_id":999,"count":1}]}`)) + badResponse := httptest.NewRecorder() + apiInventoryMaterials(badResponse, bad) + if badResponse.Code != http.StatusBadRequest { + t.Fatalf("uncatalogued item HTTP status = %d, body=%s", badResponse.Code, badResponse.Body.String()) + } + var errResponse struct { + Status int `json:"status"` + } + if err := json.Unmarshal(badResponse.Body.Bytes(), &errResponse); err != nil || errResponse.Status != http.StatusBadRequest { + t.Fatalf("uncatalogued item response = %s", badResponse.Body.String()) + } + after, err := os.ReadFile("freesr-data.json") + if err != nil { + t.Fatal(err) + } + if string(after) != before { + t.Fatal("uncatalogued item update modified freesr-data.json") + } +} diff --git a/internal/sdkserver/api_tool_session.go b/internal/sdkserver/api_tool_session.go new file mode 100644 index 0000000..065a835 --- /dev/null +++ b/internal/sdkserver/api_tool_session.go @@ -0,0 +1,28 @@ +package sdkserver + +import ( + "encoding/json" + "gac-hkrpg-go/internal/common" + "net/http" +) + +func apiToolSession(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + http.Error(w, "method not allowed", http.StatusMethodNotAllowed) + return + } + var req struct { + Connected bool `json:"connected"` + Client string `json:"client"` + } + if err := json.NewDecoder(r.Body).Decode(&req); err != nil || (r.Header.Get("X-GaC-Srtool") != "1" && req.Client != "GaC-Srtool") { + http.Error(w, "explicit Srtool connection required", http.StatusBadRequest) + return + } + seconds, err := common.SetSrtoolConnection(req.Connected) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + writeJSON(w, map[string]any{"status": 200, "connected": req.Connected, "lease_seconds": seconds}) +} diff --git a/internal/sdkserver/battle_live_breakdown.go b/internal/sdkserver/battle_live_breakdown.go new file mode 100644 index 0000000..9a66288 --- /dev/null +++ b/internal/sdkserver/battle_live_breakdown.go @@ -0,0 +1,61 @@ +package sdkserver + +import ( + "fmt" + pb "gac-hkrpg-go/protocol/proto" + "math" + "sort" +) + +type liveAvatarBreakdown struct { + Damage map[string]float64 `json:"attack_type_damage"` + BreakDamage map[string]float64 `json:"attack_type_break_damage"` + MaxDamage map[string]float64 `json:"attack_type_max_damage"` +} + +func liveDamageProperties(values map[string]float64) ([]*pb.AttackDamageProperty, error) { + if len(values) > 64 { + return nil, fmt.Errorf("too many attack types") + } + keys := make([]string, 0, len(values)) + for key, value := range values { + if key == "" || len(key) > 128 || math.IsNaN(value) || math.IsInf(value, 0) || value < 0 { + return nil, fmt.Errorf("invalid native attack-type statistic") + } + keys = append(keys, key) + } + sort.Strings(keys) + list := make([]*pb.AttackDamageProperty, 0, len(keys)) + for _, key := range keys { + list = append(list, &pb.AttackDamageProperty{AttackType: key, Damage: values[key]}) + } + return list, nil +} + +func applyLiveAvatarBreakdowns(avatars []*pb.AvatarBattleInfo, values []liveAvatarBreakdown) error { + if len(values) == 0 { + return nil + } + if len(values) != len(avatars) { + return fmt.Errorf("native breakdown count does not match avatars") + } + for i, value := range values { + if avatars[i] == nil { + return fmt.Errorf("missing native avatar") + } + for _, pair := range []struct { + values map[string]float64 + target *[]*pb.AttackDamageProperty + }{{value.Damage, &avatars[i].AttackTypeDamage}, {value.BreakDamage, &avatars[i].AttackTypeBreakDamage}, {value.MaxDamage, &avatars[i].AttackTypeMaxDamage}} { + if pair.values == nil { + continue + } + properties, err := liveDamageProperties(pair.values) + if err != nil { + return err + } + *pair.target = properties + } + } + return nil +} diff --git a/internal/sdkserver/battle_live_breakdown_test.go b/internal/sdkserver/battle_live_breakdown_test.go new file mode 100644 index 0000000..de3a7ee --- /dev/null +++ b/internal/sdkserver/battle_live_breakdown_test.go @@ -0,0 +1,26 @@ +package sdkserver + +import ( + pb "gac-hkrpg-go/protocol/proto" + "testing" +) + +func TestLiveNativeDictionariesSupplyBreakdownWithoutReplacingAggregate(t *testing.T) { + avatars := []*pb.AvatarBattleInfo{{Id: 10, TotalDamage: 1200}, {Id: 11}} + err := applyLiveAvatarBreakdowns(avatars, []liveAvatarBreakdown{ + {Damage: map[string]float64{"ElationDamage": 700, "TrueDamage": 300}, MaxDamage: map[string]float64{"ElationDamage": 400}}, + {Damage: map[string]float64{}}, + }) + if err != nil { + t.Fatal(err) + } + if avatars[0].TotalDamage != 1200 || len(avatars[0].AttackTypeDamage) != 2 || avatars[0].AttackTypeMaxDamage[0].Damage != 400 || len(avatars[1].AttackTypeDamage) != 0 { + t.Fatalf("native data was replaced or lost: %v", avatars) + } + if err := applyLiveAvatarBreakdowns(avatars, []liveAvatarBreakdown{{}}); err == nil { + t.Fatal("accepted a mismatched avatar count") + } + if _, err := liveDamageProperties(map[string]float64{"Normal": -1}); err == nil { + t.Fatal("accepted negative damage") + } +} diff --git a/internal/sdkserver/battle_live_servants.go b/internal/sdkserver/battle_live_servants.go new file mode 100644 index 0000000..210b335 --- /dev/null +++ b/internal/sdkserver/battle_live_servants.go @@ -0,0 +1,52 @@ +package sdkserver + +import ( + "encoding/base64" + "fmt" + pb "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" +) + +func applyLiveServantStatistics(statistics *pb.BattleStatistics, encoded []string, breakdowns []liveAvatarBreakdown) error { + if len(encoded) == 0 && len(breakdowns) == 0 { + return nil + } + if len(encoded) > 64 || (len(breakdowns) != 0 && len(breakdowns) != len(encoded)) { + return fmt.Errorf("invalid servant statistics count") + } + if statistics.GetIAGKLJEKAOL() != nil && len(statistics.IAGKLJEKAOL.GFOAHHHNBJC) != 0 { + return fmt.Errorf("servant statistics must use a single source") + } + servants := make([]*pb.BattleAvatarServantInfo, 0, len(encoded)) + totalBytes := 0 + for i, value := range encoded { + wire, err := base64.StdEncoding.Strict().DecodeString(value) + if err != nil || len(wire) == 0 || len(wire) > 2<<20-totalBytes { + return fmt.Errorf("invalid or oversized servant protobuf") + } + totalBytes += len(wire) + servant := &pb.BattleAvatarServantInfo{} + if err := proto.Unmarshal(wire, servant); err != nil || servant.AvatarId == 0 { + return fmt.Errorf("invalid BattleAvatarServantInfo protobuf") + } + if len(breakdowns) != 0 { + // Reuse the validation and dictionary hydration used for avatars. + temporary := &pb.AvatarBattleInfo{} + if err := applyLiveAvatarBreakdowns([]*pb.AvatarBattleInfo{temporary}, breakdowns[i:i+1]); err != nil { + return err + } + if breakdowns[i].Damage != nil { + servant.AttackTypeDamage = temporary.AttackTypeDamage + } + if breakdowns[i].BreakDamage != nil { + servant.AttackTypeBreakDamage = temporary.AttackTypeBreakDamage + } + if breakdowns[i].MaxDamage != nil { + servant.AttackTypeMaxDamage = temporary.AttackTypeMaxDamage + } + } + servants = append(servants, servant) + } + statistics.IAGKLJEKAOL = &pb.OHDHNDMJFAP{GFOAHHHNBJC: servants} + return nil +} diff --git a/internal/sdkserver/battle_live_servants_test.go b/internal/sdkserver/battle_live_servants_test.go new file mode 100644 index 0000000..5bed143 --- /dev/null +++ b/internal/sdkserver/battle_live_servants_test.go @@ -0,0 +1,28 @@ +package sdkserver + +import ( + "encoding/base64" + pb "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" + "testing" +) + +func TestLiveServantHydratesNativeCategories(t *testing.T) { + wire, _ := proto.Marshal(&pb.BattleAvatarServantInfo{AvatarId: 20, TotalDamage: 1000}) + encoded := []string{base64.StdEncoding.EncodeToString(wire)} + stats := &pb.BattleStatistics{} + err := applyLiveServantStatistics(stats, encoded, []liveAvatarBreakdown{{Damage: map[string]float64{"BPSkill": 800}}}) + if err != nil { + t.Fatal(err) + } + servant := stats.IAGKLJEKAOL.GFOAHHHNBJC[0] + if servant.AvatarId != 20 || servant.TotalDamage != 1000 || servant.AttackTypeDamage[0].Damage != 800 { + t.Fatalf("native servant aggregate/categories lost: %+v", servant) + } + if applyLiveServantStatistics(stats, encoded, nil) == nil { + t.Fatal("accepted two servant statistic sources") + } + if applyLiveServantStatistics(&pb.BattleStatistics{}, nil, []liveAvatarBreakdown{{}}) == nil { + t.Fatal("accepted unmatched breakdowns") + } +} diff --git a/internal/sdkserver/battle_report_details.go b/internal/sdkserver/battle_report_details.go new file mode 100644 index 0000000..711a268 --- /dev/null +++ b/internal/sdkserver/battle_report_details.go @@ -0,0 +1,48 @@ +package sdkserver + +import ( + "fmt" + "math" + + "gac-hkrpg-go/internal/common" +) + +// Final packets omit detailed statistics on this Client. Attach the native +// snapshot only to an already received result with the same counters and team. +// Keep the server's outcome, scene identity and monster analysis. +func saveFinalBattleDetails(details *common.BattleReport) error { + base, err := common.LoadLatestBattleReport() + if err != nil { + return fmt.Errorf("completed battle result is not available yet") + } + if details == nil || details.TotalBattleTurns != base.TotalBattleTurns || + math.Abs(details.CostTime-base.CostTime) > 0.001 || + (details.StageID != 0 && details.StageID != base.StageID) || + (details.BattleID != 0 && details.BattleID != base.BattleID) || + len(details.Avatars) != len(base.Avatars) { + return fmt.Errorf("native statistics do not match the completed battle") + } + ids := make(map[uint32]bool, len(base.Avatars)) + slots := make(map[uint32]*uint32, len(base.Avatars)) + for _, a := range base.Avatars { + if a != nil { + ids[a.AvatarID] = true + slots[a.AvatarID] = a.Slot + } + } + for _, a := range details.Avatars { + if a == nil || !ids[a.AvatarID] { + return fmt.Errorf("native statistics team does not match the completed battle") + } + delete(ids, a.AvatarID) + if a.Slot == nil { + a.Slot = slots[a.AvatarID] + } + } + if len(ids) != 0 { + return fmt.Errorf("native statistics team is incomplete") + } + base.Avatars = details.Avatars + base.TeamTotalDamage, base.TeamTotalHeal, base.TeamTotalShield = details.TeamTotalDamage, details.TeamTotalHeal, details.TeamTotalShield + return common.SaveBattleReport(base) +} diff --git a/internal/sdkserver/battle_report_details_test.go b/internal/sdkserver/battle_report_details_test.go new file mode 100644 index 0000000..36e138c --- /dev/null +++ b/internal/sdkserver/battle_report_details_test.go @@ -0,0 +1,40 @@ +package sdkserver + +import ( + "gac-hkrpg-go/internal/common" + "testing" +) + +func TestFinalDetailsPreserveOutcomeAndMonstersAndRejectAnotherBattle(t *testing.T) { + t.Chdir(t.TempDir()) + base := &common.BattleReport{BattleID: 1, StageID: 23, EndStatus: "WIN", Timestamp: 123, CostTime: 12.3456789, TotalBattleTurns: 9, + Avatars: []*common.BattleAvatarReport{{AvatarID: 10}, {AvatarID: 11}}, Monsters: []*common.BattleMonsterReport{{MonsterID: 12}}} + if err := common.SaveBattleReport(base); err != nil { + t.Fatal(err) + } + details := &common.BattleReport{CostTime: 12.345679, TotalBattleTurns: 9, TeamTotalDamage: 800, + Avatars: []*common.BattleAvatarReport{{AvatarID: 11, TotalDamage: 800, DamagePercent: 100, AttackTypeDamage: map[string]float64{"Normal": 800}}, {AvatarID: 10, TotalHeal: 400}}} + if err := saveFinalBattleDetails(details); err != nil { + t.Fatal(err) + } + got, err := common.LoadLatestBattleReport() + if err != nil { + t.Fatal(err) + } + if got.EndStatus != "WIN" || got.BattleID != 1 || got.StageID != 23 || got.Timestamp != 123 || len(got.Monsters) != 1 || got.TeamTotalDamage != 800 || got.Avatars[0].DamagePercent != 100 || got.Avatars[1].TotalHeal != 400 { + t.Fatalf("bad final merge: %+v", got) + } + details.CostTime = 99 + if err := saveFinalBattleDetails(details); err == nil { + t.Fatal("accepted different battle duration") + } + details.CostTime = 12.345679 + details.Avatars[0].AvatarID = 999 + if err := saveFinalBattleDetails(details); err == nil { + t.Fatal("accepted different team") + } + after, _ := common.LoadLatestBattleReport() + if after.Avatars[0].AvatarID != 11 { + t.Fatal("rejected request changed saved report") + } +} diff --git a/internal/sdkserver/player_data_update.go b/internal/sdkserver/player_data_update.go new file mode 100644 index 0000000..9dca83b --- /dev/null +++ b/internal/sdkserver/player_data_update.go @@ -0,0 +1,104 @@ +package sdkserver + +import ( + "encoding/json" + "fmt" + "os" + + "gac-hkrpg-go/internal/common" +) + +// POST patches fields; PUT explicitly replaces a complete player document. +// Keep raw JSON values so unrelated IDs and numeric values are not rounded. +func preparePlayerDataUpdate(existing, payload []byte, replace bool) ([]byte, error) { + var patch map[string]json.RawMessage + if err := json.Unmarshal(payload, &patch); err != nil || patch == nil { + return nil, fmt.Errorf("player data must be a JSON object") + } + result := make(map[string]json.RawMessage) + if replace { + for _, key := range []string{"avatars", "lightcones", "relics", "battle_config"} { + if _, present := patch[key]; !present { + return nil, fmt.Errorf("full replacement is missing %s; use POST for a partial update", key) + } + } + // FreeSR exports do not necessarily include the inventory editor's + // material overrides. Omission preserves them; an explicit materials + // object (including zero counts or {}) still replaces that field. + if _, present := patch["materials"]; !present && len(existing) != 0 { + var current map[string]json.RawMessage + if err := json.Unmarshal(existing, ¤t); err != nil || current == nil { + return nil, fmt.Errorf("existing player data is invalid; restore it before applying updates") + } + if value, present := current["materials"]; present { + result["materials"] = value + } + } + } else if err := json.Unmarshal(existing, &result); err != nil || result == nil { + return nil, fmt.Errorf("existing player data is invalid; restore it before applying updates") + } + for key, value := range patch { + if key == "avatars" && !replace { + var incoming map[string]json.RawMessage + if err := json.Unmarshal(value, &incoming); err != nil || len(incoming) == 0 { + return nil, fmt.Errorf("avatars update must be a non-empty object") + } + current := make(map[string]json.RawMessage) + if raw, found := result[key]; found { + if err := json.Unmarshal(raw, ¤t); err != nil || current == nil { + return nil, fmt.Errorf("existing avatars data is invalid") + } + } + for id, avatar := range incoming { + current[id] = avatar + } + merged, err := json.Marshal(current) + if err != nil { + return nil, err + } + result[key] = merged + } else { + result[key] = value + } + } + out, err := json.MarshalIndent(result, "", " ") + if err != nil { + return nil, err + } + var data common.FreesrData + if err := json.Unmarshal(out, &data); err != nil { + return nil, fmt.Errorf("invalid player data: %w", err) + } + if err := common.ValidateAvatarRoster(data.Avatars); err != nil { + return nil, err + } + if saved, err := common.ReadPersistent(); err == nil { + if err := common.ValidateAdventureLineup(data.Avatars, saved.Lineups); err != nil { + return nil, err + } + } else if !os.IsNotExist(err) { + return nil, fmt.Errorf("cannot validate active lineup: %w", err) + } + return out, nil +} + +func writePlayerDataAtomic(data []byte) error { + file, err := os.CreateTemp(".", ".gac-freesr-*.tmp") + if err != nil { + return err + } + name := file.Name() + defer os.Remove(name) + if _, err := file.Write(data); err != nil { + file.Close() + return err + } + if err := file.Sync(); err != nil { + file.Close() + return err + } + if err := file.Close(); err != nil { + return err + } + return os.Rename(name, "freesr-data.json") +} diff --git a/internal/sdkserver/server.go b/internal/sdkserver/server.go index 11348bd..819c459 100644 --- a/internal/sdkserver/server.go +++ b/internal/sdkserver/server.go @@ -220,8 +220,10 @@ type accountPayload struct { func (a *appState) standardAccount() map[string]any { return map[string]any{ + "name": a.runtime.AccountName, + "account_name": a.runtime.AccountName, "area_code": "**", - "email": "ReversedRooms", + "email": a.runtime.AccountName, "country": "RU", "is_email_verify": "1", "token": "mostsecuretokenever", @@ -275,13 +277,15 @@ func (a *appState) apnLoginReply(w http.ResponseWriter) { "data": map[string]any{ "token": map[string]any{"token": "mostsecuretokenever", "token_type": 1}, "user_info": map[string]any{ + "name": a.runtime.AccountName, + "account_name": a.runtime.AccountName, "aid": fmt.Sprint(a.runtime.PlayerUID), "mid": fmt.Sprint(a.runtime.PlayerUID), "is_email_verify": 1, "area_code": "**", "country": "US", "is_adult": 1, - "email": "motorized@wheel.chair", + "email": a.runtime.AccountName, }, }, "message": "OK", @@ -294,13 +298,15 @@ func (a *appState) apnVerifyReply(w http.ResponseWriter) { "data": map[string]any{ "tokens": []any{map[string]any{"token": "mostsecuretokenever", "token_type": 1}}, "user_info": map[string]any{ + "name": a.runtime.AccountName, + "account_name": a.runtime.AccountName, "aid": fmt.Sprint(a.runtime.PlayerUID), "mid": fmt.Sprint(a.runtime.PlayerUID), "is_email_verify": 1, "area_code": "**", "country": "US", "is_adult": 1, - "email": "motorized@wheel.chair", + "email": a.runtime.AccountName, }, }, "message": "OK", diff --git a/persistent b/persistent index 296e789..25df5f6 100644 --- a/persistent +++ b/persistent @@ -1,6 +1,17 @@ { - "active_team_preset": 2, + "active_team_preset": 3, "auto_technique_food": true, + "currency_wars": { + "52022": { + "format_version": 1, + "uid": 52022, + "client_version": "4.6.53", + "assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "revision": 171, + "wire_data": "GkBCHAoAMgoIAhIGCEg4BmgCMgoIARIGCCE4BmgBWAJiIBCFnQEgAkoQGgAiACoAMgA6AFoAcgB6AFIAWAFyAHgGOtcOGAIyCSoH+q8VzozaEEgBUp8BGg0IBCoGSgL1TnBp4hQAGk8ICCoGSgLpUnBpqi1CegQIAxAEegQICBA8egQIBhAkegQICRBIegQIChAAegQIBRAQegQIBBAGegQIARACegQIAhACegQICxAAegQIBxAwGgwICSoFSgEAcAX6NQAaDQgTKgZKAsk+cG/6XwAaDwg4KgZKAsMXcGu6ZQIgAhoPCF4qBkoC3R9wa7plAiABYiZiJAhkEAUYCiAHMAk4CkCD3f8PUGRYCmAEshgA0jQE1fuxA4JRAGL6BAr3BBILCAcYBjIDAwQFWAsqZRgBKJLPCDBgOAVCBQg5EPABQgUI9gcQZEIFCDUQ4ANCBQj1BxBkQgUIIBC0AUIFCPsHEGRCBQgxELQBQgUINBDwAUIFCCEQ4ANCBQg7EMIDQgUILBCwAkIFCCIQuANCBQiBCBBkKmUYASielgkwZTgHQgUINRDgA0IFCPsHEGRCBQj2BxBkQgUIMRC0AUIFCCEQ4ANCBQg5EPABQgUINBDwAUIFCCAQtAFCBQiBCBBkQgUI9QcQZEIFCDsQwgNCBQgiELgDQgUILBCwAiplGAIo5pcJMGw4AUIFCPsHEGRCBQj1BxBkQgUIORDwAUIFCCAQtAFCBQghEOADQgUINBDwAUIFCCwQsAJCBQg7EMIDQgUIIhC4A0IFCDEQtAFCBQg1EOADQgUI9gcQZEIFCIEIEGQqZRgCKKrwJDBtOAZCBQg5EPABQgUIIhC4A0IFCCEQ4ANCBQg0EPABQgUILBCwAkIFCPUHEGRCBQiBCBBkQgUIMRC0AUIFCPsHEGRCBQj2BxBkQgUIIBC0AUIFCDUQ4ANCBQg7EMIDKmUYAijWswcwcjgCQgUIIRDgA0IFCIEIEGRCBQg5EPABQgUINRDgA0IFCDsQwgNCBQj7BxBkQgUI9gcQZEIFCDQQ8AFCBQgiELgDQgUIIBC0AUIFCDEQtAFCBQj1BxBkQgUILBCwAiplGAIo5rYHMHU4CEIFCDEQtAFCBQj7BxBkQgUI9gcQZEIFCPUHEGRCBQgsELACQgUIOxDCA0IFCDkQ8AFCBQgiELgDQgUIIRDgA0IFCIEIEGRCBQg1EOADQgUINBDwAUIFCCAQtAFiLDIqKgwIARAEWANo5tGpqQEqDAgBEARYBGjq36+pASoMCAEQBFgFaPbbr6kBYpoCepcCCh4SBBAFKAESBBAKKAISBBAUKAMSBBAoKAQSBBAZKAUaC2gE2lcGGAF4rpkJGgtoBNpXBhgBeOa2BxoLaAPaVwYYAXjuqwcaC2gF2lcGGAF4yoIIGgtoBNpXBhgBeNqbCWgCerEBspAGlpEG3t0Gpt8G7uAG4uQG7qsH0qwHtq0H4q8HqrEHjrIH8rIH1rMHurQHnrUH5rYHyrcHkrkH9rkH2roHorwHhr0H4voHqvwHjv0H8v0H1v4Huv8H5oEIyoIIroMI9oQIhogIxsYIqscIjsgI8sgI1skIusoInssIgswI5swIys0Iks8I9s8IvtEI1pQJupUJnpYJgpcJ5pcJypgJrpkJ2psJvpwJop0Jhp4JhvEwYgIaAGKwBBKtBBocEggIk5OL7wEwARIHCJ/JuAEwARIHCJrKx18wASgBMgJgGzICYBkyAmAGOPEVQAJaAGIXCAEoAUIREIG7sCEyAoQHOI7RBWAFcAFiGggCKAFCFBCDu7AhIAEyAWU47c4FQAFgCnACYhAIAygBQgoQhbuwITIBAXAFYhYIBCgBQhAQhruwITIBcTjuzgVgCnADYiYIBSgBQiAQiLuwIRoF0CP2nAYyAoYHOKzQBVgBYApwAXoEmczuBGIWCAYoAUIQEIm7sCEyAWk4yM8FYA9wBGIbCAEoAkIVEIq7sCEgATICyQE4984FQAFgCnACYhAIAigCQgoQjLuwITIBAnAFYhcIAygCQhEQjbuwITIC1QE4+M4FYApwA2IXCAQoAkIREI+7sCEyAocHOK3QBWAKcAFiFwgFKAJCERCQu7AhMgLNATjJzwVgD3AEYhkIASgDQhMQkbuwITICrQI4gc8FQAFgCnACYhAIAigDQgoQk7uwITIBA3AFYhcIAygDQhEQlLuwITICzQI4gs8FYApwA2IXCAQoA0IREJa7sCEyAogHOK7QBWAKcAFiFQgFKANCDxCXu7AhMgLrFzjKzwVwBGpl4gJiUA1aXAogWAFiCAi+ssj9AjACYggI8Zf/7gEwAmIICPGX/+4BMAEKNFgCYggIvrLI/QIwAWIICOC+hf4CMAFiCAi+ssj9AjABYggI8Zf/7gEwAWIICMPGhf4CMAFY7c4FaAFyAhoAYgpCCGIGKAFYhY4GYjNSMUIJMgTHPsk+WMc+QgkyBINWhFZYg1ZaBwimlAZiAQZaBwi2ngxiAQZaBwiqogxiAQZiAGIeahwwS0IJCNKWBhDX8KAwQgkIwpMGENe7iDBYj5w9YgPSZwBiAioAYg2CfAoaCAgBQPacBkgCcIWdAQ==" + } + }, + "currency_wars_commands": [], "dressed_skins": {}, "enable_aha_global": true, "enable_castorice_global": true, @@ -11,23 +22,69 @@ "1308": true }, "lineups": { - "0": 1407, - "1": 1413, - "2": 1415, - "3": 1409 + "0": 1408, + "1": 1412, + "2": 1313, + "3": 1414 }, - "main_character": "FemaleHarmony", + "main_character": "MaleElation", "march_type": "MarchHunt", + "player_outfits": [ + 1013, + 3001, + 4001 + ], "position": { - "rot_y": 340000, - "x": 25709, - "y": 3473, - "z": -155597 + "rot_y": 0, + "x": -998, + "y": 96401, + "z": 152165 + }, + "profile": { + "display_avatars": [ + { + "avatar_id": 1506, + "pos": 0 + }, + { + "avatar_id": 1501, + "pos": 1 + }, + { + "avatar_id": 1511, + "pos": 2 + }, + { + "avatar_id": 1503, + "pos": 3 + }, + { + "avatar_id": 1414, + "pos": 4 + } + ], + "head_icon": 201408, + "signature": "test" }, "scene": { - "entry_id": 2057201, - "floor_id": 20572001, - "plane_id": 20572 + "entry_id": 2032202, + "floor_id": 20322001, + "plane_id": 20322 + }, + "scene_group_properties": { + "20571001": { + "121": { + "FirstEncounter": 1 + } + }, + "20572001": { + "101": { + "LG_110002__179_PortalState_Auto": 0 + }, + "88": { + "PuzzleState": 1 + } + } }, "team_presets": { "0": { @@ -37,7 +94,7 @@ "2": 1507, "3": 1414 }, - "favourite": true, + "favourite": false, "leader_slot": 0, "name": "Team 1" }, @@ -60,7 +117,7 @@ "3": 1409 }, "favourite": true, - "leader_slot": 0, + "leader_slot": 3, "name": "SW5513 N2" }, "3": { @@ -87,18 +144,40 @@ }, "5": { "avatars": { - "0": 1408, - "1": 1412, - "2": 1512, - "3": 1217 + "0": 1513, + "1": 1504, + "2": 1507, + "3": 1409 + }, + "favourite": false, + "leader_slot": 0, + "name": "SW20275 N3" + }, + "6": { + "avatars": { + "0": 1204, + "1": 1313, + "2": 1403, + "3": 1409 + }, + "favourite": false, + "leader_slot": 0, + "name": "Team 7" + }, + "7": { + "avatars": { + "0": 1213, + "1": 1306, + "2": 1403, + "3": 1409 }, "favourite": true, "leader_slot": 0, - "name": "SW20275 N3" + "name": "Team 8" } }, "technique_food_stock": { - "400006": 96, + "400006": 93, "401033": 100, "402029": 100, "408002": 100, diff --git a/resources/CurrencyWarsBattleTemplates.json b/resources/CurrencyWarsBattleTemplates.json new file mode 100644 index 0000000..4eb9ec2 --- /dev/null +++ b/resources/CurrencyWarsBattleTemplates.json @@ -0,0 +1,8 @@ +{ + "battle_wire": "GlkqHgjEvML9AmoWmgsTEAFKBggGEGYYAUoHCAYQzAEYASoWCK/Ewv0Cag6aCwsQAUoHCAYQywEYASoWCIWtwv0Cag6aCwsQAUoHCAYQxwEYAWgBegUYmA4wBSCkopS6BygBQlAIARC+9OEBGFAyBwixp7IFEAEyBwiyp7IFEAEyBwizp7IFEAEyBwi0p7IFEAEyBwi3p7IFEAE6CgiypAEQUBgGIAFAkE5QBoIBAxCQTpgBAXIMCLn/BxABIP////8Pch8IsIU9EAEg/////w8yEQoKU2tpbGxJbmRleBUAAIA/cgwIuYU9EAEg/////w9yEwiJpvcQEAEY/////w8g/////w94gbuwIYICmQIYZCADOg4I6o4GKggIBhACGAcgAjoOCM6PBioICAYQAhgHIAI6EAjCkwYqCggHEAEYuv8HIAE6DgiKlQYqCAgGEAIYByACOhAItp4MKgoIBxABGLr/ByABQnIIuv8HEAEYAUCeClIFCCAQtAFSBQgiELgDUgUILBCwAlIFCDQQ8AFSBQg1EOADUgUIOxDCA1IFCPUHEGRSBQj2BxBkUgUIIRDgA1IFCDEQtAFSBQg5EPABUgUI+wcQZFIFCIEIEGRYB2IIqgYCCAKyBgBIjtEFWgkI8RUQARgBIAFgAWgCcgIIdIABhZ0BigEkCAYQBxgLIggQjs2pqQEoAyIIEMrSqakBKAQiCBCqzKmpASgFmAECugEECI2cPfoqBAgFEgD6KgQIARIA+ioECAISAPoqBAgDEgD6KgQIBBIAgi4LCNBXEgYSBBCgjQaCLgwI7tQDEgYSBBCgjQaCLhAI9NQDEgoSCAjwogQQoI0Ggi4MCPfUAxIGEgQQoI0Ggi4MCPjUAxIGEgQQwJoMgi4QCPzUAxIKEggIoI0GEKCNBoIuDAiE1QMSBhIEEMC4AoIuEAiN1QMSChIICODUAxDg1AOCLgwIj9UDEgYSBBCgjQaqPAA=", + "format_version": 1, + "scope": "Captured first-node enemy recipe only. Runtime replaces party, roles, portal, NPC, equipment and player state. Other nodes need their own recipes.", + "source_binary_sha256": "a02743d89dd75a024f83e37b35ed125f1781a90e70bfb47341dd81ff3d541858", + "target_assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "target_client_version": "4.6.53" +} diff --git a/resources/CurrencyWarsCatalog.json b/resources/CurrencyWarsCatalog.json new file mode 100644 index 0000000..b2fc0a2 --- /dev/null +++ b/resources/CurrencyWarsCatalog.json @@ -0,0 +1,43519 @@ +{ + "client_version": "4.6.53", + "provenance": { + "game_assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "captures": [ + { + "sha256": "4909348bdc50ca4a6b9603d70e19f7d488a84170eec4d24677fc14110a86727c" + }, + { + "sha256": "b398ba5a3cd618e4b461f01e5c35ec2362a4b07af9df0bdf76f99fc900ce6cda" + } + ], + "source": "GridFightModule.GetSeason(native season ID, native subseason ID).SeasonDivision.SeasonDivisionConfigs", + "scope": "Captured division catalog, constants, active stage wrappers and default handbook roles; not a completed CW ruleset", + "constants_capture_sha256": "17a8b4a7c4621ee44048df79e78f145951087ec0814c2891c6f8f0564a4600ae", + "gameplay_capture_sha256": "ab955839eee188e4d3f92d7af9d650d80d08a3a33cd0d3b4ae08175fca620909", + "gameplay_scope": { + "stage_wrappers": "GridFightModule.DivisionInfo.GetStagesShown(false); fresh profile, no enabled talents", + "roles": "GridFightModule.GetHandBookAllRoleConfig default RoleConfig._Row and wrapper getters; does not enumerate OtherRoles, hidden pool entries or variants" + }, + "entrance_capture_sha256": "bdc8610dfd9f47150287fcde72d70bda32be976438c1f44243c49784757fb8fc", + "entrance_source": "Native GridFight_EntranceID -> MapEntrance start group/anchor -> RuntimeGroup.AnchorList, world transform; no level graph execution", + "room_unlock_policy": "User requested playable CW. On the native CW entrance only, use captured RuntimeDimension MaxValue for the saved-value names referenced by its room activation conditions (PearlSR scene_mgr.zig freeplay policy). This overrides stale inline res.json zeros; not an official quest snapshot. Client-managed groups retain native ownership.", + "room_capture_sha256": "68103c24b012e72d16c0ad5d6c654ee1146feb51e87d7d52ab85fb943711ab41", + "comparison_capture_sha256": "13a64d9766d5d13645361bc4dcf5f019241aebb1c4b031999e7882dfcd59ad7d", + "room_source": "Groups selected by the entrance RuntimeGroup's exact native activity tag. Retain non-deleted, initially loaded, IsClientOnly=false prop metadata and captured saved-value activation condition. Client-managed group graph is not loaded/executed by the exporter. Server applies the saved-value profile, leaving group/prop creation to the Client; room visibility/interaction still needs Client verification.", + "routes_capture_sha256": "692ea981638af9e9cc4073ce158253f6584e431143487c4142994e146047ef8f", + "routes_source": "RPG.GameCore.Config GridFightStageRouteConfigExcelTable.dataDict; complete native table, without graph execution", + "tutorials_capture_sha256": "30f1cbf8a1167ee4a72d78e85c4f30a175300988ca7c51c2be72bed5aca29c1c", + "tutorials_source": "Initialized GridFightModule.TutorialStageConfigs scalar wrapper rules; no tutorial JsonPath loaded; shop node coordinate fields remain obfuscated", + "variants_capture_sha256": "b957fd04e391df037624d5e43b7de9d1914729247ea41dccfe8b00a1fea5f99a", + "variants_source": "Initialized handbook DefaultRole/OtherRoles wrappers, native role/star/servant rows and price getters; not a claim of complete hidden shop pool", + "player_levels_capture_sha256": "56dc88683045ec28cb513bd3eec0e401c7b8c095e1aa1146dffc9bc69165cbb0", + "player_levels_source": "Native GridFightPlayerLevelConfigRow getter at RVA 0x1e3a7880 and named JsonConvert.SerializeObject via RuntimeMethodHandle on managed Client thread; complete serialized rows including GeneralPropertyList; scalar identity cross-check, no run mutation", + "chapters_capture_sha256": "844d39c73012d903945d278601d7ddbdcd3e2591e95035f5bcdcc0bb7295ee63", + "node_types_capture_sha256": "c7cab622b256d39c36424d1dd38b126285b6752aa63cd0e4086dc59a6d2977dd", + "chapters_source": "Native table getter used by GridFightStageNode._RefreshCachedFields with route ChapterID, serialized on managed Client thread; complete captured-route chapter coverage", + "node_types_source": "Exact named RPG.GameCore.GridFightNodeType enum metadata", + "monster_camps_capture_sha256": "687e7de101fc2186615b599efde93bf5db395eedbe4450434f11d9a3cd68cdcf", + "monster_camps_source": "Initialized GetAllMonsterCampData handbook configurations; native common/season rows, no battle-template loader or scene graph; capture does not establish the full hidden camp pool or wave recipes", + "star_rows_capture_sha256": "d51a2971ebfae7e7bab026cb68929e4aef4a8941bc3815f2877ae4341d8eeba2", + "star_rows_capture_complete": true, + "star_rows_source": "Initialized RoleConfig.GetStarConfig(star), identity checked; four rows per heartbeat, paused in Battle. Uncaptured variants remain unavailable." + }, + "captured_seasons": [ + 1, + 2 + ], + "season_modules": [ + { + "OfferingID": 16, + "ActivityQuestConfigID": 71101, + "SeasonID": 2, + "SubSeasonID": 1, + "MaxRewardExp": 48000, + "ActivityModuleID": 7110101 + } + ], + "divisions": [ + { + "ID": 1, + "SeasonID": 1, + "DivisionLevel": 0, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 2, + "SeasonID": 1, + "DivisionLevel": 0, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 10101, + "SeasonID": 1, + "DivisionLevel": 1, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 10102, + "SeasonID": 1, + "DivisionLevel": 1, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 10103, + "SeasonID": 1, + "DivisionLevel": 1, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 10201, + "SeasonID": 1, + "DivisionLevel": 2, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 10202, + "SeasonID": 1, + "DivisionLevel": 2, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 10203, + "SeasonID": 1, + "DivisionLevel": 2, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 10301, + "SeasonID": 1, + "DivisionLevel": 3, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 10302, + "SeasonID": 1, + "DivisionLevel": 3, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 10303, + "SeasonID": 1, + "DivisionLevel": 3, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 10401, + "SeasonID": 1, + "DivisionLevel": 4, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 10402, + "SeasonID": 1, + "DivisionLevel": 4, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 10403, + "SeasonID": 1, + "DivisionLevel": 4, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 10404, + "SeasonID": 1, + "DivisionLevel": 4, + "Progress": 4, + "IsPromotion": false + }, + { + "ID": 10405, + "SeasonID": 1, + "DivisionLevel": 4, + "Progress": 5, + "IsPromotion": false + }, + { + "ID": 10501, + "SeasonID": 1, + "DivisionLevel": 5, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 10502, + "SeasonID": 1, + "DivisionLevel": 5, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 10503, + "SeasonID": 1, + "DivisionLevel": 5, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 10504, + "SeasonID": 1, + "DivisionLevel": 5, + "Progress": 4, + "IsPromotion": false + }, + { + "ID": 10505, + "SeasonID": 1, + "DivisionLevel": 5, + "Progress": 5, + "IsPromotion": false + }, + { + "ID": 10601, + "SeasonID": 1, + "DivisionLevel": 6, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 10602, + "SeasonID": 1, + "DivisionLevel": 6, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 10603, + "SeasonID": 1, + "DivisionLevel": 6, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 10604, + "SeasonID": 1, + "DivisionLevel": 6, + "Progress": 4, + "IsPromotion": false + }, + { + "ID": 10605, + "SeasonID": 1, + "DivisionLevel": 6, + "Progress": 5, + "IsPromotion": false + }, + { + "ID": 10606, + "SeasonID": 1, + "DivisionLevel": 6, + "Progress": 6, + "IsPromotion": false + }, + { + "ID": 10607, + "SeasonID": 1, + "DivisionLevel": 6, + "Progress": 7, + "IsPromotion": false + }, + { + "ID": 10608, + "SeasonID": 1, + "DivisionLevel": 6, + "Progress": 8, + "IsPromotion": true + }, + { + "ID": 10701, + "SeasonID": 1, + "DivisionLevel": 7, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 10702, + "SeasonID": 1, + "DivisionLevel": 7, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 10703, + "SeasonID": 1, + "DivisionLevel": 7, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 10704, + "SeasonID": 1, + "DivisionLevel": 7, + "Progress": 4, + "IsPromotion": false + }, + { + "ID": 10705, + "SeasonID": 1, + "DivisionLevel": 7, + "Progress": 5, + "IsPromotion": false + }, + { + "ID": 10706, + "SeasonID": 1, + "DivisionLevel": 7, + "Progress": 6, + "IsPromotion": false + }, + { + "ID": 10707, + "SeasonID": 1, + "DivisionLevel": 7, + "Progress": 7, + "IsPromotion": false + }, + { + "ID": 10708, + "SeasonID": 1, + "DivisionLevel": 7, + "Progress": 8, + "IsPromotion": true + }, + { + "ID": 10801, + "SeasonID": 1, + "DivisionLevel": 8, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 10802, + "SeasonID": 1, + "DivisionLevel": 8, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 10803, + "SeasonID": 1, + "DivisionLevel": 8, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 10804, + "SeasonID": 1, + "DivisionLevel": 8, + "Progress": 4, + "IsPromotion": false + }, + { + "ID": 10805, + "SeasonID": 1, + "DivisionLevel": 8, + "Progress": 5, + "IsPromotion": false + }, + { + "ID": 10806, + "SeasonID": 1, + "DivisionLevel": 8, + "Progress": 6, + "IsPromotion": false + }, + { + "ID": 10807, + "SeasonID": 1, + "DivisionLevel": 8, + "Progress": 7, + "IsPromotion": false + }, + { + "ID": 10808, + "SeasonID": 1, + "DivisionLevel": 8, + "Progress": 8, + "IsPromotion": false + }, + { + "ID": 10809, + "SeasonID": 1, + "DivisionLevel": 8, + "Progress": 9, + "IsPromotion": false + }, + { + "ID": 10810, + "SeasonID": 1, + "DivisionLevel": 8, + "Progress": 10, + "IsPromotion": true + }, + { + "ID": 10901, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 10902, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 10903, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 10904, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 4, + "IsPromotion": false + }, + { + "ID": 10905, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 5, + "IsPromotion": false + }, + { + "ID": 10906, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 6, + "IsPromotion": false + }, + { + "ID": 10907, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 7, + "IsPromotion": false + }, + { + "ID": 10908, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 8, + "IsPromotion": false + }, + { + "ID": 10909, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 9, + "IsPromotion": false + }, + { + "ID": 10910, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 10, + "IsPromotion": false + }, + { + "ID": 10911, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 11, + "IsPromotion": false + }, + { + "ID": 10912, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 12, + "IsPromotion": false + }, + { + "ID": 10913, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 13, + "IsPromotion": false + }, + { + "ID": 10914, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 14, + "IsPromotion": false + }, + { + "ID": 10915, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 15, + "IsPromotion": false + }, + { + "ID": 10916, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 16, + "IsPromotion": false + }, + { + "ID": 10917, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 17, + "IsPromotion": false + }, + { + "ID": 10918, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 18, + "IsPromotion": false + }, + { + "ID": 10919, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 19, + "IsPromotion": false + }, + { + "ID": 10920, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 20, + "IsPromotion": false + }, + { + "ID": 10921, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 21, + "IsPromotion": false + }, + { + "ID": 10922, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 22, + "IsPromotion": false + }, + { + "ID": 10923, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 23, + "IsPromotion": false + }, + { + "ID": 10924, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 24, + "IsPromotion": false + }, + { + "ID": 10925, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 25, + "IsPromotion": false + }, + { + "ID": 10926, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 26, + "IsPromotion": false + }, + { + "ID": 10927, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 27, + "IsPromotion": false + }, + { + "ID": 10928, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 28, + "IsPromotion": false + }, + { + "ID": 10929, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 29, + "IsPromotion": false + }, + { + "ID": 10930, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 30, + "IsPromotion": false + }, + { + "ID": 10931, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 31, + "IsPromotion": false + }, + { + "ID": 10932, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 32, + "IsPromotion": false + }, + { + "ID": 10933, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 33, + "IsPromotion": false + }, + { + "ID": 10934, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 34, + "IsPromotion": false + }, + { + "ID": 10935, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 35, + "IsPromotion": false + }, + { + "ID": 10936, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 36, + "IsPromotion": false + }, + { + "ID": 10937, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 37, + "IsPromotion": false + }, + { + "ID": 10938, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 38, + "IsPromotion": false + }, + { + "ID": 10939, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 39, + "IsPromotion": false + }, + { + "ID": 10940, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 40, + "IsPromotion": false + }, + { + "ID": 10941, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 41, + "IsPromotion": false + }, + { + "ID": 10942, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 42, + "IsPromotion": false + }, + { + "ID": 10943, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 43, + "IsPromotion": false + }, + { + "ID": 10944, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 44, + "IsPromotion": false + }, + { + "ID": 10945, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 45, + "IsPromotion": false + }, + { + "ID": 10946, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 46, + "IsPromotion": false + }, + { + "ID": 10947, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 47, + "IsPromotion": false + }, + { + "ID": 10948, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 48, + "IsPromotion": false + }, + { + "ID": 10949, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 49, + "IsPromotion": false + }, + { + "ID": 10950, + "SeasonID": 1, + "DivisionLevel": 9, + "Progress": 50, + "IsPromotion": false + }, + { + "ID": 20101, + "SeasonID": 2, + "DivisionLevel": 1, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 20102, + "SeasonID": 2, + "DivisionLevel": 1, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 20103, + "SeasonID": 2, + "DivisionLevel": 1, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 20201, + "SeasonID": 2, + "DivisionLevel": 2, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 20202, + "SeasonID": 2, + "DivisionLevel": 2, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 20203, + "SeasonID": 2, + "DivisionLevel": 2, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 20301, + "SeasonID": 2, + "DivisionLevel": 3, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 20302, + "SeasonID": 2, + "DivisionLevel": 3, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 20303, + "SeasonID": 2, + "DivisionLevel": 3, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 20401, + "SeasonID": 2, + "DivisionLevel": 4, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 20402, + "SeasonID": 2, + "DivisionLevel": 4, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 20403, + "SeasonID": 2, + "DivisionLevel": 4, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 20404, + "SeasonID": 2, + "DivisionLevel": 4, + "Progress": 4, + "IsPromotion": false + }, + { + "ID": 20405, + "SeasonID": 2, + "DivisionLevel": 4, + "Progress": 5, + "IsPromotion": false + }, + { + "ID": 20501, + "SeasonID": 2, + "DivisionLevel": 5, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 20502, + "SeasonID": 2, + "DivisionLevel": 5, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 20503, + "SeasonID": 2, + "DivisionLevel": 5, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 20504, + "SeasonID": 2, + "DivisionLevel": 5, + "Progress": 4, + "IsPromotion": false + }, + { + "ID": 20505, + "SeasonID": 2, + "DivisionLevel": 5, + "Progress": 5, + "IsPromotion": false + }, + { + "ID": 20506, + "SeasonID": 2, + "DivisionLevel": 5, + "Progress": 6, + "IsPromotion": false + }, + { + "ID": 20507, + "SeasonID": 2, + "DivisionLevel": 5, + "Progress": 7, + "IsPromotion": false + }, + { + "ID": 20601, + "SeasonID": 2, + "DivisionLevel": 6, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 20602, + "SeasonID": 2, + "DivisionLevel": 6, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 20603, + "SeasonID": 2, + "DivisionLevel": 6, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 20604, + "SeasonID": 2, + "DivisionLevel": 6, + "Progress": 4, + "IsPromotion": false + }, + { + "ID": 20605, + "SeasonID": 2, + "DivisionLevel": 6, + "Progress": 5, + "IsPromotion": false + }, + { + "ID": 20606, + "SeasonID": 2, + "DivisionLevel": 6, + "Progress": 6, + "IsPromotion": false + }, + { + "ID": 20607, + "SeasonID": 2, + "DivisionLevel": 6, + "Progress": 7, + "IsPromotion": false + }, + { + "ID": 20608, + "SeasonID": 2, + "DivisionLevel": 6, + "Progress": 8, + "IsPromotion": false + }, + { + "ID": 20609, + "SeasonID": 2, + "DivisionLevel": 6, + "Progress": 9, + "IsPromotion": false + }, + { + "ID": 20610, + "SeasonID": 2, + "DivisionLevel": 6, + "Progress": 10, + "IsPromotion": true + }, + { + "ID": 20701, + "SeasonID": 2, + "DivisionLevel": 7, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 20702, + "SeasonID": 2, + "DivisionLevel": 7, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 20703, + "SeasonID": 2, + "DivisionLevel": 7, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 20704, + "SeasonID": 2, + "DivisionLevel": 7, + "Progress": 4, + "IsPromotion": false + }, + { + "ID": 20705, + "SeasonID": 2, + "DivisionLevel": 7, + "Progress": 5, + "IsPromotion": false + }, + { + "ID": 20706, + "SeasonID": 2, + "DivisionLevel": 7, + "Progress": 6, + "IsPromotion": false + }, + { + "ID": 20707, + "SeasonID": 2, + "DivisionLevel": 7, + "Progress": 7, + "IsPromotion": false + }, + { + "ID": 20708, + "SeasonID": 2, + "DivisionLevel": 7, + "Progress": 8, + "IsPromotion": false + }, + { + "ID": 20709, + "SeasonID": 2, + "DivisionLevel": 7, + "Progress": 9, + "IsPromotion": false + }, + { + "ID": 20710, + "SeasonID": 2, + "DivisionLevel": 7, + "Progress": 10, + "IsPromotion": true + }, + { + "ID": 20801, + "SeasonID": 2, + "DivisionLevel": 8, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 20802, + "SeasonID": 2, + "DivisionLevel": 8, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 20803, + "SeasonID": 2, + "DivisionLevel": 8, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 20804, + "SeasonID": 2, + "DivisionLevel": 8, + "Progress": 4, + "IsPromotion": false + }, + { + "ID": 20805, + "SeasonID": 2, + "DivisionLevel": 8, + "Progress": 5, + "IsPromotion": false + }, + { + "ID": 20806, + "SeasonID": 2, + "DivisionLevel": 8, + "Progress": 6, + "IsPromotion": false + }, + { + "ID": 20807, + "SeasonID": 2, + "DivisionLevel": 8, + "Progress": 7, + "IsPromotion": false + }, + { + "ID": 20808, + "SeasonID": 2, + "DivisionLevel": 8, + "Progress": 8, + "IsPromotion": false + }, + { + "ID": 20809, + "SeasonID": 2, + "DivisionLevel": 8, + "Progress": 9, + "IsPromotion": false + }, + { + "ID": 20810, + "SeasonID": 2, + "DivisionLevel": 8, + "Progress": 10, + "IsPromotion": true + }, + { + "ID": 20901, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 1, + "IsPromotion": false + }, + { + "ID": 20902, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 2, + "IsPromotion": false + }, + { + "ID": 20903, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 3, + "IsPromotion": false + }, + { + "ID": 20904, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 4, + "IsPromotion": false + }, + { + "ID": 20905, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 5, + "IsPromotion": false + }, + { + "ID": 20906, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 6, + "IsPromotion": false + }, + { + "ID": 20907, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 7, + "IsPromotion": false + }, + { + "ID": 20908, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 8, + "IsPromotion": false + }, + { + "ID": 20909, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 9, + "IsPromotion": false + }, + { + "ID": 20910, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 10, + "IsPromotion": false + }, + { + "ID": 20911, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 11, + "IsPromotion": false + }, + { + "ID": 20912, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 12, + "IsPromotion": false + }, + { + "ID": 20913, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 13, + "IsPromotion": false + }, + { + "ID": 20914, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 14, + "IsPromotion": false + }, + { + "ID": 20915, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 15, + "IsPromotion": false + }, + { + "ID": 20916, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 16, + "IsPromotion": false + }, + { + "ID": 20917, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 17, + "IsPromotion": false + }, + { + "ID": 20918, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 18, + "IsPromotion": false + }, + { + "ID": 20919, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 19, + "IsPromotion": false + }, + { + "ID": 20920, + "SeasonID": 2, + "DivisionLevel": 9, + "Progress": 20, + "IsPromotion": false + } + ], + "active_season_id": 2, + "active_sub_season_id": 1, + "constants": { + "ConstValueCommonExcelTable": { + "GridFight_CardWeight_Lv1": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 100.0, + "DoubleValue": 100.0, + "FixPointValue": "100", + "BoolValue": false, + "IntValue": 100, + "UintValue": 100, + "LongValue": 100, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_CardWeight_Lv2": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 100.0, + "DoubleValue": 100.0, + "FixPointValue": "100", + "BoolValue": false, + "IntValue": 100, + "UintValue": 100, + "LongValue": 100, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_CardWeight_Lv3": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 75.0, + "DoubleValue": 75.0, + "FixPointValue": "75", + "BoolValue": false, + "IntValue": 75, + "UintValue": 75, + "LongValue": 75, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 25.0, + "DoubleValue": 25.0, + "FixPointValue": "25", + "BoolValue": false, + "IntValue": 25, + "UintValue": 25, + "LongValue": 25, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_CardWeight_Lv4": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 55.0, + "DoubleValue": 55.0, + "FixPointValue": "55", + "BoolValue": false, + "IntValue": 55, + "UintValue": 55, + "LongValue": 55, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 30.0, + "DoubleValue": 30.0, + "FixPointValue": "30", + "BoolValue": false, + "IntValue": 30, + "UintValue": 30, + "LongValue": 30, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 15.0, + "DoubleValue": 15.0, + "FixPointValue": "15", + "BoolValue": false, + "IntValue": 15, + "UintValue": 15, + "LongValue": 15, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_CardWeight_Lv5": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 45.0, + "DoubleValue": 45.0, + "FixPointValue": "45", + "BoolValue": false, + "IntValue": 45, + "UintValue": 45, + "LongValue": 45, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 33.0, + "DoubleValue": 33.0, + "FixPointValue": "33", + "BoolValue": false, + "IntValue": 33, + "UintValue": 33, + "LongValue": 33, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 20.0, + "DoubleValue": 20.0, + "FixPointValue": "20", + "BoolValue": false, + "IntValue": 20, + "UintValue": 20, + "LongValue": 20, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_CardWeight_Lv6": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 30.0, + "DoubleValue": 30.0, + "FixPointValue": "30", + "BoolValue": false, + "IntValue": 30, + "UintValue": 30, + "LongValue": 30, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 40.0, + "DoubleValue": 40.0, + "FixPointValue": "40", + "BoolValue": false, + "IntValue": 40, + "UintValue": 40, + "LongValue": 40, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 25.0, + "DoubleValue": 25.0, + "FixPointValue": "25", + "BoolValue": false, + "IntValue": 25, + "UintValue": 25, + "LongValue": 25, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 5.0, + "DoubleValue": 5.0, + "FixPointValue": "5", + "BoolValue": false, + "IntValue": 5, + "UintValue": 5, + "LongValue": 5, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_CardWeight_Lv7": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 19.0, + "DoubleValue": 19.0, + "FixPointValue": "19", + "BoolValue": false, + "IntValue": 19, + "UintValue": 19, + "LongValue": 19, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 30.0, + "DoubleValue": 30.0, + "FixPointValue": "30", + "BoolValue": false, + "IntValue": 30, + "UintValue": 30, + "LongValue": 30, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 40.0, + "DoubleValue": 40.0, + "FixPointValue": "40", + "BoolValue": false, + "IntValue": 40, + "UintValue": 40, + "LongValue": 40, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 10.0, + "DoubleValue": 10.0, + "FixPointValue": "10", + "BoolValue": false, + "IntValue": 10, + "UintValue": 10, + "LongValue": 10, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_CardWeight_Lv8": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 18.0, + "DoubleValue": 18.0, + "FixPointValue": "18", + "BoolValue": false, + "IntValue": 18, + "UintValue": 18, + "LongValue": 18, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 25.0, + "DoubleValue": 25.0, + "FixPointValue": "25", + "BoolValue": false, + "IntValue": 25, + "UintValue": 25, + "LongValue": 25, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 32.0, + "DoubleValue": 32.0, + "FixPointValue": "32", + "BoolValue": false, + "IntValue": 32, + "UintValue": 32, + "LongValue": 32, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 22.0, + "DoubleValue": 22.0, + "FixPointValue": "22", + "BoolValue": false, + "IntValue": 22, + "UintValue": 22, + "LongValue": 22, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_CardWeight_Lv9": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 15.0, + "DoubleValue": 15.0, + "FixPointValue": "15", + "BoolValue": false, + "IntValue": 15, + "UintValue": 15, + "LongValue": 15, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 20.0, + "DoubleValue": 20.0, + "FixPointValue": "20", + "BoolValue": false, + "IntValue": 20, + "UintValue": 20, + "LongValue": 20, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 25.0, + "DoubleValue": 25.0, + "FixPointValue": "25", + "BoolValue": false, + "IntValue": 25, + "UintValue": 25, + "LongValue": 25, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 30.0, + "DoubleValue": 30.0, + "FixPointValue": "30", + "BoolValue": false, + "IntValue": 30, + "UintValue": 30, + "LongValue": 30, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 10.0, + "DoubleValue": 10.0, + "FixPointValue": "10", + "BoolValue": false, + "IntValue": 10, + "UintValue": 10, + "LongValue": 10, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_CardWeight_Lv10": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 5.0, + "DoubleValue": 5.0, + "FixPointValue": "5", + "BoolValue": false, + "IntValue": 5, + "UintValue": 5, + "LongValue": 5, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 10.0, + "DoubleValue": 10.0, + "FixPointValue": "10", + "BoolValue": false, + "IntValue": 10, + "UintValue": 10, + "LongValue": 10, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 20.0, + "DoubleValue": 20.0, + "FixPointValue": "20", + "BoolValue": false, + "IntValue": 20, + "UintValue": 20, + "LongValue": 20, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 40.0, + "DoubleValue": 40.0, + "FixPointValue": "40", + "BoolValue": false, + "IntValue": 40, + "UintValue": 40, + "LongValue": 40, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 25.0, + "DoubleValue": 25.0, + "FixPointValue": "25", + "BoolValue": false, + "IntValue": 25, + "UintValue": 25, + "LongValue": 25, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_CardPoolNumber": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 30.0, + "DoubleValue": 30.0, + "FixPointValue": "30", + "BoolValue": false, + "IntValue": 30, + "UintValue": 30, + "LongValue": 30, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 25.0, + "DoubleValue": 25.0, + "FixPointValue": "25", + "BoolValue": false, + "IntValue": 25, + "UintValue": 25, + "LongValue": 25, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 18.0, + "DoubleValue": 18.0, + "FixPointValue": "18", + "BoolValue": false, + "IntValue": 18, + "UintValue": 18, + "LongValue": 18, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 10.0, + "DoubleValue": 10.0, + "FixPointValue": "10", + "BoolValue": false, + "IntValue": 10, + "UintValue": 10, + "LongValue": 10, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 9.0, + "DoubleValue": 9.0, + "FixPointValue": "9", + "BoolValue": false, + "IntValue": 9, + "UintValue": 9, + "LongValue": 9, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_AvatarOptionInitWeight": { + "FloatValue": 100.0, + "DoubleValue": 100.0, + "FixPointValue": "100", + "BoolValue": false, + "IntValue": 100, + "UintValue": 100, + "LongValue": 100, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_AvatarOptionLowerWeight": { + "FloatValue": 70.0, + "DoubleValue": 70.0, + "FixPointValue": "70", + "BoolValue": false, + "IntValue": 70, + "UintValue": 70, + "LongValue": 70, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_AvatarOptionUpperWeight": { + "FloatValue": 140.0, + "DoubleValue": 140.0, + "FixPointValue": "140", + "BoolValue": false, + "IntValue": 140, + "UintValue": 140, + "LongValue": 140, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_AvatarOptionBuyOrSellWeightDelta": { + "FloatValue": 20.0, + "DoubleValue": 20.0, + "FixPointValue": "20", + "BoolValue": false, + "IntValue": 20, + "UintValue": 20, + "LongValue": 20, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_AvatarOptionRefreshWeightDelta": { + "FloatValue": 10.0, + "DoubleValue": 10.0, + "FixPointValue": "10", + "BoolValue": false, + "IntValue": 10, + "UintValue": 10, + "LongValue": 10, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_MaxRarityStolenSameCardLimit": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 10.0, + "DoubleValue": 10.0, + "FixPointValue": "10", + "BoolValue": false, + "IntValue": 10, + "UintValue": 10, + "LongValue": 10, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 8.0, + "DoubleValue": 8.0, + "FixPointValue": "8", + "BoolValue": false, + "IntValue": 8, + "UintValue": 8, + "LongValue": 8, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 6.0, + "DoubleValue": 6.0, + "FixPointValue": "6", + "BoolValue": false, + "IntValue": 6, + "UintValue": 6, + "LongValue": 6, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_StolenPoolRefundParamFromInitialPurchase": { + "FloatValue": 4.0, + "DoubleValue": 4.0, + "FixPointValue": "4", + "BoolValue": false, + "IntValue": 4, + "UintValue": 4, + "LongValue": 4, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_StolenPoolRefundParamFromSell": { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_StolenPoolRefundParamFromHold": { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_AvatarStar2lnfluenceProperties": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": { + "\"ExtraHPAddedRatio2\"": { + "FloatValue": 0.3, + "DoubleValue": 0.3, + "FixPointValue": "0.2999999998", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"ExtraHealAddedRatio\"": { + "FloatValue": 0.1, + "DoubleValue": 0.1, + "FixPointValue": "0.0999999998", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"ExtraShieldAddedRatio\"": { + "FloatValue": 0.2, + "DoubleValue": 0.2, + "FixPointValue": "0.1999999999", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"BaseSpeed\"": { + "FloatValue": 10.0, + "DoubleValue": 10.0, + "FixPointValue": "10", + "BoolValue": false, + "IntValue": 10, + "UintValue": 10, + "LongValue": 10, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + }, + "ValueType": 4, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": true + }, + "GridFight_AvatarStar3lnfluenceProperties": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": { + "\"ExtraHPAddedRatio2\"": { + "FloatValue": 0.7, + "DoubleValue": 0.7, + "FixPointValue": "0.6999999999", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"ExtraHealAddedRatio\"": { + "FloatValue": 0.2, + "DoubleValue": 0.2, + "FixPointValue": "0.1999999999", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"ExtraShieldAddedRatio\"": { + "FloatValue": 0.4, + "DoubleValue": 0.4, + "FixPointValue": "0.3999999999", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"BaseSpeed\"": { + "FloatValue": 20.0, + "DoubleValue": 20.0, + "FixPointValue": "20", + "BoolValue": false, + "IntValue": 20, + "UintValue": 20, + "LongValue": 20, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + }, + "ValueType": 4, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": true + }, + "GridFight_AvatarStar4lnfluenceProperties": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": { + "\"ExtraHPAddedRatio2\"": { + "FloatValue": 0.7, + "DoubleValue": 0.7, + "FixPointValue": "0.6999999999", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"ExtraHealAddedRatio\"": { + "FloatValue": 0.2, + "DoubleValue": 0.2, + "FixPointValue": "0.1999999999", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"ExtraShieldAddedRatio\"": { + "FloatValue": 0.4, + "DoubleValue": 0.4, + "FixPointValue": "0.3999999999", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"BaseSpeed\"": { + "FloatValue": 20.0, + "DoubleValue": 20.0, + "FixPointValue": "20", + "BoolValue": false, + "IntValue": 20, + "UintValue": 20, + "LongValue": 20, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + }, + "ValueType": 4, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": true + }, + "GridFight_AvatarRarity2InfluenceProperties": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": { + "\"ExtraHPAddedRatio3\"": { + "FloatValue": 0.15, + "DoubleValue": 0.15, + "FixPointValue": "0.1499999999", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"ExtraHealAddedRatio\"": { + "FloatValue": 0.05, + "DoubleValue": 0.05, + "FixPointValue": "0.0499999998", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"ExtraShieldAddedRatio\"": { + "FloatValue": 0.1, + "DoubleValue": 0.1, + "FixPointValue": "0.0999999998", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + }, + "ValueType": 4, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": true + }, + "GridFight_AvatarRarity3InfluenceProperties": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": { + "\"ExtraHPAddedRatio3\"": { + "FloatValue": 0.3, + "DoubleValue": 0.3, + "FixPointValue": "0.2999999998", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"ExtraHealAddedRatio\"": { + "FloatValue": 0.1, + "DoubleValue": 0.1, + "FixPointValue": "0.0999999998", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"ExtraShieldAddedRatio\"": { + "FloatValue": 0.2, + "DoubleValue": 0.2, + "FixPointValue": "0.1999999999", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + }, + "ValueType": 4, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": true + }, + "GridFight_AvatarRarity4InfluenceProperties": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": { + "\"ExtraHPAddedRatio3\"": { + "FloatValue": 0.45, + "DoubleValue": 0.45, + "FixPointValue": "0.4499999999", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"ExtraHealAddedRatio\"": { + "FloatValue": 0.15, + "DoubleValue": 0.15, + "FixPointValue": "0.1499999999", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"ExtraShieldAddedRatio\"": { + "FloatValue": 0.3, + "DoubleValue": 0.3, + "FixPointValue": "0.2999999998", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + }, + "ValueType": 4, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": true + }, + "GridFight_AvatarRarity5InfluenceProperties": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": { + "\"ExtraHPAddedRatio3\"": { + "FloatValue": 0.6, + "DoubleValue": 0.6, + "FixPointValue": "0.5999999998", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"ExtraHealAddedRatio\"": { + "FloatValue": 0.2, + "DoubleValue": 0.2, + "FixPointValue": "0.1999999999", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"ExtraShieldAddedRatio\"": { + "FloatValue": 0.4, + "DoubleValue": 0.4, + "FixPointValue": "0.3999999999", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + }, + "ValueType": 4, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": true + }, + "GridFight_AvatarRarity": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 4.0, + "DoubleValue": 4.0, + "FixPointValue": "4", + "BoolValue": false, + "IntValue": 4, + "UintValue": 4, + "LongValue": 4, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 5.0, + "DoubleValue": 5.0, + "FixPointValue": "5", + "BoolValue": false, + "IntValue": 5, + "UintValue": 5, + "LongValue": 5, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_AvatarRarityColor": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "#676767", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "#009547", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "#216AA8", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "#5C44B2", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "#D68F23", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_CardNumberPerRefresh": { + "FloatValue": 5.0, + "DoubleValue": 5.0, + "FixPointValue": "5", + "BoolValue": false, + "IntValue": 5, + "UintValue": 5, + "LongValue": 5, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_AvatarSnippetSellGoldStar1": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 4.0, + "DoubleValue": 4.0, + "FixPointValue": "4", + "BoolValue": false, + "IntValue": 4, + "UintValue": 4, + "LongValue": 4, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 5.0, + "DoubleValue": 5.0, + "FixPointValue": "5", + "BoolValue": false, + "IntValue": 5, + "UintValue": 5, + "LongValue": 5, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_AvatarSnippetSellGoldStar2": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 5.0, + "DoubleValue": 5.0, + "FixPointValue": "5", + "BoolValue": false, + "IntValue": 5, + "UintValue": 5, + "LongValue": 5, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 8.0, + "DoubleValue": 8.0, + "FixPointValue": "8", + "BoolValue": false, + "IntValue": 8, + "UintValue": 8, + "LongValue": 8, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 11.0, + "DoubleValue": 11.0, + "FixPointValue": "11", + "BoolValue": false, + "IntValue": 11, + "UintValue": 11, + "LongValue": 11, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 14.0, + "DoubleValue": 14.0, + "FixPointValue": "14", + "BoolValue": false, + "IntValue": 14, + "UintValue": 14, + "LongValue": 14, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_AvatarSnippetSellGoldStar3": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 9.0, + "DoubleValue": 9.0, + "FixPointValue": "9", + "BoolValue": false, + "IntValue": 9, + "UintValue": 9, + "LongValue": 9, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 17.0, + "DoubleValue": 17.0, + "FixPointValue": "17", + "BoolValue": false, + "IntValue": 17, + "UintValue": 17, + "LongValue": 17, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 26.0, + "DoubleValue": 26.0, + "FixPointValue": "26", + "BoolValue": false, + "IntValue": 26, + "UintValue": 26, + "LongValue": 26, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35.0, + "DoubleValue": 35.0, + "FixPointValue": "35", + "BoolValue": false, + "IntValue": 35, + "UintValue": 35, + "LongValue": 35, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 44.0, + "DoubleValue": 44.0, + "FixPointValue": "44", + "BoolValue": false, + "IntValue": 44, + "UintValue": 44, + "LongValue": 44, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_LotteryRefreshGold": { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_DepositPerInterest": { + "FloatValue": 10.0, + "DoubleValue": 10.0, + "FixPointValue": "10", + "BoolValue": false, + "IntValue": 10, + "UintValue": 10, + "LongValue": 10, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GainInterestMax": { + "FloatValue": 5.0, + "DoubleValue": 5.0, + "FixPointValue": "5", + "BoolValue": false, + "IntValue": 5, + "UintValue": 5, + "LongValue": 5, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GainExpWhenWaveEnd": { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GainExpWhenBossWaveEnd": { + "FloatValue": 10.0, + "DoubleValue": 10.0, + "FixPointValue": "10", + "BoolValue": false, + "IntValue": 10, + "UintValue": 10, + "LongValue": 10, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_LevelUpGold": { + "FloatValue": 4.0, + "DoubleValue": 4.0, + "FixPointValue": "4", + "BoolValue": false, + "IntValue": 4, + "UintValue": 4, + "LongValue": 4, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_LevelUpExp": { + "FloatValue": 4.0, + "DoubleValue": 4.0, + "FixPointValue": "4", + "BoolValue": false, + "IntValue": 4, + "UintValue": 4, + "LongValue": 4, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_LotteryShopStartLevel": { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_InitRandomBonusPool": { + "FloatValue": 80001.0, + "DoubleValue": 80001.0, + "FixPointValue": "80001", + "BoolValue": false, + "IntValue": 80001, + "UintValue": 80001, + "LongValue": 80001, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_InitRandomBonusPoolList": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 80001.0, + "DoubleValue": 80001.0, + "FixPointValue": "80001", + "BoolValue": false, + "IntValue": 80001, + "UintValue": 80001, + "LongValue": 80001, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 3000102.0, + "DoubleValue": 3000102.0, + "FixPointValue": "3000102", + "BoolValue": false, + "IntValue": 3000102, + "UintValue": 3000102, + "LongValue": 3000102, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 2000103.0, + "DoubleValue": 2000103.0, + "FixPointValue": "2000103", + "BoolValue": false, + "IntValue": 2000103, + "UintValue": 2000103, + "LongValue": 2000103, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_GlobalAvatarAdditionProperties": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": { + "\"HPDelta\"": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"ExtraHealAddedRatio\"": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "\"ExtraShieldAddedRatio\"": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + }, + "ValueType": 4, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": true + }, + "GridFight_InitGlobalPlayerHP": { + "FloatValue": 100.0, + "DoubleValue": 100.0, + "FixPointValue": "100", + "BoolValue": false, + "IntValue": 100, + "UintValue": 100, + "LongValue": 100, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Bench_AvatarNum": { + "FloatValue": 9.0, + "DoubleValue": 9.0, + "FixPointValue": "9", + "BoolValue": false, + "IntValue": 9, + "UintValue": 9, + "LongValue": 9, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Bench_OverFlow_AvatarNum": { + "FloatValue": 100.0, + "DoubleValue": 100.0, + "FixPointValue": "100", + "BoolValue": false, + "IntValue": 100, + "UintValue": 100, + "LongValue": 100, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Front_AvatarMaxNum": { + "FloatValue": 4.0, + "DoubleValue": 4.0, + "FixPointValue": "4", + "BoolValue": false, + "IntValue": 4, + "UintValue": 4, + "LongValue": 4, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Front_AvatarMinNum": { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Back_AvatarMaxNum": { + "FloatValue": 9.0, + "DoubleValue": 9.0, + "FixPointValue": "9", + "BoolValue": false, + "IntValue": 9, + "UintValue": 9, + "LongValue": 9, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Back_AvatarInitialNum": { + "FloatValue": 6.0, + "DoubleValue": 6.0, + "FixPointValue": "6", + "BoolValue": false, + "IntValue": 6, + "UintValue": 6, + "LongValue": 6, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_AvatarDressEquipNum": { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_SpecialAvatarWorldLevel": { + "FloatValue": 6.0, + "DoubleValue": 6.0, + "FixPointValue": "6", + "BoolValue": false, + "IntValue": 6, + "UintValue": 6, + "LongValue": 6, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_BossCostPoorAdjustment": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 70.0, + "DoubleValue": 70.0, + "FixPointValue": "70", + "BoolValue": false, + "IntValue": 70, + "UintValue": 70, + "LongValue": 70, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 90.0, + "DoubleValue": 90.0, + "FixPointValue": "90", + "BoolValue": false, + "IntValue": 90, + "UintValue": 90, + "LongValue": 90, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_BossCostStandardAdjustment": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 100.0, + "DoubleValue": 100.0, + "FixPointValue": "100", + "BoolValue": false, + "IntValue": 100, + "UintValue": 100, + "LongValue": 100, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 120.0, + "DoubleValue": 120.0, + "FixPointValue": "120", + "BoolValue": false, + "IntValue": 120, + "UintValue": 120, + "LongValue": 120, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_BossCostAffluentAdjustment": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 140.0, + "DoubleValue": 140.0, + "FixPointValue": "140", + "BoolValue": false, + "IntValue": 140, + "UintValue": 140, + "LongValue": 140, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 160.0, + "DoubleValue": 160.0, + "FixPointValue": "160", + "BoolValue": false, + "IntValue": 160, + "UintValue": 160, + "LongValue": 160, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_CoinItemID": { + "FloatValue": 281031.0, + "DoubleValue": 281031.0, + "FixPointValue": "281031", + "BoolValue": false, + "IntValue": 281031, + "UintValue": 281031, + "LongValue": 281031, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_TalentPointItemID": { + "FloatValue": 281032.0, + "DoubleValue": 281032.0, + "FixPointValue": "281032", + "BoolValue": false, + "IntValue": 281032, + "UintValue": 281032, + "LongValue": 281032, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_MaxTraitTrackNum": { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_MaxEquipTrackNum": { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_SettleRankHpConfig": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 40.0, + "DoubleValue": 40.0, + "FixPointValue": "40", + "BoolValue": false, + "IntValue": 40, + "UintValue": 40, + "LongValue": 40, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 70.0, + "DoubleValue": 70.0, + "FixPointValue": "70", + "BoolValue": false, + "IntValue": 70, + "UintValue": 70, + "LongValue": 70, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_SettleRankDivisionUpConfig": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_OfferingKey": { + "FloatValue": 11.0, + "DoubleValue": 11.0, + "FixPointValue": "11", + "BoolValue": false, + "IntValue": 11, + "UintValue": 11, + "LongValue": 11, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_TutorialStageList": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_StageBaseExP": { + "FloatValue": 2000.0, + "DoubleValue": 2000.0, + "FixPointValue": "2000", + "BoolValue": false, + "IntValue": 2000, + "UintValue": 2000, + "LongValue": 2000, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Season_ID": { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Sub_Season_ID": { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Sp_Update": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_CraftableThiefGloveEquipCount": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 4.0, + "DoubleValue": 4.0, + "FixPointValue": "4", + "BoolValue": false, + "IntValue": 4, + "UintValue": 4, + "LongValue": 4, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_RadiantThiefGloveEquipCount": { + "FloatValue": 4.0, + "DoubleValue": 4.0, + "FixPointValue": "4", + "BoolValue": false, + "IntValue": 4, + "UintValue": 4, + "LongValue": 4, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_History_MaxNum": { + "FloatValue": 10.0, + "DoubleValue": 10.0, + "FixPointValue": "10", + "BoolValue": false, + "IntValue": 10, + "UintValue": 10, + "LongValue": 10, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_History_Collection_MaxNum": { + "FloatValue": 20.0, + "DoubleValue": 20.0, + "FixPointValue": "20", + "BoolValue": false, + "IntValue": 20, + "UintValue": 20, + "LongValue": 20, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Exp_Resource_ID": { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_FreeRefesh_Resource_ID": { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_RoleSet_SpecialTip_Trait_ID": { + "FloatValue": 1009.0, + "DoubleValue": 1009.0, + "FixPointValue": "1009", + "BoolValue": false, + "IntValue": 1009, + "UintValue": 1009, + "LongValue": 1009, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_CombatPower_WeightBar": { + "FloatValue": 0.6, + "DoubleValue": 0.6, + "FixPointValue": "0.5999999998", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_CombatPower_Star": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 4.0, + "DoubleValue": 4.0, + "FixPointValue": "4", + "BoolValue": false, + "IntValue": 4, + "UintValue": 4, + "LongValue": 4, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 8.0, + "DoubleValue": 8.0, + "FixPointValue": "8", + "BoolValue": false, + "IntValue": 8, + "UintValue": 8, + "LongValue": 8, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_CombatPower_Cost": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 1.5, + "DoubleValue": 1.5, + "FixPointValue": "1.5", + "BoolValue": false, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 2.5, + "DoubleValue": 2.5, + "FixPointValue": "2.5", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_CombatPower_BasicEquip": { + "FloatValue": 1.07, + "DoubleValue": 1.07, + "FixPointValue": "1.0699999998", + "BoolValue": false, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_CombatPower_ForgeEquip": { + "FloatValue": 1.4, + "DoubleValue": 1.4, + "FixPointValue": "1.3999999999", + "BoolValue": false, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_CombatPower_EnhanceEquip": { + "FloatValue": 1.8, + "DoubleValue": 1.8, + "FixPointValue": "1.7999999998", + "BoolValue": false, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_CombatPower_TraitUnit": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 1.2, + "DoubleValue": 1.2, + "FixPointValue": "1.1999999999", + "BoolValue": false, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 1.4, + "DoubleValue": 1.4, + "FixPointValue": "1.3999999999", + "BoolValue": false, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 1.8, + "DoubleValue": 1.8, + "FixPointValue": "1.7999999998", + "BoolValue": false, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_CombatPower_WrongPlacePenalty": { + "FloatValue": 0.9, + "DoubleValue": 0.9, + "FixPointValue": "0.8999999999", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_CombatPower_Place": { + "FloatValue": 1.4, + "DoubleValue": 1.4, + "FixPointValue": "1.3999999999", + "BoolValue": false, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_CombatPower_SpotLight": { + "FloatValue": 1.4, + "DoubleValue": 1.4, + "FixPointValue": "1.3999999999", + "BoolValue": false, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_BaseSupplyRoleNum": { + "FloatValue": 4.0, + "DoubleValue": 4.0, + "FixPointValue": "4", + "BoolValue": false, + "IntValue": 4, + "UintValue": 4, + "LongValue": 4, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_MainPage_EmptyHint": { + "FloatValue": 1001.0, + "DoubleValue": 1001.0, + "FixPointValue": "1001", + "BoolValue": false, + "IntValue": 1001, + "UintValue": 1001, + "LongValue": 1001, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameRef_StarScore": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 4.0, + "DoubleValue": 4.0, + "FixPointValue": "4", + "BoolValue": false, + "IntValue": 4, + "UintValue": 4, + "LongValue": 4, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 8.0, + "DoubleValue": 8.0, + "FixPointValue": "8", + "BoolValue": false, + "IntValue": 8, + "UintValue": 8, + "LongValue": 8, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_GameRef_CostScore": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 1.5, + "DoubleValue": 1.5, + "FixPointValue": "1.5", + "BoolValue": false, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 2.5, + "DoubleValue": 2.5, + "FixPointValue": "2.5", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_GameRef_MainCarryMark": { + "FloatValue": 1.5, + "DoubleValue": 1.5, + "FixPointValue": "1.5", + "BoolValue": false, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameRef_NoMainCarryMark": { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameRef_TraitActiveScore": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 4.0, + "DoubleValue": 4.0, + "FixPointValue": "4", + "BoolValue": false, + "IntValue": 4, + "UintValue": 4, + "LongValue": 4, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 8.0, + "DoubleValue": 8.0, + "FixPointValue": "8", + "BoolValue": false, + "IntValue": 8, + "UintValue": 8, + "LongValue": 8, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 8.0, + "DoubleValue": 8.0, + "FixPointValue": "8", + "BoolValue": false, + "IntValue": 8, + "UintValue": 8, + "LongValue": 8, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_GameRef_TraitActiveScore_Default": { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameRef_TraitTargetScore": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 1.2, + "DoubleValue": 1.2, + "FixPointValue": "1.1999999999", + "BoolValue": false, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 1.4, + "DoubleValue": 1.4, + "FixPointValue": "1.3999999999", + "BoolValue": false, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 1.4, + "DoubleValue": 1.4, + "FixPointValue": "1.3999999999", + "BoolValue": false, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_GameRef_TraitTargetScore_Default": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameRef_Emblem_TraitTargetScore": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 10.0, + "DoubleValue": 10.0, + "FixPointValue": "10", + "BoolValue": false, + "IntValue": 10, + "UintValue": 10, + "LongValue": 10, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 50.0, + "DoubleValue": 50.0, + "FixPointValue": "50", + "BoolValue": false, + "IntValue": 50, + "UintValue": 50, + "LongValue": 50, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_GameRef_Emblem_TraitTargetScore_Default": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameRef_TutorialCastoriceScore": { + "FloatValue": 500.0, + "DoubleValue": 500.0, + "FixPointValue": "500", + "BoolValue": false, + "IntValue": 500, + "UintValue": 500, + "LongValue": 500, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameRef_OldRefScore": { + "FloatValue": 0.9, + "DoubleValue": 0.9, + "FixPointValue": "0.8999999999", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameRef_OutOfDateRefScore": { + "FloatValue": 0.7, + "DoubleValue": 0.7, + "FixPointValue": "0.6999999999", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameRef_RecentlyOrder": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.1, + "DoubleValue": 0.1, + "FixPointValue": "0.0999999998", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_GameRef_RecentlyOrder_OldRefRatio": { + "FloatValue": 0.9, + "DoubleValue": 0.9, + "FixPointValue": "0.8999999999", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 1, + "IsInt": false, + "IsFloat": true, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_MappingInfoID": { + "FloatValue": 2517.0, + "DoubleValue": 2517.0, + "FixPointValue": "2517", + "BoolValue": false, + "IntValue": 2517, + "UintValue": 2517, + "LongValue": 2517, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_EntranceID": { + "FloatValue": 2032202.0, + "DoubleValue": 2032202.0, + "FixPointValue": "2032202", + "BoolValue": false, + "IntValue": 2032202, + "UintValue": 2032202, + "LongValue": 2032202, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_ExtraSeasonExp_Limit": { + "FloatValue": 1500.0, + "DoubleValue": 1500.0, + "FixPointValue": "1500", + "BoolValue": false, + "IntValue": 1500, + "UintValue": 1500, + "LongValue": 1500, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_ExtraSeasonExp_Ratio": { + "FloatValue": 150.0, + "DoubleValue": 150.0, + "FixPointValue": "150", + "BoolValue": false, + "IntValue": 150, + "UintValue": 150, + "LongValue": 150, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_ExtraSeasonExp_RefreshDay": { + "FloatValue": 7.0, + "DoubleValue": 7.0, + "FixPointValue": "7", + "BoolValue": false, + "IntValue": 7, + "UintValue": 7, + "LongValue": 7, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_ExtraSeasonExp_StartDate": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "2025-08-18 04:00:00", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_OCSeasonWeeklyScoreRatio": { + "FloatValue": 100.0, + "DoubleValue": 100.0, + "FixPointValue": "100", + "BoolValue": false, + "IntValue": 100, + "UintValue": 100, + "LongValue": 100, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_OCSeasonExpRatio": { + "FloatValue": 60.0, + "DoubleValue": 60.0, + "FixPointValue": "60", + "BoolValue": false, + "IntValue": 60, + "UintValue": 60, + "LongValue": 60, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_OCTalentPointRatio": { + "FloatValue": 60.0, + "DoubleValue": 60.0, + "FixPointValue": "60", + "BoolValue": false, + "IntValue": 60, + "UintValue": 60, + "LongValue": 60, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_OCGainExpWhenWaveEndList": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 6.0, + "DoubleValue": 6.0, + "FixPointValue": "6", + "BoolValue": false, + "IntValue": 6, + "UintValue": 6, + "LongValue": 6, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 8.0, + "DoubleValue": 8.0, + "FixPointValue": "8", + "BoolValue": false, + "IntValue": 8, + "UintValue": 8, + "LongValue": 8, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 12.0, + "DoubleValue": 12.0, + "FixPointValue": "12", + "BoolValue": false, + "IntValue": 12, + "UintValue": 12, + "LongValue": 12, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_OCGainExpWhenBossWaveEndList": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 10.0, + "DoubleValue": 10.0, + "FixPointValue": "10", + "BoolValue": false, + "IntValue": 10, + "UintValue": 10, + "LongValue": 10, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 12.0, + "DoubleValue": 12.0, + "FixPointValue": "12", + "BoolValue": false, + "IntValue": 12, + "UintValue": 12, + "LongValue": 12, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 16.0, + "DoubleValue": 16.0, + "FixPointValue": "16", + "BoolValue": false, + "IntValue": 16, + "UintValue": 16, + "LongValue": 16, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_OCGainInterestMax": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameRef_FilteredRole_Max": { + "FloatValue": 4.0, + "DoubleValue": 4.0, + "FixPointValue": "4", + "BoolValue": false, + "IntValue": 4, + "UintValue": 4, + "LongValue": 4, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameRef_FilteredTrait_Max": { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameRef_Favoured_Max": { + "FloatValue": 20.0, + "DoubleValue": 20.0, + "FixPointValue": "20", + "BoolValue": false, + "IntValue": 20, + "UintValue": 20, + "LongValue": 20, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_WholeSeason_ActivityModuleID": { + "FloatValue": 7100101.0, + "DoubleValue": 7100101.0, + "FixPointValue": "7100101", + "BoolValue": false, + "IntValue": 7100101, + "UintValue": 7100101, + "LongValue": 7100101, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_WeeklyScore_Refresh": { + "FloatValue": 14.0, + "DoubleValue": 14.0, + "FixPointValue": "14", + "BoolValue": false, + "IntValue": 14, + "UintValue": 14, + "LongValue": 14, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_WeeklyScore_StartDate": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "2025-08-18 04:00:00", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_WeeklyScore_PreEndDate": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "2026-04-22 06:00:00", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_SeasonName": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "UIText_GridFight_SeasonName", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_AugmentDesc": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "NodeDesc_Augment", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_AugmentIcon": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "SpriteOutput/GridFight/ProgressIcon/GridFightProgressIconBuff.png", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_TutorialStage_AddRank": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": { + "1": { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "2": { + "FloatValue": 4.0, + "DoubleValue": 4.0, + "FixPointValue": "4", + "BoolValue": false, + "IntValue": 4, + "UintValue": 4, + "LongValue": 4, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + }, + "ValueType": 4, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": true + }, + "GridFight_OC_UnlockQuest": { + "FloatValue": 7302115.0, + "DoubleValue": 7302115.0, + "FixPointValue": "7302115", + "BoolValue": false, + "IntValue": 7302115, + "UintValue": 7302115, + "LongValue": 7302115, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_AssistantMessage_Time": { + "FloatValue": 3000.0, + "DoubleValue": 3000.0, + "FixPointValue": "3000", + "BoolValue": false, + "IntValue": 3000, + "UintValue": 3000, + "LongValue": 3000, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_TutorialStage_BackTo3C": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_TraitEffect_1003": { + "FloatValue": 10031.0, + "DoubleValue": 10031.0, + "FixPointValue": "10031", + "BoolValue": false, + "IntValue": 10031, + "UintValue": 10031, + "LongValue": 10031, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_TraitEffect_1008": { + "FloatValue": 10081.0, + "DoubleValue": 10081.0, + "FixPointValue": "10081", + "BoolValue": false, + "IntValue": 10081, + "UintValue": 10081, + "LongValue": 10081, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_TraitEffect_1012": { + "FloatValue": 10121.0, + "DoubleValue": 10121.0, + "FixPointValue": "10121", + "BoolValue": false, + "IntValue": 10121, + "UintValue": 10121, + "LongValue": 10121, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameRef_TermLevelList": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 5.0, + "DoubleValue": 5.0, + "FixPointValue": "5", + "BoolValue": false, + "IntValue": 5, + "UintValue": 5, + "LongValue": 5, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 7.0, + "DoubleValue": 7.0, + "FixPointValue": "7", + "BoolValue": false, + "IntValue": 7, + "UintValue": 7, + "LongValue": 7, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_FirstPlay_JsonPath": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "Config/Level/GridFight/Tutorial/GridFightTutorial3.json", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_ADPage_IsShowUpdate": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_ADPage_IsShowTimeOverHint": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Preview_Division": { + "FloatValue": -1.0, + "DoubleValue": -1.0, + "FixPointValue": "-1", + "BoolValue": false, + "IntValue": -1, + "UintValue": 4294967295, + "LongValue": -1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_FirstPlay_StageRouteID": { + "FloatValue": 803.0, + "DoubleValue": 803.0, + "FixPointValue": "803", + "BoolValue": false, + "IntValue": 803, + "UintValue": 803, + "LongValue": 803, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_FirstPlay_GameRef": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "68becc31b2a042c42439446e", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_ContentID": { + "FloatValue": 171002.0, + "DoubleValue": 171002.0, + "FixPointValue": "171002", + "BoolValue": false, + "IntValue": 171002, + "UintValue": 171002, + "LongValue": 171002, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_OrbKeepTime": { + "FloatValue": 700.0, + "DoubleValue": 700.0, + "FixPointValue": "700", + "BoolValue": false, + "IntValue": 700, + "UintValue": 700, + "LongValue": 700, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_PhainonEquipPreset": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 350202.0, + "DoubleValue": 350202.0, + "FixPointValue": "350202", + "BoolValue": false, + "IntValue": 350202, + "UintValue": 350202, + "LongValue": 350202, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030610.0, + "DoubleValue": 35030606.0, + "FixPointValue": "35030606", + "BoolValue": false, + "IntValue": 35030606, + "UintValue": 35030606, + "LongValue": 35030606, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_WeeklyScore_DestroyItemList": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 110.0, + "DoubleValue": 110.0, + "FixPointValue": "110", + "BoolValue": false, + "IntValue": 110, + "UintValue": 110, + "LongValue": 110, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_girl_hero_special_avatar_id_map": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": { + "8008": { + "FloatValue": 3708008.0, + "DoubleValue": 3708008.0, + "FixPointValue": "3708008", + "BoolValue": false, + "IntValue": 3708008, + "UintValue": 3708008, + "LongValue": 3708008, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "8010": { + "FloatValue": 3708010.0, + "DoubleValue": 3708010.0, + "FixPointValue": "3708010", + "BoolValue": false, + "IntValue": 3708010, + "UintValue": 3708010, + "LongValue": 3708010, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + }, + "ValueType": 4, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": true + }, + "GridFight_InitialExceptRoleIdList": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 15062.0, + "DoubleValue": 15062.0, + "FixPointValue": "15062", + "BoolValue": false, + "IntValue": 15062, + "UintValue": 15062, + "LongValue": 15062, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 15063.0, + "DoubleValue": 15063.0, + "FixPointValue": "15063", + "BoolValue": false, + "IntValue": 15063, + "UintValue": 15063, + "LongValue": 15063, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 12041.0, + "DoubleValue": 12041.0, + "FixPointValue": "12041", + "BoolValue": false, + "IntValue": 12041, + "UintValue": 12041, + "LongValue": 12041, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 12042.0, + "DoubleValue": 12042.0, + "FixPointValue": "12042", + "BoolValue": false, + "IntValue": 12042, + "UintValue": 12042, + "LongValue": 12042, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 141402.0, + "DoubleValue": 141402.0, + "FixPointValue": "141402", + "BoolValue": false, + "IntValue": 141402, + "UintValue": 141402, + "LongValue": 141402, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 151112.0, + "DoubleValue": 151112.0, + "FixPointValue": "151112", + "BoolValue": false, + "IntValue": 151112, + "UintValue": 151112, + "LongValue": 151112, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 151122.0, + "DoubleValue": 151122.0, + "FixPointValue": "151122", + "BoolValue": false, + "IntValue": 151122, + "UintValue": 151122, + "LongValue": 151122, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 151132.0, + "DoubleValue": 151132.0, + "FixPointValue": "151132", + "BoolValue": false, + "IntValue": 151132, + "UintValue": 151132, + "LongValue": 151132, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_Elation_AhaPic": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "SpriteOutput/AvatarIcon/NPC/GridFightNpc_Aha.png", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Elation_AhaPicSmall": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "SpriteOutput/AvatarRoundIcon/BattleEvent_Elation.png", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Elation_AhaName": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "UIText_GridFight_Elation_AhaName", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Elation_NotRecommendEquip": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 35030104.0, + "DoubleValue": 35030106.0, + "FixPointValue": "35030106", + "BoolValue": false, + "IntValue": 35030106, + "UintValue": 35030106, + "LongValue": 35030106, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030108.0, + "DoubleValue": 35030108.0, + "FixPointValue": "35030108", + "BoolValue": false, + "IntValue": 35030108, + "UintValue": 35030108, + "LongValue": 35030108, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030308.0, + "DoubleValue": 35030308.0, + "FixPointValue": "35030308", + "BoolValue": false, + "IntValue": 35030308, + "UintValue": 35030308, + "LongValue": 35030308, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030410.0, + "DoubleValue": 35030408.0, + "FixPointValue": "35030408", + "BoolValue": false, + "IntValue": 35030408, + "UintValue": 35030408, + "LongValue": 35030408, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030504.0, + "DoubleValue": 35030506.0, + "FixPointValue": "35030506", + "BoolValue": false, + "IntValue": 35030506, + "UintValue": 35030506, + "LongValue": 35030506, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030810.0, + "DoubleValue": 35030808.0, + "FixPointValue": "35030808", + "BoolValue": false, + "IntValue": 35030808, + "UintValue": 35030808, + "LongValue": 35030808, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_Hack_Rank3": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 352301.0, + "DoubleValue": 352301.0, + "FixPointValue": "352301", + "BoolValue": false, + "IntValue": 352301, + "UintValue": 352301, + "LongValue": 352301, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352302.0, + "DoubleValue": 352302.0, + "FixPointValue": "352302", + "BoolValue": false, + "IntValue": 352302, + "UintValue": 352302, + "LongValue": 352302, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352303.0, + "DoubleValue": 352303.0, + "FixPointValue": "352303", + "BoolValue": false, + "IntValue": 352303, + "UintValue": 352303, + "LongValue": 352303, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352304.0, + "DoubleValue": 352304.0, + "FixPointValue": "352304", + "BoolValue": false, + "IntValue": 352304, + "UintValue": 352304, + "LongValue": 352304, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353301.0, + "DoubleValue": 353301.0, + "FixPointValue": "353301", + "BoolValue": false, + "IntValue": 353301, + "UintValue": 353301, + "LongValue": 353301, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353302.0, + "DoubleValue": 353302.0, + "FixPointValue": "353302", + "BoolValue": false, + "IntValue": 353302, + "UintValue": 353302, + "LongValue": 353302, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353303.0, + "DoubleValue": 353303.0, + "FixPointValue": "353303", + "BoolValue": false, + "IntValue": 353303, + "UintValue": 353303, + "LongValue": 353303, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353304.0, + "DoubleValue": 353304.0, + "FixPointValue": "353304", + "BoolValue": false, + "IntValue": 353304, + "UintValue": 353304, + "LongValue": 353304, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_Hack_Rank4": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 352401.0, + "DoubleValue": 352401.0, + "FixPointValue": "352401", + "BoolValue": false, + "IntValue": 352401, + "UintValue": 352401, + "LongValue": 352401, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352402.0, + "DoubleValue": 352402.0, + "FixPointValue": "352402", + "BoolValue": false, + "IntValue": 352402, + "UintValue": 352402, + "LongValue": 352402, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352404.0, + "DoubleValue": 352404.0, + "FixPointValue": "352404", + "BoolValue": false, + "IntValue": 352404, + "UintValue": 352404, + "LongValue": 352404, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352405.0, + "DoubleValue": 352405.0, + "FixPointValue": "352405", + "BoolValue": false, + "IntValue": 352405, + "UintValue": 352405, + "LongValue": 352405, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352406.0, + "DoubleValue": 352406.0, + "FixPointValue": "352406", + "BoolValue": false, + "IntValue": 352406, + "UintValue": 352406, + "LongValue": 352406, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353401.0, + "DoubleValue": 353401.0, + "FixPointValue": "353401", + "BoolValue": false, + "IntValue": 353401, + "UintValue": 353401, + "LongValue": 353401, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353402.0, + "DoubleValue": 353402.0, + "FixPointValue": "353402", + "BoolValue": false, + "IntValue": 353402, + "UintValue": 353402, + "LongValue": 353402, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353403.0, + "DoubleValue": 353403.0, + "FixPointValue": "353403", + "BoolValue": false, + "IntValue": 353403, + "UintValue": 353403, + "LongValue": 353403, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353404.0, + "DoubleValue": 353404.0, + "FixPointValue": "353404", + "BoolValue": false, + "IntValue": 353404, + "UintValue": 353404, + "LongValue": 353404, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353405.0, + "DoubleValue": 353405.0, + "FixPointValue": "353405", + "BoolValue": false, + "IntValue": 353405, + "UintValue": 353405, + "LongValue": 353405, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353406.0, + "DoubleValue": 353406.0, + "FixPointValue": "353406", + "BoolValue": false, + "IntValue": 353406, + "UintValue": 353406, + "LongValue": 353406, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353407.0, + "DoubleValue": 353407.0, + "FixPointValue": "353407", + "BoolValue": false, + "IntValue": 353407, + "UintValue": 353407, + "LongValue": 353407, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353408.0, + "DoubleValue": 353408.0, + "FixPointValue": "353408", + "BoolValue": false, + "IntValue": 353408, + "UintValue": 353408, + "LongValue": 353408, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_Hack_Rank5": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 352501.0, + "DoubleValue": 352501.0, + "FixPointValue": "352501", + "BoolValue": false, + "IntValue": 352501, + "UintValue": 352501, + "LongValue": 352501, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352502.0, + "DoubleValue": 352502.0, + "FixPointValue": "352502", + "BoolValue": false, + "IntValue": 352502, + "UintValue": 352502, + "LongValue": 352502, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352503.0, + "DoubleValue": 352503.0, + "FixPointValue": "352503", + "BoolValue": false, + "IntValue": 352503, + "UintValue": 352503, + "LongValue": 352503, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352504.0, + "DoubleValue": 352504.0, + "FixPointValue": "352504", + "BoolValue": false, + "IntValue": 352504, + "UintValue": 352504, + "LongValue": 352504, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352505.0, + "DoubleValue": 352505.0, + "FixPointValue": "352505", + "BoolValue": false, + "IntValue": 352505, + "UintValue": 352505, + "LongValue": 352505, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352506.0, + "DoubleValue": 352506.0, + "FixPointValue": "352506", + "BoolValue": false, + "IntValue": 352506, + "UintValue": 352506, + "LongValue": 352506, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352507.0, + "DoubleValue": 352507.0, + "FixPointValue": "352507", + "BoolValue": false, + "IntValue": 352507, + "UintValue": 352507, + "LongValue": 352507, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353501.0, + "DoubleValue": 353501.0, + "FixPointValue": "353501", + "BoolValue": false, + "IntValue": 353501, + "UintValue": 353501, + "LongValue": 353501, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353502.0, + "DoubleValue": 353502.0, + "FixPointValue": "353502", + "BoolValue": false, + "IntValue": 353502, + "UintValue": 353502, + "LongValue": 353502, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353503.0, + "DoubleValue": 353503.0, + "FixPointValue": "353503", + "BoolValue": false, + "IntValue": 353503, + "UintValue": 353503, + "LongValue": 353503, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353504.0, + "DoubleValue": 353504.0, + "FixPointValue": "353504", + "BoolValue": false, + "IntValue": 353504, + "UintValue": 353504, + "LongValue": 353504, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353505.0, + "DoubleValue": 353505.0, + "FixPointValue": "353505", + "BoolValue": false, + "IntValue": 353505, + "UintValue": 353505, + "LongValue": 353505, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353506.0, + "DoubleValue": 353506.0, + "FixPointValue": "353506", + "BoolValue": false, + "IntValue": 353506, + "UintValue": 353506, + "LongValue": 353506, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353507.0, + "DoubleValue": 353507.0, + "FixPointValue": "353507", + "BoolValue": false, + "IntValue": 353507, + "UintValue": 353507, + "LongValue": 353507, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353508.0, + "DoubleValue": 353508.0, + "FixPointValue": "353508", + "BoolValue": false, + "IntValue": 353508, + "UintValue": 353508, + "LongValue": 353508, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 353601.0, + "DoubleValue": 353601.0, + "FixPointValue": "353601", + "BoolValue": false, + "IntValue": 353601, + "UintValue": 353601, + "LongValue": 353601, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_Enhance_SpEffect_RoleList": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 1307.0, + "DoubleValue": 1307.0, + "FixPointValue": "1307", + "BoolValue": false, + "IntValue": 1307, + "UintValue": 1307, + "LongValue": 1307, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_Elation_GoldTrashOrb": { + "FloatValue": 122007.0, + "DoubleValue": 122007.0, + "FixPointValue": "122007", + "BoolValue": false, + "IntValue": 122007, + "UintValue": 122007, + "LongValue": 122007, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Hero_FrontChangeHint": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 8007.0, + "DoubleValue": 8007.0, + "FixPointValue": "8007", + "BoolValue": false, + "IntValue": 8007, + "UintValue": 8007, + "LongValue": 8007, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "UIText_GridFight_MainCharacter_Change", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_Hero_BackChangeHint": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 8009.0, + "DoubleValue": 8009.0, + "FixPointValue": "8009", + "BoolValue": false, + "IntValue": 8009, + "UintValue": 8009, + "LongValue": 8009, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "UIText_GridFight_MainCharacter_Change2", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_GameFormation_Title_Max": { + "FloatValue": 100.0, + "DoubleValue": 100.0, + "FixPointValue": "100", + "BoolValue": false, + "IntValue": 100, + "UintValue": 100, + "LongValue": 100, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameFormation_Detail_Max": { + "FloatValue": 1000.0, + "DoubleValue": 1000.0, + "FixPointValue": "1000", + "BoolValue": false, + "IntValue": 1000, + "UintValue": 1000, + "LongValue": 1000, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameFormation_Code_Max": { + "FloatValue": 600.0, + "DoubleValue": 600.0, + "FixPointValue": "600", + "BoolValue": false, + "IntValue": 600, + "UintValue": 600, + "LongValue": 600, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Ref_Id_Str_Max_Length": { + "FloatValue": 24.0, + "DoubleValue": 24.0, + "FixPointValue": "24", + "BoolValue": false, + "IntValue": 24, + "UintValue": 24, + "LongValue": 24, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameFormation_Slot_Num": { + "FloatValue": 10.0, + "DoubleValue": 10.0, + "FixPointValue": "10", + "BoolValue": false, + "IntValue": 10, + "UintValue": 10, + "LongValue": 10, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameFormation_Save_Time": { + "FloatValue": 300.0, + "DoubleValue": 300.0, + "FixPointValue": "300", + "BoolValue": false, + "IntValue": 300, + "UintValue": 300, + "LongValue": 300, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameFormation_Role_DragAngle": { + "FloatValue": 50.0, + "DoubleValue": 50.0, + "FixPointValue": "50", + "BoolValue": false, + "IntValue": 50, + "UintValue": 50, + "LongValue": 50, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_GameFormation_Equip_DragAngle": { + "FloatValue": 60.0, + "DoubleValue": 60.0, + "FixPointValue": "60", + "BoolValue": false, + "IntValue": 60, + "UintValue": 60, + "LongValue": 60, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_FateEquip_Normal": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 352601.0, + "DoubleValue": 352601.0, + "FixPointValue": "352601", + "BoolValue": false, + "IntValue": 352601, + "UintValue": 352601, + "LongValue": 352601, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352602.0, + "DoubleValue": 352602.0, + "FixPointValue": "352602", + "BoolValue": false, + "IntValue": 352602, + "UintValue": 352602, + "LongValue": 352602, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352603.0, + "DoubleValue": 352603.0, + "FixPointValue": "352603", + "BoolValue": false, + "IntValue": 352603, + "UintValue": 352603, + "LongValue": 352603, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352604.0, + "DoubleValue": 352604.0, + "FixPointValue": "352604", + "BoolValue": false, + "IntValue": 352604, + "UintValue": 352604, + "LongValue": 352604, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352605.0, + "DoubleValue": 352605.0, + "FixPointValue": "352605", + "BoolValue": false, + "IntValue": 352605, + "UintValue": 352605, + "LongValue": 352605, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352607.0, + "DoubleValue": 352607.0, + "FixPointValue": "352607", + "BoolValue": false, + "IntValue": 352607, + "UintValue": 352607, + "LongValue": 352607, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352608.0, + "DoubleValue": 352608.0, + "FixPointValue": "352608", + "BoolValue": false, + "IntValue": 352608, + "UintValue": 352608, + "LongValue": 352608, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_FateEquip_Error": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 352701.0, + "DoubleValue": 352701.0, + "FixPointValue": "352701", + "BoolValue": false, + "IntValue": 352701, + "UintValue": 352701, + "LongValue": 352701, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352702.0, + "DoubleValue": 352702.0, + "FixPointValue": "352702", + "BoolValue": false, + "IntValue": 352702, + "UintValue": 352702, + "LongValue": 352702, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352703.0, + "DoubleValue": 352703.0, + "FixPointValue": "352703", + "BoolValue": false, + "IntValue": 352703, + "UintValue": 352703, + "LongValue": 352703, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352704.0, + "DoubleValue": 352704.0, + "FixPointValue": "352704", + "BoolValue": false, + "IntValue": 352704, + "UintValue": 352704, + "LongValue": 352704, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352705.0, + "DoubleValue": 352705.0, + "FixPointValue": "352705", + "BoolValue": false, + "IntValue": 352705, + "UintValue": 352705, + "LongValue": 352705, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352706.0, + "DoubleValue": 352706.0, + "FixPointValue": "352706", + "BoolValue": false, + "IntValue": 352706, + "UintValue": 352706, + "LongValue": 352706, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_FateEquip_Excellent": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 352801.0, + "DoubleValue": 352801.0, + "FixPointValue": "352801", + "BoolValue": false, + "IntValue": 352801, + "UintValue": 352801, + "LongValue": 352801, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352802.0, + "DoubleValue": 352802.0, + "FixPointValue": "352802", + "BoolValue": false, + "IntValue": 352802, + "UintValue": 352802, + "LongValue": 352802, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352803.0, + "DoubleValue": 352803.0, + "FixPointValue": "352803", + "BoolValue": false, + "IntValue": 352803, + "UintValue": 352803, + "LongValue": 352803, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352804.0, + "DoubleValue": 352804.0, + "FixPointValue": "352804", + "BoolValue": false, + "IntValue": 352804, + "UintValue": 352804, + "LongValue": 352804, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 352606.0, + "DoubleValue": 352606.0, + "FixPointValue": "352606", + "BoolValue": false, + "IntValue": 352606, + "UintValue": 352606, + "LongValue": 352606, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_SeasonUpdate_DescSwitch": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": { + "7110501": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "UIText_GridFightActivityPanel_SeasonUpdatedModuleSwitch", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + }, + "ValueType": 4, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": true + }, + "GridFight_AvatarDressImplantsNum": { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFightS2_SpotLightReplace_Resource_ID": { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_IsDoubleSeasonExp": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Tutorial_Main_Mission_Id": { + "FloatValue": 8037100.0, + "DoubleValue": 8037100.0, + "FixPointValue": "8037100", + "BoolValue": false, + "IntValue": 8037100, + "UintValue": 8037100, + "LongValue": 8037100, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_DefaultPlayerLevelMax": { + "FloatValue": 10.0, + "DoubleValue": 10.0, + "FixPointValue": "10", + "BoolValue": false, + "IntValue": 10, + "UintValue": 10, + "LongValue": 10, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFightS2_TraitblazeCoin_Resource_ID": { + "FloatValue": 4.0, + "DoubleValue": 4.0, + "FixPointValue": "4", + "BoolValue": false, + "IntValue": 4, + "UintValue": 4, + "LongValue": 4, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_ShowSubTraitName_TraitList": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 100302.0, + "DoubleValue": 100302.0, + "FixPointValue": "100302", + "BoolValue": false, + "IntValue": 100302, + "UintValue": 100302, + "LongValue": 100302, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_TanTao_AffixList": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": { + "1006": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "1007": { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "1008": { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "1009": { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + }, + "ValueType": 4, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": true + }, + "GridFight_TanTao_Level": { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_FeiYingSimpleDescList_1": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "UIText_GridFightS2_FeiYingSimpleDesc_Front1", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "UIText_GridFightS2_FeiYingSimpleDesc_Back1", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_FeiYingSimpleDescList_2": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "UIText_GridFightS2_FeiYingSimpleDesc_Front2", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "UIText_GridFightS2_FeiYingSimpleDesc_Back2", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_FeiYingSimpleDescList_3": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "UIText_GridFightS2_FeiYingSimpleDesc_Front3", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "UIText_GridFightS2_FeiYingSimpleDesc_Back3", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_TanTao_ProgressValueList": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 2.0, + "DoubleValue": 2.0, + "FixPointValue": "2", + "BoolValue": false, + "IntValue": 2, + "UintValue": 2, + "LongValue": 2, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 3.0, + "DoubleValue": 3.0, + "FixPointValue": "3", + "BoolValue": false, + "IntValue": 3, + "UintValue": 3, + "LongValue": 3, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 10.0, + "DoubleValue": 10.0, + "FixPointValue": "10", + "BoolValue": false, + "IntValue": 10, + "UintValue": 10, + "LongValue": 10, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 15.0, + "DoubleValue": 15.0, + "FixPointValue": "15", + "BoolValue": false, + "IntValue": 15, + "UintValue": 15, + "LongValue": 15, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 20.0, + "DoubleValue": 20.0, + "FixPointValue": "20", + "BoolValue": false, + "IntValue": 20, + "UintValue": 20, + "LongValue": 20, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 25.0, + "DoubleValue": 25.0, + "FixPointValue": "25", + "BoolValue": false, + "IntValue": 25, + "UintValue": 25, + "LongValue": 25, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_TanTao_HPProgressValueList": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 100.0, + "DoubleValue": 100.0, + "FixPointValue": "100", + "BoolValue": false, + "IntValue": 100, + "UintValue": 100, + "LongValue": 100, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 100.0, + "DoubleValue": 100.0, + "FixPointValue": "100", + "BoolValue": false, + "IntValue": 100, + "UintValue": 100, + "LongValue": 100, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_Aha_Level_SavedValueKey": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "GP_Avatar_S2_Aha_00", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Aha_No_Star_Role_IDList": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 151102.0, + "DoubleValue": 151102.0, + "FixPointValue": "151102", + "BoolValue": false, + "IntValue": 151102, + "UintValue": 151102, + "LongValue": 151102, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 151112.0, + "DoubleValue": 151112.0, + "FixPointValue": "151112", + "BoolValue": false, + "IntValue": 151112, + "UintValue": 151112, + "LongValue": 151112, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 151122.0, + "DoubleValue": 151122.0, + "FixPointValue": "151122", + "BoolValue": false, + "IntValue": 151122, + "UintValue": 151122, + "LongValue": 151122, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_EquipAtlas_BanList": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 350112.0, + "DoubleValue": 350112.0, + "FixPointValue": "350112", + "BoolValue": false, + "IntValue": 350112, + "UintValue": 350112, + "LongValue": 350112, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 350113.0, + "DoubleValue": 350113.0, + "FixPointValue": "350113", + "BoolValue": false, + "IntValue": 350113, + "UintValue": 350113, + "LongValue": 350113, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 350114.0, + "DoubleValue": 350114.0, + "FixPointValue": "350114", + "BoolValue": false, + "IntValue": 350114, + "UintValue": 350114, + "LongValue": 350114, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 350115.0, + "DoubleValue": 350115.0, + "FixPointValue": "350115", + "BoolValue": false, + "IntValue": 350115, + "UintValue": 350115, + "LongValue": 350115, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 350116.0, + "DoubleValue": 350116.0, + "FixPointValue": "350116", + "BoolValue": false, + "IntValue": 350116, + "UintValue": 350116, + "LongValue": 350116, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 350117.0, + "DoubleValue": 350117.0, + "FixPointValue": "350117", + "BoolValue": false, + "IntValue": 350117, + "UintValue": 350117, + "LongValue": 350117, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_SevenPriceRoleIdList": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 151132.0, + "DoubleValue": 151132.0, + "FixPointValue": "151132", + "BoolValue": false, + "IntValue": 151132, + "UintValue": 151132, + "LongValue": 151132, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_PhanionEffectSpecialRoleIDList": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 140202.0, + "DoubleValue": 140202.0, + "FixPointValue": "140202", + "BoolValue": false, + "IntValue": 140202, + "UintValue": 140202, + "LongValue": 140202, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 140302.0, + "DoubleValue": 140302.0, + "FixPointValue": "140302", + "BoolValue": false, + "IntValue": 140302, + "UintValue": 140302, + "LongValue": 140302, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 140402.0, + "DoubleValue": 140402.0, + "FixPointValue": "140402", + "BoolValue": false, + "IntValue": 140402, + "UintValue": 140402, + "LongValue": 140402, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 140502.0, + "DoubleValue": 140502.0, + "FixPointValue": "140502", + "BoolValue": false, + "IntValue": 140502, + "UintValue": 140502, + "LongValue": 140502, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 140602.0, + "DoubleValue": 140602.0, + "FixPointValue": "140602", + "BoolValue": false, + "IntValue": 140602, + "UintValue": 140602, + "LongValue": 140602, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 140702.0, + "DoubleValue": 140702.0, + "FixPointValue": "140702", + "BoolValue": false, + "IntValue": 140702, + "UintValue": 140702, + "LongValue": 140702, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 140802.0, + "DoubleValue": 140802.0, + "FixPointValue": "140802", + "BoolValue": false, + "IntValue": 140802, + "UintValue": 140802, + "LongValue": 140802, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 140902.0, + "DoubleValue": 140902.0, + "FixPointValue": "140902", + "BoolValue": false, + "IntValue": 140902, + "UintValue": 140902, + "LongValue": 140902, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 141002.0, + "DoubleValue": 141002.0, + "FixPointValue": "141002", + "BoolValue": false, + "IntValue": 141002, + "UintValue": 141002, + "LongValue": 141002, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 141202.0, + "DoubleValue": 141202.0, + "FixPointValue": "141202", + "BoolValue": false, + "IntValue": 141202, + "UintValue": 141202, + "LongValue": 141202, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 141302.0, + "DoubleValue": 141302.0, + "FixPointValue": "141302", + "BoolValue": false, + "IntValue": 141302, + "UintValue": 141302, + "LongValue": 141302, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 141402.0, + "DoubleValue": 141402.0, + "FixPointValue": "141402", + "BoolValue": false, + "IntValue": 141402, + "UintValue": 141402, + "LongValue": 141402, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 141502.0, + "DoubleValue": 141502.0, + "FixPointValue": "141502", + "BoolValue": false, + "IntValue": 141502, + "UintValue": 141502, + "LongValue": 141502, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_EquipType_Attack": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 47030100.0, + "DoubleValue": 47030101.0, + "FixPointValue": "47030101", + "BoolValue": false, + "IntValue": 47030101, + "UintValue": 47030101, + "LongValue": 47030101, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47030104.0, + "DoubleValue": 47030102.0, + "FixPointValue": "47030102", + "BoolValue": false, + "IntValue": 47030102, + "UintValue": 47030102, + "LongValue": 47030102, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47030104.0, + "DoubleValue": 47030105.0, + "FixPointValue": "47030105", + "BoolValue": false, + "IntValue": 47030105, + "UintValue": 47030105, + "LongValue": 47030105, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030108.0, + "DoubleValue": 35030107.0, + "FixPointValue": "35030107", + "BoolValue": false, + "IntValue": 35030107, + "UintValue": 35030107, + "LongValue": 35030107, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47030108.0, + "DoubleValue": 47030108.0, + "FixPointValue": "47030108", + "BoolValue": false, + "IntValue": 47030108, + "UintValue": 47030108, + "LongValue": 47030108, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47030200.0, + "DoubleValue": 47030202.0, + "FixPointValue": "47030202", + "BoolValue": false, + "IntValue": 47030202, + "UintValue": 47030202, + "LongValue": 47030202, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030204.0, + "DoubleValue": 35030204.0, + "FixPointValue": "35030204", + "BoolValue": false, + "IntValue": 35030204, + "UintValue": 35030204, + "LongValue": 35030204, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47030204.0, + "DoubleValue": 47030205.0, + "FixPointValue": "47030205", + "BoolValue": false, + "IntValue": 47030205, + "UintValue": 47030205, + "LongValue": 47030205, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47030210.0, + "DoubleValue": 47030207.0, + "FixPointValue": "47030207", + "BoolValue": false, + "IntValue": 47030207, + "UintValue": 47030207, + "LongValue": 47030207, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47030210.0, + "DoubleValue": 47030208.0, + "FixPointValue": "47030208", + "BoolValue": false, + "IntValue": 47030208, + "UintValue": 47030208, + "LongValue": 47030208, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47030304.0, + "DoubleValue": 47030303.0, + "FixPointValue": "47030303", + "BoolValue": false, + "IntValue": 47030303, + "UintValue": 47030303, + "LongValue": 47030303, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030304.0, + "DoubleValue": 35030304.0, + "FixPointValue": "35030304", + "BoolValue": false, + "IntValue": 35030304, + "UintValue": 35030304, + "LongValue": 35030304, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47030308.0, + "DoubleValue": 47030307.0, + "FixPointValue": "47030307", + "BoolValue": false, + "IntValue": 47030307, + "UintValue": 47030307, + "LongValue": 47030307, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030404.0, + "DoubleValue": 35030405.0, + "FixPointValue": "35030405", + "BoolValue": false, + "IntValue": 35030405, + "UintValue": 35030405, + "LongValue": 35030405, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47030410.0, + "DoubleValue": 47030406.0, + "FixPointValue": "47030406", + "BoolValue": false, + "IntValue": 47030406, + "UintValue": 47030406, + "LongValue": 47030406, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47030410.0, + "DoubleValue": 47030408.0, + "FixPointValue": "47030408", + "BoolValue": false, + "IntValue": 47030408, + "UintValue": 47030408, + "LongValue": 47030408, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030708.0, + "DoubleValue": 35030707.0, + "FixPointValue": "35030707", + "BoolValue": false, + "IntValue": 35030707, + "UintValue": 35030707, + "LongValue": 35030707, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030810.0, + "DoubleValue": 35030808.0, + "FixPointValue": "35030808", + "BoolValue": false, + "IntValue": 35030808, + "UintValue": 35030808, + "LongValue": 35030808, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47040100.0, + "DoubleValue": 47040101.0, + "FixPointValue": "47040101", + "BoolValue": false, + "IntValue": 47040101, + "UintValue": 47040101, + "LongValue": 47040101, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47040104.0, + "DoubleValue": 47040102.0, + "FixPointValue": "47040102", + "BoolValue": false, + "IntValue": 47040102, + "UintValue": 47040102, + "LongValue": 47040102, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47040104.0, + "DoubleValue": 47040105.0, + "FixPointValue": "47040105", + "BoolValue": false, + "IntValue": 47040105, + "UintValue": 47040105, + "LongValue": 47040105, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040108.0, + "DoubleValue": 35040107.0, + "FixPointValue": "35040107", + "BoolValue": false, + "IntValue": 35040107, + "UintValue": 35040107, + "LongValue": 35040107, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47040108.0, + "DoubleValue": 47040108.0, + "FixPointValue": "47040108", + "BoolValue": false, + "IntValue": 47040108, + "UintValue": 47040108, + "LongValue": 47040108, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47040200.0, + "DoubleValue": 47040202.0, + "FixPointValue": "47040202", + "BoolValue": false, + "IntValue": 47040202, + "UintValue": 47040202, + "LongValue": 47040202, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040204.0, + "DoubleValue": 35040204.0, + "FixPointValue": "35040204", + "BoolValue": false, + "IntValue": 35040204, + "UintValue": 35040204, + "LongValue": 35040204, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47040204.0, + "DoubleValue": 47040205.0, + "FixPointValue": "47040205", + "BoolValue": false, + "IntValue": 47040205, + "UintValue": 47040205, + "LongValue": 47040205, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47040210.0, + "DoubleValue": 47040207.0, + "FixPointValue": "47040207", + "BoolValue": false, + "IntValue": 47040207, + "UintValue": 47040207, + "LongValue": 47040207, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47040210.0, + "DoubleValue": 47040208.0, + "FixPointValue": "47040208", + "BoolValue": false, + "IntValue": 47040208, + "UintValue": 47040208, + "LongValue": 47040208, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47040304.0, + "DoubleValue": 47040303.0, + "FixPointValue": "47040303", + "BoolValue": false, + "IntValue": 47040303, + "UintValue": 47040303, + "LongValue": 47040303, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040304.0, + "DoubleValue": 35040304.0, + "FixPointValue": "35040304", + "BoolValue": false, + "IntValue": 35040304, + "UintValue": 35040304, + "LongValue": 35040304, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47040308.0, + "DoubleValue": 47040307.0, + "FixPointValue": "47040307", + "BoolValue": false, + "IntValue": 47040307, + "UintValue": 47040307, + "LongValue": 47040307, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040404.0, + "DoubleValue": 35040405.0, + "FixPointValue": "35040405", + "BoolValue": false, + "IntValue": 35040405, + "UintValue": 35040405, + "LongValue": 35040405, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47040410.0, + "DoubleValue": 47040406.0, + "FixPointValue": "47040406", + "BoolValue": false, + "IntValue": 47040406, + "UintValue": 47040406, + "LongValue": 47040406, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47040410.0, + "DoubleValue": 47040408.0, + "FixPointValue": "47040408", + "BoolValue": false, + "IntValue": 47040408, + "UintValue": 47040408, + "LongValue": 47040408, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040708.0, + "DoubleValue": 35040707.0, + "FixPointValue": "35040707", + "BoolValue": false, + "IntValue": 35040707, + "UintValue": 35040707, + "LongValue": 35040707, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040810.0, + "DoubleValue": 35040808.0, + "FixPointValue": "35040808", + "BoolValue": false, + "IntValue": 35040808, + "UintValue": 35040808, + "LongValue": 35040808, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_EquipType_Support": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 47030104.0, + "DoubleValue": 47030103.0, + "FixPointValue": "47030103", + "BoolValue": false, + "IntValue": 47030103, + "UintValue": 47030103, + "LongValue": 47030103, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030104.0, + "DoubleValue": 35030104.0, + "FixPointValue": "35030104", + "BoolValue": false, + "IntValue": 35030104, + "UintValue": 35030104, + "LongValue": 35030104, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47030104.0, + "DoubleValue": 47030106.0, + "FixPointValue": "47030106", + "BoolValue": false, + "IntValue": 47030106, + "UintValue": 47030106, + "LongValue": 47030106, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030204.0, + "DoubleValue": 35030203.0, + "FixPointValue": "35030203", + "BoolValue": false, + "IntValue": 35030203, + "UintValue": 35030203, + "LongValue": 35030203, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030210.0, + "DoubleValue": 35030206.0, + "FixPointValue": "35030206", + "BoolValue": false, + "IntValue": 35030206, + "UintValue": 35030206, + "LongValue": 35030206, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030304.0, + "DoubleValue": 35030305.0, + "FixPointValue": "35030305", + "BoolValue": false, + "IntValue": 35030305, + "UintValue": 35030305, + "LongValue": 35030305, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47030304.0, + "DoubleValue": 47030306.0, + "FixPointValue": "47030306", + "BoolValue": false, + "IntValue": 47030306, + "UintValue": 47030306, + "LongValue": 47030306, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030308.0, + "DoubleValue": 35030308.0, + "FixPointValue": "35030308", + "BoolValue": false, + "IntValue": 35030308, + "UintValue": 35030308, + "LongValue": 35030308, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030404.0, + "DoubleValue": 35030404.0, + "FixPointValue": "35030404", + "BoolValue": false, + "IntValue": 35030404, + "UintValue": 35030404, + "LongValue": 35030404, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030410.0, + "DoubleValue": 35030407.0, + "FixPointValue": "35030407", + "BoolValue": false, + "IntValue": 35030407, + "UintValue": 35030407, + "LongValue": 35030407, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030504.0, + "DoubleValue": 35030505.0, + "FixPointValue": "35030505", + "BoolValue": false, + "IntValue": 35030505, + "UintValue": 35030505, + "LongValue": 35030505, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030504.0, + "DoubleValue": 35030506.0, + "FixPointValue": "35030506", + "BoolValue": false, + "IntValue": 35030506, + "UintValue": 35030506, + "LongValue": 35030506, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030508.0, + "DoubleValue": 35030507.0, + "FixPointValue": "35030507", + "BoolValue": false, + "IntValue": 35030507, + "UintValue": 35030507, + "LongValue": 35030507, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47030508.0, + "DoubleValue": 47030508.0, + "FixPointValue": "47030508", + "BoolValue": false, + "IntValue": 47030508, + "UintValue": 47030508, + "LongValue": 47030508, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030610.0, + "DoubleValue": 35030606.0, + "FixPointValue": "35030606", + "BoolValue": false, + "IntValue": 35030606, + "UintValue": 35030606, + "LongValue": 35030606, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030610.0, + "DoubleValue": 35030607.0, + "FixPointValue": "35030607", + "BoolValue": false, + "IntValue": 35030607, + "UintValue": 35030607, + "LongValue": 35030607, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030610.0, + "DoubleValue": 35030608.0, + "FixPointValue": "35030608", + "BoolValue": false, + "IntValue": 35030608, + "UintValue": 35030608, + "LongValue": 35030608, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35030708.0, + "DoubleValue": 35030708.0, + "FixPointValue": "35030708", + "BoolValue": false, + "IntValue": 35030708, + "UintValue": 35030708, + "LongValue": 35030708, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47040104.0, + "DoubleValue": 47040103.0, + "FixPointValue": "47040103", + "BoolValue": false, + "IntValue": 47040103, + "UintValue": 47040103, + "LongValue": 47040103, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040104.0, + "DoubleValue": 35040104.0, + "FixPointValue": "35040104", + "BoolValue": false, + "IntValue": 35040104, + "UintValue": 35040104, + "LongValue": 35040104, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47040104.0, + "DoubleValue": 47040106.0, + "FixPointValue": "47040106", + "BoolValue": false, + "IntValue": 47040106, + "UintValue": 47040106, + "LongValue": 47040106, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040204.0, + "DoubleValue": 35040203.0, + "FixPointValue": "35040203", + "BoolValue": false, + "IntValue": 35040203, + "UintValue": 35040203, + "LongValue": 35040203, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040210.0, + "DoubleValue": 35040206.0, + "FixPointValue": "35040206", + "BoolValue": false, + "IntValue": 35040206, + "UintValue": 35040206, + "LongValue": 35040206, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040304.0, + "DoubleValue": 35040305.0, + "FixPointValue": "35040305", + "BoolValue": false, + "IntValue": 35040305, + "UintValue": 35040305, + "LongValue": 35040305, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47040304.0, + "DoubleValue": 47040306.0, + "FixPointValue": "47040306", + "BoolValue": false, + "IntValue": 47040306, + "UintValue": 47040306, + "LongValue": 47040306, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040308.0, + "DoubleValue": 35040308.0, + "FixPointValue": "35040308", + "BoolValue": false, + "IntValue": 35040308, + "UintValue": 35040308, + "LongValue": 35040308, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040404.0, + "DoubleValue": 35040404.0, + "FixPointValue": "35040404", + "BoolValue": false, + "IntValue": 35040404, + "UintValue": 35040404, + "LongValue": 35040404, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040410.0, + "DoubleValue": 35040407.0, + "FixPointValue": "35040407", + "BoolValue": false, + "IntValue": 35040407, + "UintValue": 35040407, + "LongValue": 35040407, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040504.0, + "DoubleValue": 35040505.0, + "FixPointValue": "35040505", + "BoolValue": false, + "IntValue": 35040505, + "UintValue": 35040505, + "LongValue": 35040505, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040504.0, + "DoubleValue": 35040506.0, + "FixPointValue": "35040506", + "BoolValue": false, + "IntValue": 35040506, + "UintValue": 35040506, + "LongValue": 35040506, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040508.0, + "DoubleValue": 35040507.0, + "FixPointValue": "35040507", + "BoolValue": false, + "IntValue": 35040507, + "UintValue": 35040507, + "LongValue": 35040507, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 47040508.0, + "DoubleValue": 47040508.0, + "FixPointValue": "47040508", + "BoolValue": false, + "IntValue": 47040508, + "UintValue": 47040508, + "LongValue": 47040508, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040610.0, + "DoubleValue": 35040606.0, + "FixPointValue": "35040606", + "BoolValue": false, + "IntValue": 35040606, + "UintValue": 35040606, + "LongValue": 35040606, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040610.0, + "DoubleValue": 35040607.0, + "FixPointValue": "35040607", + "BoolValue": false, + "IntValue": 35040607, + "UintValue": 35040607, + "LongValue": 35040607, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040610.0, + "DoubleValue": 35040608.0, + "FixPointValue": "35040608", + "BoolValue": false, + "IntValue": 35040608, + "UintValue": 35040608, + "LongValue": 35040608, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 35040708.0, + "DoubleValue": 35040708.0, + "FixPointValue": "35040708", + "BoolValue": false, + "IntValue": 35040708, + "UintValue": 35040708, + "LongValue": 35040708, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_TrailblazeShop_ItemNum": { + "FloatValue": 4.0, + "DoubleValue": 4.0, + "FixPointValue": "4", + "BoolValue": false, + "IntValue": 4, + "UintValue": 4, + "LongValue": 4, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_TrailblazeShop_InitialGoodsID": { + "FloatValue": 101.0, + "DoubleValue": 101.0, + "FixPointValue": "101", + "BoolValue": false, + "IntValue": 101, + "UintValue": 101, + "LongValue": 101, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFight_Origin_MoonGame_SubtraitList": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [ + { + "FloatValue": 1003021.0, + "DoubleValue": 1003021.0, + "FixPointValue": "1003021", + "BoolValue": false, + "IntValue": 1003021, + "UintValue": 1003021, + "LongValue": 1003021, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 1003022.0, + "DoubleValue": 1003022.0, + "FixPointValue": "1003022", + "BoolValue": false, + "IntValue": 1003022, + "UintValue": 1003022, + "LongValue": 1003022, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + { + "FloatValue": 1003023.0, + "DoubleValue": 1003023.0, + "FixPointValue": "1003023", + "BoolValue": false, + "IntValue": 1003023, + "UintValue": 1003023, + "LongValue": 1003023, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + ], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFight_AhaMaxStar_JsonPath": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": "Config/Level/GridFight/Role/GridFightRole151132_MaxStar.json", + "ArrayValue": null, + "MapValue": null, + "ValueType": 5, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": true, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + }, + "ConstValueClientExcelTable": { + "GameplayGuide_GridFight_PageOpened_GotoID": { + "FloatValue": 6296.0, + "DoubleValue": 6296.0, + "FixPointValue": "6296", + "BoolValue": false, + "IntValue": 6296, + "UintValue": 6296, + "LongValue": 6296, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "gridfight_zerokeepwingold_talentid": { + "FloatValue": 3011.0, + "DoubleValue": 3011.0, + "FixPointValue": "3011", + "BoolValue": false, + "IntValue": 3011, + "UintValue": 3011, + "LongValue": 3011, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "gridfight_sixkeepwingold_talentid": { + "FloatValue": 4061.0, + "DoubleValue": 4061.0, + "FixPointValue": "4061", + "BoolValue": false, + "IntValue": 4061, + "UintValue": 4061, + "LongValue": 4061, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + }, + "GridFightS2_SpotLight_NeedEnhance": { + "FloatValue": 0.0, + "DoubleValue": 0.0, + "FixPointValue": "0", + "BoolValue": false, + "IntValue": 0, + "UintValue": 0, + "LongValue": 0, + "StringValue": null, + "ArrayValue": [], + "MapValue": null, + "ValueType": 3, + "IsInt": false, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": true, + "IsMap": false + }, + "GridFightS2_SpotLight_NeedHighlightDifficulty": { + "FloatValue": 1.0, + "DoubleValue": 1.0, + "FixPointValue": "1", + "BoolValue": true, + "IntValue": 1, + "UintValue": 1, + "LongValue": 1, + "StringValue": null, + "ArrayValue": null, + "MapValue": null, + "ValueType": 0, + "IsInt": true, + "IsFloat": false, + "IsBool": false, + "IsString": false, + "IsNull": false, + "IsArray": false, + "IsMap": false + } + } + }, + "active_stage_wrappers": [ + { + "ID": 20101, + "EnemyHardLevel": 1, + "Exp": 1500, + "WeeklyScore": 18000, + "OverChargeExp": 1000, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20102, + "EnemyHardLevel": 2, + "Exp": 1500, + "WeeklyScore": 18000, + "OverChargeExp": 1000, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20103, + "EnemyHardLevel": 3, + "Exp": 1500, + "WeeklyScore": 18000, + "OverChargeExp": 1000, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20201, + "EnemyHardLevel": 6, + "Exp": 1500, + "WeeklyScore": 18000, + "OverChargeExp": 1000, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20202, + "EnemyHardLevel": 7, + "Exp": 1575, + "WeeklyScore": 18000, + "OverChargeExp": 1050, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20203, + "EnemyHardLevel": 8, + "Exp": 1650, + "WeeklyScore": 18000, + "OverChargeExp": 1100, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20301, + "EnemyHardLevel": 11, + "Exp": 1725, + "WeeklyScore": 18000, + "OverChargeExp": 1150, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20302, + "EnemyHardLevel": 12, + "Exp": 1800, + "WeeklyScore": 18000, + "OverChargeExp": 1200, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20303, + "EnemyHardLevel": 13, + "Exp": 1875, + "WeeklyScore": 18000, + "OverChargeExp": 1250, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20401, + "EnemyHardLevel": 16, + "Exp": 1950, + "WeeklyScore": 18000, + "OverChargeExp": 1300, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20402, + "EnemyHardLevel": 17, + "Exp": 2025, + "WeeklyScore": 18000, + "OverChargeExp": 1350, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20403, + "EnemyHardLevel": 18, + "Exp": 2100, + "WeeklyScore": 18000, + "OverChargeExp": 1400, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20404, + "EnemyHardLevel": 19, + "Exp": 2175, + "WeeklyScore": 18000, + "OverChargeExp": 1450, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20405, + "EnemyHardLevel": 20, + "Exp": 2250, + "WeeklyScore": 18000, + "OverChargeExp": 1500, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20501, + "EnemyHardLevel": 23, + "Exp": 2325, + "WeeklyScore": 18000, + "OverChargeExp": 1550, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20502, + "EnemyHardLevel": 24, + "Exp": 2400, + "WeeklyScore": 18000, + "OverChargeExp": 1600, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20503, + "EnemyHardLevel": 25, + "Exp": 2475, + "WeeklyScore": 18000, + "OverChargeExp": 1650, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20504, + "EnemyHardLevel": 26, + "Exp": 2550, + "WeeklyScore": 18000, + "OverChargeExp": 1700, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20505, + "EnemyHardLevel": 27, + "Exp": 2625, + "WeeklyScore": 18000, + "OverChargeExp": 1750, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20506, + "EnemyHardLevel": 28, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20507, + "EnemyHardLevel": 29, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20601, + "EnemyHardLevel": 32, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20602, + "EnemyHardLevel": 33, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20603, + "EnemyHardLevel": 34, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20604, + "EnemyHardLevel": 35, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20605, + "EnemyHardLevel": 36, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20606, + "EnemyHardLevel": 37, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20607, + "EnemyHardLevel": 38, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20608, + "EnemyHardLevel": 39, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20609, + "EnemyHardLevel": 40, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20610, + "EnemyHardLevel": 48, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20701, + "EnemyHardLevel": 43, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20702, + "EnemyHardLevel": 44, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20703, + "EnemyHardLevel": 45, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20704, + "EnemyHardLevel": 46, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20705, + "EnemyHardLevel": 47, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20706, + "EnemyHardLevel": 48, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20707, + "EnemyHardLevel": 49, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20708, + "EnemyHardLevel": 50, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20709, + "EnemyHardLevel": 51, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20710, + "EnemyHardLevel": 58, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20801, + "EnemyHardLevel": 55, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20802, + "EnemyHardLevel": 56, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20803, + "EnemyHardLevel": 57, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20804, + "EnemyHardLevel": 58, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20805, + "EnemyHardLevel": 59, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20806, + "EnemyHardLevel": 60, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20807, + "EnemyHardLevel": 61, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20808, + "EnemyHardLevel": 62, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20809, + "EnemyHardLevel": 63, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20810, + "EnemyHardLevel": 72, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20901, + "EnemyHardLevel": 67, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20902, + "EnemyHardLevel": 68, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20903, + "EnemyHardLevel": 69, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20904, + "EnemyHardLevel": 70, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20905, + "EnemyHardLevel": 71, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20906, + "EnemyHardLevel": 72, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20907, + "EnemyHardLevel": 73, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20908, + "EnemyHardLevel": 74, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20909, + "EnemyHardLevel": 75, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20910, + "EnemyHardLevel": 76, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20911, + "EnemyHardLevel": 80, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20912, + "EnemyHardLevel": 81, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20913, + "EnemyHardLevel": 82, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20914, + "EnemyHardLevel": 83, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20915, + "EnemyHardLevel": 84, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20916, + "EnemyHardLevel": 85, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20917, + "EnemyHardLevel": 86, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20918, + "EnemyHardLevel": 87, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20919, + "EnemyHardLevel": 88, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + }, + { + "ID": 20920, + "EnemyHardLevel": 89, + "Exp": 2700, + "WeeklyScore": 18000, + "OverChargeExp": 1800, + "OverChargeWeeklyScore": 18000, + "ScoreRule": 1, + "OCScoreRule": 2, + "EnvironmentBuffList": [] + } + ], + "active_handbook_default_roles": [ + { + "Config": { + "BackendRankList": [ + 10040201, + 10040202, + 10040203, + 10040204, + 10040205, + 10040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1004Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100502, + 200302 + ], + "EquipmentID": 23004, + "AvatarID": 1004, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701004, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 100402 + }, + "Price": 1, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 1 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100802, + 200202 + ], + "EquipmentID": 0, + "AvatarID": 1005, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701005, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 100502 + }, + "Price": 5, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 5 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 101102, + 200202 + ], + "EquipmentID": 0, + "AvatarID": 1103, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701103, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 110302 + }, + "Price": 4, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 4 + }, + { + "Config": { + "BackendRankList": [ + 11050201, + 11050202, + 11050203, + 11050204, + 11050205, + 11050206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1105Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100402, + 200202, + 201002 + ], + "EquipmentID": 0, + "AvatarID": 1105, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701105, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 110502 + }, + "Price": 2, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 2 + }, + { + "Config": { + "BackendRankList": [ + 11070201, + 11070202, + 11070203, + 11070204, + 11070205, + 11070206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1107Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100402, + 200802, + 300502 + ], + "EquipmentID": 23002, + "AvatarID": 1107, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701107, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 110702 + }, + "Price": 5, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 5 + }, + { + "Config": { + "BackendRankList": [ + 11120201, + 11120202, + 11120203, + 11120204, + 11120205, + 11120206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100602, + 200102 + ], + "EquipmentID": 23016, + "AvatarID": 1112, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701112, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 111202 + }, + "Price": 1, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 1 + }, + { + "Config": { + "BackendRankList": [ + 12030201, + 12030202, + 12030203, + 12030204, + 12030205, + 12030206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 100402, + 201002 + ], + "EquipmentID": 23008, + "AvatarID": 1203, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701203, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 120302 + }, + "Price": 3, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 3 + }, + { + "Config": { + "BackendRankList": [ + 12040201, + 12040202, + 12040203, + 12040204, + 12040205, + 12040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1204Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100702, + 200602 + ], + "EquipmentID": 23010, + "AvatarID": 1204, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701204, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 120402 + }, + "Price": 1, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 1 + }, + { + "Config": { + "BackendRankList": [ + 12050201, + 12050202, + 12050203, + 12050204, + 12050205, + 12050206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 3, + 0 + ], + "TraitList": [ + 100702, + 200802 + ], + "EquipmentID": 23009, + "AvatarID": 1205, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701205, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 120502 + }, + "Price": 4, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 4 + }, + { + "Config": { + "BackendRankList": [ + 12080201, + 12080202, + 12080203, + 12080204, + 12080205, + 12080206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1208Ultra.png", + "ChargeType": [ + 1, + 2 + ], + "TraitList": [ + 100902, + 200802, + 201102 + ], + "EquipmentID": 23011, + "AvatarID": 1208, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701208, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 120802 + }, + "Price": 3, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 3 + }, + { + "Config": { + "BackendRankList": [ + 12100201, + 12100202, + 12100203, + 12100204, + 12100205, + 12100206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100102, + 200202 + ], + "EquipmentID": 0, + "AvatarID": 1210, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701210, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 121002 + }, + "Price": 1, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 1 + }, + { + "Config": { + "BackendRankList": [ + 12110201, + 12110202, + 12110203, + 12110204, + 12110205, + 12110206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 100702, + 200402, + 201002 + ], + "EquipmentID": 23013, + "AvatarID": 1211, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701211, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 121102 + }, + "Price": 2, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 2 + }, + { + "Config": { + "BackendRankList": [ + 12120201, + 12120202, + 12120203, + 12120204, + 12120205, + 12120206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0, + 1 + ], + "TraitList": [ + 100702, + 200402 + ], + "EquipmentID": 23014, + "AvatarID": 1212, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701212, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 121202 + }, + "Price": 3, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 3 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100502, + 100702, + 300102 + ], + "EquipmentID": 0, + "AvatarID": 1213, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701213, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 121302 + }, + "Price": 5, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 5 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100102, + 200502 + ], + "EquipmentID": 0, + "AvatarID": 1214, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701214, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 121402 + }, + "Price": 5, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 5 + }, + { + "Config": { + "BackendRankList": [ + 12150201, + 12150202, + 12150203, + 12150204, + 12150205, + 12150206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1215Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100102, + 200402 + ], + "EquipmentID": 0, + "AvatarID": 1215, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701215, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 121502 + }, + "Price": 4, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 4 + }, + { + "Config": { + "BackendRankList": [ + 12170201, + 12170202, + 12170203, + 12170204, + 12170205, + 12170206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1217Ultra.png", + "ChargeType": [ + 2, + 0, + 1 + ], + "TraitList": [ + 100902, + 200902, + 201002 + ], + "EquipmentID": 23017, + "AvatarID": 1217, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701217, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 121702 + }, + "Price": 4, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 4 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100102, + 200202 + ], + "EquipmentID": 0, + "AvatarID": 1218, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701218, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 121802 + }, + "Price": 3, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 3 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100102, + 200102 + ], + "EquipmentID": 0, + "AvatarID": 1220, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701220, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 122002 + }, + "Price": 3, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 3 + }, + { + "Config": { + "BackendRankList": [ + 12210201, + 12210202, + 12210203, + 12210204, + 12210205, + 12210206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1221Ultra.png", + "ChargeType": [ + 2, + 1 + ], + "TraitList": [ + 100102, + 200802 + ], + "EquipmentID": 23030, + "AvatarID": 1221, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701221, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 122102 + }, + "Price": 2, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 2 + }, + { + "Config": { + "BackendRankList": [ + 12220201, + 12220202, + 12220203, + 12220204, + 12220205, + 12220206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1222Ultra.png", + "ChargeType": [ + 0, + 2, + 1 + ], + "TraitList": [ + 100102, + 200302, + 201002 + ], + "EquipmentID": 23032, + "AvatarID": 1222, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701222, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 122202 + }, + "Price": 1, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 1 + }, + { + "Config": { + "BackendRankList": [ + 12240201, + 12240202, + 12240203, + 12240204, + 12240205, + 12240206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100502, + 200102 + ], + "EquipmentID": 0, + "AvatarID": 1224, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701224, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 122402 + }, + "Price": 1, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 1 + }, + { + "Config": { + "BackendRankList": [ + 12250201, + 12250202, + 12250203, + 12250204, + 12250205, + 12250206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1225Ultra.png", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100402, + 200502 + ], + "EquipmentID": 23035, + "AvatarID": 1225, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701225, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 122502 + }, + "Price": 1, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 1 + }, + { + "Config": { + "BackendRankList": [ + 13040201, + 13040202, + 13040203, + 13040204, + 13040205, + 13040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1304Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100402, + 200102, + 201102 + ], + "EquipmentID": 23023, + "AvatarID": 1304, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701304, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 130402 + }, + "Price": 4, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 4 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100902, + 101002, + 200702 + ], + "EquipmentID": 0, + "AvatarID": 1306, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701306, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 130602 + }, + "Price": 2, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 2 + }, + { + "Config": { + "BackendRankList": [ + 13070201, + 13070202, + 13070203, + 13070204, + 13070205, + 13070206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 101002, + 200202 + ], + "EquipmentID": 23022, + "AvatarID": 1307, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701307, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 130702 + }, + "Price": 1, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 1 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 101002, + 200302 + ], + "EquipmentID": 0, + "AvatarID": 1308, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701308, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 130802 + }, + "Price": 4, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 4 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 101102, + 200102 + ], + "EquipmentID": 0, + "AvatarID": 1309, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701309, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 130902 + }, + "Price": 2, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 2 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100802, + 200502 + ], + "EquipmentID": 0, + "AvatarID": 1310, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701310, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 131002 + }, + "Price": 2, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 2 + }, + { + "Config": { + "BackendRankList": [ + 13130201, + 13130202, + 13130203, + 13130204, + 13130205, + 13130206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1313Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 100502, + 200402 + ], + "EquipmentID": 23034, + "AvatarID": 1313, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701313, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 131302 + }, + "Price": 2, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 2 + }, + { + "Config": { + "BackendRankList": [ + 13140201, + 13140202, + 13140203, + 13140204, + 13140205, + 13140206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1314Ultra.png", + "ChargeType": [ + 2, + 1 + ], + "TraitList": [ + 100602, + 200302, + 300402 + ], + "EquipmentID": 23028, + "AvatarID": 1314, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701314, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 131402 + }, + "Price": 5, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 5 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100402, + 200502 + ], + "EquipmentID": 0, + "AvatarID": 1315, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701315, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 131502 + }, + "Price": 1, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 1 + }, + { + "Config": { + "BackendRankList": [ + 13170201, + 13170202, + 13170203, + 13170204, + 13170205, + 13170206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0, + 1 + ], + "TraitList": [ + 101102, + 200502 + ], + "EquipmentID": 23033, + "AvatarID": 1317, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701317, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 131702 + }, + "Price": 3, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 3 + }, + { + "Config": { + "BackendRankList": [ + 13210201, + 13210202, + 13210203, + 13210204, + 13210205, + 13210206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1321Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 101002, + 200502 + ], + "EquipmentID": 23050, + "AvatarID": 1321, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701321, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 132102 + }, + "Price": 3, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 3 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100402, + 200302 + ], + "EquipmentID": 0, + "AvatarID": 1401, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701401, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 140102 + }, + "Price": 2, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 2 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100202, + 200402 + ], + "EquipmentID": 0, + "AvatarID": 1402, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701402, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 140202 + }, + "Price": 5, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 5 + }, + { + "Config": { + "BackendRankList": [ + 14030201, + 14030202, + 14030203, + 14030204, + 14030205, + 14030206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1403Ultra.png", + "ChargeType": [ + 2 + ], + "TraitList": [ + 100902, + 200102 + ], + "EquipmentID": 23038, + "AvatarID": 1403, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701403, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140302 + }, + "Price": 4, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 4 + }, + { + "Config": { + "BackendRankList": [ + 14040201, + 14040202, + 14040203, + 14040204, + 14040205, + 14040206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 3, + 1 + ], + "TraitList": [ + 100202, + 101202, + 200802 + ], + "EquipmentID": 23039, + "AvatarID": 1404, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701404, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140402 + }, + "Price": 2, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 2 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100202, + 200402 + ], + "EquipmentID": 0, + "AvatarID": 1405, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701405, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 140502 + }, + "Price": 1, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 1 + }, + { + "Config": { + "BackendRankList": [ + 14060201, + 14060202, + 14060203, + 14060204, + 14060205, + 14060206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1406Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100202, + 200302 + ], + "EquipmentID": 23043, + "AvatarID": 1406, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701406, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 140602 + }, + "Price": 3, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 3 + }, + { + "Config": { + "BackendRankList": [ + 14070201, + 14070202, + 14070203, + 14070204, + 14070205, + 14070206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 3 + ], + "TraitList": [ + 101202, + 200602 + ], + "EquipmentID": 23040, + "AvatarID": 1407, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701407, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140702 + }, + "Price": 3, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 3 + }, + { + "Config": { + "BackendRankList": [ + 14080201, + 14080202, + 14080203, + 14080204, + 14080205, + 14080206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 101202, + 300202 + ], + "EquipmentID": 23044, + "AvatarID": 1408, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701408, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140802 + }, + "Price": 5, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 5 + }, + { + "Config": { + "BackendRankList": [ + 14090201, + 14090202, + 14090203, + 14090204, + 14090205, + 14090206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1409Ultra.png", + "ChargeType": [ + 2, + 0, + 1 + ], + "TraitList": [ + 100202, + 200602, + 201002 + ], + "EquipmentID": 23042, + "AvatarID": 1409, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701409, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140902 + }, + "Price": 4, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 4 + }, + { + "Config": { + "BackendRankList": [ + 14100201, + 14100202, + 14100203, + 14100204, + 14100205, + 14100206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1410Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100202, + 200202 + ], + "EquipmentID": 23047, + "AvatarID": 1410, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701410, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 141002 + }, + "Price": 2, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 2 + }, + { + "Config": { + "BackendRankList": [ + 14120201, + 14120202, + 14120203, + 14120204, + 14120205, + 14120206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 100902, + 200402 + ], + "EquipmentID": 23048, + "AvatarID": 1412, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701412, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 141202 + }, + "Price": 1, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 1 + }, + { + "Config": { + "BackendRankList": [ + 14130201, + 14130202, + 14130203, + 14130204, + 14130205, + 14130206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 3 + ], + "TraitList": [ + 100202, + 101002, + 200602 + ], + "EquipmentID": 23049, + "AvatarID": 1413, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701413, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 141302 + }, + "Price": 1, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 1 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [ + 2 + ], + "TraitList": [ + 101202, + 200602 + ], + "EquipmentID": 0, + "AvatarID": 1415, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701415, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 141502 + }, + "Price": 4, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 4 + }, + { + "Config": { + "BackendRankList": [ + 15010201, + 15010202, + 15010203, + 15010204, + 15010205, + 15010206 + ], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100302, + 101102, + 200702 + ], + "EquipmentID": 23053, + "AvatarID": 1501, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701501, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 150102 + }, + "Price": 1, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 1 + }, + { + "Config": { + "BackendRankList": [ + 15020201, + 15020202, + 15020203, + 15020204, + 15020205, + 15020206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1502Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100602, + 200702 + ], + "EquipmentID": 23054, + "AvatarID": 1502, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701502, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 150202 + }, + "Price": 3, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 3 + }, + { + "Config": { + "BackendRankList": [ + 15030201, + 15030202, + 15030203, + 15030204, + 15030205, + 15030206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1503Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100302, + 100602, + 201102 + ], + "EquipmentID": 23055, + "AvatarID": 1503, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701503, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 150302 + }, + "Price": 1, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 1 + }, + { + "Config": { + "BackendRankList": [ + 15040201, + 15040202, + 15040203, + 15040204, + 15040205, + 15040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1504Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 200102, + 300302 + ], + "EquipmentID": 23056, + "AvatarID": 1504, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701504, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 150402 + }, + "Price": 5, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 5 + }, + { + "Config": { + "BackendRankList": [ + 15050201, + 15050202, + 15050203, + 15050204, + 15050205, + 15050206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1505Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 200902 + ], + "EquipmentID": 23058, + "AvatarID": 1505, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701505, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 150502 + }, + "Price": 2, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 2 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100302, + 100802, + 200702 + ], + "EquipmentID": 0, + "AvatarID": 1506, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701506, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 150602 + }, + "Price": 3, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 3 + }, + { + "Config": { + "BackendRankList": [ + 15070201, + 15070202, + 15070203, + 15070204, + 15070205, + 15070206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1507Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 100802, + 200302 + ], + "EquipmentID": 23059, + "AvatarID": 1507, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701507, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 150702 + }, + "Price": 4, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 4 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100502, + 200902 + ], + "EquipmentID": 0, + "AvatarID": 1510, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701510, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151002 + }, + "Price": 4, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 4 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 200702, + 300602 + ], + "EquipmentID": 0, + "AvatarID": 1511, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701511, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151102 + }, + "Price": 3, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 3 + }, + { + "Config": { + "BackendRankList": [ + 15120201, + 15120202, + 15120203, + 15120204, + 15120205, + 15120206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1512Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100602, + 200602, + 200902 + ], + "EquipmentID": 23063, + "AvatarID": 1512, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701512, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 151202 + }, + "Price": 2, + "MaxStar": 4, + "DefaultStar": 1, + "DefaultSellPrice": 2 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100602, + 200702 + ], + "EquipmentID": 0, + "AvatarID": 1513, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701513, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151302 + }, + "Price": 4, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 4 + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_PamRage.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100502 + ], + "EquipmentID": 0, + "AvatarID": 6042, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3706042, + "IsFakeAvatar": 1, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 604202 + }, + "Price": 5, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 5 + }, + { + "Config": { + "BackendRankList": [ + 80090201, + 80090202, + 80090203, + 80090204, + 80090205, + 80090206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_8009Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100502, + 100802, + 200902 + ], + "EquipmentID": 0, + "AvatarID": 8009, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3708009, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 800902 + }, + "Price": 3, + "MaxStar": 3, + "DefaultStar": 1, + "DefaultSellPrice": 3 + } + ], + "entrance": { + "entry_id": 2032202, + "plane_id": 20322, + "floor_id": 20322001, + "start_group_id": 373, + "anchor": { + "ID": 2, + "pos": { + "x": -998, + "y": 96401, + "z": 152165 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + "room_groups": [ + { + "group_id": 372, + "condition": { + "name": "FSV_370GridFight", + "comparison": "GreaterEqual", + "value": 1 + }, + "props": [ + { + "groupId": 372, + "instId": 300001, + "propId": 932, + "propState": 1, + "pos": { + "x": -1295, + "y": 97258, + "z": 156344 + }, + "rot": { + "x": 0, + "y": 179742, + "z": 0 + } + }, + { + "groupId": 372, + "instId": 300002, + "propId": 937, + "propState": 1, + "pos": { + "x": -1295, + "y": 97258, + "z": 156344 + }, + "rot": { + "x": 0, + "y": 179742, + "z": 0 + } + } + ] + } + ], + "saved_values": { + "FSV_370GridFight": 2 + }, + "saved_value_rules": { + "FSV_370GridFight": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 2, + "AllowedValues": [ + 0, + 1, + 2 + ] + } + } + }, + "stage_routes": [ + { + "NodeTemplateID": 10011, + "SectionID": 1, + "ChapterID": 1, + "ID": 100 + }, + { + "NodeTemplateID": 10012, + "SectionID": 2, + "ChapterID": 1, + "ID": 100 + }, + { + "NodeTemplateID": 10013, + "SectionID": 3, + "ChapterID": 1, + "ID": 100 + }, + { + "NodeTemplateID": 10014, + "SectionID": 4, + "ChapterID": 1, + "ID": 100 + }, + { + "NodeTemplateID": 10015, + "SectionID": 5, + "ChapterID": 1, + "ID": 100 + }, + { + "NodeTemplateID": 10016, + "SectionID": 6, + "ChapterID": 1, + "ID": 100 + }, + { + "NodeTemplateID": 10017, + "SectionID": 7, + "ChapterID": 1, + "ID": 100 + }, + { + "NodeTemplateID": 10018, + "SectionID": 8, + "ChapterID": 1, + "ID": 100 + }, + { + "NodeTemplateID": 10019, + "SectionID": 9, + "ChapterID": 1, + "ID": 100 + }, + { + "NodeTemplateID": 10021, + "SectionID": 1, + "ChapterID": 2, + "ID": 100 + }, + { + "NodeTemplateID": 10022, + "SectionID": 2, + "ChapterID": 2, + "ID": 100 + }, + { + "NodeTemplateID": 10023, + "SectionID": 3, + "ChapterID": 2, + "ID": 100 + }, + { + "NodeTemplateID": 10024, + "SectionID": 4, + "ChapterID": 2, + "ID": 100 + }, + { + "NodeTemplateID": 10025, + "SectionID": 5, + "ChapterID": 2, + "ID": 100 + }, + { + "NodeTemplateID": 10026, + "SectionID": 6, + "ChapterID": 2, + "ID": 100 + }, + { + "NodeTemplateID": 10027, + "SectionID": 7, + "ChapterID": 2, + "ID": 100 + }, + { + "NodeTemplateID": 10031, + "SectionID": 1, + "ChapterID": 3, + "ID": 100 + }, + { + "NodeTemplateID": 10032, + "SectionID": 2, + "ChapterID": 3, + "ID": 100 + }, + { + "NodeTemplateID": 10033, + "SectionID": 3, + "ChapterID": 3, + "ID": 100 + }, + { + "NodeTemplateID": 10034, + "SectionID": 4, + "ChapterID": 3, + "ID": 100 + }, + { + "NodeTemplateID": 10035, + "SectionID": 5, + "ChapterID": 3, + "ID": 100 + }, + { + "NodeTemplateID": 10036, + "SectionID": 6, + "ChapterID": 3, + "ID": 100 + }, + { + "NodeTemplateID": 10037, + "SectionID": 7, + "ChapterID": 3, + "ID": 100 + }, + { + "NodeTemplateID": 20011, + "SectionID": 1, + "ChapterID": 1, + "ID": 200 + }, + { + "NodeTemplateID": 20012, + "SectionID": 2, + "ChapterID": 1, + "ID": 200 + }, + { + "NodeTemplateID": 20013, + "SectionID": 3, + "ChapterID": 1, + "ID": 200 + }, + { + "NodeTemplateID": 20014, + "SectionID": 4, + "ChapterID": 1, + "ID": 200 + }, + { + "NodeTemplateID": 20015, + "SectionID": 5, + "ChapterID": 1, + "ID": 200 + }, + { + "NodeTemplateID": 20016, + "SectionID": 6, + "ChapterID": 1, + "ID": 200 + }, + { + "NodeTemplateID": 20017, + "SectionID": 7, + "ChapterID": 1, + "ID": 200 + }, + { + "NodeTemplateID": 20018, + "SectionID": 8, + "ChapterID": 1, + "ID": 200 + }, + { + "NodeTemplateID": 20019, + "SectionID": 9, + "ChapterID": 1, + "ID": 200 + }, + { + "NodeTemplateID": 20021, + "SectionID": 1, + "ChapterID": 2, + "ID": 200 + }, + { + "NodeTemplateID": 20022, + "SectionID": 2, + "ChapterID": 2, + "ID": 200 + }, + { + "NodeTemplateID": 20023, + "SectionID": 3, + "ChapterID": 2, + "ID": 200 + }, + { + "NodeTemplateID": 20024, + "SectionID": 4, + "ChapterID": 2, + "ID": 200 + }, + { + "NodeTemplateID": 20025, + "SectionID": 5, + "ChapterID": 2, + "ID": 200 + }, + { + "NodeTemplateID": 20026, + "SectionID": 6, + "ChapterID": 2, + "ID": 200 + }, + { + "NodeTemplateID": 20027, + "SectionID": 7, + "ChapterID": 2, + "ID": 200 + }, + { + "NodeTemplateID": 20031, + "SectionID": 1, + "ChapterID": 3, + "ID": 200 + }, + { + "NodeTemplateID": 20032, + "SectionID": 2, + "ChapterID": 3, + "ID": 200 + }, + { + "NodeTemplateID": 20033, + "SectionID": 3, + "ChapterID": 3, + "ID": 200 + }, + { + "NodeTemplateID": 20034, + "SectionID": 4, + "ChapterID": 3, + "ID": 200 + }, + { + "NodeTemplateID": 20035, + "SectionID": 5, + "ChapterID": 3, + "ID": 200 + }, + { + "NodeTemplateID": 20036, + "SectionID": 6, + "ChapterID": 3, + "ID": 200 + }, + { + "NodeTemplateID": 20037, + "SectionID": 7, + "ChapterID": 3, + "ID": 200 + }, + { + "NodeTemplateID": 20111, + "SectionID": 1, + "ChapterID": 1, + "ID": 201 + }, + { + "NodeTemplateID": 20112, + "SectionID": 2, + "ChapterID": 1, + "ID": 201 + }, + { + "NodeTemplateID": 20113, + "SectionID": 3, + "ChapterID": 1, + "ID": 201 + }, + { + "NodeTemplateID": 20114, + "SectionID": 4, + "ChapterID": 1, + "ID": 201 + }, + { + "NodeTemplateID": 20115, + "SectionID": 5, + "ChapterID": 1, + "ID": 201 + }, + { + "NodeTemplateID": 20116, + "SectionID": 6, + "ChapterID": 1, + "ID": 201 + }, + { + "NodeTemplateID": 20121, + "SectionID": 1, + "ChapterID": 2, + "ID": 201 + }, + { + "NodeTemplateID": 20122, + "SectionID": 2, + "ChapterID": 2, + "ID": 201 + }, + { + "NodeTemplateID": 20123, + "SectionID": 3, + "ChapterID": 2, + "ID": 201 + }, + { + "NodeTemplateID": 20124, + "SectionID": 4, + "ChapterID": 2, + "ID": 201 + }, + { + "NodeTemplateID": 20125, + "SectionID": 5, + "ChapterID": 2, + "ID": 201 + }, + { + "NodeTemplateID": 20131, + "SectionID": 1, + "ChapterID": 3, + "ID": 201 + }, + { + "NodeTemplateID": 20132, + "SectionID": 2, + "ChapterID": 3, + "ID": 201 + }, + { + "NodeTemplateID": 20133, + "SectionID": 3, + "ChapterID": 3, + "ID": 201 + }, + { + "NodeTemplateID": 20134, + "SectionID": 4, + "ChapterID": 3, + "ID": 201 + }, + { + "NodeTemplateID": 20135, + "SectionID": 5, + "ChapterID": 3, + "ID": 201 + }, + { + "NodeTemplateID": 80111, + "SectionID": 1, + "ChapterID": 1, + "ID": 801 + }, + { + "NodeTemplateID": 80112, + "SectionID": 2, + "ChapterID": 1, + "ID": 801 + }, + { + "NodeTemplateID": 80113, + "SectionID": 3, + "ChapterID": 1, + "ID": 801 + }, + { + "NodeTemplateID": 80114, + "SectionID": 4, + "ChapterID": 1, + "ID": 801 + }, + { + "NodeTemplateID": 80115, + "SectionID": 5, + "ChapterID": 1, + "ID": 801 + }, + { + "NodeTemplateID": 80116, + "SectionID": 6, + "ChapterID": 1, + "ID": 801 + }, + { + "NodeTemplateID": 80117, + "SectionID": 7, + "ChapterID": 1, + "ID": 801 + }, + { + "NodeTemplateID": 80211, + "SectionID": 1, + "ChapterID": 1, + "ID": 802 + }, + { + "NodeTemplateID": 80212, + "SectionID": 2, + "ChapterID": 1, + "ID": 802 + }, + { + "NodeTemplateID": 80213, + "SectionID": 3, + "ChapterID": 1, + "ID": 802 + }, + { + "NodeTemplateID": 80214, + "SectionID": 4, + "ChapterID": 1, + "ID": 802 + }, + { + "NodeTemplateID": 80215, + "SectionID": 5, + "ChapterID": 1, + "ID": 802 + }, + { + "NodeTemplateID": 80216, + "SectionID": 6, + "ChapterID": 1, + "ID": 802 + }, + { + "NodeTemplateID": 80221, + "SectionID": 1, + "ChapterID": 2, + "ID": 802 + }, + { + "NodeTemplateID": 80222, + "SectionID": 2, + "ChapterID": 2, + "ID": 802 + }, + { + "NodeTemplateID": 80223, + "SectionID": 3, + "ChapterID": 2, + "ID": 802 + }, + { + "NodeTemplateID": 80224, + "SectionID": 4, + "ChapterID": 2, + "ID": 802 + }, + { + "NodeTemplateID": 80225, + "SectionID": 5, + "ChapterID": 2, + "ID": 802 + }, + { + "NodeTemplateID": 80311, + "SectionID": 1, + "ChapterID": 1, + "ID": 803 + }, + { + "NodeTemplateID": 80312, + "SectionID": 2, + "ChapterID": 1, + "ID": 803 + }, + { + "NodeTemplateID": 80313, + "SectionID": 3, + "ChapterID": 1, + "ID": 803 + }, + { + "NodeTemplateID": 80314, + "SectionID": 4, + "ChapterID": 1, + "ID": 803 + }, + { + "NodeTemplateID": 80315, + "SectionID": 5, + "ChapterID": 1, + "ID": 803 + }, + { + "NodeTemplateID": 80316, + "SectionID": 6, + "ChapterID": 1, + "ID": 803 + }, + { + "NodeTemplateID": 80317, + "SectionID": 7, + "ChapterID": 1, + "ID": 803 + }, + { + "NodeTemplateID": 80318, + "SectionID": 8, + "ChapterID": 1, + "ID": 803 + }, + { + "NodeTemplateID": 80319, + "SectionID": 9, + "ChapterID": 1, + "ID": 803 + }, + { + "NodeTemplateID": 80321, + "SectionID": 1, + "ChapterID": 2, + "ID": 803 + }, + { + "NodeTemplateID": 80322, + "SectionID": 2, + "ChapterID": 2, + "ID": 803 + }, + { + "NodeTemplateID": 80323, + "SectionID": 3, + "ChapterID": 2, + "ID": 803 + }, + { + "NodeTemplateID": 80324, + "SectionID": 4, + "ChapterID": 2, + "ID": 803 + }, + { + "NodeTemplateID": 80325, + "SectionID": 5, + "ChapterID": 2, + "ID": 803 + }, + { + "NodeTemplateID": 80326, + "SectionID": 6, + "ChapterID": 2, + "ID": 803 + }, + { + "NodeTemplateID": 80327, + "SectionID": 7, + "ChapterID": 2, + "ID": 803 + }, + { + "NodeTemplateID": 80331, + "SectionID": 1, + "ChapterID": 3, + "ID": 803 + }, + { + "NodeTemplateID": 80332, + "SectionID": 2, + "ChapterID": 3, + "ID": 803 + }, + { + "NodeTemplateID": 80333, + "SectionID": 3, + "ChapterID": 3, + "ID": 803 + }, + { + "NodeTemplateID": 80334, + "SectionID": 4, + "ChapterID": 3, + "ID": 803 + }, + { + "NodeTemplateID": 80335, + "SectionID": 5, + "ChapterID": 3, + "ID": 803 + }, + { + "NodeTemplateID": 80336, + "SectionID": 6, + "ChapterID": 3, + "ID": 803 + }, + { + "NodeTemplateID": 80337, + "SectionID": 7, + "ChapterID": 3, + "ID": 803 + }, + { + "NodeTemplateID": 100011, + "SectionID": 1, + "ChapterID": 1, + "ID": 1000 + }, + { + "NodeTemplateID": 100012, + "SectionID": 2, + "ChapterID": 1, + "ID": 1000 + }, + { + "NodeTemplateID": 100013, + "SectionID": 3, + "ChapterID": 1, + "ID": 1000 + }, + { + "NodeTemplateID": 100014, + "SectionID": 4, + "ChapterID": 1, + "ID": 1000 + }, + { + "NodeTemplateID": 100015, + "SectionID": 5, + "ChapterID": 1, + "ID": 1000 + }, + { + "NodeTemplateID": 100016, + "SectionID": 6, + "ChapterID": 1, + "ID": 1000 + }, + { + "NodeTemplateID": 100017, + "SectionID": 7, + "ChapterID": 1, + "ID": 1000 + }, + { + "NodeTemplateID": 100018, + "SectionID": 8, + "ChapterID": 1, + "ID": 1000 + }, + { + "NodeTemplateID": 100019, + "SectionID": 9, + "ChapterID": 1, + "ID": 1000 + }, + { + "NodeTemplateID": 100021, + "SectionID": 1, + "ChapterID": 2, + "ID": 1000 + }, + { + "NodeTemplateID": 100022, + "SectionID": 2, + "ChapterID": 2, + "ID": 1000 + }, + { + "NodeTemplateID": 100023, + "SectionID": 3, + "ChapterID": 2, + "ID": 1000 + }, + { + "NodeTemplateID": 100024, + "SectionID": 4, + "ChapterID": 2, + "ID": 1000 + }, + { + "NodeTemplateID": 100025, + "SectionID": 5, + "ChapterID": 2, + "ID": 1000 + }, + { + "NodeTemplateID": 100026, + "SectionID": 6, + "ChapterID": 2, + "ID": 1000 + }, + { + "NodeTemplateID": 100027, + "SectionID": 7, + "ChapterID": 2, + "ID": 1000 + }, + { + "NodeTemplateID": 100031, + "SectionID": 1, + "ChapterID": 3, + "ID": 1000 + }, + { + "NodeTemplateID": 100032, + "SectionID": 2, + "ChapterID": 3, + "ID": 1000 + }, + { + "NodeTemplateID": 100033, + "SectionID": 3, + "ChapterID": 3, + "ID": 1000 + }, + { + "NodeTemplateID": 100034, + "SectionID": 4, + "ChapterID": 3, + "ID": 1000 + }, + { + "NodeTemplateID": 100035, + "SectionID": 5, + "ChapterID": 3, + "ID": 1000 + }, + { + "NodeTemplateID": 100036, + "SectionID": 6, + "ChapterID": 3, + "ID": 1000 + }, + { + "NodeTemplateID": 100037, + "SectionID": 7, + "ChapterID": 3, + "ID": 1000 + }, + { + "NodeTemplateID": 110011, + "SectionID": 1, + "ChapterID": 1, + "ID": 1100 + }, + { + "NodeTemplateID": 110012, + "SectionID": 2, + "ChapterID": 1, + "ID": 1100 + }, + { + "NodeTemplateID": 110013, + "SectionID": 3, + "ChapterID": 1, + "ID": 1100 + }, + { + "NodeTemplateID": 110014, + "SectionID": 4, + "ChapterID": 1, + "ID": 1100 + }, + { + "NodeTemplateID": 110015, + "SectionID": 5, + "ChapterID": 1, + "ID": 1100 + }, + { + "NodeTemplateID": 110016, + "SectionID": 6, + "ChapterID": 1, + "ID": 1100 + }, + { + "NodeTemplateID": 110017, + "SectionID": 7, + "ChapterID": 1, + "ID": 1100 + }, + { + "NodeTemplateID": 110018, + "SectionID": 8, + "ChapterID": 1, + "ID": 1100 + }, + { + "NodeTemplateID": 110019, + "SectionID": 9, + "ChapterID": 1, + "ID": 1100 + }, + { + "NodeTemplateID": 110021, + "SectionID": 1, + "ChapterID": 2, + "ID": 1100 + }, + { + "NodeTemplateID": 110022, + "SectionID": 2, + "ChapterID": 2, + "ID": 1100 + }, + { + "NodeTemplateID": 110023, + "SectionID": 3, + "ChapterID": 2, + "ID": 1100 + }, + { + "NodeTemplateID": 110024, + "SectionID": 4, + "ChapterID": 2, + "ID": 1100 + }, + { + "NodeTemplateID": 110025, + "SectionID": 5, + "ChapterID": 2, + "ID": 1100 + }, + { + "NodeTemplateID": 110026, + "SectionID": 6, + "ChapterID": 2, + "ID": 1100 + }, + { + "NodeTemplateID": 110027, + "SectionID": 7, + "ChapterID": 2, + "ID": 1100 + }, + { + "NodeTemplateID": 110031, + "SectionID": 1, + "ChapterID": 3, + "ID": 1100 + }, + { + "NodeTemplateID": 110032, + "SectionID": 2, + "ChapterID": 3, + "ID": 1100 + }, + { + "NodeTemplateID": 110033, + "SectionID": 3, + "ChapterID": 3, + "ID": 1100 + }, + { + "NodeTemplateID": 110034, + "SectionID": 4, + "ChapterID": 3, + "ID": 1100 + }, + { + "NodeTemplateID": 110035, + "SectionID": 5, + "ChapterID": 3, + "ID": 1100 + }, + { + "NodeTemplateID": 110036, + "SectionID": 6, + "ChapterID": 3, + "ID": 1100 + }, + { + "NodeTemplateID": 110037, + "SectionID": 7, + "ChapterID": 3, + "ID": 1100 + }, + { + "NodeTemplateID": 120011, + "SectionID": 1, + "ChapterID": 1, + "ID": 1200 + }, + { + "NodeTemplateID": 120012, + "SectionID": 2, + "ChapterID": 1, + "ID": 1200 + }, + { + "NodeTemplateID": 120013, + "SectionID": 3, + "ChapterID": 1, + "ID": 1200 + }, + { + "NodeTemplateID": 120014, + "SectionID": 4, + "ChapterID": 1, + "ID": 1200 + }, + { + "NodeTemplateID": 120015, + "SectionID": 5, + "ChapterID": 1, + "ID": 1200 + }, + { + "NodeTemplateID": 120016, + "SectionID": 6, + "ChapterID": 1, + "ID": 1200 + }, + { + "NodeTemplateID": 120017, + "SectionID": 7, + "ChapterID": 1, + "ID": 1200 + }, + { + "NodeTemplateID": 120018, + "SectionID": 8, + "ChapterID": 1, + "ID": 1200 + }, + { + "NodeTemplateID": 120019, + "SectionID": 9, + "ChapterID": 1, + "ID": 1200 + }, + { + "NodeTemplateID": 120021, + "SectionID": 1, + "ChapterID": 2, + "ID": 1200 + }, + { + "NodeTemplateID": 120022, + "SectionID": 2, + "ChapterID": 2, + "ID": 1200 + }, + { + "NodeTemplateID": 120023, + "SectionID": 3, + "ChapterID": 2, + "ID": 1200 + }, + { + "NodeTemplateID": 120024, + "SectionID": 4, + "ChapterID": 2, + "ID": 1200 + }, + { + "NodeTemplateID": 120025, + "SectionID": 5, + "ChapterID": 2, + "ID": 1200 + }, + { + "NodeTemplateID": 120026, + "SectionID": 6, + "ChapterID": 2, + "ID": 1200 + }, + { + "NodeTemplateID": 120027, + "SectionID": 7, + "ChapterID": 2, + "ID": 1200 + }, + { + "NodeTemplateID": 120031, + "SectionID": 1, + "ChapterID": 3, + "ID": 1200 + }, + { + "NodeTemplateID": 120032, + "SectionID": 2, + "ChapterID": 3, + "ID": 1200 + }, + { + "NodeTemplateID": 120033, + "SectionID": 3, + "ChapterID": 3, + "ID": 1200 + }, + { + "NodeTemplateID": 120034, + "SectionID": 4, + "ChapterID": 3, + "ID": 1200 + }, + { + "NodeTemplateID": 120035, + "SectionID": 5, + "ChapterID": 3, + "ID": 1200 + }, + { + "NodeTemplateID": 120036, + "SectionID": 6, + "ChapterID": 3, + "ID": 1200 + }, + { + "NodeTemplateID": 120037, + "SectionID": 7, + "ChapterID": 3, + "ID": 1200 + }, + { + "NodeTemplateID": 130011, + "SectionID": 1, + "ChapterID": 1, + "ID": 1300 + }, + { + "NodeTemplateID": 130012, + "SectionID": 2, + "ChapterID": 1, + "ID": 1300 + }, + { + "NodeTemplateID": 130013, + "SectionID": 3, + "ChapterID": 1, + "ID": 1300 + }, + { + "NodeTemplateID": 130014, + "SectionID": 4, + "ChapterID": 1, + "ID": 1300 + }, + { + "NodeTemplateID": 130015, + "SectionID": 5, + "ChapterID": 1, + "ID": 1300 + }, + { + "NodeTemplateID": 130016, + "SectionID": 6, + "ChapterID": 1, + "ID": 1300 + }, + { + "NodeTemplateID": 130017, + "SectionID": 7, + "ChapterID": 1, + "ID": 1300 + }, + { + "NodeTemplateID": 130018, + "SectionID": 8, + "ChapterID": 1, + "ID": 1300 + }, + { + "NodeTemplateID": 130019, + "SectionID": 9, + "ChapterID": 1, + "ID": 1300 + }, + { + "NodeTemplateID": 130021, + "SectionID": 1, + "ChapterID": 2, + "ID": 1300 + }, + { + "NodeTemplateID": 130022, + "SectionID": 2, + "ChapterID": 2, + "ID": 1300 + }, + { + "NodeTemplateID": 130023, + "SectionID": 3, + "ChapterID": 2, + "ID": 1300 + }, + { + "NodeTemplateID": 130024, + "SectionID": 4, + "ChapterID": 2, + "ID": 1300 + }, + { + "NodeTemplateID": 130025, + "SectionID": 5, + "ChapterID": 2, + "ID": 1300 + }, + { + "NodeTemplateID": 130026, + "SectionID": 6, + "ChapterID": 2, + "ID": 1300 + }, + { + "NodeTemplateID": 130027, + "SectionID": 7, + "ChapterID": 2, + "ID": 1300 + }, + { + "NodeTemplateID": 130031, + "SectionID": 1, + "ChapterID": 3, + "ID": 1300 + }, + { + "NodeTemplateID": 130032, + "SectionID": 2, + "ChapterID": 3, + "ID": 1300 + }, + { + "NodeTemplateID": 130033, + "SectionID": 3, + "ChapterID": 3, + "ID": 1300 + }, + { + "NodeTemplateID": 130034, + "SectionID": 4, + "ChapterID": 3, + "ID": 1300 + }, + { + "NodeTemplateID": 130035, + "SectionID": 5, + "ChapterID": 3, + "ID": 1300 + }, + { + "NodeTemplateID": 130036, + "SectionID": 6, + "ChapterID": 3, + "ID": 1300 + }, + { + "NodeTemplateID": 130037, + "SectionID": 7, + "ChapterID": 3, + "ID": 1300 + }, + { + "NodeTemplateID": 140011, + "SectionID": 1, + "ChapterID": 1, + "ID": 1400 + }, + { + "NodeTemplateID": 140012, + "SectionID": 2, + "ChapterID": 1, + "ID": 1400 + }, + { + "NodeTemplateID": 140013, + "SectionID": 3, + "ChapterID": 1, + "ID": 1400 + }, + { + "NodeTemplateID": 140014, + "SectionID": 4, + "ChapterID": 1, + "ID": 1400 + }, + { + "NodeTemplateID": 140015, + "SectionID": 5, + "ChapterID": 1, + "ID": 1400 + }, + { + "NodeTemplateID": 140016, + "SectionID": 6, + "ChapterID": 1, + "ID": 1400 + }, + { + "NodeTemplateID": 140017, + "SectionID": 7, + "ChapterID": 1, + "ID": 1400 + }, + { + "NodeTemplateID": 140018, + "SectionID": 8, + "ChapterID": 1, + "ID": 1400 + }, + { + "NodeTemplateID": 140019, + "SectionID": 9, + "ChapterID": 1, + "ID": 1400 + }, + { + "NodeTemplateID": 140021, + "SectionID": 1, + "ChapterID": 2, + "ID": 1400 + }, + { + "NodeTemplateID": 140022, + "SectionID": 2, + "ChapterID": 2, + "ID": 1400 + }, + { + "NodeTemplateID": 140023, + "SectionID": 3, + "ChapterID": 2, + "ID": 1400 + }, + { + "NodeTemplateID": 140024, + "SectionID": 4, + "ChapterID": 2, + "ID": 1400 + }, + { + "NodeTemplateID": 140025, + "SectionID": 5, + "ChapterID": 2, + "ID": 1400 + }, + { + "NodeTemplateID": 140026, + "SectionID": 6, + "ChapterID": 2, + "ID": 1400 + }, + { + "NodeTemplateID": 140027, + "SectionID": 7, + "ChapterID": 2, + "ID": 1400 + }, + { + "NodeTemplateID": 140031, + "SectionID": 1, + "ChapterID": 3, + "ID": 1400 + }, + { + "NodeTemplateID": 140032, + "SectionID": 2, + "ChapterID": 3, + "ID": 1400 + }, + { + "NodeTemplateID": 140033, + "SectionID": 3, + "ChapterID": 3, + "ID": 1400 + }, + { + "NodeTemplateID": 140034, + "SectionID": 4, + "ChapterID": 3, + "ID": 1400 + }, + { + "NodeTemplateID": 140035, + "SectionID": 5, + "ChapterID": 3, + "ID": 1400 + }, + { + "NodeTemplateID": 140036, + "SectionID": 6, + "ChapterID": 3, + "ID": 1400 + }, + { + "NodeTemplateID": 140037, + "SectionID": 7, + "ChapterID": 3, + "ID": 1400 + }, + { + "NodeTemplateID": 150011, + "SectionID": 1, + "ChapterID": 1, + "ID": 1500 + }, + { + "NodeTemplateID": 150012, + "SectionID": 2, + "ChapterID": 1, + "ID": 1500 + }, + { + "NodeTemplateID": 150013, + "SectionID": 3, + "ChapterID": 1, + "ID": 1500 + }, + { + "NodeTemplateID": 150014, + "SectionID": 4, + "ChapterID": 1, + "ID": 1500 + }, + { + "NodeTemplateID": 150015, + "SectionID": 5, + "ChapterID": 1, + "ID": 1500 + }, + { + "NodeTemplateID": 150016, + "SectionID": 6, + "ChapterID": 1, + "ID": 1500 + }, + { + "NodeTemplateID": 150017, + "SectionID": 7, + "ChapterID": 1, + "ID": 1500 + }, + { + "NodeTemplateID": 150018, + "SectionID": 8, + "ChapterID": 1, + "ID": 1500 + }, + { + "NodeTemplateID": 150019, + "SectionID": 9, + "ChapterID": 1, + "ID": 1500 + }, + { + "NodeTemplateID": 150021, + "SectionID": 1, + "ChapterID": 2, + "ID": 1500 + }, + { + "NodeTemplateID": 150022, + "SectionID": 2, + "ChapterID": 2, + "ID": 1500 + }, + { + "NodeTemplateID": 150023, + "SectionID": 3, + "ChapterID": 2, + "ID": 1500 + }, + { + "NodeTemplateID": 150024, + "SectionID": 4, + "ChapterID": 2, + "ID": 1500 + }, + { + "NodeTemplateID": 150025, + "SectionID": 5, + "ChapterID": 2, + "ID": 1500 + }, + { + "NodeTemplateID": 150026, + "SectionID": 6, + "ChapterID": 2, + "ID": 1500 + }, + { + "NodeTemplateID": 150027, + "SectionID": 7, + "ChapterID": 2, + "ID": 1500 + }, + { + "NodeTemplateID": 150031, + "SectionID": 1, + "ChapterID": 3, + "ID": 1500 + }, + { + "NodeTemplateID": 150032, + "SectionID": 2, + "ChapterID": 3, + "ID": 1500 + }, + { + "NodeTemplateID": 150033, + "SectionID": 3, + "ChapterID": 3, + "ID": 1500 + }, + { + "NodeTemplateID": 150034, + "SectionID": 4, + "ChapterID": 3, + "ID": 1500 + }, + { + "NodeTemplateID": 150035, + "SectionID": 5, + "ChapterID": 3, + "ID": 1500 + }, + { + "NodeTemplateID": 150036, + "SectionID": 6, + "ChapterID": 3, + "ID": 1500 + }, + { + "NodeTemplateID": 150037, + "SectionID": 7, + "ChapterID": 3, + "ID": 1500 + }, + { + "NodeTemplateID": 160011, + "SectionID": 1, + "ChapterID": 1, + "ID": 1600 + }, + { + "NodeTemplateID": 160012, + "SectionID": 2, + "ChapterID": 1, + "ID": 1600 + }, + { + "NodeTemplateID": 160013, + "SectionID": 3, + "ChapterID": 1, + "ID": 1600 + }, + { + "NodeTemplateID": 160014, + "SectionID": 4, + "ChapterID": 1, + "ID": 1600 + }, + { + "NodeTemplateID": 160015, + "SectionID": 5, + "ChapterID": 1, + "ID": 1600 + }, + { + "NodeTemplateID": 160016, + "SectionID": 6, + "ChapterID": 1, + "ID": 1600 + }, + { + "NodeTemplateID": 160017, + "SectionID": 7, + "ChapterID": 1, + "ID": 1600 + }, + { + "NodeTemplateID": 160018, + "SectionID": 8, + "ChapterID": 1, + "ID": 1600 + }, + { + "NodeTemplateID": 160019, + "SectionID": 9, + "ChapterID": 1, + "ID": 1600 + }, + { + "NodeTemplateID": 160021, + "SectionID": 1, + "ChapterID": 2, + "ID": 1600 + }, + { + "NodeTemplateID": 160022, + "SectionID": 2, + "ChapterID": 2, + "ID": 1600 + }, + { + "NodeTemplateID": 160023, + "SectionID": 3, + "ChapterID": 2, + "ID": 1600 + }, + { + "NodeTemplateID": 160024, + "SectionID": 4, + "ChapterID": 2, + "ID": 1600 + }, + { + "NodeTemplateID": 160025, + "SectionID": 5, + "ChapterID": 2, + "ID": 1600 + }, + { + "NodeTemplateID": 160026, + "SectionID": 6, + "ChapterID": 2, + "ID": 1600 + }, + { + "NodeTemplateID": 160027, + "SectionID": 7, + "ChapterID": 2, + "ID": 1600 + }, + { + "NodeTemplateID": 160031, + "SectionID": 1, + "ChapterID": 3, + "ID": 1600 + }, + { + "NodeTemplateID": 160032, + "SectionID": 2, + "ChapterID": 3, + "ID": 1600 + }, + { + "NodeTemplateID": 160033, + "SectionID": 3, + "ChapterID": 3, + "ID": 1600 + }, + { + "NodeTemplateID": 160034, + "SectionID": 4, + "ChapterID": 3, + "ID": 1600 + }, + { + "NodeTemplateID": 160035, + "SectionID": 5, + "ChapterID": 3, + "ID": 1600 + }, + { + "NodeTemplateID": 160036, + "SectionID": 6, + "ChapterID": 3, + "ID": 1600 + }, + { + "NodeTemplateID": 160037, + "SectionID": 7, + "ChapterID": 3, + "ID": 1600 + }, + { + "NodeTemplateID": 170011, + "SectionID": 1, + "ChapterID": 1, + "ID": 1700 + }, + { + "NodeTemplateID": 170012, + "SectionID": 2, + "ChapterID": 1, + "ID": 1700 + }, + { + "NodeTemplateID": 170013, + "SectionID": 3, + "ChapterID": 1, + "ID": 1700 + }, + { + "NodeTemplateID": 170014, + "SectionID": 4, + "ChapterID": 1, + "ID": 1700 + }, + { + "NodeTemplateID": 170015, + "SectionID": 5, + "ChapterID": 1, + "ID": 1700 + }, + { + "NodeTemplateID": 170016, + "SectionID": 6, + "ChapterID": 1, + "ID": 1700 + }, + { + "NodeTemplateID": 170017, + "SectionID": 7, + "ChapterID": 1, + "ID": 1700 + }, + { + "NodeTemplateID": 170018, + "SectionID": 8, + "ChapterID": 1, + "ID": 1700 + }, + { + "NodeTemplateID": 170019, + "SectionID": 9, + "ChapterID": 1, + "ID": 1700 + }, + { + "NodeTemplateID": 170021, + "SectionID": 1, + "ChapterID": 2, + "ID": 1700 + }, + { + "NodeTemplateID": 170022, + "SectionID": 2, + "ChapterID": 2, + "ID": 1700 + }, + { + "NodeTemplateID": 170023, + "SectionID": 3, + "ChapterID": 2, + "ID": 1700 + }, + { + "NodeTemplateID": 170024, + "SectionID": 4, + "ChapterID": 2, + "ID": 1700 + }, + { + "NodeTemplateID": 170025, + "SectionID": 5, + "ChapterID": 2, + "ID": 1700 + }, + { + "NodeTemplateID": 170026, + "SectionID": 6, + "ChapterID": 2, + "ID": 1700 + }, + { + "NodeTemplateID": 170027, + "SectionID": 7, + "ChapterID": 2, + "ID": 1700 + }, + { + "NodeTemplateID": 170031, + "SectionID": 1, + "ChapterID": 3, + "ID": 1700 + }, + { + "NodeTemplateID": 170032, + "SectionID": 2, + "ChapterID": 3, + "ID": 1700 + }, + { + "NodeTemplateID": 170033, + "SectionID": 3, + "ChapterID": 3, + "ID": 1700 + }, + { + "NodeTemplateID": 170034, + "SectionID": 4, + "ChapterID": 3, + "ID": 1700 + }, + { + "NodeTemplateID": 170035, + "SectionID": 5, + "ChapterID": 3, + "ID": 1700 + }, + { + "NodeTemplateID": 170036, + "SectionID": 6, + "ChapterID": 3, + "ID": 1700 + }, + { + "NodeTemplateID": 170037, + "SectionID": 7, + "ChapterID": 3, + "ID": 1700 + }, + { + "NodeTemplateID": 180011, + "SectionID": 1, + "ChapterID": 1, + "ID": 1800 + }, + { + "NodeTemplateID": 180012, + "SectionID": 2, + "ChapterID": 1, + "ID": 1800 + }, + { + "NodeTemplateID": 180013, + "SectionID": 3, + "ChapterID": 1, + "ID": 1800 + }, + { + "NodeTemplateID": 180014, + "SectionID": 4, + "ChapterID": 1, + "ID": 1800 + }, + { + "NodeTemplateID": 180015, + "SectionID": 5, + "ChapterID": 1, + "ID": 1800 + }, + { + "NodeTemplateID": 180016, + "SectionID": 6, + "ChapterID": 1, + "ID": 1800 + }, + { + "NodeTemplateID": 180017, + "SectionID": 7, + "ChapterID": 1, + "ID": 1800 + }, + { + "NodeTemplateID": 180018, + "SectionID": 8, + "ChapterID": 1, + "ID": 1800 + }, + { + "NodeTemplateID": 180019, + "SectionID": 9, + "ChapterID": 1, + "ID": 1800 + }, + { + "NodeTemplateID": 180021, + "SectionID": 1, + "ChapterID": 2, + "ID": 1800 + }, + { + "NodeTemplateID": 180022, + "SectionID": 2, + "ChapterID": 2, + "ID": 1800 + }, + { + "NodeTemplateID": 180023, + "SectionID": 3, + "ChapterID": 2, + "ID": 1800 + }, + { + "NodeTemplateID": 180024, + "SectionID": 4, + "ChapterID": 2, + "ID": 1800 + }, + { + "NodeTemplateID": 180025, + "SectionID": 5, + "ChapterID": 2, + "ID": 1800 + }, + { + "NodeTemplateID": 180026, + "SectionID": 6, + "ChapterID": 2, + "ID": 1800 + }, + { + "NodeTemplateID": 180027, + "SectionID": 7, + "ChapterID": 2, + "ID": 1800 + }, + { + "NodeTemplateID": 180031, + "SectionID": 1, + "ChapterID": 3, + "ID": 1800 + }, + { + "NodeTemplateID": 180032, + "SectionID": 2, + "ChapterID": 3, + "ID": 1800 + }, + { + "NodeTemplateID": 180033, + "SectionID": 3, + "ChapterID": 3, + "ID": 1800 + }, + { + "NodeTemplateID": 180034, + "SectionID": 4, + "ChapterID": 3, + "ID": 1800 + }, + { + "NodeTemplateID": 180035, + "SectionID": 5, + "ChapterID": 3, + "ID": 1800 + }, + { + "NodeTemplateID": 180036, + "SectionID": 6, + "ChapterID": 3, + "ID": 1800 + }, + { + "NodeTemplateID": 180037, + "SectionID": 7, + "ChapterID": 3, + "ID": 1800 + }, + { + "NodeTemplateID": 180111, + "SectionID": 1, + "ChapterID": 1, + "ID": 1801 + }, + { + "NodeTemplateID": 180112, + "SectionID": 2, + "ChapterID": 1, + "ID": 1801 + }, + { + "NodeTemplateID": 180113, + "SectionID": 3, + "ChapterID": 1, + "ID": 1801 + }, + { + "NodeTemplateID": 180114, + "SectionID": 4, + "ChapterID": 1, + "ID": 1801 + }, + { + "NodeTemplateID": 180115, + "SectionID": 5, + "ChapterID": 1, + "ID": 1801 + }, + { + "NodeTemplateID": 180116, + "SectionID": 6, + "ChapterID": 1, + "ID": 1801 + }, + { + "NodeTemplateID": 180117, + "SectionID": 7, + "ChapterID": 1, + "ID": 1801 + }, + { + "NodeTemplateID": 180118, + "SectionID": 8, + "ChapterID": 1, + "ID": 1801 + }, + { + "NodeTemplateID": 180119, + "SectionID": 9, + "ChapterID": 1, + "ID": 1801 + }, + { + "NodeTemplateID": 180121, + "SectionID": 1, + "ChapterID": 2, + "ID": 1801 + }, + { + "NodeTemplateID": 180122, + "SectionID": 2, + "ChapterID": 2, + "ID": 1801 + }, + { + "NodeTemplateID": 180123, + "SectionID": 3, + "ChapterID": 2, + "ID": 1801 + }, + { + "NodeTemplateID": 180124, + "SectionID": 4, + "ChapterID": 2, + "ID": 1801 + }, + { + "NodeTemplateID": 180125, + "SectionID": 5, + "ChapterID": 2, + "ID": 1801 + }, + { + "NodeTemplateID": 180126, + "SectionID": 6, + "ChapterID": 2, + "ID": 1801 + }, + { + "NodeTemplateID": 180127, + "SectionID": 7, + "ChapterID": 2, + "ID": 1801 + }, + { + "NodeTemplateID": 180131, + "SectionID": 1, + "ChapterID": 3, + "ID": 1801 + }, + { + "NodeTemplateID": 180132, + "SectionID": 2, + "ChapterID": 3, + "ID": 1801 + }, + { + "NodeTemplateID": 180133, + "SectionID": 3, + "ChapterID": 3, + "ID": 1801 + }, + { + "NodeTemplateID": 180134, + "SectionID": 4, + "ChapterID": 3, + "ID": 1801 + }, + { + "NodeTemplateID": 180135, + "SectionID": 5, + "ChapterID": 3, + "ID": 1801 + }, + { + "NodeTemplateID": 180136, + "SectionID": 6, + "ChapterID": 3, + "ID": 1801 + }, + { + "NodeTemplateID": 180137, + "SectionID": 7, + "ChapterID": 3, + "ID": 1801 + }, + { + "NodeTemplateID": 200011, + "SectionID": 1, + "ChapterID": 1, + "ID": 2000 + }, + { + "NodeTemplateID": 200012, + "SectionID": 2, + "ChapterID": 1, + "ID": 2000 + }, + { + "NodeTemplateID": 200013, + "SectionID": 3, + "ChapterID": 1, + "ID": 2000 + }, + { + "NodeTemplateID": 200014, + "SectionID": 4, + "ChapterID": 1, + "ID": 2000 + }, + { + "NodeTemplateID": 200015, + "SectionID": 5, + "ChapterID": 1, + "ID": 2000 + }, + { + "NodeTemplateID": 200016, + "SectionID": 6, + "ChapterID": 1, + "ID": 2000 + }, + { + "NodeTemplateID": 200021, + "SectionID": 1, + "ChapterID": 2, + "ID": 2000 + }, + { + "NodeTemplateID": 200022, + "SectionID": 2, + "ChapterID": 2, + "ID": 2000 + }, + { + "NodeTemplateID": 200023, + "SectionID": 3, + "ChapterID": 2, + "ID": 2000 + }, + { + "NodeTemplateID": 200024, + "SectionID": 4, + "ChapterID": 2, + "ID": 2000 + }, + { + "NodeTemplateID": 200025, + "SectionID": 5, + "ChapterID": 2, + "ID": 2000 + }, + { + "NodeTemplateID": 200031, + "SectionID": 1, + "ChapterID": 3, + "ID": 2000 + }, + { + "NodeTemplateID": 200032, + "SectionID": 2, + "ChapterID": 3, + "ID": 2000 + }, + { + "NodeTemplateID": 200033, + "SectionID": 3, + "ChapterID": 3, + "ID": 2000 + }, + { + "NodeTemplateID": 200034, + "SectionID": 4, + "ChapterID": 3, + "ID": 2000 + }, + { + "NodeTemplateID": 200035, + "SectionID": 5, + "ChapterID": 3, + "ID": 2000 + }, + { + "NodeTemplateID": 210011, + "SectionID": 1, + "ChapterID": 1, + "ID": 2100 + }, + { + "NodeTemplateID": 210012, + "SectionID": 2, + "ChapterID": 1, + "ID": 2100 + }, + { + "NodeTemplateID": 210013, + "SectionID": 3, + "ChapterID": 1, + "ID": 2100 + }, + { + "NodeTemplateID": 210014, + "SectionID": 4, + "ChapterID": 1, + "ID": 2100 + }, + { + "NodeTemplateID": 210015, + "SectionID": 5, + "ChapterID": 1, + "ID": 2100 + }, + { + "NodeTemplateID": 210016, + "SectionID": 6, + "ChapterID": 1, + "ID": 2100 + }, + { + "NodeTemplateID": 210021, + "SectionID": 1, + "ChapterID": 2, + "ID": 2100 + }, + { + "NodeTemplateID": 210022, + "SectionID": 2, + "ChapterID": 2, + "ID": 2100 + }, + { + "NodeTemplateID": 210023, + "SectionID": 3, + "ChapterID": 2, + "ID": 2100 + }, + { + "NodeTemplateID": 210024, + "SectionID": 4, + "ChapterID": 2, + "ID": 2100 + }, + { + "NodeTemplateID": 210025, + "SectionID": 5, + "ChapterID": 2, + "ID": 2100 + }, + { + "NodeTemplateID": 210031, + "SectionID": 1, + "ChapterID": 3, + "ID": 2100 + }, + { + "NodeTemplateID": 210032, + "SectionID": 2, + "ChapterID": 3, + "ID": 2100 + }, + { + "NodeTemplateID": 210033, + "SectionID": 3, + "ChapterID": 3, + "ID": 2100 + }, + { + "NodeTemplateID": 210034, + "SectionID": 4, + "ChapterID": 3, + "ID": 2100 + }, + { + "NodeTemplateID": 210035, + "SectionID": 5, + "ChapterID": 3, + "ID": 2100 + }, + { + "NodeTemplateID": 220011, + "SectionID": 1, + "ChapterID": 1, + "ID": 2200 + }, + { + "NodeTemplateID": 220012, + "SectionID": 2, + "ChapterID": 1, + "ID": 2200 + }, + { + "NodeTemplateID": 220013, + "SectionID": 3, + "ChapterID": 1, + "ID": 2200 + }, + { + "NodeTemplateID": 220014, + "SectionID": 4, + "ChapterID": 1, + "ID": 2200 + }, + { + "NodeTemplateID": 220015, + "SectionID": 5, + "ChapterID": 1, + "ID": 2200 + }, + { + "NodeTemplateID": 220016, + "SectionID": 6, + "ChapterID": 1, + "ID": 2200 + }, + { + "NodeTemplateID": 220021, + "SectionID": 1, + "ChapterID": 2, + "ID": 2200 + }, + { + "NodeTemplateID": 220022, + "SectionID": 2, + "ChapterID": 2, + "ID": 2200 + }, + { + "NodeTemplateID": 220023, + "SectionID": 3, + "ChapterID": 2, + "ID": 2200 + }, + { + "NodeTemplateID": 220024, + "SectionID": 4, + "ChapterID": 2, + "ID": 2200 + }, + { + "NodeTemplateID": 220025, + "SectionID": 5, + "ChapterID": 2, + "ID": 2200 + }, + { + "NodeTemplateID": 220031, + "SectionID": 1, + "ChapterID": 3, + "ID": 2200 + }, + { + "NodeTemplateID": 220032, + "SectionID": 2, + "ChapterID": 3, + "ID": 2200 + }, + { + "NodeTemplateID": 220033, + "SectionID": 3, + "ChapterID": 3, + "ID": 2200 + }, + { + "NodeTemplateID": 220034, + "SectionID": 4, + "ChapterID": 3, + "ID": 2200 + }, + { + "NodeTemplateID": 220035, + "SectionID": 5, + "ChapterID": 3, + "ID": 2200 + }, + { + "NodeTemplateID": 230011, + "SectionID": 1, + "ChapterID": 1, + "ID": 2300 + }, + { + "NodeTemplateID": 230012, + "SectionID": 2, + "ChapterID": 1, + "ID": 2300 + }, + { + "NodeTemplateID": 230013, + "SectionID": 3, + "ChapterID": 1, + "ID": 2300 + }, + { + "NodeTemplateID": 230014, + "SectionID": 4, + "ChapterID": 1, + "ID": 2300 + }, + { + "NodeTemplateID": 230015, + "SectionID": 5, + "ChapterID": 1, + "ID": 2300 + }, + { + "NodeTemplateID": 230016, + "SectionID": 6, + "ChapterID": 1, + "ID": 2300 + }, + { + "NodeTemplateID": 230021, + "SectionID": 1, + "ChapterID": 2, + "ID": 2300 + }, + { + "NodeTemplateID": 230022, + "SectionID": 2, + "ChapterID": 2, + "ID": 2300 + }, + { + "NodeTemplateID": 230023, + "SectionID": 3, + "ChapterID": 2, + "ID": 2300 + }, + { + "NodeTemplateID": 230024, + "SectionID": 4, + "ChapterID": 2, + "ID": 2300 + }, + { + "NodeTemplateID": 230025, + "SectionID": 5, + "ChapterID": 2, + "ID": 2300 + }, + { + "NodeTemplateID": 230031, + "SectionID": 1, + "ChapterID": 3, + "ID": 2300 + }, + { + "NodeTemplateID": 230032, + "SectionID": 2, + "ChapterID": 3, + "ID": 2300 + }, + { + "NodeTemplateID": 230033, + "SectionID": 3, + "ChapterID": 3, + "ID": 2300 + }, + { + "NodeTemplateID": 230034, + "SectionID": 4, + "ChapterID": 3, + "ID": 2300 + }, + { + "NodeTemplateID": 230035, + "SectionID": 5, + "ChapterID": 3, + "ID": 2300 + }, + { + "NodeTemplateID": 240011, + "SectionID": 1, + "ChapterID": 1, + "ID": 2400 + }, + { + "NodeTemplateID": 240012, + "SectionID": 2, + "ChapterID": 1, + "ID": 2400 + }, + { + "NodeTemplateID": 240013, + "SectionID": 3, + "ChapterID": 1, + "ID": 2400 + }, + { + "NodeTemplateID": 240014, + "SectionID": 4, + "ChapterID": 1, + "ID": 2400 + }, + { + "NodeTemplateID": 240015, + "SectionID": 5, + "ChapterID": 1, + "ID": 2400 + }, + { + "NodeTemplateID": 240016, + "SectionID": 6, + "ChapterID": 1, + "ID": 2400 + }, + { + "NodeTemplateID": 240021, + "SectionID": 1, + "ChapterID": 2, + "ID": 2400 + }, + { + "NodeTemplateID": 240022, + "SectionID": 2, + "ChapterID": 2, + "ID": 2400 + }, + { + "NodeTemplateID": 240023, + "SectionID": 3, + "ChapterID": 2, + "ID": 2400 + }, + { + "NodeTemplateID": 240024, + "SectionID": 4, + "ChapterID": 2, + "ID": 2400 + }, + { + "NodeTemplateID": 240025, + "SectionID": 5, + "ChapterID": 2, + "ID": 2400 + }, + { + "NodeTemplateID": 240031, + "SectionID": 1, + "ChapterID": 3, + "ID": 2400 + }, + { + "NodeTemplateID": 240032, + "SectionID": 2, + "ChapterID": 3, + "ID": 2400 + }, + { + "NodeTemplateID": 240033, + "SectionID": 3, + "ChapterID": 3, + "ID": 2400 + }, + { + "NodeTemplateID": 240034, + "SectionID": 4, + "ChapterID": 3, + "ID": 2400 + }, + { + "NodeTemplateID": 240035, + "SectionID": 5, + "ChapterID": 3, + "ID": 2400 + }, + { + "NodeTemplateID": 250011, + "SectionID": 1, + "ChapterID": 1, + "ID": 2500 + }, + { + "NodeTemplateID": 250012, + "SectionID": 2, + "ChapterID": 1, + "ID": 2500 + }, + { + "NodeTemplateID": 250013, + "SectionID": 3, + "ChapterID": 1, + "ID": 2500 + }, + { + "NodeTemplateID": 250014, + "SectionID": 4, + "ChapterID": 1, + "ID": 2500 + }, + { + "NodeTemplateID": 250015, + "SectionID": 5, + "ChapterID": 1, + "ID": 2500 + }, + { + "NodeTemplateID": 250016, + "SectionID": 6, + "ChapterID": 1, + "ID": 2500 + }, + { + "NodeTemplateID": 250021, + "SectionID": 1, + "ChapterID": 2, + "ID": 2500 + }, + { + "NodeTemplateID": 250022, + "SectionID": 2, + "ChapterID": 2, + "ID": 2500 + }, + { + "NodeTemplateID": 250023, + "SectionID": 3, + "ChapterID": 2, + "ID": 2500 + }, + { + "NodeTemplateID": 250024, + "SectionID": 4, + "ChapterID": 2, + "ID": 2500 + }, + { + "NodeTemplateID": 250025, + "SectionID": 5, + "ChapterID": 2, + "ID": 2500 + }, + { + "NodeTemplateID": 250031, + "SectionID": 1, + "ChapterID": 3, + "ID": 2500 + }, + { + "NodeTemplateID": 250032, + "SectionID": 2, + "ChapterID": 3, + "ID": 2500 + }, + { + "NodeTemplateID": 250033, + "SectionID": 3, + "ChapterID": 3, + "ID": 2500 + }, + { + "NodeTemplateID": 250034, + "SectionID": 4, + "ChapterID": 3, + "ID": 2500 + }, + { + "NodeTemplateID": 250035, + "SectionID": 5, + "ChapterID": 3, + "ID": 2500 + }, + { + "NodeTemplateID": 260011, + "SectionID": 1, + "ChapterID": 1, + "ID": 2600 + }, + { + "NodeTemplateID": 260012, + "SectionID": 2, + "ChapterID": 1, + "ID": 2600 + }, + { + "NodeTemplateID": 260013, + "SectionID": 3, + "ChapterID": 1, + "ID": 2600 + }, + { + "NodeTemplateID": 260014, + "SectionID": 4, + "ChapterID": 1, + "ID": 2600 + }, + { + "NodeTemplateID": 260015, + "SectionID": 5, + "ChapterID": 1, + "ID": 2600 + }, + { + "NodeTemplateID": 260016, + "SectionID": 6, + "ChapterID": 1, + "ID": 2600 + }, + { + "NodeTemplateID": 260021, + "SectionID": 1, + "ChapterID": 2, + "ID": 2600 + }, + { + "NodeTemplateID": 260022, + "SectionID": 2, + "ChapterID": 2, + "ID": 2600 + }, + { + "NodeTemplateID": 260023, + "SectionID": 3, + "ChapterID": 2, + "ID": 2600 + }, + { + "NodeTemplateID": 260024, + "SectionID": 4, + "ChapterID": 2, + "ID": 2600 + }, + { + "NodeTemplateID": 260025, + "SectionID": 5, + "ChapterID": 2, + "ID": 2600 + }, + { + "NodeTemplateID": 260031, + "SectionID": 1, + "ChapterID": 3, + "ID": 2600 + }, + { + "NodeTemplateID": 260032, + "SectionID": 2, + "ChapterID": 3, + "ID": 2600 + }, + { + "NodeTemplateID": 260033, + "SectionID": 3, + "ChapterID": 3, + "ID": 2600 + }, + { + "NodeTemplateID": 260034, + "SectionID": 4, + "ChapterID": 3, + "ID": 2600 + }, + { + "NodeTemplateID": 260035, + "SectionID": 5, + "ChapterID": 3, + "ID": 2600 + }, + { + "NodeTemplateID": 270011, + "SectionID": 1, + "ChapterID": 1, + "ID": 2700 + }, + { + "NodeTemplateID": 270012, + "SectionID": 2, + "ChapterID": 1, + "ID": 2700 + }, + { + "NodeTemplateID": 270013, + "SectionID": 3, + "ChapterID": 1, + "ID": 2700 + }, + { + "NodeTemplateID": 270014, + "SectionID": 4, + "ChapterID": 1, + "ID": 2700 + }, + { + "NodeTemplateID": 270015, + "SectionID": 5, + "ChapterID": 1, + "ID": 2700 + }, + { + "NodeTemplateID": 270016, + "SectionID": 6, + "ChapterID": 1, + "ID": 2700 + }, + { + "NodeTemplateID": 270021, + "SectionID": 1, + "ChapterID": 2, + "ID": 2700 + }, + { + "NodeTemplateID": 270022, + "SectionID": 2, + "ChapterID": 2, + "ID": 2700 + }, + { + "NodeTemplateID": 270023, + "SectionID": 3, + "ChapterID": 2, + "ID": 2700 + }, + { + "NodeTemplateID": 270024, + "SectionID": 4, + "ChapterID": 2, + "ID": 2700 + }, + { + "NodeTemplateID": 270025, + "SectionID": 5, + "ChapterID": 2, + "ID": 2700 + }, + { + "NodeTemplateID": 270031, + "SectionID": 1, + "ChapterID": 3, + "ID": 2700 + }, + { + "NodeTemplateID": 270032, + "SectionID": 2, + "ChapterID": 3, + "ID": 2700 + }, + { + "NodeTemplateID": 270033, + "SectionID": 3, + "ChapterID": 3, + "ID": 2700 + }, + { + "NodeTemplateID": 270034, + "SectionID": 4, + "ChapterID": 3, + "ID": 2700 + }, + { + "NodeTemplateID": 270035, + "SectionID": 5, + "ChapterID": 3, + "ID": 2700 + }, + { + "NodeTemplateID": 280011, + "SectionID": 1, + "ChapterID": 1, + "ID": 2800 + }, + { + "NodeTemplateID": 280012, + "SectionID": 2, + "ChapterID": 1, + "ID": 2800 + }, + { + "NodeTemplateID": 280013, + "SectionID": 3, + "ChapterID": 1, + "ID": 2800 + }, + { + "NodeTemplateID": 280014, + "SectionID": 4, + "ChapterID": 1, + "ID": 2800 + }, + { + "NodeTemplateID": 280015, + "SectionID": 5, + "ChapterID": 1, + "ID": 2800 + }, + { + "NodeTemplateID": 280016, + "SectionID": 6, + "ChapterID": 1, + "ID": 2800 + }, + { + "NodeTemplateID": 280021, + "SectionID": 1, + "ChapterID": 2, + "ID": 2800 + }, + { + "NodeTemplateID": 280022, + "SectionID": 2, + "ChapterID": 2, + "ID": 2800 + }, + { + "NodeTemplateID": 280023, + "SectionID": 3, + "ChapterID": 2, + "ID": 2800 + }, + { + "NodeTemplateID": 280024, + "SectionID": 4, + "ChapterID": 2, + "ID": 2800 + }, + { + "NodeTemplateID": 280025, + "SectionID": 5, + "ChapterID": 2, + "ID": 2800 + }, + { + "NodeTemplateID": 280031, + "SectionID": 1, + "ChapterID": 3, + "ID": 2800 + }, + { + "NodeTemplateID": 280032, + "SectionID": 2, + "ChapterID": 3, + "ID": 2800 + }, + { + "NodeTemplateID": 280033, + "SectionID": 3, + "ChapterID": 3, + "ID": 2800 + }, + { + "NodeTemplateID": 280034, + "SectionID": 4, + "ChapterID": 3, + "ID": 2800 + }, + { + "NodeTemplateID": 280035, + "SectionID": 5, + "ChapterID": 3, + "ID": 2800 + }, + { + "NodeTemplateID": 280111, + "SectionID": 1, + "ChapterID": 1, + "ID": 2801 + }, + { + "NodeTemplateID": 280112, + "SectionID": 2, + "ChapterID": 1, + "ID": 2801 + }, + { + "NodeTemplateID": 280113, + "SectionID": 3, + "ChapterID": 1, + "ID": 2801 + }, + { + "NodeTemplateID": 280114, + "SectionID": 4, + "ChapterID": 1, + "ID": 2801 + }, + { + "NodeTemplateID": 280115, + "SectionID": 5, + "ChapterID": 1, + "ID": 2801 + }, + { + "NodeTemplateID": 280116, + "SectionID": 6, + "ChapterID": 1, + "ID": 2801 + }, + { + "NodeTemplateID": 280121, + "SectionID": 1, + "ChapterID": 2, + "ID": 2801 + }, + { + "NodeTemplateID": 280122, + "SectionID": 2, + "ChapterID": 2, + "ID": 2801 + }, + { + "NodeTemplateID": 280123, + "SectionID": 3, + "ChapterID": 2, + "ID": 2801 + }, + { + "NodeTemplateID": 280124, + "SectionID": 4, + "ChapterID": 2, + "ID": 2801 + }, + { + "NodeTemplateID": 280125, + "SectionID": 5, + "ChapterID": 2, + "ID": 2801 + }, + { + "NodeTemplateID": 280131, + "SectionID": 1, + "ChapterID": 3, + "ID": 2801 + }, + { + "NodeTemplateID": 280132, + "SectionID": 2, + "ChapterID": 3, + "ID": 2801 + }, + { + "NodeTemplateID": 280133, + "SectionID": 3, + "ChapterID": 3, + "ID": 2801 + }, + { + "NodeTemplateID": 280134, + "SectionID": 4, + "ChapterID": 3, + "ID": 2801 + }, + { + "NodeTemplateID": 280135, + "SectionID": 5, + "ChapterID": 3, + "ID": 2801 + } + ], + "tutorials": [ + { + "ID": 1, + "DivisionID": 1, + "RewardQuest": 7303101, + "ForbiddenBattleFailChapterID": 1, + "ForbiddenSellRoleBeforeChapterId": 0, + "ForbiddenSellRoleBeforeSectionId": 0, + "HasMonsterReveal": false, + "HasPortal": false, + "HasInitialSupply": false, + "HasRouteShow": false, + "HasEquipRecommendShow": false, + "HasBossToastShow": false, + "UseTrialAvatar": true, + "ForbiddenSellRoleDict": { + "1220": 1, + "1305": 3, + "1112": 1, + "1504": 1, + "1406": 1, + "1309": 1, + "1304": 1, + "1314": 1 + }, + "ForbiddenAutoOpenShopNodeList": [ + { + "EEBLMLAEFHO": 1, + "IMDPJFEGIDF": 1 + }, + { + "EEBLMLAEFHO": 1, + "IMDPJFEGIDF": 2 + }, + { + "EEBLMLAEFHO": 1, + "IMDPJFEGIDF": 3 + }, + { + "EEBLMLAEFHO": 1, + "IMDPJFEGIDF": 4 + }, + { + "EEBLMLAEFHO": 1, + "IMDPJFEGIDF": 5 + }, + { + "EEBLMLAEFHO": 1, + "IMDPJFEGIDF": 6 + }, + { + "EEBLMLAEFHO": 1, + "IMDPJFEGIDF": 7 + } + ] + }, + { + "ID": 2, + "DivisionID": 2, + "RewardQuest": 7303102, + "ForbiddenBattleFailChapterID": 1, + "ForbiddenSellRoleBeforeChapterId": 0, + "ForbiddenSellRoleBeforeSectionId": 0, + "HasMonsterReveal": false, + "HasPortal": true, + "HasInitialSupply": true, + "HasRouteShow": true, + "HasEquipRecommendShow": false, + "HasBossToastShow": true, + "UseTrialAvatar": false, + "ForbiddenSellRoleDict": { + "1304": 1, + "1303": 1, + "1013": 3, + "1302": 1, + "1314": 1, + "1401": 1, + "1403": 1, + "1405": 1 + }, + "ForbiddenAutoOpenShopNodeList": [ + { + "EEBLMLAEFHO": 1, + "IMDPJFEGIDF": 1 + }, + { + "EEBLMLAEFHO": 1, + "IMDPJFEGIDF": 2 + }, + { + "EEBLMLAEFHO": 1, + "IMDPJFEGIDF": 3 + }, + { + "EEBLMLAEFHO": 1, + "IMDPJFEGIDF": 4 + }, + { + "EEBLMLAEFHO": 1, + "IMDPJFEGIDF": 5 + }, + { + "EEBLMLAEFHO": 1, + "IMDPJFEGIDF": 6 + }, + { + "EEBLMLAEFHO": 2, + "IMDPJFEGIDF": 1 + } + ] + } + ], + "captured_role_variants": [ + { + "Config": { + "BackendRankList": [ + 10040201, + 10040202, + 10040203, + 10040204, + 10040205, + 10040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1004Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100502, + 200302 + ], + "EquipmentID": 23004, + "AvatarID": 1004, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701004, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 100402 + }, + "Price": 1, + "MaxStar": 4, + "Star": 1, + "SellPrice": 1, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1004020201, + 1004020301, + 1004020401 + ], + "BackShowSkillIDList": [ + 1004020201, + 1004020301, + 1004020401 + ], + "SkillOverrideDest": [ + 1004020201, + 1004020301, + 1004020401 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Welt_00_Config.json", + "FrontShowSkillIDList": [ + 1004020201, + 1004020301, + 1004020401 + ], + "SkillOverrideSrc": [ + 1100402, + 1100403, + 1100404 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.2500000002", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0", + "PropertyType": 1010 + }, + { + "Value": "0", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Welt_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Welt_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905960145, + "hash64": 12789288371338598313 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1772305381, + "hash64": 2101444268476554670 + }, + "BackPowerBase": "100", + "BEID": 62500, + "ID": 100402, + "BackMaxSP": "120", + "BackEnergyBar": "0", + "BackInitialSP": "60" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 10040201, + 10040202, + 10040203, + 10040204, + 10040205, + 10040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1004Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100502, + 200302 + ], + "EquipmentID": 23004, + "AvatarID": 1004, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701004, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 100402 + }, + "Price": 1, + "MaxStar": 4, + "Star": 2, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1004020202, + 1004020302, + 1004020402 + ], + "BackShowSkillIDList": [ + 1004020202, + 1004020302, + 1004020402 + ], + "SkillOverrideDest": [ + 1004020202, + 1004020302, + 1004020402 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Welt_00_Config.json", + "FrontShowSkillIDList": [ + 1004020202, + 1004020302, + 1004020402 + ], + "SkillOverrideSrc": [ + 1100402, + 1100403, + 1100404 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.2500000002", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Welt_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Welt_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905960148, + "hash64": 10997216147381699789 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1369020854, + "hash64": 7818228488018465597 + }, + "BackPowerBase": "160", + "BEID": 62500, + "ID": 100402, + "BackMaxSP": "120", + "BackEnergyBar": "0", + "BackInitialSP": "60" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 10040201, + 10040202, + 10040203, + 10040204, + 10040205, + 10040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1004Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100502, + 200302 + ], + "EquipmentID": 23004, + "AvatarID": 1004, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701004, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 100402 + }, + "Price": 1, + "MaxStar": 4, + "Star": 3, + "SellPrice": 9, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1004020203, + 1004020303, + 1004020403 + ], + "BackShowSkillIDList": [ + 1004020203, + 1004020303, + 1004020403 + ], + "SkillOverrideDest": [ + 1004020203, + 1004020303, + 1004020403 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Welt_00_Config.json", + "FrontShowSkillIDList": [ + 1004020203, + 1004020303, + 1004020403 + ], + "SkillOverrideSrc": [ + 1100402, + 1100403, + 1100404 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.2500000002", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Welt_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Welt_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905960147, + "hash64": 17561898205685711329 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1359862501, + "hash64": 12730697606735209629 + }, + "BackPowerBase": "220", + "BEID": 62500, + "ID": 100402, + "BackMaxSP": "120", + "BackEnergyBar": "0", + "BackInitialSP": "60" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 10040201, + 10040202, + 10040203, + 10040204, + 10040205, + 10040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1004Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100502, + 200302 + ], + "EquipmentID": 23004, + "AvatarID": 1004, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701004, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 100402 + }, + "Price": 1, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1004020204, + 1004020304, + 1004020404 + ], + "BackShowSkillIDList": [ + 1004020204, + 1004020304, + 1004020404 + ], + "SkillOverrideDest": [ + 1004020204, + 1004020304, + 1004020404 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Welt_00_Config.json", + "FrontShowSkillIDList": [ + 1004020204, + 1004020304, + 1004020404 + ], + "SkillOverrideSrc": [ + 1100402, + 1100403, + 1100404 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.2500000002", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.9000000008", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Welt_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Welt_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905960142, + "hash64": 13155360045173806132 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "280", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1763147028, + "hash64": 17727152703201925171 + }, + "BackPowerBase": "280", + "BEID": 62500, + "ID": 100402, + "BackMaxSP": "120", + "BackEnergyBar": "0", + "BackInitialSP": "60" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100802, + 200202 + ], + "EquipmentID": 0, + "AvatarID": 1005, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701005, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 100502 + }, + "Price": 5, + "MaxStar": 3, + "Star": 1, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1005029901, + 1005020401 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Kafka_00_Config.json", + "FrontShowSkillIDList": [ + 1005029901, + 1005020401 + ], + "SkillOverrideSrc": [ + 0, + 1100504 + ], + "GeneralPropertyModifyList": [ + { + "Value": "3.5000000004", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.4500000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Kafka_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Kafka_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905961170, + "hash64": 7845778982839352043 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "200", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62501, + "ID": 100502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100802, + 200202 + ], + "EquipmentID": 0, + "AvatarID": 1005, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701005, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 100502 + }, + "Price": 5, + "MaxStar": 3, + "Star": 2, + "SellPrice": 14, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1005029902, + 1005020402 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Kafka_00_Config.json", + "FrontShowSkillIDList": [ + 1005029902, + 1005020402 + ], + "SkillOverrideSrc": [ + 0, + 1100504 + ], + "GeneralPropertyModifyList": [ + { + "Value": "3.5000000004", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.6000000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Kafka_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Kafka_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905961171, + "hash64": 1039890517126932742 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "320", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62501, + "ID": 100502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100802, + 200202 + ], + "EquipmentID": 0, + "AvatarID": 1005, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701005, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 100502 + }, + "Price": 5, + "MaxStar": 3, + "Star": 3, + "SellPrice": 44, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1005029903, + 1005020403 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Kafka_00_Config.json", + "FrontShowSkillIDList": [ + 1005029903, + 1005020403 + ], + "SkillOverrideSrc": [ + 0, + 1100504 + ], + "GeneralPropertyModifyList": [ + { + "Value": "3.5000000004", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "5", + "PropertyType": 1010 + }, + { + "Value": "3", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Kafka_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Kafka_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905961172, + "hash64": 9246115721115774264 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "20000", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62501, + "ID": 100502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 101102, + 200202 + ], + "EquipmentID": 0, + "AvatarID": 1103, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701103, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 110302 + }, + "Price": 4, + "MaxStar": 3, + "Star": 1, + "SellPrice": 4, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1103020201, + 1103029901, + 1103020301 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Serval_00_Config.json", + "FrontShowSkillIDList": [ + 1103020201, + 1103029901, + 1103020301 + ], + "SkillOverrideSrc": [ + 110302, + 0, + 110303 + ], + "GeneralPropertyModifyList": [ + { + "Value": "3", + "PropertyType": 1017 + }, + { + "Value": "50", + "PropertyType": 1045 + }, + { + "Value": "0.4500000004", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Serval_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Serval_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905851247, + "hash64": 9807413569521748233 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "175", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62502, + "ID": 110302, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 101102, + 200202 + ], + "EquipmentID": 0, + "AvatarID": 1103, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701103, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 110302 + }, + "Price": 4, + "MaxStar": 3, + "Star": 2, + "SellPrice": 11, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1103020202, + 1103029902, + 1103020302 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Serval_00_Config.json", + "FrontShowSkillIDList": [ + 1103020202, + 1103029902, + 1103020302 + ], + "SkillOverrideSrc": [ + 110302, + 0, + 110303 + ], + "GeneralPropertyModifyList": [ + { + "Value": "3", + "PropertyType": 1017 + }, + { + "Value": "50", + "PropertyType": 1045 + }, + { + "Value": "0.8850000004", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Serval_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Serval_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905851246, + "hash64": 5756293025183715387 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "280", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62502, + "ID": 110302, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 101102, + 200202 + ], + "EquipmentID": 0, + "AvatarID": 1103, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701103, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 110302 + }, + "Price": 4, + "MaxStar": 3, + "Star": 3, + "SellPrice": 35, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1103020203, + 1103029903, + 1103020303 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Serval_00_Config.json", + "FrontShowSkillIDList": [ + 1103020203, + 1103029903, + 1103020303 + ], + "SkillOverrideSrc": [ + 110302, + 0, + 110303 + ], + "GeneralPropertyModifyList": [ + { + "Value": "3", + "PropertyType": 1017 + }, + { + "Value": "50", + "PropertyType": 1045 + }, + { + "Value": "1.3200000002", + "PropertyType": 1010 + }, + { + "Value": "0.5600000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Serval_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Serval_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905851245, + "hash64": 17535979978326683304 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "500", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62502, + "ID": 110302, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 11050201, + 11050202, + 11050203, + 11050204, + 11050205, + 11050206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1105Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100402, + 200202, + 201002 + ], + "EquipmentID": 0, + "AvatarID": 1105, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701105, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 110502 + }, + "Price": 2, + "MaxStar": 4, + "Star": 1, + "SellPrice": 2, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1105020101, + 1105020301, + 1105020401 + ], + "BackShowSkillIDList": [ + 1105020101, + 1105020301, + 1105020401 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "2", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.1000000000", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Natasha_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "1", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "65", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 2027900741, + "hash64": 10903702758550932597 + }, + "BackPowerBase": "125", + "BEID": 62503, + "ID": 110502, + "BackMaxSP": "90", + "BackEnergyBar": "3", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 11050201, + 11050202, + 11050203, + 11050204, + 11050205, + 11050206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1105Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100402, + 200202, + 201002 + ], + "EquipmentID": 0, + "AvatarID": 1105, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701105, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 110502 + }, + "Price": 2, + "MaxStar": 4, + "Star": 2, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1105020102, + 1105020302, + 1105020402 + ], + "BackShowSkillIDList": [ + 1105020102, + 1105020302, + 1105020402 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "2", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.3200000002", + "PropertyType": 1010 + }, + { + "Value": "0.2100000001", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Natasha_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "1", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "75", + "FrontPowerBase": "140", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1624616214, + "hash64": 5571934154709571689 + }, + "BackPowerBase": "175", + "BEID": 62503, + "ID": 110502, + "BackMaxSP": "90", + "BackEnergyBar": "3", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 11050201, + 11050202, + 11050203, + 11050204, + 11050205, + 11050206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1105Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100402, + 200202, + 201002 + ], + "EquipmentID": 0, + "AvatarID": 1105, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701105, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 110502 + }, + "Price": 2, + "MaxStar": 4, + "Star": 3, + "SellPrice": 17, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1105020103, + 1105020303, + 1105020403 + ], + "BackShowSkillIDList": [ + 1105020103, + 1105020303, + 1105020403 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "2", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.5400000005", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Natasha_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "2", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "85", + "FrontPowerBase": "180", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1104267141, + "hash64": 12304980372961914052 + }, + "BackPowerBase": "225", + "BEID": 62503, + "ID": 110502, + "BackMaxSP": "90", + "BackEnergyBar": "3", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 11050201, + 11050202, + 11050203, + 11050204, + 11050205, + 11050206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1105Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100402, + 200202, + 201002 + ], + "EquipmentID": 0, + "AvatarID": 1105, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701105, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 110502 + }, + "Price": 2, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1105020104, + 1105020304, + 1105020404 + ], + "BackShowSkillIDList": [ + 1105020104, + 1105020304, + 1105020404 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "2", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.7600000007", + "PropertyType": 1010 + }, + { + "Value": "0.4400000004", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Natasha_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "2", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "95", + "FrontPowerBase": "220", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1507551668, + "hash64": 14824732107667279675 + }, + "BackPowerBase": "275", + "BEID": 62503, + "ID": 110502, + "BackMaxSP": "90", + "BackEnergyBar": "3", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 11070201, + 11070202, + 11070203, + 11070204, + 11070205, + 11070206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1107Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100402, + 200802, + 300502 + ], + "EquipmentID": 23002, + "AvatarID": 1107, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701107, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 110702 + }, + "Price": 5, + "MaxStar": 3, + "Star": 1, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1107020201, + 1107020301, + 1107029901, + 1107029801 + ], + "BackShowSkillIDList": [ + 1107020201, + 1107020301, + 1107029901, + 1107029801 + ], + "SkillOverrideDest": [ + 1107020101, + 1107020201, + 1107020301, + 1107020401, + 1107029901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Klara_00_Config.json", + "FrontShowSkillIDList": [ + 1107020201, + 1107029901 + ], + "SkillOverrideSrc": [ + 110701, + 110702, + 110703, + 110704, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "2.2500000002", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.4500000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Klara_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Klara_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905855603, + "hash64": 9352420853672543301 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "200", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -2104926085, + "hash64": 13515253319015405975 + }, + "BackPowerBase": "200", + "BEID": 62504, + "ID": 110702, + "BackMaxSP": "110", + "BackEnergyBar": "2", + "BackInitialSP": "55" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 11070201, + 11070202, + 11070203, + 11070204, + 11070205, + 11070206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1107Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100402, + 200802, + 300502 + ], + "EquipmentID": 23002, + "AvatarID": 1107, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701107, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 110702 + }, + "Price": 5, + "MaxStar": 3, + "Star": 2, + "SellPrice": 14, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1107020202, + 1107020302, + 1107029902, + 1107029802 + ], + "BackShowSkillIDList": [ + 1107020202, + 1107020302, + 1107029902, + 1107029802 + ], + "SkillOverrideDest": [ + 1107020102, + 1107020202, + 1107020302, + 1107020402, + 1107029902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Klara_00_Config.json", + "FrontShowSkillIDList": [ + 1107020202, + 1107029902 + ], + "SkillOverrideSrc": [ + 110701, + 110702, + 110703, + 110704, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "2.2500000002", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.6000000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Klara_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Klara_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905855602, + "hash64": 10239299188766819837 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "320", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -538842144, + "hash64": 5229861716365108448 + }, + "BackPowerBase": "320", + "BEID": 62504, + "ID": 110702, + "BackMaxSP": "110", + "BackEnergyBar": "2", + "BackInitialSP": "55" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 11070201, + 11070202, + 11070203, + 11070204, + 11070205, + 11070206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1107Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100402, + 200802, + 300502 + ], + "EquipmentID": 23002, + "AvatarID": 1107, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701107, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 110702 + }, + "Price": 5, + "MaxStar": 3, + "Star": 3, + "SellPrice": 44, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1107020203, + 1107020303, + 1107029903, + 1107029803 + ], + "BackShowSkillIDList": [ + 1107020203, + 1107020303, + 1107029903, + 1107029803 + ], + "SkillOverrideDest": [ + 1107020103, + 1107020203, + 1107020303, + 1107020403, + 1107029903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Klara_00_Config.json", + "FrontShowSkillIDList": [ + 1107020203, + 1107029903 + ], + "SkillOverrideSrc": [ + 110701, + 110702, + 110703, + 110704, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "2.2500000002", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "5", + "PropertyType": 1010 + }, + { + "Value": "3", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Klara_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Klara_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905855601, + "hash64": 2689932410963896836 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "20000", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1027241797, + "hash64": 17306142081198037892 + }, + "BackPowerBase": "20000", + "BEID": 62504, + "ID": 110702, + "BackMaxSP": "110", + "BackEnergyBar": "2", + "BackInitialSP": "55" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 11120201, + 11120202, + 11120203, + 11120204, + 11120205, + 11120206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100602, + 200102 + ], + "EquipmentID": 23016, + "AvatarID": 1112, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701112, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 111202 + }, + "Price": 1, + "MaxStar": 4, + "Star": 1, + "SellPrice": 1, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1112020201, + 1112020401 + ], + "BackShowSkillIDList": [ + 1112020201, + 1112020401 + ], + "SkillOverrideDest": [ + 1112020201, + 1112020301, + 1112020401 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Topaz_00_Config.json", + "FrontShowSkillIDList": [ + 1112020301, + 1112020401 + ], + "SkillOverrideSrc": [ + 111202, + 111203, + 111204 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.5000000004", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0", + "PropertyType": 1010 + }, + { + "Value": "0", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Topaz_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Topaz_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418459125, + "hash64": 1935864862661500226 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1818186243, + "hash64": 3413596417433932265 + }, + "BackPowerBase": "100", + "BEID": 62505, + "ID": 111202, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 11120201, + 11120202, + 11120203, + 11120204, + 11120205, + 11120206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100602, + 200102 + ], + "EquipmentID": 23016, + "AvatarID": 1112, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701112, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 111202 + }, + "Price": 1, + "MaxStar": 4, + "Star": 2, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1112020202, + 1112020402 + ], + "BackShowSkillIDList": [ + 1112020202, + 1112020402 + ], + "SkillOverrideDest": [ + 1112020202, + 1112020302, + 1112020402 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Topaz_00_Config.json", + "FrontShowSkillIDList": [ + 1112020302, + 1112020402 + ], + "SkillOverrideSrc": [ + 111202, + 111203, + 111204 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.5000000004", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Topaz_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Topaz_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418459128, + "hash64": 8141645735381117937 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -2073496526, + "hash64": 1045381234546359616 + }, + "BackPowerBase": "180", + "BEID": 62505, + "ID": 111202, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 11120201, + 11120202, + 11120203, + 11120204, + 11120205, + 11120206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100602, + 200102 + ], + "EquipmentID": 23016, + "AvatarID": 1112, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701112, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 111202 + }, + "Price": 1, + "MaxStar": 4, + "Star": 3, + "SellPrice": 9, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1112020203, + 1112020403 + ], + "BackShowSkillIDList": [ + 1112020203, + 1112020403 + ], + "SkillOverrideDest": [ + 1112020203, + 1112020303, + 1112020403 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Topaz_00_Config.json", + "FrontShowSkillIDList": [ + 1112020303, + 1112020403 + ], + "SkillOverrideSrc": [ + 111202, + 111203, + 111204 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.5000000004", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Topaz_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Topaz_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418459127, + "hash64": 15360229640796662652 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 655386829, + "hash64": 11777093035762001727 + }, + "BackPowerBase": "280", + "BEID": 62505, + "ID": 111202, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 11120201, + 11120202, + 11120203, + 11120204, + 11120205, + 11120206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100602, + 200102 + ], + "EquipmentID": 23016, + "AvatarID": 1112, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701112, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 111202 + }, + "Price": 1, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1112020204, + 1112020404 + ], + "BackShowSkillIDList": [ + 1112020204, + 1112020404 + ], + "SkillOverrideDest": [ + 1112020204, + 1112020304, + 1112020404 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Topaz_00_Config.json", + "FrontShowSkillIDList": [ + 1112020304, + 1112020404 + ], + "SkillOverrideSrc": [ + 111202, + 111203, + 111204 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.5000000004", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.9000000008", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Topaz_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Topaz_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418459122, + "hash64": 15103907911246012207 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "280", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1058671356, + "hash64": 814922971565713685 + }, + "BackPowerBase": "400", + "BEID": 62505, + "ID": 111202, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 12030201, + 12030202, + 12030203, + 12030204, + 12030205, + 12030206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 100402, + 201002 + ], + "EquipmentID": 23008, + "AvatarID": 1203, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701203, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 120302 + }, + "Price": 3, + "MaxStar": 3, + "Star": 1, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 120302021, + 120302041 + ], + "BackShowSkillIDList": [ + 120302021, + 120302041 + ], + "SkillOverrideDest": [ + 1203020201, + 1203020401, + 1203020301 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Luocha_00_Config.json", + "FrontShowSkillIDList": [ + 1203020201, + 1203020401, + 1203020301 + ], + "SkillOverrideSrc": [ + 120302, + 120304, + 120303 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "50", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Luocha_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Luocha_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "1", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905887118, + "hash64": 10552407677086500152 + }, + "ExtraHealBase": "70", + "FrontPowerBase": "150", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -223124052, + "hash64": 7541575572379547300 + }, + "BackPowerBase": "150", + "BEID": 62506, + "ID": 120302, + "BackMaxSP": "0", + "BackEnergyBar": "4", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 12030201, + 12030202, + 12030203, + 12030204, + 12030205, + 12030206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 100402, + 201002 + ], + "EquipmentID": 23008, + "AvatarID": 1203, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701203, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 120302 + }, + "Price": 3, + "MaxStar": 3, + "Star": 2, + "SellPrice": 8, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 120302022, + 120302042 + ], + "BackShowSkillIDList": [ + 120302022, + 120302042 + ], + "SkillOverrideDest": [ + 1203020202, + 1203020402, + 1203020302 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Luocha_00_Config.json", + "FrontShowSkillIDList": [ + 1203020202, + 1203020402, + 1203020302 + ], + "SkillOverrideSrc": [ + 120302, + 120304, + 120303 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "50", + "PropertyType": 1045 + }, + { + "Value": "0.6900000006", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Luocha_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Luocha_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "1", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905887119, + "hash64": 11336916513682009960 + }, + "ExtraHealBase": "90", + "FrontPowerBase": "240", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1789207993, + "hash64": 6289986187106922642 + }, + "BackPowerBase": "240", + "BEID": 62506, + "ID": 120302, + "BackMaxSP": "0", + "BackEnergyBar": "4", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12030201, + 12030202, + 12030203, + 12030204, + 12030205, + 12030206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 100402, + 201002 + ], + "EquipmentID": 23008, + "AvatarID": 1203, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701203, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 120302 + }, + "Price": 3, + "MaxStar": 3, + "Star": 3, + "SellPrice": 26, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 120302023, + 120302043 + ], + "BackShowSkillIDList": [ + 120302023, + 120302043 + ], + "SkillOverrideDest": [ + 1203020203, + 1203020403, + 1203020303 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Luocha_00_Config.json", + "FrontShowSkillIDList": [ + 1203020203, + 1203020403, + 1203020303 + ], + "SkillOverrideSrc": [ + 120302, + 120304, + 120303 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "50", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.4400000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Luocha_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Luocha_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "1", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905887120, + "hash64": 2831326082643971312 + }, + "ExtraHealBase": "110", + "FrontPowerBase": "330", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 939675362, + "hash64": 8036432981589812950 + }, + "BackPowerBase": "330", + "BEID": 62506, + "ID": 120302, + "BackMaxSP": "0", + "BackEnergyBar": "4", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12040201, + 12040202, + 12040203, + 12040204, + 12040205, + 12040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1204Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100702, + 200602 + ], + "EquipmentID": 23010, + "AvatarID": 1204, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701204, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 120402 + }, + "Price": 1, + "MaxStar": 4, + "Star": 1, + "SellPrice": 1, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1204020401, + 1204029901, + 1204029801, + 1204020201, + 1204020301 + ], + "BackShowSkillIDList": [ + 1204020401, + 1204029901, + 1204029801, + 1204020201, + 1204020301 + ], + "SkillOverrideDest": [ + 1204020401, + 1204029901, + 1204029801 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_JingYuan_00_Config.json", + "FrontShowSkillIDList": [ + 1204020401, + 1204029901, + 1204029801 + ], + "SkillOverrideSrc": [ + 120404, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.2500000002", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0", + "PropertyType": 1010 + }, + { + "Value": "0", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_JingYuan_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_JingYuan_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905888403, + "hash64": 7001662857922623484 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -578062757, + "hash64": 13902988882350117979 + }, + "BackPowerBase": "100", + "BEID": 62507, + "ID": 120402, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 12040201, + 12040202, + 12040203, + 12040204, + 12040205, + 12040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1204Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100702, + 200602 + ], + "EquipmentID": 23010, + "AvatarID": 1204, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701204, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 120402 + }, + "Price": 1, + "MaxStar": 4, + "Star": 2, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1204020402, + 1204029902, + 1204029802, + 1204020202, + 1204020302 + ], + "BackShowSkillIDList": [ + 1204020402, + 1204029902, + 1204029802, + 1204020202, + 1204020302 + ], + "SkillOverrideDest": [ + 1204020402, + 1204029902, + 1204029802 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_JingYuan_00_Config.json", + "FrontShowSkillIDList": [ + 1204020402, + 1204029902, + 1204029802 + ], + "SkillOverrideSrc": [ + 120404, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.2500000002", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_JingYuan_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_JingYuan_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905888402, + "hash64": 16974420367703774883 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 988021184, + "hash64": 14992476434413259998 + }, + "BackPowerBase": "160", + "BEID": 62507, + "ID": 120402, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12040201, + 12040202, + 12040203, + 12040204, + 12040205, + 12040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1204Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100702, + 200602 + ], + "EquipmentID": 23010, + "AvatarID": 1204, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701204, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 120402 + }, + "Price": 1, + "MaxStar": 4, + "Star": 3, + "SellPrice": 9, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1204020403, + 1204029903, + 1204029803, + 1204020203, + 1204020303 + ], + "BackShowSkillIDList": [ + 1204020403, + 1204029903, + 1204029803, + 1204020203, + 1204020303 + ], + "SkillOverrideDest": [ + 1204020403, + 1204029903, + 1204029803 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_JingYuan_00_Config.json", + "FrontShowSkillIDList": [ + 1204020403, + 1204029903, + 1204029803 + ], + "SkillOverrideSrc": [ + 120404, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.2500000002", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_JingYuan_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_JingYuan_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905888401, + "hash64": 12404218572213186743 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1740862171, + "hash64": 8082776633922388490 + }, + "BackPowerBase": "220", + "BEID": 62507, + "ID": 120402, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12040201, + 12040202, + 12040203, + 12040204, + 12040205, + 12040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1204Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100702, + 200602 + ], + "EquipmentID": 23010, + "AvatarID": 1204, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701204, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 120402 + }, + "Price": 1, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1204020404, + 1204029904, + 1204029804, + 1204020204, + 1204020304 + ], + "BackShowSkillIDList": [ + 1204020404, + 1204029904, + 1204029804, + 1204020204, + 1204020304 + ], + "SkillOverrideDest": [ + 1204020404, + 1204029904, + 1204029804 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_JingYuan_00_Config.json", + "FrontShowSkillIDList": [ + 1204020404, + 1204029904, + 1204029804 + ], + "SkillOverrideSrc": [ + 120404, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.2500000002", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.9000000008", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_JingYuan_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_JingYuan_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905888400, + "hash64": 16587921482145777802 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "280", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 181452130, + "hash64": 2789301394437735480 + }, + "BackPowerBase": "280", + "BEID": 62507, + "ID": 120402, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 12050201, + 12050202, + 12050203, + 12050204, + 12050205, + 12050206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 3, + 0 + ], + "TraitList": [ + 100702, + 200802 + ], + "EquipmentID": 23009, + "AvatarID": 1205, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701205, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 120502 + }, + "Price": 4, + "MaxStar": 3, + "Star": 1, + "SellPrice": 4, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1205020401, + 1205029901, + 1205020801, + 1205020301 + ], + "BackShowSkillIDList": [ + 1205020401, + 1205029901, + 1205020801, + 1205020301 + ], + "SkillOverrideDest": [ + 1205029901, + 1205020401, + 1205020301, + 1205029801 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Ren_00_Config.json", + "FrontShowSkillIDList": [ + 1205029901, + 1205020401, + 1205020301, + 1205029801 + ], + "SkillOverrideSrc": [ + 0, + 1120504, + 1120503, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Ren_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Ren_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905889428, + "hash64": 6282422546553223344 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "175", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1392597366, + "hash64": 16841080995241464223 + }, + "BackPowerBase": "175", + "BEID": 62508, + "ID": 120502, + "BackMaxSP": "0", + "BackEnergyBar": "5", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 12050201, + 12050202, + 12050203, + 12050204, + 12050205, + 12050206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 3, + 0 + ], + "TraitList": [ + 100702, + 200802 + ], + "EquipmentID": 23009, + "AvatarID": 1205, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701205, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 120502 + }, + "Price": 4, + "MaxStar": 3, + "Star": 2, + "SellPrice": 11, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1205020402, + 1205029902, + 1205020802, + 1205020302 + ], + "BackShowSkillIDList": [ + 1205020402, + 1205029902, + 1205020802, + 1205020302 + ], + "SkillOverrideDest": [ + 1205029902, + 1205020402, + 1205020302, + 1205029802 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Ren_00_Config.json", + "FrontShowSkillIDList": [ + 1205029902, + 1205020402, + 1205020302, + 1205029802 + ], + "SkillOverrideSrc": [ + 0, + 1120504, + 1120503, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.5600000005", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Ren_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Ren_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905889425, + "hash64": 11282814925204580683 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "245", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1795881893, + "hash64": 12045022250144990509 + }, + "BackPowerBase": "245", + "BEID": 62508, + "ID": 120502, + "BackMaxSP": "0", + "BackEnergyBar": "5", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12050201, + 12050202, + 12050203, + 12050204, + 12050205, + 12050206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 3, + 0 + ], + "TraitList": [ + 100702, + 200802 + ], + "EquipmentID": 23009, + "AvatarID": 1205, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701205, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 120502 + }, + "Price": 4, + "MaxStar": 3, + "Star": 3, + "SellPrice": 35, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1205020403, + 1205029903, + 1205020803, + 1205020303 + ], + "BackShowSkillIDList": [ + 1205020403, + 1205029903, + 1205020803, + 1205020303 + ], + "SkillOverrideDest": [ + 1205029903, + 1205020403, + 1205020303, + 1205029803 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Ren_00_Config.json", + "FrontShowSkillIDList": [ + 1205029903, + 1205020403, + 1205020303, + 1205029803 + ], + "SkillOverrideSrc": [ + 0, + 1120504, + 1120503, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.8200000007", + "PropertyType": 1010 + }, + { + "Value": "0.5600000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Ren_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Ren_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905889426, + "hash64": 15962632272777151429 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "400", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 229797952, + "hash64": 10840249553230768986 + }, + "BackPowerBase": "400", + "BEID": 62508, + "ID": 120502, + "BackMaxSP": "0", + "BackEnergyBar": "5", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12080201, + 12080202, + 12080203, + 12080204, + 12080205, + 12080206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1208Ultra.png", + "ChargeType": [ + 1, + 2 + ], + "TraitList": [ + 100902, + 200802, + 201102 + ], + "EquipmentID": 23011, + "AvatarID": 1208, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701208, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 120802 + }, + "Price": 3, + "MaxStar": 3, + "Star": 1, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1208029901, + 1208029801, + 1208029701, + 1208020301 + ], + "BackShowSkillIDList": [ + 1208029901, + 1208029801, + 1208029701, + 1208020301 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "67.500000000", + "PropertyType": 1045 + }, + { + "Value": "0.2000000001", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_FuXuan_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "1", + "ExtraShieldBase": "70", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "70", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -643838305, + "hash64": 1928233966199503906 + }, + "BackPowerBase": "150", + "BEID": 62509, + "ID": 120802, + "BackMaxSP": "0", + "BackEnergyBar": "5", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 12080201, + 12080202, + 12080203, + 12080204, + 12080205, + 12080206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1208Ultra.png", + "ChargeType": [ + 1, + 2 + ], + "TraitList": [ + 100902, + 200802, + 201102 + ], + "EquipmentID": 23011, + "AvatarID": 1208, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701208, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 120802 + }, + "Price": 3, + "MaxStar": 3, + "Star": 2, + "SellPrice": 8, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1208029902, + 1208029802, + 1208029702, + 1208020302 + ], + "BackShowSkillIDList": [ + 1208029902, + 1208029802, + 1208029702, + 1208020302 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "67.500000000", + "PropertyType": 1045 + }, + { + "Value": "0.4400000004", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_FuXuan_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "1", + "ExtraShieldBase": "80", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "140", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 922245636, + "hash64": 8718022499292328197 + }, + "BackPowerBase": "210", + "BEID": 62509, + "ID": 120802, + "BackMaxSP": "0", + "BackEnergyBar": "5", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12080201, + 12080202, + 12080203, + 12080204, + 12080205, + 12080206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1208Ultra.png", + "ChargeType": [ + 1, + 2 + ], + "TraitList": [ + 100902, + 200802, + 201102 + ], + "EquipmentID": 23011, + "AvatarID": 1208, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701208, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 120802 + }, + "Price": 3, + "MaxStar": 3, + "Star": 3, + "SellPrice": 26, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1208029903, + 1208029803, + 1208029703, + 1208020303 + ], + "BackShowSkillIDList": [ + 1208029903, + 1208029803, + 1208029703, + 1208020303 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "67.500000000", + "PropertyType": 1045 + }, + { + "Value": "0.6800000006", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_FuXuan_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "1", + "ExtraShieldBase": "90", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "90", + "FrontPowerBase": "180", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1806637719, + "hash64": 7007568345789109065 + }, + "BackPowerBase": "270", + "BEID": 62509, + "ID": 120802, + "BackMaxSP": "0", + "BackEnergyBar": "5", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12100201, + 12100202, + 12100203, + 12100204, + 12100205, + 12100206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100102, + 200202 + ], + "EquipmentID": 0, + "AvatarID": 1210, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701210, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 121002 + }, + "Price": 1, + "MaxStar": 4, + "Star": 1, + "SellPrice": 1, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1210020201, + 1210020401, + 1210029901 + ], + "BackShowSkillIDList": [ + 1210020201, + 1210020401, + 1210029901 + ], + "SkillOverrideDest": [ + 1210020201, + 1210029901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Guinaifen_00_Config.json", + "FrontShowSkillIDList": [ + 1210020201, + 1210029901 + ], + "SkillOverrideSrc": [ + 121002, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "3.5000000004", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0", + "PropertyType": 1010 + }, + { + "Value": "0", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Guinaifen_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Guinaifen_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418423126, + "hash64": 17861635264487759644 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -2031646904, + "hash64": 12721418974340108206 + }, + "BackPowerBase": "100", + "BEID": 62510, + "ID": 121002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 12100201, + 12100202, + 12100203, + 12100204, + 12100205, + 12100206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100102, + 200202 + ], + "EquipmentID": 0, + "AvatarID": 1210, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701210, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 121002 + }, + "Price": 1, + "MaxStar": 4, + "Star": 2, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1210020202, + 1210020402, + 1210029902 + ], + "BackShowSkillIDList": [ + 1210020202, + 1210020402, + 1210029902 + ], + "SkillOverrideDest": [ + 1210020202, + 1210029902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Guinaifen_00_Config.json", + "FrontShowSkillIDList": [ + 1210020202, + 1210029902 + ], + "SkillOverrideSrc": [ + 121002, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "3.5000000004", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Guinaifen_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Guinaifen_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418423127, + "hash64": 10397655833429830358 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -465562963, + "hash64": 1810691161510377390 + }, + "BackPowerBase": "160", + "BEID": 62510, + "ID": 121002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12100201, + 12100202, + 12100203, + 12100204, + 12100205, + 12100206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100102, + 200202 + ], + "EquipmentID": 0, + "AvatarID": 1210, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701210, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 121002 + }, + "Price": 1, + "MaxStar": 4, + "Star": 3, + "SellPrice": 9, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1210020203, + 1210020403, + 1210029903 + ], + "BackShowSkillIDList": [ + 1210020203, + 1210020403, + 1210029903 + ], + "SkillOverrideDest": [ + 1210020203, + 1210029903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Guinaifen_00_Config.json", + "FrontShowSkillIDList": [ + 1210020203, + 1210029903 + ], + "SkillOverrideSrc": [ + 121002, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "3.5000000004", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Guinaifen_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Guinaifen_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418423128, + "hash64": 2725590735574384058 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1100520978, + "hash64": 16043810749328873351 + }, + "BackPowerBase": "220", + "BEID": 62510, + "ID": 121002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12100201, + 12100202, + 12100203, + 12100204, + 12100205, + 12100206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100102, + 200202 + ], + "EquipmentID": 0, + "AvatarID": 1210, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701210, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 121002 + }, + "Price": 1, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1210020204, + 1210020404, + 1210029904 + ], + "BackShowSkillIDList": [ + 1210020204, + 1210020404, + 1210029904 + ], + "SkillOverrideDest": [ + 1210020204, + 1210029904 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Guinaifen_00_Config.json", + "FrontShowSkillIDList": [ + 1210020204, + 1210029904 + ], + "SkillOverrideSrc": [ + 121002, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "3.5000000004", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.9000000008", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Guinaifen_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Guinaifen_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418423121, + "hash64": 4158198684752442695 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "280", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1628362377, + "hash64": 13958575300462069302 + }, + "BackPowerBase": "280", + "BEID": 62510, + "ID": 121002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 12110201, + 12110202, + 12110203, + 12110204, + 12110205, + 12110206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 100702, + 200402, + 201002 + ], + "EquipmentID": 23013, + "AvatarID": 1211, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701211, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 121102 + }, + "Price": 2, + "MaxStar": 4, + "Star": 1, + "SellPrice": 2, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1211020201, + 1211020401, + 1211029901 + ], + "BackShowSkillIDList": [ + 1211020201, + 1211020401, + 1211029901 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "50", + "PropertyType": 1045 + }, + { + "Value": "0.1500000001", + "PropertyType": 1064 + }, + { + "Value": "0.1000000000", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Bailu_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "65", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -60986781, + "hash64": 16644302676998710437 + }, + "BackPowerBase": "125", + "BEID": 62511, + "ID": 121102, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 12110201, + 12110202, + 12110203, + 12110204, + 12110205, + 12110206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 100702, + 200402, + 201002 + ], + "EquipmentID": 23013, + "AvatarID": 1211, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701211, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 121102 + }, + "Price": 2, + "MaxStar": 4, + "Star": 2, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1211020202, + 1211020402, + 1211029902 + ], + "BackShowSkillIDList": [ + 1211020202, + 1211020402, + 1211029902 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "50", + "PropertyType": 1045 + }, + { + "Value": "0.2000000001", + "PropertyType": 1064 + }, + { + "Value": "0.3200000002", + "PropertyType": 1010 + }, + { + "Value": "0.2100000001", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Bailu_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "75", + "FrontPowerBase": "140", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 342297746, + "hash64": 3941677626347037617 + }, + "BackPowerBase": "175", + "BEID": 62511, + "ID": 121102, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12110201, + 12110202, + 12110203, + 12110204, + 12110205, + 12110206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 100702, + 200402, + 201002 + ], + "EquipmentID": 23013, + "AvatarID": 1211, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701211, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 121102 + }, + "Price": 2, + "MaxStar": 4, + "Star": 3, + "SellPrice": 17, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1211020203, + 1211020403, + 1211029903 + ], + "BackShowSkillIDList": [ + 1211020203, + 1211020403, + 1211029903 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "50", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1064 + }, + { + "Value": "0.5400000005", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Bailu_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "85", + "FrontPowerBase": "180", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1223786195, + "hash64": 6522559387781659714 + }, + "BackPowerBase": "225", + "BEID": 62511, + "ID": 121102, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12110201, + 12110202, + 12110203, + 12110204, + 12110205, + 12110206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 100702, + 200402, + 201002 + ], + "EquipmentID": 23013, + "AvatarID": 1211, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701211, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 121102 + }, + "Price": 2, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1211020204, + 1211020404, + 1211029904 + ], + "BackShowSkillIDList": [ + 1211020204, + 1211020404, + 1211029904 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "50", + "PropertyType": 1045 + }, + { + "Value": "0.4000000003", + "PropertyType": 1064 + }, + { + "Value": "0.7600000007", + "PropertyType": 1010 + }, + { + "Value": "0.4400000004", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Bailu_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "95", + "FrontPowerBase": "220", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -820501668, + "hash64": 7009705849212127339 + }, + "BackPowerBase": "275", + "BEID": 62511, + "ID": 121102, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 12120201, + 12120202, + 12120203, + 12120204, + 12120205, + 12120206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0, + 1 + ], + "TraitList": [ + 100702, + 200402 + ], + "EquipmentID": 23014, + "AvatarID": 1212, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701212, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 121202 + }, + "Price": 3, + "MaxStar": 3, + "Star": 1, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1212020901, + 1212020401, + 1212029901 + ], + "BackShowSkillIDList": [ + 1212020901, + 1212020401, + 1212029901 + ], + "SkillOverrideDest": [ + 1212020901, + 1212020401, + 1212029901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Jingliu_00_Config.json", + "FrontShowSkillIDList": [ + 1212020901, + 1212020401, + 1212029901 + ], + "SkillOverrideSrc": [ + 1121209, + 1121204, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.2000000001", + "PropertyType": 1064 + }, + { + "Value": "0.2000000001", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Jingliu_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Jingliu_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "3", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418421080, + "hash64": 11771009078838089913 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "150", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 2101179922, + "hash64": 11509782650592794383 + }, + "BackPowerBase": "150", + "BEID": 62512, + "ID": 121202, + "BackMaxSP": "0", + "BackEnergyBar": "5", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 12120201, + 12120202, + 12120203, + 12120204, + 12120205, + 12120206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0, + 1 + ], + "TraitList": [ + 100702, + 200402 + ], + "EquipmentID": 23014, + "AvatarID": 1212, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701212, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 121202 + }, + "Price": 3, + "MaxStar": 3, + "Star": 2, + "SellPrice": 8, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1212020902, + 1212020402, + 1212029902 + ], + "BackShowSkillIDList": [ + 1212020902, + 1212020402, + 1212029902 + ], + "SkillOverrideDest": [ + 1212020902, + 1212020402, + 1212029902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Jingliu_00_Config.json", + "FrontShowSkillIDList": [ + 1212020902, + 1212020402, + 1212029902 + ], + "SkillOverrideSrc": [ + 1121209, + 1121204, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.2500000002", + "PropertyType": 1064 + }, + { + "Value": "0.4400000004", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Jingliu_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Jingliu_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "3", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418421077, + "hash64": 12258382807807546601 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "210", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1697895395, + "hash64": 2982715263902526614 + }, + "BackPowerBase": "210", + "BEID": 62512, + "ID": 121202, + "BackMaxSP": "0", + "BackEnergyBar": "5", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12120201, + 12120202, + 12120203, + 12120204, + 12120205, + 12120206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0, + 1 + ], + "TraitList": [ + 100702, + 200402 + ], + "EquipmentID": 23014, + "AvatarID": 1212, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701212, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 121202 + }, + "Price": 3, + "MaxStar": 3, + "Star": 3, + "SellPrice": 26, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1212020903, + 1212020403, + 1212029903 + ], + "BackShowSkillIDList": [ + 1212020903, + 1212020403, + 1212029903 + ], + "SkillOverrideDest": [ + 1212020903, + 1212020403, + 1212029903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Jingliu_00_Config.json", + "FrontShowSkillIDList": [ + 1212020903, + 1212020403, + 1212029903 + ], + "SkillOverrideSrc": [ + 1121209, + 1121204, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.3500000003", + "PropertyType": 1064 + }, + { + "Value": "0.6800000006", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Jingliu_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Jingliu_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "3", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418421078, + "hash64": 16117994893039408678 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "270", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1030987960, + "hash64": 12877504177283230769 + }, + "BackPowerBase": "270", + "BEID": 62512, + "ID": 121202, + "BackMaxSP": "0", + "BackEnergyBar": "5", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100502, + 100702, + 300102 + ], + "EquipmentID": 0, + "AvatarID": 1213, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701213, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 121302 + }, + "Price": 5, + "MaxStar": 3, + "Star": 1, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1213029801, + 1213029901, + 1213020201, + 1213020801, + 1213021001, + 1213021201, + 1213021401 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_DanHengIL_00_Config.json", + "FrontShowSkillIDList": [ + 1213029801, + 1213029901, + 1213021401 + ], + "SkillOverrideSrc": [ + 0, + 0, + 121302, + 121308, + 121310, + 121312, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.7500000006", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.4500000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_DanHengIL_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_DanHengIL_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418420055, + "hash64": 13485747369586474060 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "200", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62615, + "ID": 121302, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100502, + 100702, + 300102 + ], + "EquipmentID": 0, + "AvatarID": 1213, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701213, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 121302 + }, + "Price": 5, + "MaxStar": 3, + "Star": 2, + "SellPrice": 14, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1213029802, + 1213029902, + 1213020202, + 1213020802, + 1213021002, + 1213021202, + 1213021402 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_DanHengIL_00_Config.json", + "FrontShowSkillIDList": [ + 1213029802, + 1213029902, + 1213021402 + ], + "SkillOverrideSrc": [ + 0, + 0, + 121302, + 121308, + 121310, + 121312, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.7500000006", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.6000000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_DanHengIL_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_DanHengIL_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418420054, + "hash64": 4606753129412851913 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "320", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62615, + "ID": 121302, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100502, + 100702, + 300102 + ], + "EquipmentID": 0, + "AvatarID": 1213, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701213, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 121302 + }, + "Price": 5, + "MaxStar": 3, + "Star": 3, + "SellPrice": 44, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1213029803, + 1213029903, + 1213020203, + 1213020803, + 1213021003, + 1213021203, + 1213021403 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_DanHengIL_00_Config.json", + "FrontShowSkillIDList": [ + 1213029803, + 1213029903, + 1213021403 + ], + "SkillOverrideSrc": [ + 0, + 0, + 121302, + 121308, + 121310, + 121312, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.7500000006", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "5", + "PropertyType": 1010 + }, + { + "Value": "3", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_DanHengIL_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_DanHengIL_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418420053, + "hash64": 6051646990241849616 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "2000", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62615, + "ID": 121302, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100102, + 200502 + ], + "EquipmentID": 0, + "AvatarID": 1214, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701214, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 121402 + }, + "Price": 5, + "MaxStar": 3, + "Star": 1, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1214020301, + 1214020401, + 1214029901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Xueyi_00_Config.json", + "FrontShowSkillIDList": [ + 1214020301, + 1214020401, + 1214029901 + ], + "SkillOverrideSrc": [ + 121403, + 121404, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.2500000002", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.4500000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Xueyi_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Xueyi_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418418770, + "hash64": 6942195228139755292 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "200", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62513, + "ID": 121402, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100102, + 200502 + ], + "EquipmentID": 0, + "AvatarID": 1214, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701214, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 121402 + }, + "Price": 5, + "MaxStar": 3, + "Star": 2, + "SellPrice": 14, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1214020302, + 1214020402, + 1214029902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Xueyi_00_Config.json", + "FrontShowSkillIDList": [ + 1214020302, + 1214020402, + 1214029902 + ], + "SkillOverrideSrc": [ + 121403, + 121404, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.2500000002", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.6000000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Xueyi_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Xueyi_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418418771, + "hash64": 8167993181068424705 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "320", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62513, + "ID": 121402, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100102, + 200502 + ], + "EquipmentID": 0, + "AvatarID": 1214, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701214, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 121402 + }, + "Price": 5, + "MaxStar": 3, + "Star": 3, + "SellPrice": 44, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1214020303, + 1214020403, + 1214029903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Xueyi_00_Config.json", + "FrontShowSkillIDList": [ + 1214020303, + 1214020403, + 1214029903 + ], + "SkillOverrideSrc": [ + 121403, + 121404, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.2500000002", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "5", + "PropertyType": 1010 + }, + { + "Value": "3", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Xueyi_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Xueyi_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418418772, + "hash64": 483259360184585831 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "2000", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62513, + "ID": 121402, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12150201, + 12150202, + 12150203, + 12150204, + 12150205, + 12150206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1215Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100102, + 200402 + ], + "EquipmentID": 0, + "AvatarID": 1215, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701215, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 121502 + }, + "Price": 4, + "MaxStar": 3, + "Star": 1, + "SellPrice": 4, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1215020201, + 1215020301, + 1215020401 + ], + "BackShowSkillIDList": [ + 1215020201, + 1215020301, + 1215020401 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "2", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.1500000001", + "PropertyType": 1064 + }, + { + "Value": "0.4500000004", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Hanya_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1392594167, + "hash64": 6032063734158280218 + }, + "BackPowerBase": "175", + "BEID": 62514, + "ID": 121502, + "BackMaxSP": "140", + "BackEnergyBar": "0", + "BackInitialSP": "70" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 12150201, + 12150202, + 12150203, + 12150204, + 12150205, + 12150206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1215Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100102, + 200402 + ], + "EquipmentID": 0, + "AvatarID": 1215, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701215, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 121502 + }, + "Price": 4, + "MaxStar": 3, + "Star": 2, + "SellPrice": 11, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1215020202, + 1215020302, + 1215020402 + ], + "BackShowSkillIDList": [ + 1215020202, + 1215020302, + 1215020402 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "2", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.2000000001", + "PropertyType": 1064 + }, + { + "Value": "0.8850000004", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Hanya_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1795878694, + "hash64": 487499896661995517 + }, + "BackPowerBase": "280", + "BEID": 62514, + "ID": 121502, + "BackMaxSP": "140", + "BackEnergyBar": "0", + "BackInitialSP": "70" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12150201, + 12150202, + 12150203, + 12150204, + 12150205, + 12150206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1215Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100102, + 200402 + ], + "EquipmentID": 0, + "AvatarID": 1215, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701215, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 121502 + }, + "Price": 4, + "MaxStar": 3, + "Star": 3, + "SellPrice": 35, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1215020203, + 1215020303, + 1215020403 + ], + "BackShowSkillIDList": [ + 1215020203, + 1215020303, + 1215020403 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "2", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1064 + }, + { + "Value": "1.3200000002", + "PropertyType": 1010 + }, + { + "Value": "0.5600000005", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Hanya_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 229794753, + "hash64": 17942102069040867200 + }, + "BackPowerBase": "500", + "BEID": 62514, + "ID": 121502, + "BackMaxSP": "140", + "BackEnergyBar": "0", + "BackInitialSP": "70" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12170201, + 12170202, + 12170203, + 12170204, + 12170205, + 12170206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1217Ultra.png", + "ChargeType": [ + 2, + 0, + 1 + ], + "TraitList": [ + 100902, + 200902, + 201002 + ], + "EquipmentID": 23017, + "AvatarID": 1217, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701217, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 121702 + }, + "Price": 4, + "MaxStar": 3, + "Star": 1, + "SellPrice": 4, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1217020201, + 1217020301, + 1217029901, + 1217020401 + ], + "BackShowSkillIDList": [ + 1217020201, + 1217020301, + 1217029901, + 1217020401 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Huohuo_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Huohuo_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "1", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "75", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1230453697, + "hash64": 13582495207462509917 + }, + "BackPowerBase": "175", + "BEID": 62515, + "ID": 121702, + "BackMaxSP": "0", + "BackEnergyBar": "4", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 12170201, + 12170202, + 12170203, + 12170204, + 12170205, + 12170206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1217Ultra.png", + "ChargeType": [ + 2, + 0, + 1 + ], + "TraitList": [ + 100902, + 200902, + 201002 + ], + "EquipmentID": 23017, + "AvatarID": 1217, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701217, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 121702 + }, + "Price": 4, + "MaxStar": 3, + "Star": 2, + "SellPrice": 11, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1217020202, + 1217020302, + 1217029902, + 1217020402 + ], + "BackShowSkillIDList": [ + 1217020202, + 1217020302, + 1217029902, + 1217020402 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.5600000005", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Huohuo_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Huohuo_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "1", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "85", + "FrontPowerBase": "140", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -335630244, + "hash64": 8384009515624208642 + }, + "BackPowerBase": "245", + "BEID": 62515, + "ID": 121702, + "BackMaxSP": "0", + "BackEnergyBar": "4", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12170201, + 12170202, + 12170203, + 12170204, + 12170205, + 12170206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1217Ultra.png", + "ChargeType": [ + 2, + 0, + 1 + ], + "TraitList": [ + 100902, + 200902, + 201002 + ], + "EquipmentID": 23017, + "AvatarID": 1217, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701217, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 121702 + }, + "Price": 4, + "MaxStar": 3, + "Star": 3, + "SellPrice": 35, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1217020203, + 1217020303, + 1217029903, + 1217020403 + ], + "BackShowSkillIDList": [ + 1217020203, + 1217020303, + 1217029903, + 1217020403 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.8200000007", + "PropertyType": 1010 + }, + { + "Value": "0.5600000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Huohuo_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Huohuo_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "1", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "95", + "FrontPowerBase": "400", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1901714185, + "hash64": 9117976334441509590 + }, + "BackPowerBase": "400", + "BEID": 62515, + "ID": 121702, + "BackMaxSP": "0", + "BackEnergyBar": "4", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100102, + 200202 + ], + "EquipmentID": 0, + "AvatarID": 1218, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701218, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 121802 + }, + "Price": 3, + "MaxStar": 3, + "Star": 1, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1218020401, + 1218029901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Jiaoqiu_00_Config.json", + "FrontShowSkillIDList": [ + 1218020401, + 1218029901 + ], + "SkillOverrideSrc": [ + 121804, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "50", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Jiaoqiu_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Jiaoqiu_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418414414, + "hash64": 3376180539144863923 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "150", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62516, + "ID": 121802, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100102, + 200202 + ], + "EquipmentID": 0, + "AvatarID": 1218, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701218, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 121802 + }, + "Price": 3, + "MaxStar": 3, + "Star": 2, + "SellPrice": 8, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1218020402, + 1218029902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Jiaoqiu_00_Config.json", + "FrontShowSkillIDList": [ + 1218020402, + 1218029902 + ], + "SkillOverrideSrc": [ + 121804, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "50", + "PropertyType": 1045 + }, + { + "Value": "0.6900000006", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Jiaoqiu_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Jiaoqiu_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418414415, + "hash64": 15691311095172369860 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "240", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62516, + "ID": 121802, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100102, + 200202 + ], + "EquipmentID": 0, + "AvatarID": 1218, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701218, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 121802 + }, + "Price": 3, + "MaxStar": 3, + "Star": 3, + "SellPrice": 26, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1218020403, + 1218029903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Jiaoqiu_00_Config.json", + "FrontShowSkillIDList": [ + 1218020403, + 1218029903 + ], + "SkillOverrideSrc": [ + 121804, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "50", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.4400000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Jiaoqiu_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Jiaoqiu_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418414416, + "hash64": 9264428349522732147 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "330", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62516, + "ID": 121802, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100102, + 200102 + ], + "EquipmentID": 0, + "AvatarID": 1220, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701220, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 122002 + }, + "Price": 3, + "MaxStar": 3, + "Star": 1, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1220029901, + 1220020301, + 1220029801, + 1220020401, + 1220029701, + 1220021401, + 1220029601, + 1220029501, + 1220020801, + 1220020901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Feixiao_00_Config.json", + "FrontShowSkillIDList": [ + 1220029901, + 1220020301, + 1220020401, + 1220020801, + 1220020901 + ], + "SkillOverrideSrc": [ + 0, + 122003, + 0, + 122004, + 0, + 122014, + 0, + 0, + 122008, + 122009 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "0", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Feixiao_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Feixiao_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663306053, + "hash64": 940294040571391054 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "150", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62517, + "ID": 122002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100102, + 200102 + ], + "EquipmentID": 0, + "AvatarID": 1220, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701220, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 122002 + }, + "Price": 3, + "MaxStar": 3, + "Star": 2, + "SellPrice": 8, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1220029902, + 1220020302, + 1220029802, + 1220020402, + 1220029702, + 1220021402, + 1220029602, + 1220029502, + 1220020802, + 1220020902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Feixiao_00_Config.json", + "FrontShowSkillIDList": [ + 1220029902, + 1220020302, + 1220020402, + 1220020802, + 1220020902 + ], + "SkillOverrideSrc": [ + 0, + 122003, + 0, + 122004, + 0, + 122014, + 0, + 0, + 122008, + 122009 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "0", + "PropertyType": 1045 + }, + { + "Value": "0.6900000006", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Feixiao_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Feixiao_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663306052, + "hash64": 13280875074948789124 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "240", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62517, + "ID": 122002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100102, + 200102 + ], + "EquipmentID": 0, + "AvatarID": 1220, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701220, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 122002 + }, + "Price": 3, + "MaxStar": 3, + "Star": 3, + "SellPrice": 26, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1220029903, + 1220020303, + 1220029803, + 1220020403, + 1220029703, + 1220021403, + 1220029603, + 1220029503, + 1220020803, + 1220020903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Feixiao_00_Config.json", + "FrontShowSkillIDList": [ + 1220029903, + 1220020303, + 1220020403, + 1220020803, + 1220020903 + ], + "SkillOverrideSrc": [ + 0, + 122003, + 0, + 122004, + 0, + 122014, + 0, + 0, + 122008, + 122009 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "0", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.4400000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Feixiao_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Feixiao_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663306051, + "hash64": 17923517900396069775 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "330", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62517, + "ID": 122002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12210201, + 12210202, + 12210203, + 12210204, + 12210205, + 12210206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1221Ultra.png", + "ChargeType": [ + 2, + 1 + ], + "TraitList": [ + 100102, + 200802 + ], + "EquipmentID": 23030, + "AvatarID": 1221, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701221, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 122102 + }, + "Price": 2, + "MaxStar": 4, + "Star": 1, + "SellPrice": 2, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1221029901, + 1221020401, + 1221020301 + ], + "BackShowSkillIDList": [ + 1221029901, + 1221020401, + 1221020301 + ], + "SkillOverrideDest": [ + 1221029901, + 1221020301 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Yunli_00_Config.json", + "FrontShowSkillIDList": [ + 1221029901, + 1221020301 + ], + "SkillOverrideSrc": [ + 0, + 122103 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.5000000004", + "PropertyType": 1017 + }, + { + "Value": "120", + "PropertyType": 1045 + }, + { + "Value": "0.1500000001", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Yunli_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Yunli_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "1", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663307078, + "hash64": 2755196968494549022 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "125", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -60981408, + "hash64": 8439479982212993409 + }, + "BackPowerBase": "125", + "BEID": 62518, + "ID": 122102, + "BackMaxSP": "120", + "BackEnergyBar": "3", + "BackInitialSP": "60" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 12210201, + 12210202, + 12210203, + 12210204, + 12210205, + 12210206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1221Ultra.png", + "ChargeType": [ + 2, + 1 + ], + "TraitList": [ + 100102, + 200802 + ], + "EquipmentID": 23030, + "AvatarID": 1221, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701221, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 122102 + }, + "Price": 2, + "MaxStar": 4, + "Star": 2, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1221029902, + 1221020402, + 1221020302 + ], + "BackShowSkillIDList": [ + 1221029902, + 1221020402, + 1221020302 + ], + "SkillOverrideDest": [ + 1221029902, + 1221020302 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Yunli_00_Config.json", + "FrontShowSkillIDList": [ + 1221029902, + 1221020302 + ], + "SkillOverrideSrc": [ + 0, + 122103 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.5000000004", + "PropertyType": 1017 + }, + { + "Value": "120", + "PropertyType": 1045 + }, + { + "Value": "0.4950000001", + "PropertyType": 1010 + }, + { + "Value": "0.2100000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Yunli_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Yunli_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "1", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663307075, + "hash64": 44505982773077526 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "200", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 342303119, + "hash64": 776530421581954477 + }, + "BackPowerBase": "200", + "BEID": 62518, + "ID": 122102, + "BackMaxSP": "120", + "BackEnergyBar": "3", + "BackInitialSP": "60" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12210201, + 12210202, + 12210203, + 12210204, + 12210205, + 12210206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1221Ultra.png", + "ChargeType": [ + 2, + 1 + ], + "TraitList": [ + 100102, + 200802 + ], + "EquipmentID": 23030, + "AvatarID": 1221, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701221, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 122102 + }, + "Price": 2, + "MaxStar": 4, + "Star": 3, + "SellPrice": 17, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1221029903, + 1221020403, + 1221020303 + ], + "BackShowSkillIDList": [ + 1221029903, + 1221020403, + 1221020303 + ], + "SkillOverrideDest": [ + 1221029903, + 1221020303 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Yunli_00_Config.json", + "FrontShowSkillIDList": [ + 1221029903, + 1221020303 + ], + "SkillOverrideSrc": [ + 0, + 122103 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.5000000004", + "PropertyType": 1017 + }, + { + "Value": "120", + "PropertyType": 1045 + }, + { + "Value": "0.8400000007", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Yunli_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Yunli_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "1", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663307076, + "hash64": 6508979996477701014 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "275", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1223780822, + "hash64": 7982918599433066999 + }, + "BackPowerBase": "275", + "BEID": 62518, + "ID": 122102, + "BackMaxSP": "120", + "BackEnergyBar": "3", + "BackInitialSP": "60" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12210201, + 12210202, + 12210203, + 12210204, + 12210205, + 12210206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1221Ultra.png", + "ChargeType": [ + 2, + 1 + ], + "TraitList": [ + 100102, + 200802 + ], + "EquipmentID": 23030, + "AvatarID": 1221, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701221, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 122102 + }, + "Price": 2, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1221029904, + 1221020404, + 1221020304 + ], + "BackShowSkillIDList": [ + 1221029904, + 1221020404, + 1221020304 + ], + "SkillOverrideDest": [ + 1221029904, + 1221020304 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Yunli_00_Config.json", + "FrontShowSkillIDList": [ + 1221029904, + 1221020304 + ], + "SkillOverrideSrc": [ + 0, + 122103 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1.5000000004", + "PropertyType": 1017 + }, + { + "Value": "120", + "PropertyType": 1045 + }, + { + "Value": "1.1849999998", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Yunli_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Yunli_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "1", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663307081, + "hash64": 8453717768921803484 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "350", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -820496295, + "hash64": 17847914743617615079 + }, + "BackPowerBase": "350", + "BEID": 62518, + "ID": 122102, + "BackMaxSP": "120", + "BackEnergyBar": "3", + "BackInitialSP": "60" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 12220201, + 12220202, + 12220203, + 12220204, + 12220205, + 12220206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1222Ultra.png", + "ChargeType": [ + 0, + 2, + 1 + ], + "TraitList": [ + 100102, + 200302, + 201002 + ], + "EquipmentID": 23032, + "AvatarID": 1222, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701222, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 122202 + }, + "Price": 1, + "MaxStar": 4, + "Star": 1, + "SellPrice": 1, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1222020201, + 1222020301, + 1222020401, + 1222029901 + ], + "BackShowSkillIDList": [ + 1222020201, + 1222020301, + 1222020401, + 1222029901 + ], + "SkillOverrideDest": [ + 1222020301, + 1222020401, + 1222029901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Lingsha_00_Config.json", + "FrontShowSkillIDList": [ + 1222020301, + 1222020401, + 1222029901 + ], + "SkillOverrideSrc": [ + 122203, + 122204, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0", + "PropertyType": 1010 + }, + { + "Value": "0", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Lingsha_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Lingsha_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663308099, + "hash64": 629192289610632607 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 2101185295, + "hash64": 14323695948476488264 + }, + "BackPowerBase": "100", + "BEID": 62519, + "ID": 122202, + "BackMaxSP": "110", + "BackEnergyBar": "0", + "BackInitialSP": "55" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 12220201, + 12220202, + 12220203, + 12220204, + 12220205, + 12220206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1222Ultra.png", + "ChargeType": [ + 0, + 2, + 1 + ], + "TraitList": [ + 100102, + 200302, + 201002 + ], + "EquipmentID": 23032, + "AvatarID": 1222, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701222, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 122202 + }, + "Price": 1, + "MaxStar": 4, + "Star": 2, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1222020202, + 1222020302, + 1222020402, + 1222029902 + ], + "BackShowSkillIDList": [ + 1222020202, + 1222020302, + 1222020402, + 1222029902 + ], + "SkillOverrideDest": [ + 1222020302, + 1222020402, + 1222029902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Lingsha_00_Config.json", + "FrontShowSkillIDList": [ + 1222020302, + 1222020402, + 1222029902 + ], + "SkillOverrideSrc": [ + 122203, + 122204, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Lingsha_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Lingsha_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663308102, + "hash64": 15936260350393639032 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1697900768, + "hash64": 15498243584097229189 + }, + "BackPowerBase": "160", + "BEID": 62519, + "ID": 122202, + "BackMaxSP": "110", + "BackEnergyBar": "0", + "BackInitialSP": "55" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12220201, + 12220202, + 12220203, + 12220204, + 12220205, + 12220206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1222Ultra.png", + "ChargeType": [ + 0, + 2, + 1 + ], + "TraitList": [ + 100102, + 200302, + 201002 + ], + "EquipmentID": 23032, + "AvatarID": 1222, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701222, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 122202 + }, + "Price": 1, + "MaxStar": 4, + "Star": 3, + "SellPrice": 9, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1222020203, + 1222020303, + 1222020403, + 1222029903 + ], + "BackShowSkillIDList": [ + 1222020203, + 1222020303, + 1222020403, + 1222029903 + ], + "SkillOverrideDest": [ + 1222020303, + 1222020403, + 1222029903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Lingsha_00_Config.json", + "FrontShowSkillIDList": [ + 1222020303, + 1222020403, + 1222029903 + ], + "SkillOverrideSrc": [ + 122203, + 122204, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Lingsha_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Lingsha_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663308101, + "hash64": 17969707902201308541 + }, + "ExtraHealBase": "100", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1030982587, + "hash64": 15226185811795550158 + }, + "BackPowerBase": "220", + "BEID": 62519, + "ID": 122202, + "BackMaxSP": "110", + "BackEnergyBar": "0", + "BackInitialSP": "55" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12220201, + 12220202, + 12220203, + 12220204, + 12220205, + 12220206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1222Ultra.png", + "ChargeType": [ + 0, + 2, + 1 + ], + "TraitList": [ + 100102, + 200302, + 201002 + ], + "EquipmentID": 23032, + "AvatarID": 1222, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701222, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 122202 + }, + "Price": 1, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1222020204, + 1222020304, + 1222020404, + 1222029904 + ], + "BackShowSkillIDList": [ + 1222020204, + 1222020304, + 1222020404, + 1222029904 + ], + "SkillOverrideDest": [ + 1222020304, + 1222020404, + 1222029904 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Lingsha_00_Config.json", + "FrontShowSkillIDList": [ + 1222020304, + 1222020404, + 1222029904 + ], + "SkillOverrideSrc": [ + 122203, + 122204, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0.9000000008", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Lingsha_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Lingsha_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663308104, + "hash64": 2411624672351251497 + }, + "ExtraHealBase": "120", + "FrontPowerBase": "280", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1790497474, + "hash64": 8622247649671747405 + }, + "BackPowerBase": "280", + "BEID": 62519, + "ID": 122202, + "BackMaxSP": "110", + "BackEnergyBar": "0", + "BackInitialSP": "55" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 12240201, + 12240202, + 12240203, + 12240204, + 12240205, + 12240206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100502, + 200102 + ], + "EquipmentID": 0, + "AvatarID": 1224, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701224, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 122402 + }, + "Price": 1, + "MaxStar": 4, + "Star": 1, + "SellPrice": 1, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1224020201, + 1224020801 + ], + "BackShowSkillIDList": [ + 1224020201, + 1224020801 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "1.2500000002", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0", + "PropertyType": 1010 + }, + { + "Value": "0", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Mar_7th_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -578060583, + "hash64": 15529755965976942746 + }, + "BackPowerBase": "100", + "BEID": 62520, + "ID": 122402, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 12240201, + 12240202, + 12240203, + 12240204, + 12240205, + 12240206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100502, + 200102 + ], + "EquipmentID": 0, + "AvatarID": 1224, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701224, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 122402 + }, + "Price": 1, + "MaxStar": 4, + "Star": 2, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1224020202, + 1224020802 + ], + "BackShowSkillIDList": [ + 1224020202, + 1224020802 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "1.2500000002", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Mar_7th_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 988023358, + "hash64": 15491815566122875704 + }, + "BackPowerBase": "160", + "BEID": 62520, + "ID": 122402, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12240201, + 12240202, + 12240203, + 12240204, + 12240205, + 12240206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100502, + 200102 + ], + "EquipmentID": 0, + "AvatarID": 1224, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701224, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 122402 + }, + "Price": 1, + "MaxStar": 4, + "Star": 3, + "SellPrice": 9, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1224020203, + 1224020803 + ], + "BackShowSkillIDList": [ + 1224020203, + 1224020803 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "1.2500000002", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Mar_7th_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1740859997, + "hash64": 6070338316759640649 + }, + "BackPowerBase": "220", + "BEID": 62520, + "ID": 122402, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12240201, + 12240202, + 12240203, + 12240204, + 12240205, + 12240206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100502, + 200102 + ], + "EquipmentID": 0, + "AvatarID": 1224, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701224, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 122402 + }, + "Price": 1, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1224020204, + 1224020804 + ], + "BackShowSkillIDList": [ + 1224020204, + 1224020804 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "1.2500000002", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0.9000000008", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Mar_7th_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "280", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 181454304, + "hash64": 2216246092217273120 + }, + "BackPowerBase": "280", + "BEID": 62520, + "ID": 122402, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 12250201, + 12250202, + 12250203, + 12250204, + 12250205, + 12250206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1225Ultra.png", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100402, + 200502 + ], + "EquipmentID": 23035, + "AvatarID": 1225, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701225, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 122502 + }, + "Price": 1, + "MaxStar": 4, + "Star": 1, + "SellPrice": 1, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1225020201, + 1225020801, + 1225020401 + ], + "BackShowSkillIDList": [ + 1225020201, + 1225020801, + 1225020401 + ], + "SkillOverrideDest": [ + 1225020201, + 1225020401 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Fugue_00_Config.json", + "FrontShowSkillIDList": [ + 1225020201, + 1225020401 + ], + "SkillOverrideSrc": [ + 122502, + 122504 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0", + "PropertyType": 1010 + }, + { + "Value": "0", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Fugue_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Fugue_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663311434, + "hash64": 9892240096559189837 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1392599540, + "hash64": 11332770569046882527 + }, + "BackPowerBase": "100", + "BEID": 62521, + "ID": 122502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 12250201, + 12250202, + 12250203, + 12250204, + 12250205, + 12250206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1225Ultra.png", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100402, + 200502 + ], + "EquipmentID": 23035, + "AvatarID": 1225, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701225, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 122502 + }, + "Price": 1, + "MaxStar": 4, + "Star": 2, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1225020202, + 1225020802, + 1225020402 + ], + "BackShowSkillIDList": [ + 1225020202, + 1225020802, + 1225020402 + ], + "SkillOverrideDest": [ + 1225020202, + 1225020402 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Fugue_00_Config.json", + "FrontShowSkillIDList": [ + 1225020202, + 1225020402 + ], + "SkillOverrideSrc": [ + 122502, + 122504 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Fugue_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Fugue_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663311431, + "hash64": 2169288086890234332 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1795884067, + "hash64": 2560896668089191945 + }, + "BackPowerBase": "160", + "BEID": 62521, + "ID": 122502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12250201, + 12250202, + 12250203, + 12250204, + 12250205, + 12250206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1225Ultra.png", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100402, + 200502 + ], + "EquipmentID": 23035, + "AvatarID": 1225, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701225, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 122502 + }, + "Price": 1, + "MaxStar": 4, + "Star": 3, + "SellPrice": 9, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1225020203, + 1225020803, + 1225020403 + ], + "BackShowSkillIDList": [ + 1225020203, + 1225020803, + 1225020403 + ], + "SkillOverrideDest": [ + 1225020203, + 1225020403 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Fugue_00_Config.json", + "FrontShowSkillIDList": [ + 1225020203, + 1225020403 + ], + "SkillOverrideSrc": [ + 122502, + 122504 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Fugue_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Fugue_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663311432, + "hash64": 15500949216529760519 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 229800126, + "hash64": 11375531483559099199 + }, + "BackPowerBase": "220", + "BEID": 62521, + "ID": 122502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 12250201, + 12250202, + 12250203, + 12250204, + 12250205, + 12250206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1225Ultra.png", + "ChargeType": [ + 0 + ], + "TraitList": [ + 100402, + 200502 + ], + "EquipmentID": 23035, + "AvatarID": 1225, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701225, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 122502 + }, + "Price": 1, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1225020204, + 1225020804, + 1225020404 + ], + "BackShowSkillIDList": [ + 1225020204, + 1225020804, + 1225020404 + ], + "SkillOverrideDest": [ + 1225020204, + 1225020404 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Fugue_00_Config.json", + "FrontShowSkillIDList": [ + 1225020204, + 1225020404 + ], + "SkillOverrideSrc": [ + 122502, + 122504 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.9000000008", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Fugue_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Fugue_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663311429, + "hash64": 11141104047236349219 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "280", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 989315013, + "hash64": 9379453349862442736 + }, + "BackPowerBase": "280", + "BEID": 62521, + "ID": 122502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 13040201, + 13040202, + 13040203, + 13040204, + 13040205, + 13040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1304Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100402, + 200102, + 201102 + ], + "EquipmentID": 23023, + "AvatarID": 1304, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701304, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 130402 + }, + "Price": 4, + "MaxStar": 3, + "Star": 1, + "SellPrice": 4, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1304020201, + 1304020401, + 1304029801, + 1304020301, + 1304029901 + ], + "BackShowSkillIDList": [ + 1304020201, + 1304020401, + 1304029801, + 1304020301, + 1304029901 + ], + "SkillOverrideDest": [ + 1304029801, + 1304020301, + 1304020201, + 1304029901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Aventurine_00_Config.json", + "FrontShowSkillIDList": [ + 1304029801, + 1304020301, + 1304020201, + 1304029901 + ], + "SkillOverrideSrc": [ + 0, + 130403, + 130402, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "2", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0.4500000004", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Aventurine_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Aventurine_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "75", + "FrontOneWordDesc": { + "hash": -1905782708, + "hash64": 8812005737674973281 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "175", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 759261782, + "hash64": 12693564599583049798 + }, + "BackPowerBase": "175", + "BEID": 62522, + "ID": 130402, + "BackMaxSP": "0", + "BackEnergyBar": "7", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 13040201, + 13040202, + 13040203, + 13040204, + 13040205, + 13040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1304Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100402, + 200102, + 201102 + ], + "EquipmentID": 23023, + "AvatarID": 1304, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701304, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 130402 + }, + "Price": 4, + "MaxStar": 3, + "Star": 2, + "SellPrice": 11, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1304020202, + 1304020402, + 1304029802, + 1304020302, + 1304029902 + ], + "BackShowSkillIDList": [ + 1304020202, + 1304020402, + 1304029802, + 1304020302, + 1304029902 + ], + "SkillOverrideDest": [ + 1304029802, + 1304020302, + 1304020202, + 1304029902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Aventurine_00_Config.json", + "FrontShowSkillIDList": [ + 1304029802, + 1304020302, + 1304020202, + 1304029902 + ], + "SkillOverrideSrc": [ + 0, + 130403, + 130402, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "2", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0.8850000004", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Aventurine_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Aventurine_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "95", + "FrontOneWordDesc": { + "hash": -1905782705, + "hash64": 17853571619520831994 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "280", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1162546309, + "hash64": 16340728615025112948 + }, + "BackPowerBase": "280", + "BEID": 62522, + "ID": 130402, + "BackMaxSP": "0", + "BackEnergyBar": "7", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 13040201, + 13040202, + 13040203, + 13040204, + 13040205, + 13040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1304Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100402, + 200102, + 201102 + ], + "EquipmentID": 23023, + "AvatarID": 1304, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701304, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 130402 + }, + "Price": 4, + "MaxStar": 3, + "Star": 3, + "SellPrice": 35, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1304020203, + 1304020403, + 1304029803, + 1304020303, + 1304029903 + ], + "BackShowSkillIDList": [ + 1304020203, + 1304020403, + 1304029803, + 1304020303, + 1304029903 + ], + "SkillOverrideDest": [ + 1304029803, + 1304020303, + 1304020203, + 1304029903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Aventurine_00_Config.json", + "FrontShowSkillIDList": [ + 1304029803, + 1304020303, + 1304020203, + 1304029903 + ], + "SkillOverrideSrc": [ + 0, + 130403, + 130402, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "2", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "1.3200000002", + "PropertyType": 1010 + }, + { + "Value": "0.5600000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Aventurine_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Aventurine_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "115", + "FrontOneWordDesc": { + "hash": -1905782706, + "hash64": 12759591957719194595 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "500", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -403537632, + "hash64": 11745464899263497409 + }, + "BackPowerBase": "500", + "BEID": 62522, + "ID": 130402, + "BackMaxSP": "0", + "BackEnergyBar": "7", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100902, + 101002, + 200702 + ], + "EquipmentID": 0, + "AvatarID": 1306, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701306, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 130602 + }, + "Price": 2, + "MaxStar": 4, + "Star": 1, + "SellPrice": 2, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1306020301 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Sparkle_00_Config.json", + "FrontShowSkillIDList": [ + 1306020301 + ], + "SkillOverrideSrc": [ + 1130603 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0.1000000000", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Sparkle_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Sparkle_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905784754, + "hash64": 9543889293029627825 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "125", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62523, + "ID": 130602, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100902, + 101002, + 200702 + ], + "EquipmentID": 0, + "AvatarID": 1306, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701306, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 130602 + }, + "Price": 2, + "MaxStar": 4, + "Star": 2, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1306020302 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Sparkle_00_Config.json", + "FrontShowSkillIDList": [ + 1306020302 + ], + "SkillOverrideSrc": [ + 1130603 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0.3200000002", + "PropertyType": 1010 + }, + { + "Value": "0.2100000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Sparkle_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Sparkle_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905784755, + "hash64": 11669961398061843306 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "175", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62523, + "ID": 130602, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100902, + 101002, + 200702 + ], + "EquipmentID": 0, + "AvatarID": 1306, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701306, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 130602 + }, + "Price": 2, + "MaxStar": 4, + "Star": 3, + "SellPrice": 17, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1306020303 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Sparkle_00_Config.json", + "FrontShowSkillIDList": [ + 1306020303 + ], + "SkillOverrideSrc": [ + 1130603 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0.5400000005", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Sparkle_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Sparkle_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905784756, + "hash64": 5283698617230304311 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "225", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62523, + "ID": 130602, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100902, + 101002, + 200702 + ], + "EquipmentID": 0, + "AvatarID": 1306, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701306, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 130602 + }, + "Price": 2, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1306020304 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Sparkle_00_Config.json", + "FrontShowSkillIDList": [ + 1306020304 + ], + "SkillOverrideSrc": [ + 1130603 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0.7600000007", + "PropertyType": 1010 + }, + { + "Value": "0.4400000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Sparkle_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Sparkle_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905784749, + "hash64": 8810396489165521702 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "275", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62523, + "ID": 130602, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 13070201, + 13070202, + 13070203, + 13070204, + 13070205, + 13070206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 101002, + 200202 + ], + "EquipmentID": 23022, + "AvatarID": 1307, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701307, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 130702 + }, + "Price": 1, + "MaxStar": 4, + "Star": 1, + "SellPrice": 1, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1307020201, + 1307029901, + 1307020401 + ], + "BackShowSkillIDList": [ + 1307020201, + 1307029901, + 1307020401 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0", + "PropertyType": 1010 + }, + { + "Value": "0", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_BlackSwan_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -484607867, + "hash64": 2871248912935416461 + }, + "BackPowerBase": "100", + "BEID": 62524, + "ID": 130702, + "BackMaxSP": "0", + "BackEnergyBar": "5", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 13070201, + 13070202, + 13070203, + 13070204, + 13070205, + 13070206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 101002, + 200202 + ], + "EquipmentID": 23022, + "AvatarID": 1307, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701307, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 130702 + }, + "Price": 1, + "MaxStar": 4, + "Star": 2, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1307020202, + 1307029902, + 1307020402 + ], + "BackShowSkillIDList": [ + 1307020202, + 1307029902, + 1307020402 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_BlackSwan_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -887892394, + "hash64": 5750604086654318875 + }, + "BackPowerBase": "160", + "BEID": 62524, + "ID": 130702, + "BackMaxSP": "0", + "BackEnergyBar": "5", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 13070201, + 13070202, + 13070203, + 13070204, + 13070205, + 13070206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 101002, + 200202 + ], + "EquipmentID": 23022, + "AvatarID": 1307, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701307, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 130702 + }, + "Price": 1, + "MaxStar": 4, + "Star": 3, + "SellPrice": 9, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1307020203, + 1307029903, + 1307020403 + ], + "BackShowSkillIDList": [ + 1307020203, + 1307029903, + 1307020403 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_BlackSwan_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 678191547, + "hash64": 16704780170991632030 + }, + "BackPowerBase": "220", + "BEID": 62524, + "ID": 130702, + "BackMaxSP": "0", + "BackEnergyBar": "5", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 13070201, + 13070202, + 13070203, + 13070204, + 13070205, + 13070206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 101002, + 200202 + ], + "EquipmentID": 23022, + "AvatarID": 1307, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701307, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 130702 + }, + "Price": 1, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1307020204, + 1307029904, + 1307020404 + ], + "BackShowSkillIDList": [ + 1307020204, + 1307029904, + 1307020404 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.9000000008", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_BlackSwan_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "280", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 274907020, + "hash64": 8185113017540324306 + }, + "BackPowerBase": "280", + "BEID": 62524, + "ID": 130702, + "BackMaxSP": "0", + "BackEnergyBar": "5", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 101002, + 200302 + ], + "EquipmentID": 0, + "AvatarID": 1308, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701308, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 130802 + }, + "Price": 4, + "MaxStar": 3, + "Star": 1, + "SellPrice": 4, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1308029901, + 1308029801 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Acheron_00_Config.json", + "FrontShowSkillIDList": [ + 1308029901, + 1308029801 + ], + "SkillOverrideSrc": [ + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "0", + "PropertyType": 1045 + }, + { + "Value": "0.4500000004", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Acheron_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Acheron_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905787064, + "hash64": 10125308359769949037 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "210", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62525, + "ID": 130802, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 101002, + 200302 + ], + "EquipmentID": 0, + "AvatarID": 1308, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701308, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 130802 + }, + "Price": 4, + "MaxStar": 3, + "Star": 2, + "SellPrice": 11, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1308029902, + 1308029802 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Acheron_00_Config.json", + "FrontShowSkillIDList": [ + 1308029902, + 1308029802 + ], + "SkillOverrideSrc": [ + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "0", + "PropertyType": 1045 + }, + { + "Value": "0.8850000004", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Acheron_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Acheron_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905787061, + "hash64": 1591544561340706037 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "420", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62525, + "ID": 130802, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 101002, + 200302 + ], + "EquipmentID": 0, + "AvatarID": 1308, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701308, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 130802 + }, + "Price": 4, + "MaxStar": 3, + "Star": 3, + "SellPrice": 35, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1308029903, + 1308029803 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Acheron_00_Config.json", + "FrontShowSkillIDList": [ + 1308029903, + 1308029803 + ], + "SkillOverrideSrc": [ + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "0", + "PropertyType": 1045 + }, + { + "Value": "1.3200000002", + "PropertyType": 1010 + }, + { + "Value": "0.5600000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Acheron_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Acheron_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905787062, + "hash64": 321907377599515335 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "900", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62525, + "ID": 130802, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 101102, + 200102 + ], + "EquipmentID": 0, + "AvatarID": 1309, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701309, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 130902 + }, + "Price": 2, + "MaxStar": 4, + "Star": 1, + "SellPrice": 2, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1309020201, + 1309020301, + 1309029901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Robin_00_Config.json", + "FrontShowSkillIDList": [ + 1309020201, + 1309020301, + 1309029901 + ], + "SkillOverrideSrc": [ + 130902, + 130903, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "0.1500000001", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Robin_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Robin_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905790263, + "hash64": 11457983573582973711 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "125", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62526, + "ID": 130902, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 101102, + 200102 + ], + "EquipmentID": 0, + "AvatarID": 1309, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701309, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 130902 + }, + "Price": 2, + "MaxStar": 4, + "Star": 2, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1309020202, + 1309020302, + 1309029902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Robin_00_Config.json", + "FrontShowSkillIDList": [ + 1309020202, + 1309020302, + 1309029902 + ], + "SkillOverrideSrc": [ + 130902, + 130903, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "0.4950000001", + "PropertyType": 1010 + }, + { + "Value": "0.2100000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Robin_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Robin_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905790262, + "hash64": 11505378394145089588 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "200", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62526, + "ID": 130902, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 101102, + 200102 + ], + "EquipmentID": 0, + "AvatarID": 1309, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701309, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 130902 + }, + "Price": 2, + "MaxStar": 4, + "Star": 3, + "SellPrice": 17, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1309020203, + 1309020303, + 1309029903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Robin_00_Config.json", + "FrontShowSkillIDList": [ + 1309020203, + 1309020303, + 1309029903 + ], + "SkillOverrideSrc": [ + 130902, + 130903, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "0.8400000007", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Robin_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Robin_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905790261, + "hash64": 8844094172544549360 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "275", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62526, + "ID": 130902, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 101102, + 200102 + ], + "EquipmentID": 0, + "AvatarID": 1309, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701309, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 130902 + }, + "Price": 2, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1309020204, + 1309020304, + 1309029904 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Robin_00_Config.json", + "FrontShowSkillIDList": [ + 1309020204, + 1309020304, + 1309029904 + ], + "SkillOverrideSrc": [ + 130902, + 130903, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "1.1849999998", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Robin_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Robin_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905790268, + "hash64": 12040542854739934300 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "350", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62526, + "ID": 130902, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100802, + 200502 + ], + "EquipmentID": 0, + "AvatarID": 1310, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701310, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 131002 + }, + "Price": 2, + "MaxStar": 4, + "Star": 1, + "SellPrice": 2, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1310029801, + 1310029901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Sam_00_Config.json", + "FrontShowSkillIDList": [ + 1310029801, + 1310029901 + ], + "SkillOverrideSrc": [ + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "120", + "PropertyType": 1045 + }, + { + "Value": "0.1500000001", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Sam_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Sam_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418528821, + "hash64": 2193668908926142547 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "125", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62527, + "ID": 131002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100802, + 200502 + ], + "EquipmentID": 0, + "AvatarID": 1310, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701310, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 131002 + }, + "Price": 2, + "MaxStar": 4, + "Star": 2, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1310029802, + 1310029902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Sam_00_Config.json", + "FrontShowSkillIDList": [ + 1310029802, + 1310029902 + ], + "SkillOverrideSrc": [ + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "120", + "PropertyType": 1045 + }, + { + "Value": "0.4950000001", + "PropertyType": 1010 + }, + { + "Value": "0.2100000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Sam_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Sam_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418528824, + "hash64": 18255604074467057051 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "200", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62527, + "ID": 131002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100802, + 200502 + ], + "EquipmentID": 0, + "AvatarID": 1310, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701310, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 131002 + }, + "Price": 2, + "MaxStar": 4, + "Star": 3, + "SellPrice": 17, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1310029803, + 1310029903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Sam_00_Config.json", + "FrontShowSkillIDList": [ + 1310029803, + 1310029903 + ], + "SkillOverrideSrc": [ + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "120", + "PropertyType": 1045 + }, + { + "Value": "0.8400000007", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Sam_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Sam_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418528823, + "hash64": 11714471890308696670 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "275", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62527, + "ID": 131002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100802, + 200502 + ], + "EquipmentID": 0, + "AvatarID": 1310, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701310, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 131002 + }, + "Price": 2, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1310029804, + 1310029904 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Sam_00_Config.json", + "FrontShowSkillIDList": [ + 1310029804, + 1310029904 + ], + "SkillOverrideSrc": [ + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "120", + "PropertyType": 1045 + }, + { + "Value": "1.1849999998", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Sam_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Sam_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418528818, + "hash64": 13967566665756553034 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "350", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62527, + "ID": 131002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 13130201, + 13130202, + 13130203, + 13130204, + 13130205, + 13130206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1313Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 100502, + 200402 + ], + "EquipmentID": 23034, + "AvatarID": 1313, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701313, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 131302 + }, + "Price": 2, + "MaxStar": 4, + "Star": 1, + "SellPrice": 2, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1313020201, + 1313020301, + 1313020401 + ], + "BackShowSkillIDList": [ + 1313020201, + 1313020301, + 1313020401 + ], + "SkillOverrideDest": [ + 1313020301, + 1313029901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Sunday_10_Config.json", + "FrontShowSkillIDList": [ + 1313020301, + 1313029901 + ], + "SkillOverrideSrc": [ + 131303, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.1500000001", + "PropertyType": 1064 + }, + { + "Value": "0.1500000001", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Sunday_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Sunday_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418523576, + "hash64": 5919804932761592754 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "125", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1938192014, + "hash64": 14847828828254779624 + }, + "BackPowerBase": "125", + "BEID": 62528, + "ID": 131302, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 13130201, + 13130202, + 13130203, + 13130204, + 13130205, + 13130206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1313Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 100502, + 200402 + ], + "EquipmentID": 23034, + "AvatarID": 1313, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701313, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 131302 + }, + "Price": 2, + "MaxStar": 4, + "Star": 2, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1313020202, + 1313020302, + 1313020402 + ], + "BackShowSkillIDList": [ + 1313020202, + 1313020302, + 1313020402 + ], + "SkillOverrideDest": [ + 1313020302, + 1313029902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Sunday_10_Config.json", + "FrontShowSkillIDList": [ + 1313020302, + 1313029902 + ], + "SkillOverrideSrc": [ + 131303, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.2000000001", + "PropertyType": 1064 + }, + { + "Value": "0.4950000001", + "PropertyType": 1010 + }, + { + "Value": "0.2100000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Sunday_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Sunday_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418523573, + "hash64": 2912792614401224728 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "200", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1953490755, + "hash64": 4381266412354990917 + }, + "BackPowerBase": "200", + "BEID": 62528, + "ID": 131302, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 13130201, + 13130202, + 13130203, + 13130204, + 13130205, + 13130206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1313Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 100502, + 200402 + ], + "EquipmentID": 23034, + "AvatarID": 1313, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701313, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 131302 + }, + "Price": 2, + "MaxStar": 4, + "Star": 3, + "SellPrice": 17, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1313020203, + 1313020303, + 1313020403 + ], + "BackShowSkillIDList": [ + 1313020203, + 1313020303, + 1313020403 + ], + "SkillOverrideDest": [ + 1313020303, + 1313029903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Sunday_10_Config.json", + "FrontShowSkillIDList": [ + 1313020303, + 1313029903 + ], + "SkillOverrideSrc": [ + 131303, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1064 + }, + { + "Value": "0.8400000007", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Sunday_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Sunday_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418523574, + "hash64": 10511469811884179228 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "275", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -775392600, + "hash64": 12553288479228501544 + }, + "BackPowerBase": "275", + "BEID": 62528, + "ID": 131302, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 13130201, + 13130202, + 13130203, + 13130204, + 13130205, + 13130206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1313Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 100502, + 200402 + ], + "EquipmentID": 23034, + "AvatarID": 1313, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701313, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 131302 + }, + "Price": 2, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1313020204, + 1313020304, + 1313020404 + ], + "BackShowSkillIDList": [ + 1313020204, + 1313020304, + 1313020404 + ], + "SkillOverrideDest": [ + 1313020304, + 1313029904 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Sunday_10_Config.json", + "FrontShowSkillIDList": [ + 1313020304, + 1313029904 + ], + "SkillOverrideSrc": [ + 131303, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.4000000003", + "PropertyType": 1064 + }, + { + "Value": "1.1849999998", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Sunday_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Sunday_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418523571, + "hash64": 5675379495295357219 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "350", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1534907487, + "hash64": 15531922345241475776 + }, + "BackPowerBase": "350", + "BEID": 62528, + "ID": 131302, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 13140201, + 13140202, + 13140203, + 13140204, + 13140205, + 13140206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1314Ultra.png", + "ChargeType": [ + 2, + 1 + ], + "TraitList": [ + 100602, + 200302, + 300402 + ], + "EquipmentID": 23028, + "AvatarID": 1314, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701314, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 131402 + }, + "Price": 5, + "MaxStar": 3, + "Star": 1, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1314020101, + 1314020201, + 1314020301, + 1314020401 + ], + "BackShowSkillIDList": [ + 1314020101, + 1314020201, + 1314020301, + 1314020401 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.4500000004", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Jade_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 759258583, + "hash64": 1968546587095886576 + }, + "BackPowerBase": "200", + "BEID": 62529, + "ID": 131402, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 13140201, + 13140202, + 13140203, + 13140204, + 13140205, + 13140206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1314Ultra.png", + "ChargeType": [ + 2, + 1 + ], + "TraitList": [ + 100602, + 200302, + 300402 + ], + "EquipmentID": 23028, + "AvatarID": 1314, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701314, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 131402 + }, + "Price": 5, + "MaxStar": 3, + "Star": 2, + "SellPrice": 14, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1314020102, + 1314020202, + 1314020302, + 1314020402 + ], + "BackShowSkillIDList": [ + 1314020102, + 1314020202, + 1314020302, + 1314020402 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.6000000005", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Jade_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1162543110, + "hash64": 13567824674826524813 + }, + "BackPowerBase": "320", + "BEID": 62529, + "ID": 131402, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 13140201, + 13140202, + 13140203, + 13140204, + 13140205, + 13140206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1314Ultra.png", + "ChargeType": [ + 2, + 1 + ], + "TraitList": [ + 100602, + 200302, + 300402 + ], + "EquipmentID": 23028, + "AvatarID": 1314, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701314, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 131402 + }, + "Price": 5, + "MaxStar": 3, + "Star": 3, + "SellPrice": 44, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1314020103, + 1314020203, + 1314020303, + 1314020403 + ], + "BackShowSkillIDList": [ + 1314020103, + 1314020203, + 1314020303, + 1314020403 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "5", + "PropertyType": 1010 + }, + { + "Value": "3", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Jade_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -403540831, + "hash64": 11171202156408426330 + }, + "BackPowerBase": "2000", + "BEID": 62529, + "ID": 131402, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100402, + 200502 + ], + "EquipmentID": 0, + "AvatarID": 1315, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701315, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 131502 + }, + "Price": 1, + "MaxStar": 4, + "Star": 1, + "SellPrice": 1, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1315020401 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Boothill_00_Config.json", + "FrontShowSkillIDList": [ + 1315020401 + ], + "SkillOverrideSrc": [ + 131504 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "57.500000000", + "PropertyType": 1045 + }, + { + "Value": "0", + "PropertyType": 1010 + }, + { + "Value": "0", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Boothill_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Boothill_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418521266, + "hash64": 6481224013149504976 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62530, + "ID": 131502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100402, + 200502 + ], + "EquipmentID": 0, + "AvatarID": 1315, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701315, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 131502 + }, + "Price": 1, + "MaxStar": 4, + "Star": 2, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1315020402 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Boothill_00_Config.json", + "FrontShowSkillIDList": [ + 1315020402 + ], + "SkillOverrideSrc": [ + 131504 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "57.500000000", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Boothill_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Boothill_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418521267, + "hash64": 9110329787203534530 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62530, + "ID": 131502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100402, + 200502 + ], + "EquipmentID": 0, + "AvatarID": 1315, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701315, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 131502 + }, + "Price": 1, + "MaxStar": 4, + "Star": 3, + "SellPrice": 9, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1315020403 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Boothill_00_Config.json", + "FrontShowSkillIDList": [ + 1315020403 + ], + "SkillOverrideSrc": [ + 131504 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "57.500000000", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Boothill_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Boothill_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418521268, + "hash64": 5171512423848168830 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62530, + "ID": 131502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100402, + 200502 + ], + "EquipmentID": 0, + "AvatarID": 1315, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701315, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 131502 + }, + "Price": 1, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1315020404 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Boothill_00_Config.json", + "FrontShowSkillIDList": [ + 1315020404 + ], + "SkillOverrideSrc": [ + 131504 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "57.500000000", + "PropertyType": 1045 + }, + { + "Value": "0.9000000008", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Boothill_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Boothill_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418521269, + "hash64": 6494301747713143709 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "280", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62530, + "ID": 131502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 13170201, + 13170202, + 13170203, + 13170204, + 13170205, + 13170206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0, + 1 + ], + "TraitList": [ + 101102, + 200502 + ], + "EquipmentID": 23033, + "AvatarID": 1317, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701317, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 131702 + }, + "Price": 3, + "MaxStar": 3, + "Star": 1, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1317020801, + 1317021001, + 1317021201, + 1317021801, + 1317020401, + 1317029901 + ], + "BackShowSkillIDList": [ + 1317021801, + 1317020401, + 1317029901 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Rappa_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -484611066, + "hash64": 16739705597525143575 + }, + "BackPowerBase": "150", + "BEID": 62531, + "ID": 131702, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 13170201, + 13170202, + 13170203, + 13170204, + 13170205, + 13170206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0, + 1 + ], + "TraitList": [ + 101102, + 200502 + ], + "EquipmentID": 23033, + "AvatarID": 1317, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701317, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 131702 + }, + "Price": 3, + "MaxStar": 3, + "Star": 2, + "SellPrice": 8, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1317020802, + 1317021002, + 1317021202, + 1317021802, + 1317020402, + 1317029902 + ], + "BackShowSkillIDList": [ + 1317021802, + 1317020402, + 1317029902 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.6900000006", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Rappa_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -887895593, + "hash64": 3142553517491027026 + }, + "BackPowerBase": "240", + "BEID": 62531, + "ID": 131702, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 13170201, + 13170202, + 13170203, + 13170204, + 13170205, + 13170206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0, + 1 + ], + "TraitList": [ + 101102, + 200502 + ], + "EquipmentID": 23033, + "AvatarID": 1317, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701317, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 131702 + }, + "Price": 3, + "MaxStar": 3, + "Star": 3, + "SellPrice": 26, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1317020803, + 1317021003, + 1317021203, + 1317021803, + 1317020403, + 1317029903 + ], + "BackShowSkillIDList": [ + 1317021803, + 1317020403, + 1317029903 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.7500000006", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.4400000004", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Rappa_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 678188348, + "hash64": 12921632085800162696 + }, + "BackPowerBase": "330", + "BEID": 62531, + "ID": 131702, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 13210201, + 13210202, + 13210203, + 13210204, + 13210205, + 13210206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1321Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 101002, + 200502 + ], + "EquipmentID": 23050, + "AvatarID": 1321, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701321, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 132102 + }, + "Price": 3, + "MaxStar": 3, + "Star": 1, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1321020201, + 1321020301, + 1321020401 + ], + "BackShowSkillIDList": [ + 1321020201, + 1321020301, + 1321020401 + ], + "SkillOverrideDest": [ + 1321020401 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Constance_00_Config.json", + "FrontShowSkillIDList": [ + 1321020401 + ], + "SkillOverrideSrc": [ + 132104 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Constance_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Constance_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663203557, + "hash64": 14875982737455610105 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "150", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1776046171, + "hash64": 17367027852100322565 + }, + "BackPowerBase": "150", + "BEID": 62532, + "ID": 132102, + "BackMaxSP": "130", + "BackEnergyBar": "0", + "BackInitialSP": "65" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 13210201, + 13210202, + 13210203, + 13210204, + 13210205, + 13210206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1321Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 101002, + 200502 + ], + "EquipmentID": 23050, + "AvatarID": 1321, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701321, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 132102 + }, + "Price": 3, + "MaxStar": 3, + "Star": 2, + "SellPrice": 8, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1321020202, + 1321020302, + 1321020402 + ], + "BackShowSkillIDList": [ + 1321020202, + 1321020302, + 1321020402 + ], + "SkillOverrideDest": [ + 1321020402 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Constance_00_Config.json", + "FrontShowSkillIDList": [ + 1321020402 + ], + "SkillOverrideSrc": [ + 132104 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.6900000006", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Constance_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Constance_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663203556, + "hash64": 14585169068190389727 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "240", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -209962230, + "hash64": 2810606116004370767 + }, + "BackPowerBase": "240", + "BEID": 62532, + "ID": 132102, + "BackMaxSP": "130", + "BackEnergyBar": "0", + "BackInitialSP": "65" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 13210201, + 13210202, + 13210203, + 13210204, + 13210205, + 13210206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1321Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 101002, + 200502 + ], + "EquipmentID": 23050, + "AvatarID": 1321, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701321, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 132102 + }, + "Price": 3, + "MaxStar": 3, + "Star": 3, + "SellPrice": 26, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1321020203, + 1321020303, + 1321020403 + ], + "BackShowSkillIDList": [ + 1321020203, + 1321020303, + 1321020403 + ], + "SkillOverrideDest": [ + 1321020403 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Constance_00_Config.json", + "FrontShowSkillIDList": [ + 1321020403 + ], + "SkillOverrideSrc": [ + 132104 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.4400000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Constance_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Constance_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -663203555, + "hash64": 12495621504588859126 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "330", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1356121711, + "hash64": 4856309295764922281 + }, + "BackPowerBase": "330", + "BEID": 62532, + "ID": 132102, + "BackMaxSP": "130", + "BackEnergyBar": "0", + "BackInitialSP": "65" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100402, + 200302 + ], + "EquipmentID": 0, + "AvatarID": 1401, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701401, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 140102 + }, + "Price": 2, + "MaxStar": 4, + "Star": 1, + "SellPrice": 2, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1401029901, + 1401020401 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_TheHerta_00_Config.json", + "FrontShowSkillIDList": [ + 1401029901, + 1401020401 + ], + "SkillOverrideSrc": [ + 0, + 140104 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "110", + "PropertyType": 1045 + }, + { + "Value": "0.1500000001", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_TheHerta_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_TheHerta_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906100562, + "hash64": 5205564565761768886 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "125", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62533, + "ID": 140102, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100402, + 200302 + ], + "EquipmentID": 0, + "AvatarID": 1401, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701401, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 140102 + }, + "Price": 2, + "MaxStar": 4, + "Star": 2, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1401029902, + 1401020402 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_TheHerta_00_Config.json", + "FrontShowSkillIDList": [ + 1401029902, + 1401020402 + ], + "SkillOverrideSrc": [ + 0, + 140104 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "110", + "PropertyType": 1045 + }, + { + "Value": "0.4950000001", + "PropertyType": 1010 + }, + { + "Value": "0.2100000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_TheHerta_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_TheHerta_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906100563, + "hash64": 10174447363512696472 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "200", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62533, + "ID": 140102, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100402, + 200302 + ], + "EquipmentID": 0, + "AvatarID": 1401, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701401, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 140102 + }, + "Price": 2, + "MaxStar": 4, + "Star": 3, + "SellPrice": 17, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1401029903, + 1401020403 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_TheHerta_00_Config.json", + "FrontShowSkillIDList": [ + 1401029903, + 1401020403 + ], + "SkillOverrideSrc": [ + 0, + 140104 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "110", + "PropertyType": 1045 + }, + { + "Value": "0.8400000007", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_TheHerta_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_TheHerta_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906100564, + "hash64": 9816409391018874252 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "275", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62533, + "ID": 140102, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100402, + 200302 + ], + "EquipmentID": 0, + "AvatarID": 1401, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701401, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 140102 + }, + "Price": 2, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1401029904, + 1401020404 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_TheHerta_00_Config.json", + "FrontShowSkillIDList": [ + 1401029904, + 1401020404 + ], + "SkillOverrideSrc": [ + 0, + 140104 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "110", + "PropertyType": 1045 + }, + { + "Value": "1.1849999998", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_TheHerta_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_TheHerta_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906100557, + "hash64": 3022687969533579474 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "350", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62533, + "ID": 140102, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100202, + 200402 + ], + "EquipmentID": 0, + "AvatarID": 1402, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701402, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 140202 + }, + "Price": 5, + "MaxStar": 3, + "Star": 1, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1402029901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Aglaea_00_Config.json", + "FrontShowSkillIDList": [ + 1402029901 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "330", + "PropertyType": 1045 + }, + { + "Value": "0.2500000002", + "PropertyType": 1064 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.4500000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Aglaea_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Aglaea_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906097491, + "hash64": 15458367767246755698 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "200", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62534, + "ID": 140202, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": { + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_AglaeaServant_00_Config.json", + "HPBase": "#6", + "SpeedInherit": "#4", + "HPInherit": "#5", + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/3.5/Avatar_GridFight_AglaeaServant_00_ComplexSkillAI.json", + "ServantShowSkiilIDList": [], + "SkillOverrideSrc": [ + 1140203 + ], + "SkillOverrideDest": [ + 114020231 + ], + "SpeedBase": "0", + "SpeedSkill": 140204, + "Star": 1, + "ServantID": 1140202, + "HPSkill": 140204, + "ID": 140202, + "Aggro": "0" + } + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100202, + 200402 + ], + "EquipmentID": 0, + "AvatarID": 1402, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701402, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 140202 + }, + "Price": 5, + "MaxStar": 3, + "Star": 2, + "SellPrice": 14, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1402029902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Aglaea_00_Config.json", + "FrontShowSkillIDList": [ + 1402029902 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "330", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1064 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.6000000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Aglaea_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Aglaea_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906097490, + "hash64": 74511597863509485 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "320", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62534, + "ID": 140202, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": { + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_AglaeaServant_00_Config.json", + "HPBase": "#6", + "SpeedInherit": "#4", + "HPInherit": "#5", + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/3.5/Avatar_GridFight_AglaeaServant_00_ComplexSkillAI.json", + "ServantShowSkiilIDList": [], + "SkillOverrideSrc": [ + 1140203 + ], + "SkillOverrideDest": [ + 114020232 + ], + "SpeedBase": "0", + "SpeedSkill": 140204, + "Star": 2, + "ServantID": 1140202, + "HPSkill": 140204, + "ID": 140202, + "Aggro": "0" + }, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100202, + 200402 + ], + "EquipmentID": 0, + "AvatarID": 1402, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701402, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 140202 + }, + "Price": 5, + "MaxStar": 3, + "Star": 3, + "SellPrice": 44, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1402029903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Aglaea_00_Config.json", + "FrontShowSkillIDList": [ + 1402029903 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "330", + "PropertyType": 1045 + }, + { + "Value": "0.5000000004", + "PropertyType": 1064 + }, + { + "Value": "5", + "PropertyType": 1010 + }, + { + "Value": "3", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Aglaea_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Aglaea_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906097489, + "hash64": 293706811386940454 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "2000", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62534, + "ID": 140202, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": { + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_AglaeaServant_00_Config.json", + "HPBase": "#6", + "SpeedInherit": "#4", + "HPInherit": "#5", + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/3.5/Avatar_GridFight_AglaeaServant_00_ComplexSkillAI.json", + "ServantShowSkiilIDList": [], + "SkillOverrideSrc": [ + 1140203 + ], + "SkillOverrideDest": [ + 114020233 + ], + "SpeedBase": "0", + "SpeedSkill": 140204, + "Star": 3, + "ServantID": 1140202, + "HPSkill": 140204, + "ID": 140202, + "Aggro": "0" + }, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14030201, + 14030202, + 14030203, + 14030204, + 14030205, + 14030206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1403Ultra.png", + "ChargeType": [ + 2 + ], + "TraitList": [ + 100902, + 200102 + ], + "EquipmentID": 23038, + "AvatarID": 1403, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701403, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140302 + }, + "Price": 4, + "MaxStar": 3, + "Star": 1, + "SellPrice": 4, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1403020201, + 1403020301, + 1403020401, + 1403029901 + ], + "BackShowSkillIDList": [ + 1403020201, + 1403020301, + 1403020401, + 1403029901 + ], + "SkillOverrideDest": [ + 1403020201, + 1403020401, + 1403029901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Tribbie_00_Config.json", + "FrontShowSkillIDList": [ + 1403020201, + 1403020401, + 1403029901 + ], + "SkillOverrideSrc": [ + 140302, + 140304, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Tribbie_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Tribbie_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906098516, + "hash64": 122641499017114582 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "175", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1119911242, + "hash64": 13169248806630978322 + }, + "BackPowerBase": "175", + "BEID": 62535, + "ID": 140302, + "BackMaxSP": "120", + "BackEnergyBar": "0", + "BackInitialSP": "90" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 14030201, + 14030202, + 14030203, + 14030204, + 14030205, + 14030206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1403Ultra.png", + "ChargeType": [ + 2 + ], + "TraitList": [ + 100902, + 200102 + ], + "EquipmentID": 23038, + "AvatarID": 1403, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701403, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140302 + }, + "Price": 4, + "MaxStar": 3, + "Star": 2, + "SellPrice": 11, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1403020202, + 1403020302, + 1403020402, + 1403029902 + ], + "BackShowSkillIDList": [ + 1403020202, + 1403020302, + 1403020402, + 1403029902 + ], + "SkillOverrideDest": [ + 1403020202, + 1403020402, + 1403029902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Tribbie_00_Config.json", + "FrontShowSkillIDList": [ + 1403020202, + 1403020402, + 1403029902 + ], + "SkillOverrideSrc": [ + 140302, + 140304, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.5600000005", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Tribbie_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Tribbie_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906098513, + "hash64": 9814567752915570748 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "245", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -716626715, + "hash64": 6415132935901363670 + }, + "BackPowerBase": "245", + "BEID": 62535, + "ID": 140302, + "BackMaxSP": "120", + "BackEnergyBar": "0", + "BackInitialSP": "90" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14030201, + 14030202, + 14030203, + 14030204, + 14030205, + 14030206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1403Ultra.png", + "ChargeType": [ + 2 + ], + "TraitList": [ + 100902, + 200102 + ], + "EquipmentID": 23038, + "AvatarID": 1403, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701403, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140302 + }, + "Price": 4, + "MaxStar": 3, + "Star": 3, + "SellPrice": 35, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1403020203, + 1403020303, + 1403020403, + 1403029903 + ], + "BackShowSkillIDList": [ + 1403020203, + 1403020303, + 1403020403, + 1403029903 + ], + "SkillOverrideDest": [ + 1403020203, + 1403020403, + 1403029903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Tribbie_00_Config.json", + "FrontShowSkillIDList": [ + 1403020203, + 1403020403, + 1403029903 + ], + "SkillOverrideSrc": [ + 140302, + 140304, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.8200000007", + "PropertyType": 1010 + }, + { + "Value": "0.5600000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Tribbie_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Tribbie_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906098514, + "hash64": 11069772433184853437 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "400", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 2012256640, + "hash64": 10878480296248207117 + }, + "BackPowerBase": "400", + "BEID": 62535, + "ID": 140302, + "BackMaxSP": "120", + "BackEnergyBar": "0", + "BackInitialSP": "90" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14040201, + 14040202, + 14040203, + 14040204, + 14040205, + 14040206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 3, + 1 + ], + "TraitList": [ + 100202, + 101202, + 200802 + ], + "EquipmentID": 23039, + "AvatarID": 1404, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701404, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140402 + }, + "Price": 2, + "MaxStar": 4, + "Star": 1, + "SellPrice": 2, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1404020901, + 1404021101, + 1404020401, + 1404029901 + ], + "BackShowSkillIDList": [ + 1404020901, + 1404021101, + 1404020401, + 1404029901 + ], + "SkillOverrideDest": [ + 1404029901, + 1404029801 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Mydeimos_00_Config.json", + "FrontShowSkillIDList": [ + 1404029901, + 1404029801 + ], + "SkillOverrideSrc": [ + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "0.1000000000", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Mydeimos_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Mydeimos_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906095181, + "hash64": 8550944383281677561 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "125", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -411325487, + "hash64": 13446128567290576651 + }, + "BackPowerBase": "125", + "BEID": 62536, + "ID": 140402, + "BackMaxSP": "0", + "BackEnergyBar": "150", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 14040201, + 14040202, + 14040203, + 14040204, + 14040205, + 14040206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 3, + 1 + ], + "TraitList": [ + 100202, + 101202, + 200802 + ], + "EquipmentID": 23039, + "AvatarID": 1404, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701404, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140402 + }, + "Price": 2, + "MaxStar": 4, + "Star": 2, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1404020902, + 1404021102, + 1404020402, + 1404029902 + ], + "BackShowSkillIDList": [ + 1404020902, + 1404021102, + 1404020402, + 1404029902 + ], + "SkillOverrideDest": [ + 1404029902, + 1404029802 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Mydeimos_00_Config.json", + "FrontShowSkillIDList": [ + 1404029902, + 1404029802 + ], + "SkillOverrideSrc": [ + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "0.3200000002", + "PropertyType": 1010 + }, + { + "Value": "0.2100000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Mydeimos_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Mydeimos_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906095184, + "hash64": 12540916154947712228 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "175", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -814610014, + "hash64": 18112983875745203462 + }, + "BackPowerBase": "175", + "BEID": 62536, + "ID": 140402, + "BackMaxSP": "0", + "BackEnergyBar": "150", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14040201, + 14040202, + 14040203, + 14040204, + 14040205, + 14040206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 3, + 1 + ], + "TraitList": [ + 100202, + 101202, + 200802 + ], + "EquipmentID": 23039, + "AvatarID": 1404, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701404, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140402 + }, + "Price": 2, + "MaxStar": 4, + "Star": 3, + "SellPrice": 17, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1404020903, + 1404021103, + 1404020403, + 1404029903 + ], + "BackShowSkillIDList": [ + 1404020903, + 1404021103, + 1404020403, + 1404029903 + ], + "SkillOverrideDest": [ + 1404029903, + 1404029803 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Mydeimos_00_Config.json", + "FrontShowSkillIDList": [ + 1404029903, + 1404029803 + ], + "SkillOverrideSrc": [ + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "0.5400000005", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Mydeimos_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Mydeimos_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906095183, + "hash64": 7007109162454489396 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "225", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 751473927, + "hash64": 7583277940385520769 + }, + "BackPowerBase": "225", + "BEID": 62536, + "ID": 140402, + "BackMaxSP": "0", + "BackEnergyBar": "150", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14040201, + 14040202, + 14040203, + 14040204, + 14040205, + 14040206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 3, + 1 + ], + "TraitList": [ + 100202, + 101202, + 200802 + ], + "EquipmentID": 23039, + "AvatarID": 1404, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701404, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140402 + }, + "Price": 2, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1404020904, + 1404021104, + 1404020404, + 1404029904 + ], + "BackShowSkillIDList": [ + 1404020904, + 1404021104, + 1404020404, + 1404029904 + ], + "SkillOverrideDest": [ + 1404029904, + 1404029804 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Mydeimos_00_Config.json", + "FrontShowSkillIDList": [ + 1404029904, + 1404029804 + ], + "SkillOverrideSrc": [ + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "0.7600000007", + "PropertyType": 1010 + }, + { + "Value": "0.4400000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Mydeimos_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Mydeimos_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906095186, + "hash64": 13182940196493050854 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "275", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -8040960, + "hash64": 6617052683350767620 + }, + "BackPowerBase": "275", + "BEID": 62536, + "ID": 140402, + "BackMaxSP": "0", + "BackEnergyBar": "150", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100202, + 200402 + ], + "EquipmentID": 0, + "AvatarID": 1405, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701405, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 140502 + }, + "Price": 1, + "MaxStar": 4, + "Star": 1, + "SellPrice": 1, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1405029901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Anaxa_00_Config.json", + "FrontShowSkillIDList": [ + 1405029901 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.2000000001", + "PropertyType": 1064 + }, + { + "Value": "0", + "PropertyType": 1010 + }, + { + "Value": "0", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Anaxa_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Anaxa_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906096206, + "hash64": 4548356278674566311 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62537, + "ID": 140502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100202, + 200402 + ], + "EquipmentID": 0, + "AvatarID": 1405, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701405, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 140502 + }, + "Price": 1, + "MaxStar": 4, + "Star": 2, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1405029902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Anaxa_00_Config.json", + "FrontShowSkillIDList": [ + 1405029902 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.2500000002", + "PropertyType": 1064 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Anaxa_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Anaxa_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906096207, + "hash64": 12022940290251368230 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62537, + "ID": 140502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100202, + 200402 + ], + "EquipmentID": 0, + "AvatarID": 1405, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701405, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 140502 + }, + "Price": 1, + "MaxStar": 4, + "Star": 3, + "SellPrice": 9, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1405029903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Anaxa_00_Config.json", + "FrontShowSkillIDList": [ + 1405029903 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.3500000003", + "PropertyType": 1064 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Anaxa_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Anaxa_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906096208, + "hash64": 14420932990534686908 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62537, + "ID": 140502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100202, + 200402 + ], + "EquipmentID": 0, + "AvatarID": 1405, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701405, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 140502 + }, + "Price": 1, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1405029904 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Anaxa_00_Config.json", + "FrontShowSkillIDList": [ + 1405029904 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.4500000004", + "PropertyType": 1064 + }, + { + "Value": "0.9000000008", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Anaxa_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Anaxa_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906096209, + "hash64": 7125539445426736309 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "280", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62537, + "ID": 140502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 14060201, + 14060202, + 14060203, + 14060204, + 14060205, + 14060206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1406Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100202, + 200302 + ], + "EquipmentID": 23043, + "AvatarID": 1406, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701406, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 140602 + }, + "Price": 3, + "MaxStar": 3, + "Star": 1, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1406020201, + 1406020301, + 1406020401, + 1406029901 + ], + "BackShowSkillIDList": [ + 1406020201, + 1406020301, + 1406020401, + 1406029901 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Cipher_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -249185017, + "hash64": 2382687899699033595 + }, + "BackPowerBase": "150", + "BEID": 62538, + "ID": 140602, + "BackMaxSP": "130", + "BackEnergyBar": "0", + "BackInitialSP": "65" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 14060201, + 14060202, + 14060203, + 14060204, + 14060205, + 14060206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1406Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100202, + 200302 + ], + "EquipmentID": 23043, + "AvatarID": 1406, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701406, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 140602 + }, + "Price": 3, + "MaxStar": 3, + "Star": 2, + "SellPrice": 8, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1406020202, + 1406020302, + 1406020402, + 1406029902 + ], + "BackShowSkillIDList": [ + 1406020202, + 1406020302, + 1406020402, + 1406029902 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.6900000006", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Cipher_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1316898924, + "hash64": 1567932384403501030 + }, + "BackPowerBase": "240", + "BEID": 62538, + "ID": 140602, + "BackMaxSP": "130", + "BackEnergyBar": "0", + "BackInitialSP": "65" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14060201, + 14060202, + 14060203, + 14060204, + 14060205, + 14060206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1406Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100202, + 200302 + ], + "EquipmentID": 23043, + "AvatarID": 1406, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701406, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 140602 + }, + "Price": 3, + "MaxStar": 3, + "Star": 3, + "SellPrice": 26, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1406020203, + 1406020303, + 1406020403, + 1406029903 + ], + "BackShowSkillIDList": [ + 1406020203, + 1406020303, + 1406020403, + 1406029903 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.4400000004", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Cipher_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1411984431, + "hash64": 15044324523213159019 + }, + "BackPowerBase": "330", + "BEID": 62538, + "ID": 140602, + "BackMaxSP": "130", + "BackEnergyBar": "0", + "BackInitialSP": "65" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14070201, + 14070202, + 14070203, + 14070204, + 14070205, + 14070206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 3 + ], + "TraitList": [ + 101202, + 200602 + ], + "EquipmentID": 23040, + "AvatarID": 1407, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701407, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140702 + }, + "Price": 3, + "MaxStar": 3, + "Star": 1, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1407020401, + 1407020201, + 1407029901, + 1407020301, + 1407020601 + ], + "BackShowSkillIDList": [ + 1407020401, + 1407020201, + 1407029901, + 1407020301, + 1407020601 + ], + "SkillOverrideDest": [ + 1407020201, + 1407020901, + 1407029901, + 1407020401 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Castorice_00_Config.json", + "FrontShowSkillIDList": [ + 1407020201, + 1407020901, + 1407029901, + 1407020401 + ], + "SkillOverrideSrc": [ + 140702, + 140709, + 0, + 140704 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "0", + "PropertyType": 1045 + }, + { + "Value": "0.2000000001", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Castorice_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Castorice_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "60000", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906094160, + "hash64": 12548554970906787192 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "150", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1721475106, + "hash64": 5014646109862149530 + }, + "BackPowerBase": "150", + "BEID": 62539, + "ID": 140702, + "BackMaxSP": "0", + "BackEnergyBar": "120000", + "BackInitialSP": "0" + }, + "ServantStarConfig": { + "JsonOverrideConfig": "", + "HPBase": "0", + "SpeedInherit": "0", + "HPInherit": "0", + "AIPath": "", + "ServantShowSkiilIDList": [], + "SkillOverrideSrc": [], + "SkillOverrideDest": [], + "SpeedBase": "#1", + "SpeedSkill": 140703, + "Star": 1, + "ServantID": 1140702, + "HPSkill": 0, + "ID": 140702, + "Aggro": "0" + } + }, + { + "Config": { + "BackendRankList": [ + 14070201, + 14070202, + 14070203, + 14070204, + 14070205, + 14070206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 3 + ], + "TraitList": [ + 101202, + 200602 + ], + "EquipmentID": 23040, + "AvatarID": 1407, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701407, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140702 + }, + "Price": 3, + "MaxStar": 3, + "Star": 2, + "SellPrice": 8, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1407020402, + 1407020202, + 1407029902, + 1407020302, + 1407020602 + ], + "BackShowSkillIDList": [ + 1407020402, + 1407020202, + 1407029902, + 1407020302, + 1407020602 + ], + "SkillOverrideDest": [ + 1407020202, + 1407020902, + 1407029902, + 1407020402 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Castorice_00_Config.json", + "FrontShowSkillIDList": [ + 1407020202, + 1407020902, + 1407029902, + 1407020402 + ], + "SkillOverrideSrc": [ + 140702, + 140709, + 0, + 140704 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "0", + "PropertyType": 1045 + }, + { + "Value": "0.4400000004", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Castorice_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Castorice_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "60000", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906094157, + "hash64": 16643034609403143575 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "210", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 2124759633, + "hash64": 319277149217714411 + }, + "BackPowerBase": "210", + "BEID": 62539, + "ID": 140702, + "BackMaxSP": "0", + "BackEnergyBar": "120000", + "BackInitialSP": "0" + }, + "ServantStarConfig": { + "JsonOverrideConfig": "", + "HPBase": "0", + "SpeedInherit": "0", + "HPInherit": "0", + "AIPath": "", + "ServantShowSkiilIDList": [], + "SkillOverrideSrc": [], + "SkillOverrideDest": [], + "SpeedBase": "#1", + "SpeedSkill": 140703, + "Star": 2, + "ServantID": 1140702, + "HPSkill": 0, + "ID": 140702, + "Aggro": "0" + }, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14070201, + 14070202, + 14070203, + 14070204, + 14070205, + 14070206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 3 + ], + "TraitList": [ + 101202, + 200602 + ], + "EquipmentID": 23040, + "AvatarID": 1407, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701407, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140702 + }, + "Price": 3, + "MaxStar": 3, + "Star": 3, + "SellPrice": 26, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1407020403, + 1407020203, + 1407029903, + 1407020303, + 1407020603 + ], + "BackShowSkillIDList": [ + 1407020403, + 1407020203, + 1407029903, + 1407020303, + 1407020603 + ], + "SkillOverrideDest": [ + 1407020203, + 1407020903, + 1407029903, + 1407020403 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Castorice_00_Config.json", + "FrontShowSkillIDList": [ + 1407020203, + 1407020903, + 1407029903, + 1407020403 + ], + "SkillOverrideSrc": [ + 140702, + 140709, + 0, + 140704 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "0", + "PropertyType": 1045 + }, + { + "Value": "0.6800000006", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Castorice_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Castorice_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "60000", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906094158, + "hash64": 18140117037421745759 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "270", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 558675692, + "hash64": 7349430893694913587 + }, + "BackPowerBase": "270", + "BEID": 62539, + "ID": 140702, + "BackMaxSP": "0", + "BackEnergyBar": "120000", + "BackInitialSP": "0" + }, + "ServantStarConfig": { + "JsonOverrideConfig": "", + "HPBase": "0", + "SpeedInherit": "0", + "HPInherit": "0", + "AIPath": "", + "ServantShowSkiilIDList": [], + "SkillOverrideSrc": [], + "SkillOverrideDest": [], + "SpeedBase": "#1", + "SpeedSkill": 140703, + "Star": 3, + "ServantID": 1140702, + "HPSkill": 0, + "ID": 140702, + "Aggro": "0" + }, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14080201, + 14080202, + 14080203, + 14080204, + 14080205, + 14080206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 101202, + 300202 + ], + "EquipmentID": 23044, + "AvatarID": 1408, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701408, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140802 + }, + "Price": 5, + "MaxStar": 4, + "Star": 1, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1408029901, + 1408021101 + ], + "BackShowSkillIDList": [ + 1408029901, + 1408021101 + ], + "SkillOverrideDest": [ + 1408029901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Phainon_00_Config.json", + "FrontShowSkillIDList": [ + 1408029901 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "0", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.4500000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Phainon_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Phainon_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906108249, + "hash64": 3053096190514622120 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "200", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1864906435, + "hash64": 2633593293544600927 + }, + "BackPowerBase": "200", + "BEID": 62540, + "ID": 140802, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 14080201, + 14080202, + 14080203, + 14080204, + 14080205, + 14080206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 101202, + 300202 + ], + "EquipmentID": 23044, + "AvatarID": 1408, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701408, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140802 + }, + "Price": 5, + "MaxStar": 4, + "Star": 2, + "SellPrice": 14, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1408029902, + 1408021102 + ], + "BackShowSkillIDList": [ + 1408029902, + 1408021102 + ], + "SkillOverrideDest": [ + 1408029902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Phainon_00_Config.json", + "FrontShowSkillIDList": [ + 1408029902 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "0", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.6000000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Phainon_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Phainon_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906108252, + "hash64": 6451240895667290311 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "320", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 2026776334, + "hash64": 12707626948947984364 + }, + "BackPowerBase": "320", + "BEID": 62540, + "ID": 140802, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14080201, + 14080202, + 14080203, + 14080204, + 14080205, + 14080206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 101202, + 300202 + ], + "EquipmentID": 23044, + "AvatarID": 1408, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701408, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140802 + }, + "Price": 5, + "MaxStar": 4, + "Star": 3, + "SellPrice": 44, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1408029903, + 1408021103 + ], + "BackShowSkillIDList": [ + 1408029903, + 1408021103 + ], + "SkillOverrideDest": [ + 1408029903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Phainon_00_Config.json", + "FrontShowSkillIDList": [ + 1408029903 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "0", + "PropertyType": 1045 + }, + { + "Value": "5", + "PropertyType": 1010 + }, + { + "Value": "3", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Phainon_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Phainon_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906108251, + "hash64": 15599981270882792152 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "2000", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -702107021, + "hash64": 12475687094809973394 + }, + "BackPowerBase": "2000", + "BEID": 62540, + "ID": 140802, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14080201, + 14080202, + 14080203, + 14080204, + 14080205, + 14080206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 0 + ], + "TraitList": [ + 101202, + 300202 + ], + "EquipmentID": 23044, + "AvatarID": 1408, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701408, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140802 + }, + "Price": 5, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1408029904, + 1408021104 + ], + "BackShowSkillIDList": [ + 1408029904, + 1408021104 + ], + "SkillOverrideDest": [ + 1408029904 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Phainon_00_Config.json", + "FrontShowSkillIDList": [ + 1408029904 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "0", + "PropertyType": 1045 + }, + { + "Value": "10", + "PropertyType": 1010 + }, + { + "Value": "5", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Phainon_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Phainon_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906108246, + "hash64": 14130000475061217784 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "10000", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1105391548, + "hash64": 11800142151083870030 + }, + "BackPowerBase": "10000", + "BEID": 62540, + "ID": 140802, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 14090201, + 14090202, + 14090203, + 14090204, + 14090205, + 14090206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1409Ultra.png", + "ChargeType": [ + 2, + 0, + 1 + ], + "TraitList": [ + 100202, + 200602, + 201002 + ], + "EquipmentID": 23042, + "AvatarID": 1409, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701409, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140902 + }, + "Price": 4, + "MaxStar": 3, + "Star": 1, + "SellPrice": 4, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1409029901, + 1409029801, + 1409020101, + 1140902031, + 1409020201, + 1409020301, + 1409029701, + 1409020401 + ], + "BackShowSkillIDList": [ + 1409029901, + 1409029801, + 1409020101, + 1140902031, + 1409020201, + 1409020301, + 1409029701, + 1409020401 + ], + "SkillOverrideDest": [ + 1409029901, + 1409029801, + 1409029701 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Hyacine_00_Config.json", + "FrontShowSkillIDList": [ + 1409029901, + 1409029801, + 1409029701 + ], + "SkillOverrideSrc": [ + 0, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Hyacine_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Hyacine_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "2", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906109274, + "hash64": 9550792553243649224 + }, + "ExtraHealBase": "75", + "FrontPowerBase": "175", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 105753688, + "hash64": 17795877570566057639 + }, + "BackPowerBase": "175", + "BEID": 62541, + "ID": 140902, + "BackMaxSP": "140", + "BackEnergyBar": "4", + "BackInitialSP": "70" + }, + "ServantStarConfig": { + "JsonOverrideConfig": "", + "HPBase": "0", + "SpeedInherit": "0", + "HPInherit": "#1", + "AIPath": "", + "ServantShowSkiilIDList": [], + "SkillOverrideSrc": [], + "SkillOverrideDest": [], + "SpeedBase": "0", + "SpeedSkill": 140904, + "Star": 1, + "ServantID": 1140902, + "HPSkill": 140904, + "ID": 140902, + "Aggro": "0" + } + }, + { + "Config": { + "BackendRankList": [ + 14090201, + 14090202, + 14090203, + 14090204, + 14090205, + 14090206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1409Ultra.png", + "ChargeType": [ + 2, + 0, + 1 + ], + "TraitList": [ + 100202, + 200602, + 201002 + ], + "EquipmentID": 23042, + "AvatarID": 1409, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701409, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140902 + }, + "Price": 4, + "MaxStar": 3, + "Star": 2, + "SellPrice": 11, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1409029902, + 1409029802, + 1409020102, + 1140902032, + 1409020202, + 1409020302, + 1409029702, + 1409020402 + ], + "BackShowSkillIDList": [ + 1409029902, + 1409029802, + 1409020102, + 1140902032, + 1409020202, + 1409020302, + 1409029702, + 1409020402 + ], + "SkillOverrideDest": [ + 1409029902, + 1409029802, + 1409029702 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Hyacine_00_Config.json", + "FrontShowSkillIDList": [ + 1409029902, + 1409029802, + 1409029702 + ], + "SkillOverrideSrc": [ + 0, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.5600000005", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Hyacine_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Hyacine_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "2", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906109275, + "hash64": 2197877996143056998 + }, + "ExtraHealBase": "85", + "FrontPowerBase": "245", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1460330253, + "hash64": 8601295036896609254 + }, + "BackPowerBase": "245", + "BEID": 62541, + "ID": 140902, + "BackMaxSP": "140", + "BackEnergyBar": "4", + "BackInitialSP": "70" + }, + "ServantStarConfig": { + "JsonOverrideConfig": "", + "HPBase": "0", + "SpeedInherit": "0", + "HPInherit": "#1", + "AIPath": "", + "ServantShowSkiilIDList": [], + "SkillOverrideSrc": [], + "SkillOverrideDest": [], + "SpeedBase": "0", + "SpeedSkill": 140904, + "Star": 2, + "ServantID": 1140902, + "HPSkill": 140904, + "ID": 140902, + "Aggro": "0" + }, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14090201, + 14090202, + 14090203, + 14090204, + 14090205, + 14090206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1409Ultra.png", + "ChargeType": [ + 2, + 0, + 1 + ], + "TraitList": [ + 100202, + 200602, + 201002 + ], + "EquipmentID": 23042, + "AvatarID": 1409, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701409, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 140902 + }, + "Price": 4, + "MaxStar": 3, + "Star": 3, + "SellPrice": 35, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1409029903, + 1409029803, + 1409020103, + 1140902033, + 1409020203, + 1409020303, + 1409029703, + 1409020403 + ], + "BackShowSkillIDList": [ + 1409029903, + 1409029803, + 1409020103, + 1140902033, + 1409020203, + 1409020303, + 1409029703, + 1409020403 + ], + "SkillOverrideDest": [ + 1409029903, + 1409029803, + 1409029703 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Hyacine_00_Config.json", + "FrontShowSkillIDList": [ + 1409029903, + 1409029803, + 1409029703 + ], + "SkillOverrideSrc": [ + 0, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.8200000007", + "PropertyType": 1010 + }, + { + "Value": "0.5600000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Hyacine_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Hyacine_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "2", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1906109276, + "hash64": 4923192364995367516 + }, + "ExtraHealBase": "95", + "FrontPowerBase": "400", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1268553102, + "hash64": 1962470506033407688 + }, + "BackPowerBase": "400", + "BEID": 62541, + "ID": 140902, + "BackMaxSP": "140", + "BackEnergyBar": "4", + "BackInitialSP": "70" + }, + "ServantStarConfig": { + "JsonOverrideConfig": "", + "HPBase": "0", + "SpeedInherit": "0", + "HPInherit": "#1", + "AIPath": "", + "ServantShowSkiilIDList": [], + "SkillOverrideSrc": [], + "SkillOverrideDest": [], + "SpeedBase": "0", + "SpeedSkill": 140904, + "Star": 3, + "ServantID": 1140902, + "HPSkill": 140904, + "ID": 140902, + "Aggro": "0" + }, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14100201, + 14100202, + 14100203, + 14100204, + 14100205, + 14100206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1410Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100202, + 200202 + ], + "EquipmentID": 23047, + "AvatarID": 1410, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701410, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 141002 + }, + "Price": 2, + "MaxStar": 4, + "Star": 1, + "SellPrice": 2, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1410020201, + 1410020301, + 1410020401, + 1410029901 + ], + "BackShowSkillIDList": [ + 1410020201, + 1410020301, + 1410020401, + 1410029901 + ], + "SkillOverrideDest": [ + 1410020401, + 1410029901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Harscyline_00_Config.json", + "FrontShowSkillIDList": [ + 1410020401, + 1410029901 + ], + "SkillOverrideSrc": [ + 141004, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0.1500000001", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Harscyline_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Harscyline_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418207636, + "hash64": 6980126576162403579 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "125", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1042252262, + "hash64": 4857419337044770535 + }, + "BackPowerBase": "125", + "BEID": 62542, + "ID": 141002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 14100201, + 14100202, + 14100203, + 14100204, + 14100205, + 14100206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1410Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100202, + 200202 + ], + "EquipmentID": 23047, + "AvatarID": 1410, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701410, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 141002 + }, + "Price": 2, + "MaxStar": 4, + "Star": 2, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1410020202, + 1410020302, + 1410020402, + 1410029902 + ], + "BackShowSkillIDList": [ + 1410020202, + 1410020302, + 1410020402, + 1410029902 + ], + "SkillOverrideDest": [ + 1410020402, + 1410029902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Harscyline_00_Config.json", + "FrontShowSkillIDList": [ + 1410020402, + 1410029902 + ], + "SkillOverrideSrc": [ + 141004, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0.4950000001", + "PropertyType": 1010 + }, + { + "Value": "0.2100000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Harscyline_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Harscyline_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418207633, + "hash64": 18421803048757773750 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "200", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 638967735, + "hash64": 5934170920083308834 + }, + "BackPowerBase": "200", + "BEID": 62542, + "ID": 141002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14100201, + 14100202, + 14100203, + 14100204, + 14100205, + 14100206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1410Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100202, + 200202 + ], + "EquipmentID": 23047, + "AvatarID": 1410, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701410, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 141002 + }, + "Price": 2, + "MaxStar": 4, + "Star": 3, + "SellPrice": 17, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1410020203, + 1410020303, + 1410020403, + 1410029903 + ], + "BackShowSkillIDList": [ + 1410020203, + 1410020303, + 1410020403, + 1410029903 + ], + "SkillOverrideDest": [ + 1410020403, + 1410029903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Harscyline_00_Config.json", + "FrontShowSkillIDList": [ + 1410020403, + 1410029903 + ], + "SkillOverrideSrc": [ + 141004, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "0.8400000007", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Harscyline_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Harscyline_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418207634, + "hash64": 17896587582034537001 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "275", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -2089915620, + "hash64": 5977837973950667458 + }, + "BackPowerBase": "275", + "BEID": 62542, + "ID": 141002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14100201, + 14100202, + 14100203, + 14100204, + 14100205, + 14100206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1410Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100202, + 200202 + ], + "EquipmentID": 23047, + "AvatarID": 1410, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701410, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 141002 + }, + "Price": 2, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1410020204, + 1410020304, + 1410020404, + 1410029904 + ], + "BackShowSkillIDList": [ + 1410020204, + 1410020304, + 1410020404, + 1410029904 + ], + "SkillOverrideDest": [ + 1410020404, + 1410029904 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Harscyline_00_Config.json", + "FrontShowSkillIDList": [ + 1410020404, + 1410029904 + ], + "SkillOverrideSrc": [ + 141004, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "1", + "PropertyType": 1017 + }, + { + "Value": "55", + "PropertyType": 1045 + }, + { + "Value": "1.1849999998", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Harscyline_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Harscyline_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418207639, + "hash64": 13720369085000383340 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "350", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1801767149, + "hash64": 7777136550123243766 + }, + "BackPowerBase": "350", + "BEID": 62542, + "ID": 141002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 14120201, + 14120202, + 14120203, + 14120204, + 14120205, + 14120206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 100902, + 200402 + ], + "EquipmentID": 23048, + "AvatarID": 1412, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701412, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 141202 + }, + "Price": 1, + "MaxStar": 4, + "Star": 1, + "SellPrice": 1, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1412020201, + 1412020401, + 1412029901 + ], + "BackShowSkillIDList": [ + 1412020201, + 1412020401, + 1412029901 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.1500000001", + "PropertyType": 1064 + }, + { + "Value": "0", + "PropertyType": 1010 + }, + { + "Value": "0", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Cerydra_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1204392732, + "hash64": 11397151427208058462 + }, + "BackPowerBase": "100", + "BEID": 62543, + "ID": 141202, + "BackMaxSP": "0", + "BackEnergyBar": "8", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 14120201, + 14120202, + 14120203, + 14120204, + 14120205, + 14120206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 100902, + 200402 + ], + "EquipmentID": 23048, + "AvatarID": 1412, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701412, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 141202 + }, + "Price": 1, + "MaxStar": 4, + "Star": 2, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1412020202, + 1412020402, + 1412029902 + ], + "BackShowSkillIDList": [ + 1412020202, + 1412020402, + 1412029902 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.2000000001", + "PropertyType": 1064 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Cerydra_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1524490623, + "hash64": 6172418321821967092 + }, + "BackPowerBase": "160", + "BEID": 62543, + "ID": 141202, + "BackMaxSP": "0", + "BackEnergyBar": "8", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14120201, + 14120202, + 14120203, + 14120204, + 14120205, + 14120206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 100902, + 200402 + ], + "EquipmentID": 23048, + "AvatarID": 1412, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701412, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 141202 + }, + "Price": 1, + "MaxStar": 4, + "Star": 3, + "SellPrice": 9, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1412020203, + 1412020403, + 1412029903 + ], + "BackShowSkillIDList": [ + 1412020203, + 1412020403, + 1412029903 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1064 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Cerydra_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 41593318, + "hash64": 11647369253325904182 + }, + "BackPowerBase": "220", + "BEID": 62543, + "ID": 141202, + "BackMaxSP": "0", + "BackEnergyBar": "8", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14120201, + 14120202, + 14120203, + 14120204, + 14120205, + 14120206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 0 + ], + "TraitList": [ + 100902, + 200402 + ], + "EquipmentID": 23048, + "AvatarID": 1412, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701412, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 141202 + }, + "Price": 1, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1412020204, + 1412020404, + 1412029904 + ], + "BackShowSkillIDList": [ + 1412020204, + 1412020404, + 1412029904 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "65", + "PropertyType": 1045 + }, + { + "Value": "0.4000000003", + "PropertyType": 1064 + }, + { + "Value": "0.9000000008", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Cerydra_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "280", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1963907619, + "hash64": 4048026698735952637 + }, + "BackPowerBase": "280", + "BEID": 62543, + "ID": 141202, + "BackMaxSP": "0", + "BackEnergyBar": "8", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 14130201, + 14130202, + 14130203, + 14130204, + 14130205, + 14130206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 3 + ], + "TraitList": [ + 100202, + 101002, + 200602 + ], + "EquipmentID": 23049, + "AvatarID": 1413, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701413, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 141302 + }, + "Price": 1, + "MaxStar": 4, + "Star": 1, + "SellPrice": 1, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1413020401, + 1413029901, + 1413020101, + 1413020701 + ], + "BackShowSkillIDList": [ + 1413020401, + 1413029901, + 1413020101, + 1413020701 + ], + "SkillOverrideDest": [ + 1413029901, + 1413029801 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Evernight_00_Config.json", + "FrontShowSkillIDList": [ + 1413029901, + 1413029801 + ], + "SkillOverrideSrc": [ + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "120", + "PropertyType": 1045 + }, + { + "Value": "0", + "PropertyType": 1010 + }, + { + "Value": "0", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Evernight_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Evernight_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418208657, + "hash64": 11299328058038792320 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1119914441, + "hash64": 2548720892567918251 + }, + "BackPowerBase": "100", + "BEID": 62544, + "ID": 141302, + "BackMaxSP": "0", + "BackEnergyBar": "24", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 14130201, + 14130202, + 14130203, + 14130204, + 14130205, + 14130206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 3 + ], + "TraitList": [ + 100202, + 101002, + 200602 + ], + "EquipmentID": 23049, + "AvatarID": 1413, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701413, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 141302 + }, + "Price": 1, + "MaxStar": 4, + "Star": 2, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1413020402, + 1413029902, + 1413020102, + 1413020702 + ], + "BackShowSkillIDList": [ + 1413020402, + 1413029902, + 1413020102, + 1413020702 + ], + "SkillOverrideDest": [ + 1413029902, + 1413029802 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Evernight_00_Config.json", + "FrontShowSkillIDList": [ + 1413029902, + 1413029802 + ], + "SkillOverrideSrc": [ + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "120", + "PropertyType": 1045 + }, + { + "Value": "0.2000000001", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Evernight_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Evernight_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418208660, + "hash64": 7291881578895654046 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "140", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -716629914, + "hash64": 17621640967780381101 + }, + "BackPowerBase": "140", + "BEID": 62544, + "ID": 141302, + "BackMaxSP": "0", + "BackEnergyBar": "24", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14130201, + 14130202, + 14130203, + 14130204, + 14130205, + 14130206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 3 + ], + "TraitList": [ + 100202, + 101002, + 200602 + ], + "EquipmentID": 23049, + "AvatarID": 1413, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701413, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 141302 + }, + "Price": 1, + "MaxStar": 4, + "Star": 3, + "SellPrice": 9, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1413020403, + 1413029903, + 1413020103, + 1413020703 + ], + "BackShowSkillIDList": [ + 1413020403, + 1413029903, + 1413020103, + 1413020703 + ], + "SkillOverrideDest": [ + 1413029903, + 1413029803 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Evernight_00_Config.json", + "FrontShowSkillIDList": [ + 1413029903, + 1413029803 + ], + "SkillOverrideSrc": [ + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "120", + "PropertyType": 1045 + }, + { + "Value": "0.4000000003", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Evernight_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Evernight_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418208659, + "hash64": 15264645586785242622 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "180", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 2012253441, + "hash64": 6138331919753163123 + }, + "BackPowerBase": "180", + "BEID": 62544, + "ID": 141302, + "BackMaxSP": "0", + "BackEnergyBar": "24", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14130201, + 14130202, + 14130203, + 14130204, + 14130205, + 14130206 + ], + "MaxSPIcon": "", + "ChargeType": [ + 1, + 3 + ], + "TraitList": [ + 100202, + 101002, + 200602 + ], + "EquipmentID": 23049, + "AvatarID": 1413, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701413, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 141302 + }, + "Price": 1, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1413020404, + 1413029904, + 1413020104, + 1413020704 + ], + "BackShowSkillIDList": [ + 1413020404, + 1413029904, + 1413020104, + 1413020704 + ], + "SkillOverrideDest": [ + 1413029904, + 1413029804 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Evernight_00_Config.json", + "FrontShowSkillIDList": [ + 1413029904, + 1413029804 + ], + "SkillOverrideSrc": [ + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "120", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Evernight_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Evernight_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418208662, + "hash64": 5924070826415767852 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1523198968, + "hash64": 8673507636275163833 + }, + "BackPowerBase": "220", + "BEID": 62544, + "ID": 141302, + "BackMaxSP": "0", + "BackEnergyBar": "24", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 14140201, + 14140202, + 14140203, + 14140204, + 14140205, + 14140206 + ], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 300102 + ], + "EquipmentID": 23051, + "AvatarID": 1414, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701414, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 141402 + }, + "Price": 5, + "MaxStar": 3, + "Star": 1, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1414020201, + 1414020401 + ], + "BackShowSkillIDList": [ + 1414020201, + 1414020401 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "67.500000000", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.4500000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_DanHengPT_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_DanHengPT_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "80", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -411328686, + "hash64": 9850366612694434576 + }, + "BackPowerBase": "200", + "BEID": 62545, + "ID": 141402, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 14140201, + 14140202, + 14140203, + 14140204, + 14140205, + 14140206 + ], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 300102 + ], + "EquipmentID": 23051, + "AvatarID": 1414, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701414, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 141402 + }, + "Price": 5, + "MaxStar": 3, + "Star": 2, + "SellPrice": 14, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1414020202, + 1414020402 + ], + "BackShowSkillIDList": [ + 1414020202, + 1414020402 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "67.500000000", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.6000000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_DanHengPT_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_DanHengPT_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "100", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -814613213, + "hash64": 14787585803815540635 + }, + "BackPowerBase": "320", + "BEID": 62545, + "ID": 141402, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 14140201, + 14140202, + 14140203, + 14140204, + 14140205, + 14140206 + ], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 300102 + ], + "EquipmentID": 23051, + "AvatarID": 1414, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701414, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 141402 + }, + "Price": 5, + "MaxStar": 3, + "Star": 3, + "SellPrice": 44, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1414020203, + 1414020403 + ], + "BackShowSkillIDList": [ + 1414020203, + 1414020403 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "67.500000000", + "PropertyType": 1045 + }, + { + "Value": "5", + "PropertyType": 1010 + }, + { + "Value": "3", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_DanHengPT_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_DanHengPT_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "120", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 751470728, + "hash64": 17057021657978393556 + }, + "BackPowerBase": "2000", + "BEID": 62545, + "ID": 141402, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [ + 2 + ], + "TraitList": [ + 101202, + 200602 + ], + "EquipmentID": 0, + "AvatarID": 1415, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701415, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 141502 + }, + "Price": 4, + "MaxStar": 3, + "Star": 1, + "SellPrice": 4, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1415020201, + 1415029901, + 1415029801, + 1415029701 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Cyrene_00_Config.json", + "FrontShowSkillIDList": [ + 1415020201, + 1415029901, + 1415029801, + 1415029701 + ], + "SkillOverrideSrc": [ + 141502, + 0, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "0", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Cyrene_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Cyrene_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418210967, + "hash64": 17139185265151894095 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "175", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62546, + "ID": 141502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [ + 2 + ], + "TraitList": [ + 101202, + 200602 + ], + "EquipmentID": 0, + "AvatarID": 1415, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701415, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 141502 + }, + "Price": 4, + "MaxStar": 3, + "Star": 2, + "SellPrice": 11, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1415020202, + 1415029902, + 1415029802, + 1415029702 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Cyrene_00_Config.json", + "FrontShowSkillIDList": [ + 1415020202, + 1415029902, + 1415029802, + 1415029702 + ], + "SkillOverrideSrc": [ + 141502, + 0, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "0", + "PropertyType": 1045 + }, + { + "Value": "0.5600000005", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Cyrene_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Cyrene_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418210966, + "hash64": 759886274761444715 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "245", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62546, + "ID": 141502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [ + 2 + ], + "TraitList": [ + 101202, + 200602 + ], + "EquipmentID": 0, + "AvatarID": 1415, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701415, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 141502 + }, + "Price": 4, + "MaxStar": 3, + "Star": 3, + "SellPrice": 35, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1415020203, + 1415029903, + 1415029803, + 1415029703 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Cyrene_00_Config.json", + "FrontShowSkillIDList": [ + 1415020203, + 1415029903, + 1415029803, + 1415029703 + ], + "SkillOverrideSrc": [ + 141502, + 0, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "0", + "PropertyType": 1045 + }, + { + "Value": "0.8200000007", + "PropertyType": 1010 + }, + { + "Value": "0.5600000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Cyrene_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Cyrene_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418210965, + "hash64": 11989085120113745636 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "400", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62546, + "ID": 141502, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 15010201, + 15010202, + 15010203, + 15010204, + 15010205, + 15010206 + ], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100302, + 101102, + 200702 + ], + "EquipmentID": 23053, + "AvatarID": 1501, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701501, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 150102 + }, + "Price": 1, + "MaxStar": 4, + "Star": 1, + "SellPrice": 1, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1501029901, + 1501029801, + 1501022901, + 1501020201, + 1501020901, + 1501020801, + 1501022001, + 1501020401 + ], + "BackShowSkillIDList": [ + 1501029901, + 1501029801, + 1501022901, + 1501020201, + 1501020901, + 1501020801, + 1501022001, + 1501020401 + ], + "SkillOverrideDest": [ + 1501029901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Sparxie_00_Config.json", + "FrontShowSkillIDList": [ + 1501029901 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "0", + "PropertyType": 1010 + }, + { + "Value": "0", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Sparxie_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Sparxie_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905997041, + "hash64": 8819594817067922021 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1297850821, + "hash64": 5534325225141284139 + }, + "BackPowerBase": "100", + "BEID": 62547, + "ID": 150102, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 15010201, + 15010202, + 15010203, + 15010204, + 15010205, + 15010206 + ], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100302, + 101102, + 200702 + ], + "EquipmentID": 23053, + "AvatarID": 1501, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701501, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 150102 + }, + "Price": 1, + "MaxStar": 4, + "Star": 2, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1501029902, + 1501029802, + 1501022902, + 1501020202, + 1501020902, + 1501020802, + 1501022002, + 1501020402 + ], + "BackShowSkillIDList": [ + 1501029902, + 1501029802, + 1501022902, + 1501020202, + 1501020902, + 1501020802, + 1501022002, + 1501020402 + ], + "SkillOverrideDest": [ + 1501029902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Sparxie_00_Config.json", + "FrontShowSkillIDList": [ + 1501029902 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Sparxie_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Sparxie_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905997044, + "hash64": 13109113709459570294 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 894566294, + "hash64": 9988995830056811411 + }, + "BackPowerBase": "160", + "BEID": 62547, + "ID": 150102, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 15010201, + 15010202, + 15010203, + 15010204, + 15010205, + 15010206 + ], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100302, + 101102, + 200702 + ], + "EquipmentID": 23053, + "AvatarID": 1501, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701501, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 150102 + }, + "Price": 1, + "MaxStar": 4, + "Star": 3, + "SellPrice": 9, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1501029903, + 1501029803, + 1501022903, + 1501020203, + 1501020903, + 1501020803, + 1501022003, + 1501020403 + ], + "BackShowSkillIDList": [ + 1501029903, + 1501029803, + 1501022903, + 1501020203, + 1501020903, + 1501020803, + 1501022003, + 1501020403 + ], + "SkillOverrideDest": [ + 1501029903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Sparxie_00_Config.json", + "FrontShowSkillIDList": [ + 1501029903 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Sparxie_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Sparxie_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905997043, + "hash64": 14715483592562750982 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1834317061, + "hash64": 6068439179576968835 + }, + "BackPowerBase": "220", + "BEID": 62547, + "ID": 150102, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 15010201, + 15010202, + 15010203, + 15010204, + 15010205, + 15010206 + ], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100302, + 101102, + 200702 + ], + "EquipmentID": 23053, + "AvatarID": 1501, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701501, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 150102 + }, + "Price": 1, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1501029904, + 1501029804, + 1501022904, + 1501020204, + 1501020904, + 1501020804, + 1501022004, + 1501020404 + ], + "BackShowSkillIDList": [ + 1501029904, + 1501029804, + 1501022904, + 1501020204, + 1501020904, + 1501020804, + 1501022004, + 1501020404 + ], + "SkillOverrideDest": [ + 1501029904 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Sparxie_00_Config.json", + "FrontShowSkillIDList": [ + 1501029904 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "0.9000000008", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Sparxie_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Sparxie_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905997038, + "hash64": 8530132659870121007 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "280", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 2057365708, + "hash64": 9440328683891706085 + }, + "BackPowerBase": "280", + "BEID": 62547, + "ID": 150102, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 15020201, + 15020202, + 15020203, + 15020204, + 15020205, + 15020206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1502Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100602, + 200702 + ], + "EquipmentID": 23054, + "AvatarID": 1502, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701502, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 150202 + }, + "Price": 3, + "MaxStar": 3, + "Star": 1, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1502020101, + 1502020201, + 1502020301, + 1502020401, + 1502022001, + 1502029901, + 1502022901 + ], + "BackShowSkillIDList": [ + 1502020101, + 1502020201, + 1502020301, + 1502020401, + 1502022001, + 1502029901, + 1502022901 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "90", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_YaoGuang_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1753246826, + "hash64": 8622310324560965715 + }, + "BackPowerBase": "150", + "BEID": 62548, + "ID": 150202, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 15020201, + 15020202, + 15020203, + 15020204, + 15020205, + 15020206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1502Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100602, + 200702 + ], + "EquipmentID": 23054, + "AvatarID": 1502, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701502, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 150202 + }, + "Price": 3, + "MaxStar": 3, + "Star": 2, + "SellPrice": 8, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1502020102, + 1502020202, + 1502020302, + 1502020402, + 1502022002, + 1502029902, + 1502022902 + ], + "BackShowSkillIDList": [ + 1502020102, + 1502020202, + 1502020302, + 1502020402, + 1502022002, + 1502029902, + 1502022902 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "90", + "PropertyType": 1045 + }, + { + "Value": "0.6900000006", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_YaoGuang_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1349962299, + "hash64": 17136692691484340673 + }, + "BackPowerBase": "240", + "BEID": 62548, + "ID": 150202, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 15020201, + 15020202, + 15020203, + 15020204, + 15020205, + 15020206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1502Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100602, + 200702 + ], + "EquipmentID": 23054, + "AvatarID": 1502, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701502, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 150202 + }, + "Price": 3, + "MaxStar": 3, + "Star": 3, + "SellPrice": 26, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1502020103, + 1502020203, + 1502020303, + 1502020403, + 1502022003, + 1502029903, + 1502022903 + ], + "BackShowSkillIDList": [ + 1502020103, + 1502020203, + 1502020303, + 1502020403, + 1502022003, + 1502029903, + 1502022903 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "90", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.4400000004", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_YaoGuang_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1378921056, + "hash64": 12643750922740346989 + }, + "BackPowerBase": "330", + "BEID": 62548, + "ID": 150202, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 15030201, + 15030202, + 15030203, + 15030204, + 15030205, + 15030206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1503Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100302, + 100602, + 201102 + ], + "EquipmentID": 23055, + "AvatarID": 1503, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701503, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 150302 + }, + "Price": 1, + "MaxStar": 4, + "Star": 1, + "SellPrice": 1, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1503020801, + 1503020301, + 1503022001, + 1503020401, + 1503022901 + ], + "BackShowSkillIDList": [ + 1503020801, + 1503020301, + 1503022001, + 1503020401, + 1503022901 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "90", + "PropertyType": 1045 + }, + { + "Value": "0", + "PropertyType": 1010 + }, + { + "Value": "0", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Pearl_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1459991291, + "hash64": 4908990098768436520 + }, + "BackPowerBase": "100", + "BEID": 62549, + "ID": 150302, + "BackMaxSP": "180", + "BackEnergyBar": "0", + "BackInitialSP": "90" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 15030201, + 15030202, + 15030203, + 15030204, + 15030205, + 15030206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1503Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100302, + 100602, + 201102 + ], + "EquipmentID": 23055, + "AvatarID": 1503, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701503, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 150302 + }, + "Price": 1, + "MaxStar": 4, + "Star": 2, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1503020802, + 1503020302, + 1503022002, + 1503020402, + 1503022902 + ], + "BackShowSkillIDList": [ + 1503020802, + 1503020302, + 1503022002, + 1503020402, + 1503022902 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "90", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Pearl_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "80", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "80", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1268892064, + "hash64": 17038908801525417827 + }, + "BackPowerBase": "160", + "BEID": 62549, + "ID": 150302, + "BackMaxSP": "180", + "BackEnergyBar": "0", + "BackInitialSP": "90" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 15030201, + 15030202, + 15030203, + 15030204, + 15030205, + 15030206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1503Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100302, + 100602, + 201102 + ], + "EquipmentID": 23055, + "AvatarID": 1503, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701503, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 150302 + }, + "Price": 1, + "MaxStar": 4, + "Star": 3, + "SellPrice": 9, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1503020803, + 1503020303, + 1503022003, + 1503020403, + 1503022903 + ], + "BackShowSkillIDList": [ + 1503020803, + 1503020303, + 1503022003, + 1503020403, + 1503022903 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "90", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Pearl_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "100", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "100", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 297191877, + "hash64": 2208181660934464431 + }, + "BackPowerBase": "220", + "BEID": 62549, + "ID": 150302, + "BackMaxSP": "180", + "BackEnergyBar": "0", + "BackInitialSP": "90" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 15030201, + 15030202, + 15030203, + 15030204, + 15030205, + 15030206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1503Ultra.png", + "ChargeType": [ + 2, + 0 + ], + "TraitList": [ + 100302, + 100602, + 201102 + ], + "EquipmentID": 23055, + "AvatarID": 1503, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701503, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 1, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 150302 + }, + "Price": 1, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1503020804, + 1503020304, + 1503022004, + 1503020404, + 1503022904 + ], + "BackShowSkillIDList": [ + 1503020804, + 1503020304, + 1503022004, + 1503020404, + 1503022904 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "90", + "PropertyType": 1045 + }, + { + "Value": "0.9000000008", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Pearl_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "120", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "120", + "FrontPowerBase": "280", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -2075461118, + "hash64": 5659874807074617433 + }, + "BackPowerBase": "280", + "BEID": 62549, + "ID": 150302, + "BackMaxSP": "180", + "BackEnergyBar": "0", + "BackInitialSP": "90" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 15040201, + 15040202, + 15040203, + 15040204, + 15040205, + 15040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1504Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 200102, + 300302 + ], + "EquipmentID": 23056, + "AvatarID": 1504, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701504, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 150402 + }, + "Price": 5, + "MaxStar": 3, + "Star": 1, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1504020201, + 1504020301, + 1504020401, + 1504029901 + ], + "BackShowSkillIDList": [ + 1504020201, + 1504020301, + 1504020401, + 1504029901 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.4500000004", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Ashveil_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "3", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 925999052, + "hash64": 2161494281902390657 + }, + "BackPowerBase": "200", + "BEID": 62550, + "ID": 150402, + "BackMaxSP": "150", + "BackEnergyBar": "5", + "BackInitialSP": "75" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 15040201, + 15040202, + 15040203, + 15040204, + 15040205, + 15040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1504Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 200102, + 300302 + ], + "EquipmentID": 23056, + "AvatarID": 1504, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701504, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 150402 + }, + "Price": 5, + "MaxStar": 3, + "Star": 2, + "SellPrice": 14, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1504020202, + 1504020302, + 1504020402, + 1504029902 + ], + "BackShowSkillIDList": [ + 1504020202, + 1504020302, + 1504020402, + 1504029902 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.6000000005", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Ashveil_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "3", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -640084889, + "hash64": 16454504843201432217 + }, + "BackPowerBase": "320", + "BEID": 62550, + "ID": 150402, + "BackMaxSP": "150", + "BackEnergyBar": "5", + "BackInitialSP": "75" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 15040201, + 15040202, + 15040203, + 15040204, + 15040205, + 15040206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1504Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 200102, + 300302 + ], + "EquipmentID": 23056, + "AvatarID": 1504, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701504, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 150402 + }, + "Price": 5, + "MaxStar": 3, + "Star": 3, + "SellPrice": 44, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1504020203, + 1504020303, + 1504020403, + 1504029903 + ], + "BackShowSkillIDList": [ + 1504020203, + 1504020303, + 1504020403, + 1504029903 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "5", + "PropertyType": 1010 + }, + { + "Value": "3", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Ashveil_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "3", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 2088798466, + "hash64": 12444697903507412216 + }, + "BackPowerBase": "2000", + "BEID": 62550, + "ID": 150402, + "BackMaxSP": "150", + "BackEnergyBar": "5", + "BackInitialSP": "75" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 15050201, + 15050202, + 15050203, + 15050204, + 15050205, + 15050206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1505Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 200902 + ], + "EquipmentID": 23058, + "AvatarID": 1505, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701505, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 150502 + }, + "Price": 2, + "MaxStar": 4, + "Star": 1, + "SellPrice": 2, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1505020201, + 1505020301, + 1505020401, + 1505022001, + 1505029901, + 1505029801, + 1505029701, + 1505022901 + ], + "BackShowSkillIDList": [ + 1505020201, + 1505020301, + 1505020401, + 1505022001, + 1505029901, + 1505029801, + 1505029701, + 1505022901 + ], + "SkillOverrideDest": [ + 1505020401, + 1505029901, + 1505029801, + 1505029701 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Evanescia_00_Config.json", + "FrontShowSkillIDList": [ + 1505020401, + 1505029901, + 1505029801, + 1505029701 + ], + "SkillOverrideSrc": [ + 150504, + 0, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "240", + "PropertyType": 1045 + }, + { + "Value": "0.1500000001", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Evanescia_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Evanescia_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905992685, + "hash64": 16562016430382326251 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "125", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -155730127, + "hash64": 6274287396920678493 + }, + "BackPowerBase": "125", + "BEID": 62551, + "ID": 150502, + "BackMaxSP": "480", + "BackEnergyBar": "240", + "BackInitialSP": "240" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 15050201, + 15050202, + 15050203, + 15050204, + 15050205, + 15050206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1505Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 200902 + ], + "EquipmentID": 23058, + "AvatarID": 1505, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701505, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 150502 + }, + "Price": 2, + "MaxStar": 4, + "Star": 2, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1505020202, + 1505020302, + 1505020402, + 1505022002, + 1505029902, + 1505029802, + 1505029702, + 1505022902 + ], + "BackShowSkillIDList": [ + 1505020202, + 1505020302, + 1505020402, + 1505022002, + 1505029902, + 1505029802, + 1505029702, + 1505022902 + ], + "SkillOverrideDest": [ + 1505020402, + 1505029902, + 1505029802, + 1505029702 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Evanescia_00_Config.json", + "FrontShowSkillIDList": [ + 1505020402, + 1505029902, + 1505029802, + 1505029702 + ], + "SkillOverrideSrc": [ + 150504, + 0, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "240", + "PropertyType": 1045 + }, + { + "Value": "0.4950000001", + "PropertyType": 1010 + }, + { + "Value": "0.2100000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Evanescia_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Evanescia_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905992688, + "hash64": 4218773203622911238 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "200", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -559014654, + "hash64": 13985858953310654020 + }, + "BackPowerBase": "200", + "BEID": 62551, + "ID": 150502, + "BackMaxSP": "480", + "BackEnergyBar": "240", + "BackInitialSP": "240" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 15050201, + 15050202, + 15050203, + 15050204, + 15050205, + 15050206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1505Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 200902 + ], + "EquipmentID": 23058, + "AvatarID": 1505, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701505, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 150502 + }, + "Price": 2, + "MaxStar": 4, + "Star": 3, + "SellPrice": 17, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1505020203, + 1505020303, + 1505020403, + 1505022003, + 1505029903, + 1505029803, + 1505029703, + 1505022903 + ], + "BackShowSkillIDList": [ + 1505020203, + 1505020303, + 1505020403, + 1505022003, + 1505029903, + 1505029803, + 1505029703, + 1505022903 + ], + "SkillOverrideDest": [ + 1505020403, + 1505029903, + 1505029803, + 1505029703 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Evanescia_00_Config.json", + "FrontShowSkillIDList": [ + 1505020403, + 1505029903, + 1505029803, + 1505029703 + ], + "SkillOverrideSrc": [ + 150504, + 0, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "240", + "PropertyType": 1045 + }, + { + "Value": "0.8400000007", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Evanescia_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Evanescia_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905992687, + "hash64": 9810353217268213081 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "275", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1007069287, + "hash64": 6406253457655909813 + }, + "BackPowerBase": "275", + "BEID": 62551, + "ID": 150502, + "BackMaxSP": "480", + "BackEnergyBar": "240", + "BackInitialSP": "240" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 15050201, + 15050202, + 15050203, + 15050204, + 15050205, + 15050206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1505Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 200902 + ], + "EquipmentID": 23058, + "AvatarID": 1505, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701505, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 150502 + }, + "Price": 2, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1505020204, + 1505020304, + 1505020404, + 1505022004, + 1505029904, + 1505029804, + 1505029704, + 1505022904 + ], + "BackShowSkillIDList": [ + 1505020204, + 1505020304, + 1505020404, + 1505022004, + 1505029904, + 1505029804, + 1505029704, + 1505022904 + ], + "SkillOverrideDest": [ + 1505020404, + 1505029904, + 1505029804, + 1505029704 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Evanescia_00_Config.json", + "FrontShowSkillIDList": [ + 1505020404, + 1505029904, + 1505029804, + 1505029704 + ], + "SkillOverrideSrc": [ + 150504, + 0, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "240", + "PropertyType": 1045 + }, + { + "Value": "1.1849999998", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Evanescia_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Evanescia_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905992690, + "hash64": 13939136530303506597 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "350", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 247554400, + "hash64": 1830969912732929615 + }, + "BackPowerBase": "350", + "BEID": 62551, + "ID": 150502, + "BackMaxSP": "480", + "BackEnergyBar": "240", + "BackInitialSP": "240" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100302, + 100802, + 200702 + ], + "EquipmentID": 0, + "AvatarID": 1506, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701506, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 150602 + }, + "Price": 3, + "MaxStar": 3, + "Star": 1, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1506029901, + 1506029801, + 1506029701 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_SilverWolf999_00_Config.json", + "FrontShowSkillIDList": [ + 1506029901, + 1506029801, + 1506029701 + ], + "SkillOverrideSrc": [ + 0, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "30", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_SilverWolf999_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_SilverWolf999_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905987440, + "hash64": 9725215282930063085 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "150", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62552, + "ID": 150602, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100302, + 100802, + 200702 + ], + "EquipmentID": 0, + "AvatarID": 1506, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701506, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 150602 + }, + "Price": 3, + "MaxStar": 3, + "Star": 2, + "SellPrice": 8, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1506029902, + 1506029802, + 1506029702 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_SilverWolf999_00_Config.json", + "FrontShowSkillIDList": [ + 1506029902, + 1506029802, + 1506029702 + ], + "SkillOverrideSrc": [ + 0, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "30", + "PropertyType": 1045 + }, + { + "Value": "0.6900000006", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_SilverWolf999_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_SilverWolf999_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905987437, + "hash64": 1184570628370321253 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "240", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62552, + "ID": 150602, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100302, + 100802, + 200702 + ], + "EquipmentID": 0, + "AvatarID": 1506, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701506, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 150602 + }, + "Price": 3, + "MaxStar": 3, + "Star": 3, + "SellPrice": 26, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1506029903, + 1506029803, + 1506029703 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_SilverWolf999_00_Config.json", + "FrontShowSkillIDList": [ + 1506029903, + 1506029803, + 1506029703 + ], + "SkillOverrideSrc": [ + 0, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "30", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.4400000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_SilverWolf999_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_SilverWolf999_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905987438, + "hash64": 11392351948493461981 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "330", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62552, + "ID": 150602, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 15070201, + 15070202, + 15070203, + 15070204, + 15070205, + 15070206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1507Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 100802, + 200302 + ], + "EquipmentID": 23059, + "AvatarID": 1507, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701507, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 150702 + }, + "Price": 4, + "MaxStar": 3, + "Star": 1, + "SellPrice": 4, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1507020201, + 1507020301, + 1507021401, + 1507020401, + 1507029901 + ], + "BackShowSkillIDList": [ + 1507020201, + 1507020301, + 1507021401, + 1507020401, + 1507029901 + ], + "SkillOverrideDest": [ + 1507029901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_MortenaxBlade_00_Config.json", + "FrontShowSkillIDList": [ + 1507029901 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_MortenaxBlade_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_MortenaxBlade_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905990639, + "hash64": 4847048030771954021 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "175", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 6410343, + "hash64": 10485531434739644379 + }, + "BackPowerBase": "175", + "BEID": 62553, + "ID": 150702, + "BackMaxSP": "160", + "BackEnergyBar": "9", + "BackInitialSP": "80" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 15070201, + 15070202, + 15070203, + 15070204, + 15070205, + 15070206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1507Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 100802, + 200302 + ], + "EquipmentID": 23059, + "AvatarID": 1507, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701507, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 150702 + }, + "Price": 4, + "MaxStar": 3, + "Star": 2, + "SellPrice": 11, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1507020202, + 1507020302, + 1507021402, + 1507020402, + 1507029902 + ], + "BackShowSkillIDList": [ + 1507020202, + 1507020302, + 1507021402, + 1507020402, + 1507029902 + ], + "SkillOverrideDest": [ + 1507029902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_MortenaxBlade_00_Config.json", + "FrontShowSkillIDList": [ + 1507029902 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "0.5600000005", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_MortenaxBlade_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_MortenaxBlade_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905990638, + "hash64": 18312786594524974995 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "245", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1572494284, + "hash64": 5926376950354731611 + }, + "BackPowerBase": "245", + "BEID": 62553, + "ID": 150702, + "BackMaxSP": "160", + "BackEnergyBar": "9", + "BackInitialSP": "80" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 15070201, + 15070202, + 15070203, + 15070204, + 15070205, + 15070206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1507Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100302, + 100802, + 200302 + ], + "EquipmentID": 23059, + "AvatarID": 1507, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701507, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 150702 + }, + "Price": 4, + "MaxStar": 3, + "Star": 3, + "SellPrice": 35, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1507020203, + 1507020303, + 1507021403, + 1507020403, + 1507029903 + ], + "BackShowSkillIDList": [ + 1507020203, + 1507020303, + 1507021403, + 1507020403, + 1507029903 + ], + "SkillOverrideDest": [ + 1507029903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_MortenaxBlade_00_Config.json", + "FrontShowSkillIDList": [ + 1507029903 + ], + "SkillOverrideSrc": [ + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "0.8200000007", + "PropertyType": 1010 + }, + { + "Value": "0.5600000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_MortenaxBlade_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_MortenaxBlade_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": -1905990637, + "hash64": 3009826960562450495 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "400", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1156389071, + "hash64": 12236224842999619381 + }, + "BackPowerBase": "400", + "BEID": 62553, + "ID": 150702, + "BackMaxSP": "160", + "BackEnergyBar": "9", + "BackInitialSP": "80" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100502, + 200902 + ], + "EquipmentID": 0, + "AvatarID": 1510, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701510, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151002 + }, + "Price": 4, + "MaxStar": 3, + "Star": 1, + "SellPrice": 4, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1510020401, + 1510029901, + 1510029801 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_HimekoNova_00_Config.json", + "FrontShowSkillIDList": [ + 1510020401, + 1510029901, + 1510029801 + ], + "SkillOverrideSrc": [ + 151004, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "0.4500000004", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_HimekoNova_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_HimekoNova_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418313331, + "hash64": 9169723474430700621 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "175", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62554, + "ID": 151002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100502, + 200902 + ], + "EquipmentID": 0, + "AvatarID": 1510, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701510, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151002 + }, + "Price": 4, + "MaxStar": 3, + "Star": 2, + "SellPrice": 11, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1510020402, + 1510029902, + 1510029802 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_HimekoNova_00_Config.json", + "FrontShowSkillIDList": [ + 1510020402, + 1510029902, + 1510029802 + ], + "SkillOverrideSrc": [ + 151004, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "0.8850000004", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_HimekoNova_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_HimekoNova_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418313330, + "hash64": 3846793501543228107 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "280", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62554, + "ID": 151002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100502, + 200902 + ], + "EquipmentID": 0, + "AvatarID": 1510, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701510, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151002 + }, + "Price": 4, + "MaxStar": 3, + "Star": 3, + "SellPrice": 35, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1510020403, + 1510029903, + 1510029803 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_HimekoNova_00_Config.json", + "FrontShowSkillIDList": [ + 1510020403, + 1510029903, + 1510029803 + ], + "SkillOverrideSrc": [ + 151004, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "1.3200000002", + "PropertyType": 1010 + }, + { + "Value": "0.5600000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_HimekoNova_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_HimekoNova_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418313329, + "hash64": 17600724068027042244 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "500", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62554, + "ID": 151002, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 200702, + 300602 + ], + "EquipmentID": 0, + "AvatarID": 1511, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701511, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151102 + }, + "Price": 3, + "MaxStar": 3, + "Star": 1, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1511029901, + 1511022001, + 1511029801 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_Config.json", + "FrontShowSkillIDList": [ + 1511029901, + 1511022001, + 1511029801 + ], + "SkillOverrideSrc": [ + 0, + 151120, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Nihilux_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418310132, + "hash64": 9411259290351870108 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "150", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62558, + "ID": 151102, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 200702, + 300602 + ], + "EquipmentID": 0, + "AvatarID": 1511, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701511, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151102 + }, + "Price": 3, + "MaxStar": 3, + "Star": 2, + "SellPrice": 8, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1511029902, + 1511022002, + 1511029802 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_Config.json", + "FrontShowSkillIDList": [ + 1511029902, + 1511022002, + 1511029802 + ], + "SkillOverrideSrc": [ + 0, + 151120, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "0.6900000006", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Nihilux_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418310129, + "hash64": 2319874823563471332 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "240", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62558, + "ID": 151102, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 200702, + 300602 + ], + "EquipmentID": 0, + "AvatarID": 1511, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701511, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151102 + }, + "Price": 3, + "MaxStar": 3, + "Star": 3, + "SellPrice": 26, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1511029903, + 1511022003, + 1511029803 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_Config.json", + "FrontShowSkillIDList": [ + 1511029903, + 1511022003, + 1511029803 + ], + "SkillOverrideSrc": [ + 0, + 151120, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.4400000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Nihilux_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418310130, + "hash64": 5667441904180676483 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "330", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62558, + "ID": 151102, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 200702, + 300602 + ], + "EquipmentID": 0, + "AvatarID": 1511, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701511, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151112 + }, + "Price": 4, + "MaxStar": 3, + "Star": 1, + "SellPrice": 4, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1511129901, + 1511122001, + 1511129801 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_Config.json", + "FrontShowSkillIDList": [ + 1511129901, + 1511122001, + 1511129801 + ], + "SkillOverrideSrc": [ + 0, + 151120, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "0.4500000004", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Nihilux_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 1722272047, + "hash64": 9804706595767047015 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "175", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62558, + "ID": 151112, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 200702, + 300602 + ], + "EquipmentID": 0, + "AvatarID": 1511, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701511, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151112 + }, + "Price": 4, + "MaxStar": 3, + "Star": 2, + "SellPrice": 11, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1511129902, + 1511122002, + 1511129802 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_Config.json", + "FrontShowSkillIDList": [ + 1511129902, + 1511122002, + 1511129802 + ], + "SkillOverrideSrc": [ + 0, + 151120, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "0.8850000004", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Nihilux_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 1722272044, + "hash64": 1012694226729375065 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "280", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62558, + "ID": 151112, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 200702, + 300602 + ], + "EquipmentID": 0, + "AvatarID": 1511, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701511, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151112 + }, + "Price": 4, + "MaxStar": 3, + "Star": 3, + "SellPrice": 35, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1511129903, + 1511122003, + 1511129803 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_Config.json", + "FrontShowSkillIDList": [ + 1511129903, + 1511122003, + 1511129803 + ], + "SkillOverrideSrc": [ + 0, + 151120, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "1.3200000002", + "PropertyType": 1010 + }, + { + "Value": "0.5600000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Nihilux_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 1722272045, + "hash64": 17814795680808471452 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "385", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62558, + "ID": 151112, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 200702, + 300602 + ], + "EquipmentID": 0, + "AvatarID": 1511, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701511, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151122 + }, + "Price": 5, + "MaxStar": 3, + "Star": 1, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1511229901, + 1511222001, + 1511229801 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_Config.json", + "FrontShowSkillIDList": [ + 1511229901, + 1511222001, + 1511229801 + ], + "SkillOverrideSrc": [ + 0, + 151120, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.4500000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Nihilux_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 700635134, + "hash64": 14554251924631528584 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "200", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62558, + "ID": 151122, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 200702, + 300602 + ], + "EquipmentID": 0, + "AvatarID": 1511, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701511, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151122 + }, + "Price": 5, + "MaxStar": 3, + "Star": 2, + "SellPrice": 14, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1511229902, + 1511222002, + 1511229802 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_Config.json", + "FrontShowSkillIDList": [ + 1511229902, + 1511222002, + 1511229802 + ], + "SkillOverrideSrc": [ + 0, + 151120, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.6000000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Nihilux_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 700635131, + "hash64": 3614899359317199989 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "320", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62558, + "ID": 151122, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 200702, + 300602 + ], + "EquipmentID": 0, + "AvatarID": 1511, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701511, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151122 + }, + "Price": 5, + "MaxStar": 3, + "Star": 3, + "SellPrice": 44, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1511229903, + 1511222003, + 1511229803 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_Config.json", + "FrontShowSkillIDList": [ + 1511229903, + 1511222003, + 1511229803 + ], + "SkillOverrideSrc": [ + 0, + 151120, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "5", + "PropertyType": 1010 + }, + { + "Value": "3", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Nihilux_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 700635132, + "hash64": 17525673045765518605 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "440", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62558, + "ID": 151122, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 200702, + 300602 + ], + "EquipmentID": 0, + "AvatarID": 1511, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701511, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151132 + }, + "Price": 7, + "MaxStar": 3, + "Star": 1, + "SellPrice": 7, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1511329901, + 1511322001, + 1511329801 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_Config.json", + "FrontShowSkillIDList": [ + 1511329901, + 1511322001, + 1511329801 + ], + "SkillOverrideSrc": [ + 0, + 151120, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "0.7500000006", + "PropertyType": 1010 + }, + { + "Value": "0.6000000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Nihilux_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 2004597049, + "hash64": 14072848863290237745 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "250", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62558, + "ID": 151132, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 200702, + 300602 + ], + "EquipmentID": 0, + "AvatarID": 1511, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701511, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151132 + }, + "Price": 7, + "MaxStar": 3, + "Star": 2, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1511329902, + 1511322002, + 1511329802 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_Config.json", + "FrontShowSkillIDList": [ + 1511329902, + 1511322002, + 1511329802 + ], + "SkillOverrideSrc": [ + 0, + 151120, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "0.9000000008", + "PropertyType": 1010 + }, + { + "Value": "0.7500000006", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Nihilux_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 2004597046, + "hash64": 12333735182164364236 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "400", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62558, + "ID": 151132, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 200702, + 300602 + ], + "EquipmentID": 0, + "AvatarID": 1511, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701511, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151132 + }, + "Price": 7, + "MaxStar": 3, + "Star": 3, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1511329903, + 1511322003, + 1511329803 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_Config.json", + "FrontShowSkillIDList": [ + 1511329903, + 1511322003, + 1511329803 + ], + "SkillOverrideSrc": [ + 0, + 151120, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "75", + "PropertyType": 1045 + }, + { + "Value": "7", + "PropertyType": 1010 + }, + { + "Value": "4.5000000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_Nihilux_10_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Nihilux_10", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 2004597047, + "hash64": 6224244465270256848 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "4000", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62558, + "ID": 151132, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [ + 15120201, + 15120202, + 15120203, + 15120204, + 15120205, + 15120206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1512Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100602, + 200602, + 200902 + ], + "EquipmentID": 23063, + "AvatarID": 1512, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701512, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 151202 + }, + "Price": 2, + "MaxStar": 4, + "Star": 1, + "SellPrice": 2, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1512020201, + 1512020301, + 1512020401, + 1512029901, + 1512029801, + 1512020101, + 1151202031 + ], + "BackShowSkillIDList": [ + 1512020201, + 1512020301, + 1512020401, + 1512029901, + 1512029801, + 1512020101, + 1151202031 + ], + "SkillOverrideDest": [ + 1512020401, + 1512029801, + 1512029701 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_RobinS_00_Config.json", + "FrontShowSkillIDList": [ + 1512020401, + 1512029801, + 1512029701 + ], + "SkillOverrideSrc": [ + 151204, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.1000000000", + "PropertyType": 1010 + }, + { + "Value": "0.1000000000", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_RobinS_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_RobinS_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418315377, + "hash64": 8460588796794919372 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "125", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1753250025, + "hash64": 6423280059992169116 + }, + "BackPowerBase": "125", + "BEID": 62555, + "ID": 151202, + "BackMaxSP": "140", + "BackEnergyBar": "12", + "BackInitialSP": "70" + }, + "ServantStarConfig": { + "JsonOverrideConfig": "", + "HPBase": "0", + "SpeedInherit": "#2", + "HPInherit": "#1", + "AIPath": "", + "ServantShowSkiilIDList": [], + "SkillOverrideSrc": [], + "SkillOverrideDest": [], + "SpeedBase": "0", + "SpeedSkill": 1512020401, + "Star": 1, + "ServantID": 1151202, + "HPSkill": 1512020401, + "ID": 151202, + "Aggro": "0" + } + }, + { + "Config": { + "BackendRankList": [ + 15120201, + 15120202, + 15120203, + 15120204, + 15120205, + 15120206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1512Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100602, + 200602, + 200902 + ], + "EquipmentID": 23063, + "AvatarID": 1512, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701512, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 151202 + }, + "Price": 2, + "MaxStar": 4, + "Star": 2, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1512020202, + 1512020302, + 1512020402, + 1512029902, + 1512029802, + 1512020102, + 1151202032 + ], + "BackShowSkillIDList": [ + 1512020202, + 1512020302, + 1512020402, + 1512029902, + 1512029802, + 1512020102, + 1151202032 + ], + "SkillOverrideDest": [ + 1512020402, + 1512029802, + 1512029702 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_RobinS_00_Config.json", + "FrontShowSkillIDList": [ + 1512020402, + 1512029802, + 1512029702 + ], + "SkillOverrideSrc": [ + 151204, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.3200000002", + "PropertyType": 1010 + }, + { + "Value": "0.2100000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_RobinS_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_RobinS_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418315380, + "hash64": 6548082025514779137 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "175", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -1349965498, + "hash64": 4889975099388150537 + }, + "BackPowerBase": "175", + "BEID": 62555, + "ID": 151202, + "BackMaxSP": "140", + "BackEnergyBar": "12", + "BackInitialSP": "70" + }, + "ServantStarConfig": { + "JsonOverrideConfig": "", + "HPBase": "0", + "SpeedInherit": "#2", + "HPInherit": "#1", + "AIPath": "", + "ServantShowSkiilIDList": [], + "SkillOverrideSrc": [], + "SkillOverrideDest": [], + "SpeedBase": "0", + "SpeedSkill": 1512020402, + "Star": 2, + "ServantID": 1151202, + "HPSkill": 1512020402, + "ID": 151202, + "Aggro": "0" + }, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 15120201, + 15120202, + 15120203, + 15120204, + 15120205, + 15120206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1512Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100602, + 200602, + 200902 + ], + "EquipmentID": 23063, + "AvatarID": 1512, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701512, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 151202 + }, + "Price": 2, + "MaxStar": 4, + "Star": 3, + "SellPrice": 17, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1512020203, + 1512020303, + 1512020403, + 1512029903, + 1512029803, + 1512020103, + 1151202033 + ], + "BackShowSkillIDList": [ + 1512020203, + 1512020303, + 1512020403, + 1512029903, + 1512029803, + 1512020103, + 1151202033 + ], + "SkillOverrideDest": [ + 1512020403, + 1512029803, + 1512029703 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_RobinS_00_Config.json", + "FrontShowSkillIDList": [ + 1512020403, + 1512029803, + 1512029703 + ], + "SkillOverrideSrc": [ + 151204, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.5400000005", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_RobinS_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_RobinS_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418315379, + "hash64": 4997265368159214821 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "225", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 1378917857, + "hash64": 15873019400840137695 + }, + "BackPowerBase": "225", + "BEID": 62555, + "ID": 151202, + "BackMaxSP": "140", + "BackEnergyBar": "12", + "BackInitialSP": "70" + }, + "ServantStarConfig": { + "JsonOverrideConfig": "", + "HPBase": "0", + "SpeedInherit": "#2", + "HPInherit": "#1", + "AIPath": "", + "ServantShowSkiilIDList": [], + "SkillOverrideSrc": [], + "SkillOverrideDest": [], + "SpeedBase": "0", + "SpeedSkill": 1512020403, + "Star": 3, + "ServantID": 1151202, + "HPSkill": 1512020403, + "ID": 151202, + "Aggro": "0" + }, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 15120201, + 15120202, + 15120203, + 15120204, + 15120205, + 15120206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_1512Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100602, + 200602, + 200902 + ], + "EquipmentID": 23063, + "AvatarID": 1512, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701512, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 2, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 151202 + }, + "Price": 2, + "MaxStar": 4, + "Star": 4, + "SellPrice": 0, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 1512020204, + 1512020304, + 1512020404, + 1512029904, + 1512029804, + 1512020104, + 1151202034 + ], + "BackShowSkillIDList": [ + 1512020204, + 1512020304, + 1512020404, + 1512029904, + 1512029804, + 1512020104, + 1151202034 + ], + "SkillOverrideDest": [ + 1512020404, + 1512029804, + 1512029704 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_RobinS_00_Config.json", + "FrontShowSkillIDList": [ + 1512020404, + 1512029804, + 1512029704 + ], + "SkillOverrideSrc": [ + 151204, + 0, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.7600000007", + "PropertyType": 1010 + }, + { + "Value": "0.4400000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_RobinS_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_RobinS_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418315382, + "hash64": 4275515943498224705 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "275", + "Star": 4, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 2138432744, + "hash64": 18197123223451714256 + }, + "BackPowerBase": "275", + "BEID": 62555, + "ID": 151202, + "BackMaxSP": "140", + "BackEnergyBar": "12", + "BackInitialSP": "70" + }, + "ServantStarConfig": { + "JsonOverrideConfig": "", + "HPBase": "0", + "SpeedInherit": "#2", + "HPInherit": "#1", + "AIPath": "", + "ServantShowSkiilIDList": [], + "SkillOverrideSrc": [], + "SkillOverrideDest": [], + "SpeedBase": "0", + "SpeedSkill": 1512020404, + "Star": 4, + "ServantID": 1151202, + "HPSkill": 1512020404, + "ID": 151202, + "Aggro": "0" + }, + "SaleQuoteKnown": false + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100602, + 200702 + ], + "EquipmentID": 0, + "AvatarID": 1513, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701513, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151302 + }, + "Price": 4, + "MaxStar": 3, + "Star": 1, + "SellPrice": 4, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1513029901, + 1513029801, + 1513022901 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_AventurineW_00_Config.json", + "FrontShowSkillIDList": [ + 1513029901, + 1513029801, + 1513022901 + ], + "SkillOverrideSrc": [ + 0, + 0, + 151329 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.4500000004", + "PropertyType": 1010 + }, + { + "Value": "0.3000000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_AventurineW_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_AventurineW_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418312178, + "hash64": 6277433982117174973 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "175", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62556, + "ID": 151302, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100602, + 200702 + ], + "EquipmentID": 0, + "AvatarID": 1513, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701513, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151302 + }, + "Price": 4, + "MaxStar": 3, + "Star": 2, + "SellPrice": 11, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1513029902, + 1513029802, + 1513022902 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_AventurineW_00_Config.json", + "FrontShowSkillIDList": [ + 1513029902, + 1513029802, + 1513022902 + ], + "SkillOverrideSrc": [ + 0, + 0, + 151329 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "0.8850000004", + "PropertyType": 1010 + }, + { + "Value": "0.4300000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_AventurineW_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_AventurineW_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418312179, + "hash64": 10045714532356451852 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "280", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62556, + "ID": 151302, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "", + "ChargeType": [], + "TraitList": [ + 100602, + 200702 + ], + "EquipmentID": 0, + "AvatarID": 1513, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3701513, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 4, + "IsExpert": 0, + "FrontBackType": 1, + "ID": 151302 + }, + "Price": 4, + "MaxStar": 3, + "Star": 3, + "SellPrice": 35, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [], + "BackShowSkillIDList": [], + "SkillOverrideDest": [ + 1513029903, + 1513029803, + 1513022903 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_AventurineW_00_Config.json", + "FrontShowSkillIDList": [ + 1513029903, + 1513029803, + 1513022903 + ], + "SkillOverrideSrc": [ + 0, + 0, + 151329 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "70", + "PropertyType": 1045 + }, + { + "Value": "1.3200000002", + "PropertyType": 1010 + }, + { + "Value": "0.5600000005", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_AventurineW_00_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_AventurineW_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 418312180, + "hash64": 12864202162856539563 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "500", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "BackPowerBase": "0", + "BEID": 62556, + "ID": 151302, + "BackMaxSP": "0", + "BackEnergyBar": "0", + "BackInitialSP": "0" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_PamRage.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100502 + ], + "EquipmentID": 0, + "AvatarID": 6042, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3706042, + "IsFakeAvatar": 1, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 604202 + }, + "Price": 5, + "MaxStar": 3, + "Star": 1, + "SellPrice": 5, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 604202021, + 604202031, + 604202041 + ], + "BackShowSkillIDList": [ + 604202021, + 604202031, + 604202041 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "0.6000000005", + "PropertyType": 1010 + }, + { + "Value": "0.4500000004", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Pam_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "100", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 480691750, + "hash64": 10682660054541903053 + }, + "BackPowerBase": "200", + "BEID": 62560, + "ID": 604202, + "BackMaxSP": "120", + "BackEnergyBar": "0", + "BackInitialSP": "60" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_PamRage.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100502 + ], + "EquipmentID": 0, + "AvatarID": 6042, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3706042, + "IsFakeAvatar": 1, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 604202 + }, + "Price": 5, + "MaxStar": 3, + "Star": 2, + "SellPrice": 14, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 604202022, + 604202032, + 604202042 + ], + "BackShowSkillIDList": [ + 604202022, + 604202032, + 604202042 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.6000000005", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Pam_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "160", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 2046775691, + "hash64": 12127031814618728108 + }, + "BackPowerBase": "320", + "BEID": 62560, + "ID": 604202, + "BackMaxSP": "120", + "BackEnergyBar": "0", + "BackInitialSP": "60" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_PamRage.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100502 + ], + "EquipmentID": 0, + "AvatarID": 6042, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3706042, + "IsFakeAvatar": 1, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 5, + "IsExpert": 0, + "FrontBackType": 2, + "ID": 604202 + }, + "Price": 5, + "MaxStar": 3, + "Star": 3, + "SellPrice": 44, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 604202023, + 604202033, + 604202043 + ], + "BackShowSkillIDList": [ + 604202023, + 604202033, + 604202043 + ], + "SkillOverrideDest": [], + "JsonOverrideConfig": "", + "FrontShowSkillIDList": [], + "SkillOverrideSrc": [], + "GeneralPropertyModifyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1017 + }, + { + "Value": "60", + "PropertyType": 1045 + }, + { + "Value": "5", + "PropertyType": 1010 + }, + { + "Value": "3", + "PropertyType": 1021 + } + ], + "AIPath": "", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_Pam_00", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 0, + "hash64": 0 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "220", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -682107664, + "hash64": 12370900151837365995 + }, + "BackPowerBase": "2000", + "BEID": 62560, + "ID": 604202, + "BackMaxSP": "120", + "BackEnergyBar": "0", + "BackInitialSP": "60" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 80090201, + 80090202, + 80090203, + 80090204, + 80090205, + 80090206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_8009Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100502, + 100802, + 200902 + ], + "EquipmentID": 0, + "AvatarID": 8009, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3708009, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 800902 + }, + "Price": 3, + "MaxStar": 3, + "Star": 1, + "SellPrice": 3, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 800902021, + 800902031, + 800902041, + 800902201, + 800902991, + 800902291 + ], + "BackShowSkillIDList": [ + 800902021, + 800902031, + 800902041, + 800902201, + 800902991, + 800902291 + ], + "SkillOverrideDest": [ + 800902041, + 800902991 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_PlayerBoy_40_Config.json", + "FrontShowSkillIDList": [ + 800902041, + 800902991 + ], + "SkillOverrideSrc": [ + 800904, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "0.3000000002", + "PropertyType": 1010 + }, + { + "Value": "0.2000000001", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_PlayerBoy_40_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_PlayerBoy_40", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 1067328791, + "hash64": 15399230313357566871 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "150", + "Star": 1, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": -617595363, + "hash64": 7235698354666835806 + }, + "BackPowerBase": "150", + "BEID": 62627, + "ID": 800902, + "BackMaxSP": "160", + "BackEnergyBar": "0", + "BackInitialSP": "80" + }, + "ServantStarConfig": null + }, + { + "Config": { + "BackendRankList": [ + 80090201, + 80090202, + 80090203, + 80090204, + 80090205, + 80090206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_8009Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100502, + 100802, + 200902 + ], + "EquipmentID": 0, + "AvatarID": 8009, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3708009, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 800902 + }, + "Price": 3, + "MaxStar": 3, + "Star": 2, + "SellPrice": 8, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 800902022, + 800902032, + 800902042, + 800902202, + 800902992, + 800902292 + ], + "BackShowSkillIDList": [ + 800902022, + 800902032, + 800902042, + 800902202, + 800902992, + 800902292 + ], + "SkillOverrideDest": [ + 800902042, + 800902992 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_PlayerBoy_40_Config.json", + "FrontShowSkillIDList": [ + 800902042, + 800902992 + ], + "SkillOverrideSrc": [ + 800904, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "0.6900000006", + "PropertyType": 1010 + }, + { + "Value": "0.3200000002", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_PlayerBoy_40_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_PlayerBoy_40", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 1067328790, + "hash64": 6461270550359654610 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "240", + "Star": 2, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 2111287992, + "hash64": 4817921986582583632 + }, + "BackPowerBase": "240", + "BEID": 62627, + "ID": 800902, + "BackMaxSP": "160", + "BackEnergyBar": "0", + "BackInitialSP": "80" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + }, + { + "Config": { + "BackendRankList": [ + 80090201, + 80090202, + 80090203, + 80090204, + 80090205, + 80090206 + ], + "MaxSPIcon": "SpriteOutput/GridFight/BattleIcon/BuffIcon/Icon_GridFight_8009Ultra.png", + "ChargeType": [ + 2, + 1, + 0 + ], + "TraitList": [ + 100502, + 100802, + 200902 + ], + "EquipmentID": 0, + "AvatarID": 8009, + "IsInBook": true, + "IsInPool": true, + "SpecialAvatarID": 3708009, + "IsFakeAvatar": 0, + "HealOrShieldDisplay": 2, + "SeasonID": 2, + "Rarity": 3, + "IsExpert": 0, + "FrontBackType": 0, + "ID": 800902 + }, + "Price": 3, + "MaxStar": 3, + "Star": 3, + "SellPrice": 26, + "StarConfig": { + "BackParamList": [], + "BESkillIDList": [ + 800902023, + 800902033, + 800902043, + 800902203, + 800902993, + 800902293 + ], + "BackShowSkillIDList": [ + 800902023, + 800902033, + 800902043, + 800902203, + 800902993, + 800902293 + ], + "SkillOverrideDest": [ + 800902043, + 800902993 + ], + "JsonOverrideConfig": "Config/ConfigCharacter/GridFight/4.7/Avatar_GridFight_S2_PlayerBoy_40_Config.json", + "FrontShowSkillIDList": [ + 800902043, + 800902993 + ], + "SkillOverrideSrc": [ + 800904, + 0 + ], + "GeneralPropertyModifyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1017 + }, + { + "Value": "80", + "PropertyType": 1045 + }, + { + "Value": "1.0800000000", + "PropertyType": 1010 + }, + { + "Value": "0.4400000004", + "PropertyType": 1021 + } + ], + "AIPath": "Config/ConfigAI/ComplexSkillAIGlobalGroup/GridFight/4.7/Avatar_GridFight_S2_PlayerBoy_40_ComplexSkillAI.json", + "ShowStanceList": [], + "BackAbilityName": "StageAbility_GridFight_S2_PlayerBoy_40", + "LuckDamage": "1", + "StanceDamageDisplay": "0", + "BackSpeedRewrite": "0", + "BackSpeedAddedRatio": "0", + "BackInitialEnergyBar": "0", + "ExtraShieldBase": "60", + "FrontOneWordDesc": { + "hash": 1067328789, + "hash64": 11119165674078358159 + }, + "ExtraHealBase": "60", + "FrontPowerBase": "330", + "Star": 3, + "LuckChance": "0.0500000000", + "BackOneWordDesc": { + "hash": 545204051, + "hash64": 2068444105543351306 + }, + "BackPowerBase": "330", + "BEID": 62627, + "ID": 800902, + "BackMaxSP": "160", + "BackEnergyBar": "0", + "BackInitialSP": "80" + }, + "ServantStarConfig": null, + "SaleQuoteKnown": true + } + ], + "captured_player_levels": [ + { + "GeneralPropertyList": [ + { + "Value": "0", + "PropertyType": 29 + }, + { + "Value": "0", + "PropertyType": 27 + } + ], + "Rarity3Weight": 0, + "Rarity1Weight": 100, + "LevelUpExp": 2, + "Rarity5Weight": 0, + "Rarity2Weight": 0, + "PlayerLevel": 1, + "Rarity4Weight": 0, + "AvatarMaxNumber": 1 + }, + { + "GeneralPropertyList": [ + { + "Value": "0", + "PropertyType": 29 + }, + { + "Value": "0", + "PropertyType": 27 + } + ], + "Rarity3Weight": 0, + "Rarity1Weight": 100, + "LevelUpExp": 2, + "Rarity5Weight": 0, + "Rarity2Weight": 0, + "PlayerLevel": 2, + "Rarity4Weight": 0, + "AvatarMaxNumber": 2 + }, + { + "GeneralPropertyList": [ + { + "Value": "0", + "PropertyType": 29 + }, + { + "Value": "0", + "PropertyType": 27 + } + ], + "Rarity3Weight": 0, + "Rarity1Weight": 75, + "LevelUpExp": 4, + "Rarity5Weight": 0, + "Rarity2Weight": 25, + "PlayerLevel": 3, + "Rarity4Weight": 0, + "AvatarMaxNumber": 3 + }, + { + "GeneralPropertyList": [ + { + "Value": "100", + "PropertyType": 29 + }, + { + "Value": "200", + "PropertyType": 27 + } + ], + "Rarity3Weight": 15, + "Rarity1Weight": 55, + "LevelUpExp": 6, + "Rarity5Weight": 0, + "Rarity2Weight": 30, + "PlayerLevel": 4, + "Rarity4Weight": 0, + "AvatarMaxNumber": 4 + }, + { + "GeneralPropertyList": [ + { + "Value": "200", + "PropertyType": 29 + }, + { + "Value": "400", + "PropertyType": 27 + } + ], + "Rarity3Weight": 20, + "Rarity1Weight": 45, + "LevelUpExp": 16, + "Rarity5Weight": 0, + "Rarity2Weight": 33, + "PlayerLevel": 5, + "Rarity4Weight": 2, + "AvatarMaxNumber": 5 + }, + { + "GeneralPropertyList": [ + { + "Value": "300", + "PropertyType": 29 + }, + { + "Value": "600", + "PropertyType": 27 + } + ], + "Rarity3Weight": 25, + "Rarity1Weight": 30, + "LevelUpExp": 36, + "Rarity5Weight": 0, + "Rarity2Weight": 40, + "PlayerLevel": 6, + "Rarity4Weight": 5, + "AvatarMaxNumber": 6 + }, + { + "GeneralPropertyList": [ + { + "Value": "450", + "PropertyType": 29 + }, + { + "Value": "900", + "PropertyType": 27 + } + ], + "Rarity3Weight": 40, + "Rarity1Weight": 19, + "LevelUpExp": 48, + "Rarity5Weight": 1, + "Rarity2Weight": 30, + "PlayerLevel": 7, + "Rarity4Weight": 10, + "AvatarMaxNumber": 7 + }, + { + "GeneralPropertyList": [ + { + "Value": "600", + "PropertyType": 29 + }, + { + "Value": "1200", + "PropertyType": 27 + } + ], + "Rarity3Weight": 32, + "Rarity1Weight": 18, + "LevelUpExp": 60, + "Rarity5Weight": 3, + "Rarity2Weight": 25, + "PlayerLevel": 8, + "Rarity4Weight": 22, + "AvatarMaxNumber": 8 + }, + { + "GeneralPropertyList": [ + { + "Value": "800", + "PropertyType": 29 + }, + { + "Value": "1600", + "PropertyType": 27 + } + ], + "Rarity3Weight": 25, + "Rarity1Weight": 15, + "LevelUpExp": 72, + "Rarity5Weight": 10, + "Rarity2Weight": 20, + "PlayerLevel": 9, + "Rarity4Weight": 30, + "AvatarMaxNumber": 9 + }, + { + "GeneralPropertyList": [ + { + "Value": "1000", + "PropertyType": 29 + }, + { + "Value": "2000", + "PropertyType": 27 + } + ], + "Rarity3Weight": 20, + "Rarity1Weight": 5, + "LevelUpExp": 0, + "Rarity5Weight": 25, + "Rarity2Weight": 10, + "PlayerLevel": 10, + "Rarity4Weight": 40, + "AvatarMaxNumber": 10 + } + ], + "chapters": [ + { + "HealNum": 20, + "ChapterID": 1 + }, + { + "HealNum": 20, + "ChapterID": 2 + }, + { + "HealNum": 20, + "ChapterID": 3 + } + ], + "node_types": [ + { + "name": "GridFightNodeNone", + "value": 0 + }, + { + "name": "Monster", + "value": 1 + }, + { + "name": "CampMonster", + "value": 2 + }, + { + "name": "EliteBranch", + "value": 3 + }, + { + "name": "Boss", + "value": 4 + }, + { + "name": "Supply", + "value": 5 + } + ], + "captured_monster_camps": [ + { + "ID": 1, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 100203025, + 100204030, + 100205028, + 100301039, + 1004016, + 100401201, + 102202029, + 800301021, + 800302025, + 800303021, + 800304017, + 501204001 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2011101, + 2013201 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_1004010.png", + "BossBattleArea": 0, + "InitialRandomCode": 1, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 1, + "IfRandomEnabled": 1, + "CampName": { + "hash": 1984840352, + "hash64": 9407187405023584149 + } + }, + "Season": { + "MonsterList": [ + 100203025, + 100204030, + 100205028, + 100301039, + 1004016, + 100401201, + 102202029, + 800301021, + 800302025, + 800303021, + 800304017, + 501204001 + ], + "SeasonID": 2, + "CampID": 1 + } + }, + { + "ID": 2, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 100203025, + 100204030, + 100205028, + 100301039, + 1004028, + 100402301, + 102202029, + 800301021, + 800302025, + 800303021, + 800304017, + 100402302 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2011101, + 2013201 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_1004020.png", + "BossBattleArea": 0, + "InitialRandomCode": 1, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 2, + "IfRandomEnabled": 1, + "CampName": { + "hash": 1581555825, + "hash64": 8698809423069150552 + } + }, + "Season": { + "MonsterList": [ + 100203025, + 100204030, + 100205028, + 100301039, + 1004028, + 100402301, + 102202029, + 800301021, + 800302025, + 800303021, + 800304017, + 100402302 + ], + "SeasonID": 2, + "CampID": 2 + } + }, + { + "ID": 4, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 101201023, + 101202113, + 101203019, + 101301027, + 101302037, + 1014016, + 101401201, + 102301021, + 102302009 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2012301, + 2012302 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_1014010.png", + "BossBattleArea": 0, + "InitialRandomCode": 2, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 4, + "IfRandomEnabled": 1, + "CampName": { + "hash": -1550612057, + "hash64": 2612533532061572344 + } + }, + "Season": { + "MonsterList": [ + 101201023, + 101202113, + 101203019, + 101301027, + 101302037, + 1014016, + 101401201, + 102301021, + 102302009 + ], + "SeasonID": 2, + "CampID": 4 + } + }, + { + "ID": 5, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 101201023, + 101203019, + 102301021, + 102302009, + 300201010, + 300203016, + 300301009, + 300302009, + 302402204, + 302402301 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2012301, + 2012302 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_3024020.png", + "BossBattleArea": 2031102, + "InitialRandomCode": 2, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 5, + "IfRandomEnabled": 1, + "CampName": { + "hash": 15471884, + "hash64": 1710833621805425667 + } + }, + "Season": { + "MonsterList": [ + 101201023, + 101203019, + 102301021, + 102302009, + 300201010, + 300203016, + 300301009, + 300302009, + 302402204, + 302402301 + ], + "SeasonID": 2, + "CampID": 5 + } + }, + { + "ID": 6, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 200201014, + 200203009, + 200402403, + 200402202, + 201101005, + 201102005, + 201201013, + 201301103, + 201302014, + 202302016 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 1020204, + 2021101, + 2023101 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_2004020.png", + "BossBattleArea": 0, + "InitialRandomCode": 3, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 6, + "IfRandomEnabled": 1, + "CampName": { + "hash": -387812643, + "hash64": 12443839821456862950 + } + }, + "Season": { + "MonsterList": [ + 200201014, + 200203009, + 200402403, + 200402202, + 201101005, + 201102005, + 201201013, + 201301103, + 201302014, + 202302016 + ], + "SeasonID": 2, + "CampID": 6 + } + }, + { + "ID": 8, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 202201016, + 202202012, + 202204006, + 202205008, + 202206014, + 202211011, + 202301015, + 202302016, + 202303018, + 202401012, + 202401203, + 501205001 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2021101, + 2023101, + 2022301 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_2024010.png", + "BossBattleArea": 2022202, + "InitialRandomCode": 4, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 8, + "IfRandomEnabled": 1, + "CampName": { + "hash": 62526051, + "hash64": 13460091850581045481 + } + }, + "Season": { + "MonsterList": [ + 202201016, + 202202012, + 202204006, + 202205008, + 202206014, + 202211011, + 202301015, + 202302016, + 202303018, + 202401012, + 202401203, + 501205001 + ], + "SeasonID": 2, + "CampID": 8 + } + }, + { + "ID": 10, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 300101007, + 300102007, + 300201010, + 300203016, + 300301009, + 300302009, + 300401003, + 300401101, + 300303009, + 300304003, + 300305008, + 300303103, + 300304104, + 300305103, + 300303301, + 300304301, + 300305301, + 501201001, + 501203002 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2033202, + 2031101, + 2033203 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_3004010.png", + "BossBattleArea": 2033202, + "InitialRandomCode": 5, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 10, + "IfRandomEnabled": 1, + "CampName": { + "hash": 1363101200, + "hash64": 6924987012083114092 + } + }, + "Season": { + "MonsterList": [ + 300101007, + 300102007, + 300201010, + 300203016, + 300301009, + 300302009, + 300401003, + 300401101, + 300303009, + 300304003, + 300305008, + 300303103, + 300304104, + 300305103, + 300303301, + 300304301, + 300305301, + 501201001, + 501203002 + ], + "SeasonID": 2, + "CampID": 10 + } + }, + { + "ID": 12, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 302401011, + 302401104, + 800201022, + 800301021, + 800302025, + 800303021, + 800305021, + 801201034, + 801202016, + 801203011 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 1000001, + 2033101, + 2000401 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_3024010.png", + "BossBattleArea": 0, + "InitialRandomCode": 6, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 12, + "IfRandomEnabled": 1, + "CampName": { + "hash": 1363101202, + "hash64": 16283735181816256729 + } + }, + "Season": { + "MonsterList": [ + 302401011, + 302401104, + 800201022, + 800301021, + 800302025, + 800303021, + 800305021, + 801201034, + 801202016, + 801203011 + ], + "SeasonID": 2, + "CampID": 12 + } + }, + { + "ID": 13, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 200401202, + 2004015, + 800201022, + 800301021, + 800302025, + 800304017, + 800305021, + 801201034, + 801202016, + 801203011, + 501206001 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2021101, + 2000201, + 2023101 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_2004010.png", + "BossBattleArea": 0, + "InitialRandomCode": 6, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 13, + "IfRandomEnabled": 1, + "CampName": { + "hash": 1363101201, + "hash64": 4039106562829658824 + } + }, + "Season": { + "MonsterList": [ + 200401202, + 2004015, + 800201022, + 800301021, + 800302025, + 800304017, + 800305021, + 801201034, + 801202016, + 801203011, + 501206001 + ], + "SeasonID": 2, + "CampID": 13 + } + }, + { + "ID": 15, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 401201014, + 401202007, + 401203007, + 401204004, + 401301007, + 401401501, + 401402003, + 402201002, + 402301004, + 402302003 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2041103, + 1040101, + 2041101 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_4014010.png", + "BossBattleArea": 0, + "InitialRandomCode": 7, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 15, + "IfRandomEnabled": 1, + "CampName": { + "hash": 1363101195, + "hash64": 18419909674476077807 + } + }, + "Season": { + "MonsterList": [ + 401201014, + 401202007, + 401203007, + 401204004, + 401301007, + 401401501, + 401402003, + 402201002, + 402301004, + 402302003 + ], + "SeasonID": 2, + "CampID": 15 + } + }, + { + "ID": 17, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 402301004, + 402302003, + 403201001, + 403203001, + 403204001, + 403205001, + 403301003, + 403302001, + 403303001, + 403401003, + 4034016 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2042102, + 2046101, + 2048101 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_4034010.png", + "BossBattleArea": 0, + "InitialRandomCode": 8, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 17, + "IfRandomEnabled": 1, + "CampName": { + "hash": 1363101197, + "hash64": 5121458686211953161 + } + }, + "Season": { + "MonsterList": [ + 402301004, + 402302003, + 403201001, + 403203001, + 403204001, + 403205001, + 403301003, + 403302001, + 403303001, + 403401003, + 4034016 + ], + "SeasonID": 2, + "CampID": 17 + } + }, + { + "ID": 23, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 402201002, + 403201001, + 403205001, + 403301003, + 403303001, + 403302005, + 404401001, + 404401002, + 405201003, + 405202001, + 405301004, + 405302001 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2042101, + 2042102, + 1040201 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_4044010.png", + "BossBattleArea": 1040201, + "InitialRandomCode": 8, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 23, + "IfRandomEnabled": 1, + "CampName": { + "hash": 959816674, + "hash64": 16791019247041661509 + } + }, + "Season": { + "MonsterList": [ + 402201002, + 403201001, + 403205001, + 403301003, + 403303001, + 403302005, + 404401001, + 404401002, + 405201003, + 405202001, + 405301004, + 405302001 + ], + "SeasonID": 2, + "CampID": 23 + } + }, + { + "ID": 24, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 402201002, + 403201001, + 403205001, + 403301003, + 403303001, + 403302005, + 406201006, + 406202001, + 406301002, + 406401001, + 406401101 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2043201, + 2041101, + 2046201 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_4064010.png", + "BossBattleArea": 0, + "InitialRandomCode": 10, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 24, + "IfRandomEnabled": 1, + "CampName": { + "hash": 959816669, + "hash64": 13570995326280411166 + } + }, + "Season": { + "MonsterList": [ + 402201002, + 403201001, + 403205001, + 403301003, + 403303001, + 403302005, + 406201006, + 406202001, + 406301002, + 406401001, + 406401101 + ], + "SeasonID": 2, + "CampID": 24 + } + }, + { + "ID": 25, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 102301021, + 102302009, + 300201010, + 300303009, + 300304003, + 300305008, + 301202004, + 3024031, + 3024032, + 501201001, + 501203002, + 802201002, + 802202005, + 802203002 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2033203, + 2033101, + 1030701 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_3024030.png", + "BossBattleArea": 1030701, + "InitialRandomCode": 11, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 25, + "IfRandomEnabled": 1, + "CampName": { + "hash": 959816668, + "hash64": 18109138702383773965 + } + }, + "Season": { + "MonsterList": [ + 102301021, + 102302009, + 300201010, + 300303009, + 300304003, + 300305008, + 301202004, + 3024031, + 3024032, + 501201001, + 501203002, + 802201002, + 802202005, + 802203002 + ], + "SeasonID": 2, + "CampID": 25 + } + }, + { + "ID": 26, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 501201001, + 501203002, + 501204001, + 501205001, + 501206001, + 501301001, + 501303001, + 501401001, + 5014012 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 1050101, + 2050101, + 2050301 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_5014010.png", + "BossBattleArea": 2050101, + "InitialRandomCode": 12, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 26, + "IfRandomEnabled": 1, + "CampName": { + "hash": 959816671, + "hash64": 253238459080579966 + } + }, + "Season": { + "MonsterList": [ + 501201001, + 501203002, + 501204001, + 501205001, + 501206001, + 501301001, + 501303001, + 501401001, + 5014012 + ], + "SeasonID": 2, + "CampID": 26 + } + }, + { + "ID": 27, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 300203016, + 501201001, + 501209002, + 501304002, + 501305001, + 501402003, + 803201013, + 803202014, + 803301015, + 5014021, + 501306003, + 501307002 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2051101, + 2050301, + 2051301 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_5014020.png", + "BossBattleArea": 2051102, + "InitialRandomCode": 13, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 27, + "IfRandomEnabled": 1, + "CampName": { + "hash": 959816670, + "hash64": 6931580918376033844 + } + }, + "Season": { + "MonsterList": [ + 300203016, + 501201001, + 501209002, + 501304002, + 501305001, + 501402003, + 803201013, + 803202014, + 803301015, + 5014021, + 501306003, + 501307002 + ], + "SeasonID": 2, + "CampID": 27 + } + }, + { + "ID": 28, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 202204006, + 202205008, + 202302016, + 202303018, + 501201001, + 501203002, + 502301001, + 502401001, + 501210001, + 5024012 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2052101, + 2052102, + 2051301 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_5024010.png", + "BossBattleArea": 2052102, + "InitialRandomCode": 14, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 28, + "IfRandomEnabled": 1, + "CampName": { + "hash": 959816665, + "hash64": 3520709436839180144 + } + }, + "Season": { + "MonsterList": [ + 202204006, + 202205008, + 202302016, + 202303018, + 501201001, + 501203002, + 502301001, + 502401001, + 501210001, + 5024012 + ], + "SeasonID": 2, + "CampID": 28 + } + }, + { + "ID": 29, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 501201001, + 501203002, + 501301001, + 501303001, + 501210001, + 501403001, + 5014032, + 502302003, + 501202003, + 501211003 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2053101, + 2054101, + 2053102 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_5014030.png", + "BossBattleArea": 2053102, + "InitialRandomCode": 15, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 29, + "IfRandomEnabled": 1, + "CampName": { + "hash": 959816664, + "hash64": 1837948462192283227 + } + }, + "Season": { + "MonsterList": [ + 501201001, + 501203002, + 501301001, + 501303001, + 501210001, + 501403001, + 5014032, + 502302003, + 501202003, + 501211003 + ], + "SeasonID": 2, + "CampID": 29 + } + }, + { + "ID": 30, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 405201003, + 405202001, + 405301004, + 503401003, + 5034012, + 803302003, + 503301001, + 803204002, + 503204001 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2055101, + 2000201, + 2056101 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_5034010.png", + "BossBattleArea": 2056101, + "InitialRandomCode": 14, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 30, + "IfRandomEnabled": 1, + "CampName": { + "hash": -1769066682, + "hash64": 9542590526590342305 + } + }, + "Season": { + "MonsterList": [ + 405201003, + 405202001, + 405301004, + 503401003, + 5034012, + 803302003, + 503301001, + 803204002, + 503204001 + ], + "SeasonID": 2, + "CampID": 30 + } + }, + { + "ID": 31, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 202201016, + 202206014, + 202211011, + 202301015, + 202303018, + 203401004, + 2034017, + 203301010, + 203201005, + 203202006 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2024201, + 2024202, + 2024101 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_2034010.png", + "BossBattleArea": 2024101, + "InitialRandomCode": 4, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 31, + "IfRandomEnabled": 1, + "CampName": { + "hash": -1769066683, + "hash64": 2770929889697456668 + } + }, + "Season": { + "MonsterList": [ + 202201016, + 202206014, + 202211011, + 202301015, + 202303018, + 203401004, + 2034017, + 203301010, + 203201005, + 203202006 + ], + "SeasonID": 2, + "CampID": 31 + } + }, + { + "ID": 32, + "SeasonID": 2, + "Common": { + "MonsterList": [ + 803201013, + 803202014, + 803301015, + 803401006, + 8034013, + 803302003, + 803204002, + 203301010 + ], + "IconPath": "SpriteOutput/BuffIcon/Inlevel/IconDeBuffCommon.png", + "BattleAreaList": [ + 2033202, + 2057201, + 2032102 + ], + "ShowPicPath": "SpriteOutput/MonsterMiddleIcon/Monster_8034010.png", + "BossBattleArea": 2032102, + "InitialRandomCode": 6, + "CampDesc": { + "hash": 0, + "hash64": 0 + }, + "ID": 32, + "IfRandomEnabled": 1, + "CampName": { + "hash": -1769066680, + "hash64": 2220714457354796613 + } + }, + "Season": { + "MonsterList": [ + 803201013, + 803202014, + 803301015, + 803401006, + 8034013, + 803302003, + 803204002, + 203301010 + ], + "SeasonID": 2, + "CampID": 32 + } + } + ] +} diff --git a/resources/CurrencyWarsEnemyPlans.json b/resources/CurrencyWarsEnemyPlans.json new file mode 100644 index 0000000..052cd8d --- /dev/null +++ b/resources/CurrencyWarsEnemyPlans.json @@ -0,0 +1,41 @@ +{ + "format_version": 1, + "target_client_version": "4.6.53", + "target_assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "source_binary_sha256": "a02743d89dd75a024f83e37b35ed125f1781a90e70bfb47341dd81ff3d541858", + "source_snapshot_sha256": "d726c05a37b68ffe8d99362d2f0a8da2dc36248bcbdca44b282f17bc55a50ed3", + "source_plan_range": [ + 158, + 309 + ], + "source_plan_sha256": "30b4ae1d95103e6f56064f878b936fa7be8e5f5fa7fcfd21606f48fd5134679f", + "target_stage_capture_sha256": "dd7332058ab22fe5b658fe42da9fb4f9f1826df73a658821c52fab943eb04f58", + "scope": "Captured native wave parameters joined to current Client stage scalars. Monster identities/stars come from the live saved layer; no reference party copied. Second-node entry only; complete combat modifiers and later progression remain incomplete.", + "entries": [ + { + "route_id": 2801, + "chapter_id": 1, + "section_id": 2, + "division_id": 20101, + "is_overclock": false, + "penalty_id": 92013, + "stage_id": 70000003, + "level": 90, + "hard_level_group": 1, + "elite_group": 1801, + "extra_difficulty": 0, + "waves": [ + { + "wave_id": 1, + "formation_wave_id": 5, + "monster_count": 3 + }, + { + "wave_id": 2, + "formation_wave_id": 5, + "monster_count": 5 + } + ] + } + ] +} diff --git a/resources/CurrencyWarsEntryTransitions.json b/resources/CurrencyWarsEntryTransitions.json new file mode 100644 index 0000000..6cc521f --- /dev/null +++ b/resources/CurrencyWarsEntryTransitions.json @@ -0,0 +1,75 @@ +{ + "format_version": 1, + "target_client_version": "4.6.53", + "target_assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "source_binary_sha256": "a02743d89dd75a024f83e37b35ed125f1781a90e70bfb47341dd81ff3d541858", + "scope": "Reference initial-entry outcomes only. Fixed starter outcomes; current Client portal effect formulas and procedural progression remain incomplete.", + "choices": [ + { + "division_id": 20101, + "season_id": 2, + "is_overclock": false, + "portal_id": 121, + "before_queue": 1, + "after_wire": "GAIqBTACoiYAMgkqB/qvFc6M2hBIuQFSnwEaDQgEKgZKAvVOcGniFAAaTwgIKgZKAulScGmqLUJ6BAgBEAJ6BAgDEAR6BAgLEAB6BAgCEAJ6BAgEEAZ6BAgFEBB6BAgGECR6BAgHEDB6BAgIEDx6BAgJEEh6BAgKEAAaDAgJKgVKAQBwBfo1ABoNCBMqBkoCyT5wb/pfABoPCDgqBkoCwxdwa7plAiACGg8IXioGSgLdH3BrumUCIAFiJ2IlCGQQBRgKIAYwCTgDQANQZFgDYASyGARgA3gG0jQE1fuxA4JRAGKfAwqcAyplGAEospAGMAM4DkIFCCAQtAFCBQgsELACQgUINRDgA0IFCDkQ8AFCBQj1BxBkQgUI9gcQZEIFCPsHEGRCBQghEOADQgUIIhC4A0IFCDEQtAFCBQg0EPABQgUIOxDCA0IFCIEIEGQqZRgBKNbJCDAEOA9CBQj7BxBkQgUIgQgQZEIFCCAQtAFCBQghEOADQgUIORDwAUIFCDsQwgNCBQj1BxBkQgUI9gcQZEIFCCIQuANCBQgsELACQgUIMRC0AUIFCDQQ8AFCBQg1EOADKmUYASjyyAgwBTgQQgUIIBC0AUIFCDkQ8AFCBQj2BxBkQgUI+wcQZEIFCIEIEGRCBQghEOADQgUIIhC4A0IFCCwQsAJCBQgxELQBQgUINBDwAUIFCDUQ4ANCBQg7EMIDQgUI9QcQZCplGAEoqvwHMAY4EUIFCCEQ4ANCBQgxELQBQgUINBDwAUIFCDUQ4ANCBQg7EMIDQgUI9gcQZEIFCIEIEGRCBQgiELgDQgUILBCwAkIFCDkQ8AFCBQj1BxBkQgUI+wcQZEIFCCAQtAFiAjIAYtMBetABChgSBBBLKAESBBAZKAISAigDEgIoBBICKAVoAnqxAbKQBpaRBt7dBqbfBu7gBuLkBu6rB9KsB7atB+KvB6qxB46yB/KyB9azB7q0B561B+a2B8q3B5K5B/a5B9q6B6K8B4a9B+L6B6r8B479B/L9B9b+B7r/B+aBCMqCCK6DCPaECIaICMbGCKrHCI7ICPLICNbJCLrKCJ7LCILMCObMCMrNCJLPCPbPCL7RCNaUCbqVCZ6WCYKXCeaXCcqYCa6ZCdqbCb6cCaKdCYaeCYbxMGICGgBiuwMSuAMaHRIICPmai+8BMAESCAir0q3AATABEgcImsrHXzABKAEyAmAdMgJgETICYAY48RVAAVoAYhcIASgBQhEQgbuwITIChAc4jtEFYAVwAWIaCAIoAUIUEIO7sCEgATIBZTjtzgVAAWAKcAJiEAgDKAFCChCFu7AhMgEBcAViFggEKAFCEBCGu7AhMgFxOO7OBWAKcANiFwgFKAFCERCIu7AhMgKGBzis0AVgCnABYhYIBigBQhAQibuwITIBaTjIzwVgD3AEYhsIASgCQhUQiruwISABMgLJATj3zgVAAWAKcAJiEAgCKAJCChCMu7AhMgECcAViFwgDKAJCERCNu7AhMgLVATj4zgVgCnADYhcIBCgCQhEQj7uwITIChwc4rdAFYApwAWIXCAUoAkIREJC7sCEyAs0BOMnPBWAPcARiGQgBKANCExCRu7AhMgKtAjiBzwVAAWAKcAJiEAgCKANCChCTu7AhMgEDcAViFwgDKANCERCUu7AhMgLNAjiCzwVgCnADYhcIBCgDQhEQlruwITICiAc4rtAFYApwAWIVCAUoA0IPEJe7sCEyAusXOMrPBXAEcgIaAGICQgBiGFIWQgkyBMc+yT5Yxz5CCTIEg1aEVliDVmIAYh9qHTCSAUIJCMKTBhDdu4gwQgkI0pYGENPwoDBYjZw9YgPSZwBiAioAYg2CfAoaCAgBQMvTBkgJcIWdAQ==", + "notify_wire": "EglyBbJSAjB5eAMSrwNyA9hfA3Jo2m9lGAEospAGMAM4DkIFCIEIEGRCBQggELQBQgUIIhC4A0IFCDkQ8AFCBQg7EMIDQgUILBCwAkIFCPYHEGRCBQj7BxBkQgUIIRDgA0IFCDEQtAFCBQg0EPABQgUI9QcQZEIFCDUQ4ANyaNpvZRgBKNbJCDAEOA9CBQggELQBQgUIIRDgA0IFCPYHEGRCBQgiELgDQgUILBCwAkIFCDEQtAFCBQg5EPABQgUI9QcQZEIFCDQQ8AFCBQg7EMIDQgUI+wcQZEIFCDUQ4ANCBQiBCBBkcmjab2UYASjyyAgwBTgQQgUIMRC0AUIFCDkQ8AFCBQj1BxBkQgUI9gcQZEIFCCAQtAFCBQghEOADQgUIIhC4A0IFCDUQ4ANCBQj7BxBkQgUIgQgQZEIFCDQQ8AFCBQgsELACQgUIOxDCA3Jo2m9lGAEoqvwHMAY4EUIFCDkQ8AFCBQiBCBBkQgUIOxDCA0IFCDEQtAFCBQg0EPABQgUIIBC0AUIFCCIQuANCBQg1EOADQgUI9QcQZEIFCPYHEGRCBQj7BxBkQgUIIRDgA0IFCCwQsAJ4AhIKcgOocQFyA8oZABI6cji6YTUiL+ICLFATWiYKIFgBYggIxLzC/QIwAWIICMS8wv0CMAFiCAjEvML9AjABWI7RBWgBMAFgARITcgfKGQRgA3gGcgiKbgUwAqImAA==", + "after_sha256": "3d4c8d281c72b30fdb80f781ee5646ea36522fd196b8cd2476838e7fee65f052", + "notify_sha256": "6cc6c69d0ebd70e7fd2459c8c4b804306899daa6234f1219dab1a53fcc7e2438" + }, + { + "division_id": 20101, + "season_id": 2, + "is_overclock": false, + "portal_id": 136, + "before_queue": 1, + "after_wire": "GAIqBTACoiYAMgkqB/qvFc6M2hBI3gFSnwEaDQgEKgZKAvVOcGniFAAaTwgIKgZKAulScGmqLUJ6BAgBEAJ6BAgCEAJ6BAgEEAZ6BAgGECR6BAgHEDB6BAgIEDx6BAgKEAB6BAgLEAB6BAgDEAR6BAgFEBB6BAgJEEgaDAgJKgVKAQBwBfo1ABoNCBMqBkoCyT5wb/pfABoPCDgqBkoCwxdwa7plAiACGg8IXioGSgLdH3BrumUCIAFiJ2IlCGQQBRgKIAYwCTgDQANQZFgDYASyGARgA3gG0jQE1fuxA4JRAGKGBAqDBCplGAEo9s8IMAM4DkIFCCAQtAFCBQghEOADQgUINBDwAUIFCDkQ8AFCBQg7EMIDQgUI9gcQZEIFCIEIEGRCBQgiELgDQgUILBCwAkIFCDEQtAFCBQg1EOADQgUI9QcQZEIFCPsHEGQqZRgBKPbPCDAEOA9CBQg7EMIDQgUI9QcQZEIFCPYHEGRCBQgiELgDQgUINBDwAUIFCDkQ8AFCBQj7BxBkQgUIgQgQZEIFCCAQtAFCBQghEOADQgUILBCwAkIFCDEQtAFCBQg1EOADKmUYASiugwgwBTgQQgUIIBC0AUIFCCIQuANCBQgsELACQgUIOxDCA0IFCPUHEGRCBQj2BxBkQgUIgQgQZEIFCCEQ4ANCBQgxELQBQgUINBDwAUIFCDUQ4ANCBQg5EPABQgUI+wcQZCplGAEousoIMAY4EUIFCCIQuANCBQgsELACQgUINBDwAUIFCDsQwgNCBQj1BxBkQgUI9gcQZEIFCCAQtAFCBQgxELQBQgUINRDgA0IFCDkQ8AFCBQj7BxBkQgUIgQgQZEIFCCEQ4AMqZRgCKKK8BzAHOBJCBQg1EOADQgUIOxDCA0IFCPUHEGRCBQj2BxBkQgUIIhC4A0IFCCwQsAJCBQgxELQBQgUIORDwAUIFCPsHEGRCBQiBCBBkQgUIIBC0AUIFCCEQ4ANCBQg0EPABYgIyAGLTAXrQAQoYEgQQSygBEgQQGSgCEgIoAxICKAQSAigFaAJ6sQGykAaWkQbe3Qam3wbu4Abi5AbuqwfSrAe2rQfirweqsQeOsgfysgfWswe6tAeetQfmtgfKtweSuQf2uQfaugeivAeGvQfi+geq/AeO/Qfy/QfW/ge6/wfmgQjKggiugwj2hAiGiAjGxgiqxwiOyAjyyAjWyQi6ygieywiCzAjmzAjKzQiSzwj2zwi+0QjWlAm6lQmelgmClwnmlwnKmAmumQnamwm+nAminQmGngmG8TBiAhoAYroDErcDGhwSCAiT0bO/ATABEggI6d/kwQEwARIGCOGSfDABKAEyAmAPMgJgGDICYB848RVAAVoAYhcIASgBQhEQgbuwITIChAc4jtEFYAVwAWIaCAIoAUIUEIO7sCEgATIBZTjtzgVAAWAKcAJiEAgDKAFCChCFu7AhMgEBcAViFggEKAFCEBCGu7AhMgFxOO7OBWAKcANiFwgFKAFCERCIu7AhMgKGBzis0AVgCnABYhYIBigBQhAQibuwITIBaTjIzwVgD3AEYhsIASgCQhUQiruwISABMgLJATj3zgVAAWAKcAJiEAgCKAJCChCMu7AhMgECcAViFwgDKAJCERCNu7AhMgLVATj4zgVgCnADYhcIBCgCQhEQj7uwITIChwc4rdAFYApwAWIXCAUoAkIREJC7sCEyAs0BOMnPBWAPcARiGQgBKANCExCRu7AhMgKtAjiBzwVAAWAKcAJiEAgCKANCChCTu7AhMgEDcAViFwgDKANCERCUu7AhMgLNAjiCzwVgCnADYhcIBCgDQhEQlruwITICiAc4rtAFYApwAWIVCAUoA0IPEJe7sCEyAusXOMrPBXAEcgIaAGICQgBiGFIWQgkyBMc+yT5Yxz5CCTIEg1aEVliDVmIAYh9qHTDNAUIJCMKTBhDeu4gwQgkI0pYGENXwoDBYjZw9YgPSZwBiAioAYg2CfAoaCAgBQPrDBkgHcIWdAQ==", + "notify_wire": "EnAqAogBcmjab2UYAiiivAcwBzgSQgUIgQgQZEIFCCEQ4ANCBQg0EPABQgUI9gcQZEIFCCwQsAJCBQg7EMIDQgUIIBC0AUIFCDEQtAFCBQg5EPABQgUI9QcQZEIFCCIQuANCBQg1EOADQgUI+wcQZHgDEgpyBrJSAzCIAXgDEpkEcgPYXwNyaNpvZRgBKPbPCDADOA5CBQg5EPABQgUIIhC4A0IFCDsQwgNCBQj2BxBkQgUIMRC0AUIFCDUQ4ANCBQj1BxBkQgUI+wcQZEIFCIEIEGRCBQggELQBQgUIIRDgA0IFCCwQsAJCBQg0EPABcmjab2UYASj2zwgwBDgPQgUIIRDgA0IFCPYHEGRCBQj7BxBkQgUIIBC0AUIFCDsQwgNCBQj1BxBkQgUILBCwAkIFCDQQ8AFCBQg5EPABQgUIIhC4A0IFCDEQtAFCBQg1EOADQgUIgQgQZHJo2m9lGAEoroMIMAU4EEIFCDkQ8AFCBQg7EMIDQgUIIBC0AUIFCDQQ8AFCBQg1EOADQgUIgQgQZEIFCCwQsAJCBQj1BxBkQgUIMRC0AUIFCPYHEGRCBQj7BxBkQgUIIRDgA0IFCCIQuANyaNpvZRgBKLrKCDAGOBFCBQj1BxBkQgUIOxDCA0IFCIEIEGRCBQgxELQBQgUINBDwAUIFCPYHEGRCBQggELQBQgUINRDgA0IFCPsHEGRCBQghEOADQgUIIhC4A0IFCCwQsAJCBQg5EPABcmjab2UYAiiivAcwBzgSQgUIIBC0AUIFCCEQ4ANCBQgxELQBQgUINBDwAUIFCDkQ8AFCBQg7EMIDQgUIIhC4A0IFCDUQ4ANCBQj2BxBkQgUILBCwAkIFCPUHEGRCBQj7BxBkQgUIgQgQZHgCEgpyA6hxAXIDyhkAEjpyOLphNSIv4gIsUBJaJgogWAFiCAiFrcL9AjABYggInKXC/QIwAWIICIWtwv0CMAFYjtEFaAEwAWABEhNyB8oZBGADeAZyCIpuBTACoiYA", + "after_sha256": "0dee290eb44e06a32c13fa51a235f3f8ba48db5ebed7c47d4706f211eb545d30", + "notify_sha256": "7e1e5b7b4b4171af5484462437144f1f5b0f9a095b84d7027ef960dd5a7bc25d" + }, + { + "division_id": 20101, + "season_id": 2, + "is_overclock": false, + "portal_id": 116, + "before_queue": 1, + "after_wire": "GAIqBTACoiYAMgkqB/qvFc6M2hBISVKfARoNCAQqBkoC9U5waeIUABpPCAgqBkoC6VJwaaotQnoECAQQBnoECAYQJHoECAgQPHoECAMQBHoECAUQEHoECAcQMHoECAkQSHoECAoQAHoECAsQAHoECAEQAnoECAIQAhoMCAkqBUoBAHAF+jUAGg0IEyoGSgLJPnBv+l8AGg8IOCoGSgLDF3BrumUCIAIaDwheKgZKAt0fcGu6ZQIgAWInYiUIZBAFGAogBzAJOANAA1BkWANgBLIYBGADeAbSNATV+7EDglEAYqwDCqkDEgsIBxgGMgMDBAVYCyplGAEojrIHMAc4DkIFCDkQ8AFCBQg7EMIDQgUI9QcQZEIFCPYHEGRCBQggELQBQgUILBCwAkIFCDUQ4ANCBQj7BxBkQgUIgQgQZEIFCCEQ4ANCBQgiELgDQgUIMRC0AUIFCDQQ8AEqZRgBKMrNCDAIOA9CBQj2BxBkQgUI+wcQZEIFCCwQsAJCBQgxELQBQgUINBDwAUIFCDUQ4ANCBQg7EMIDQgUIgQgQZEIFCCAQtAFCBQghEOADQgUIIhC4A0IFCDkQ8AFCBQj1BxBkKmUYASiykAYwCTgQQgUIIBC0AUIFCDEQtAFCBQg0EPABQgUINRDgA0IFCDsQwgNCBQj7BxBkQgUIIRDgA0IFCCIQuANCBQgsELACQgUIORDwAUIFCPUHEGRCBQj2BxBkQgUIgQgQZCplGAEospAGMAo4EUIFCDsQwgNCBQiBCBBkQgUIIRDgA0IFCCIQuANCBQgsELACQgUINRDgA0IFCPUHEGRCBQj2BxBkQgUI+wcQZEIFCCAQtAFCBQgxELQBQgUINBDwAUIFCDkQ8AFiLDIqKgwIARAEWANo5tGpqQEqDAgBEARYBGjq36+pASoMCAEQBFgFaPbbr6kBYtMBetABChgSBBBLKAESBBAZKAISAigDEgIoBBICKAVoAnqxAbKQBpaRBt7dBqbfBu7gBuLkBu6rB9KsB7atB+KvB6qxB46yB/KyB9azB7q0B561B+a2B8q3B5K5B/a5B9q6B6K8B4a9B+L6B6r8B479B/L9B9b+B7r/B+aBCMqCCK6DCPaECIaICMbGCKrHCI7ICPLICNbJCLrKCJ7LCILMCObMCMrNCJLPCPbPCL7RCNaUCbqVCZ6WCYKXCeaXCcqYCa6ZCdqbCb6cCaKdCYaeCYbxMGICGgBiyQMSxgMaHBIICJOTi+8BMAESBwifybgBMAESBwiaysdfMAEoATICYBsyAmAZMgJgBjjxFUABWgBiFwgBKAFCERCBu7AhMgKEBziO0QVgBXABYhoIAigBQhQQg7uwISABMgFlOO3OBUABYApwAmIQCAMoAUIKEIW7sCEyAQFwBWIWCAQoAUIQEIa7sCEyAXE47s4FYApwA2ImCAUoAUIgEIi7sCEaBdAj9pwGMgKGBzis0AVYAWAKcAF6BJnM7gRiFggGKAFCEBCJu7AhMgFpOMjPBWAPcARiGwgBKAJCFRCKu7AhIAEyAskBOPfOBUABYApwAmIQCAIoAkIKEIy7sCEyAQJwBWIXCAMoAkIREI27sCEyAtUBOPjOBWAKcANiFwgEKAJCERCPu7AhMgKHBzit0AVgCnABYhcIBSgCQhEQkLuwITICzQE4yc8FYA9wBGIZCAEoA0ITEJG7sCEyAq0COIHPBUABYApwAmIQCAIoA0IKEJO7sCEyAQNwBWIXCAMoA0IREJS7sCEyAs0COILPBWAKcANiFwgEKANCERCWu7AhMgKIBziu0AVgCnABYhUIBSgDQg8Ql7uwITIC6xc4ys8FcARyAhoAYgJCAGIzUjFCCTIExz7JPljHPkIJMgSDVoRWWINWWgcIppQGYgEGWgcItp4MYgEGWgcIqqIMYgEGYgBiHmocMEtCCQjCkwYQ17uIMEIJCNKWBhDX8KAwWI+cPWID0mcAYgIqAGINgnwKGggIAUD2nAZIAnCFnQE=", + "notify_wire": "EhAqAnRlcgP4YgNyA4g0B3gYEhkqAnRmchG6WA46DAgBEARYA2jm0ampAXgYEhkqAnRmchG6WA46DAgBEARYBGjq36+pAXgYEhkqAnRmchG6WA46DAgBEARYBWj226+pAXgYEh8qAnRmcgniLAYIBxgGWAtyDIJnCQgHGAYyAQNYC3gYEhUqAnRmcg2CZwoIBxgGMgIDBFgLeBgSFioCdGZyDoJnCwgHGAYyAwMEBVgLeBgSCyoCdGZyA/hiBHgYEglyBbJSAjB0eAMSrwNyA9hfA3Jo2m9lGAEojrIHMAc4DkIFCPYHEGRCBQiBCBBkQgUIORDwAUIFCDsQwgNCBQj7BxBkQgUIIBC0AUIFCCEQ4ANCBQgsELACQgUINBDwAUIFCDUQ4ANCBQj1BxBkQgUIIhC4A0IFCDEQtAFyaNpvZRgBKMrNCDAIOA9CBQg7EMIDQgUI9QcQZEIFCPYHEGRCBQgsELACQgUINRDgA0IFCPsHEGRCBQiBCBBkQgUIIBC0AUIFCCIQuANCBQgxELQBQgUIIRDgA0IFCDQQ8AFCBQg5EPABcmjab2UYASiykAYwCTgQQgUIgQgQZEIFCCAQtAFCBQgxELQBQgUINBDwAUIFCPsHEGRCBQj2BxBkQgUIIRDgA0IFCDUQ4ANCBQg7EMIDQgUI9QcQZEIFCCIQuANCBQgsELACQgUIORDwAXJo2m9lGAEospAGMAo4EUIFCCAQtAFCBQgsELACQgUINRDgA0IFCDsQwgNCBQiBCBBkQgUIIRDgA0IFCDEQtAFCBQj7BxBkQgUINBDwAUIFCCIQuANCBQg5EPABQgUI9QcQZEIFCPYHEGR4AhIKcgOocQFyA8oZABI6cji6YTUiL+ICLFAUWiYKIFgBYggIha3C/QIwAWIICIWtwv0CMAFiCAj34oyPATABWI7RBWgBMAFgARITcgfKGQRgA3gGcgiKbgUwAqImABIFcgOINAc=", + "after_sha256": "aecdd660b3dd5ae0f6f7f68eb8ba609b4b21de6f550dcbf87ca8c5da04f264ce", + "notify_sha256": "ed108118518407b27a14354011e2f133c2b84783ded4dc03dd61ffe163b07ef3" + }, + { + "division_id": 20101, + "season_id": 2, + "is_overclock": true, + "portal_id": 2212, + "before_queue": 1, + "after_wire": "GAIqBTACoiYAMgkqB/qvFc6M2hBInQJSnwEaDQgEKgZKAvVOcGniFAAaTwgIKgZKAulScGmqLUJ6BAgBEAJ6BAgDEAR6BAgEEAZ6BAgFEBB6BAgIEDx6BAgJEEh6BAgKEAB6BAgCEAJ6BAgGECR6BAgHEDB6BAgLEAAaDAgJKgVKAQBwBfo1ABoNCBMqBkoCyT5wb/pfABoPCDgqBkoCwxdwa7plAiACGg8IXioGSgLdH3BrumUCIAFiJ2IlCGQQBRgKIAYwCTgDQANQZFgDYASyGARgA3gG0jQE1fuxA4JRAGKfAwqcAyplGAEoqvwHMAQ4DkIFCPsHEGRCBQghEOADQgUILBCwAkIFCDEQtAFCBQg7EMIDQgUIgQgQZEIFCCAQtAFCBQgiELgDQgUINBDwAUIFCDUQ4ANCBQg5EPABQgUI9QcQZEIFCPYHEGQqZRgBKNaUCTAFOA9CBQg0EPABQgUINRDgA0IFCDkQ8AFCBQj1BxBkQgUI9gcQZEIFCCIQuANCBQgsELACQgUIMRC0AUIFCDsQwgNCBQj7BxBkQgUIgQgQZEIFCCAQtAFCBQghEOADKmUYASi6yggwBjgQQgUIIhC4A0IFCDUQ4ANCBQg5EPABQgUI9QcQZEIFCIEIEGRCBQghEOADQgUILBCwAkIFCDEQtAFCBQg0EPABQgUIOxDCA0IFCPYHEGRCBQj7BxBkQgUIIBC0ASplGAEojsgIMAc4EUIFCCIQuANCBQgsELACQgUIMRC0AUIFCDQQ8AFCBQg1EOADQgUI9gcQZEIFCDkQ8AFCBQg7EMIDQgUI9QcQZEIFCPsHEGRCBQiBCBBkQgUIIBC0AUIFCCEQ4ANiDDIKKggQAVgDaICwFWLTAXrQAQoYEgQQSygBEgQQGSgCEgIoAxICKAQSAigFaAJ6sQGykAaWkQbe3Qam3wbu4Abi5AbuqwfSrAe2rQfirweqsQeOsgfysgfWswe6tAeetQfmtgfKtweSuQf2uQfaugeivAeGvQfi+geq/AeO/Qfy/QfW/ge6/wfmgQjKggiugwj2hAiGiAjGxgiqxwiOyAjyyAjWyQi6ygieywiCzAjmzAjKzQiSzwj2zwi+0QjWlAm6lQmelgmClwnmlwnKmAmumQnamwm+nAminQmGngmG8TBiAhoAYroDErcDGhwSCAj5movvATABEgcI9MnBYDABEgcIjNKyAjABKAEyAmAdMgJgCDICYBw48RVAAVoAYhcIASgBQhEQgbuwITIChAc4jtEFYAVwAWIaCAIoAUIUEIO7sCEgATIBZTjtzgVAAWAKcAJiEAgDKAFCChCFu7AhMgEBcAViFggEKAFCEBCGu7AhMgFxOO7OBWAKcANiFwgFKAFCERCIu7AhMgKGBzis0AVgCnABYhYIBigBQhAQibuwITIBaTjIzwVgD3AEYhsIASgCQhUQiruwISABMgLJATj3zgVAAWAKcAJiEAgCKAJCChCMu7AhMgECcAViFwgDKAJCERCNu7AhMgLVATj4zgVgCnADYhcIBCgCQhEQj7uwITIChwc4rdAFYApwAWIXCAUoAkIREJC7sCEyAs0BOMnPBWAPcARiGQgBKANCExCRu7AhMgKtAjiBzwVAAWAKcAJiEAgCKANCChCTu7AhMgEDcAViFwgDKANCERCUu7AhMgLNAjiCzwVgCnADYhcIBCgDQhEQlruwITICiAc4rtAFYApwAWIVCAUoA0IPEJe7sCEyAusXOMrPBXAEcgIaAGICQgBiGFIWQgkyBMc+yT5Yxz5CCTIEg1aEVliDVmIAYh5qHDABQgkIwpMGENu7iDBCCQjSlgYQ4PCgMFiPnD1iA9JnAGICKgBiDYJ8ChoICAFAlrwGSAZwhZ0BeAE=", + "notify_wire": "EgpyBrJSAzCkEXgDEr4DcgPYXwNyDbpYCjoIEAFYA2iAsBVyaNpvZRgBKKr8BzAEOA5CBQg0EPABQgUINRDgA0IFCCAQtAFCBQg7EMIDQgUI9gcQZEIFCIEIEGRCBQg5EPABQgUIMRC0AUIFCPUHEGRCBQj7BxBkQgUIIRDgA0IFCCIQuANCBQgsELACcmjab2UYASjWlAkwBTgPQgUIIRDgA0IFCDsQwgNCBQj1BxBkQgUIIhC4A0IFCIEIEGRCBQggELQBQgUIMRC0AUIFCDQQ8AFCBQg5EPABQgUI9gcQZEIFCCwQsAJCBQg1EOADQgUI+wcQZHJo2m9lGAEousoIMAY4EEIFCCIQuANCBQg0EPABQgUIORDwAUIFCPUHEGRCBQiBCBBkQgUIIBC0AUIFCDsQwgNCBQgxELQBQgUI9gcQZEIFCPsHEGRCBQghEOADQgUILBCwAkIFCDUQ4ANyaNpvZRgBKI7ICDAHOBFCBQg1EOADQgUIOxDCA0IFCPUHEGRCBQj2BxBkQgUILBCwAkIFCIEIEGRCBQggELQBQgUI+wcQZEIFCCEQ4ANCBQgiELgDQgUINBDwAUIFCDkQ8AFCBQgxELQBeAISCnIDqHEBcgPKGQASOHI2umEzIi3iAipQE1okCh5YAWIHCLWl8l8wAWIICMS8wv0CMAFiBwjNnfJfMAFYjtEFaAEwAWABEhNyB8oZBGADeAZyCIpuBTACoiYA", + "after_sha256": "b0d3a4552500f026c750c261a0c18152eb348d3c1bb8bc2c0f3f4194925fb945", + "notify_sha256": "4196ea1855dae528c6688693aff68b404470eadb27d2661cdc02a3e13592f0f0" + }, + { + "division_id": 20101, + "season_id": 2, + "is_overclock": true, + "portal_id": 110, + "before_queue": 1, + "after_wire": "GAIqBTACoiYAMgkqB/qvFc6M2hBIoQJSnwEaDQgEKgZKAvVOcGniFAAaTwgIKgZKAulScGmqLUJ6BAgBEAJ6BAgCEAJ6BAgEEAZ6BAgFEBB6BAgGECR6BAgHEDB6BAgKEAB6BAgLEAB6BAgDEAR6BAgIEDx6BAgJEEgaDAgJKgVKAQBwBfo1ABoNCBMqBkoCyT5wb/pfABoPCDgqBkoCwxdwa7plAiACGg8IXioGSgLdH3BrumUCIAFiJ2IlCGQQBRgKIAYwCTgDQANQZFgDYASyGARgA3gG0jQE1fuxA4JRAGKfAwqcAyplGAEojv0HMAM4DkIFCDUQ4ANCBQg7EMIDQgUIIBC0AUIFCCEQ4ANCBQgxELQBQgUIORDwAUIFCPUHEGRCBQj2BxBkQgUI+wcQZEIFCIEIEGRCBQgiELgDQgUILBCwAkIFCDQQ8AEqZRgBKI6yBzAEOA9CBQj2BxBkQgUIgQgQZEIFCCEQ4ANCBQgsELACQgUIMRC0AUIFCDQQ8AFCBQg1EOADQgUIORDwAUIFCDsQwgNCBQj7BxBkQgUIIBC0AUIFCCIQuANCBQj1BxBkKmUYASiO/QcwBTgQQgUILBCwAkIFCDEQtAFCBQj2BxBkQgUI+wcQZEIFCIEIEGRCBQg0EPABQgUINRDgA0IFCDkQ8AFCBQg7EMIDQgUI9QcQZEIFCCAQtAFCBQghEOADQgUIIhC4AyplGAEoxsYIMAY4EUIFCDsQwgNCBQj7BxBkQgUIgQgQZEIFCCAQtAFCBQghEOADQgUIMRC0AUIFCDQQ8AFCBQj1BxBkQgUI9gcQZEIFCCIQuANCBQgsELACQgUINRDgA0IFCDkQ8AFiAjIAYtMBetABChgSBBBLKAESBBAZKAISAigDEgIoBBICKAVoAnqxAbKQBpaRBt7dBqbfBu7gBuLkBu6rB9KsB7atB+KvB6qxB46yB/KyB9azB7q0B561B+a2B8q3B5K5B/a5B9q6B6K8B4a9B+L6B6r8B479B/L9B9b+B7r/B+aBCMqCCK6DCPaECIaICMbGCKrHCI7ICPLICNbJCLrKCJ7LCILMCObMCMrNCJLPCPbPCL7RCNaUCbqVCZ6WCYKXCeaXCcqYCa6ZCdqbCb6cCaKdCYaeCYbxMGICGgBiyQMSxgMaHBIHCKzO/mAwARIICOnf5MEBMAESBwiywsdfMAEoATICYB8yAmAYMgJgDTjxFUABWgBiFwgBKAFCERCBu7AhMgKEBziO0QVgBXABYhoIAigBQhQQg7uwISABMgFlOO3OBUABYApwAmIQCAMoAUIKEIW7sCEyAQFwBWIWCAQoAUIQEIa7sCEyAXE47s4FYApwA2ImCAUoAUIgEIi7sCEaBdAj5MsGMgKGBzis0AVYAWAKcAF6BJGakwViFggGKAFCEBCJu7AhMgFpOMjPBWAPcARiGwgBKAJCFRCKu7AhIAEyAskBOPfOBUABYApwAmIQCAIoAkIKEIy7sCEyAQJwBWIXCAMoAkIREI27sCEyAtUBOPjOBWAKcANiFwgEKAJCERCPu7AhMgKHBzit0AVgCnABYhcIBSgCQhEQkLuwITICzQE4yc8FYA9wBGIZCAEoA0ITEJG7sCEyAq0COIHPBUABYApwAmIQCAIoA0IKEJO7sCEyAQNwBWIXCAMoA0IREJS7sCEyAs0COILPBWAKcANiFwgEKANCERCWu7AhMgKIBziu0AVgCnABYhUIBSgDQg8Ql7uwITIC6xc4ys8FcARyAhoAYgJCAGIYUhZCCTIExz7JPljHPkIJMgSDVoRWWINWYgBiHmocMFdCCQjCkwYQ1LuIMEIJCNKWBhDT8KAwWI2cPWID0mcAYgIqAGINgnwKGggIAUDkywZICHCFnQF4AQ==", + "notify_wire": "EglyBbJSAjBueAMSrwNyA9hfA3Jo2m9lGAEojv0HMAM4DkIFCCwQsAJCBQg7EMIDQgUIgQgQZEIFCCEQ4ANCBQgiELgDQgUINBDwAUIFCDkQ8AFCBQj1BxBkQgUI9gcQZEIFCDEQtAFCBQg1EOADQgUI+wcQZEIFCCAQtAFyaNpvZRgBKI6yBzAEOA9CBQg1EOADQgUI+wcQZEIFCCAQtAFCBQgiELgDQgUIORDwAUIFCDsQwgNCBQj2BxBkQgUIgQgQZEIFCCwQsAJCBQgxELQBQgUI9QcQZEIFCDQQ8AFCBQghEOADcmjab2UYASiO/QcwBTgQQgUILBCwAkIFCDEQtAFCBQg0EPABQgUIORDwAUIFCDsQwgNCBQghEOADQgUI9QcQZEIFCCAQtAFCBQg1EOADQgUIIhC4A0IFCPYHEGRCBQj7BxBkQgUIgQgQZHJo2m9lGAEoxsYIMAY4EUIFCDQQ8AFCBQg7EMIDQgUI9QcQZEIFCPsHEGRCBQgxELQBQgUIgQgQZEIFCCIQuANCBQgsELACQgUINRDgA0IFCCAQtAFCBQg5EPABQgUI9gcQZEIFCCEQ4AN4AhIKcgOocQFyA8oZABI5cje6YTQiLuICK1ATWiUKH1gBYggIr8TC/QIwAWIICK/Ewv0CMAFiBwjNnfJfMAFYjtEFaAEwAWABEhNyB8oZBGADeAZyCIpuBTACoiYA", + "after_sha256": "0e0ea2d30f05c73dca4a7263c019c410b46ab80db9a3335373ca36d1e739f5db", + "notify_sha256": "1a9212929ff0dc354f1ee3829c8f6a4e8e2f7b064effe3f31a2e835e1d61efbf" + }, + { + "division_id": 20101, + "season_id": 2, + "is_overclock": true, + "portal_id": 124, + "before_queue": 1, + "after_wire": "GAIqBTACoiYAMgkqB/qvFc6M2hBIpgJSnwEaDQgEKgZKAvVOcGniFAAaTwgIKgZKAulScGmqLUJ6BAgCEAJ6BAgDEAR6BAgFEBB6BAgEEAZ6BAgGECR6BAgHEDB6BAgIEDx6BAgJEEh6BAgKEAB6BAgLEAB6BAgBEAIaDAgJKgVKAQBwBfo1ABoNCBMqBkoCyT5wb/pfABoPCDgqBkoCwxdwa7plAiACGg8IXioGSgLdH3BrumUCIAFiJ2IlCGQQBRgKIAYwCTgDQANQZFgDYASyGARgA3gG0jQE1fuxA4JRAGKfAwqcAyplGAEoorwHMAM4DkIFCPUHEGRCBQj2BxBkQgUI+wcQZEIFCIEIEGRCBQggELQBQgUIIRDgA0IFCCwQsAJCBQgxELQBQgUINRDgA0IFCCIQuANCBQg0EPABQgUIORDwAUIFCDsQwgMqZRgBKJ6WCTAEOA9CBQgsELACQgUIMRC0AUIFCDsQwgNCBQj2BxBkQgUI+wcQZEIFCCAQtAFCBQgiELgDQgUINBDwAUIFCDUQ4ANCBQg5EPABQgUI9QcQZEIFCIEIEGRCBQghEOADKmUYASi6yggwBTgQQgUIgQgQZEIFCCIQuANCBQgxELQBQgUINBDwAUIFCDkQ8AFCBQj1BxBkQgUIIBC0AUIFCCEQ4ANCBQgsELACQgUINRDgA0IFCDsQwgNCBQj2BxBkQgUI+wcQZCplGAEoqrEHMAY4EUIFCIEIEGRCBQggELQBQgUIIRDgA0IFCCwQsAJCBQgxELQBQgUINBDwAUIFCDkQ8AFCBQg7EMIDQgUI9gcQZEIFCCIQuANCBQg1EOADQgUI9QcQZEIFCPsHEGRiAjIAYtMBetABChgSBBBLKAESBBAZKAISAigDEgIoBBICKAVoAnqxAbKQBpaRBt7dBqbfBu7gBuLkBu6rB9KsB7atB+KvB6qxB46yB/KyB9azB7q0B561B+a2B8q3B5K5B/a5B9q6B6K8B4a9B+L6B6r8B479B/L9B9b+B7r/B+aBCMqCCK6DCPaECIaICMbGCKrHCI7ICPLICNbJCLrKCJ7LCILMCObMCMrNCJLPCPbPCL7RCNaUCbqVCZ6WCYKXCeaXCcqYCa6ZCdqbCb6cCaKdCYaeCYbxMGICGgBiywMSyAMaHhIICOnf5MEBMAESCAir0q3AATABEggI/ZWZkAEwASgBMgJgGDICYBEyAmAFOPEVQAFaAGIXCAEoAUIREIG7sCEyAoQHOI7RBWAFcAFiGggCKAFCFBCDu7AhIAEyAWU47c4FQAFgCnACYhAIAygBQgoQhbuwITIBAXAFYhYIBCgBQhAQhruwITIBcTjuzgVgCnADYhcIBSgBQhEQiLuwITIChgc4rNAFYApwAWIWCAYoAUIQEIm7sCEyAWk4yM8FYA9wBGIbCAEoAkIVEIq7sCEgATICyQE4984FQAFgCnACYhAIAigCQgoQjLuwITIBAnAFYhcIAygCQhEQjbuwITIC1QE4+M4FYApwA2ImCAQoAkIgEI+7sCEaBdAjmbwGMgKHBzit0AVYAWAKcAF6BMWDhwViFwgFKAJCERCQu7AhMgLNATjJzwVgD3AEYhkIASgDQhMQkbuwITICrQI4gc8FQAFgCnACYhAIAigDQgoQk7uwITIBA3AFYhcIAygDQhEQlLuwITICzQI4gs8FYApwA2IXCAQoA0IREJa7sCEyAogHOK7QBWAKcAFiFQgFKANCDxCXu7AhMgLrFzjKzwVwBHICGgBiAkIAYhhSFkIJMgTHPsk+WMc+QgkyBINWhFZYg1ZiAGIeahwwDEIJCMKTBhDeu4gwQgkI0pYGEN/woDBYjpw9YgPSZwBiAioAYg2CfAoaCAgBQJm8BkgGcIWdAXgB", + "notify_wire": "EglyBbJSAjB8eAMSrwNyA9hfA3Jo2m9lGAEoorwHMAM4DkIFCPUHEGRCBQggELQBQgUIIhC4A0IFCDQQ8AFCBQg1EOADQgUIOxDCA0IFCCwQsAJCBQg5EPABQgUI9gcQZEIFCIEIEGRCBQj7BxBkQgUIIRDgA0IFCDEQtAFyaNpvZRgBKJ6WCTAEOA9CBQg1EOADQgUIOxDCA0IFCPYHEGRCBQiBCBBkQgUIIBC0AUIFCDEQtAFCBQg0EPABQgUIORDwAUIFCPUHEGRCBQj7BxBkQgUIIRDgA0IFCCIQuANCBQgsELACcmjab2UYASi6yggwBTgQQgUIIBC0AUIFCDkQ8AFCBQj1BxBkQgUIIhC4A0IFCDUQ4ANCBQiBCBBkQgUINBDwAUIFCDsQwgNCBQj7BxBkQgUIIRDgA0IFCCwQsAJCBQgxELQBQgUI9gcQZHJo2m9lGAEoqrEHMAY4EUIFCCwQsAJCBQj2BxBkQgUI+wcQZEIFCCAQtAFCBQg1EOADQgUIORDwAUIFCCEQ4ANCBQgxELQBQgUIOxDCA0IFCCIQuANCBQg0EPABQgUI9QcQZEIFCIEIEGR4AhIKcgOocQFyA8oZABI6cji6YTUiL+ICLFASWiYKIFgBYggIha3C/QIwAWIICK/Ewv0CMAFiCAivxML9AjABWI7RBWgBMAFgARITcgfKGQRgA3gGcgiKbgUwAqImAA==", + "after_sha256": "f8aedaa870e2fea7ebd0b3e650c0f4cd625641dc2a8a365359223b3749149116", + "notify_sha256": "4b28c7d973aed851c6240c0fd2f36fb06a44d6fc862f19b1a85e72e9e32f8875" + } + ] +} diff --git a/resources/CurrencyWarsEquipment.json b/resources/CurrencyWarsEquipment.json new file mode 100644 index 0000000..53e4b90 --- /dev/null +++ b/resources/CurrencyWarsEquipment.json @@ -0,0 +1,3974 @@ +{ + "format_version": 1, + "target_client_version": "4.6.53", + "target_assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "source_capture_sha256": "bc873b94868f27ddabc0eea137fb14424ccf86f85cea0b9c429eeff8e6d0f1b6", + "scope": "Initialized equipment handbook entries; consumables and hidden entries are excluded. Read-only native getters, four entries per heartbeat, paused during Battle.", + "entries": [ + { + "ItemID": 350201, + "BaseItemID": 350201, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 1, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.0500000000", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.0500000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 350202, + "BaseItemID": 350202, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 1, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1027 + } + ], + "AbilityParamList": [ + "0.1000000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 350203, + "BaseItemID": 350203, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 1, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.1000000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 350204, + "BaseItemID": 350204, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 1, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.0500000000", + "PropertyType": 1024 + } + ], + "AbilityParamList": [ + "0.0500000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 350205, + "BaseItemID": 350205, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 1, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.0500000000", + "PropertyType": 1009 + } + ], + "AbilityParamList": [ + "0.0500000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 350206, + "BaseItemID": 350206, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 1, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.0500000000", + "PropertyType": 1018 + } + ], + "AbilityParamList": [ + "0.0500000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 350207, + "BaseItemID": 350207, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 1, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 8 + } + ], + "AbilityParamList": [ + "0.1000000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 350208, + "BaseItemID": 350208, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 1, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "15", + "PropertyType": 1045 + } + ], + "AbilityParamList": [ + "15" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 350601, + "BaseItemID": 350601, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 10, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "", + "GeneralPropertyList": [], + "AbilityParamList": [], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 350602, + "BaseItemID": 350602, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 10, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "", + "GeneralPropertyList": [], + "AbilityParamList": [], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 350701, + "BaseItemID": 350701, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 4, + "EquipFunc": 2, + "DressRule": 0, + "AbilityName": "", + "GeneralPropertyList": [], + "AbilityParamList": [ + "3", + "1" + ], + "EquipFuncParamList": [ + 1 + ], + "DressRuleParamList": [] + }, + { + "ItemID": 352101, + "BaseItemID": 352101, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 11, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.0300000000", + "PropertyType": 1027 + }, + { + "Value": "0.0300000000", + "PropertyType": 1020 + }, + { + "Value": "0.0300000000", + "PropertyType": 1014 + }, + { + "Value": "0.0300000000", + "PropertyType": 1030 + }, + { + "Value": "0.0300000000", + "PropertyType": 1024 + }, + { + "Value": "0.0300000000", + "PropertyType": 1025 + } + ], + "AbilityParamList": [ + "0.0300000000", + "0.0300000000", + "0.0300000000", + "0.0300000000", + "0.0300000000", + "0.0300000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 352201, + "BaseItemID": 352101, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 12, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.3000000002", + "PropertyType": 1027 + }, + { + "Value": "0.3000000002", + "PropertyType": 1020 + }, + { + "Value": "0.3000000002", + "PropertyType": 1014 + }, + { + "Value": "0.3000000002", + "PropertyType": 1030 + }, + { + "Value": "0.3000000002", + "PropertyType": 1024 + }, + { + "Value": "0.3000000002", + "PropertyType": 1025 + } + ], + "AbilityParamList": [ + "0.3000000002", + "0.3000000002", + "0.3000000002", + "0.3000000002", + "0.3000000002", + "0.3000000002" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 352901, + "BaseItemID": 352901, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 9, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "", + "GeneralPropertyList": [], + "AbilityParamList": [ + "20", + "2", + "20", + "10" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 353005, + "BaseItemID": 353005, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 9, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1027 + }, + { + "Value": "0.1000000000", + "PropertyType": 1020 + }, + { + "Value": "0.1000000000", + "PropertyType": 1014 + }, + { + "Value": "0.1000000000", + "PropertyType": 1030 + }, + { + "Value": "0.1000000000", + "PropertyType": 1024 + }, + { + "Value": "0.1000000000", + "PropertyType": 1025 + } + ], + "AbilityParamList": [ + "0.1000000000", + "0.1000000000", + "0.1000000000", + "0.1000000000", + "0.1000000000", + "0.1000000000", + "0.0200000000", + "0.0500000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 353101, + "BaseItemID": 353101, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 17, + "EquipFunc": 0, + "DressRule": 4, + "AbilityName": "GridFight_Equipment_Gold_353101", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1009 + } + ], + "AbilityParamList": [ + "0.2000000001", + "5", + "0.0800000000", + "20" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 101202 + ] + }, + { + "ItemID": 353102, + "BaseItemID": 353102, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 17, + "EquipFunc": 0, + "DressRule": 4, + "AbilityName": "GridFight_Equipment_Gold_353102", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1027 + }, + { + "Value": "0.4000000003", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.2000000001", + "0.0600000000", + "0.2500000002", + "0.6000000005", + "0.2500000002" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 101202 + ] + }, + { + "ItemID": 353103, + "BaseItemID": 353103, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 17, + "EquipFunc": 0, + "DressRule": 4, + "AbilityName": "GridFight_Equipment_Gold_353103", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.2000000001", + "2", + "2", + "3", + "0.2000000001", + "0.0400000000", + "4", + "4", + "3" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 101202 + ] + }, + { + "ItemID": 353104, + "BaseItemID": 353104, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 17, + "EquipFunc": 0, + "DressRule": 4, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1024 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.2000000001", + "0.0600000000", + "0.0800000000", + "0.0200000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 101202 + ] + }, + { + "ItemID": 353105, + "BaseItemID": 353105, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 17, + "EquipFunc": 0, + "DressRule": 4, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.2000000001", + "0.0600000000", + "0.5000000004", + "0.8000000007" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 101202 + ] + }, + { + "ItemID": 353106, + "BaseItemID": 353106, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 17, + "EquipFunc": 0, + "DressRule": 4, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.2000000001", + "0.0249999996", + "0.6000000005" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 101202 + ] + }, + { + "ItemID": 353201, + "BaseItemID": 353201, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 18, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "GridFight_Equipment_Trailblaze_353201", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.2000000001", + "10", + "10", + "20", + "100" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 604202 + ] + }, + { + "ItemID": 353202, + "BaseItemID": 353202, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 18, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "GridFight_Equipment_Trailblaze_353202", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.2000000001" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 604202 + ] + }, + { + "ItemID": 353203, + "BaseItemID": 353203, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 18, + "EquipFunc": 0, + "DressRule": 4, + "AbilityName": "GridFight_Equipment_Trailblaze_353203", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1027 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.3000000002", + "0.0500000000", + "6" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 100502 + ] + }, + { + "ItemID": 353204, + "BaseItemID": 353204, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 18, + "EquipFunc": 0, + "DressRule": 4, + "AbilityName": "GridFight_Equipment_Trailblaze_353204", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1027 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.3000000002", + "0.1000000000", + "0.3000000002" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 100502 + ] + }, + { + "ItemID": 353205, + "BaseItemID": 353205, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 18, + "EquipFunc": 0, + "DressRule": 4, + "AbilityName": "GridFight_Equipment_Trailblaze_353205", + "GeneralPropertyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1027 + }, + { + "Value": "0.5000000004", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.5000000004", + "0.1200000001" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 100502 + ] + }, + { + "ItemID": 353206, + "BaseItemID": 353206, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 18, + "EquipFunc": 0, + "DressRule": 4, + "AbilityName": "GridFight_Equipment_Trailblaze_353206", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.1000000000", + "2", + "0.3000000002" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 100502 + ] + }, + { + "ItemID": 353301, + "BaseItemID": 353301, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "3", + "0", + "0.3000000002" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353302, + "BaseItemID": 353302, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "GridFight_Equipment_SilverWolf999_353302", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.3500000003" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353303, + "BaseItemID": 353303, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "1", + "0.1000000000", + "0.1000000000", + "0.1000000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353304, + "BaseItemID": 353304, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "GridFight_Equipment_SilverWolf999_353304", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "180", + "240", + "300", + "0.1500000001", + "0.3000000002", + "0.4500000004" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353401, + "BaseItemID": 353401, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1020 + }, + { + "Value": "0.2000000001", + "PropertyType": 1014 + } + ], + "AbilityParamList": [ + "3", + "0.2000000001", + "0.4500000004" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353402, + "BaseItemID": 353402, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "GridFight_Equipment_SilverWolf999_353402", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.6000000005" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353403, + "BaseItemID": 353403, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "1", + "0.1500000001", + "0.1500000001", + "0.1500000001" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353404, + "BaseItemID": 353404, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "GridFight_Equipment_SilverWolf999_353404", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "180", + "240", + "300", + "0.2000000001", + "0.4000000003", + "0.6000000005" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353405, + "BaseItemID": 353405, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "GridFight_Equipment_SilverWolf999_353405", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.1500000001" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353406, + "BaseItemID": 353406, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "GridFight_Equipment_SilverWolf999_353406", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.4000000003", + "0.2000000001" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353407, + "BaseItemID": 353407, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1020 + } + ], + "AbilityParamList": [], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353408, + "BaseItemID": 353408, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "GridFight_Equipment_SilverWolf999_353408", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.1200000001" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353501, + "BaseItemID": 353501, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1020 + }, + { + "Value": "0.4000000003", + "PropertyType": 1014 + } + ], + "AbilityParamList": [ + "1", + "0.4000000003" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353502, + "BaseItemID": 353502, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "GridFight_Equipment_SilverWolf999_353502", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.7000000006", + "0.3000000002" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353503, + "BaseItemID": 353503, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "1", + "0.2500000002", + "0.2500000002", + "0.2500000002" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353504, + "BaseItemID": 353504, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "GridFight_Equipment_SilverWolf999_353404", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1020 + }, + { + "Value": "0.4000000003", + "PropertyType": 1025 + } + ], + "AbilityParamList": [ + "180", + "240", + "300", + "0.2500000002", + "0.5000000004", + "0.7500000006" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353505, + "BaseItemID": 353505, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "GridFight_Equipment_SilverWolf999_353505", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.1500000001", + "0.1500000001" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353506, + "BaseItemID": 353506, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 12, + "DressRule": 6, + "AbilityName": "GridFight_Equipment_SilverWolf999_353406", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.6000000005", + "0.3000000002" + ], + "EquipFuncParamList": [ + 200702 + ], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353507, + "BaseItemID": 353507, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 12, + "DressRule": 6, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1020 + } + ], + "AbilityParamList": [], + "EquipFuncParamList": [ + 100302 + ], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353508, + "BaseItemID": 353508, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 12, + "DressRule": 6, + "AbilityName": "GridFight_Equipment_SilverWolf999_353408", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.1800000001" + ], + "EquipFuncParamList": [ + 100802 + ], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 353601, + "BaseItemID": 353601, + "NeedEquipSlot": true, + "EquipType": 1, + "EquipCategory": 13, + "EquipFunc": 0, + "DressRule": 6, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.9900000009", + "PropertyType": 1027 + }, + { + "Value": "0.9900000009", + "PropertyType": 1020 + }, + { + "Value": "0.9900000009", + "PropertyType": 1014 + }, + { + "Value": "0.9900000009", + "PropertyType": 1018 + }, + { + "Value": "0.9900000009", + "PropertyType": 1024 + }, + { + "Value": "0.9900000009", + "PropertyType": 1025 + } + ], + "AbilityParamList": [ + "0.9900000009", + "0.9900000009", + "0.9900000009", + "0.9900000009", + "0.9900000009", + "0.9900000009" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [ + 150602 + ] + }, + { + "ItemID": 35030104, + "BaseItemID": 35030104, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0104", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1020 + }, + { + "Value": "0.1000000000", + "PropertyType": 1024 + } + ], + "AbilityParamList": [ + "0.1000000000", + "0.1000000000", + "0.3500000003", + "2" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030107, + "BaseItemID": 35030107, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0107", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1020 + }, + { + "Value": "0.2500000002", + "PropertyType": 8 + } + ], + "AbilityParamList": [ + "0.1000000000", + "0.2500000002", + "10", + "0.0200000000", + "0.0100000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030203, + "BaseItemID": 35030203, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0203", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1027 + }, + { + "Value": "0.2000000001", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.2500000002" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030204, + "BaseItemID": 35030204, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0204", + "GeneralPropertyList": [ + { + "Value": "0.3000000002", + "PropertyType": 1027 + }, + { + "Value": "0.3000000002", + "PropertyType": 1024 + } + ], + "AbilityParamList": [ + "0.3000000002", + "0.3000000002", + "0.1000000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030206, + "BaseItemID": 35030206, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0206", + "GeneralPropertyList": [ + { + "Value": "0.3000000002", + "PropertyType": 1027 + }, + { + "Value": "0.1000000000", + "PropertyType": 1018 + } + ], + "AbilityParamList": [ + "0.3000000002", + "0.1000000000", + "0.3000000002", + "0.1000000000", + "2" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030304, + "BaseItemID": 35030304, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0304", + "GeneralPropertyList": [ + { + "Value": "0.3000000002", + "PropertyType": 1030 + }, + { + "Value": "0.3000000002", + "PropertyType": 1024 + } + ], + "AbilityParamList": [ + "0.3000000002", + "0.3000000002", + "0.1000000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030305, + "BaseItemID": 35030305, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0305", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1027 + }, + { + "Value": "0.1000000000", + "PropertyType": 1009 + }, + { + "Value": "0.2000000001", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.1000000000", + "0.3000000002", + "2" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030308, + "BaseItemID": 35030308, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 1, + "AbilityName": "GridFight_Equipment_Normal_0308", + "GeneralPropertyList": [ + { + "Value": "0.3000000002", + "PropertyType": 1027 + }, + { + "Value": "0.3000000002", + "PropertyType": 1030 + }, + { + "Value": "20", + "PropertyType": 1045 + } + ], + "AbilityParamList": [ + "0.3000000002", + "0.3000000002", + "20", + "2" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030404, + "BaseItemID": 35030404, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 5, + "DressRule": 2, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1024 + }, + { + "Value": "0.2000000001", + "PropertyType": 1018 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.2000000001" + ], + "EquipFuncParamList": [ + 2, + 3 + ], + "DressRuleParamList": [] + }, + { + "ItemID": 35030405, + "BaseItemID": 35030405, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0405", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1024 + }, + { + "Value": "0.1000000000", + "PropertyType": 1009 + } + ], + "AbilityParamList": [ + "0.1000000000", + "0.1000000000", + "5000", + "0.0200000000", + "0.6000000005" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030407, + "BaseItemID": 35030407, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0407", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1024 + }, + { + "Value": "0.2500000002", + "PropertyType": 8 + } + ], + "AbilityParamList": [ + "0.1000000000", + "0.2500000002", + "0.1200000001", + "4" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030505, + "BaseItemID": 35030505, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0505", + "GeneralPropertyList": [ + { + "Value": "0.1500000001", + "PropertyType": 1009 + }, + { + "Value": "0.2000000001", + "PropertyType": 1013 + } + ], + "AbilityParamList": [ + "0.1500000001", + "0.2000000001", + "0.1500000001" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030506, + "BaseItemID": 35030506, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0506", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1009 + }, + { + "Value": "0.2000000001", + "PropertyType": 1013 + }, + { + "Value": "0.2000000001", + "PropertyType": 1019 + } + ], + "AbilityParamList": [ + "0.1000000000", + "0.2000000001", + "0.2000000001", + "0.1500000001", + "2" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030507, + "BaseItemID": 35030507, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0507", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1009 + }, + { + "Value": "0.2500000002", + "PropertyType": 8 + }, + { + "Value": "0.1500000001", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.1000000000", + "0.2500000002", + "0.1500000001", + "0", + "0", + "0", + "0", + "0.0300000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030606, + "BaseItemID": 35030606, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0606", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1018 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.1800000001" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030607, + "BaseItemID": 35030607, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0607", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1018 + }, + { + "Value": "0.1000000000", + "PropertyType": 8 + }, + { + "Value": "0.1500000001", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.1000000000", + "0.2500000002", + "0.2000000001", + "2", + "0.1500000001" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030608, + "BaseItemID": 35030608, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0608", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1018 + }, + { + "Value": "0.2000000001", + "PropertyType": 1019 + }, + { + "Value": "30", + "PropertyType": 1045 + } + ], + "AbilityParamList": [ + "0.1000000000", + "0.2000000001", + "30", + "0.5000000004", + "3", + "2", + "5" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030707, + "BaseItemID": 35030707, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.5000000004", + "PropertyType": 8 + }, + { + "Value": "2.5000000004", + "PropertyType": 59 + } + ], + "AbilityParamList": [ + "0.5000000004", + "2.5000000004" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030708, + "BaseItemID": 35030708, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0708", + "GeneralPropertyList": [ + { + "Value": "0.2500000002", + "PropertyType": 8 + }, + { + "Value": "15", + "PropertyType": 1045 + } + ], + "AbilityParamList": [ + "0.2500000002", + "20", + "0.3500000003", + "2" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35030808, + "BaseItemID": 35030808, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0808", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1027 + }, + { + "Value": "0.2000000001", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "3", + "0.2000000001" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040104, + "BaseItemID": 35030104, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0104", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1020 + }, + { + "Value": "0.2000000001", + "PropertyType": 1024 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.2000000001", + "0.7000000006", + "2", + "0", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040107, + "BaseItemID": 35030107, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0107", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1020 + }, + { + "Value": "0.5000000004", + "PropertyType": 8 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.5000000004", + "10", + "0.0400000000", + "0.0200000000", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040203, + "BaseItemID": 35030203, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0203", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1027 + }, + { + "Value": "0.4000000003", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.4000000003", + "0.5000000004", + "0", + "0", + "0", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040204, + "BaseItemID": 35030204, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0204", + "GeneralPropertyList": [ + { + "Value": "0.6000000005", + "PropertyType": 1027 + }, + { + "Value": "0.6000000005", + "PropertyType": 1024 + } + ], + "AbilityParamList": [ + "0.6000000005", + "0.6000000005", + "0.2000000001", + "0", + "0", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040206, + "BaseItemID": 35030206, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0206", + "GeneralPropertyList": [ + { + "Value": "0.6000000005", + "PropertyType": 1027 + }, + { + "Value": "0.2000000001", + "PropertyType": 1018 + } + ], + "AbilityParamList": [ + "0.6000000005", + "0.2000000001", + "0.6000000005", + "0.2000000001", + "2", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040304, + "BaseItemID": 35030304, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0304", + "GeneralPropertyList": [ + { + "Value": "0.6000000005", + "PropertyType": 1030 + }, + { + "Value": "0.6000000005", + "PropertyType": 1024 + } + ], + "AbilityParamList": [ + "0.6000000005", + "0.6000000005", + "0.2000000001", + "0", + "0", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040305, + "BaseItemID": 35030305, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0305", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1027 + }, + { + "Value": "0.2000000001", + "PropertyType": 1009 + }, + { + "Value": "0.4000000003", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.4000000003", + "0.2000000001", + "0.6000000005", + "2", + "0", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040308, + "BaseItemID": 35030308, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 1, + "AbilityName": "GridFight_Equipment_Normal_0308", + "GeneralPropertyList": [ + { + "Value": "0.6000000005", + "PropertyType": 1027 + }, + { + "Value": "0.6000000005", + "PropertyType": 1030 + }, + { + "Value": "40", + "PropertyType": 1045 + } + ], + "AbilityParamList": [ + "0.6000000005", + "0.6000000005", + "40", + "4", + "0", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040404, + "BaseItemID": 35030404, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 6, + "DressRule": 2, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1024 + }, + { + "Value": "0.4000000003", + "PropertyType": 1018 + } + ], + "AbilityParamList": [ + "0.4000000003", + "0.4000000003", + "0", + "0", + "0", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040405, + "BaseItemID": 35030405, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0405", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1024 + }, + { + "Value": "0.2000000001", + "PropertyType": 1009 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.2000000001", + "5000", + "0.0400000000", + "1", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040407, + "BaseItemID": 35030407, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0407", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1024 + }, + { + "Value": "0.5000000004", + "PropertyType": 8 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.5000000004", + "0.2400000002", + "8", + "0", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040505, + "BaseItemID": 35030505, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0505", + "GeneralPropertyList": [ + { + "Value": "0.3000000002", + "PropertyType": 1009 + }, + { + "Value": "0.4000000003", + "PropertyType": 1013 + } + ], + "AbilityParamList": [ + "0.3000000002", + "0.4000000003", + "0.3000000002", + "0", + "0", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040506, + "BaseItemID": 35030506, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0506", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1009 + }, + { + "Value": "0.4000000003", + "PropertyType": 1013 + }, + { + "Value": "0.4000000003", + "PropertyType": 1019 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.4000000003", + "0.4000000003", + "0.3000000002", + "2", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040507, + "BaseItemID": 35030507, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0507", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1009 + }, + { + "Value": "0.5000000004", + "PropertyType": 8 + }, + { + "Value": "0.3000000002", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.5000000004", + "0.3000000002", + "0", + "0", + "0", + "0", + "0.0600000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040606, + "BaseItemID": 35030606, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0606", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1018 + } + ], + "AbilityParamList": [ + "0.4000000003", + "0.3600000003", + "0", + "0", + "0", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040607, + "BaseItemID": 35030607, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0607", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1018 + }, + { + "Value": "0.2000000001", + "PropertyType": 8 + }, + { + "Value": "0.3000000002", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.5000000004", + "0.4000000003", + "2", + "0.3000000002", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040608, + "BaseItemID": 35030608, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0608", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1018 + }, + { + "Value": "0.4000000003", + "PropertyType": 1019 + }, + { + "Value": "60", + "PropertyType": 1045 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.4000000003", + "60", + "0.5000000004", + "6", + "2", + "10" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040707, + "BaseItemID": 35030707, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "1", + "PropertyType": 8 + }, + { + "Value": "5", + "PropertyType": 59 + } + ], + "AbilityParamList": [ + "1", + "5", + "0", + "0", + "0", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040708, + "BaseItemID": 35030708, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0708", + "GeneralPropertyList": [ + { + "Value": "0.5000000004", + "PropertyType": 8 + }, + { + "Value": "30", + "PropertyType": 1045 + } + ], + "AbilityParamList": [ + "0.5000000004", + "40", + "0.7000000006", + "2", + "0", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35040808, + "BaseItemID": 35030808, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0808", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1027 + }, + { + "Value": "0.4000000003", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "3", + "0.4000000003", + "0", + "0", + "0", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 35130999, + "BaseItemID": 35130999, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 15, + "EquipFunc": 0, + "DressRule": 1, + "AbilityName": "GridFight_Equipment_Cipher_351309999", + "GeneralPropertyList": [ + { + "Value": "0.0500000000", + "PropertyType": 1024 + } + ], + "AbilityParamList": [ + "1", + "10", + "0.0049999996", + "15", + "1" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47030101, + "BaseItemID": 47030101, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0101", + "GeneralPropertyList": [ + { + "Value": "0.2500000002", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.2500000002", + "0.1200000001" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47030102, + "BaseItemID": 47030102, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0102", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1020 + }, + { + "Value": "0.2500000002", + "PropertyType": 1027 + }, + { + "Value": "0.2500000002", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.1000000000", + "0.2500000002", + "0.0600000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47030103, + "BaseItemID": 47030103, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_010302", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1020 + }, + { + "Value": "0.3000000002", + "PropertyType": 1027 + }, + { + "Value": "0.3000000002", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.3000000002", + "1" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47030105, + "BaseItemID": 47030105, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_010502", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1020 + }, + { + "Value": "0.1000000000", + "PropertyType": 1009 + }, + { + "Value": "0.1500000001", + "PropertyType": 1014 + } + ], + "AbilityParamList": [ + "0.1000000000", + "0.1000000000", + "0.1500000001", + "0.0500000000", + "0.3000000002" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47030106, + "BaseItemID": 47030106, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_010602", + "GeneralPropertyList": [ + { + "Value": "0.1500000001", + "PropertyType": 1020 + }, + { + "Value": "0.1000000000", + "PropertyType": 1018 + } + ], + "AbilityParamList": [ + "0.1500000001", + "0.1000000000", + "0.1500000001", + "1" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47030108, + "BaseItemID": 47030108, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 1, + "AbilityName": "GridFight_Equipment_Normal_0108", + "GeneralPropertyList": [ + { + "Value": "0.5500000005", + "PropertyType": 1020 + }, + { + "Value": "30", + "PropertyType": 1045 + } + ], + "AbilityParamList": [ + "0.5500000005", + "30", + "0.1000000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47030202, + "BaseItemID": 47030202, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_020202", + "GeneralPropertyList": [ + { + "Value": "0.6000000005", + "PropertyType": 1027 + } + ], + "AbilityParamList": [ + "0.6000000005", + "1.1500000001" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47030205, + "BaseItemID": 47030205, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_020502", + "GeneralPropertyList": [ + { + "Value": "0.3000000002", + "PropertyType": 1027 + }, + { + "Value": "0.3000000002", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.3000000002", + "0.1000000000", + "0.0800000000", + "0.0400000000", + "3", + "1" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47030207, + "BaseItemID": 47030207, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_020702", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1027 + }, + { + "Value": "0.2500000002", + "PropertyType": 8 + } + ], + "AbilityParamList": [ + "0.4000000003", + "0.2500000002", + "0.0200000000", + "2" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47030208, + "BaseItemID": 47030208, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_020802", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1027 + }, + { + "Value": "0.2000000001", + "PropertyType": 1030 + }, + { + "Value": "20", + "PropertyType": 1045 + } + ], + "AbilityParamList": [ + "0.2000000001", + "20", + "0.0700000000", + "0.0700000000", + "3", + "6" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47030303, + "BaseItemID": 47030303, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_030302", + "GeneralPropertyList": [ + { + "Value": "0.6000000005", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.6000000005", + "1.1500000001" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47030306, + "BaseItemID": 47030306, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 1, + "AbilityName": "GridFight_Equipment_Normal_030602", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1018 + }, + { + "Value": "0.2000000001", + "PropertyType": 1027 + }, + { + "Value": "0.2000000001", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.1000000000", + "0.8000000007", + "0.6000000005", + "0.4000000003", + "0.3500000003" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47030307, + "BaseItemID": 47030307, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_030702", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1027 + }, + { + "Value": "0.2000000001", + "PropertyType": 1030 + }, + { + "Value": "0.2500000002", + "PropertyType": 8 + }, + { + "Value": "0.1000000000", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.2500000002", + "0.3000000002", + "0.3000000002", + "0.1000000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47030406, + "BaseItemID": 47030406, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_040602", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1024 + }, + { + "Value": "0.1000000000", + "PropertyType": 1018 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.1000000000", + "0.0600000000" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47030408, + "BaseItemID": 47030408, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_040802", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1024 + }, + { + "Value": "60", + "PropertyType": 1045 + } + ], + "AbilityParamList": [ + "0.1000000000", + "60", + "0.1000000000", + "0.0800000000", + "5" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47030508, + "BaseItemID": 47030508, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 2, + "EquipFunc": 0, + "DressRule": 1, + "AbilityName": "GridFight_Equipment_Normal_0508", + "GeneralPropertyList": [ + { + "Value": "0.1500000001", + "PropertyType": 1009 + }, + { + "Value": "20", + "PropertyType": 1045 + } + ], + "AbilityParamList": [ + "0.1500000001", + "20", + "0.1200000001", + "10" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47040101, + "BaseItemID": 47030101, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0101", + "GeneralPropertyList": [ + { + "Value": "0.5000000004", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.5000000004", + "0.2400000002", + "0", + "0", + "0", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47040102, + "BaseItemID": 47030102, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_0102", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1020 + }, + { + "Value": "0.5000000004", + "PropertyType": 1027 + }, + { + "Value": "0.5000000004", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.5000000004", + "0.1200000001", + "0", + "0", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47040103, + "BaseItemID": 47030103, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_010302", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1020 + }, + { + "Value": "0.6000000005", + "PropertyType": 1027 + }, + { + "Value": "0.6000000005", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.4000000003", + "0.6000000005", + "1" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47040105, + "BaseItemID": 47030105, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_010502", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1020 + }, + { + "Value": "0.2000000001", + "PropertyType": 1009 + }, + { + "Value": "0.3000000002", + "PropertyType": 1014 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.2000000001", + "0.3000000002", + "0.1000000000", + "0.6000000005" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47040106, + "BaseItemID": 47030106, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_010602", + "GeneralPropertyList": [ + { + "Value": "0.3000000002", + "PropertyType": 1020 + }, + { + "Value": "0.2000000001", + "PropertyType": 1018 + } + ], + "AbilityParamList": [ + "0.3000000002", + "0.2000000001", + "0.3000000002", + "1" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47040108, + "BaseItemID": 47030108, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 1, + "AbilityName": "GridFight_Equipment_Normal_0108", + "GeneralPropertyList": [ + { + "Value": "1.1000000000", + "PropertyType": 1020 + }, + { + "Value": "60", + "PropertyType": 1045 + } + ], + "AbilityParamList": [ + "1.1000000000", + "60", + "0.2000000001", + "0", + "0", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47040202, + "BaseItemID": 47030202, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_020202", + "GeneralPropertyList": [ + { + "Value": "1.2000000001", + "PropertyType": 1027 + } + ], + "AbilityParamList": [ + "1.2000000001", + "1.3000000002" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47040205, + "BaseItemID": 47030205, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_020502", + "GeneralPropertyList": [ + { + "Value": "0.6000000005", + "PropertyType": 1027 + }, + { + "Value": "0.6000000005", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.6000000005", + "0.2000000001", + "0.1600000001", + "0.0800000000", + "3", + "1" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47040207, + "BaseItemID": 47030207, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_020702", + "GeneralPropertyList": [ + { + "Value": "0.8000000007", + "PropertyType": 1027 + }, + { + "Value": "0.5000000004", + "PropertyType": 8 + } + ], + "AbilityParamList": [ + "0.8000000007", + "0.5000000004", + "0.0400000000", + "3" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47040208, + "BaseItemID": 47030208, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_020802", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1027 + }, + { + "Value": "0.4000000003", + "PropertyType": 1030 + }, + { + "Value": "40", + "PropertyType": 1045 + } + ], + "AbilityParamList": [ + "0.4000000003", + "40", + "0.1400000001", + "0.1400000001", + "3", + "6" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47040303, + "BaseItemID": 47030303, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_030302", + "GeneralPropertyList": [ + { + "Value": "1.2000000001", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "1.2000000001", + "1.3000000002" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47040306, + "BaseItemID": 47030306, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 1, + "AbilityName": "GridFight_Equipment_Normal_030602", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1018 + }, + { + "Value": "0.4000000003", + "PropertyType": 1027 + }, + { + "Value": "0.4000000003", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.4000000003", + "0.2000000001", + "1.6000000005", + "1.2000000001", + "0.8000000007", + "0.6000000005" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47040307, + "BaseItemID": 47030307, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_030702", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1027 + }, + { + "Value": "0.4000000003", + "PropertyType": 1030 + }, + { + "Value": "0.5000000004", + "PropertyType": 8 + }, + { + "Value": "0.2000000001", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.4000000003", + "0.5000000004", + "0.6000000005", + "0.6000000005", + "0.2000000001" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47040406, + "BaseItemID": 47030406, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_040602", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 1024 + }, + { + "Value": "0.2000000001", + "PropertyType": 1018 + } + ], + "AbilityParamList": [ + "0.4000000003", + "0.2000000001", + "0.1200000001", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47040408, + "BaseItemID": 47030408, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 0, + "AbilityName": "GridFight_Equipment_Normal_040802", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1024 + }, + { + "Value": "120", + "PropertyType": 1045 + } + ], + "AbilityParamList": [ + "0.2000000001", + "120", + "0.2000000001", + "0.1600000001", + "5" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 47040508, + "BaseItemID": 47030508, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 7, + "EquipFunc": 0, + "DressRule": 1, + "AbilityName": "GridFight_Equipment_Normal_0508", + "GeneralPropertyList": [ + { + "Value": "0.3000000002", + "PropertyType": 1009 + }, + { + "Value": "40", + "PropertyType": 1045 + } + ], + "AbilityParamList": [ + "0.3000000002", + "40", + "0.2400000002", + "20", + "0", + "0", + "0" + ], + "EquipFuncParamList": [], + "DressRuleParamList": [] + }, + { + "ItemID": 355100102, + "BaseItemID": 355100102, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 10, + "DressRule": 5, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.3000000002", + "PropertyType": 1027 + } + ], + "AbilityParamList": [], + "EquipFuncParamList": [ + 100102 + ], + "DressRuleParamList": [ + 100102 + ] + }, + { + "ItemID": 355100202, + "BaseItemID": 355100202, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 10, + "DressRule": 5, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.1500000001", + "PropertyType": 1020 + } + ], + "AbilityParamList": [], + "EquipFuncParamList": [ + 100202 + ], + "DressRuleParamList": [ + 100202 + ] + }, + { + "ItemID": 355100302, + "BaseItemID": 355100302, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 10, + "DressRule": 5, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.3000000002", + "PropertyType": 1030 + } + ], + "AbilityParamList": [], + "EquipFuncParamList": [ + 100302 + ], + "DressRuleParamList": [ + 100302 + ] + }, + { + "ItemID": 355100402, + "BaseItemID": 355100402, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 10, + "DressRule": 5, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.4000000003", + "PropertyType": 8 + } + ], + "AbilityParamList": [], + "EquipFuncParamList": [ + 100402 + ], + "DressRuleParamList": [ + 100402 + ] + }, + { + "ItemID": 355100502, + "BaseItemID": 355100502, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 10, + "DressRule": 5, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "45", + "PropertyType": 1045 + } + ], + "AbilityParamList": [], + "EquipFuncParamList": [ + 100502 + ], + "DressRuleParamList": [ + 100502 + ] + }, + { + "ItemID": 355100602, + "BaseItemID": 355100602, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 10, + "DressRule": 5, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.1500000001", + "PropertyType": 1014 + } + ], + "AbilityParamList": [], + "EquipFuncParamList": [ + 100602 + ], + "DressRuleParamList": [ + 100602 + ] + }, + { + "ItemID": 355100802, + "BaseItemID": 355100802, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 10, + "DressRule": 5, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.1500000001", + "PropertyType": 1018 + } + ], + "AbilityParamList": [], + "EquipFuncParamList": [ + 100802 + ], + "DressRuleParamList": [ + 100802 + ] + }, + { + "ItemID": 355100902, + "BaseItemID": 355100902, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 10, + "DressRule": 5, + "AbilityName": "GridFight_Equipment_Emblem_100902", + "GeneralPropertyList": [ + { + "Value": "0.1500000001", + "PropertyType": 1024 + } + ], + "AbilityParamList": [ + "0.2000000001" + ], + "EquipFuncParamList": [ + 100902 + ], + "DressRuleParamList": [ + 100902 + ] + }, + { + "ItemID": 355101002, + "BaseItemID": 355101002, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 10, + "DressRule": 5, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.1500000001", + "PropertyType": 1009 + } + ], + "AbilityParamList": [], + "EquipFuncParamList": [ + 101002 + ], + "DressRuleParamList": [ + 101002 + ] + }, + { + "ItemID": 355101202, + "BaseItemID": 355101202, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 10, + "DressRule": 5, + "AbilityName": "", + "GeneralPropertyList": [ + { + "Value": "0.1500000001", + "PropertyType": 1014 + } + ], + "AbilityParamList": [], + "EquipFuncParamList": [ + 101202 + ], + "DressRuleParamList": [ + 101202 + ] + }, + { + "ItemID": 355200102, + "BaseItemID": 355200102, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 11, + "DressRule": 5, + "AbilityName": "GridFight_Equipment_Emblem_200102", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "1", + "0.5000000004" + ], + "EquipFuncParamList": [ + 200102 + ], + "DressRuleParamList": [ + 200102 + ] + }, + { + "ItemID": 355200202, + "BaseItemID": 355200202, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 11, + "DressRule": 5, + "AbilityName": "GridFight_Equipment_Emblem_200202", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1018 + } + ], + "AbilityParamList": [ + "2", + "0.2000000001" + ], + "EquipFuncParamList": [ + 200202 + ], + "DressRuleParamList": [ + 200202 + ] + }, + { + "ItemID": 355200302, + "BaseItemID": 355200302, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 11, + "DressRule": 5, + "AbilityName": "GridFight_Equipment_Emblem_200302", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1024 + } + ], + "AbilityParamList": [ + "0.0200000000", + "50" + ], + "EquipFuncParamList": [ + 200302 + ], + "DressRuleParamList": [ + 200302 + ] + }, + { + "ItemID": 355200402, + "BaseItemID": 355200402, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 11, + "DressRule": 5, + "AbilityName": "GridFight_Equipment_Emblem_200402", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1027 + } + ], + "AbilityParamList": [ + "0.2000000001", + "0.5000000004" + ], + "EquipFuncParamList": [ + 200402 + ], + "DressRuleParamList": [ + 200402 + ] + }, + { + "ItemID": 355200502, + "BaseItemID": 355200502, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 11, + "DressRule": 5, + "AbilityName": "GridFight_Equipment_Emblem_200502", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 8 + } + ], + "AbilityParamList": [ + "1", + "0.0800000000" + ], + "EquipFuncParamList": [ + 200502 + ], + "DressRuleParamList": [ + 200502 + ] + }, + { + "ItemID": 355200602, + "BaseItemID": 355200602, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 11, + "DressRule": 5, + "AbilityName": "GridFight_Equipment_Emblem_200602", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1009 + } + ], + "AbilityParamList": [ + "0.0800000000" + ], + "EquipFuncParamList": [ + 200602 + ], + "DressRuleParamList": [ + 200602 + ] + }, + { + "ItemID": 355200702, + "BaseItemID": 355200702, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 11, + "DressRule": 5, + "AbilityName": "GridFight_Equipment_Emblem_200702", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.2500000002", + "1" + ], + "EquipFuncParamList": [ + 200702 + ], + "DressRuleParamList": [ + 200702 + ] + }, + { + "ItemID": 355200802, + "BaseItemID": 355200802, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 11, + "DressRule": 5, + "AbilityName": "GridFight_Equipment_Emblem_200802", + "GeneralPropertyList": [ + { + "Value": "0.2000000001", + "PropertyType": 1030 + } + ], + "AbilityParamList": [ + "0.1000000000", + "0.2000000001", + "1", + "10", + "0.3000000002" + ], + "EquipFuncParamList": [ + 200802 + ], + "DressRuleParamList": [ + 200802 + ] + }, + { + "ItemID": 355200902, + "BaseItemID": 355200902, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 11, + "DressRule": 5, + "AbilityName": "GridFight_Equipment_Emblem_200902", + "GeneralPropertyList": [ + { + "Value": "30", + "PropertyType": 1045 + } + ], + "AbilityParamList": [ + "0.2000000001", + "100" + ], + "EquipFuncParamList": [ + 200902 + ], + "DressRuleParamList": [ + 200902 + ] + }, + { + "ItemID": 355201002, + "BaseItemID": 355201002, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 11, + "DressRule": 5, + "AbilityName": "GridFight_Equipment_Emblem_201002", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "0.1000000000" + ], + "EquipFuncParamList": [ + 201002 + ], + "DressRuleParamList": [ + 201002 + ] + }, + { + "ItemID": 355201102, + "BaseItemID": 355201102, + "NeedEquipSlot": true, + "EquipType": 0, + "EquipCategory": 3, + "EquipFunc": 11, + "DressRule": 5, + "AbilityName": "GridFight_Equipment_Emblem_201102", + "GeneralPropertyList": [ + { + "Value": "0.1000000000", + "PropertyType": 1020 + } + ], + "AbilityParamList": [ + "2", + "0.0019999998" + ], + "EquipFuncParamList": [ + 201102 + ], + "DressRuleParamList": [ + 201102 + ] + } + ] +} diff --git a/resources/CurrencyWarsInitialRuns.json b/resources/CurrencyWarsInitialRuns.json new file mode 100644 index 0000000..264a2d7 --- /dev/null +++ b/resources/CurrencyWarsInitialRuns.json @@ -0,0 +1,40 @@ +{ + "format_version": 1, + "target_client_version": "4.6.53", + "target_assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "source": "March7thHoney isolated StartGamePlay captures", + "source_binary_sha256": "a02743d89dd75a024f83e37b35ed125f1781a90e70bfb47341dd81ff3d541858", + "scope": "Initial entry presets only; sampled offers/camps/modifiers retained from reference. Not a complete procedural CW implementation.", + "entries": [ + { + "division_id": 20101, + "is_overclock": false, + "run_wire": "GAIqDTABohcIIAE6BHmIAXQyCSoH+q8VzozaEEgBUp8BGg0IBCoGSgL1TnBp4hQAGk8ICCoGSgLpUnBpqi1CegQIAxAEegQIBhAkegQICBA8egQICRBIegQICxAAegQIARACegQIAhACegQIBBAGegQIBRAQegQIBxAwegQIChAAGgwICSoFSgEAcAX6NQAaDQgTKgZKAsk+cG/6XwAaDwg4KgZKAsMXcGu6ZQIgAhoPCF4qBkoC3R9wa7plAiABYiViIwhkEAUYCiAGMAk4A1BkWANgBLIYBGADeAbSNATV+7EDglEAYgIKAGICMgBi0wF60AEKGBIEEEsoARIEEBkoAhICKAMSAigEEgIoBWgCerEBspAGlpEG3t0Gpt8G7uAG4uQG7qsH0qwHtq0H4q8HqrEHjrIH8rIH1rMHurQHnrUH5rYHyrcHkrkH9rkH2roHorwHhr0H4voHqvwHjv0H8v0H1v4Huv8H5oEIyoIIroMI9oQIhogIxsYIqscIjsgI8sgI1skIusoInssIgswI5swIys0Iks8I9s8IvtEI1pQJupUJnpYJgpcJ5pcJypgJrpkJ2psJvpwJop0Jhp4JhvEwYgIaAGK6AxK3AxocEggI6d/kwQEwARIGCPCjPTABEggIzYOfjwEwASgBMgJgGDICYAEyAmAKOPEVQAFaAGIXCAEoAUIREIG7sCEyAoQHOI7RBWAFcAFiGggCKAFCFBCDu7AhIAEyAWU47c4FQAFgCnACYhAIAygBQgoQhbuwITIBAXAFYhYIBCgBQhAQhruwITIBcTjuzgVgCnADYhcIBSgBQhEQiLuwITIChgc4rNAFYApwAWIWCAYoAUIQEIm7sCEyAWk4yM8FYA9wBGIbCAEoAkIVEIq7sCEgATICyQE4984FQAFgCnACYhAIAigCQgoQjLuwITIBAnAFYhcIAygCQhEQjbuwITIC1QE4+M4FYApwA2IXCAQoAkIREI+7sCEyAocHOK3QBWAKcAFiFwgFKAJCERCQu7AhMgLNATjJzwVgD3AEYhkIASgDQhMQkbuwITICrQI4gc8FQAFgCnACYhAIAigDQgoQk7uwITIBA3AFYhcIAygDQhEQlLuwITICzQI4gs8FYApwA2IXCAQoA0IREJa7sCEyAogHOK7QBWAKcAFiFQgFKANCDxCXu7AhMgLrFzjKzwVwBHICGgBiAkIAYhhSFkIJMgTHPsk+WMc+QgkyBINWhFZYg1ZiAGIfah0wmQFCCQjCkwYQ2buIMEIJCNKWBhDk8KAwWI2cPWID0mcAYgIqAGINgnwKGggIAUDznAZIAnCFnQE=", + "capture_sha256": "cc7cf97ccd21c66292cea204a95313ca0ae57393f39eab11dcb6a8f607950949" + }, + { + "division_id": 20101, + "is_overclock": true, + "run_wire": "GAIqDTABohcIIAE6BKQRbnwyCSoH+q8VzozaEEgCUp8BGg0IBCoGSgL1TnBp4hQAGk8ICCoGSgLpUnBpqi1CegQIChAAegQIARACegQIAhACegQIAxAEegQIBBAGegQIBhAkegQIBxAwegQICBA8egQICxAAegQIBRAQegQICRBIGgwICSoFSgEAcAX6NQAaDQgTKgZKAsk+cG/6XwAaDwg4KgZKAsMXcGu6ZQIgAhoPCF4qBkoC3R9wa7plAiABYiViIwhkEAUYCiAGMAk4A1BkWANgBLIYBGADeAbSNATV+7EDglEAYgIKAGICMgBi0wF60AEKGBIEEEsoARIEEBkoAhICKAMSAigEEgIoBWgCerEBspAGlpEG3t0Gpt8G7uAG4uQG7qsH0qwHtq0H4q8HqrEHjrIH8rIH1rMHurQHnrUH5rYHyrcHkrkH9rkH2roHorwHhr0H4voHqvwHjv0H8v0H1v4Huv8H5oEIyoIIroMI9oQIhogIxsYIqscIjsgI8sgI1skIusoInssIgswI5swIys0Iks8I9s8IvtEI1pQJupUJnpYJgpcJ5pcJypgJrpkJ2psJvpwJop0Jhp4JhvEwYgIaAGK4AxK1AxoaEgcI48vHXzABEgYIgPI9MAESBwizy8FgMAEoATICYAYyAmAEMgJgCDjxFUABWgBiFwgBKAFCERCBu7AhMgKEBziO0QVgBXABYhoIAigBQhQQg7uwISABMgFlOO3OBUABYApwAmIQCAMoAUIKEIW7sCEyAQFwBWIWCAQoAUIQEIa7sCEyAXE47s4FYApwA2IXCAUoAUIREIi7sCEyAoYHOKzQBWAKcAFiFggGKAFCEBCJu7AhMgFpOMjPBWAPcARiGwgBKAJCFRCKu7AhIAEyAskBOPfOBUABYApwAmIQCAIoAkIKEIy7sCEyAQJwBWIXCAMoAkIREI27sCEyAtUBOPjOBWAKcANiFwgEKAJCERCPu7AhMgKHBzit0AVgCnABYhcIBSgCQhEQkLuwITICzQE4yc8FYA9wBGIZCAEoA0ITEJG7sCEyAq0COIHPBUABYApwAmIQCAIoA0IKEJO7sCEyAQNwBWIXCAMoA0IREJS7sCEyAs0COILPBWAKcANiFwgEKANCERCWu7AhMgKIBziu0AVgCnABYhUIBSgDQg8Ql7uwITIC6xc4ys8FcARyAhoAYgJCAGIYUhZCCTIExz7JPljHPkIJMgSDVoRWWINWYgBiHmocMElCCQjCkwYQ0buIMEIJCNKWBhDj8KAwWI2cPWID0mcAYgIqAGINgnwKGggIAUDN0wZICXCFnQF4AQ==", + "capture_sha256": "99d829b14b240182c69c349c1eee26a49239dfe3d1e05e80d20ebe62a7b4b042" + } + ], + "entry_profile": { + "tutorial_policy": "freeplay_unlocked", + "tutorial_completion": 6, + "last_tutorial_season": 2, + "source": "Isolated March7 initial GetData capture; scripted tutorial is bypassed for freeplay entry, no tutorial rewards granted.", + "tutorial_history": { + "1": { + "MPJPLKKJNGE": 33, + "GDAKCOICIDA": 6, + "division_id": 1 + }, + "2": { + "MPJPLKKJNGE": 72, + "GDAKCOICIDA": 6, + "division_id": 2 + } + } + } +} diff --git a/resources/CurrencyWarsInvestmentChoices.json b/resources/CurrencyWarsInvestmentChoices.json new file mode 100644 index 0000000..94ab65c --- /dev/null +++ b/resources/CurrencyWarsInvestmentChoices.json @@ -0,0 +1,24 @@ +{ + "choices": [ + { + "augment_id": 103401, + "gold_delta": 9, + "augment_info_wire": "KAFY6acG" + }, + { + "augment_id": 151001, + "gold_delta": 0, + "augment_info_wire": "KAFY2ZsJ" + }, + { + "augment_id": 100101, + "gold_delta": 0, + "augment_info_wire": "KAFYhY4G" + } + ], + "format_version": 1, + "scope": "Observed reference outcomes for the three captured initial investment offers only. Validated that only gold and augment ownership change; no party/inventory snapshots copied. Not a general augment effect engine.", + "source_binary_sha256": "a02743d89dd75a024f83e37b35ed125f1781a90e70bfb47341dd81ff3d541858", + "target_assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "target_client_version": "4.6.53" +} diff --git a/resources/CurrencyWarsMergeRules.json b/resources/CurrencyWarsMergeRules.json new file mode 100644 index 0000000..eb0f049 --- /dev/null +++ b/resources/CurrencyWarsMergeRules.json @@ -0,0 +1,9 @@ +{ + "copies_required": 3, + "format_version": 1, + "ordinary_max_star": 3, + "scope": "Basic identical-role merges: source native MergeRoles and captured remove/add sync. Ordinary maximum 3 follows the reference implementation; Spotlight/trait higher-star exceptions require their own engine. No ID-specific rules.", + "source_capture_sha256": "5dab82b7a4c5786f16c9d1e4d78605e9e6534515269088c9903c6c5137e0794b", + "target_assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "target_client_version": "4.6.53" +} diff --git a/resources/CurrencyWarsNodeTransitions.json b/resources/CurrencyWarsNodeTransitions.json new file mode 100644 index 0000000..ea34499 --- /dev/null +++ b/resources/CurrencyWarsNodeTransitions.json @@ -0,0 +1,34 @@ +{ + "entries": [ + { + "chapter_id": 1, + "division_id": 20101, + "is_overclock": false, + "next_level_wire": "ImXiAmJQDVpcCiBYAWIICL6yyP0CMAJiCAjxl//uATACYggI8Zf/7gEwAQo0WAJiCAi+ssj9AjABYggI4L6F/gIwAWIICL6yyP0CMAFiCAjxl//uATABYggIw8aF/gIwAVjtzgVoATACYAE=", + "next_pending_wire": "MAyiJgA=", + "penalty_id": 92302, + "round_pending_wire": "MA3aNRgaBjABWOmnBhoGMAFY2ZsJGgYwAViFjgY=", + "route_id": 2801, + "section_id": 1, + "stage_id": 70000001 + }, + { + "chapter_id": 1, + "division_id": 20101, + "is_overclock": false, + "next_level_wire": "IgXiAgJoATADYAE=", + "next_pending_wire": "MA+iJgA=", + "penalty_id": 92013, + "round_pending_wire": "MBCqK7gBKAFAAVoiMggIBRD+rxUYAVoD/q8Vag0IBBDKzQgYASoDqAYBeMrNCFoiMggIBRD+rxUYAVoD/q8Vag0IBBD2zwgYASoDqAYBePbPCFoiMggIBRD+rxUYAVoD/q8Vag0IBBCykAYYASoDqAYBeLKQBloiMggIBRCAsBUYAVoDgLAVag0IBBDmtgcYASoDqAYBeOa2B1oiMggIBRD9rxUYAVoD/a8Vag0IBBC2rQcYASoDqAYBeLatBw==", + "route_id": 2801, + "section_id": 2, + "stage_id": 70000003, + "capture_method": "Native administrative move to the next known route node, followed by RoundBegin; only the next node layer/action are reused, not its balances or party. Queue values are opaque server-issued cursor values and remain after the preceding consumed action." + } + ], + "format_version": 1, + "scope": "Captured Standard first-to-second combat and second-to-third supply node definitions. Runtime computes rewards from uploaded combat statistics and never replaces party or inventory.", + "source_binary_sha256": "a02743d89dd75a024f83e37b35ed125f1781a90e70bfb47341dd81ff3d541858", + "target_assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "target_client_version": "4.6.53" +} diff --git a/resources/CurrencyWarsPreparation.json b/resources/CurrencyWarsPreparation.json new file mode 100644 index 0000000..557b621 --- /dev/null +++ b/resources/CurrencyWarsPreparation.json @@ -0,0 +1,9 @@ +{ + "format_version": 1, + "return_preparation_wire": "MAriZAA=", + "scope": "Initial RoundBegin/ReturnPreparation pending recipe only; no rewards or random inventory copied.", + "shop_draw_policy": "remaining_copies", + "source_binary_sha256": "a02743d89dd75a024f83e37b35ed125f1781a90e70bfb47341dd81ff3d541858", + "target_assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "target_client_version": "4.6.53" +} diff --git a/resources/CurrencyWarsSettlementRules.json b/resources/CurrencyWarsSettlementRules.json new file mode 100644 index 0000000..2f7fc45 --- /dev/null +++ b/resources/CurrencyWarsSettlementRules.json @@ -0,0 +1,92 @@ +{ + "format_version": 1, + "target_client_version": "4.6.53", + "target_assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "capture_sha256": "db1956ea89e23c35a5e5a5bcc01bbde4e931eeb0c58763980d737bf0b654965e", + "scope": "Current active node penalty and complete active player victory ranges. Other penalty rows require their own target capture. Talent/modifier post-battle healing remains unimplemented.", + "penalty_rules": [ + { + "HPProgressValueList": [ + 0, + 0, + 0, + 0, + 100, + 100 + ], + "ProgressValueList": [ + 2, + 3, + 10, + 15, + 0, + 0 + ], + "TotalTurn": "99", + "ID": 92302, + "ThresholdPosition": 0, + "ThresholdFailPlayerHPPenalty": 0, + "ThresholdPassBasicPlayerHPPenalty": 0, + "ProgressPenaltyCoefficient": 0, + "AvatarReviveDelayLose": "0.2500000002" + }, + { + "HPProgressValueList": [ + 0, + 0, + 0, + 0, + 100, + 100 + ], + "ProgressValueList": [ + 2, + 3, + 10, + 15, + 0, + 0 + ], + "TotalTurn": "15", + "ID": 92013, + "ThresholdPosition": 0, + "ThresholdFailPlayerHPPenalty": 0, + "ThresholdPassBasicPlayerHPPenalty": 5, + "ProgressPenaltyCoefficient": 10, + "AvatarReviveDelayLose": "0.2500000002" + } + ], + "victory_rules": [ + { + "Range": "0-1", + "Bonus": 1, + "Low": 0, + "Up": 1 + }, + { + "Range": "2-4", + "Bonus": 2, + "Low": 2, + "Up": 4 + }, + { + "Range": "5", + "Bonus": 3, + "Low": 5, + "Up": 5 + }, + { + "Range": "6+", + "Bonus": 4, + "Low": 6, + "Up": 4294967295 + } + ], + "streak_node_types": [ + "CampMonster", + "EliteBranch", + "Boss" + ], + "streak_policy_source": "March7thHoney public source fe00bdbda3c28ca33d01f171566aa35b5ab95083; normal Monster non-increment corroborated by native contrast replays.", + "node_penalty_capture_sha256": "2ff388e588877bdb2f5cbb8cd22122c7d87312da8b6a60f8817e06be8154c1b5" +} diff --git a/resources/CurrencyWarsSpotlightPolicy.json b/resources/CurrencyWarsSpotlightPolicy.json new file mode 100644 index 0000000..4144b32 --- /dev/null +++ b/resources/CurrencyWarsSpotlightPolicy.json @@ -0,0 +1,8 @@ +{ + "format_version": 1, + "target_client_version": "4.6.53", + "target_assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "offer_count": 3, + "free_refresh_count": 0, + "scope": "Explicit server selection policy: uniform sampling without replacement among current captured compatible Spotlight configurations. This is not a captured original-server weighting/cost schedule. No paid rerolls or fabricated effects." +} diff --git a/resources/CurrencyWarsSpotlights.json b/resources/CurrencyWarsSpotlights.json new file mode 100644 index 0000000..7189e93 --- /dev/null +++ b/resources/CurrencyWarsSpotlights.json @@ -0,0 +1,2565 @@ +{ + "format_version": 1, + "target_client_version": "4.6.53", + "target_assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "source_capture_sha256": "0c4557e395d2997897d3b04bcc108bf7a52a629bbacbc9d971d4ce22973e9cf2", + "scope": "Initialized handbook configurations only; this capture does not establish selection weights, reroll costs, grants, or effect execution.", + "entries": [ + { + "EffectParamList": [ + "0.4500000004" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100000.json", + "SuitableAvatarList": [ + 140502, + 121002, + 131502, + 100402, + 122402, + 111202 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100000.png", + "Tag": [ + 41, + 1 + ], + "Name": { + "hash": -1868248222, + "hash64": 287356835200933535 + }, + "ID": 100000, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 528032128, + "hash64": 15499966669783838028 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100001.json", + "SuitableAvatarList": [ + 140502, + 121002, + 131502, + 100402, + 122402, + 111202 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100001.png", + "Tag": [ + 41, + 40 + ], + "Name": { + "hash": 860635133, + "hash64": 6555475026845038810 + }, + "ID": 100001, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -1038051813, + "hash64": 10659337995281001521 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100002.json", + "SuitableAvatarList": [ + 141002, + 150502, + 131002, + 140102, + 122102, + 140402 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100002.png", + "Tag": [ + 42, + 40 + ], + "Name": { + "hash": 1263919660, + "hash64": 4136027978004803689 + }, + "ID": 100002, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -634767286, + "hash64": 8388967466931600601 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.1000000000", + "0.0800000000" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100003.json", + "SuitableAvatarList": [ + 122002, + 150602, + 140702, + 131702, + 121202 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100003.png", + "Tag": [ + 43, + 28 + ], + "Name": { + "hash": -302164281, + "hash64": 10465843150657084411 + }, + "ID": 100003, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 2094116069, + "hash64": 3214458757825943423 + }, + "EnemyDiffLvAdd": 3, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.3000000002", + "0.3000000002" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100004.json", + "SuitableAvatarList": [ + 140202, + 121302, + 140802, + 110702 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100004.png", + "Tag": [ + 45, + 9 + ], + "Name": { + "hash": 457350606, + "hash64": 17949117030661608675 + }, + "ID": 100004, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -1797566700, + "hash64": 5471233357232074033 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.2000000001", + "5", + "0.1000000000" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100005.json", + "SuitableAvatarList": [ + 130402, + 151202, + 141302, + 604202, + 130902, + 140302, + 140602, + 151102 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100005.png", + "Tag": [ + 6, + 3 + ], + "Name": { + "hash": -1108733335, + "hash64": 13211634063929590149 + }, + "ID": 100005, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": 931316655, + "hash64": 12697438980157470594 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.1500000001" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100006.json", + "SuitableAvatarList": [ + 110302, + 150602, + 151302, + 131002 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100006.png", + "Tag": [ + 6, + 1 + ], + "Name": { + "hash": -705448808, + "hash64": 3566512969811522256 + }, + "ID": 100006, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 1334601182, + "hash64": 4619214324275955099 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.2000000001", + "0.0300000000", + "2" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100007.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100007.png", + "Tag": [ + 1 + ], + "Name": { + "hash": 2023434547, + "hash64": 12240378448901970153 + }, + "ID": 100007, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -231482759, + "hash64": 14387022386908367695 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.7000000006", + "0.3500000003" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100008.json", + "SuitableAvatarList": [ + 131402, + 150402, + 121402, + 140202, + 121302 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100008.png", + "Tag": [ + 6, + 1 + ], + "Name": { + "hash": -1512017862, + "hash64": 8576505107911301259 + }, + "ID": 100008, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 884262488, + "hash64": 8175704588644524913 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "1", + "0.0149999996" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100100.json", + "SuitableAvatarList": [ + 130902, + 131302, + 130602, + 151202, + 141202, + 122202, + 150302, + 121102, + 110502, + 141302, + 122502, + 150102, + 130702 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100100.png", + "Tag": [ + 34, + 3 + ], + "Name": { + "hash": 840432157, + "hash64": 17679027240937089433 + }, + "ID": 100100, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -1058254789, + "hash64": 17200349639278775892 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "2" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100101.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100101.png", + "Tag": [ + 6, + 3 + ], + "Name": { + "hash": -1888451198, + "hash64": 12419817640335783546 + }, + "ID": 100101, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": 507829152, + "hash64": 11013082426488953106 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "2", + "0.0600000000" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100102.json", + "SuitableAvatarList": [ + 130902, + 131302, + 130602, + 151202, + 141202, + 122202, + 150302, + 121102, + 110502, + 141302, + 122502, + 150102, + 130702, + 120402, + 121002 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100102.png", + "Tag": [ + 33, + 3 + ], + "Name": { + "hash": -322367257, + "hash64": 1899242911711478331 + }, + "ID": 100102, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": 2073913093, + "hash64": 13309774920187370155 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "4", + "0.0600000000" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100103.json", + "SuitableAvatarList": [ + 121502, + 121802, + 132102, + 800902, + 150202, + 140902, + 121702, + 120302, + 120802, + 141502, + 140302, + 150702, + 140602, + 131402, + 150402, + 100502 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100103.png", + "Tag": [ + 33, + 3 + ], + "Name": { + "hash": 1243716684, + "hash64": 7292373047736680596 + }, + "ID": 100103, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": -654970262, + "hash64": 6706723973508241897 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100104.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100104.png", + "Tag": [ + 35 + ], + "Name": { + "hash": -1128936311, + "hash64": 10589838506233353070 + }, + "ID": 100104, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 911113679, + "hash64": 17188742310669593664 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "2" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100105.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100105.png", + "Tag": [ + 35 + ], + "Name": { + "hash": 437147630, + "hash64": 14108539298966236509 + }, + "ID": 100105, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": -1817769676, + "hash64": 9946508341885082749 + }, + "EnemyDiffLvAdd": 5, + "TraitID": 0 + }, + { + "EffectParamList": [ + "1", + "0.0100000000" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100106.json", + "SuitableAvatarList": [ + 121502, + 121802, + 132102, + 800902, + 150202, + 132102, + 140902, + 121702, + 120302, + 120802, + 141502, + 140302, + 150702, + 140602, + 131402, + 150402, + 100502 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100106.png", + "Tag": [ + 34, + 3 + ], + "Name": { + "hash": 2003231571, + "hash64": 18020446585056884654 + }, + "ID": 100106, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": -251685735, + "hash64": 16737546063704606307 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "10", + "0.0800000000", + "0.0400000000" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100107.json", + "SuitableAvatarList": [ + 140902, + 150202, + 130602 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100107.png", + "Tag": [ + 7, + 3 + ], + "Name": { + "hash": -725651784, + "hash64": 8013902608701019103 + }, + "ID": 100107, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 1314398206, + "hash64": 11758936372271486822 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.0200000000", + "60", + "0.2000000001" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100108.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100108.png", + "Tag": [ + 1, + 32 + ], + "Name": { + "hash": 1196662517, + "hash64": 13361181280731364463 + }, + "ID": 100108, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -702024429, + "hash64": 7092286112760209824 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.3300000003" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100109.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100109.png", + "Tag": [ + 35 + ], + "Name": { + "hash": -1532220838, + "hash64": 17005095916802939471 + }, + "ID": 100109, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 864059512, + "hash64": 15427850662968458195 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "2" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100110.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100110.png", + "Tag": [ + 1 + ], + "Name": { + "hash": 840432156, + "hash64": 9940685417326674897 + }, + "ID": 100110, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -1058254790, + "hash64": 14063444373282816473 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "20", + "3", + "40", + "0.8000000007" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100111.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100111.png", + "Tag": [ + 32 + ], + "Name": { + "hash": -1888451199, + "hash64": 15726254402048697274 + }, + "ID": 100111, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 507829151, + "hash64": 5910997885088045552 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.2500000002", + "0.0500000000" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100112.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100112.png", + "Tag": [ + 51, + 1 + ], + "Name": { + "hash": -322367258, + "hash64": 5904028402974082585 + }, + "ID": 100112, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 2073913092, + "hash64": 6631985753630451585 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "2" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100200.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100200.png", + "Tag": [ + 32 + ], + "Name": { + "hash": -1585923220, + "hash64": 12908879863144667586 + }, + "ID": 100200, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": 810357130, + "hash64": 14722536824664211532 + }, + "EnemyDiffLvAdd": 3, + "TraitID": 0 + }, + { + "EffectParamList": [], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100201.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100201.png", + "Tag": [ + 31 + ], + "Name": { + "hash": 1142960135, + "hash64": 9233846759638400342 + }, + "ID": 100201, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -755726811, + "hash64": 828493803092395143 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100202.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100202.png", + "Tag": [ + 30 + ], + "Name": { + "hash": -423123806, + "hash64": 16933167685773053120 + }, + "ID": 100202, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": 1973156544, + "hash64": 8634201770971199922 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100203.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100203.png", + "Tag": [ + 31 + ], + "Name": { + "hash": -1989207747, + "hash64": 10095452655634559548 + }, + "ID": 100203, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 407072603, + "hash64": 4378859891124666211 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.4000000003", + "0.2000000001" + ], + "JsonPath": "", + "SuitableAvatarList": [ + 150702, + 140302, + 110702, + 150402, + 151102, + 100502 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100204.png", + "Tag": [ + 10, + 11 + ], + "Name": { + "hash": 739675608, + "hash64": 10629259847137696359 + }, + "ID": 100204, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": -1515241698, + "hash64": 11522901394534246436 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.0700000000", + "0.0700000000" + ], + "JsonPath": "", + "SuitableAvatarList": [ + 121502, + 150402, + 140302, + 100502, + 150702, + 131402, + 121402, + 141502, + 110702, + 151102 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100205.png", + "Tag": [ + 11, + 10 + ], + "Name": { + "hash": -826408333, + "hash64": 2560766637177268565 + }, + "ID": 100205, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": 1213641657, + "hash64": 5507930845469120423 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.7000000006", + "0.2000000001", + "2" + ], + "JsonPath": "", + "SuitableAvatarList": [ + 121502, + 131302, + 151102, + 141502, + 150202, + 151202, + 800902, + 130602, + 141202, + 140902, + 121702 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100206.png", + "Tag": [ + 3 + ], + "Name": { + "hash": 1902475022, + "hash64": 15584387181689328412 + }, + "ID": 100206, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": -352442284, + "hash64": 10451569482287599553 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.1500000001" + ], + "JsonPath": "", + "SuitableAvatarList": [ + 121502, + 130902, + 141502, + 121802, + 150202, + 151102 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100207.png", + "Tag": [ + 3, + 8 + ], + "Name": { + "hash": 336391081, + "hash64": 5267224083850114535 + }, + "ID": 100207, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": -1918526225, + "hash64": 925120408643032244 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "353001", + "350202", + "0.1000000000" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100208.json", + "SuitableAvatarList": [ + 122002, + 141002, + 140502, + 140202, + 150602, + 150502, + 151002, + 121302, + 151302, + 131002, + 130802, + 110302, + 140702, + 140802, + 110702 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100208.png", + "Tag": [ + 4, + 31 + ], + "Name": { + "hash": -1229692860, + "hash64": 5440907944861544283 + }, + "ID": 100208, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 1166587490, + "hash64": 9635474700117652654 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "353002", + "350203", + "0.1000000000" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100209.json", + "SuitableAvatarList": [ + 141002, + 150502, + 131702, + 140702, + 140802, + 110702 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100209.png", + "Tag": [ + 5, + 31 + ], + "Name": { + "hash": 1499190495, + "hash64": 11725812459680138528 + }, + "ID": 100209, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -399496451, + "hash64": 483469806928142684 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "353004" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100300.json", + "SuitableAvatarList": [ + 121302, + 140502 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100300.png", + "Tag": [ + 22, + 31 + ], + "Name": { + "hash": 1122757159, + "hash64": 7205313128343503572 + }, + "ID": 100300, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -775929787, + "hash64": 9445068893080174660 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "5", + "5" + ], + "JsonPath": "", + "SuitableAvatarList": [ + 150502, + 151002, + 122102 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100301.png", + "Tag": [ + 23, + 1 + ], + "Name": { + "hash": -1606126196, + "hash64": 9401790052726477452 + }, + "ID": 100301, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 790154154, + "hash64": 8974197660466528671 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "10", + "6", + "5", + "3" + ], + "JsonPath": "", + "SuitableAvatarList": [ + 141002, + 110302, + 121002, + 100502 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100302.png", + "Tag": [ + 25 + ], + "Name": { + "hash": -2009410723, + "hash64": 41621982673601732 + }, + "ID": 100302, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 386869627, + "hash64": 10547444181119536244 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.2500000002", + "50" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100303.json", + "SuitableAvatarList": [ + 150602, + 150202, + 130602, + 150102, + 151102 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100303.png", + "Tag": [ + 26, + 7 + ], + "Name": { + "hash": -443326782, + "hash64": 2034708584874416573 + }, + "ID": 100303, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 1952953568, + "hash64": 157915990229485234 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.5000000004", + "0.2000000001" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100304.json", + "SuitableAvatarList": [ + 140702, + 141302 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100304.png", + "Tag": [ + 27, + 1 + ], + "Name": { + "hash": -846611309, + "hash64": 10912888154038068829 + }, + "ID": 100304, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 1193438681, + "hash64": 3515769913523454621 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.4000000003", + "0.0400000000", + "20" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100305.json", + "SuitableAvatarList": [ + 131002, + 131702, + 131502, + 121402 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100305.png", + "Tag": [ + 14, + 1 + ], + "Name": { + "hash": 719472632, + "hash64": 670410479556047941 + }, + "ID": 100305, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -1535444674, + "hash64": 4552561197050485323 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.1000000000", + "0.0800000000", + "99" + ], + "JsonPath": "", + "SuitableAvatarList": [ + 140202, + 150602, + 120502 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100306.png", + "Tag": [ + 21, + 1 + ], + "Name": { + "hash": 316188105, + "hash64": 575238640212756626 + }, + "ID": 100306, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -1938729201, + "hash64": 7358385555435346118 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.3200000002" + ], + "JsonPath": "", + "SuitableAvatarList": [ + 121802, + 130702, + 100502, + 110502 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100307.png", + "Tag": [ + 19, + 3 + ], + "Name": { + "hash": 1882272046, + "hash64": 16548235022892180049 + }, + "ID": 100307, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": -372645260, + "hash64": 5831316665517139345 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.4500000004" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100400.json", + "SuitableAvatarList": [ + 150602, + 150502, + 151002, + 121302, + 151302, + 130802, + 140702, + 140802, + 121202 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100400.png", + "Tag": [ + 9, + 1 + ], + "Name": { + "hash": 1862069070, + "hash64": 13559096052041967549 + }, + "ID": 100400, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 1092682132, + "hash64": 12259940408827584892 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.2000000001", + "0.0600000000" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100401.json", + "SuitableAvatarList": [ + 140502, + 140202, + 140802, + 140102 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100401.png", + "Tag": [ + 7, + 1 + ], + "Name": { + "hash": 295985129, + "hash64": 17060000084393433423 + }, + "ID": 100401, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -473401809, + "hash64": 16414609584444558439 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.0500000000" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100402.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100402.png", + "Tag": [ + 1, + 46 + ], + "Name": { + "hash": 699269656, + "hash64": 15173124515813962073 + }, + "ID": 100402, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -70117282, + "hash64": 8881796040453473084 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.4000000003", + "0.4000000003" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100403.json", + "SuitableAvatarList": [ + 122002, + 141002, + 140502, + 140202, + 150602, + 150502, + 151002, + 121302, + 151302, + 131002, + 130802, + 110302, + 140702, + 140802, + 110702 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100403.png", + "Tag": [ + 4, + 1 + ], + "Name": { + "hash": -866814285, + "hash64": 6730048546152773011 + }, + "ID": 100403, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -1636201223, + "hash64": 13445598932256635799 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.4000000003", + "0.4000000003" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100404.json", + "SuitableAvatarList": [ + 141002, + 150502, + 131702, + 140702, + 140802, + 110702 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100404.png", + "Tag": [ + 5, + 1 + ], + "Name": { + "hash": -463529758, + "hash64": 16920988720099000735 + }, + "ID": 100404, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -876686336, + "hash64": 8553568156561712919 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.4000000003", + "0.1500000001", + "350205" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100405.json", + "SuitableAvatarList": [ + 121202, + 150702, + 120502, + 140702, + 140402 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100405.png", + "Tag": [ + 18, + 31 + ], + "Name": { + "hash": -2029613699, + "hash64": 11700913464107658516 + }, + "ID": 100405, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 1852197019, + "hash64": 10965651203032062289 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.3000000002", + "0.1000000000", + "350201" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100406.json", + "SuitableAvatarList": [ + 140202, + 150602, + 140902, + 150202, + 151302, + 130602 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100406.png", + "Tag": [ + 7, + 31 + ], + "Name": { + "hash": -1626329172, + "hash64": 4601022715889990217 + }, + "ID": 100406, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -2039485750, + "hash64": 8067930373100526990 + }, + "EnemyDiffLvAdd": 3, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.3000000002", + "0.5000000004" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100407.json", + "SuitableAvatarList": [ + 150502, + 151002 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100407.png", + "Tag": [ + 23, + 1 + ], + "Name": { + "hash": 1102554183, + "hash64": 4666980696040926216 + }, + "ID": 100407, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 689397605, + "hash64": 6216919646186087756 + }, + "EnemyDiffLvAdd": 3, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.1500000001", + "0.0600000000", + "350206" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100408.json", + "SuitableAvatarList": [ + 150302, + 130402, + 120802 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100408.png", + "Tag": [ + 2 + ], + "Name": { + "hash": -2076667866, + "hash64": 16534690125262028263 + }, + "ID": 100408, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": 1448912492, + "hash64": 7577641617280497125 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.4000000003", + "0.2000000001" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100409.json", + "SuitableAvatarList": [ + 140902, + 121702, + 120802, + 120302, + 121102, + 110502, + 122202, + 150302 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100409.png", + "Tag": [ + 2 + ], + "Name": { + "hash": 652215489, + "hash64": 14530268958227662128 + }, + "ID": 100409, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": -117171449, + "hash64": 3096924301554790130 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.2000000001", + "0.3000000002" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100410.json", + "SuitableAvatarList": [ + 140402, + 130402, + 140902, + 120302, + 122202 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100410.png", + "Tag": [ + 2, + 4 + ], + "Name": { + "hash": 1862069069, + "hash64": 8121925083532900795 + }, + "ID": 100410, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": 1092682131, + "hash64": 17255769210361749847 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.2000000001", + "0.4000000003" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100411.json", + "SuitableAvatarList": [ + 140202, + 150602, + 140902, + 150202, + 151302, + 130602 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100411.png", + "Tag": [ + 7 + ], + "Name": { + "hash": 295985128, + "hash64": 77866219429697462 + }, + "ID": 100411, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -473401810, + "hash64": 10616066253607549164 + }, + "EnemyDiffLvAdd": 3, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.1000000000" + ], + "JsonPath": "", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100412.png", + "Tag": [ + 3 + ], + "Name": { + "hash": 699269655, + "hash64": 8251265584693451048 + }, + "ID": 100412, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": -70117283, + "hash64": 15013954361438781509 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.4000000003" + ], + "JsonPath": "", + "SuitableAvatarList": [ + 131302, + 130902, + 130602 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100413.png", + "Tag": [ + 48, + 3 + ], + "Name": { + "hash": -866814286, + "hash64": 15543818404651376917 + }, + "ID": 100413, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": -1636201224, + "hash64": 11493401483913187518 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.3000000002", + "0.5000000004" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100414.json", + "SuitableAvatarList": [ + 121202, + 100402 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100414.png", + "Tag": [ + 21, + 1 + ], + "Name": { + "hash": -463529759, + "hash64": 13713863473592507051 + }, + "ID": 100414, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -876686337, + "hash64": 13231051827432436168 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.3000000002", + "0.5000000004" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100415.json", + "SuitableAvatarList": [ + 150702, + 151002, + 140502, + 140102, + 121202, + 140402 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100415.png", + "Tag": [ + 22, + 1 + ], + "Name": { + "hash": -2029613700, + "hash64": 11698377728240174870 + }, + "ID": 100415, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 1852197018, + "hash64": 13725729571425146586 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.1200000001", + "0.1200000001" + ], + "JsonPath": "", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100600.png", + "Tag": [ + 20 + ], + "Name": { + "hash": 2144394072, + "hash64": 18211011267236263688 + }, + "ID": 100600, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 1375007134, + "hash64": 14895642609071696107 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100705.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100705.png", + "Tag": [ + 50 + ], + "Name": { + "hash": -201407732, + "hash64": 3760776592462677295 + }, + "ID": 100705, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -614564310, + "hash64": 15457388100132234553 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 400502 + }, + { + "EffectParamList": [ + "0.1500000001", + "1", + "2" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100800.json", + "SuitableAvatarList": [ + 111202, + 122002, + 122402, + 130402, + 130902, + 150402, + 140302 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100800.png", + "Tag": [ + 50, + 13 + ], + "Name": { + "hash": 1297419066, + "hash64": 13109522039510929643 + }, + "ID": 100800, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -601267880, + "hash64": 3868897165199363850 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 400102 + }, + { + "EffectParamList": [ + "0.0500000000", + "2", + "4", + "8" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100801.json", + "SuitableAvatarList": [ + 150402, + 131402, + 151302, + 131702, + 150202, + 111202 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100801.png", + "Tag": [ + 50, + 1 + ], + "Name": { + "hash": -268664875, + "hash64": 5818309848285406161 + }, + "ID": 100801, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 2127615475, + "hash64": 822811867158895636 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 400302 + }, + { + "EffectParamList": [ + "10", + "3" + ], + "JsonPath": "", + "SuitableAvatarList": [ + 121702, + 141502, + 140302, + 150702 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100900.png", + "Tag": [ + 39, + 3 + ], + "Name": { + "hash": -288867851, + "hash64": 16588871030884871485 + }, + "ID": 100900, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": 2107412499, + "hash64": 16690557650930212768 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.6600000006" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100901.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100901.png", + "Tag": [ + 1 + ], + "Name": { + "hash": 1277216090, + "hash64": 3839575561042988199 + }, + "ID": 100901, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -621470856, + "hash64": 15372117475175591186 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.6000000005" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight100902.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/100902.png", + "Tag": [ + 38, + 31 + ], + "Name": { + "hash": -1451667265, + "hash64": 15422406905729789211 + }, + "ID": 100902, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 944613085, + "hash64": 8941807801580814413 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.3000000002", + "0.2000000001" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight110001.json", + "SuitableAvatarList": [ + 141002, + 150502, + 131002, + 140102, + 122102, + 140402 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/110001.png", + "Tag": [ + 42, + 28 + ], + "Name": { + "hash": -1110024990, + "hash64": 16361484341944177760 + }, + "ID": 110001, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 1286255360, + "hash64": 7579907025785244235 + }, + "EnemyDiffLvAdd": 3, + "TraitID": 0 + }, + { + "EffectParamList": [], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight110002.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/110002.png", + "Tag": [ + 38 + ], + "Name": { + "hash": 456058951, + "hash64": 7379291004479208498 + }, + "ID": 110002, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": -1442627995, + "hash64": 17769558927196481287 + }, + "EnemyDiffLvAdd": 3, + "TraitID": 0 + }, + { + "EffectParamList": [ + "8", + "0.1500000001", + "0.0100000000" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight110101.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/110101.png", + "Tag": [ + 34, + 1 + ], + "Name": { + "hash": -1251187491, + "hash64": 3697269086395315508 + }, + "ID": 110101, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 1145092859, + "hash64": 11034896649197728244 + }, + "EnemyDiffLvAdd": 3, + "TraitID": 0 + }, + { + "EffectParamList": [], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight110102.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/110102.png", + "Tag": [ + 35 + ], + "Name": { + "hash": -847902964, + "hash64": 3825780215624696136 + }, + "ID": 110102, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 1548377386, + "hash64": 11770468534260915690 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.3500000003", + "0.3500000003" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight110201.json", + "SuitableAvatarList": [ + 150602, + 150502, + 151002, + 121302, + 151302, + 130802, + 140702, + 140802, + 121202 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/110201.png", + "Tag": [ + 9, + 29 + ], + "Name": { + "hash": -827699988, + "hash64": 2436225592572389286 + }, + "ID": 110201, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 1568580362, + "hash64": 7512443732126623676 + }, + "EnemyDiffLvAdd": 3, + "TraitID": 0 + }, + { + "EffectParamList": [ + "353003", + "350201", + "0.0500000000" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight110202.json", + "SuitableAvatarList": [ + 140202, + 150602, + 140902, + 150202, + 151302, + 130602 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/110202.png", + "Tag": [ + 7, + 31 + ], + "Name": { + "hash": -1230984515, + "hash64": 12759066481517875053 + }, + "ID": 110202, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 1165295835, + "hash64": 3159771827400290958 + }, + "EnemyDiffLvAdd": 3, + "TraitID": 0 + }, + { + "EffectParamList": [ + "7", + "1" + ], + "JsonPath": "", + "SuitableAvatarList": [ + 140202, + 122002, + 150602, + 111202, + 150402, + 140302 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/110301.png", + "Tag": [ + 12 + ], + "Name": { + "hash": -968862489, + "hash64": 12580515683909157146 + }, + "ID": 110301, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 1427417861, + "hash64": 758279428789658229 + }, + "EnemyDiffLvAdd": 3, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.7000000006", + "0.3500000003" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight110302.json", + "SuitableAvatarList": [ + 150602, + 122002, + 130802, + 140702, + 140802 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/110302.png", + "Tag": [ + 24, + 1 + ], + "Name": { + "hash": 1760020866, + "hash64": 7383806694752677163 + }, + "ID": 110302, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -138666080, + "hash64": 15076942435977627910 + }, + "EnemyDiffLvAdd": 3, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.2000000001", + "0.0300000000", + "99" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight110303.json", + "SuitableAvatarList": [ + 150402, + 140302, + 121502, + 131302, + 141202, + 150202, + 130602, + 140902, + 131002 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/110303.png", + "Tag": [ + 7, + 3 + ], + "Name": { + "hash": 193936925, + "hash64": 1248254849331062965 + }, + "ID": 110303, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": -1704750021, + "hash64": 13821016696067492786 + }, + "EnemyDiffLvAdd": 3, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.1500000001", + "1" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight110801.json", + "SuitableAvatarList": [ + 151002, + 151302, + 130802, + 110302, + 150702 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/110801.png", + "Tag": [ + 50, + 44 + ], + "Name": { + "hash": 2055642298, + "hash64": 8908006570083145719 + }, + "ID": 110801, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 156955352, + "hash64": 17313857245444536492 + }, + "EnemyDiffLvAdd": 0, + "TraitID": 400202 + }, + { + "EffectParamList": [ + "0.1500000001", + "0.0500000000" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight110901.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/110901.png", + "Tag": [ + 1 + ], + "Name": { + "hash": 1914479797, + "hash64": 16746923962668717310 + }, + "ID": 110901, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 15792851, + "hash64": 14080361864823055474 + }, + "EnemyDiffLvAdd": 3, + "TraitID": 0 + }, + { + "EffectParamList": [], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight110902.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/110902.png", + "Tag": [ + 37 + ], + "Name": { + "hash": -1977202972, + "hash64": 1299040300068547001 + }, + "ID": 110902, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": 419077378, + "hash64": 2667292650648387495 + }, + "EnemyDiffLvAdd": 3, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.3000000002" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight120101.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/120101.png", + "Tag": [ + 35 + ], + "Name": { + "hash": -1161660724, + "hash64": 4041100587813309216 + }, + "ID": 120101, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 1234619626, + "hash64": 2991583042331638210 + }, + "EnemyDiffLvAdd": 5, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.0700000000", + "2" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight120102.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/120102.png", + "Tag": [ + 6, + 1 + ], + "Name": { + "hash": -1564945251, + "hash64": 12882795371468340735 + }, + "ID": 120102, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 831335099, + "hash64": 6796446822590627427 + }, + "EnemyDiffLvAdd": 5, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.2000000001" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight120201.json", + "SuitableAvatarList": [ + 150602, + 150502, + 151002, + 121302, + 151302, + 130802, + 140702, + 140802, + 121202 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/120201.png", + "Tag": [ + 9 + ], + "Name": { + "hash": 1305100605, + "hash64": 15751080636593226830 + }, + "ID": 120201, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -593586341, + "hash64": 8257381637814576983 + }, + "EnemyDiffLvAdd": 5, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.2000000001" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight120202.json", + "SuitableAvatarList": [ + 140902, + 121702, + 120802, + 120302, + 121102, + 110502, + 122202, + 150302 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/120202.png", + "Tag": [ + 2, + 36 + ], + "Name": { + "hash": 1708385132, + "hash64": 12573799655532026354 + }, + "ID": 120202, + "IsOCEffective": true, + "IsCarry": false, + "Desc": { + "hash": -190301814, + "hash64": 17906402762881147128 + }, + "EnemyDiffLvAdd": 5, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.5000000004" + ], + "JsonPath": "", + "SuitableAvatarList": [ + 122002, + 140502, + 140202, + 150602, + 150502, + 151002, + 121302, + 151302, + 130802, + 140802, + 110702, + 140102, + 100402, + 122402, + 111202, + 121202 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/120401.png", + "Tag": [ + 19 + ], + "Name": { + "hash": 1022775603, + "hash64": 11357312934865702117 + }, + "ID": 120401, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 253388665, + "hash64": 12287756898820048821 + }, + "EnemyDiffLvAdd": 5, + "TraitID": 0 + }, + { + "EffectParamList": [ + "1.2000000001", + "0.6000000005" + ], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight120901.json", + "SuitableAvatarList": [ + 140402, + 120502, + 140702, + 140802 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/120901.png", + "Tag": [ + 7, + 47 + ], + "Name": { + "hash": 2004006564, + "hash64": 2807418936499072657 + }, + "ID": 120901, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 105319618, + "hash64": 1715879308234538260 + }, + "EnemyDiffLvAdd": 5, + "TraitID": 0 + }, + { + "EffectParamList": [], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight120902.json", + "SuitableAvatarList": [ + 140802 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/120902.png", + "Tag": [ + 6 + ], + "Name": { + "hash": 1600722037, + "hash64": 7499122646783640184 + }, + "ID": 120902, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -297964909, + "hash64": 2781755431486301835 + }, + "EnemyDiffLvAdd": 5, + "TraitID": 400402 + }, + { + "EffectParamList": [], + "JsonPath": "Config/Level/GridFight/SpotLight/GridFightSpotLight130101.json", + "SuitableAvatarList": [], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/130101.png", + "Tag": [ + 6 + ], + "Name": { + "hash": -524397017, + "hash64": 2231813479141433724 + }, + "ID": 130101, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": 1871883333, + "hash64": 17527157613354758586 + }, + "EnemyDiffLvAdd": 8, + "TraitID": 0 + }, + { + "EffectParamList": [ + "0.3000000002", + "0.3000000002", + "3" + ], + "JsonPath": "", + "SuitableAvatarList": [ + 122102, + 140402, + 110702, + 120502, + 150702, + 121202, + 140702 + ], + "Icon": "SpriteOutput/GridFight/MainCharacterBuff/130501.png", + "Tag": [ + 2, + 1 + ], + "Name": { + "hash": -1089047021, + "hash64": 13586866545240575748 + }, + "ID": 130501, + "IsOCEffective": true, + "IsCarry": true, + "Desc": { + "hash": -1858433959, + "hash64": 10066022960396241607 + }, + "EnemyDiffLvAdd": 5, + "TraitID": 0 + } + ] +} diff --git a/resources/EidolonConfig.json b/resources/EidolonConfig.json index 3542dbb..61879bf 100644 --- a/resources/EidolonConfig.json +++ b/resources/EidolonConfig.json @@ -1,196 +1,5561 @@ { - "source": { - "repository": "https://gitlab.com/Dimbreath/turnbasedgamedata", - "revision": "312b4597691e0a29cf9828a15b592757dba86949", - "files": [ - "ExcelOutput/AvatarRankConfig.json", - "ExcelOutput/ItemConfigAvatarRank.json" - ], - "note": "Normal E1-E6 costs for the three requested characters, joined against local AvatarConfig. EX materials are not inferred from these IDs." - }, "avatars": { - "1204": { - "max_rank": 6, + "1001": { "ranks": [ { - "rank": 1, "cost": [ { - "ItemID": 11204, + "ItemID": 11001, "ItemNum": 1 } - ] + ], + "rank": 1 }, { - "rank": 2, "cost": [ { - "ItemID": 11204, + "ItemID": 11001, "ItemNum": 1 } - ] + ], + "rank": 2 }, { - "rank": 3, "cost": [ { - "ItemID": 11204, + "ItemID": 11001, "ItemNum": 1 } - ] + ], + "rank": 3 }, { - "rank": 4, "cost": [ { - "ItemID": 11204, + "ItemID": 11001, "ItemNum": 1 } - ] + ], + "rank": 4 }, { - "rank": 5, "cost": [ { - "ItemID": 11204, + "ItemID": 11001, "ItemNum": 1 } - ] + ], + "rank": 5 }, { - "rank": 6, "cost": [ { - "ItemID": 11204, + "ItemID": 11001, "ItemNum": 1 } - ] + ], + "rank": 6 } - ] + ], + "max_rank": 6 + }, + "1002": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11002, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11002, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11002, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11002, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11002, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11002, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1003": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11003, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11003, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11003, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11003, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11003, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11003, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1004": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11004, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11004, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11004, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11004, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11004, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11004, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1005": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11005, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11005, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11005, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11005, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11005, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11005, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1006": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11006, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11006, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11006, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11006, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11006, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11006, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1008": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11008, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11008, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11008, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11008, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11008, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11008, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1009": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11009, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11009, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11009, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11009, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11009, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11009, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1013": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11013, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11013, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11013, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11013, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11013, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11013, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1101": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11101, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11101, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11101, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11101, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11101, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11101, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1102": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11102, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11102, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11102, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11102, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11102, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11102, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1103": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11103, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11103, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11103, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11103, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11103, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11103, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1104": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11104, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11104, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11104, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11104, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11104, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11104, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1105": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11105, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11105, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11105, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11105, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11105, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11105, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1106": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11106, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11106, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11106, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11106, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11106, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11106, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1107": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11107, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11107, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11107, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11107, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11107, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11107, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1108": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11108, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11108, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11108, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11108, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11108, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11108, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1109": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11109, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11109, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11109, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11109, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11109, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11109, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1110": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11110, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11110, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11110, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11110, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11110, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11110, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1111": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11111, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11111, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11111, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11111, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11111, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11111, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1112": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11112, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11112, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11112, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11112, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11112, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11112, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1201": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11201, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11201, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11201, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11201, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11201, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11201, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1202": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11202, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11202, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11202, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11202, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11202, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11202, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1203": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11203, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11203, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11203, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11203, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11203, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11203, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1204": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11204, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11204, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11204, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11204, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11204, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11204, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1205": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11205, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11205, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11205, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11205, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11205, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11205, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1206": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11206, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11206, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11206, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11206, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11206, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11206, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1207": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11207, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11207, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11207, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11207, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11207, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11207, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1208": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11208, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11208, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11208, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11208, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11208, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11208, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1209": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11209, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11209, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11209, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11209, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11209, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11209, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1210": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11210, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11210, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11210, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11210, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11210, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11210, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1211": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11211, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11211, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11211, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11211, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11211, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11211, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1212": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11212, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11212, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11212, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11212, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11212, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11212, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 }, "1213": { - "max_rank": 6, "ranks": [ { - "rank": 1, "cost": [ { "ItemID": 11213, "ItemNum": 1 } - ] + ], + "rank": 1 }, { - "rank": 2, "cost": [ { "ItemID": 11213, "ItemNum": 1 } - ] + ], + "rank": 2 }, { - "rank": 3, "cost": [ { "ItemID": 11213, "ItemNum": 1 } - ] + ], + "rank": 3 }, { - "rank": 4, "cost": [ { "ItemID": 11213, "ItemNum": 1 } - ] + ], + "rank": 4 }, { - "rank": 5, "cost": [ { "ItemID": 11213, "ItemNum": 1 } - ] + ], + "rank": 5 }, { - "rank": 6, "cost": [ { "ItemID": 11213, "ItemNum": 1 } - ] + ], + "rank": 6 } - ] + ], + "max_rank": 6 + }, + "1214": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11214, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11214, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11214, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11214, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11214, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11214, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1215": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11215, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11215, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11215, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11215, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11215, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11215, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1217": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11217, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11217, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11217, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11217, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11217, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11217, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1218": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11218, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11218, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11218, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11218, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11218, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11218, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1220": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11220, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11220, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11220, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11220, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11220, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11220, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1221": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11221, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11221, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11221, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11221, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11221, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11221, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1222": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11222, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11222, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11222, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11222, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11222, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11222, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1223": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11223, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11223, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11223, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11223, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11223, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11223, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1224": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11224, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11224, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11224, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11224, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11224, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11224, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1225": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11225, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11225, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11225, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11225, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11225, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11225, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1301": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11301, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11301, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11301, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11301, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11301, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11301, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1302": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11302, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11302, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11302, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11302, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11302, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11302, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1303": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11303, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11303, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11303, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11303, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11303, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11303, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1304": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11304, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11304, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11304, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11304, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11304, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11304, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1305": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11305, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11305, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11305, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11305, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11305, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11305, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1306": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11306, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11306, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11306, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11306, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11306, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11306, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1307": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11307, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11307, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11307, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11307, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11307, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11307, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 }, "1308": { - "max_rank": 6, "ranks": [ { - "rank": 1, "cost": [ { "ItemID": 11308, "ItemNum": 1 } - ] + ], + "rank": 1 }, { - "rank": 2, "cost": [ { "ItemID": 11308, "ItemNum": 1 } - ] + ], + "rank": 2 }, { - "rank": 3, "cost": [ { "ItemID": 11308, "ItemNum": 1 } - ] + ], + "rank": 3 }, { - "rank": 4, "cost": [ { "ItemID": 11308, "ItemNum": 1 } - ] + ], + "rank": 4 }, { - "rank": 5, "cost": [ { "ItemID": 11308, "ItemNum": 1 } - ] + ], + "rank": 5 }, { - "rank": 6, "cost": [ { "ItemID": 11308, "ItemNum": 1 } - ] + ], + "rank": 6 } - ] + ], + "max_rank": 6 + }, + "1309": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11309, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11309, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11309, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11309, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11309, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11309, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1310": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11310, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11310, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11310, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11310, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11310, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11310, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1312": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11312, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11312, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11312, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11312, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11312, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11312, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1313": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11313, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11313, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11313, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11313, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11313, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11313, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1314": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11314, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11314, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11314, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11314, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11314, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11314, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1315": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11315, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11315, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11315, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11315, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11315, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11315, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1317": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11317, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11317, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11317, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11317, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11317, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11317, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1321": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11321, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11321, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11321, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11321, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11321, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11321, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1401": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11401, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11401, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11401, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11401, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11401, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11401, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1402": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11402, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11402, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11402, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11402, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11402, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11402, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1403": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11403, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11403, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11403, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11403, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11403, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11403, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1404": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11404, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11404, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11404, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11404, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11404, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11404, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1405": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11405, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11405, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11405, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11405, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11405, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11405, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1406": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11406, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11406, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11406, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11406, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11406, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11406, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1407": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11407, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11407, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11407, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11407, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11407, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11407, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1408": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11408, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11408, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11408, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11408, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11408, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11408, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1409": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11409, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11409, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11409, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11409, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11409, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11409, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1410": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11410, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11410, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11410, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11410, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11410, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11410, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1412": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11412, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11412, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11412, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11412, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11412, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11412, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1413": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11413, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11413, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11413, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11413, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11413, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11413, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1414": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11414, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11414, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11414, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11414, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11414, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11414, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1415": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11415, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11415, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11415, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11415, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11415, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11415, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1501": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11501, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11501, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11501, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11501, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11501, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11501, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1502": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11502, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11502, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11502, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11502, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11502, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11502, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1503": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11503, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11503, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11503, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11503, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11503, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11503, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1504": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11504, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11504, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11504, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11504, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11504, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11504, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1505": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11505, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11505, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11505, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11505, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11505, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11505, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1506": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11506, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11506, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11506, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11506, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11506, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11506, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1507": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11507, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11507, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11507, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11507, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11507, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11507, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1510": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11510, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11510, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11510, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11510, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11510, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11510, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1512": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11512, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11512, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11512, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11512, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11512, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11512, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "1513": { + "ranks": [ + { + "cost": [ + { + "ItemID": 11513, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 11513, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 11513, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 11513, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 11513, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 11513, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "8001": { + "ranks": [ + { + "cost": [ + { + "ItemID": 18001, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 18001, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 18001, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 18001, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 18001, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 18001, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "8002": { + "ranks": [ + { + "cost": [ + { + "ItemID": 18001, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 18001, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 18001, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 18001, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 18001, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 18001, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "8003": { + "ranks": [ + { + "cost": [ + { + "ItemID": 18003, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 18003, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 18003, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 18003, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 18003, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 18003, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "8004": { + "ranks": [ + { + "cost": [ + { + "ItemID": 18003, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 18003, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 18003, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 18003, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 18003, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 18003, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "8005": { + "ranks": [ + { + "cost": [ + { + "ItemID": 18005, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 18005, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 18005, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 18005, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 18005, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 18005, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "8006": { + "ranks": [ + { + "cost": [ + { + "ItemID": 18005, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 18005, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 18005, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 18005, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 18005, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 18005, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "8007": { + "ranks": [ + { + "cost": [ + { + "ItemID": 18007, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 18007, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 18007, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 18007, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 18007, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 18007, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "8008": { + "ranks": [ + { + "cost": [ + { + "ItemID": 18007, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 18007, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 18007, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 18007, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 18007, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 18007, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "8009": { + "ranks": [ + { + "cost": [ + { + "ItemID": 18009, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 18009, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 18009, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 18009, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 18009, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 18009, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 + }, + "8010": { + "ranks": [ + { + "cost": [ + { + "ItemID": 18009, + "ItemNum": 1 + } + ], + "rank": 1 + }, + { + "cost": [ + { + "ItemID": 18009, + "ItemNum": 1 + } + ], + "rank": 2 + }, + { + "cost": [ + { + "ItemID": 18009, + "ItemNum": 1 + } + ], + "rank": 3 + }, + { + "cost": [ + { + "ItemID": 18009, + "ItemNum": 1 + } + ], + "rank": 4 + }, + { + "cost": [ + { + "ItemID": 18009, + "ItemNum": 1 + } + ], + "rank": 5 + }, + { + "cost": [ + { + "ItemID": 18009, + "ItemNum": 1 + } + ], + "rank": 6 + } + ], + "max_rank": 6 } }, - "ex_material_source": { - "provided_by": "user", - "date": "2026-10-17", - "note": "IDs explicitly supplied by user. Client GetBag accepted without item/inventory errors, and user confirmed E1/EX unlock and Calyx entry on 2026-10-17." + "source": { + "repository": "https://gitlab.com/Dimbreath/turnbasedgamedata", + "files": [ + "ExcelOutput/AvatarRankConfig.json", + "ExcelOutput/ItemConfigAvatarRank.json", + "resources/AvatarConfig.json" + ], + "note": "Normal E1-E6 costs joined by AvatarID against local Client AvatarConfig for every avatar with six source rank entries, and verified as ItemSubType Eidolon. Client config variants without rank entries are excluded. EX materials remain limited to client-verified entries.", + "revision": "312b4597691e0a29cf9828a15b592757dba86949" }, "ex_materials": { "1204": { diff --git a/resources/InventoryItemConfig.json b/resources/InventoryItemConfig.json new file mode 100644 index 0000000..d26e8ab --- /dev/null +++ b/resources/InventoryItemConfig.json @@ -0,0 +1,24050 @@ +{ + "source": { + "repository": "https://gitlab.com/Dimbreath/turnbasedgamedata", + "revision": "312b4597691e0a29cf9828a15b592757dba86949", + "files": [ + "ExcelOutput/ItemConfig.json", + "ExcelOutput/EquipmentConfig.json", + "ExcelOutput/ItemConfigEquipment.json", + "ExcelOutput/ItemConfigRelic.json", + "ExcelOutput/RelicConfig.json", + "ExcelOutput/RelicMainAffixConfig.json", + "ExcelOutput/RelicSubAffixConfig.json" + ], + "note": "Material, Usable and Mission item IDs; all released Light Cones; and visible BASIC Relic templates joined from RelicConfig and ItemConfigRelic. MainAffixID is selected from the matching MainAffixGroup; sub-affixes come from the matching SubAffixGroup and exclude the main property. Display, Virtual and Pet records are excluded." + }, + "item_ids": [ + 101, + 102, + 110, + 170, + 171, + 201, + 211, + 212, + 213, + 221, + 222, + 223, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 241, + 251, + 252, + 261, + 262, + 263, + 271, + 281, + 282, + 283, + 284, + 291, + 503, + 800, + 801, + 802, + 803, + 804, + 821, + 71000, + 71001, + 71002, + 71003, + 71004, + 71005, + 71006, + 71007, + 71008, + 71009, + 71010, + 71011, + 71012, + 71013, + 71014, + 71015, + 71016, + 71017, + 71018, + 71019, + 110101, + 110111, + 110112, + 110113, + 110121, + 110122, + 110123, + 110131, + 110132, + 110133, + 110141, + 110142, + 110143, + 110151, + 110152, + 110153, + 110161, + 110162, + 110163, + 110171, + 110172, + 110173, + 110181, + 110182, + 110183, + 110191, + 110192, + 110193, + 110201, + 110202, + 110203, + 110211, + 110212, + 110213, + 110221, + 110222, + 110223, + 110231, + 110232, + 110233, + 110241, + 110242, + 110243, + 110251, + 110252, + 110253, + 110261, + 110262, + 110263, + 110271, + 110272, + 110273, + 110281, + 110282, + 110283, + 110291, + 110292, + 110293, + 110311, + 110312, + 110313, + 110400, + 110401, + 110402, + 110403, + 110404, + 110405, + 110406, + 110407, + 110411, + 110412, + 110413, + 110414, + 110415, + 110416, + 110417, + 110421, + 110422, + 110423, + 110424, + 110425, + 110426, + 110427, + 110431, + 110432, + 110433, + 110434, + 110435, + 110436, + 110437, + 110443, + 110501, + 110502, + 110503, + 110504, + 110505, + 110506, + 110507, + 110508, + 110509, + 110610, + 111000, + 111001, + 111002, + 111003, + 111011, + 111012, + 111013, + 112001, + 112002, + 112003, + 112011, + 112012, + 112013, + 113001, + 113002, + 113003, + 113011, + 113012, + 113013, + 114001, + 114002, + 114003, + 114011, + 114012, + 114013, + 115001, + 115002, + 115003, + 115011, + 115012, + 115013, + 116001, + 116002, + 116003, + 120000, + 120001, + 120002, + 120003, + 120004, + 120005, + 120006, + 121000, + 121001, + 121002, + 121003, + 121004, + 121005, + 121006, + 121007, + 121008, + 122000, + 122001, + 122002, + 122003, + 122004, + 123000, + 123001, + 123002, + 140000, + 140004, + 140017, + 140021, + 140022, + 140023, + 140024, + 140025, + 140026, + 140027, + 140032, + 140033, + 140034, + 140035, + 140036, + 140037, + 140039, + 140040, + 140041, + 140046, + 140065, + 140066, + 140067, + 140068, + 140069, + 140070, + 140071, + 140072, + 140073, + 140074, + 140075, + 140076, + 140077, + 140078, + 140079, + 140080, + 140081, + 140082, + 140083, + 140084, + 140085, + 140086, + 140090, + 140091, + 140095, + 140096, + 140097, + 140098, + 140103, + 140104, + 140105, + 140106, + 140107, + 140108, + 140109, + 140110, + 140111, + 140112, + 140114, + 140115, + 140116, + 140117, + 140118, + 140119, + 140120, + 140121, + 140123, + 140124, + 140125, + 140126, + 140127, + 140128, + 140129, + 140130, + 140132, + 140133, + 140134, + 140135, + 140136, + 140137, + 140138, + 140139, + 140140, + 140141, + 140146, + 140147, + 140148, + 140149, + 140150, + 140151, + 140152, + 140153, + 140154, + 140155, + 140156, + 140157, + 140158, + 140159, + 140161, + 140162, + 140163, + 140164, + 140165, + 140166, + 140167, + 140168, + 140169, + 140170, + 140171, + 140172, + 140173, + 140174, + 140175, + 140176, + 140177, + 140178, + 140179, + 140180, + 140181, + 140182, + 140183, + 140184, + 140185, + 140186, + 140187, + 140188, + 140189, + 140190, + 140191, + 140192, + 140193, + 140194, + 140195, + 140196, + 140197, + 140198, + 140199, + 140200, + 140201, + 140202, + 140203, + 140206, + 140207, + 140208, + 140209, + 140210, + 140211, + 140212, + 140213, + 140214, + 140215, + 140216, + 140217, + 140218, + 140219, + 140220, + 140221, + 140222, + 140223, + 140225, + 140228, + 140229, + 140230, + 140231, + 140232, + 140233, + 140234, + 140235, + 140237, + 140239, + 140240, + 140241, + 140242, + 140243, + 140244, + 140245, + 140246, + 140247, + 140248, + 140249, + 140250, + 140251, + 140252, + 140253, + 140254, + 140255, + 140256, + 140257, + 140258, + 140259, + 140260, + 140261, + 140262, + 140263, + 140264, + 140265, + 140266, + 140267, + 140268, + 140269, + 140270, + 140271, + 140272, + 140273, + 140274, + 140275, + 140276, + 140277, + 140278, + 140279, + 140280, + 140281, + 140282, + 140283, + 140284, + 140285, + 140286, + 140287, + 140288, + 140289, + 140290, + 140291, + 140292, + 140293, + 140294, + 140295, + 140296, + 140297, + 140298, + 140299, + 140300, + 140301, + 140302, + 140303, + 140304, + 140305, + 140306, + 140307, + 140308, + 140309, + 140310, + 140311, + 140312, + 140313, + 140314, + 140315, + 140316, + 140317, + 140318, + 140319, + 140320, + 140321, + 140322, + 140323, + 140324, + 140325, + 140326, + 140327, + 140328, + 140329, + 140330, + 140331, + 140332, + 140333, + 140334, + 140335, + 140336, + 140339, + 140340, + 140341, + 140342, + 140343, + 140344, + 140345, + 140346, + 140347, + 140348, + 140349, + 140350, + 140351, + 140352, + 140353, + 140354, + 140355, + 140356, + 140357, + 140358, + 140359, + 140360, + 140361, + 140362, + 140363, + 140364, + 140365, + 140366, + 140367, + 140370, + 140372, + 140373, + 140374, + 140376, + 140377, + 140378, + 140380, + 140381, + 140382, + 140383, + 140384, + 140385, + 140386, + 140387, + 140388, + 140389, + 140390, + 140391, + 140392, + 140393, + 140394, + 140395, + 140396, + 140397, + 140398, + 140399, + 140400, + 140401, + 140402, + 140403, + 140404, + 140405, + 140406, + 140407, + 140408, + 140409, + 140410, + 140411, + 140412, + 140414, + 140415, + 140416, + 140417, + 140418, + 140419, + 140420, + 140421, + 140422, + 140423, + 140424, + 140425, + 140426, + 140427, + 140428, + 140429, + 140430, + 140431, + 140432, + 140433, + 140434, + 140435, + 140436, + 140437, + 140438, + 140439, + 140440, + 140441, + 140442, + 140443, + 140444, + 140445, + 140446, + 140447, + 140448, + 140449, + 140450, + 140451, + 140452, + 140453, + 140454, + 140455, + 140456, + 140457, + 140458, + 140459, + 140460, + 140461, + 140462, + 140463, + 140464, + 140465, + 140466, + 140467, + 140468, + 140469, + 140470, + 140471, + 140472, + 140473, + 140474, + 140475, + 140476, + 140477, + 140478, + 140479, + 140483, + 140484, + 140485, + 140486, + 140487, + 140488, + 140489, + 140490, + 140491, + 140492, + 140493, + 140494, + 140495, + 140498, + 140499, + 140500, + 140501, + 140502, + 140503, + 140507, + 140508, + 140509, + 140510, + 140511, + 140512, + 140513, + 140514, + 140515, + 140516, + 140517, + 140518, + 140519, + 140520, + 140521, + 140522, + 140523, + 140524, + 140525, + 140526, + 140527, + 140528, + 140529, + 140530, + 140531, + 140532, + 140533, + 140534, + 140535, + 140536, + 140537, + 140538, + 140539, + 140540, + 140541, + 140542, + 140543, + 140544, + 140545, + 140546, + 140547, + 140548, + 140549, + 140550, + 140551, + 140552, + 140553, + 140554, + 140555, + 140556, + 140557, + 140558, + 140559, + 140560, + 140561, + 140562, + 140563, + 140564, + 140565, + 140566, + 140567, + 140568, + 140569, + 140570, + 140571, + 140572, + 140573, + 140574, + 140575, + 140576, + 140577, + 140578, + 140579, + 140580, + 140581, + 140582, + 140583, + 140584, + 140585, + 140586, + 140587, + 140588, + 140589, + 140590, + 140591, + 140592, + 140593, + 140594, + 140595, + 140596, + 140597, + 140598, + 140599, + 140600, + 140601, + 140602, + 140603, + 140604, + 140605, + 140606, + 140607, + 140608, + 140609, + 140610, + 140611, + 140612, + 140613, + 140614, + 140615, + 140616, + 140617, + 140618, + 140619, + 140620, + 140621, + 140622, + 140623, + 140624, + 140625, + 140626, + 140627, + 140628, + 140629, + 140630, + 140631, + 140632, + 140633, + 140634, + 149957, + 149958, + 149959, + 149960, + 149961, + 149962, + 149963, + 149964, + 149965, + 149966, + 149967, + 149975, + 149976, + 149977, + 149978, + 149979, + 149980, + 149981, + 149982, + 149983, + 149984, + 149985, + 149986, + 149987, + 149988, + 149989, + 149990, + 149991, + 149997, + 149998, + 149999, + 150000, + 150001, + 150002, + 150003, + 150004, + 150010, + 150011, + 150012, + 150013, + 150014, + 150015, + 150016, + 150017, + 150018, + 150019, + 150020, + 150021, + 150022, + 150023, + 150024, + 150025, + 150026, + 150027, + 150028, + 150029, + 150030, + 150031, + 150032, + 150033, + 150034, + 150035, + 150036, + 150037, + 150038, + 150039, + 150040, + 150041, + 150042, + 150043, + 150044, + 150045, + 150046, + 150047, + 150048, + 150049, + 150050, + 150051, + 150052, + 150053, + 150054, + 150055, + 150056, + 150057, + 150058, + 150059, + 150060, + 150061, + 150062, + 150063, + 150064, + 150065, + 150066, + 150067, + 150068, + 150069, + 150070, + 150071, + 150072, + 150073, + 150074, + 150075, + 150076, + 150077, + 150078, + 150079, + 150080, + 150081, + 150082, + 150083, + 150084, + 150085, + 150086, + 150087, + 150088, + 150089, + 150090, + 150091, + 150092, + 150093, + 150094, + 150095, + 150096, + 150097, + 150098, + 150099, + 150100, + 150101, + 150102, + 180001, + 180002, + 180004, + 180005, + 180006, + 180007, + 180008, + 180009, + 180010, + 180011, + 180012, + 180013, + 181001, + 181002, + 181003, + 181004, + 181005, + 181006, + 181007, + 181008, + 181009, + 181010, + 181011, + 181012, + 181013, + 181014, + 181015, + 181016, + 181017, + 181018, + 182001, + 182002, + 182003, + 182004, + 182005, + 182006, + 182007, + 182008, + 182009, + 182010, + 182011, + 183001, + 183002, + 183003, + 183004, + 183005, + 183006, + 183007, + 190101, + 190102, + 190103, + 190104, + 190105, + 190106, + 190107, + 190108, + 190109, + 190110, + 190111, + 190112, + 190113, + 190114, + 190115, + 190116, + 190117, + 190118, + 190119, + 190120, + 190121, + 190122, + 190123, + 190124, + 190125, + 190126, + 190127, + 190128, + 190129, + 190130, + 190131, + 190132, + 190133, + 190134, + 190135, + 190136, + 190137, + 190138, + 190139, + 190140, + 190141, + 190142, + 190143, + 190144, + 190145, + 190146, + 190147, + 190148, + 190149, + 190150, + 190151, + 190152, + 190153, + 190154, + 190155, + 190156, + 190157, + 190158, + 190159, + 190160, + 190161, + 190162, + 190163, + 190164, + 190165, + 190166, + 190167, + 190168, + 190169, + 190170, + 190171, + 190172, + 190173, + 190174, + 190175, + 190176, + 190177, + 190178, + 190179, + 190180, + 190181, + 190182, + 190183, + 190184, + 190185, + 190186, + 190187, + 190188, + 190189, + 190190, + 190191, + 190192, + 190193, + 190194, + 190195, + 190196, + 190197, + 190198, + 190199, + 190200, + 190201, + 190202, + 190203, + 190204, + 190205, + 190206, + 190207, + 190208, + 190209, + 190210, + 190211, + 190212, + 190213, + 190214, + 190215, + 190216, + 190217, + 190218, + 190219, + 190220, + 190221, + 190222, + 190223, + 190224, + 190225, + 190226, + 190227, + 190228, + 190229, + 190230, + 190231, + 190232, + 190233, + 190234, + 190235, + 190236, + 190237, + 190238, + 190239, + 190240, + 190241, + 190242, + 190243, + 190244, + 190245, + 190246, + 190247, + 190248, + 190249, + 190250, + 190251, + 190252, + 190253, + 190254, + 190255, + 190256, + 190257, + 190258, + 190259, + 190260, + 190261, + 190262, + 190263, + 190264, + 190265, + 190266, + 190267, + 190268, + 190269, + 190270, + 190271, + 190272, + 190273, + 190274, + 190275, + 190276, + 190277, + 190278, + 190279, + 190280, + 190281, + 190282, + 190283, + 190284, + 190285, + 190286, + 190287, + 190288, + 190289, + 190290, + 190291, + 190292, + 190293, + 190294, + 190295, + 190296, + 190297, + 190298, + 190299, + 190300, + 190301, + 190302, + 190303, + 190304, + 190305, + 190306, + 190307, + 190308, + 190309, + 190310, + 190311, + 190312, + 190313, + 190314, + 190315, + 190316, + 190317, + 190318, + 190319, + 190320, + 190321, + 190322, + 190323, + 190325, + 190327, + 190330, + 190331, + 190332, + 190333, + 190334, + 190335, + 190336, + 190337, + 190338, + 190339, + 190340, + 190341, + 190342, + 190343, + 190344, + 190345, + 190346, + 190347, + 190348, + 190349, + 190350, + 190351, + 190352, + 190353, + 190354, + 190355, + 190356, + 190357, + 190358, + 190359, + 190360, + 190361, + 190362, + 190363, + 190364, + 190365, + 190367, + 190368, + 190369, + 190370, + 190371, + 190372, + 190373, + 190374, + 190375, + 190376, + 190377, + 190378, + 190379, + 190380, + 190381, + 190382, + 190383, + 190384, + 190385, + 190386, + 190387, + 190388, + 190389, + 190390, + 190391, + 190392, + 190393, + 190394, + 190395, + 190396, + 190397, + 190398, + 190399, + 190400, + 190401, + 190402, + 190403, + 190404, + 190405, + 190406, + 190407, + 190408, + 190409, + 190410, + 190411, + 190412, + 190413, + 190414, + 190415, + 190416, + 190417, + 190901, + 190902, + 190903, + 190904, + 190905, + 190906, + 190907, + 191001, + 191002, + 191003, + 191004, + 191005, + 191006, + 191007, + 191008, + 191009, + 191010, + 191011, + 191012, + 191013, + 191014, + 191015, + 191016, + 191017, + 191018, + 191019, + 191020, + 191021, + 191022, + 191023, + 191024, + 191025, + 191026, + 191027, + 191028, + 191029, + 191030, + 191031, + 191032, + 191033, + 191034, + 191035, + 191036, + 220000, + 220001, + 220002, + 220003, + 220004, + 220005, + 220006, + 220007, + 220008, + 220009, + 220010, + 220012, + 221000, + 221001, + 221002, + 221003, + 221004, + 221005, + 221006, + 221007, + 221008, + 221009, + 221010, + 221011, + 221012, + 221013, + 222000, + 223000, + 223001, + 223002, + 223003, + 223004, + 223005, + 223006, + 223007, + 223008, + 223009, + 223010, + 223011, + 223012, + 223020, + 223021, + 223022, + 223023, + 223024, + 223050, + 223051, + 223052, + 223053, + 223054, + 223055, + 223056, + 223057, + 223058, + 223059, + 223060, + 223080, + 223081, + 223082, + 223083, + 223084, + 223085, + 223100, + 223101, + 223102, + 223103, + 223104, + 223105, + 223106, + 223107, + 223108, + 223109, + 223150, + 223151, + 223152, + 223153, + 223154, + 223155, + 223156, + 223157, + 223180, + 223181, + 223182, + 223183, + 223184, + 223185, + 223200, + 223201, + 223202, + 223203, + 223204, + 223205, + 223206, + 223207, + 223208, + 223230, + 223231, + 223232, + 223233, + 223250, + 223251, + 223252, + 223253, + 223254, + 223255, + 223256, + 223257, + 223258, + 223259, + 223260, + 223261, + 223270, + 223271, + 223272, + 223273, + 223274, + 223300, + 223301, + 223302, + 223303, + 223304, + 223305, + 223306, + 223307, + 223308, + 223309, + 223330, + 223331, + 223332, + 223333, + 223334, + 223350, + 223351, + 223352, + 223353, + 223354, + 223355, + 223356, + 223357, + 223358, + 223370, + 223371, + 223372, + 223373, + 223400, + 223401, + 223402, + 223403, + 223404, + 223405, + 223406, + 223407, + 223408, + 223409, + 223410, + 223411, + 223412, + 223430, + 223431, + 223432, + 223433, + 223434, + 223450, + 223451, + 223452, + 223453, + 223454, + 223455, + 223456, + 223457, + 223500, + 223501, + 223502, + 223503, + 223504, + 223505, + 223506, + 223507, + 223508, + 223509, + 223531, + 223532, + 223533, + 223534, + 223600, + 223601, + 223602, + 223603, + 223604, + 223605, + 223606, + 223607, + 223631, + 223632, + 223633, + 223634, + 223700, + 223701, + 223702, + 223703, + 223704, + 223705, + 223706, + 223707, + 223708, + 223709, + 223710, + 223711, + 223712, + 223713, + 223714, + 223715, + 223731, + 223732, + 223733, + 223734, + 223735, + 223800, + 223801, + 223802, + 223803, + 223804, + 223805, + 223806, + 223807, + 223808, + 223809, + 223811, + 223812, + 223813, + 223814, + 223901, + 223902, + 223903, + 223904, + 223905, + 223906, + 223907, + 223908, + 223911, + 223912, + 223913, + 224001, + 224002, + 224003, + 224004, + 224005, + 224006, + 224007, + 224008, + 224009, + 224010, + 224011, + 224012, + 224013, + 225001, + 225002, + 225003, + 225004, + 225005, + 225006, + 225007, + 225008, + 225009, + 225010, + 225011, + 225012, + 225013, + 225014, + 225015, + 225016, + 225017, + 225018, + 225019, + 225020, + 225021, + 225022, + 225023, + 225024, + 225025, + 225026, + 225027, + 225028, + 225029, + 225030, + 225031, + 225032, + 225033, + 225034, + 226001, + 226002, + 226003, + 226004, + 226005, + 227001, + 227002, + 227003, + 227004, + 227005, + 227006, + 227007, + 227008, + 227009, + 227010, + 227012, + 227013, + 227015, + 227016, + 227017, + 229001, + 250001, + 250005, + 250006, + 250007, + 250008, + 250009, + 250011, + 250012, + 250013, + 250015, + 250019, + 250020, + 250021, + 250022, + 250023, + 250027, + 250031, + 250032, + 250033, + 250034, + 250037, + 250101, + 250102, + 250103, + 250104, + 250105, + 250106, + 250107, + 250108, + 250109, + 250110, + 250111, + 250112, + 250113, + 250114, + 250115, + 250116, + 250117, + 250118, + 250119, + 250120, + 250121, + 250122, + 250123, + 250124, + 250125, + 250126, + 250127, + 250128, + 250129, + 250130, + 250131, + 250132, + 250133, + 250201, + 250202, + 250203, + 250204, + 250205, + 250207, + 250208, + 250209, + 250210, + 250211, + 250212, + 250213, + 250214, + 250215, + 250216, + 250217, + 250218, + 250219, + 250220, + 250221, + 250222, + 250223, + 250224, + 250225, + 250226, + 250227, + 250228, + 250229, + 250230, + 250231, + 250232, + 250233, + 250300, + 250302, + 250304, + 250305, + 250306, + 250307, + 250308, + 250309, + 250310, + 250311, + 250312, + 250313, + 250314, + 250315, + 250316, + 250317, + 250318, + 250319, + 250320, + 250321, + 250401, + 250402, + 250403, + 250404, + 250500, + 250501, + 250502, + 250503, + 250504, + 250505, + 250506, + 250507, + 250508, + 250509, + 250510, + 250511, + 250512, + 250513, + 250514, + 250515, + 250516, + 250517, + 250518, + 250519, + 250520, + 250521, + 250522, + 250523, + 250524, + 250525, + 250526, + 250527, + 250528, + 250529, + 250530, + 250531, + 250532, + 250533, + 250534, + 250535, + 250536, + 250537, + 250538, + 250539, + 250540, + 250541, + 250542, + 250543, + 250544, + 250545, + 250546, + 250547, + 250548, + 250549, + 250550, + 250551, + 250552, + 250553, + 250554, + 250555, + 250556, + 250557, + 250558, + 250559, + 250560, + 250561, + 250562, + 250563, + 250564, + 250565, + 250566, + 250567, + 250568, + 250569, + 250570, + 250571, + 250572, + 250573, + 250574, + 250575, + 250576, + 250577, + 250578, + 250579, + 250580, + 250581, + 250582, + 250583, + 250584, + 250585, + 250586, + 250587, + 250588, + 250589, + 250590, + 250591, + 250592, + 250593, + 250594, + 250595, + 250596, + 250597, + 250598, + 250599, + 250601, + 250602, + 250603, + 250604, + 250605, + 250606, + 250607, + 250608, + 250609, + 250610, + 250700, + 250701, + 250702, + 250703, + 250704, + 250705, + 250706, + 250707, + 250708, + 250709, + 250710, + 250711, + 252000, + 252001, + 252002, + 252003, + 252004, + 252100, + 252101, + 252102, + 252103, + 252104, + 252105, + 252106, + 252107, + 252108, + 252109, + 252110, + 252111, + 252112, + 252113, + 252114, + 252115, + 252116, + 252117, + 252118, + 252119, + 252120, + 252121, + 252122, + 252123, + 252124, + 252125, + 252126, + 252127, + 252128, + 252129, + 252130, + 252131, + 252132, + 252133, + 252134, + 252201, + 252202, + 252203, + 252204, + 252205, + 252206, + 252207, + 252208, + 252209, + 252210, + 252211, + 252212, + 252213, + 252214, + 252215, + 252216, + 252217, + 252218, + 252219, + 252220, + 252221, + 252222, + 252223, + 252224, + 252225, + 252301, + 252302, + 252303, + 252304, + 252305, + 252306, + 252307, + 252308, + 252309, + 252310, + 252311, + 252312, + 252313, + 252314, + 252315, + 252316, + 252317, + 252318, + 252319, + 252320, + 252321, + 252325, + 252326, + 252327, + 252328, + 252329, + 252330, + 252334, + 252335, + 252336, + 252346, + 252347, + 252348, + 252349, + 252350, + 252351, + 252352, + 252353, + 252354, + 252355, + 252356, + 252357, + 252358, + 252359, + 252360, + 252361, + 252362, + 252363, + 252367, + 252368, + 252369, + 252370, + 252371, + 252372, + 252373, + 252374, + 252375, + 252379, + 252380, + 252381, + 252391, + 252392, + 252393, + 252394, + 252395, + 252396, + 252397, + 252398, + 252399, + 252400, + 252401, + 252402, + 252403, + 252404, + 252405, + 252406, + 252407, + 252408, + 252409, + 252410, + 252411, + 252412, + 252413, + 252414, + 252421, + 252422, + 252423, + 252424, + 252425, + 252426, + 252436, + 252437, + 252438, + 252439, + 252440, + 252441, + 252442, + 252443, + 252444, + 252445, + 252446, + 252447, + 252451, + 252452, + 252453, + 252457, + 252458, + 252459, + 252460, + 252461, + 252462, + 252463, + 252464, + 252465, + 252466, + 252467, + 252468, + 252469, + 252470, + 252471, + 253000, + 253001, + 253002, + 253003, + 253004, + 253005, + 254000, + 254001, + 260000, + 260001, + 260002, + 260003, + 260004, + 260005, + 260006, + 260007, + 260008, + 260009, + 260010, + 260011, + 260012, + 260013, + 260014, + 260015, + 260016, + 260017, + 260018, + 260019, + 260020, + 260021, + 260022, + 260023, + 260024, + 260031, + 260032, + 260033, + 260034, + 260035, + 260036, + 261001, + 262000, + 262001, + 262002, + 262003, + 262004, + 262005, + 262006, + 262007, + 262008, + 262009, + 262010, + 262011, + 262012, + 262013, + 262014, + 262015, + 262016, + 264000, + 264001, + 264002, + 264003, + 264004, + 264005, + 264006, + 264007, + 264008, + 264009, + 264010, + 264011, + 264012, + 264013, + 264014, + 264015, + 264016, + 264017, + 264018, + 264019, + 264020, + 264021, + 264022, + 264023, + 264024, + 264025, + 264026, + 264027, + 264028, + 264029, + 264030, + 264031, + 264032, + 264033, + 264034, + 264035, + 264101, + 264201, + 264301, + 264401, + 264402, + 264403, + 264404, + 264405, + 264406, + 264407, + 264408, + 264409, + 264410, + 264411, + 264412, + 264413, + 264416, + 264417, + 264418, + 264419, + 264420, + 264421, + 264422, + 264423, + 264424, + 264425, + 264426, + 264427, + 264428, + 264502, + 264503, + 264504, + 264505, + 264506, + 264507, + 264508, + 264509, + 264510, + 264511, + 264512, + 264513, + 264516, + 264517, + 264518, + 264519, + 264520, + 264521, + 264522, + 264523, + 264524, + 264996, + 264997, + 264998, + 264999, + 265001, + 265002, + 265003, + 265004, + 265005, + 265006, + 265007, + 265008, + 265009, + 265010, + 265011, + 265012, + 265013, + 265014, + 265015, + 265016, + 265017, + 265018, + 265019, + 265020, + 265021, + 265022, + 265023, + 265024, + 265025, + 265026, + 265027, + 265028, + 265029, + 265030, + 265031, + 265032, + 265033, + 265034, + 265035, + 265036, + 265037, + 265038, + 265039, + 265040, + 265041, + 265042, + 265043, + 265044, + 265045, + 265046, + 265047, + 265048, + 266001, + 266002, + 266003, + 266004, + 266005, + 267001, + 268201, + 269001, + 270000, + 270001, + 270002, + 270003, + 270004, + 270005, + 270006, + 270007, + 300002, + 300003, + 300011, + 300012, + 300013, + 300014, + 300018, + 300019, + 300020, + 300021, + 300031, + 300041, + 300042, + 300051, + 300052, + 300054, + 300055, + 300056, + 300057, + 300058, + 300101, + 300102, + 300103, + 300104, + 300200, + 300201, + 300202, + 300210, + 300211, + 309001, + 309002, + 309003, + 309004, + 309005, + 309006, + 309007, + 309008, + 309009, + 309010, + 309011, + 309012, + 310001, + 310002, + 310003, + 310004, + 310005, + 310006, + 310007, + 310008, + 310009, + 310010, + 310011, + 310013, + 310014, + 311000, + 311001, + 311010, + 311011, + 312001, + 400004, + 400005, + 400006, + 400007, + 400008, + 400009, + 401003, + 401004, + 401005, + 401006, + 401007, + 401008, + 401009, + 401010, + 401011, + 401012, + 401013, + 401014, + 401015, + 401016, + 401017, + 401018, + 401019, + 401020, + 401021, + 401022, + 401023, + 401024, + 401025, + 401026, + 401027, + 401028, + 401029, + 401030, + 401031, + 401032, + 401033, + 401034, + 401035, + 401036, + 402001, + 402002, + 402003, + 402004, + 402005, + 402006, + 402007, + 402008, + 402009, + 402010, + 402011, + 402012, + 402013, + 402014, + 402015, + 402016, + 402017, + 402018, + 402019, + 402020, + 402021, + 402022, + 402023, + 402024, + 402025, + 402026, + 402027, + 402028, + 402029, + 402030, + 402031, + 402032, + 402033, + 402034, + 402035, + 402036, + 402037, + 402038, + 403001, + 403002, + 403003, + 403004, + 403005, + 403006, + 403007, + 403008, + 403009, + 403010, + 403011, + 403012, + 403013, + 403014, + 403015, + 403016, + 403017, + 404004, + 404005, + 404006, + 404007, + 404008, + 404009, + 405003, + 405004, + 405005, + 405006, + 405007, + 405008, + 405009, + 405010, + 405011, + 405012, + 405013, + 405014, + 405015, + 405016, + 405017, + 405018, + 405019, + 405020, + 405021, + 405022, + 405023, + 405024, + 405025, + 405026, + 405027, + 405028, + 405029, + 405030, + 405031, + 405032, + 405033, + 405034, + 405035, + 405036, + 406001, + 406002, + 406003, + 406004, + 406005, + 406006, + 406007, + 406008, + 406009, + 406010, + 406011, + 406012, + 406013, + 406014, + 406015, + 406016, + 406017, + 406018, + 406019, + 406020, + 406021, + 406022, + 406023, + 406024, + 406025, + 406026, + 406027, + 406028, + 406029, + 406030, + 406031, + 406032, + 406033, + 406034, + 406035, + 406036, + 406037, + 406038, + 407001, + 407002, + 407003, + 407004, + 407005, + 407006, + 407007, + 407008, + 407009, + 407010, + 407011, + 407012, + 407013, + 407014, + 407015, + 407016, + 407017, + 408001, + 408002, + 408003, + 408004, + 408005, + 408201, + 408202, + 408203, + 408204, + 408205, + 408206, + 408207, + 408208, + 408209, + 408210, + 408401, + 408402, + 408403, + 408404, + 408405, + 408406, + 408407, + 408408, + 408409, + 408410, + 408411, + 408412, + 408413, + 408414, + 408415, + 408416, + 408417, + 408418, + 408419, + 408420, + 408421, + 408422, + 408423, + 408424, + 408425, + 408426, + 408427, + 408428, + 408429, + 408430, + 408431, + 408432, + 408433, + 408434, + 408435, + 408436, + 408437, + 408438, + 408439, + 408440, + 408441, + 408442, + 408443, + 408444, + 408445, + 408446, + 408447, + 408448, + 408449, + 408450, + 408451, + 408452, + 408453, + 408454, + 408601, + 408602, + 408603, + 408604, + 408605, + 408606, + 408607, + 408608, + 408609, + 408610, + 408611, + 408612, + 408613, + 408614, + 408615, + 408616, + 408617, + 408618, + 408619, + 408620, + 408621, + 408622, + 408623, + 408624, + 408625, + 408626, + 408627, + 408628, + 408629, + 408630, + 408631, + 408632, + 408633, + 408634, + 408635, + 408636, + 408637, + 408638, + 408639, + 408640, + 408641, + 408642, + 408643, + 408644, + 408645, + 408801, + 408802, + 408803, + 408804, + 408901, + 408902, + 408903, + 408904, + 408905, + 408906, + 408907 + ], + "lightcones": [ + { + "id": 20000, + "max_rank": 5 + }, + { + "id": 20001, + "max_rank": 5 + }, + { + "id": 20002, + "max_rank": 5 + }, + { + "id": 20003, + "max_rank": 5 + }, + { + "id": 20004, + "max_rank": 5 + }, + { + "id": 20005, + "max_rank": 5 + }, + { + "id": 20006, + "max_rank": 5 + }, + { + "id": 20007, + "max_rank": 5 + }, + { + "id": 20008, + "max_rank": 5 + }, + { + "id": 20009, + "max_rank": 5 + }, + { + "id": 20010, + "max_rank": 5 + }, + { + "id": 20011, + "max_rank": 5 + }, + { + "id": 20012, + "max_rank": 5 + }, + { + "id": 20013, + "max_rank": 5 + }, + { + "id": 20014, + "max_rank": 5 + }, + { + "id": 20015, + "max_rank": 5 + }, + { + "id": 20016, + "max_rank": 5 + }, + { + "id": 20017, + "max_rank": 5 + }, + { + "id": 20018, + "max_rank": 5 + }, + { + "id": 20019, + "max_rank": 5 + }, + { + "id": 20020, + "max_rank": 5 + }, + { + "id": 20021, + "max_rank": 5 + }, + { + "id": 20022, + "max_rank": 5 + }, + { + "id": 20023, + "max_rank": 5 + }, + { + "id": 20024, + "max_rank": 5 + }, + { + "id": 21000, + "max_rank": 5 + }, + { + "id": 21001, + "max_rank": 5 + }, + { + "id": 21002, + "max_rank": 5 + }, + { + "id": 21003, + "max_rank": 5 + }, + { + "id": 21004, + "max_rank": 5 + }, + { + "id": 21005, + "max_rank": 5 + }, + { + "id": 21006, + "max_rank": 5 + }, + { + "id": 21007, + "max_rank": 5 + }, + { + "id": 21008, + "max_rank": 5 + }, + { + "id": 21009, + "max_rank": 5 + }, + { + "id": 21010, + "max_rank": 5 + }, + { + "id": 21011, + "max_rank": 5 + }, + { + "id": 21012, + "max_rank": 5 + }, + { + "id": 21013, + "max_rank": 5 + }, + { + "id": 21014, + "max_rank": 5 + }, + { + "id": 21015, + "max_rank": 5 + }, + { + "id": 21016, + "max_rank": 5 + }, + { + "id": 21017, + "max_rank": 5 + }, + { + "id": 21018, + "max_rank": 5 + }, + { + "id": 21019, + "max_rank": 5 + }, + { + "id": 21020, + "max_rank": 5 + }, + { + "id": 21021, + "max_rank": 5 + }, + { + "id": 21022, + "max_rank": 5 + }, + { + "id": 21023, + "max_rank": 5 + }, + { + "id": 21024, + "max_rank": 5 + }, + { + "id": 21025, + "max_rank": 5 + }, + { + "id": 21026, + "max_rank": 5 + }, + { + "id": 21027, + "max_rank": 5 + }, + { + "id": 21028, + "max_rank": 5 + }, + { + "id": 21029, + "max_rank": 5 + }, + { + "id": 21030, + "max_rank": 5 + }, + { + "id": 21031, + "max_rank": 5 + }, + { + "id": 21032, + "max_rank": 5 + }, + { + "id": 21033, + "max_rank": 5 + }, + { + "id": 21034, + "max_rank": 5 + }, + { + "id": 21035, + "max_rank": 5 + }, + { + "id": 21036, + "max_rank": 5 + }, + { + "id": 21037, + "max_rank": 5 + }, + { + "id": 21038, + "max_rank": 5 + }, + { + "id": 21039, + "max_rank": 5 + }, + { + "id": 21040, + "max_rank": 5 + }, + { + "id": 21041, + "max_rank": 5 + }, + { + "id": 21042, + "max_rank": 5 + }, + { + "id": 21043, + "max_rank": 5 + }, + { + "id": 21044, + "max_rank": 5 + }, + { + "id": 21045, + "max_rank": 5 + }, + { + "id": 21046, + "max_rank": 5 + }, + { + "id": 21047, + "max_rank": 5 + }, + { + "id": 21048, + "max_rank": 5 + }, + { + "id": 21050, + "max_rank": 5 + }, + { + "id": 21051, + "max_rank": 5 + }, + { + "id": 21052, + "max_rank": 5 + }, + { + "id": 21053, + "max_rank": 5 + }, + { + "id": 21054, + "max_rank": 5 + }, + { + "id": 21055, + "max_rank": 5 + }, + { + "id": 21056, + "max_rank": 5 + }, + { + "id": 21057, + "max_rank": 5 + }, + { + "id": 21058, + "max_rank": 5 + }, + { + "id": 21060, + "max_rank": 5 + }, + { + "id": 21061, + "max_rank": 5 + }, + { + "id": 21062, + "max_rank": 5 + }, + { + "id": 21064, + "max_rank": 5 + }, + { + "id": 21065, + "max_rank": 5 + }, + { + "id": 21066, + "max_rank": 5 + }, + { + "id": 22000, + "max_rank": 5 + }, + { + "id": 22001, + "max_rank": 5 + }, + { + "id": 22002, + "max_rank": 5 + }, + { + "id": 22003, + "max_rank": 5 + }, + { + "id": 22004, + "max_rank": 5 + }, + { + "id": 22005, + "max_rank": 5 + }, + { + "id": 22006, + "max_rank": 5 + }, + { + "id": 22007, + "max_rank": 5 + }, + { + "id": 22008, + "max_rank": 5 + }, + { + "id": 23000, + "max_rank": 5 + }, + { + "id": 23001, + "max_rank": 5 + }, + { + "id": 23002, + "max_rank": 5 + }, + { + "id": 23003, + "max_rank": 5 + }, + { + "id": 23004, + "max_rank": 5 + }, + { + "id": 23005, + "max_rank": 5 + }, + { + "id": 23006, + "max_rank": 5 + }, + { + "id": 23007, + "max_rank": 5 + }, + { + "id": 23008, + "max_rank": 5 + }, + { + "id": 23009, + "max_rank": 5 + }, + { + "id": 23010, + "max_rank": 5 + }, + { + "id": 23011, + "max_rank": 5 + }, + { + "id": 23012, + "max_rank": 5 + }, + { + "id": 23013, + "max_rank": 5 + }, + { + "id": 23014, + "max_rank": 5 + }, + { + "id": 23015, + "max_rank": 5 + }, + { + "id": 23016, + "max_rank": 5 + }, + { + "id": 23017, + "max_rank": 5 + }, + { + "id": 23018, + "max_rank": 5 + }, + { + "id": 23019, + "max_rank": 5 + }, + { + "id": 23020, + "max_rank": 5 + }, + { + "id": 23021, + "max_rank": 5 + }, + { + "id": 23022, + "max_rank": 5 + }, + { + "id": 23023, + "max_rank": 5 + }, + { + "id": 23024, + "max_rank": 5 + }, + { + "id": 23025, + "max_rank": 5 + }, + { + "id": 23026, + "max_rank": 5 + }, + { + "id": 23027, + "max_rank": 5 + }, + { + "id": 23028, + "max_rank": 5 + }, + { + "id": 23029, + "max_rank": 5 + }, + { + "id": 23030, + "max_rank": 5 + }, + { + "id": 23031, + "max_rank": 5 + }, + { + "id": 23032, + "max_rank": 5 + }, + { + "id": 23033, + "max_rank": 5 + }, + { + "id": 23034, + "max_rank": 5 + }, + { + "id": 23035, + "max_rank": 5 + }, + { + "id": 23036, + "max_rank": 5 + }, + { + "id": 23037, + "max_rank": 5 + }, + { + "id": 23038, + "max_rank": 5 + }, + { + "id": 23039, + "max_rank": 5 + }, + { + "id": 23040, + "max_rank": 5 + }, + { + "id": 23041, + "max_rank": 5 + }, + { + "id": 23042, + "max_rank": 5 + }, + { + "id": 23043, + "max_rank": 5 + }, + { + "id": 23044, + "max_rank": 5 + }, + { + "id": 23045, + "max_rank": 5 + }, + { + "id": 23046, + "max_rank": 5 + }, + { + "id": 23047, + "max_rank": 5 + }, + { + "id": 23048, + "max_rank": 5 + }, + { + "id": 23049, + "max_rank": 5 + }, + { + "id": 23050, + "max_rank": 5 + }, + { + "id": 23051, + "max_rank": 5 + }, + { + "id": 23052, + "max_rank": 5 + }, + { + "id": 23053, + "max_rank": 5 + }, + { + "id": 23054, + "max_rank": 5 + }, + { + "id": 23055, + "max_rank": 5 + }, + { + "id": 23056, + "max_rank": 5 + }, + { + "id": 23057, + "max_rank": 5 + }, + { + "id": 23058, + "max_rank": 5 + }, + { + "id": 23059, + "max_rank": 5 + }, + { + "id": 23060, + "max_rank": 5 + }, + { + "id": 23061, + "max_rank": 5 + }, + { + "id": 23062, + "max_rank": 5 + }, + { + "id": 23063, + "max_rank": 5 + }, + { + "id": 23064, + "max_rank": 5 + }, + { + "id": 24000, + "max_rank": 5 + }, + { + "id": 24001, + "max_rank": 5 + }, + { + "id": 24002, + "max_rank": 5 + }, + { + "id": 24003, + "max_rank": 5 + }, + { + "id": 24004, + "max_rank": 5 + }, + { + "id": 24005, + "max_rank": 5 + }, + { + "id": 24006, + "max_rank": 5 + } + ], + "relics": [ + { + "relic_id": 31011, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31012, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31013, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31014, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31021, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31022, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31023, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31024, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31031, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31032, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31033, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31034, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31041, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31042, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31043, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31044, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31051, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31052, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31053, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31054, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31061, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31062, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31063, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31064, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31071, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31072, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31073, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31074, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31081, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31082, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31083, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31084, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31091, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31092, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31093, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31094, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31101, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31102, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31103, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31104, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31111, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31112, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31113, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31114, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31121, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31122, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31123, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31124, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31131, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31132, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31133, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31134, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31141, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31142, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31143, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31144, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31151, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31152, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31153, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31154, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31161, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31162, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31163, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31164, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31171, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31172, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31173, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31174, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31181, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31182, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31183, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31184, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31191, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31192, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31193, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31194, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31201, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31202, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31203, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31204, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31211, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31212, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31213, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31214, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31221, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31222, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31223, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31224, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31231, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31232, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31233, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31234, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31241, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31242, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31243, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31244, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31251, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31252, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31253, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31254, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31261, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31262, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31263, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31264, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31271, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31272, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31273, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31274, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31281, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31282, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31283, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31284, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31291, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31292, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31293, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31294, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31301, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31302, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31303, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31304, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31311, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31312, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31313, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31314, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31321, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31322, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31323, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31324, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31331, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31332, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31333, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31334, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31341, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31342, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31343, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 31344, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33015, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33016, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33025, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33026, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33035, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33036, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33045, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33046, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33055, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33056, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33065, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33066, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33075, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33076, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33085, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33086, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33095, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33096, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33105, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33106, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33115, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33116, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33125, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33126, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33135, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33136, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33145, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33146, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33155, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33156, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33165, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33166, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33175, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33176, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33185, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33186, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33195, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33196, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33205, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33206, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33215, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33216, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33225, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33226, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33235, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33236, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33245, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33246, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33255, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33256, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33265, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33266, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33275, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33276, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33285, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 33286, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41011, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41012, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41013, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41014, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41021, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41022, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41023, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41024, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41031, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41032, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41033, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41034, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41041, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41042, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41043, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41044, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41051, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41052, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41053, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41054, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41061, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41062, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41063, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41064, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41071, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41072, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41073, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41074, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41081, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41082, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41083, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41084, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41091, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41092, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41093, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41094, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41101, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41102, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41103, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41104, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41111, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41112, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41113, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41114, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41121, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41122, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41123, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41124, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41131, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41132, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41133, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41134, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41141, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41142, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41143, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41144, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41151, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41152, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41153, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41154, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41161, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41162, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41163, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41164, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41171, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41172, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41173, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41174, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41181, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41182, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41183, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41184, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41191, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41192, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41193, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41194, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41201, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41202, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41203, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41204, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41211, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41212, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41213, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41214, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41221, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41222, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41223, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41224, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41231, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41232, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41233, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41234, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41241, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41242, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41243, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41244, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41251, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41252, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41253, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41254, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41261, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41262, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41263, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41264, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41271, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41272, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41273, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41274, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41281, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41282, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41283, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41284, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41291, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41292, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41293, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41294, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41301, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41302, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41303, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41304, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41311, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41312, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41313, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41314, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41321, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41322, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41323, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41324, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41331, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41332, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41333, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41334, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41341, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41342, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41343, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 41344, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43015, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43016, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43025, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43026, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43035, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43036, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43045, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43046, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43055, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43056, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43065, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43066, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43075, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43076, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43085, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43086, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43095, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43096, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43105, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43106, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43115, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43116, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43125, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43126, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43135, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43136, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43145, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43146, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43155, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43156, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43165, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43166, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43175, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43176, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43185, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43186, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43195, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43196, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43205, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43206, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43215, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43216, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43225, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43226, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43235, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43236, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43245, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43246, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43255, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43256, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43265, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43266, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43275, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43276, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43285, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 43286, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51011, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51012, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51013, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51014, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51021, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51022, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51023, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51024, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51031, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51032, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51033, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51034, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51041, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51042, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51043, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51044, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51051, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51052, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51053, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51054, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51061, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51062, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51063, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51064, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51071, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51072, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51073, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51074, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51081, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51082, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51083, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51084, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51091, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51092, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51093, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51094, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51101, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51102, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51103, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51104, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51111, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51112, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51113, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51114, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51121, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51122, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51123, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51124, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51131, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51132, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51133, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51134, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51141, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51142, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51143, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51144, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51151, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51152, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51153, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51154, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51161, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51162, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51163, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51164, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51171, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51172, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51173, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51174, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51181, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51182, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51183, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51184, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51191, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51192, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51193, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51194, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51201, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51202, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51203, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51204, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51211, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51212, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51213, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51214, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51221, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51222, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51223, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51224, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51231, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51232, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51233, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51234, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51241, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51242, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51243, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51244, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51251, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51252, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51253, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51254, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51261, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51262, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51263, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51264, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51271, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51272, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51273, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51274, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51281, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51282, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51283, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51284, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51291, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51292, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51293, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51294, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51301, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51302, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51303, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51304, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51311, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51312, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51313, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51314, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51321, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51322, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51323, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51324, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51331, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51332, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51333, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51334, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51341, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51342, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51343, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 51344, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53015, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53016, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53025, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53026, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53035, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53036, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53045, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53046, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53055, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53056, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53065, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53066, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53075, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53076, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53085, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53086, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53095, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53096, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53105, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53106, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53115, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53116, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53125, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53126, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53135, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53136, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53145, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53146, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53155, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53156, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53165, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53166, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53175, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53176, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53185, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53186, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53195, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53196, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53205, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53206, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53215, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53216, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53225, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53226, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53235, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53236, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53245, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53246, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53255, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53256, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53265, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53266, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53275, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53276, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53285, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 53286, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61011, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61012, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61013, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61014, + "relic_set_id": 101, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61021, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61022, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61023, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61024, + "relic_set_id": 102, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61031, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61032, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61033, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61034, + "relic_set_id": 103, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61041, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61042, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61043, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61044, + "relic_set_id": 104, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61051, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61052, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61053, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61054, + "relic_set_id": 105, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61061, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61062, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61063, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61064, + "relic_set_id": 106, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61071, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61072, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61073, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61074, + "relic_set_id": 107, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61081, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61082, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61083, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61084, + "relic_set_id": 108, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61091, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61092, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61093, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61094, + "relic_set_id": 109, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61101, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61102, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61103, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61104, + "relic_set_id": 110, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61111, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61112, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61113, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61114, + "relic_set_id": 111, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61121, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61122, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61123, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61124, + "relic_set_id": 112, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61131, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61132, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61133, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61134, + "relic_set_id": 113, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61141, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61142, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61143, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61144, + "relic_set_id": 114, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61151, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61152, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61153, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61154, + "relic_set_id": 115, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61161, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61162, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61163, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61164, + "relic_set_id": 116, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61171, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61172, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61173, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61174, + "relic_set_id": 117, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61181, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61182, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61183, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61184, + "relic_set_id": 118, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61191, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61192, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61193, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61194, + "relic_set_id": 119, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61201, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61202, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61203, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61204, + "relic_set_id": 120, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61211, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61212, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61213, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61214, + "relic_set_id": 121, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61221, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61222, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61223, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61224, + "relic_set_id": 122, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61231, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61232, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61233, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61234, + "relic_set_id": 123, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61241, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61242, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61243, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61244, + "relic_set_id": 124, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61251, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61252, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61253, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61254, + "relic_set_id": 125, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61261, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61262, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61263, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61264, + "relic_set_id": 126, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61271, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61272, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61273, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61274, + "relic_set_id": 127, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61281, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61282, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61283, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61284, + "relic_set_id": 128, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61291, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61292, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61293, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61294, + "relic_set_id": 129, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61301, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61302, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61303, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61304, + "relic_set_id": 130, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61311, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61312, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61313, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61314, + "relic_set_id": 131, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61321, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61322, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61323, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61324, + "relic_set_id": 132, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61331, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61332, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61333, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61334, + "relic_set_id": 133, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61341, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61342, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61343, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 61344, + "relic_set_id": 134, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63015, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63016, + "relic_set_id": 301, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63025, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63026, + "relic_set_id": 302, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63035, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63036, + "relic_set_id": 303, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63045, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63046, + "relic_set_id": 304, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63055, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63056, + "relic_set_id": 305, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63065, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63066, + "relic_set_id": 306, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63075, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63076, + "relic_set_id": 307, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63085, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63086, + "relic_set_id": 308, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63095, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63096, + "relic_set_id": 309, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63105, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63106, + "relic_set_id": 310, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63115, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63116, + "relic_set_id": 311, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63125, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63126, + "relic_set_id": 312, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63135, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63136, + "relic_set_id": 313, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63145, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63146, + "relic_set_id": 314, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63155, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63156, + "relic_set_id": 315, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63165, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63166, + "relic_set_id": 316, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63175, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63176, + "relic_set_id": 317, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63185, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63186, + "relic_set_id": 318, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63195, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63196, + "relic_set_id": 319, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63205, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63206, + "relic_set_id": 320, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63215, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63216, + "relic_set_id": 321, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63225, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63226, + "relic_set_id": 322, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63235, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63236, + "relic_set_id": 323, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63245, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63246, + "relic_set_id": 324, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63255, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63256, + "relic_set_id": 325, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63265, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63266, + "relic_set_id": 326, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63275, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63276, + "relic_set_id": 327, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63285, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 5, + "count": 1, + "step": 0 + } + ] + }, + { + "relic_id": 63286, + "relic_set_id": 328, + "main_affix_id": 1, + "sub_affixes": [ + { + "sub_affix_id": 1, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 2, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 3, + "count": 1, + "step": 0 + }, + { + "sub_affix_id": 4, + "count": 1, + "step": 0 + } + ] + } + ] +} diff --git a/resources/MissionCompatibility.json b/resources/MissionCompatibility.json new file mode 100644 index 0000000..54c6621 --- /dev/null +++ b/resources/MissionCompatibility.json @@ -0,0 +1,14 @@ +{ + "unsupported_sub_mission_ids_by_client_version": { + "4.6.53": [ + 103380210 + ] + }, + "provenance": [ + { + "client_version": "4.6.53", + "sub_mission_id": 103380210, + "evidence": "The Client Player.log reports MissionJsonTable cannot find SubMissionInfoConfig for this ID while processing GetMissionDataScRsp." + } + ] +} diff --git a/resources/NavigationProfiles.json b/resources/NavigationProfiles.json new file mode 100644 index 0000000..5f1b08e --- /dev/null +++ b/resources/NavigationProfiles.json @@ -0,0 +1,17 @@ +{ + "client_version": "4.6.53", + "source": { + "entrances": "resources/MapEntrance.json: Mission and Town entrances sharing the same PlaneID/FloorID", + "client_ui": "SwitchAreaPage._regional_detail_panel._map_area_list_panel; SingleTabData/SubTabData inspected in running Client", + "assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "label_policy": "User requested a Story option immediately below the existing map entry. The story entrance ID also serves as the distinct local UI row key; no new game entrance ID is created." + }, + "profiles": [ + { + "floor_id": 20571001, + "town_entry_id": 2057102, + "story_entry_id": 2057101, + "story_label": "Starfroster — Story" + } + ] +} diff --git a/resources/PeakBattleConfig.json b/resources/PeakBattleConfig.json new file mode 100644 index 0000000..5f16181 --- /dev/null +++ b/resources/PeakBattleConfig.json @@ -0,0 +1,183 @@ +{ + "client_version": "4.6.53", + "source": { + "kind": "Client BattleTargetConfigExcelTable and ConstValueClientExcelTable", + "assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "capture_sha256": "b34f77ddca99661eba8161b331071d040eb5ea65ea1286be3e0cc83cce70d437" + }, + "turn_limits": { + "ChallengePeak_Mob_Turn_Limit": 6, + "ChallengePeak_Boss_Turn_Limit": 6, + "ChallengePeak_HardBoss_Turn_Limit": 2 + }, + "targets": [ + { + "MultiTargetIconType": [], + "HintStep": [], + "MultiTarget": [], + "AbilityName": "BattleTarget_DeathCount", + "SkipWhenSuccessOnEnterBattle": false, + "IsFixableHeight": true, + "ShowInScoreCounter": false, + "ParamType": 6, + "TargetNameSimple": { + "hash": 1539107074, + "hash64": 416801068008964878 + }, + "TargetName": { + "hash": 1041257568, + "hash64": 2308537234688475763 + }, + "Type": 1, + "IconNum": 1, + "IconType": 0, + "ID": 3000, + "TargetParam": 0, + "IsShowProgress": 0 + }, + { + "MultiTargetIconType": [], + "HintStep": [], + "MultiTarget": [], + "AbilityName": "BattleTarget_TurnLimit_PeakBattle_1", + "SkipWhenSuccessOnEnterBattle": false, + "IsFixableHeight": true, + "ShowInScoreCounter": false, + "ParamType": 6, + "TargetNameSimple": { + "hash": -1189776281, + "hash64": 17636594696964316813 + }, + "TargetName": { + "hash": -1687625787, + "hash64": 12967210961986691944 + }, + "Type": 1, + "IconNum": 1, + "IconType": 0, + "ID": 3001, + "TargetParam": 4, + "IsShowProgress": 0 + }, + { + "MultiTargetIconType": [], + "HintStep": [], + "MultiTarget": [], + "AbilityName": "BattleTarget_TurnLimit_PeakBattle_2", + "SkipWhenSuccessOnEnterBattle": false, + "IsFixableHeight": true, + "ShowInScoreCounter": false, + "ParamType": 6, + "TargetNameSimple": { + "hash": 376307660, + "hash64": 8929056333450102954 + }, + "TargetName": { + "hash": -2090910314, + "hash64": 6566380338945159645 + }, + "Type": 1, + "IconNum": 1, + "IconType": 0, + "ID": 3002, + "TargetParam": 2, + "IsShowProgress": 0 + }, + { + "MultiTargetIconType": [], + "HintStep": [], + "MultiTarget": [], + "AbilityName": "BattleTarget_TurnLimit_PeakBattle_3", + "SkipWhenSuccessOnEnterBattle": false, + "IsFixableHeight": true, + "ShowInScoreCounter": false, + "ParamType": 6, + "TargetNameSimple": { + "hash": 1942391601, + "hash64": 9853585102760118124 + }, + "TargetName": { + "hash": -524826373, + "hash64": 13550969154333397837 + }, + "Type": 1, + "IconNum": 1, + "IconType": 2, + "ID": 3003, + "TargetParam": 6, + "IsShowProgress": 0 + }, + { + "MultiTargetIconType": [], + "HintStep": [], + "MultiTarget": [], + "AbilityName": "BattleTarget_TurnLimit_PeakBattle_4", + "SkipWhenSuccessOnEnterBattle": false, + "IsFixableHeight": true, + "ShowInScoreCounter": false, + "ParamType": 6, + "TargetNameSimple": { + "hash": -430261394, + "hash64": 7652010642851841971 + }, + "TargetName": { + "hash": -928110900, + "hash64": 14482168213018670964 + }, + "Type": 1, + "IconNum": 1, + "IconType": 2, + "ID": 3004, + "TargetParam": 4, + "IsShowProgress": 0 + }, + { + "MultiTargetIconType": [], + "HintStep": [], + "MultiTarget": [], + "AbilityName": "BattleTarget_TurnLimit_PeakBattle_5", + "SkipWhenSuccessOnEnterBattle": false, + "IsFixableHeight": true, + "ShowInScoreCounter": false, + "ParamType": 6, + "TargetNameSimple": { + "hash": 1135822547, + "hash64": 8602243776645601474 + }, + "TargetName": { + "hash": 637973041, + "hash64": 2827694259035707914 + }, + "Type": 1, + "IconNum": 1, + "IconType": 2, + "ID": 3005, + "TargetParam": 2, + "IsShowProgress": 0 + }, + { + "MultiTargetIconType": [], + "HintStep": [], + "MultiTarget": [], + "AbilityName": "BattleTarget_TurnLimit_PeakBattle_7", + "SkipWhenSuccessOnEnterBattle": false, + "IsFixableHeight": true, + "ShowInScoreCounter": false, + "ParamType": 6, + "TargetNameSimple": { + "hash": -26976867, + "hash64": 8906849980921721819 + }, + "TargetName": { + "hash": 1800772455, + "hash64": 4060858115664570856 + }, + "Type": 1, + "IconNum": 1, + "IconType": 3, + "ID": 3007, + "TargetParam": 2, + "IsShowProgress": 0 + } + ] +} diff --git a/resources/PlayerCosmetics.json b/resources/PlayerCosmetics.json new file mode 100644 index 0000000..8d55de1 --- /dev/null +++ b/resources/PlayerCosmetics.json @@ -0,0 +1,143 @@ +{ + "client_version": "4.6.53", + "source": { + "assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "tables": [ + "Item (ItemSubType.PlayerOutfit)", + "AvatarSkin" + ], + "ownership_policy": "PearlSR 005d2c12 services/item.zig grants one of each PlayerOutfit item. Equipped outfit IDs echo Client SetPlayerOutfit, as services/avatar.zig; base row mapping not yet exported." + }, + "outfit_items": [ + { + "item_id": 227001, + "item_sub_type": 518, + "pile_limit": 1, + "owned_count": 1 + }, + { + "item_id": 227002, + "item_sub_type": 518, + "pile_limit": 1, + "owned_count": 1 + }, + { + "item_id": 227003, + "item_sub_type": 518, + "pile_limit": 1, + "owned_count": 1 + }, + { + "item_id": 227005, + "item_sub_type": 518, + "pile_limit": 1, + "owned_count": 1 + }, + { + "item_id": 227006, + "item_sub_type": 518, + "pile_limit": 1, + "owned_count": 1 + }, + { + "item_id": 227007, + "item_sub_type": 518, + "pile_limit": 1, + "owned_count": 1 + }, + { + "item_id": 227008, + "item_sub_type": 518, + "pile_limit": 1, + "owned_count": 1 + }, + { + "item_id": 227009, + "item_sub_type": 518, + "pile_limit": 1, + "owned_count": 1 + }, + { + "item_id": 227010, + "item_sub_type": 518, + "pile_limit": 1, + "owned_count": 1 + }, + { + "item_id": 227012, + "item_sub_type": 518, + "pile_limit": 1, + "owned_count": 1 + }, + { + "item_id": 227013, + "item_sub_type": 518, + "pile_limit": 1, + "owned_count": 1 + }, + { + "item_id": 227004, + "item_sub_type": 518, + "pile_limit": 1, + "owned_count": 1 + }, + { + "item_id": 229001, + "item_sub_type": 518, + "pile_limit": 1, + "owned_count": 1 + }, + { + "item_id": 227015, + "item_sub_type": 518, + "pile_limit": 1, + "owned_count": 1 + }, + { + "item_id": 227016, + "item_sub_type": 518, + "pile_limit": 1, + "owned_count": 1 + }, + { + "item_id": 227017, + "item_sub_type": 518, + "pile_limit": 1, + "owned_count": 1 + } + ], + "skins": [ + { + "id": 1100101, + "avatar_id": 1001 + }, + { + "id": 1130301, + "avatar_id": 1303 + }, + { + "id": 1131001, + "avatar_id": 1310 + }, + { + "id": 1141501, + "avatar_id": 1415 + }, + { + "id": 1140701, + "avatar_id": 1407 + }, + { + "id": 1150101, + "avatar_id": 1501 + }, + { + "id": 1150501, + "avatar_id": 1505 + }, + { + "id": 1140901, + "avatar_id": 1409 + } + ] +} diff --git a/resources/PropInteractionConfig.json b/resources/PropInteractionConfig.json new file mode 100644 index 0000000..5934ce8 --- /dev/null +++ b/resources/PropInteractionConfig.json @@ -0,0 +1,130 @@ +{ + "source": { + "client_tables": [ + "Prop" + ], + "assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "mp_recovery_reference": "https://github.com/Melledy/LunarCore/blob/lite/src/main/java/emu/lunarcore/game/scene/entity/EntityProp.java", + "classification_reference": "https://github.com/Melledy/LunarCore/blob/lite/src/main/java/emu/lunarcore/data/excel/PropExcel.java", + "limitation": "Recovery of MP follows the reference server archetype policy; Client provides the matching prop IDs and paths. HP and random buffs require additional sourced rules." + }, + "client_version": "4.6.53", + "destructibles": { + "963": { + "json_path": "Config/Props/Common/Prop_Common_SWBox_01_Config.json", + "recover_mp": 0 + }, + "100024": { + "json_path": "Config/Props/Chap00/Prop_Chap00_DesHPRecoverBox_01_Config.json", + "recover_mp": 0 + }, + "100025": { + "json_path": "Config/Props/Chap00/Prop_Chap00_DesMPRecoverBox_01_Config.json", + "recover_mp": 2 + }, + "100026": { + "json_path": "Config/Props/Chap00/Prop_Chap00_DesBox_01_Config.json", + "recover_mp": 0 + }, + "100027": { + "json_path": "Config/Props/Chap00/Prop_Chap00_DesBox_02_Config.json", + "recover_mp": 0 + }, + "101015": { + "json_path": "Config/Props/Chap01/Prop_Chap01_DesHPRecoverBox_01_Config.json", + "recover_mp": 0 + }, + "101016": { + "json_path": "Config/Props/Chap01/Prop_Chap01_DesMPRecoverBox_01_Config.json", + "recover_mp": 2 + }, + "101017": { + "json_path": "Config/Props/Chap01/Prop_Chap01_DesBox_01_Config.json", + "recover_mp": 0 + }, + "102005": { + "json_path": "Config/Props/Chap02/Prop_Chap02_DesHPRecoverBox_01_Config.json", + "recover_mp": 0 + }, + "102006": { + "json_path": "Config/Props/Chap02/Prop_Chap02_DesMPRecoverBox_01_Config.json", + "recover_mp": 2 + }, + "102007": { + "json_path": "Config/Props/Chap02/Prop_Chap02_DesBox_01_Config.json", + "recover_mp": 0 + }, + "102008": { + "json_path": "Config/Props/Chap02/Prop_Chap02_DesBox_02_Config.json", + "recover_mp": 0 + }, + "103014": { + "json_path": "Config/Props/Chap03/Prop_Chap03_HPBox_01_Config.json", + "recover_mp": 0 + }, + "103015": { + "json_path": "Config/Props/Chap03/Prop_Chap03_MPBox_01_Config.json", + "recover_mp": 2 + }, + "103016": { + "json_path": "Config/Props/Chap03/Prop_Chap03_Balloon_01_Config.json", + "recover_mp": 0 + }, + "103017": { + "json_path": "Config/Props/Chap03/Prop_Chap03_Balloon_02_Config.json", + "recover_mp": 0 + }, + "103087": { + "json_path": "Config/Props/Chap03/Prop_Chap03_SolidaBottle_01_Config.json", + "recover_mp": 0 + }, + "104008": { + "json_path": "Config/Props/Chap04/Prop_Chap04_HPBox_01_Config.json", + "recover_mp": 0 + }, + "104009": { + "json_path": "Config/Props/Chap04/Prop_Chap04_MPBox_01_Config.json", + "recover_mp": 2 + }, + "104010": { + "json_path": "Config/Props/Chap04/Prop_Chap04_ShieldCoin_01_Config.json", + "recover_mp": 0 + }, + "104011": { + "json_path": "Config/Props/Chap04/Prop_Chap04_ShieldCoin_02_Config.json", + "recover_mp": 0 + }, + "104080": { + "json_path": "Config/Props/Chap04/Prop_Chap04_FlyingPiggy_01_Config.json", + "recover_mp": 0 + }, + "104270": { + "json_path": "Config/Props/Chap04/Prop_Chap04_FlyingPiggy_02_Config.json", + "recover_mp": 0 + }, + "105011": { + "json_path": "Config/Props/Chap05/Prop_Chap05_HPBox_01_Config.json", + "recover_mp": 0 + }, + "105012": { + "json_path": "Config/Props/Chap05/Prop_Chap05_MPBox_01_Config.json", + "recover_mp": 2 + }, + "105013": { + "json_path": "Config/Props/Chap05/Prop_Chap05_Tumbler_01_Config.json", + "recover_mp": 0 + }, + "105014": { + "json_path": "Config/Props/Chap05/Prop_Chap05_Tumbler_02_Config.json", + "recover_mp": 0 + }, + "105202": { + "json_path": "Config/Props/Chap05/Prop_Chap05_DesMPRecoverBox_02_Config.json", + "recover_mp": 2 + }, + "105203": { + "json_path": "Config/Props/Chap05/Prop_Chap05_DesHPRecoverBox_02_Config.json", + "recover_mp": 0 + } + } +} diff --git a/resources/PrydwenEndgameTeams.json b/resources/PrydwenEndgameTeams.json new file mode 100644 index 0000000..d1223f2 --- /dev/null +++ b/resources/PrydwenEndgameTeams.json @@ -0,0 +1,50 @@ +{ + "source": { + "name": "LvlUrArti/MocDataProcessed", + "url": "https://huggingface.co/datasets/LvlUrArti/MocDataProcessed", + "license": "MIT", + "attribution": "Processed data shown on Prydwen; credit LvlUrArti", + "dataset_version": "4.6.2", + "collect_date": "2026-10-14", + "challenge_version": "4.6.1", + "challenge_name": "Crossing the Afterlife" + }, + "avatar_aliases": { + "march-7th-evernight": "evernight", + "dan-heng-permansor-terrae": "danhengpt" + }, + "mode": "moc", + "floor": 12, + "stages": [ + { + "stage": 1, + "rank": 1, + "characters": [ + "silver-wolf-lv-999", + "sparxie", + "yao-guang", + "pearl" + ] + }, + { + "stage": 2, + "rank": 1, + "characters": [ + "castorice", + "march-7th-evernight", + "cyrene", + "hyacine" + ] + }, + { + "stage": 3, + "rank": 1, + "characters": [ + "himeko-nova", + "sparkle", + "sunday", + "dan-heng-permansor-terrae" + ] + } + ] +} diff --git a/resources/SceneMetadata.json b/resources/SceneMetadata.json index 8736a6b..1b1abe2 100644 --- a/resources/SceneMetadata.json +++ b/resources/SceneMetadata.json @@ -3,10 +3,35 @@ "source": { "kind": "Client GameCoreConfigLoader.LoadRtLevelFloorInfo / GroupInstanceCommonMap", "assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", - "capture_sha256": "84f4a5f5cd0570902a89b21f8ed139b2d7fe8fd928b5ddfa5612f709ef748804", + "capture_sha256": "a0584a2eb68dbe024beb5280becb8e4bf423bb387a3986af5e27481d0e18cbf5", "previous_capture_sha256": [ - "e937e23ccd1b09ae432886afeeeae57999deee027328862c18fe6eca6a20570e" - ] + "e937e23ccd1b09ae432886afeeeae57999deee027328862c18fe6eca6a20570e", + "84f4a5f5cd0570902a89b21f8ed139b2d7fe8fd928b5ddfa5612f709ef748804", + "732156032d056be4962f95e68397c96184784e46e8bd6cb849f2f2cb45b42bee", + "a0584a2eb68dbe024beb5280becb8e4bf423bb387a3986af5e27481d0e18cbf5" + ], + "entity_refresh_capture_sha256": "71821153cbce1e395c992c8f015e8024d879514e0c5778e847b5fd39a0ec13ca", + "entity_refresh": "Client RuntimeFloor/RuntimeGroup current non-deleted server props; RuntimeDimension.SavedValues.DefaultValue. Client-only props remain Client-managed. Other floors retain previous capture.", + "group_properties_capture_sha256": "4d28e5e5803e9649b4fb620481584c8be7f006d9624d83386e15df797f0addc6", + "group_properties": "RuntimeGroupInfo.GroupPropertyMap, names and DefaultValue/MinValue/MaxValue; main dimension only. Client-owned groups are exposed to navmap as data only.", + "group_count_note": "group_count counts distinct GroupID values. Starfroster RuntimeFloor contains 175 instances referencing 167 distinct groups; rechecked against the running Client.", + "group_identity_capture_sha256": "36c344b0d95fa20f99378fe1943c4f124b42ff9341d46715a0364c031e543e03", + "checkpoint_unlock_policy": "User requested unlocked checkpoints. Captured checkpoint props in refreshed floors use PropState.CheckPointEnable=8 instead of CheckPointDisable=7; enum values verified in running Client. Other prop states unchanged.", + "map_teleport_entry_policy": "Starfroster M checkpoint teleports use MapEntrance Town2057102 instead of Mission2057101; both reference Plane20571/Floor20571001 in current MapEntrance. This is a user-requested routing trial, not evidence that lighting differs or that the Client navigation UI supports extra entries. No sky/mission state values changed for this trial.", + "entry_saved_values_policy": { + "town": "PearlSR005d2c12 manager/scene_mgr.zig sends values.max_value as floor_saved_data. Town profile uses matching captured RuntimeDimension MaxValue; this is the reference freeplay policy, not a verified official story snapshot.", + "story": "Captured RuntimeDimension.DefaultValue; no claim of a complete quest-playthrough state.", + "client_capture_sha256": "71821153cbce1e395c992c8f015e8024d879514e0c5778e847b5fd39a0ec13ca", + "reference": "https://git.xeondev.com/HonkaiSlopRail/pearl-sr/src/commit/005d2c12db4781071f4b5b68e8f364587886a710/gameserver/src/manager/scene_mgr.zig" + }, + "floor_saved_values_policy": { + "10000003": { + "policy": "Captured RuntimeDimension[0].DefaultValue. Do not apply the supplementary MaxValue profile to this floor: it enables native debug groups whose DesignerBackup graph assets are absent.", + "entrance_anchors": "Preserve explicit MapEntrance/Anchor.json placements; entrances without StartAnchorID use captured floor_default_anchor, never the first checkpoint.", + "condition_capture_sha256": "13206a2daa12ff67cfe5845531ea34a56a4ad0ae10277a1ea6fb958e6d66c518", + "verification": "2026-10-19: user confirmed Party Car now lands in the correct room and AA entrance/UI can be entered. Native condition/membership capture and server regression tests support the fix; AA combat and settlement remain untested." + } + } }, "floors": { "20571001": { @@ -15,837 +40,670 @@ "groups": { "1": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "3": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "4": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "5": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "6": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "7": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "8": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "9": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "10": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "11": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "12": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "43": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "44": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "45": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "46": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "47": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "48": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "49": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "50": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "51": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "52": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "53": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "54": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "55": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "56": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "57": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "59": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "61": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "62": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "63": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "66": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "67": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "68": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "69": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "70": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "105": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "106": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "107": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "108": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "109": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "110": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "111": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "112": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "113": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "114": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "115": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "116": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "117": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "118": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "119": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "120": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "121": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "122": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "123": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "126": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "127": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "128": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "129": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "130": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "131": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "132": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "133": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "134": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "135": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "137": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "138": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "139": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "145": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "146": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "147": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "148": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "149": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "150": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "151": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "152": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "153": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "154": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "155": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "156": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "157": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "158": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "159": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "160": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "161": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "162": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "163": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "165": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "164": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "166": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "167": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "168": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "169": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "170": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "171": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "172": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "173": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "174": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "175": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "177": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "178": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "179": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "176": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "180": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "181": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "182": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "183": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "184": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "185": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "186": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "187": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "188": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "189": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "190": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "191": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "192": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "193": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "194": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "195": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "196": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "197": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "198": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "200": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "202": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "203": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "204": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "205": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": true }, "201": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": true }, "208": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "209": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "210": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "211": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "212": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "213": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "214": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "216": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": true }, "219": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "220": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "221": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "222": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "223": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "224": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "225": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "226": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "227": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "228": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "229": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "217": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "218": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "230": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "231": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "232": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "233": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "234": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "235": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "236": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "237": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "238": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "239": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "240": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "241": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "242": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "243": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "244": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "245": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "247": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "248": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "250": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false } }, @@ -1025,6 +883,3739 @@ "z": 0 }, "ID": 1 + }, + "props": { + "6": [ + { + "groupId": 6, + "instId": 300001, + "propId": 105032, + "propState": 1, + "pos": { + "x": 48420, + "y": -34931, + "z": 123088 + }, + "rot": { + "x": 0, + "y": 272795, + "z": 0 + } + }, + { + "groupId": 6, + "instId": 300002, + "propId": 105032, + "propState": 1, + "pos": { + "x": 172309, + "y": -48854, + "z": 116850 + }, + "rot": { + "x": 0, + "y": 313463, + "z": 0 + } + }, + { + "groupId": 6, + "instId": 300003, + "propId": 105142, + "propState": 18, + "pos": { + "x": 48420, + "y": -34931, + "z": 123088 + }, + "rot": { + "x": 0, + "y": 272795, + "z": 0 + } + }, + { + "groupId": 6, + "instId": 300004, + "propId": 138, + "propState": 0, + "pos": { + "x": 48420, + "y": -34931, + "z": 123088 + }, + "rot": { + "x": 0, + "y": 272795, + "z": 0 + } + } + ], + "12": [ + { + "groupId": 12, + "instId": 300007, + "propId": 105032, + "propState": 0, + "pos": { + "x": -1164, + "y": 4585, + "z": 753513 + }, + "rot": { + "x": 0, + "y": 90000, + "z": 0 + } + }, + { + "groupId": 12, + "instId": 300008, + "propId": 105032, + "propState": 1, + "pos": { + "x": 3685, + "y": 3047, + "z": 753548 + }, + "rot": { + "x": 0, + "y": 270367, + "z": 0 + } + }, + { + "groupId": 12, + "instId": 300009, + "propId": 105340, + "propState": 0, + "pos": { + "x": 22423, + "y": 0, + "z": 723405 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 12, + "instId": 300010, + "propId": 105142, + "propState": 18, + "pos": { + "x": 240, + "y": 3047, + "z": 753540 + }, + "rot": { + "x": 0, + "y": 88876, + "z": 0 + } + }, + { + "groupId": 12, + "instId": 300011, + "propId": 138, + "propState": 0, + "pos": { + "x": -1164, + "y": 4585, + "z": 753513 + }, + "rot": { + "x": 0, + "y": 90000, + "z": 0 + } + } + ], + "66": [ + { + "groupId": 66, + "instId": 300001, + "propId": 101, + "propState": 8, + "pos": { + "x": -6605, + "y": 18871, + "z": -101243 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "67": [ + { + "groupId": 67, + "instId": 300001, + "propId": 101, + "propState": 8, + "pos": { + "x": -9244, + "y": -30675, + "z": 66097 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "68": [ + { + "groupId": 68, + "instId": 300001, + "propId": 101, + "propState": 8, + "pos": { + "x": -68310, + "y": 72501, + "z": 310018 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "69": [ + { + "groupId": 69, + "instId": 300001, + "propId": 101, + "propState": 8, + "pos": { + "x": 65761, + "y": 654, + "z": 760753 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "70": [ + { + "groupId": 70, + "instId": 300001, + "propId": 101, + "propState": 8, + "pos": { + "x": 126394, + "y": 59381, + "z": 352602 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "113": [], + "121": [ + { + "groupId": 121, + "instId": 300001, + "propId": 111, + "propState": 0, + "pos": { + "x": -30, + "y": 0, + "z": 795870 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "134": [ + { + "groupId": 134, + "instId": 300001, + "propId": 105006, + "propState": 0, + "pos": { + "x": 3, + "y": -29806, + "z": 83456 + }, + "rot": { + "x": 0, + "y": 174322, + "z": 0 + } + }, + { + "groupId": 134, + "instId": 300002, + "propId": 105032, + "propState": 0, + "pos": { + "x": 350, + "y": -31144, + "z": 76220 + }, + "rot": { + "x": 0, + "y": 174322, + "z": 0 + } + }, + { + "groupId": 134, + "instId": 300005, + "propId": 105142, + "propState": 18, + "pos": { + "x": -11075, + "y": -31245, + "z": 81038 + }, + "rot": { + "x": 0, + "y": 174322, + "z": 0 + } + }, + { + "groupId": 134, + "instId": 300007, + "propId": 138, + "propState": 0, + "pos": { + "x": 3, + "y": -29806, + "z": 83456 + }, + "rot": { + "x": 0, + "y": 174322, + "z": 0 + } + } + ], + "135": [ + { + "groupId": 135, + "instId": 300001, + "propId": 105032, + "propState": 2, + "pos": { + "x": -79263, + "y": 73766, + "z": 377089 + }, + "rot": { + "x": 0, + "y": 181626, + "z": 0 + } + }, + { + "groupId": 135, + "instId": 300002, + "propId": 105032, + "propState": 1, + "pos": { + "x": -89280, + "y": 73728, + "z": 373506 + }, + "rot": { + "x": 0, + "y": 177120, + "z": 0 + } + }, + { + "groupId": 135, + "instId": 300003, + "propId": 138, + "propState": 0, + "pos": { + "x": -79263, + "y": 73766, + "z": 377089 + }, + "rot": { + "x": 0, + "y": 181626, + "z": 0 + } + } + ], + "139": [ + { + "groupId": 139, + "instId": 300001, + "propId": 113, + "propState": 8, + "pos": { + "x": -20570, + "y": 0, + "z": 797710 + }, + "rot": { + "x": 0, + "y": 31149, + "z": 0 + } + } + ], + "150": [ + { + "groupId": 150, + "instId": 300001, + "propId": 105007, + "propState": 1, + "pos": { + "x": -32379, + "y": 653, + "z": 703834 + }, + "rot": { + "x": 0, + "y": 44463, + "z": 0 + } + }, + { + "groupId": 150, + "instId": 300003, + "propId": 103121, + "propState": 0, + "pos": { + "x": -32379, + "y": 653, + "z": 703834 + }, + "rot": { + "x": 0, + "y": 44463, + "z": 0 + } + } + ], + "151": [ + { + "groupId": 151, + "instId": 300001, + "propId": 105067, + "propState": 12, + "pos": { + "x": -24410, + "y": -29898, + "z": 103690 + }, + "rot": { + "x": 0, + "y": 115072, + "z": 0 + } + } + ], + "152": [ + { + "groupId": 152, + "instId": 300001, + "propId": 105067, + "propState": 12, + "pos": { + "x": -37085, + "y": 72878, + "z": 324286 + }, + "rot": { + "x": 0, + "y": 312163, + "z": 0 + } + } + ], + "153": [ + { + "groupId": 153, + "instId": 300001, + "propId": 105067, + "propState": 12, + "pos": { + "x": 35732, + "y": 657, + "z": 798949 + }, + "rot": { + "x": 0, + "y": 185701, + "z": 0 + } + } + ], + "154": [ + { + "groupId": 154, + "instId": 300001, + "propId": 105067, + "propState": 12, + "pos": { + "x": -61030, + "y": 678, + "z": 753560 + }, + "rot": { + "x": 0, + "y": 97603, + "z": 0 + } + } + ], + "155": [ + { + "groupId": 155, + "instId": 300001, + "propId": 60501, + "propState": 12, + "pos": { + "x": 746, + "y": 17820, + "z": -73879 + }, + "rot": { + "x": 0, + "y": 2647, + "z": 0 + } + } + ], + "156": [ + { + "groupId": 156, + "instId": 300001, + "propId": 60501, + "propState": 12, + "pos": { + "x": 24372, + "y": -29898, + "z": 103604 + }, + "rot": { + "x": 0, + "y": 250149, + "z": 0 + } + }, + { + "groupId": 156, + "instId": 300002, + "propId": 60501, + "propState": 12, + "pos": { + "x": -9120, + "y": -29314, + "z": 120753 + }, + "rot": { + "x": 0, + "y": 90516, + "z": 0 + } + }, + { + "groupId": 156, + "instId": 300003, + "propId": 60501, + "propState": 12, + "pos": { + "x": 48349, + "y": -36248, + "z": 107476 + }, + "rot": { + "x": 0, + "y": 270000, + "z": 0 + } + }, + { + "groupId": 156, + "instId": 300004, + "propId": 60501, + "propState": 12, + "pos": { + "x": -40276, + "y": -34975, + "z": 114518 + }, + "rot": { + "x": 0, + "y": 147945, + "z": 0 + } + } + ], + "157": [ + { + "groupId": 157, + "instId": 300001, + "propId": 60502, + "propState": 12, + "pos": { + "x": 141280, + "y": -41041, + "z": 147117 + }, + "rot": { + "x": 0, + "y": 126758, + "z": 0 + } + } + ], + "158": [ + { + "groupId": 158, + "instId": 300001, + "propId": 60501, + "propState": 12, + "pos": { + "x": -48005, + "y": 72070, + "z": 336595 + }, + "rot": { + "x": 0, + "y": 314754, + "z": 0 + } + }, + { + "groupId": 158, + "instId": 300002, + "propId": 60501, + "propState": 12, + "pos": { + "x": -123912, + "y": 73703, + "z": 322019 + }, + "rot": { + "x": 0, + "y": 60243, + "z": 0 + } + }, + { + "groupId": 158, + "instId": 300003, + "propId": 60501, + "propState": 12, + "pos": { + "x": -95320, + "y": 71916, + "z": 330210 + }, + "rot": { + "x": 0, + "y": 37140, + "z": 0 + } + } + ], + "159": [ + { + "groupId": 159, + "instId": 300001, + "propId": 60503, + "propState": 12, + "pos": { + "x": 143355, + "y": 58335, + "z": 390281 + }, + "rot": { + "x": 0, + "y": 222990, + "z": 0 + } + } + ], + "160": [ + { + "groupId": 160, + "instId": 300001, + "propId": 60501, + "propState": 12, + "pos": { + "x": 164, + "y": 988, + "z": 777154 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 160, + "instId": 300002, + "propId": 60501, + "propState": 12, + "pos": { + "x": -14251, + "y": 1047, + "z": 753570 + }, + "rot": { + "x": 0, + "y": 270000, + "z": 0 + } + }, + { + "groupId": 160, + "instId": 300003, + "propId": 60501, + "propState": 12, + "pos": { + "x": -2750, + "y": 0, + "z": 805760 + }, + "rot": { + "x": 0, + "y": 170637, + "z": 0 + } + }, + { + "groupId": 160, + "instId": 300004, + "propId": 60501, + "propState": 12, + "pos": { + "x": -35385, + "y": 657, + "z": 799771 + }, + "rot": { + "x": 0, + "y": 141895, + "z": 0 + } + }, + { + "groupId": 160, + "instId": 300005, + "propId": 60501, + "propState": 12, + "pos": { + "x": 42590, + "y": 702, + "z": 734872 + }, + "rot": { + "x": 0, + "y": 113261, + "z": 0 + } + }, + { + "groupId": 160, + "instId": 300006, + "propId": 60501, + "propState": 12, + "pos": { + "x": 3948, + "y": 656, + "z": 697907 + }, + "rot": { + "x": 0, + "y": 273445, + "z": 0 + } + } + ], + "161": [ + { + "groupId": 161, + "instId": 300001, + "propId": 963, + "propState": 101, + "pos": { + "x": 15382, + "y": -30667, + "z": 70679 + }, + "rot": { + "x": 0, + "y": 312917, + "z": 0 + } + }, + { + "groupId": 161, + "instId": 300002, + "propId": 963, + "propState": 101, + "pos": { + "x": -17073, + "y": -30675, + "z": 92673 + }, + "rot": { + "x": 0, + "y": 132281, + "z": 0 + } + } + ], + "162": [ + { + "groupId": 162, + "instId": 300001, + "propId": 963, + "propState": 101, + "pos": { + "x": -54992, + "y": 72550, + "z": 311523 + }, + "rot": { + "x": 0, + "y": 337936, + "z": 0 + } + }, + { + "groupId": 162, + "instId": 300002, + "propId": 963, + "propState": 101, + "pos": { + "x": -23560, + "y": 72550, + "z": 343020 + }, + "rot": { + "x": 0, + "y": 293698, + "z": 0 + } + }, + { + "groupId": 162, + "instId": 300003, + "propId": 963, + "propState": 101, + "pos": { + "x": -105601, + "y": 72550, + "z": 311492 + }, + "rot": { + "x": 0, + "y": 20813, + "z": 0 + } + }, + { + "groupId": 162, + "instId": 300004, + "propId": 963, + "propState": 101, + "pos": { + "x": -137102, + "y": 72550, + "z": 343036 + }, + "rot": { + "x": 0, + "y": 65511, + "z": 0 + } + } + ], + "163": [ + { + "groupId": 163, + "instId": 300001, + "propId": 963, + "propState": 101, + "pos": { + "x": 40630, + "y": 0, + "z": 742830 + }, + "rot": { + "x": 0, + "y": 284923, + "z": 0 + } + }, + { + "groupId": 163, + "instId": 300002, + "propId": 963, + "propState": 101, + "pos": { + "x": 23640, + "y": 0, + "z": 787890 + }, + "rot": { + "x": 0, + "y": 216435, + "z": 0 + } + }, + { + "groupId": 163, + "instId": 300003, + "propId": 963, + "propState": 101, + "pos": { + "x": -10860, + "y": 0, + "z": 712910 + }, + "rot": { + "x": 0, + "y": 20813, + "z": 0 + } + }, + { + "groupId": 163, + "instId": 300004, + "propId": 963, + "propState": 101, + "pos": { + "x": -39597, + "y": 0, + "z": 766117 + }, + "rot": { + "x": 0, + "y": 106986, + "z": 0 + } + } + ], + "165": [ + { + "groupId": 165, + "instId": 300001, + "propId": 105012, + "propState": 0, + "pos": { + "x": 6231, + "y": 18871, + "z": -90668 + }, + "rot": { + "x": 0, + "y": 265178, + "z": 0 + } + }, + { + "groupId": 165, + "instId": 300004, + "propId": 105013, + "propState": 0, + "pos": { + "x": 9474, + "y": 18084, + "z": -77579 + }, + "rot": { + "x": 0, + "y": 261704, + "z": 0 + } + }, + { + "groupId": 165, + "instId": 300002, + "propId": 105013, + "propState": 0, + "pos": { + "x": -9670, + "y": 18043, + "z": -77895 + }, + "rot": { + "x": 0, + "y": 92844, + "z": 0 + } + } + ], + "164": [ + { + "groupId": 164, + "instId": 300001, + "propId": 105012, + "propState": 0, + "pos": { + "x": -5800, + "y": -30675, + "z": 65300 + }, + "rot": { + "x": 0, + "y": 10872, + "z": 0 + } + }, + { + "groupId": 164, + "instId": 300002, + "propId": 105011, + "propState": 0, + "pos": { + "x": 16217, + "y": -29899, + "z": 104237 + }, + "rot": { + "x": 0, + "y": 204628, + "z": 0 + } + }, + { + "groupId": 164, + "instId": 300003, + "propId": 105012, + "propState": 0, + "pos": { + "x": -18566, + "y": -29899, + "z": 97321 + }, + "rot": { + "x": 0, + "y": 68422, + "z": 0 + } + }, + { + "groupId": 164, + "instId": 300015, + "propId": 105013, + "propState": 0, + "pos": { + "x": -17171, + "y": -30675, + "z": 77301 + }, + "rot": { + "x": 0, + "y": 80311, + "z": 0 + } + }, + { + "groupId": 164, + "instId": 300011, + "propId": 105013, + "propState": 0, + "pos": { + "x": 20935, + "y": -30675, + "z": 86603 + }, + "rot": { + "x": 0, + "y": 210334, + "z": 0 + } + }, + { + "groupId": 164, + "instId": 300004, + "propId": 105011, + "propState": 0, + "pos": { + "x": 41925, + "y": -32805, + "z": 88397 + }, + "rot": { + "x": 0, + "y": 263545, + "z": 0 + } + }, + { + "groupId": 164, + "instId": 300006, + "propId": 105013, + "propState": 0, + "pos": { + "x": -7715, + "y": -28700, + "z": 139890 + }, + "rot": { + "x": 0, + "y": 86607, + "z": 0 + } + }, + { + "groupId": 164, + "instId": 300007, + "propId": 105013, + "propState": 0, + "pos": { + "x": 7655, + "y": -28700, + "z": 139828 + }, + "rot": { + "x": 0, + "y": 260624, + "z": 0 + } + }, + { + "groupId": 164, + "instId": 300005, + "propId": 105013, + "propState": 0, + "pos": { + "x": -40826, + "y": -32856, + "z": 85122 + }, + "rot": { + "x": 0, + "y": 83105, + "z": 0 + } + } + ], + "169": [ + { + "groupId": 169, + "instId": 300001, + "propId": 105012, + "propState": 0, + "pos": { + "x": -76290, + "y": 72830, + "z": 325750 + }, + "rot": { + "x": 0, + "y": 10872, + "z": 0 + } + }, + { + "groupId": 169, + "instId": 300003, + "propId": 105012, + "propState": 0, + "pos": { + "x": -75080, + "y": 72830, + "z": 325320 + }, + "rot": { + "x": 0, + "y": 68422, + "z": 0 + } + }, + { + "groupId": 169, + "instId": 300002, + "propId": 105011, + "propState": 0, + "pos": { + "x": -112667, + "y": 72070, + "z": 336175 + }, + "rot": { + "x": 0, + "y": 204628, + "z": 0 + } + }, + { + "groupId": 169, + "instId": 300015, + "propId": 105013, + "propState": 0, + "pos": { + "x": -44406, + "y": 72891, + "z": 315321 + }, + "rot": { + "x": 0, + "y": 300829, + "z": 0 + } + }, + { + "groupId": 169, + "instId": 300011, + "propId": 105013, + "propState": 0, + "pos": { + "x": -25988, + "y": 72893, + "z": 333129 + }, + "rot": { + "x": 0, + "y": 303012, + "z": 0 + } + }, + { + "groupId": 169, + "instId": 300006, + "propId": 105013, + "propState": 0, + "pos": { + "x": -22740, + "y": 72830, + "z": 375059 + }, + "rot": { + "x": 0, + "y": 114081, + "z": 0 + } + }, + { + "groupId": 169, + "instId": 300007, + "propId": 105013, + "propState": 0, + "pos": { + "x": -42162, + "y": 71839, + "z": 353191 + }, + "rot": { + "x": 0, + "y": 286808, + "z": 0 + } + }, + { + "groupId": 169, + "instId": 300005, + "propId": 105013, + "propState": 0, + "pos": { + "x": -64872, + "y": 71849, + "z": 329420 + }, + "rot": { + "x": 0, + "y": 323819, + "z": 0 + } + }, + { + "groupId": 169, + "instId": 300004, + "propId": 105013, + "propState": 0, + "pos": { + "x": -116611, + "y": 72933, + "z": 315158 + }, + "rot": { + "x": 0, + "y": 50137, + "z": 0 + } + }, + { + "groupId": 169, + "instId": 300008, + "propId": 105013, + "propState": 0, + "pos": { + "x": -134234, + "y": 72891, + "z": 333584 + }, + "rot": { + "x": 0, + "y": 39790, + "z": 0 + } + }, + { + "groupId": 169, + "instId": 300009, + "propId": 105013, + "propState": 0, + "pos": { + "x": -138236, + "y": 72501, + "z": 357240 + }, + "rot": { + "x": 0, + "y": 114704, + "z": 0 + } + }, + { + "groupId": 169, + "instId": 300010, + "propId": 105013, + "propState": 0, + "pos": { + "x": -118261, + "y": 71869, + "z": 352685 + }, + "rot": { + "x": 0, + "y": 71824, + "z": 0 + } + } + ], + "174": [ + { + "groupId": 174, + "instId": 300001, + "propId": 105012, + "propState": 0, + "pos": { + "x": 53030, + "y": 657, + "z": 745990 + }, + "rot": { + "x": 0, + "y": 38426, + "z": 0 + } + }, + { + "groupId": 174, + "instId": 300003, + "propId": 105012, + "propState": 0, + "pos": { + "x": 53113, + "y": 657, + "z": 761441 + }, + "rot": { + "x": 0, + "y": 133551, + "z": 0 + } + }, + { + "groupId": 174, + "instId": 300002, + "propId": 105011, + "propState": 0, + "pos": { + "x": 12855, + "y": 0, + "z": 712912 + }, + "rot": { + "x": 0, + "y": 349618, + "z": 0 + } + }, + { + "groupId": 174, + "instId": 300015, + "propId": 105013, + "propState": 0, + "pos": { + "x": 36138, + "y": 702, + "z": 725948 + }, + "rot": { + "x": 0, + "y": 121489, + "z": 0 + } + }, + { + "groupId": 174, + "instId": 300011, + "propId": 105013, + "propState": 0, + "pos": { + "x": 30559, + "y": 657, + "z": 703566 + }, + "rot": { + "x": 0, + "y": 355628, + "z": 0 + } + }, + { + "groupId": 174, + "instId": 300006, + "propId": 105013, + "propState": 0, + "pos": { + "x": -30426, + "y": 657, + "z": 703290 + }, + "rot": { + "x": 0, + "y": 9360, + "z": 0 + } + }, + { + "groupId": 174, + "instId": 300007, + "propId": 105013, + "propState": 0, + "pos": { + "x": -36875, + "y": 702, + "z": 727066 + }, + "rot": { + "x": 0, + "y": 244412, + "z": 0 + } + }, + { + "groupId": 174, + "instId": 300005, + "propId": 105013, + "propState": 0, + "pos": { + "x": -57906, + "y": 657, + "z": 736533 + }, + "rot": { + "x": 0, + "y": 75527, + "z": 0 + } + }, + { + "groupId": 174, + "instId": 300004, + "propId": 105013, + "propState": 0, + "pos": { + "x": -57447, + "y": 657, + "z": 768270 + }, + "rot": { + "x": 0, + "y": 94936, + "z": 0 + } + }, + { + "groupId": 174, + "instId": 300008, + "propId": 105013, + "propState": 0, + "pos": { + "x": -44085, + "y": 702, + "z": 776481 + }, + "rot": { + "x": 0, + "y": 125020, + "z": 0 + } + }, + { + "groupId": 174, + "instId": 300009, + "propId": 105013, + "propState": 0, + "pos": { + "x": -26058, + "y": 657, + "z": 792907 + }, + "rot": { + "x": 0, + "y": 238871, + "z": 0 + } + }, + { + "groupId": 174, + "instId": 300010, + "propId": 105013, + "propState": 0, + "pos": { + "x": 43194, + "y": 702, + "z": 776324 + }, + "rot": { + "x": 0, + "y": 237637, + "z": 0 + } + } + ], + "175": [ + { + "groupId": 175, + "instId": 300010, + "propId": 105014, + "propState": 0, + "pos": { + "x": 171335, + "y": -46769, + "z": 124929 + }, + "rot": { + "x": 0, + "y": 164347, + "z": 0 + } + }, + { + "groupId": 175, + "instId": 300005, + "propId": 105014, + "propState": 0, + "pos": { + "x": 136060, + "y": -41730, + "z": 138038 + }, + "rot": { + "x": 0, + "y": 219508, + "z": 0 + } + }, + { + "groupId": 175, + "instId": 300004, + "propId": 105014, + "propState": 0, + "pos": { + "x": 166861, + "y": -44328, + "z": 114534 + }, + "rot": { + "x": 0, + "y": 285210, + "z": 0 + } + }, + { + "groupId": 175, + "instId": 300008, + "propId": 105014, + "propState": 0, + "pos": { + "x": 142030, + "y": -34795, + "z": 155969 + }, + "rot": { + "x": 0, + "y": 69945, + "z": 0 + } + } + ], + "177": [], + "178": [], + "179": [], + "176": [], + "180": [ + { + "groupId": 180, + "instId": 300001, + "propId": 105032, + "propState": 1, + "pos": { + "x": -134310, + "y": 5510, + "z": 117570 + }, + "rot": { + "x": 0, + "y": 106881, + "z": 0 + } + }, + { + "groupId": 180, + "instId": 300002, + "propId": 138, + "propState": 0, + "pos": { + "x": -42842, + "y": -34975, + "z": 108540 + }, + "rot": { + "x": 0, + "y": 120954, + "z": 0 + } + }, + { + "groupId": 180, + "instId": 300004, + "propId": 100, + "propState": 0, + "pos": { + "x": -44444, + "y": -34975, + "z": 100021 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 180, + "instId": 300006, + "propId": 105142, + "propState": 18, + "pos": { + "x": -134310, + "y": 5510, + "z": 117570 + }, + "rot": { + "x": 0, + "y": 106881, + "z": 0 + } + } + ], + "181": [ + { + "groupId": 181, + "instId": 300001, + "propId": 100, + "propState": 0, + "pos": { + "x": 8099, + "y": -31342, + "z": 92166 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "200": [ + { + "groupId": 200, + "instId": 300002, + "propId": 105024, + "propState": 18, + "pos": { + "x": -17968, + "y": -30056, + "z": 93455 + }, + "rot": { + "x": 0, + "y": 44999, + "z": 0 + } + } + ], + "208": [ + { + "groupId": 208, + "instId": 300001, + "propId": 105023, + "propState": 18, + "pos": { + "x": -122325, + "y": 73716, + "z": 312540 + }, + "rot": { + "x": 0, + "y": 14441, + "z": 0 + } + }, + { + "groupId": 208, + "instId": 300009, + "propId": 105024, + "propState": 18, + "pos": { + "x": 173, + "y": -30404, + "z": 82186 + }, + "rot": { + "x": 0, + "y": 88361, + "z": 0 + } + }, + { + "groupId": 208, + "instId": 300010, + "propId": 105023, + "propState": 18, + "pos": { + "x": 24349, + "y": -29150, + "z": 100569 + }, + "rot": { + "x": 0, + "y": 43844, + "z": 0 + } + }, + { + "groupId": 208, + "instId": 300011, + "propId": 105022, + "propState": 18, + "pos": { + "x": -40042, + "y": 72258, + "z": 352872 + }, + "rot": { + "x": 0, + "y": 90477, + "z": 0 + } + }, + { + "groupId": 208, + "instId": 300012, + "propId": 105024, + "propState": 18, + "pos": { + "x": 36516, + "y": 1464, + "z": 784682 + }, + "rot": { + "x": 0, + "y": 89396, + "z": 0 + } + }, + { + "groupId": 208, + "instId": 300013, + "propId": 105023, + "propState": 18, + "pos": { + "x": -48527, + "y": 1666, + "z": 718803 + }, + "rot": { + "x": 0, + "y": 141815, + "z": 0 + } + }, + { + "groupId": 208, + "instId": 300014, + "propId": 105022, + "propState": 18, + "pos": { + "x": -8480, + "y": -28247, + "z": 132833 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 208, + "instId": 300015, + "propId": 105022, + "propState": 18, + "pos": { + "x": -38328, + "y": 73651, + "z": 318624 + }, + "rot": { + "x": 0, + "y": 285006, + "z": 0 + } + }, + { + "groupId": 208, + "instId": 300016, + "propId": 105024, + "propState": 18, + "pos": { + "x": 3481, + "y": 1354, + "z": 700443 + }, + "rot": { + "x": 0, + "y": 185197, + "z": 0 + } + }, + { + "groupId": 208, + "instId": 300017, + "propId": 105024, + "propState": 18, + "pos": { + "x": -30441, + "y": 1525, + "z": 797148 + }, + "rot": { + "x": 0, + "y": 123968, + "z": 0 + } + }, + { + "groupId": 208, + "instId": 300018, + "propId": 105023, + "propState": 18, + "pos": { + "x": -95661, + "y": 72258, + "z": 327535 + }, + "rot": { + "x": 0, + "y": 76707, + "z": 0 + } + }, + { + "groupId": 208, + "instId": 300019, + "propId": 105024, + "propState": 18, + "pos": { + "x": -45855, + "y": 1464, + "z": 741098 + }, + "rot": { + "x": 0, + "y": 331220, + "z": 0 + } + }, + { + "groupId": 208, + "instId": 300020, + "propId": 105023, + "propState": 18, + "pos": { + "x": -11176, + "y": 955, + "z": 783333 + }, + "rot": { + "x": 0, + "y": 314222, + "z": 0 + } + } + ], + "214": [ + { + "groupId": 214, + "instId": 300004, + "propId": 100, + "propState": 0, + "pos": { + "x": -40223, + "y": -34975, + "z": 113200 + }, + "rot": { + "x": 0, + "y": 180000, + "z": 0 + } + }, + { + "groupId": 214, + "instId": 300005, + "propId": 100, + "propState": 0, + "pos": { + "x": -40223, + "y": -34975, + "z": 105680 + }, + "rot": { + "x": 0, + "y": 180000, + "z": 0 + } + }, + { + "groupId": 214, + "instId": 300007, + "propId": 138, + "propState": 0, + "pos": { + "x": -40223, + "y": -34975, + "z": 105680 + }, + "rot": { + "x": 0, + "y": 180000, + "z": 0 + } + }, + { + "groupId": 214, + "instId": 300008, + "propId": 138, + "propState": 0, + "pos": { + "x": -40223, + "y": -34975, + "z": 105680 + }, + "rot": { + "x": 0, + "y": 180000, + "z": 0 + } + } + ], + "219": [ + { + "groupId": 219, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": 175104, + "y": -47909, + "z": 114631 + }, + "rot": { + "x": 0, + "y": 313056, + "z": 0 + } + }, + { + "groupId": 219, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": 175104, + "y": -47909, + "z": 114631 + }, + "rot": { + "x": 0, + "y": 313056, + "z": 0 + } + }, + { + "groupId": 219, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": 175104, + "y": -47909, + "z": 114631 + }, + "rot": { + "x": 0, + "y": 313056, + "z": 0 + } + } + ], + "220": [ + { + "groupId": 220, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": 89, + "y": 18552, + "z": -83066 + }, + "rot": { + "x": 0, + "y": 182962, + "z": 0 + } + }, + { + "groupId": 220, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": 89, + "y": 18552, + "z": -83066 + }, + "rot": { + "x": 0, + "y": 182962, + "z": 0 + } + }, + { + "groupId": 220, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": 92, + "y": 18693, + "z": -82808 + }, + "rot": { + "x": 0, + "y": 180342, + "z": 0 + } + } + ], + "221": [ + { + "groupId": 221, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": 3223, + "y": 1291, + "z": 695344 + }, + "rot": { + "x": 0, + "y": 343402, + "z": 0 + } + }, + { + "groupId": 221, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": 3223, + "y": 1291, + "z": 695344 + }, + "rot": { + "x": 0, + "y": 343402, + "z": 0 + } + }, + { + "groupId": 221, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": 3223, + "y": 1291, + "z": 695344 + }, + "rot": { + "x": 0, + "y": 343402, + "z": 0 + } + } + ], + "222": [ + { + "groupId": 222, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": -8445, + "y": 20134, + "z": -104931 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 222, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": -8445, + "y": 20134, + "z": -104931 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 222, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": -8445, + "y": 20134, + "z": -104931 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "223": [ + { + "groupId": 223, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": -9445, + "y": 18686, + "z": -53395 + }, + "rot": { + "x": 0, + "y": 41367, + "z": 0 + } + }, + { + "groupId": 223, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": -9445, + "y": 18686, + "z": -53395 + }, + "rot": { + "x": 0, + "y": 41367, + "z": 0 + } + }, + { + "groupId": 223, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": -9445, + "y": 18686, + "z": -53395 + }, + "rot": { + "x": 0, + "y": 41367, + "z": 0 + } + } + ], + "224": [ + { + "groupId": 224, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": -91, + "y": -30330, + "z": 85299 + }, + "rot": { + "x": 0, + "y": 356219, + "z": 0 + } + }, + { + "groupId": 224, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": -91, + "y": -30330, + "z": 85299 + }, + "rot": { + "x": 0, + "y": 356219, + "z": 0 + } + }, + { + "groupId": 224, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": -107, + "y": -30421, + "z": 85541 + }, + "rot": { + "x": 0, + "y": 356219, + "z": 0 + } + } + ], + "225": [ + { + "groupId": 225, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": 44515, + "y": -34449, + "z": 120164 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 225, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": 44515, + "y": -34449, + "z": 120164 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 225, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": 44515, + "y": -34530, + "z": 120307 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "226": [ + { + "groupId": 226, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": 8953, + "y": -26903, + "z": 135991 + }, + "rot": { + "x": 0, + "y": 270000, + "z": 0 + } + }, + { + "groupId": 226, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": 8953, + "y": -26903, + "z": 135991 + }, + "rot": { + "x": 0, + "y": 270000, + "z": 0 + } + }, + { + "groupId": 226, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": 8953, + "y": -26903, + "z": 135991 + }, + "rot": { + "x": 0, + "y": 270000, + "z": 0 + } + } + ], + "227": [ + { + "groupId": 227, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": -87348, + "y": 75325, + "z": 319764 + }, + "rot": { + "x": 0, + "y": 200513, + "z": 0 + } + }, + { + "groupId": 227, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": -87351, + "y": 75326, + "z": 319755 + }, + "rot": { + "x": 0, + "y": 200513, + "z": 0 + } + }, + { + "groupId": 227, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": -87351, + "y": 75326, + "z": 319755 + }, + "rot": { + "x": 0, + "y": 200513, + "z": 0 + } + } + ], + "228": [ + { + "groupId": 228, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": 25548, + "y": 1148, + "z": 738056 + }, + "rot": { + "x": 0, + "y": 77279, + "z": 0 + } + }, + { + "groupId": 228, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": 25548, + "y": 1148, + "z": 738056 + }, + "rot": { + "x": 0, + "y": 77279, + "z": 0 + } + }, + { + "groupId": 228, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": 25243, + "y": 1313, + "z": 737987 + }, + "rot": { + "x": 0, + "y": 77279, + "z": 0 + } + } + ], + "229": [ + { + "groupId": 229, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": 131382, + "y": 58089, + "z": 377858 + }, + "rot": { + "x": 0, + "y": 145893, + "z": 0 + } + }, + { + "groupId": 229, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": 131382, + "y": 58089, + "z": 377858 + }, + "rot": { + "x": 0, + "y": 145893, + "z": 0 + } + }, + { + "groupId": 229, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": 131382, + "y": 58089, + "z": 377858 + }, + "rot": { + "x": 0, + "y": 145893, + "z": 0 + } + } + ], + "230": [ + { + "groupId": 230, + "instId": 300001, + "propId": 105032, + "propState": 1, + "pos": { + "x": -116990, + "y": -48718, + "z": 144580 + }, + "rot": { + "x": 0, + "y": 305044, + "z": 0 + } + } + ], + "231": [ + { + "groupId": 231, + "instId": 300001, + "propId": 105032, + "propState": 1, + "pos": { + "x": -8158, + "y": 18282, + "z": -94563 + }, + "rot": { + "x": 0, + "y": 90000, + "z": 0 + } + }, + { + "groupId": 231, + "instId": 300002, + "propId": 105032, + "propState": 1, + "pos": { + "x": 62, + "y": 18043, + "z": -84098 + }, + "rot": { + "x": 0, + "y": 180000, + "z": 0 + } + }, + { + "groupId": 231, + "instId": 300003, + "propId": 105142, + "propState": 18, + "pos": { + "x": -5165, + "y": 21149, + "z": -96575 + }, + "rot": { + "x": 0, + "y": 235180, + "z": 0 + } + }, + { + "groupId": 231, + "instId": 300004, + "propId": 138, + "propState": 0, + "pos": { + "x": -8158, + "y": 18282, + "z": -94563 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "232": [ + { + "groupId": 232, + "instId": 300001, + "propId": 105006, + "propState": 1, + "pos": { + "x": 112002, + "y": 59350, + "z": 360771 + }, + "rot": { + "x": 0, + "y": 130036, + "z": 0 + } + }, + { + "groupId": 232, + "instId": 300002, + "propId": 105006, + "propState": 1, + "pos": { + "x": 128435, + "y": 59381, + "z": 358788 + }, + "rot": { + "x": 0, + "y": 278020, + "z": 0 + } + }, + { + "groupId": 232, + "instId": 300003, + "propId": 105142, + "propState": 18, + "pos": { + "x": 129660, + "y": 59381, + "z": 359840 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 232, + "instId": 300004, + "propId": 138, + "propState": 0, + "pos": { + "x": 128435, + "y": 59381, + "z": 358788 + }, + "rot": { + "x": 0, + "y": 278020, + "z": 0 + } + } + ], + "239": [ + { + "groupId": 239, + "instId": 300001, + "propId": 105032, + "propState": 1, + "pos": { + "x": -72610, + "y": 71782, + "z": 327320 + }, + "rot": { + "x": 0, + "y": 72863, + "z": 0 + } + }, + { + "groupId": 239, + "instId": 300002, + "propId": 105032, + "propState": 0, + "pos": { + "x": -122500, + "y": 72878, + "z": 325050 + }, + "rot": { + "x": 0, + "y": 60306, + "z": 0 + } + }, + { + "groupId": 239, + "instId": 300003, + "propId": 105142, + "propState": 18, + "pos": { + "x": -72610, + "y": 71782, + "z": 327320 + }, + "rot": { + "x": 0, + "y": 72863, + "z": 0 + } + }, + { + "groupId": 239, + "instId": 300004, + "propId": 138, + "propState": 0, + "pos": { + "x": -72610, + "y": 71782, + "z": 327320 + }, + "rot": { + "x": 0, + "y": 72863, + "z": 0 + } + } + ], + "240": [ + { + "groupId": 240, + "instId": 300001, + "propId": 105006, + "propState": 1, + "pos": { + "x": 169920, + "y": -42990, + "z": 120240 + }, + "rot": { + "x": 0, + "y": 314738, + "z": 0 + } + }, + { + "groupId": 240, + "instId": 300002, + "propId": 105006, + "propState": 1, + "pos": { + "x": 133213, + "y": -35446, + "z": 152873 + }, + "rot": { + "x": 0, + "y": 135264, + "z": 0 + } + }, + { + "groupId": 240, + "instId": 300003, + "propId": 105142, + "propState": 18, + "pos": { + "x": 169920, + "y": -42990, + "z": 120240 + }, + "rot": { + "x": 0, + "y": 314738, + "z": 0 + } + }, + { + "groupId": 240, + "instId": 300004, + "propId": 104035, + "propState": 102, + "pos": { + "x": 127120, + "y": -11340, + "z": 161720 + }, + "rot": { + "x": 0, + "y": 52590, + "z": 0 + } + }, + { + "groupId": 240, + "instId": 300005, + "propId": 138, + "propState": 0, + "pos": { + "x": 169920, + "y": -42990, + "z": 120240 + }, + "rot": { + "x": 0, + "y": 314738, + "z": 0 + } + } + ], + "243": [ + { + "groupId": 243, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": 25499, + "y": -29374, + "z": 103980 + }, + "rot": { + "x": 0, + "y": 251326, + "z": 0 + } + }, + { + "groupId": 243, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": 25499, + "y": -29374, + "z": 103980 + }, + "rot": { + "x": 0, + "y": 251326, + "z": 0 + } + }, + { + "groupId": 243, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": 25643, + "y": -29089, + "z": 104029 + }, + "rot": { + "x": 0, + "y": 251326, + "z": 0 + } + } + ] + }, + "saved_values": { + "FSV_StageChange": 0, + "FSV_CandyChange": 0, + "FSV_WindowBreak": 0, + "FSV_NPCrandom": 0, + "FSV_47Entry": 0, + "FSV_Carousel": 0, + "SceneStateByMainMission": 0, + "SubStateByMainMission": 0, + "FSV_470MissionCrowd_Sub1": 0, + "FSV_470MissionCrowd_Sub2": 0, + "FSV_470MissionCrowd_Sub3": 0, + "FSV_StageStep": 0, + "FSV_HideFIsh": 0, + "FSV_SkyChange": 0, + "FSV_UnlockFlute2057101": 0, + "FSV_ChangePhoto": 0, + "FSV_Coaster01": 0, + "FSV_Coaster02": 0, + "FSV_Coaster03": 0, + "FSV_Coaster": 0, + "FSV_CarouselOpen": 0, + "FSV_FDMain03Unlock": 0, + "FSV_FDFerrisWheel": 0 + }, + "group_properties": { + "6": { + "LG_110001__66_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001__67_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001__101_FogState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "12": { + "LG_110001_EnergyCount_Face1": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 7 + }, + "LG_110001_RotateCount": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 40 + }, + "LG_110001_EnergyCount_Face2": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 32 + }, + "LG_110001_RollerRestoreArea": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001_RollerRestoreState": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001_MusicStep": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001_RotateFinal": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__20_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__21_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__22_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__150_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__148_ChestStateL_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001_LevelStep": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 10 + } + }, + "113": { + "FirstEncounter": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "121": { + "FirstEncounter": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "134": { + "LG_110001_Energy": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 6 + }, + "LG_110001_UIActive": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001_UIActive02": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__134_PressureSwitchState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001_EnergyCount": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 8 + }, + "LG_110001_Finish": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 2 + }, + "LG_110001__31_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001_voice01": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001_voice02": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__118_ChestStateS_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001_Step": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 2 + }, + "LG_110001_GearState": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "135": { + "LG_110001__10_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__11_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__81_LeverSwitchState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__151_ChestStateM_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001_LevelState": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 7 + }, + "LG_110001_IntroPlayed": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001_WindowControlTutorial": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 5 + }, + "LG_110001_WindowControlMainStage": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 5 + } + }, + "150": { + "LG_110001__4_PressureSwitchState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__5_PressureSwitchState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__4_PressureSwitchState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__5_PressureSwitchState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "151": { + "LG_110001__1_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + } + }, + "152": { + "LG_110001__1_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + } + }, + "153": { + "LG_110001__1_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + } + }, + "154": { + "LG_110001__1_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + } + }, + "166": { + "GP_BatchFlag_0102": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "167": { + "GP_BatchFlag_0102": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "168": { + "GP_BatchFlag_0102": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "170": { + "GP_BatchFlag_0102": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "171": { + "GP_BatchFlag_0102": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "172": { + "GP_BatchFlag_0102": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "173": { + "GP_BatchFlag_0102": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "180": { + "LG_110001__91_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + } + }, + "214": { + "PuzzleState": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 3 + } + }, + "230": { + "LG_110001__6_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__8_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__2_IsAnimalSaved_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__54_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001__12_LeverSwitchState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + } + }, + "231": { + "LG_110001__10_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__16_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__19_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__22_ChestStateM_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001__25_PressureSwitchState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__26_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001_PokerGameState": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001__50_LeverSwitchState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__52_LeverSwitchState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__53_LeverSwitchState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__54_LeverSwitchState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__48_MapIconState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 2 + }, + "LG_110001__94_BombTriggerState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "232": { + "LG_110001_UIActive": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001_MascotFinish": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 4 + }, + "LG_110001_LimaoPuzzleUIActive": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001_EnergyCount": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 6 + }, + "LG_110001_UIActive02": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001_LimaoPuzzleFinish": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001_OpenLight": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001_DownPedal": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__98_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001__289_LeverSwitchState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__15_LeverSwitchState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__17_LeverSwitchState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001_FirstFinish": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__160_BombTriggerState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__297_LeverSwitchState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__299_LeverSwitchState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__306_ChestStateS_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001__409_SkillUpgradeState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__414_BombTriggerState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__166_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__419_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__420_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__421_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__422_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__423_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__424_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__425_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__426_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__427_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__428_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__429_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__430_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__431_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__432_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__433_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001_ThirdFinish": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001_SecondFinish": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "238": { + "CoasterTrack": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 5 + }, + "LG_110001_PerformStage": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 9 + } + }, + "239": { + "LG_110001__21_PressureSwitchState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__99_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001__100_LeverSwitchState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + } + }, + "240": { + "LG_110001_EnergyCount": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 6 + }, + "LG_110001_UIActive": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__29_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001__35_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__36_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__40_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__41_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__34_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__69_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__20_LeverSwitchState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001_EmojiState": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001_EmojiAnother": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 2 + }, + "LG_110001__139_ChestStateS_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001_Finish": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + } + }, + "dimension_id": 0, + "map_teleport_entry_id": 2057102, + "saved_value_rules": { + "FSV_StageChange": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "FSV_CandyChange": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 2 + }, + "FSV_WindowBreak": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "FSV_NPCrandom": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 5 + }, + "FSV_47Entry": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "FSV_Carousel": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "SceneStateByMainMission": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "SubStateByMainMission": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "FSV_470MissionCrowd_Sub1": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "FSV_470MissionCrowd_Sub2": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "FSV_470MissionCrowd_Sub3": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "FSV_StageStep": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 3 + }, + "FSV_HideFIsh": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "FSV_SkyChange": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "FSV_UnlockFlute2057101": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "FSV_ChangePhoto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "FSV_Coaster01": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 2 + }, + "FSV_Coaster02": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 2 + }, + "FSV_Coaster03": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 2 + }, + "FSV_Coaster": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "FSV_CarouselOpen": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "FSV_FDMain03Unlock": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "FSV_FDFerrisWheel": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "entry_saved_values": { + "2057102": { + "FSV_StageChange": 1, + "FSV_CandyChange": 2, + "FSV_WindowBreak": 1, + "FSV_NPCrandom": 5, + "FSV_47Entry": 1, + "FSV_Carousel": 1, + "SceneStateByMainMission": 1, + "SubStateByMainMission": 1, + "FSV_470MissionCrowd_Sub1": 1, + "FSV_470MissionCrowd_Sub2": 1, + "FSV_470MissionCrowd_Sub3": 1, + "FSV_StageStep": 3, + "FSV_HideFIsh": 1, + "FSV_SkyChange": 1, + "FSV_UnlockFlute2057101": 1, + "FSV_ChangePhoto": 1, + "FSV_Coaster01": 2, + "FSV_Coaster02": 2, + "FSV_Coaster03": 2, + "FSV_Coaster": 1, + "FSV_CarouselOpen": 1, + "FSV_FDMain03Unlock": 1, + "FSV_FDFerrisWheel": 1 + } } }, "20572001": { @@ -1033,462 +4624,370 @@ "groups": { "1": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "2": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "3": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "4": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "5": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "6": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "7": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "9": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "10": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "11": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "12": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "13": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "14": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "15": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "16": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "17": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "18": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "20": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "21": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "22": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "23": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "24": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "25": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "26": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "27": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "28": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "29": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "30": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "31": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "32": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "33": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "34": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "35": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "36": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "37": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "38": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "39": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "40": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "41": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "42": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "43": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "44": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "45": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "46": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "47": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "48": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "49": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "50": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "51": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "52": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "53": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "54": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "55": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "56": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "57": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "58": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "59": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "60": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "61": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "62": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "63": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "64": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "65": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "66": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "67": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "68": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "69": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "70": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "71": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "72": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "73": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "74": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "75": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "76": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "77": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "78": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "79": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "84": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "85": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "87": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "88": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "89": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "90": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "91": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "92": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "93": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "94": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "98": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": true }, "99": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "100": { "load_side": "Client", - "is_hoyo_group": true, "is_deleted": false }, "101": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false }, "102": { "load_side": "Server", - "is_hoyo_group": true, "is_deleted": false } }, @@ -1505,7 +5004,1954 @@ "z": 0 }, "ID": 1 - } + }, + "props": { + "5": [ + { + "groupId": 5, + "instId": 300001, + "propId": 100, + "propState": 0, + "pos": { + "x": 22334, + "y": 29240, + "z": -146462 + }, + "rot": { + "x": 0, + "y": 340000, + "z": 0 + } + }, + { + "groupId": 5, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": 0, + "y": 0, + "z": 0 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "6": [ + { + "groupId": 6, + "instId": 300011, + "propId": 138, + "propState": 0, + "pos": { + "x": 92995, + "y": -7932, + "z": -40884 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 6, + "instId": 300012, + "propId": 138, + "propState": 0, + "pos": { + "x": 67531, + "y": -7935, + "z": 43646 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 6, + "instId": 300002, + "propId": 105142, + "propState": 18, + "pos": { + "x": 29974, + "y": 3432, + "z": -136387 + }, + "rot": { + "x": 0, + "y": 220000, + "z": 0 + } + } + ], + "7": [ + { + "groupId": 7, + "instId": 300008, + "propId": 105006, + "propState": 1, + "pos": { + "x": -7134, + "y": 8824, + "z": -84539 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 7, + "instId": 300011, + "propId": 138, + "propState": 0, + "pos": { + "x": 92995, + "y": -7932, + "z": -40884 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 7, + "instId": 300012, + "propId": 138, + "propState": 0, + "pos": { + "x": 67531, + "y": -7935, + "z": 43646 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 7, + "instId": 300001, + "propId": 105032, + "propState": 1, + "pos": { + "x": 5560, + "y": 8818, + "z": -82112 + }, + "rot": { + "x": 0, + "y": 45463, + "z": 0 + } + }, + { + "groupId": 7, + "instId": 300002, + "propId": 105142, + "propState": 18, + "pos": { + "x": -7134, + "y": 8824, + "z": -84539 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "9": [ + { + "groupId": 9, + "instId": 300001, + "propId": 105032, + "propState": 2, + "pos": { + "x": -17110, + "y": 4910, + "z": -239401 + }, + "rot": { + "x": 0, + "y": 66935, + "z": 0 + } + }, + { + "groupId": 9, + "instId": 300003, + "propId": 138, + "propState": 0, + "pos": { + "x": -213403, + "y": 64616, + "z": -105157 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 9, + "instId": 300004, + "propId": 105324, + "propState": 0, + "pos": { + "x": 6200, + "y": 6810, + "z": -237500 + }, + "rot": { + "x": 0, + "y": 1631, + "z": 0 + } + }, + { + "groupId": 9, + "instId": 300005, + "propId": 100, + "propState": 0, + "pos": { + "x": -74974, + "y": 10373, + "z": -247110 + }, + "rot": { + "x": 0, + "y": 130000, + "z": 0 + } + }, + { + "groupId": 9, + "instId": 300006, + "propId": 100, + "propState": 0, + "pos": { + "x": -18943, + "y": 3360, + "z": -239844 + }, + "rot": { + "x": 0, + "y": 48916, + "z": 0 + } + }, + { + "groupId": 9, + "instId": 300007, + "propId": 100, + "propState": 0, + "pos": { + "x": -410300, + "y": 7800, + "z": -231300 + }, + "rot": { + "x": 0, + "y": 306017, + "z": 0 + } + }, + { + "groupId": 9, + "instId": 300008, + "propId": 138, + "propState": 0, + "pos": { + "x": -16499, + "y": 4471, + "z": -240105 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "10": [ + { + "groupId": 10, + "instId": 300001, + "propId": 105053, + "propState": 0, + "pos": { + "x": -10950, + "y": 8858, + "z": -70983 + }, + "rot": { + "x": 0, + "y": 135352, + "z": 0 + } + }, + { + "groupId": 10, + "instId": 300002, + "propId": 105054, + "propState": 2, + "pos": { + "x": -9239, + "y": 9216, + "z": -70641 + }, + "rot": { + "x": 0, + "y": 170487, + "z": 0 + } + }, + { + "groupId": 10, + "instId": 300003, + "propId": 105054, + "propState": 2, + "pos": { + "x": -11189, + "y": 9331, + "z": -72635 + }, + "rot": { + "x": 0, + "y": 108084, + "z": 0 + } + }, + { + "groupId": 10, + "instId": 300004, + "propId": 105067, + "propState": 12, + "pos": { + "x": -6575, + "y": 8798, + "z": -69688 + }, + "rot": { + "x": 0, + "y": 180000, + "z": 0 + } + } + ], + "14": [ + { + "groupId": 14, + "instId": 300001, + "propId": 105322, + "propState": 0, + "pos": { + "x": 752, + "y": 3589, + "z": -59415 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 14, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": 752, + "y": 3589, + "z": -59415 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "17": [ + { + "groupId": 17, + "instId": 300001, + "propId": 101, + "propState": 8, + "pos": { + "x": 39931, + "y": 2893, + "z": -167807 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "18": [ + { + "groupId": 18, + "instId": 300001, + "propId": 101, + "propState": 8, + "pos": { + "x": 7232, + "y": 2580, + "z": -66711 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "56": [], + "67": [ + { + "groupId": 67, + "instId": 300001, + "propId": 138, + "propState": 0, + "pos": { + "x": 38000, + "y": 4076, + "z": -89627 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "68": [ + { + "groupId": 68, + "instId": 300001, + "propId": 105142, + "propState": 18, + "pos": { + "x": 29974, + "y": 3432, + "z": -136387 + }, + "rot": { + "x": 0, + "y": 220000, + "z": 0 + } + } + ], + "69": [ + { + "groupId": 69, + "instId": 300001, + "propId": 60501, + "propState": 12, + "pos": { + "x": 42318, + "y": 2578, + "z": -214288 + }, + "rot": { + "x": 0, + "y": 207153, + "z": 0 + } + }, + { + "groupId": 69, + "instId": 300002, + "propId": 60501, + "propState": 12, + "pos": { + "x": 45191, + "y": 2892, + "z": -173459 + }, + "rot": { + "x": 0, + "y": 224604, + "z": 0 + } + }, + { + "groupId": 69, + "instId": 300003, + "propId": 60501, + "propState": 12, + "pos": { + "x": 39816, + "y": 2893, + "z": -138109 + }, + "rot": { + "x": 0, + "y": 38453, + "z": 0 + } + }, + { + "groupId": 69, + "instId": 300004, + "propId": 60501, + "propState": 12, + "pos": { + "x": 7903, + "y": 3420, + "z": -148476 + }, + "rot": { + "x": 0, + "y": 100333, + "z": 0 + } + }, + { + "groupId": 69, + "instId": 300005, + "propId": 60501, + "propState": 12, + "pos": { + "x": -10, + "y": 3524, + "z": -131100 + }, + "rot": { + "x": 0, + "y": 120436, + "z": 0 + } + } + ], + "70": [ + { + "groupId": 70, + "instId": 300001, + "propId": 60501, + "propState": 12, + "pos": { + "x": -5792, + "y": 2638, + "z": -51136 + }, + "rot": { + "x": 0, + "y": 217170, + "z": 0 + } + }, + { + "groupId": 70, + "instId": 300002, + "propId": 60501, + "propState": 12, + "pos": { + "x": 6630, + "y": 8798, + "z": -71443 + }, + "rot": { + "x": 0, + "y": 143179, + "z": 0 + } + }, + { + "groupId": 70, + "instId": 300003, + "propId": 60501, + "propState": 12, + "pos": { + "x": -15585, + "y": 8798, + "z": -82700 + }, + "rot": { + "x": 0, + "y": 1105, + "z": 0 + } + } + ], + "71": [ + { + "groupId": 71, + "instId": 300001, + "propId": 105067, + "propState": 12, + "pos": { + "x": 54644, + "y": 2612, + "z": -208454 + }, + "rot": { + "x": 0, + "y": 269410, + "z": 0 + } + } + ], + "72": [ + { + "groupId": 72, + "instId": 300001, + "propId": 105067, + "propState": 12, + "pos": { + "x": 22336, + "y": 2891, + "z": -185942 + }, + "rot": { + "x": 0, + "y": 69569, + "z": 0 + } + } + ], + "73": [ + { + "groupId": 73, + "instId": 300001, + "propId": 105067, + "propState": 12, + "pos": { + "x": 16203, + "y": 8798, + "z": -82456 + }, + "rot": { + "x": 0, + "y": 2637, + "z": 0 + } + } + ], + "74": [ + { + "groupId": 74, + "instId": 300001, + "propId": 105007, + "propState": 1, + "pos": { + "x": 47153, + "y": 2889, + "z": -179518 + }, + "rot": { + "x": 0, + "y": 298358, + "z": 0 + } + }, + { + "groupId": 74, + "instId": 300003, + "propId": 103121, + "propState": 0, + "pos": { + "x": 47153, + "y": 2889, + "z": -179518 + }, + "rot": { + "x": 0, + "y": 298358, + "z": 0 + } + } + ], + "75": [ + { + "groupId": 75, + "instId": 300001, + "propId": 105012, + "propState": 0, + "pos": { + "x": 18044, + "y": 2923, + "z": -170489 + }, + "rot": { + "x": 0, + "y": 10872, + "z": 0 + } + }, + { + "groupId": 75, + "instId": 300002, + "propId": 105011, + "propState": 0, + "pos": { + "x": 41110, + "y": 2923, + "z": -162159 + }, + "rot": { + "x": 0, + "y": 321273, + "z": 0 + } + }, + { + "groupId": 75, + "instId": 300003, + "propId": 105012, + "propState": 0, + "pos": { + "x": 22923, + "y": 3156, + "z": -122027 + }, + "rot": { + "x": 0, + "y": 187234, + "z": 0 + } + }, + { + "groupId": 75, + "instId": 300014, + "propId": 105011, + "propState": 0, + "pos": { + "x": -1837, + "y": 2923, + "z": -142247 + }, + "rot": { + "x": 0, + "y": 110073, + "z": 0 + } + }, + { + "groupId": 75, + "instId": 300015, + "propId": 105013, + "propState": 0, + "pos": { + "x": 40896, + "y": 2568, + "z": -186484 + }, + "rot": { + "x": 0, + "y": 293951, + "z": 0 + } + }, + { + "groupId": 75, + "instId": 300004, + "propId": 105013, + "propState": 0, + "pos": { + "x": 34157, + "y": 2574, + "z": -208579 + }, + "rot": { + "x": 0, + "y": 74839, + "z": 0 + } + }, + { + "groupId": 75, + "instId": 300005, + "propId": 105013, + "propState": 0, + "pos": { + "x": 54210, + "y": 2574, + "z": -202072 + }, + "rot": { + "x": 0, + "y": 219011, + "z": 0 + } + }, + { + "groupId": 75, + "instId": 300011, + "propId": 105013, + "propState": 0, + "pos": { + "x": 46748, + "y": 2923, + "z": -144273 + }, + "rot": { + "x": 0, + "y": 267296, + "z": 0 + } + }, + { + "groupId": 75, + "instId": 300006, + "propId": 105013, + "propState": 0, + "pos": { + "x": 2271, + "y": 2923, + "z": -160639 + }, + "rot": { + "x": 0, + "y": 52217, + "z": 0 + } + }, + { + "groupId": 75, + "instId": 300007, + "propId": 105013, + "propState": 0, + "pos": { + "x": 37869, + "y": 2897, + "z": -127800 + }, + "rot": { + "x": 0, + "y": 220855, + "z": 0 + } + } + ], + "76": [ + { + "groupId": 76, + "instId": 300004, + "propId": 105013, + "propState": 0, + "pos": { + "x": 7387, + "y": 2587, + "z": -52764 + }, + "rot": { + "x": 0, + "y": 337366, + "z": 0 + } + }, + { + "groupId": 76, + "instId": 300005, + "propId": 105013, + "propState": 0, + "pos": { + "x": 5083, + "y": 8798, + "z": -78391 + }, + "rot": { + "x": 0, + "y": 289085, + "z": 0 + } + }, + { + "groupId": 76, + "instId": 300001, + "propId": 105013, + "propState": 0, + "pos": { + "x": -5700, + "y": 8800, + "z": -69060 + }, + "rot": { + "x": 0, + "y": 43631, + "z": 0 + } + } + ], + "77": [ + { + "groupId": 77, + "instId": 300001, + "propId": 100, + "propState": 0, + "pos": { + "x": -20718, + "y": 8798, + "z": -79509 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + } + ], + "79": [ + { + "groupId": 79, + "instId": 300001, + "propId": 101028, + "propState": 18, + "pos": { + "x": 40530, + "y": 2975, + "z": -210706 + }, + "rot": { + "x": 0, + "y": 62012, + "z": 0 + } + } + ], + "85": [ + { + "groupId": 85, + "instId": 300002, + "propId": 101030, + "propState": 18, + "pos": { + "x": 2759, + "y": 3600, + "z": -58072 + }, + "rot": { + "x": 0, + "y": 35765, + "z": 0 + } + }, + { + "groupId": 85, + "instId": 300009, + "propId": 101030, + "propState": 18, + "pos": { + "x": 12337, + "y": 9558, + "z": -82284 + }, + "rot": { + "x": 0, + "y": 170091, + "z": 0 + } + } + ], + "88": [ + { + "groupId": 88, + "instId": 300004, + "propId": 100, + "propState": 0, + "pos": { + "x": 22382, + "y": 3450, + "z": -146551 + }, + "rot": { + "x": 0, + "y": 160000, + "z": 0 + } + }, + { + "groupId": 88, + "instId": 300005, + "propId": 100, + "propState": 0, + "pos": { + "x": 22382, + "y": 3450, + "z": -146551 + }, + "rot": { + "x": 0, + "y": 160000, + "z": 0 + } + }, + { + "groupId": 88, + "instId": 300007, + "propId": 138, + "propState": 0, + "pos": { + "x": 22382, + "y": 3450, + "z": -146551 + }, + "rot": { + "x": 0, + "y": 160000, + "z": 0 + } + }, + { + "groupId": 88, + "instId": 300008, + "propId": 138, + "propState": 0, + "pos": { + "x": 22382, + "y": 3450, + "z": -146551 + }, + "rot": { + "x": 0, + "y": 160000, + "z": 0 + } + } + ], + "89": [ + { + "groupId": 89, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": -8212, + "y": 4152, + "z": -53602 + }, + "rot": { + "x": 0, + "y": 40927, + "z": 0 + } + }, + { + "groupId": 89, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": -8212, + "y": 4152, + "z": -53602 + }, + "rot": { + "x": 0, + "y": 40927, + "z": 0 + } + }, + { + "groupId": 89, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": -8181, + "y": 4450, + "z": -53567 + }, + "rot": { + "x": 0, + "y": 40927, + "z": 0 + } + } + ], + "90": [ + { + "groupId": 90, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": 7188, + "y": 4018, + "z": -68374 + }, + "rot": { + "x": 0, + "y": 332361, + "z": 0 + } + }, + { + "groupId": 90, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": 7188, + "y": 4018, + "z": -68374 + }, + "rot": { + "x": 0, + "y": 332361, + "z": 0 + } + }, + { + "groupId": 90, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": 7111, + "y": 3877, + "z": -68226 + }, + "rot": { + "x": 0, + "y": 332361, + "z": 0 + } + } + ], + "91": [ + { + "groupId": 91, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": 49283, + "y": 4692, + "z": -142127 + }, + "rot": { + "x": 0, + "y": 261083, + "z": 0 + } + }, + { + "groupId": 91, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": 49283, + "y": 4692, + "z": -142127 + }, + "rot": { + "x": 0, + "y": 261083, + "z": 0 + } + }, + { + "groupId": 91, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": 49283, + "y": 4692, + "z": -142127 + }, + "rot": { + "x": 0, + "y": 261083, + "z": 0 + } + } + ], + "92": [ + { + "groupId": 92, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": 55435, + "y": 4345, + "z": -216831 + }, + "rot": { + "x": 0, + "y": 311371, + "z": 0 + } + }, + { + "groupId": 92, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": 55435, + "y": 4345, + "z": -216831 + }, + "rot": { + "x": 0, + "y": 311371, + "z": 0 + } + }, + { + "groupId": 92, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": 55496, + "y": 4638, + "z": -216885 + }, + "rot": { + "x": 0, + "y": 311371, + "z": 0 + } + } + ], + "93": [ + { + "groupId": 93, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": 4833, + "y": 5189, + "z": -151660 + }, + "rot": { + "x": 0, + "y": 291731, + "z": 0 + } + }, + { + "groupId": 93, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": 4833, + "y": 5189, + "z": -151660 + }, + "rot": { + "x": 0, + "y": 291731, + "z": 0 + } + }, + { + "groupId": 93, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": 4787, + "y": 5169, + "z": -151642 + }, + "rot": { + "x": 0, + "y": 291731, + "z": 0 + } + } + ], + "94": [ + { + "groupId": 94, + "instId": 300001, + "propId": 105057, + "propState": 18, + "pos": { + "x": -3538, + "y": 9295, + "z": -150019 + }, + "rot": { + "x": 0, + "y": 90000, + "z": 0 + } + }, + { + "groupId": 94, + "instId": 300002, + "propId": 105177, + "propState": 1, + "pos": { + "x": -3538, + "y": 9295, + "z": -150019 + }, + "rot": { + "x": 0, + "y": 90000, + "z": 0 + } + }, + { + "groupId": 94, + "instId": 300003, + "propId": 100, + "propState": 0, + "pos": { + "x": -3397, + "y": 9280, + "z": -150020 + }, + "rot": { + "x": 0, + "y": 90000, + "z": 0 + } + } + ], + "99": [ + { + "groupId": 99, + "instId": 300001, + "propId": 105032, + "propState": 1, + "pos": { + "x": 45640, + "y": 2598, + "z": -208110 + }, + "rot": { + "x": 0, + "y": 15771, + "z": 0 + } + } + ], + "101": [ + { + "groupId": 101, + "instId": 300011, + "propId": 138, + "propState": 0, + "pos": { + "x": 92995, + "y": -7932, + "z": -40884 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 101, + "instId": 300012, + "propId": 138, + "propState": 0, + "pos": { + "x": 67531, + "y": -7935, + "z": 43646 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "groupId": 101, + "instId": 300002, + "propId": 105142, + "propState": 18, + "pos": { + "x": 29974, + "y": 3432, + "z": -136387 + }, + "rot": { + "x": 0, + "y": 220000, + "z": 0 + } + } + ], + "102": [ + { + "groupId": 102, + "instId": 300001, + "propId": 60502, + "propState": 11, + "pos": { + "x": 47650, + "y": 2612, + "z": -221039 + }, + "rot": { + "x": 0, + "y": 350423, + "z": 0 + } + } + ] + }, + "saved_values": { + "FSV_StageState_01": 0, + "FSV_Area01Light_State": 0, + "FSV_MusicLevelFinished": 0, + "FSV_CrystalBallCanUse": 0, + "FSV_XuNpcEnable_01": 0, + "FSV_UnlockFlute2057201": 0, + "FSV_SubStateByMission470": 0, + "FSV_MusicLevelState": 0, + "FSV_FD01": 0, + "FSV_FD02": 0, + "FSV_FD03": 0, + "FSV_FD04": 0 + }, + "group_properties": { + "6": { + "LG_110002__131_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__132_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__140_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110002__141_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__139_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + } + }, + "7": { + "LG_110002_MascotFinish": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 4 + }, + "LG_110002_LimaoPuzzleUIActive": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002_LimaoPuzzleFinish": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__177_BombTriggerState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__179_PressureSwitchState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__182_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110002__183_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110002_TrainStation1TipSpawned": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002_TrainStation2TipSpawned": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002_TrainStation3TipSpawned": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002_TrainStation4TipSpawned": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__334_LeverSwitchState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002_TrainWineWindowCompleted": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "9": { + "LG_110001_Score": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 500 + }, + "LG_110001_MusicLevelFinished": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001_MusicLevelFinished02": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "10": { + "MIssionPerformance": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__3_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110005_StateLevel01": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110005_StateLevel02": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001__34_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__35_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__36_AnimalFinishPoint_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__1_ChestStateM_Auto": { + "DefaultValue": 3, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001__2_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001__3_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110002__34_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__35_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__36_AnimalFinishPoint_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__1_ChestStateM_Auto": { + "DefaultValue": 3, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110002__2_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001__4_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110003_TeleportAnchorSaved": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 2 + }, + "LG_110003_Save2DUpgrade": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 2 + }, + "LG_110003_IN4D": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110003__1_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110003__7_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110003__16_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110004__1_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110006__5_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110006__6_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110004_TeleportAnchorSaved": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 2 + }, + "LG_110004_Save2DUpgrade": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 2 + }, + "LG_110004_IN4D": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110004__7_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110004__16_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110004__3_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110006__18_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110006__1_ChestStateM_Auto": { + "DefaultValue": 3, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110006__2_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110006__3_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110006__8_AnimalFinishPoint_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110004__7_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110006__63_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "14": { + "CrystalBall_State_GP": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "56": { + "ChangeStageState": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "68": { + "LG_110002__89_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__90_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__170_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110002__175_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110002__169_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "71": { + "LG_110001__1_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + } + }, + "72": { + "LG_110001__1_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + } + }, + "73": { + "LG_110001__1_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + } + }, + "88": { + "PuzzleState": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 3 + } + }, + "99": { + "LG_110001__43_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__45_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__46_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__47_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__48_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__49_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__50_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__51_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__52_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__53_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__55_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__56_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__57_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__44_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__2_IsAnimalSaved_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__54_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110001__5_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__14_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__17_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__37_BombTriggerState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110001__57_LeverSwitchState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + } + }, + "101": { + "LG_110002__34_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__35_PortalState_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__179_PortalState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__180_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + }, + "LG_110002__181_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__182_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__183_FragilePlatState_Auto": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "LG_110002__186_ChestStateS_Auto": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 3 + } + } + }, + "dimension_id": 0 }, "30140003": { "plane_id": 30140, @@ -5386,6 +10832,1736 @@ }, "ID": 1 } + }, + "10000003": { + "plane_id": 10000, + "group_count": 202, + "groups": { + "2": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "3": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "16": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "17": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "22": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "24": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "25": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "27": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "28": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "31": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "39": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "44": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "45": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "46": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "47": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "48": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "49": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "50": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "52": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "53": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "54": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "55": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "56": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "57": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "58": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "59": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "60": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "61": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "62": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "63": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "64": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "65": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "66": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "67": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "68": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "69": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "70": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "71": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "72": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "73": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "74": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "75": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "76": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "77": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "78": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "79": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "80": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "81": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "82": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "83": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "84": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "85": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "86": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "87": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "88": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "89": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "91": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "92": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "93": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "94": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "95": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "96": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "97": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "98": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "99": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "100": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "101": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "102": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "103": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "104": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "105": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "106": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "107": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "108": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "113": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "114": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "115": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "116": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "117": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "118": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "119": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "120": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "121": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "122": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": true + }, + "123": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "124": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "125": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "126": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "127": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "128": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "134": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "135": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "136": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "137": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "138": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "139": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "141": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "142": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "143": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "144": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "145": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "146": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "147": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "148": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "149": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "150": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "151": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "152": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "153": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "154": { + "load_side": "Client", + "is_hoyo_group": false, + "is_deleted": false + }, + "156": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "157": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "158": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "159": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "160": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "161": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "164": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "165": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "166": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "167": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "168": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "169": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "170": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "171": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "172": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "173": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "174": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "175": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "176": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "177": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "178": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "179": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "180": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "181": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "184": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "185": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "190": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "191": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "192": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "193": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "194": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "195": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "196": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "198": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "199": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "200": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "201": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": true + }, + "212": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "213": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "214": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "215": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "216": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "217": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "218": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "219": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "220": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "221": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "222": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "223": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "224": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "225": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "226": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "227": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "229": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "231": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "232": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "233": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "234": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "235": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "236": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "237": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "238": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "239": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "240": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "241": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "242": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "243": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "244": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "245": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "246": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "247": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "248": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "249": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "250": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "251": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "252": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "253": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "254": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "255": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "256": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "257": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "258": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "260": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "261": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "262": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "263": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "264": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "265": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "266": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "267": { + "load_side": "Client", + "is_hoyo_group": true, + "is_deleted": false + }, + "269": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + }, + "270": { + "load_side": "Server", + "is_hoyo_group": true, + "is_deleted": false + } + }, + "props": { + "27": [ + { + "pos": { + "x": -4785, + "y": 0, + "z": -14920 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "groupId": 27, + "instId": 300001, + "propState": 0, + "propId": 100 + } + ], + "31": [ + { + "pos": { + "x": -5449, + "y": -15289, + "z": -12 + }, + "rot": { + "x": 0, + "y": 180000, + "z": 0 + }, + "groupId": 31, + "instId": 300001, + "propState": 0, + "propId": 110 + } + ], + "76": [ + { + "pos": { + "x": 8186, + "y": 10, + "z": 5513 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "groupId": 76, + "instId": 300001, + "propState": 0, + "propId": 100 + }, + { + "pos": { + "x": 9390, + "y": 2548, + "z": 5431 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "groupId": 76, + "instId": 300002, + "propState": 0, + "propId": 138 + } + ], + "102": [ + { + "pos": { + "x": -5027, + "y": 1131, + "z": -14839 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "groupId": 102, + "instId": 300001, + "propState": 0, + "propId": 100 + } + ], + "151": [ + { + "pos": { + "x": 6371, + "y": 833, + "z": 2207 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "groupId": 151, + "instId": 300001, + "propState": 0, + "propId": 100 + } + ], + "160": [ + { + "pos": { + "x": 6363, + "y": 760, + "z": 2256 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "groupId": 160, + "instId": 300002, + "propState": 0, + "propId": 120 + } + ], + "184": [ + { + "pos": { + "x": -925, + "y": -14100, + "z": 11379 + }, + "rot": { + "x": 0, + "y": 331029, + "z": 0 + }, + "groupId": 184, + "instId": 300001, + "propState": 18, + "propId": 100020 + } + ], + "192": [ + { + "pos": { + "x": -1720, + "y": -15000, + "z": -24080 + }, + "rot": { + "x": 0, + "y": 50640, + "z": 0 + }, + "groupId": 192, + "instId": 300001, + "propState": 0, + "propId": 933 + } + ], + "198": [ + { + "pos": { + "x": 7305, + "y": 240, + "z": -662 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "groupId": 198, + "instId": 300001, + "propState": 0, + "propId": 102195 + } + ], + "212": [ + { + "pos": { + "x": -8916, + "y": 1827, + "z": -10784 + }, + "rot": { + "x": 0, + "y": 90736, + "z": 0 + }, + "groupId": 212, + "instId": 300001, + "propState": 0, + "propId": 139 + } + ], + "240": [ + { + "pos": { + "x": 1799, + "y": -15000, + "z": 23096 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "groupId": 240, + "instId": 300001, + "propState": 0, + "propId": 945 + } + ], + "251": [ + { + "pos": { + "x": -5393, + "y": -15000, + "z": 12307 + }, + "rot": { + "x": 0, + "y": 180000, + "z": 0 + }, + "groupId": 251, + "instId": 300001, + "propState": 0, + "propId": 110 + } + ], + "262": [ + { + "pos": { + "x": 2587, + "y": -14100, + "z": -10041 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "groupId": 262, + "instId": 300006, + "propState": 18, + "propId": 105023 + } + ], + "269": [ + { + "pos": { + "x": 4948, + "y": 726, + "z": 4039 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "groupId": 269, + "instId": 300001, + "propState": 0, + "propId": 105322 + } + ], + "270": [ + { + "pos": { + "x": 4948, + "y": 726, + "z": 4039 + }, + "rot": { + "x": 0, + "y": 0, + "z": 0 + }, + "groupId": 270, + "instId": 300001, + "propState": 0, + "propId": 105322 + } + ] + }, + "monsters": {}, + "floor_default_anchor": { + "pos": { + "x": -5449, + "y": -15289, + "z": -12 + }, + "rot": { + "x": 0, + "y": 180000, + "z": 0 + }, + "ID": 1 + }, + "saved_values": { + "Onboarded": 0, + "Utility_IsDebug": 0, + "Utility_IsLightOff": 0, + "Build_HasBed": 0, + "Build_HasArcade": 0, + "Build_HasBathtub": 0, + "Connection_MuteStairs": 1, + "Build_ExRoom_Finished": 0, + "Build_TeaRoom_Finished": 0, + "Build_Foyer_Finished": 0, + "Build_GameRoom_Finished": 0, + "Build_Bedroom_Finished": 0, + "Build_Bathroom_Finished": 0, + "Build_HasBathroomFloor": 0, + "Progress_PartyTrainGlobal": 0, + "Progress_Bathroom": 0, + "Progress_Bedroom": 0, + "Progress_Foyer": 0, + "Progress_Tearoom": 0, + "Progress_Gameroom": 0, + "Progress_ExhibitRoom": 0, + "Build_HasShower": 0, + "Build_HasMirror": 0, + "Build_HasScreen": 0, + "Build_HasWeaponRack": 0, + "Build_HasSouvenir": 0, + "Build_HasShoeCabinet": 0, + "Build_HasRefrigerator": 0, + "Build_HasBeverageMachine": 0, + "Build_HasTearoomTable": 0, + "Build_HasDecoCabinet": 0, + "Build_LightSwitch": 0, + "FSV_AnniversaryCase": 0, + "FSV_NewRoomEntry": 0 + }, + "saved_value_rules": { + "Onboarded": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Utility_IsDebug": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Utility_IsLightOff": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_HasBed": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_HasArcade": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_HasBathtub": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Connection_MuteStairs": { + "DefaultValue": 1, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_ExRoom_Finished": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_TeaRoom_Finished": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_Foyer_Finished": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_GameRoom_Finished": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_Bedroom_Finished": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_Bathroom_Finished": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_HasBathroomFloor": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Progress_PartyTrainGlobal": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 100 + }, + "Progress_Bathroom": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 100 + }, + "Progress_Bedroom": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 100 + }, + "Progress_Foyer": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 100 + }, + "Progress_Tearoom": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 100 + }, + "Progress_Gameroom": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 100 + }, + "Progress_ExhibitRoom": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 100 + }, + "Build_HasShower": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_HasMirror": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_HasScreen": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_HasWeaponRack": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_HasSouvenir": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_HasShoeCabinet": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_HasRefrigerator": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_HasBeverageMachine": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_HasTearoomTable": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_HasDecoCabinet": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "Build_LightSwitch": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + }, + "FSV_AnniversaryCase": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 5 + }, + "FSV_NewRoomEntry": { + "DefaultValue": 0, + "MinValue": 0, + "MaxValue": 1 + } + }, + "dimension_id": 0, + "dimension_groups": { + "0": [ + 2, + 3, + 16, + 17, + 24, + 25, + 27, + 28, + 31, + 39, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 134, + 135, + 136, + 137, + 138, + 139, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 156, + 157, + 158, + 159, + 160, + 161, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 184, + 185, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 198, + 199, + 200, + 201, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 229, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 252, + 253, + 254, + 255, + 256, + 257, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 269, + 270 + ] + } } } } diff --git a/resources/TechniqueRules.json b/resources/TechniqueRules.json index fa0a395..9b54418 100644 --- a/resources/TechniqueRules.json +++ b/resources/TechniqueRules.json @@ -13,7 +13,13 @@ "Item", "ItemUseBuffData" ], - "assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144" + "assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "non_attack_client_additions": { + "1415": { + "capture_sha256": "30eb8dde6e27e2d575358ef79682f761656274987accb9b5c5fe23d7c278483b", + "source": "LocalPlayer_Cyrene_00_Config.json, MazeSkill: TargetType Self (1), CanCastWithoutTarget=true, SubmitSkillWhenCast=false" + } + } }, "client_version": "4.6.53", "base_max_mp": 5, @@ -36,7 +42,8 @@ 1305, 1302, 1217, - 1108 + 1108, + 1415 ], "foods": { "400006": { diff --git a/resources/WorldBattleConfig.json b/resources/WorldBattleConfig.json new file mode 100644 index 0000000..0a85e0c --- /dev/null +++ b/resources/WorldBattleConfig.json @@ -0,0 +1,73919 @@ +{ + "source": { + "client_tables": [ + "PlaneEvent", + "NPCMonsterData", + "Cocoon" + ], + "assembly_sha256": "c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144", + "instant_defeat": "PearlSR 005d2c12 gameserver/src/data.zig SkipBattle; NPCMonsterData.Rank and MonsterRank enum Minion=1, MinionLv2=2 verified in Client", + "cocoon_types": "CocoonType values copied from Client CocoonExcelTable rows in battle_diagnostics/world-battle-client-capture.log (Client 4.6.53): 1 Calyx, 2 Stagnant Shadow, 3 Cavern of Corrosion. FreeSR custom battles are limited to type 1." + }, + "client_version": "4.6.53", + "world_level": 6, + "events": [ + { + "EventID": 101201, + "WorldLevel": 0, + "StageID": 1012010 + }, + { + "EventID": 101201, + "WorldLevel": 1, + "StageID": 1012011 + }, + { + "EventID": 101201, + "WorldLevel": 2, + "StageID": 1012012 + }, + { + "EventID": 101201, + "WorldLevel": 3, + "StageID": 1012013 + }, + { + "EventID": 101201, + "WorldLevel": 4, + "StageID": 1012014 + }, + { + "EventID": 101201, + "WorldLevel": 5, + "StageID": 1012015 + }, + { + "EventID": 101201, + "WorldLevel": 6, + "StageID": 1012016 + }, + { + "EventID": 101202, + "WorldLevel": 0, + "StageID": 1012020 + }, + { + "EventID": 101202, + "WorldLevel": 1, + "StageID": 1012021 + }, + { + "EventID": 101202, + "WorldLevel": 2, + "StageID": 1012022 + }, + { + "EventID": 101202, + "WorldLevel": 3, + "StageID": 1012023 + }, + { + "EventID": 101202, + "WorldLevel": 4, + "StageID": 1012024 + }, + { + "EventID": 101202, + "WorldLevel": 5, + "StageID": 1012025 + }, + { + "EventID": 101202, + "WorldLevel": 6, + "StageID": 1012026 + }, + { + "EventID": 101203, + "WorldLevel": 0, + "StageID": 1012030 + }, + { + "EventID": 101203, + "WorldLevel": 1, + "StageID": 1012031 + }, + { + "EventID": 101203, + "WorldLevel": 2, + "StageID": 1012032 + }, + { + "EventID": 101203, + "WorldLevel": 3, + "StageID": 1012033 + }, + { + "EventID": 101203, + "WorldLevel": 4, + "StageID": 1012034 + }, + { + "EventID": 101203, + "WorldLevel": 5, + "StageID": 1012035 + }, + { + "EventID": 101203, + "WorldLevel": 6, + "StageID": 1012036 + }, + { + "EventID": 101204, + "WorldLevel": 0, + "StageID": 1012040 + }, + { + "EventID": 101204, + "WorldLevel": 1, + "StageID": 1012041 + }, + { + "EventID": 101204, + "WorldLevel": 2, + "StageID": 1012042 + }, + { + "EventID": 101204, + "WorldLevel": 3, + "StageID": 1012043 + }, + { + "EventID": 101204, + "WorldLevel": 4, + "StageID": 1012044 + }, + { + "EventID": 101204, + "WorldLevel": 5, + "StageID": 1012045 + }, + { + "EventID": 101204, + "WorldLevel": 6, + "StageID": 1012046 + }, + { + "EventID": 101205, + "WorldLevel": 0, + "StageID": 1012050 + }, + { + "EventID": 101205, + "WorldLevel": 1, + "StageID": 1012051 + }, + { + "EventID": 101205, + "WorldLevel": 2, + "StageID": 1012052 + }, + { + "EventID": 101205, + "WorldLevel": 3, + "StageID": 1012053 + }, + { + "EventID": 101205, + "WorldLevel": 4, + "StageID": 1012054 + }, + { + "EventID": 101205, + "WorldLevel": 5, + "StageID": 1012055 + }, + { + "EventID": 101205, + "WorldLevel": 6, + "StageID": 1012056 + }, + { + "EventID": 101206, + "WorldLevel": 0, + "StageID": 1012060 + }, + { + "EventID": 101206, + "WorldLevel": 1, + "StageID": 1012061 + }, + { + "EventID": 101206, + "WorldLevel": 2, + "StageID": 1012062 + }, + { + "EventID": 101206, + "WorldLevel": 3, + "StageID": 1012063 + }, + { + "EventID": 101206, + "WorldLevel": 4, + "StageID": 1012064 + }, + { + "EventID": 101206, + "WorldLevel": 5, + "StageID": 1012065 + }, + { + "EventID": 101206, + "WorldLevel": 6, + "StageID": 1012066 + }, + { + "EventID": 101207, + "WorldLevel": 0, + "StageID": 1012070 + }, + { + "EventID": 101207, + "WorldLevel": 1, + "StageID": 1012071 + }, + { + "EventID": 101207, + "WorldLevel": 2, + "StageID": 1012072 + }, + { + "EventID": 101207, + "WorldLevel": 3, + "StageID": 1012073 + }, + { + "EventID": 101207, + "WorldLevel": 4, + "StageID": 1012074 + }, + { + "EventID": 101207, + "WorldLevel": 5, + "StageID": 1012075 + }, + { + "EventID": 101207, + "WorldLevel": 6, + "StageID": 1012076 + }, + { + "EventID": 101208, + "WorldLevel": 0, + "StageID": 1012080 + }, + { + "EventID": 101208, + "WorldLevel": 1, + "StageID": 1012081 + }, + { + "EventID": 101208, + "WorldLevel": 2, + "StageID": 1012082 + }, + { + "EventID": 101208, + "WorldLevel": 3, + "StageID": 1012083 + }, + { + "EventID": 101208, + "WorldLevel": 4, + "StageID": 1012084 + }, + { + "EventID": 101208, + "WorldLevel": 5, + "StageID": 1012085 + }, + { + "EventID": 101208, + "WorldLevel": 6, + "StageID": 1012086 + }, + { + "EventID": 101209, + "WorldLevel": 0, + "StageID": 1012090 + }, + { + "EventID": 101209, + "WorldLevel": 1, + "StageID": 1012091 + }, + { + "EventID": 101209, + "WorldLevel": 2, + "StageID": 1012092 + }, + { + "EventID": 101209, + "WorldLevel": 3, + "StageID": 1012093 + }, + { + "EventID": 101209, + "WorldLevel": 4, + "StageID": 1012094 + }, + { + "EventID": 101209, + "WorldLevel": 5, + "StageID": 1012095 + }, + { + "EventID": 101209, + "WorldLevel": 6, + "StageID": 1012096 + }, + { + "EventID": 101210, + "WorldLevel": 0, + "StageID": 1012100 + }, + { + "EventID": 101210, + "WorldLevel": 1, + "StageID": 1012101 + }, + { + "EventID": 101210, + "WorldLevel": 2, + "StageID": 1012102 + }, + { + "EventID": 101210, + "WorldLevel": 3, + "StageID": 1012103 + }, + { + "EventID": 101210, + "WorldLevel": 4, + "StageID": 1012104 + }, + { + "EventID": 101210, + "WorldLevel": 5, + "StageID": 1012105 + }, + { + "EventID": 101210, + "WorldLevel": 6, + "StageID": 1012106 + }, + { + "EventID": 101211, + "WorldLevel": 0, + "StageID": 1012110 + }, + { + "EventID": 101211, + "WorldLevel": 1, + "StageID": 1012111 + }, + { + "EventID": 101211, + "WorldLevel": 2, + "StageID": 1012112 + }, + { + "EventID": 101211, + "WorldLevel": 3, + "StageID": 1012113 + }, + { + "EventID": 101211, + "WorldLevel": 4, + "StageID": 1012114 + }, + { + "EventID": 101211, + "WorldLevel": 5, + "StageID": 1012115 + }, + { + "EventID": 101211, + "WorldLevel": 6, + "StageID": 1012116 + }, + { + "EventID": 101212, + "WorldLevel": 0, + "StageID": 1012120 + }, + { + "EventID": 101212, + "WorldLevel": 1, + "StageID": 1012121 + }, + { + "EventID": 101212, + "WorldLevel": 2, + "StageID": 1012122 + }, + { + "EventID": 101212, + "WorldLevel": 3, + "StageID": 1012123 + }, + { + "EventID": 101212, + "WorldLevel": 4, + "StageID": 1012124 + }, + { + "EventID": 101212, + "WorldLevel": 5, + "StageID": 1012125 + }, + { + "EventID": 101212, + "WorldLevel": 6, + "StageID": 1012126 + }, + { + "EventID": 101213, + "WorldLevel": 0, + "StageID": 1012130 + }, + { + "EventID": 101213, + "WorldLevel": 1, + "StageID": 1012131 + }, + { + "EventID": 101213, + "WorldLevel": 2, + "StageID": 1012132 + }, + { + "EventID": 101213, + "WorldLevel": 3, + "StageID": 1012133 + }, + { + "EventID": 101213, + "WorldLevel": 4, + "StageID": 1012134 + }, + { + "EventID": 101213, + "WorldLevel": 5, + "StageID": 1012135 + }, + { + "EventID": 101213, + "WorldLevel": 6, + "StageID": 1012136 + }, + { + "EventID": 101214, + "WorldLevel": 0, + "StageID": 1012140 + }, + { + "EventID": 101214, + "WorldLevel": 1, + "StageID": 1012141 + }, + { + "EventID": 101214, + "WorldLevel": 2, + "StageID": 1012142 + }, + { + "EventID": 101214, + "WorldLevel": 3, + "StageID": 1012143 + }, + { + "EventID": 101214, + "WorldLevel": 4, + "StageID": 1012144 + }, + { + "EventID": 101214, + "WorldLevel": 5, + "StageID": 1012145 + }, + { + "EventID": 101214, + "WorldLevel": 6, + "StageID": 1012146 + }, + { + "EventID": 101215, + "WorldLevel": 0, + "StageID": 1012150 + }, + { + "EventID": 101215, + "WorldLevel": 1, + "StageID": 1012151 + }, + { + "EventID": 101215, + "WorldLevel": 2, + "StageID": 1012152 + }, + { + "EventID": 101215, + "WorldLevel": 3, + "StageID": 1012153 + }, + { + "EventID": 101215, + "WorldLevel": 4, + "StageID": 1012154 + }, + { + "EventID": 101215, + "WorldLevel": 5, + "StageID": 1012155 + }, + { + "EventID": 101215, + "WorldLevel": 6, + "StageID": 1012156 + }, + { + "EventID": 101216, + "WorldLevel": 0, + "StageID": 1012160 + }, + { + "EventID": 101216, + "WorldLevel": 1, + "StageID": 1012161 + }, + { + "EventID": 101216, + "WorldLevel": 2, + "StageID": 1012162 + }, + { + "EventID": 101216, + "WorldLevel": 3, + "StageID": 1012163 + }, + { + "EventID": 101216, + "WorldLevel": 4, + "StageID": 1012164 + }, + { + "EventID": 101216, + "WorldLevel": 5, + "StageID": 1012165 + }, + { + "EventID": 101216, + "WorldLevel": 6, + "StageID": 1012166 + }, + { + "EventID": 101217, + "WorldLevel": 0, + "StageID": 1012170 + }, + { + "EventID": 101217, + "WorldLevel": 1, + "StageID": 1012171 + }, + { + "EventID": 101217, + "WorldLevel": 2, + "StageID": 1012172 + }, + { + "EventID": 101217, + "WorldLevel": 3, + "StageID": 1012173 + }, + { + "EventID": 101217, + "WorldLevel": 4, + "StageID": 1012174 + }, + { + "EventID": 101217, + "WorldLevel": 5, + "StageID": 1012175 + }, + { + "EventID": 101217, + "WorldLevel": 6, + "StageID": 1012176 + }, + { + "EventID": 101218, + "WorldLevel": 0, + "StageID": 1012180 + }, + { + "EventID": 101218, + "WorldLevel": 1, + "StageID": 1012181 + }, + { + "EventID": 101218, + "WorldLevel": 2, + "StageID": 1012182 + }, + { + "EventID": 101218, + "WorldLevel": 3, + "StageID": 1012183 + }, + { + "EventID": 101218, + "WorldLevel": 4, + "StageID": 1012184 + }, + { + "EventID": 101218, + "WorldLevel": 5, + "StageID": 1012185 + }, + { + "EventID": 101218, + "WorldLevel": 6, + "StageID": 1012186 + }, + { + "EventID": 101219, + "WorldLevel": 0, + "StageID": 1012190 + }, + { + "EventID": 101219, + "WorldLevel": 1, + "StageID": 1012191 + }, + { + "EventID": 101219, + "WorldLevel": 2, + "StageID": 1012192 + }, + { + "EventID": 101219, + "WorldLevel": 3, + "StageID": 1012193 + }, + { + "EventID": 101219, + "WorldLevel": 4, + "StageID": 1012194 + }, + { + "EventID": 101219, + "WorldLevel": 5, + "StageID": 1012195 + }, + { + "EventID": 101219, + "WorldLevel": 6, + "StageID": 1012196 + }, + { + "EventID": 101220, + "WorldLevel": 0, + "StageID": 1012200 + }, + { + "EventID": 101220, + "WorldLevel": 1, + "StageID": 1012201 + }, + { + "EventID": 101220, + "WorldLevel": 2, + "StageID": 1012202 + }, + { + "EventID": 101220, + "WorldLevel": 3, + "StageID": 1012203 + }, + { + "EventID": 101220, + "WorldLevel": 4, + "StageID": 1012204 + }, + { + "EventID": 101220, + "WorldLevel": 5, + "StageID": 1012205 + }, + { + "EventID": 101220, + "WorldLevel": 6, + "StageID": 1012206 + }, + { + "EventID": 101221, + "WorldLevel": 0, + "StageID": 1012210 + }, + { + "EventID": 101221, + "WorldLevel": 1, + "StageID": 1012211 + }, + { + "EventID": 101221, + "WorldLevel": 2, + "StageID": 1012212 + }, + { + "EventID": 101221, + "WorldLevel": 3, + "StageID": 1012213 + }, + { + "EventID": 101221, + "WorldLevel": 4, + "StageID": 1012214 + }, + { + "EventID": 101221, + "WorldLevel": 5, + "StageID": 1012215 + }, + { + "EventID": 101221, + "WorldLevel": 6, + "StageID": 1012216 + }, + { + "EventID": 101222, + "WorldLevel": 0, + "StageID": 1012220 + }, + { + "EventID": 101222, + "WorldLevel": 1, + "StageID": 1012221 + }, + { + "EventID": 101222, + "WorldLevel": 2, + "StageID": 1012222 + }, + { + "EventID": 101222, + "WorldLevel": 3, + "StageID": 1012223 + }, + { + "EventID": 101222, + "WorldLevel": 4, + "StageID": 1012224 + }, + { + "EventID": 101222, + "WorldLevel": 5, + "StageID": 1012225 + }, + { + "EventID": 101222, + "WorldLevel": 6, + "StageID": 1012226 + }, + { + "EventID": 101223, + "WorldLevel": 0, + "StageID": 1012230 + }, + { + "EventID": 101223, + "WorldLevel": 1, + "StageID": 1012231 + }, + { + "EventID": 101223, + "WorldLevel": 2, + "StageID": 1012232 + }, + { + "EventID": 101223, + "WorldLevel": 3, + "StageID": 1012233 + }, + { + "EventID": 101223, + "WorldLevel": 4, + "StageID": 1012234 + }, + { + "EventID": 101223, + "WorldLevel": 5, + "StageID": 1012235 + }, + { + "EventID": 101223, + "WorldLevel": 6, + "StageID": 1012236 + }, + { + "EventID": 101224, + "WorldLevel": 0, + "StageID": 1012240 + }, + { + "EventID": 101224, + "WorldLevel": 1, + "StageID": 1012241 + }, + { + "EventID": 101224, + "WorldLevel": 2, + "StageID": 1012242 + }, + { + "EventID": 101224, + "WorldLevel": 3, + "StageID": 1012243 + }, + { + "EventID": 101224, + "WorldLevel": 4, + "StageID": 1012244 + }, + { + "EventID": 101224, + "WorldLevel": 5, + "StageID": 1012245 + }, + { + "EventID": 101224, + "WorldLevel": 6, + "StageID": 1012246 + }, + { + "EventID": 101225, + "WorldLevel": 0, + "StageID": 1012250 + }, + { + "EventID": 101225, + "WorldLevel": 1, + "StageID": 1012251 + }, + { + "EventID": 101225, + "WorldLevel": 2, + "StageID": 1012252 + }, + { + "EventID": 101225, + "WorldLevel": 3, + "StageID": 1012253 + }, + { + "EventID": 101225, + "WorldLevel": 4, + "StageID": 1012254 + }, + { + "EventID": 101225, + "WorldLevel": 5, + "StageID": 1012255 + }, + { + "EventID": 101225, + "WorldLevel": 6, + "StageID": 1012256 + }, + { + "EventID": 101226, + "WorldLevel": 0, + "StageID": 1012260 + }, + { + "EventID": 101226, + "WorldLevel": 1, + "StageID": 1012261 + }, + { + "EventID": 101226, + "WorldLevel": 2, + "StageID": 1012262 + }, + { + "EventID": 101226, + "WorldLevel": 3, + "StageID": 1012263 + }, + { + "EventID": 101226, + "WorldLevel": 4, + "StageID": 1012264 + }, + { + "EventID": 101226, + "WorldLevel": 5, + "StageID": 1012265 + }, + { + "EventID": 101226, + "WorldLevel": 6, + "StageID": 1012266 + }, + { + "EventID": 101227, + "WorldLevel": 0, + "StageID": 1012270 + }, + { + "EventID": 101227, + "WorldLevel": 1, + "StageID": 1012271 + }, + { + "EventID": 101227, + "WorldLevel": 2, + "StageID": 1012272 + }, + { + "EventID": 101227, + "WorldLevel": 3, + "StageID": 1012273 + }, + { + "EventID": 101227, + "WorldLevel": 4, + "StageID": 1012274 + }, + { + "EventID": 101227, + "WorldLevel": 5, + "StageID": 1012275 + }, + { + "EventID": 101227, + "WorldLevel": 6, + "StageID": 1012276 + }, + { + "EventID": 101228, + "WorldLevel": 0, + "StageID": 1012280 + }, + { + "EventID": 101228, + "WorldLevel": 1, + "StageID": 1012281 + }, + { + "EventID": 101228, + "WorldLevel": 2, + "StageID": 1012282 + }, + { + "EventID": 101228, + "WorldLevel": 3, + "StageID": 1012283 + }, + { + "EventID": 101228, + "WorldLevel": 4, + "StageID": 1012284 + }, + { + "EventID": 101228, + "WorldLevel": 5, + "StageID": 1012285 + }, + { + "EventID": 101228, + "WorldLevel": 6, + "StageID": 1012286 + }, + { + "EventID": 101229, + "WorldLevel": 0, + "StageID": 1012290 + }, + { + "EventID": 101229, + "WorldLevel": 1, + "StageID": 1012291 + }, + { + "EventID": 101229, + "WorldLevel": 2, + "StageID": 1012292 + }, + { + "EventID": 101229, + "WorldLevel": 3, + "StageID": 1012293 + }, + { + "EventID": 101229, + "WorldLevel": 4, + "StageID": 1012294 + }, + { + "EventID": 101229, + "WorldLevel": 5, + "StageID": 1012295 + }, + { + "EventID": 101229, + "WorldLevel": 6, + "StageID": 1012296 + }, + { + "EventID": 104201, + "WorldLevel": 0, + "StageID": 1042010 + }, + { + "EventID": 104201, + "WorldLevel": 1, + "StageID": 1042011 + }, + { + "EventID": 104201, + "WorldLevel": 2, + "StageID": 1042012 + }, + { + "EventID": 104201, + "WorldLevel": 3, + "StageID": 1042013 + }, + { + "EventID": 104201, + "WorldLevel": 4, + "StageID": 1042014 + }, + { + "EventID": 104201, + "WorldLevel": 5, + "StageID": 1042015 + }, + { + "EventID": 104201, + "WorldLevel": 6, + "StageID": 1042016 + }, + { + "EventID": 104202, + "WorldLevel": 0, + "StageID": 1042020 + }, + { + "EventID": 104202, + "WorldLevel": 1, + "StageID": 1042021 + }, + { + "EventID": 104202, + "WorldLevel": 2, + "StageID": 1042022 + }, + { + "EventID": 104202, + "WorldLevel": 3, + "StageID": 1042023 + }, + { + "EventID": 104202, + "WorldLevel": 4, + "StageID": 1042024 + }, + { + "EventID": 104202, + "WorldLevel": 5, + "StageID": 1042025 + }, + { + "EventID": 104202, + "WorldLevel": 6, + "StageID": 1042026 + }, + { + "EventID": 104203, + "WorldLevel": 0, + "StageID": 1042030 + }, + { + "EventID": 104203, + "WorldLevel": 1, + "StageID": 1042031 + }, + { + "EventID": 104203, + "WorldLevel": 2, + "StageID": 1042032 + }, + { + "EventID": 104203, + "WorldLevel": 3, + "StageID": 1042033 + }, + { + "EventID": 104203, + "WorldLevel": 4, + "StageID": 1042034 + }, + { + "EventID": 104203, + "WorldLevel": 5, + "StageID": 1042035 + }, + { + "EventID": 104203, + "WorldLevel": 6, + "StageID": 1042036 + }, + { + "EventID": 104204, + "WorldLevel": 0, + "StageID": 1042040 + }, + { + "EventID": 104204, + "WorldLevel": 1, + "StageID": 1042041 + }, + { + "EventID": 104204, + "WorldLevel": 2, + "StageID": 1042042 + }, + { + "EventID": 104204, + "WorldLevel": 3, + "StageID": 1042043 + }, + { + "EventID": 104204, + "WorldLevel": 4, + "StageID": 1042044 + }, + { + "EventID": 104204, + "WorldLevel": 5, + "StageID": 1042045 + }, + { + "EventID": 104204, + "WorldLevel": 6, + "StageID": 1042046 + }, + { + "EventID": 104205, + "WorldLevel": 0, + "StageID": 1042050 + }, + { + "EventID": 104205, + "WorldLevel": 1, + "StageID": 1042051 + }, + { + "EventID": 104205, + "WorldLevel": 2, + "StageID": 1042052 + }, + { + "EventID": 104205, + "WorldLevel": 3, + "StageID": 1042053 + }, + { + "EventID": 104205, + "WorldLevel": 4, + "StageID": 1042054 + }, + { + "EventID": 104205, + "WorldLevel": 5, + "StageID": 1042055 + }, + { + "EventID": 104205, + "WorldLevel": 6, + "StageID": 1042056 + }, + { + "EventID": 104206, + "WorldLevel": 0, + "StageID": 1042060 + }, + { + "EventID": 104206, + "WorldLevel": 1, + "StageID": 1042061 + }, + { + "EventID": 104206, + "WorldLevel": 2, + "StageID": 1042062 + }, + { + "EventID": 104206, + "WorldLevel": 3, + "StageID": 1042063 + }, + { + "EventID": 104206, + "WorldLevel": 4, + "StageID": 1042064 + }, + { + "EventID": 104206, + "WorldLevel": 5, + "StageID": 1042065 + }, + { + "EventID": 104206, + "WorldLevel": 6, + "StageID": 1042066 + }, + { + "EventID": 301101, + "WorldLevel": 0, + "StageID": 3011010 + }, + { + "EventID": 301101, + "WorldLevel": 1, + "StageID": 3011011 + }, + { + "EventID": 301101, + "WorldLevel": 2, + "StageID": 3011012 + }, + { + "EventID": 301101, + "WorldLevel": 3, + "StageID": 3011013 + }, + { + "EventID": 301101, + "WorldLevel": 4, + "StageID": 3011014 + }, + { + "EventID": 301101, + "WorldLevel": 5, + "StageID": 3011015 + }, + { + "EventID": 301101, + "WorldLevel": 6, + "StageID": 3011016 + }, + { + "EventID": 301102, + "WorldLevel": 0, + "StageID": 3011020 + }, + { + "EventID": 301102, + "WorldLevel": 1, + "StageID": 3011021 + }, + { + "EventID": 301102, + "WorldLevel": 2, + "StageID": 3011022 + }, + { + "EventID": 301102, + "WorldLevel": 3, + "StageID": 3011023 + }, + { + "EventID": 301102, + "WorldLevel": 4, + "StageID": 3011024 + }, + { + "EventID": 301102, + "WorldLevel": 5, + "StageID": 3011025 + }, + { + "EventID": 301102, + "WorldLevel": 6, + "StageID": 3011026 + }, + { + "EventID": 301103, + "WorldLevel": 0, + "StageID": 3011030 + }, + { + "EventID": 301103, + "WorldLevel": 1, + "StageID": 3011031 + }, + { + "EventID": 301103, + "WorldLevel": 2, + "StageID": 3011032 + }, + { + "EventID": 301103, + "WorldLevel": 3, + "StageID": 3011033 + }, + { + "EventID": 301103, + "WorldLevel": 4, + "StageID": 3011034 + }, + { + "EventID": 301103, + "WorldLevel": 5, + "StageID": 3011035 + }, + { + "EventID": 301103, + "WorldLevel": 6, + "StageID": 3011036 + }, + { + "EventID": 301104, + "WorldLevel": 0, + "StageID": 3011040 + }, + { + "EventID": 301104, + "WorldLevel": 1, + "StageID": 3011041 + }, + { + "EventID": 301104, + "WorldLevel": 2, + "StageID": 3011042 + }, + { + "EventID": 301104, + "WorldLevel": 3, + "StageID": 3011043 + }, + { + "EventID": 301104, + "WorldLevel": 4, + "StageID": 3011044 + }, + { + "EventID": 301104, + "WorldLevel": 5, + "StageID": 3011045 + }, + { + "EventID": 301104, + "WorldLevel": 6, + "StageID": 3011046 + }, + { + "EventID": 301105, + "WorldLevel": 0, + "StageID": 3011050 + }, + { + "EventID": 301105, + "WorldLevel": 1, + "StageID": 3011051 + }, + { + "EventID": 301105, + "WorldLevel": 2, + "StageID": 3011052 + }, + { + "EventID": 301105, + "WorldLevel": 3, + "StageID": 3011053 + }, + { + "EventID": 301105, + "WorldLevel": 4, + "StageID": 3011054 + }, + { + "EventID": 301105, + "WorldLevel": 5, + "StageID": 3011055 + }, + { + "EventID": 301105, + "WorldLevel": 6, + "StageID": 3011056 + }, + { + "EventID": 301106, + "WorldLevel": 0, + "StageID": 3011060 + }, + { + "EventID": 301106, + "WorldLevel": 1, + "StageID": 3011061 + }, + { + "EventID": 301106, + "WorldLevel": 2, + "StageID": 3011062 + }, + { + "EventID": 301106, + "WorldLevel": 3, + "StageID": 3011063 + }, + { + "EventID": 301106, + "WorldLevel": 4, + "StageID": 3011064 + }, + { + "EventID": 301106, + "WorldLevel": 5, + "StageID": 3011065 + }, + { + "EventID": 301106, + "WorldLevel": 6, + "StageID": 3011066 + }, + { + "EventID": 301107, + "WorldLevel": 0, + "StageID": 3011070 + }, + { + "EventID": 301107, + "WorldLevel": 1, + "StageID": 3011071 + }, + { + "EventID": 301107, + "WorldLevel": 2, + "StageID": 3011072 + }, + { + "EventID": 301107, + "WorldLevel": 3, + "StageID": 3011073 + }, + { + "EventID": 301107, + "WorldLevel": 4, + "StageID": 3011074 + }, + { + "EventID": 301107, + "WorldLevel": 5, + "StageID": 3011075 + }, + { + "EventID": 301107, + "WorldLevel": 6, + "StageID": 3011076 + }, + { + "EventID": 312201, + "WorldLevel": 0, + "StageID": 312201 + }, + { + "EventID": 312201, + "WorldLevel": 1, + "StageID": 312201 + }, + { + "EventID": 312201, + "WorldLevel": 2, + "StageID": 312201 + }, + { + "EventID": 312201, + "WorldLevel": 3, + "StageID": 312201 + }, + { + "EventID": 312201, + "WorldLevel": 4, + "StageID": 312201 + }, + { + "EventID": 312201, + "WorldLevel": 5, + "StageID": 312201 + }, + { + "EventID": 312201, + "WorldLevel": 6, + "StageID": 312201 + }, + { + "EventID": 312202, + "WorldLevel": 0, + "StageID": 312202 + }, + { + "EventID": 312202, + "WorldLevel": 1, + "StageID": 312202 + }, + { + "EventID": 312202, + "WorldLevel": 2, + "StageID": 312202 + }, + { + "EventID": 312202, + "WorldLevel": 3, + "StageID": 312202 + }, + { + "EventID": 312202, + "WorldLevel": 4, + "StageID": 312202 + }, + { + "EventID": 312202, + "WorldLevel": 5, + "StageID": 312202 + }, + { + "EventID": 312202, + "WorldLevel": 6, + "StageID": 312202 + }, + { + "EventID": 312203, + "WorldLevel": 0, + "StageID": 312203 + }, + { + "EventID": 312203, + "WorldLevel": 1, + "StageID": 312203 + }, + { + "EventID": 312203, + "WorldLevel": 2, + "StageID": 312203 + }, + { + "EventID": 312203, + "WorldLevel": 3, + "StageID": 312203 + }, + { + "EventID": 312203, + "WorldLevel": 4, + "StageID": 312203 + }, + { + "EventID": 312203, + "WorldLevel": 5, + "StageID": 312203 + }, + { + "EventID": 312203, + "WorldLevel": 6, + "StageID": 312203 + }, + { + "EventID": 313080, + "WorldLevel": 0, + "StageID": 313080 + }, + { + "EventID": 313080, + "WorldLevel": 1, + "StageID": 313080 + }, + { + "EventID": 313080, + "WorldLevel": 2, + "StageID": 313080 + }, + { + "EventID": 313080, + "WorldLevel": 3, + "StageID": 313080 + }, + { + "EventID": 313080, + "WorldLevel": 4, + "StageID": 313080 + }, + { + "EventID": 313080, + "WorldLevel": 5, + "StageID": 313080 + }, + { + "EventID": 313080, + "WorldLevel": 6, + "StageID": 313080 + }, + { + "EventID": 313081, + "WorldLevel": 0, + "StageID": 313081 + }, + { + "EventID": 313081, + "WorldLevel": 1, + "StageID": 313081 + }, + { + "EventID": 313081, + "WorldLevel": 2, + "StageID": 313081 + }, + { + "EventID": 313081, + "WorldLevel": 3, + "StageID": 313081 + }, + { + "EventID": 313081, + "WorldLevel": 4, + "StageID": 313081 + }, + { + "EventID": 313081, + "WorldLevel": 5, + "StageID": 313081 + }, + { + "EventID": 313081, + "WorldLevel": 6, + "StageID": 313081 + }, + { + "EventID": 313082, + "WorldLevel": 0, + "StageID": 313082 + }, + { + "EventID": 313082, + "WorldLevel": 1, + "StageID": 313082 + }, + { + "EventID": 313082, + "WorldLevel": 2, + "StageID": 313082 + }, + { + "EventID": 313082, + "WorldLevel": 3, + "StageID": 313082 + }, + { + "EventID": 313082, + "WorldLevel": 4, + "StageID": 313082 + }, + { + "EventID": 313082, + "WorldLevel": 5, + "StageID": 313082 + }, + { + "EventID": 313082, + "WorldLevel": 6, + "StageID": 313082 + }, + { + "EventID": 313083, + "WorldLevel": 0, + "StageID": 313083 + }, + { + "EventID": 313083, + "WorldLevel": 1, + "StageID": 313083 + }, + { + "EventID": 313083, + "WorldLevel": 2, + "StageID": 313083 + }, + { + "EventID": 313083, + "WorldLevel": 3, + "StageID": 313083 + }, + { + "EventID": 313083, + "WorldLevel": 4, + "StageID": 313083 + }, + { + "EventID": 313083, + "WorldLevel": 5, + "StageID": 313083 + }, + { + "EventID": 313083, + "WorldLevel": 6, + "StageID": 313083 + }, + { + "EventID": 313084, + "WorldLevel": 0, + "StageID": 313084 + }, + { + "EventID": 313084, + "WorldLevel": 1, + "StageID": 313084 + }, + { + "EventID": 313084, + "WorldLevel": 2, + "StageID": 313084 + }, + { + "EventID": 313084, + "WorldLevel": 3, + "StageID": 313084 + }, + { + "EventID": 313084, + "WorldLevel": 4, + "StageID": 313084 + }, + { + "EventID": 313084, + "WorldLevel": 5, + "StageID": 313084 + }, + { + "EventID": 313084, + "WorldLevel": 6, + "StageID": 313084 + }, + { + "EventID": 313101, + "WorldLevel": 0, + "StageID": 313101 + }, + { + "EventID": 313101, + "WorldLevel": 1, + "StageID": 313101 + }, + { + "EventID": 313101, + "WorldLevel": 2, + "StageID": 313101 + }, + { + "EventID": 313101, + "WorldLevel": 3, + "StageID": 313101 + }, + { + "EventID": 313101, + "WorldLevel": 4, + "StageID": 313101 + }, + { + "EventID": 313101, + "WorldLevel": 5, + "StageID": 313101 + }, + { + "EventID": 313101, + "WorldLevel": 6, + "StageID": 313101 + }, + { + "EventID": 313102, + "WorldLevel": 0, + "StageID": 313102 + }, + { + "EventID": 313102, + "WorldLevel": 1, + "StageID": 313102 + }, + { + "EventID": 313102, + "WorldLevel": 2, + "StageID": 313102 + }, + { + "EventID": 313102, + "WorldLevel": 3, + "StageID": 313102 + }, + { + "EventID": 313102, + "WorldLevel": 4, + "StageID": 313102 + }, + { + "EventID": 313102, + "WorldLevel": 5, + "StageID": 313102 + }, + { + "EventID": 313102, + "WorldLevel": 6, + "StageID": 313102 + }, + { + "EventID": 314071, + "WorldLevel": 0, + "StageID": 314071 + }, + { + "EventID": 314071, + "WorldLevel": 1, + "StageID": 314071 + }, + { + "EventID": 314071, + "WorldLevel": 2, + "StageID": 314071 + }, + { + "EventID": 314071, + "WorldLevel": 3, + "StageID": 314071 + }, + { + "EventID": 314071, + "WorldLevel": 4, + "StageID": 314071 + }, + { + "EventID": 314071, + "WorldLevel": 5, + "StageID": 314071 + }, + { + "EventID": 314071, + "WorldLevel": 6, + "StageID": 314071 + }, + { + "EventID": 314072, + "WorldLevel": 0, + "StageID": 314072 + }, + { + "EventID": 314072, + "WorldLevel": 1, + "StageID": 314072 + }, + { + "EventID": 314072, + "WorldLevel": 2, + "StageID": 314072 + }, + { + "EventID": 314072, + "WorldLevel": 3, + "StageID": 314072 + }, + { + "EventID": 314072, + "WorldLevel": 4, + "StageID": 314072 + }, + { + "EventID": 314072, + "WorldLevel": 5, + "StageID": 314072 + }, + { + "EventID": 314072, + "WorldLevel": 6, + "StageID": 314072 + }, + { + "EventID": 314073, + "WorldLevel": 0, + "StageID": 314073 + }, + { + "EventID": 314073, + "WorldLevel": 1, + "StageID": 314073 + }, + { + "EventID": 314073, + "WorldLevel": 2, + "StageID": 314073 + }, + { + "EventID": 314073, + "WorldLevel": 3, + "StageID": 314073 + }, + { + "EventID": 314073, + "WorldLevel": 4, + "StageID": 314073 + }, + { + "EventID": 314073, + "WorldLevel": 5, + "StageID": 314073 + }, + { + "EventID": 314073, + "WorldLevel": 6, + "StageID": 314073 + }, + { + "EventID": 314081, + "WorldLevel": 0, + "StageID": 314081 + }, + { + "EventID": 314081, + "WorldLevel": 1, + "StageID": 314081 + }, + { + "EventID": 314081, + "WorldLevel": 2, + "StageID": 314081 + }, + { + "EventID": 314081, + "WorldLevel": 3, + "StageID": 314081 + }, + { + "EventID": 314081, + "WorldLevel": 4, + "StageID": 314081 + }, + { + "EventID": 314081, + "WorldLevel": 5, + "StageID": 314081 + }, + { + "EventID": 314081, + "WorldLevel": 6, + "StageID": 314081 + }, + { + "EventID": 314082, + "WorldLevel": 0, + "StageID": 314082 + }, + { + "EventID": 314082, + "WorldLevel": 1, + "StageID": 314082 + }, + { + "EventID": 314082, + "WorldLevel": 2, + "StageID": 314082 + }, + { + "EventID": 314082, + "WorldLevel": 3, + "StageID": 314082 + }, + { + "EventID": 314082, + "WorldLevel": 4, + "StageID": 314082 + }, + { + "EventID": 314082, + "WorldLevel": 5, + "StageID": 314082 + }, + { + "EventID": 314082, + "WorldLevel": 6, + "StageID": 314082 + }, + { + "EventID": 314083, + "WorldLevel": 0, + "StageID": 314083 + }, + { + "EventID": 314083, + "WorldLevel": 1, + "StageID": 314083 + }, + { + "EventID": 314083, + "WorldLevel": 2, + "StageID": 314083 + }, + { + "EventID": 314083, + "WorldLevel": 3, + "StageID": 314083 + }, + { + "EventID": 314083, + "WorldLevel": 4, + "StageID": 314083 + }, + { + "EventID": 314083, + "WorldLevel": 5, + "StageID": 314083 + }, + { + "EventID": 314083, + "WorldLevel": 6, + "StageID": 314083 + }, + { + "EventID": 315061, + "WorldLevel": 0, + "StageID": 315061 + }, + { + "EventID": 315061, + "WorldLevel": 1, + "StageID": 315061 + }, + { + "EventID": 315061, + "WorldLevel": 2, + "StageID": 315061 + }, + { + "EventID": 315061, + "WorldLevel": 3, + "StageID": 315061 + }, + { + "EventID": 315061, + "WorldLevel": 4, + "StageID": 315061 + }, + { + "EventID": 315061, + "WorldLevel": 5, + "StageID": 315061 + }, + { + "EventID": 315061, + "WorldLevel": 6, + "StageID": 315061 + }, + { + "EventID": 315062, + "WorldLevel": 0, + "StageID": 315062 + }, + { + "EventID": 315062, + "WorldLevel": 1, + "StageID": 315062 + }, + { + "EventID": 315062, + "WorldLevel": 2, + "StageID": 315062 + }, + { + "EventID": 315062, + "WorldLevel": 3, + "StageID": 315062 + }, + { + "EventID": 315062, + "WorldLevel": 4, + "StageID": 315062 + }, + { + "EventID": 315062, + "WorldLevel": 5, + "StageID": 315062 + }, + { + "EventID": 315062, + "WorldLevel": 6, + "StageID": 315062 + }, + { + "EventID": 315063, + "WorldLevel": 0, + "StageID": 315063 + }, + { + "EventID": 315063, + "WorldLevel": 1, + "StageID": 315063 + }, + { + "EventID": 315063, + "WorldLevel": 2, + "StageID": 315063 + }, + { + "EventID": 315063, + "WorldLevel": 3, + "StageID": 315063 + }, + { + "EventID": 315063, + "WorldLevel": 4, + "StageID": 315063 + }, + { + "EventID": 315063, + "WorldLevel": 5, + "StageID": 315063 + }, + { + "EventID": 315063, + "WorldLevel": 6, + "StageID": 315063 + }, + { + "EventID": 10301299, + "WorldLevel": 0, + "StageID": 103012990 + }, + { + "EventID": 10301299, + "WorldLevel": 1, + "StageID": 103012991 + }, + { + "EventID": 10301299, + "WorldLevel": 2, + "StageID": 103012992 + }, + { + "EventID": 10301299, + "WorldLevel": 3, + "StageID": 103012993 + }, + { + "EventID": 10301299, + "WorldLevel": 4, + "StageID": 103012994 + }, + { + "EventID": 10301299, + "WorldLevel": 5, + "StageID": 103012995 + }, + { + "EventID": 10301299, + "WorldLevel": 6, + "StageID": 103012996 + }, + { + "EventID": 10307001, + "WorldLevel": 0, + "StageID": 103070010 + }, + { + "EventID": 10307001, + "WorldLevel": 1, + "StageID": 103070011 + }, + { + "EventID": 10307001, + "WorldLevel": 2, + "StageID": 103070012 + }, + { + "EventID": 10307001, + "WorldLevel": 3, + "StageID": 103070013 + }, + { + "EventID": 10307001, + "WorldLevel": 4, + "StageID": 103070014 + }, + { + "EventID": 10307001, + "WorldLevel": 5, + "StageID": 103070015 + }, + { + "EventID": 10307001, + "WorldLevel": 6, + "StageID": 103070016 + }, + { + "EventID": 10307002, + "WorldLevel": 0, + "StageID": 103070020 + }, + { + "EventID": 10307002, + "WorldLevel": 1, + "StageID": 103070021 + }, + { + "EventID": 10307002, + "WorldLevel": 2, + "StageID": 103070022 + }, + { + "EventID": 10307002, + "WorldLevel": 3, + "StageID": 103070023 + }, + { + "EventID": 10307002, + "WorldLevel": 4, + "StageID": 103070024 + }, + { + "EventID": 10307002, + "WorldLevel": 5, + "StageID": 103070025 + }, + { + "EventID": 10307002, + "WorldLevel": 6, + "StageID": 103070026 + }, + { + "EventID": 10307003, + "WorldLevel": 0, + "StageID": 103070030 + }, + { + "EventID": 10307003, + "WorldLevel": 1, + "StageID": 103070031 + }, + { + "EventID": 10307003, + "WorldLevel": 2, + "StageID": 103070032 + }, + { + "EventID": 10307003, + "WorldLevel": 3, + "StageID": 103070033 + }, + { + "EventID": 10307003, + "WorldLevel": 4, + "StageID": 103070034 + }, + { + "EventID": 10307003, + "WorldLevel": 5, + "StageID": 103070035 + }, + { + "EventID": 10307003, + "WorldLevel": 6, + "StageID": 103070036 + }, + { + "EventID": 10307004, + "WorldLevel": 0, + "StageID": 103070040 + }, + { + "EventID": 10307004, + "WorldLevel": 1, + "StageID": 103070041 + }, + { + "EventID": 10307004, + "WorldLevel": 2, + "StageID": 103070042 + }, + { + "EventID": 10307004, + "WorldLevel": 3, + "StageID": 103070043 + }, + { + "EventID": 10307004, + "WorldLevel": 4, + "StageID": 103070044 + }, + { + "EventID": 10307004, + "WorldLevel": 5, + "StageID": 103070045 + }, + { + "EventID": 10307004, + "WorldLevel": 6, + "StageID": 103070046 + }, + { + "EventID": 10307006, + "WorldLevel": 0, + "StageID": 103070060 + }, + { + "EventID": 10307006, + "WorldLevel": 1, + "StageID": 103070061 + }, + { + "EventID": 10307006, + "WorldLevel": 2, + "StageID": 103070062 + }, + { + "EventID": 10307006, + "WorldLevel": 3, + "StageID": 103070063 + }, + { + "EventID": 10307006, + "WorldLevel": 4, + "StageID": 103070064 + }, + { + "EventID": 10307006, + "WorldLevel": 5, + "StageID": 103070065 + }, + { + "EventID": 10307006, + "WorldLevel": 6, + "StageID": 103070066 + }, + { + "EventID": 10307007, + "WorldLevel": 0, + "StageID": 103070070 + }, + { + "EventID": 10307007, + "WorldLevel": 1, + "StageID": 103070071 + }, + { + "EventID": 10307007, + "WorldLevel": 2, + "StageID": 103070072 + }, + { + "EventID": 10307007, + "WorldLevel": 3, + "StageID": 103070073 + }, + { + "EventID": 10307007, + "WorldLevel": 4, + "StageID": 103070074 + }, + { + "EventID": 10307007, + "WorldLevel": 5, + "StageID": 103070075 + }, + { + "EventID": 10307007, + "WorldLevel": 6, + "StageID": 103070076 + }, + { + "EventID": 10307008, + "WorldLevel": 0, + "StageID": 103070080 + }, + { + "EventID": 10307008, + "WorldLevel": 1, + "StageID": 103070081 + }, + { + "EventID": 10307008, + "WorldLevel": 2, + "StageID": 103070082 + }, + { + "EventID": 10307008, + "WorldLevel": 3, + "StageID": 103070083 + }, + { + "EventID": 10307008, + "WorldLevel": 4, + "StageID": 103070084 + }, + { + "EventID": 10307008, + "WorldLevel": 5, + "StageID": 103070085 + }, + { + "EventID": 10307008, + "WorldLevel": 6, + "StageID": 103070086 + }, + { + "EventID": 10307101, + "WorldLevel": 0, + "StageID": 103071010 + }, + { + "EventID": 10307101, + "WorldLevel": 1, + "StageID": 103071011 + }, + { + "EventID": 10307101, + "WorldLevel": 2, + "StageID": 103071012 + }, + { + "EventID": 10307101, + "WorldLevel": 3, + "StageID": 103071013 + }, + { + "EventID": 10307101, + "WorldLevel": 4, + "StageID": 103071014 + }, + { + "EventID": 10307101, + "WorldLevel": 5, + "StageID": 103071015 + }, + { + "EventID": 10307101, + "WorldLevel": 6, + "StageID": 103071016 + }, + { + "EventID": 10307102, + "WorldLevel": 0, + "StageID": 103071020 + }, + { + "EventID": 10307102, + "WorldLevel": 1, + "StageID": 103071021 + }, + { + "EventID": 10307102, + "WorldLevel": 2, + "StageID": 103071022 + }, + { + "EventID": 10307102, + "WorldLevel": 3, + "StageID": 103071023 + }, + { + "EventID": 10307102, + "WorldLevel": 4, + "StageID": 103071024 + }, + { + "EventID": 10307102, + "WorldLevel": 5, + "StageID": 103071025 + }, + { + "EventID": 10307102, + "WorldLevel": 6, + "StageID": 103071026 + }, + { + "EventID": 10307103, + "WorldLevel": 0, + "StageID": 103071030 + }, + { + "EventID": 10307103, + "WorldLevel": 1, + "StageID": 103071031 + }, + { + "EventID": 10307103, + "WorldLevel": 2, + "StageID": 103071032 + }, + { + "EventID": 10307103, + "WorldLevel": 3, + "StageID": 103071033 + }, + { + "EventID": 10307103, + "WorldLevel": 4, + "StageID": 103071034 + }, + { + "EventID": 10307103, + "WorldLevel": 5, + "StageID": 103071035 + }, + { + "EventID": 10307103, + "WorldLevel": 6, + "StageID": 103071036 + }, + { + "EventID": 10307104, + "WorldLevel": 0, + "StageID": 103071040 + }, + { + "EventID": 10307104, + "WorldLevel": 1, + "StageID": 103071041 + }, + { + "EventID": 10307104, + "WorldLevel": 2, + "StageID": 103071042 + }, + { + "EventID": 10307104, + "WorldLevel": 3, + "StageID": 103071043 + }, + { + "EventID": 10307104, + "WorldLevel": 4, + "StageID": 103071044 + }, + { + "EventID": 10307104, + "WorldLevel": 5, + "StageID": 103071045 + }, + { + "EventID": 10307104, + "WorldLevel": 6, + "StageID": 103071046 + }, + { + "EventID": 10307106, + "WorldLevel": 0, + "StageID": 103071060 + }, + { + "EventID": 10307106, + "WorldLevel": 1, + "StageID": 103071061 + }, + { + "EventID": 10307106, + "WorldLevel": 2, + "StageID": 103071062 + }, + { + "EventID": 10307106, + "WorldLevel": 3, + "StageID": 103071063 + }, + { + "EventID": 10307106, + "WorldLevel": 4, + "StageID": 103071064 + }, + { + "EventID": 10307106, + "WorldLevel": 5, + "StageID": 103071065 + }, + { + "EventID": 10307106, + "WorldLevel": 6, + "StageID": 103071066 + }, + { + "EventID": 10307107, + "WorldLevel": 0, + "StageID": 103071070 + }, + { + "EventID": 10307107, + "WorldLevel": 1, + "StageID": 103071071 + }, + { + "EventID": 10307107, + "WorldLevel": 2, + "StageID": 103071072 + }, + { + "EventID": 10307107, + "WorldLevel": 3, + "StageID": 103071073 + }, + { + "EventID": 10307107, + "WorldLevel": 4, + "StageID": 103071074 + }, + { + "EventID": 10307107, + "WorldLevel": 5, + "StageID": 103071075 + }, + { + "EventID": 10307107, + "WorldLevel": 6, + "StageID": 103071076 + }, + { + "EventID": 10307108, + "WorldLevel": 0, + "StageID": 103071080 + }, + { + "EventID": 10307108, + "WorldLevel": 1, + "StageID": 103071081 + }, + { + "EventID": 10307108, + "WorldLevel": 2, + "StageID": 103071082 + }, + { + "EventID": 10307108, + "WorldLevel": 3, + "StageID": 103071083 + }, + { + "EventID": 10307108, + "WorldLevel": 4, + "StageID": 103071084 + }, + { + "EventID": 10307108, + "WorldLevel": 5, + "StageID": 103071085 + }, + { + "EventID": 10307108, + "WorldLevel": 6, + "StageID": 103071086 + }, + { + "EventID": 10441011, + "WorldLevel": 0, + "StageID": 104410110 + }, + { + "EventID": 10441011, + "WorldLevel": 1, + "StageID": 104410111 + }, + { + "EventID": 10441011, + "WorldLevel": 2, + "StageID": 104410112 + }, + { + "EventID": 10441011, + "WorldLevel": 3, + "StageID": 104410113 + }, + { + "EventID": 10441011, + "WorldLevel": 4, + "StageID": 104410114 + }, + { + "EventID": 10441011, + "WorldLevel": 5, + "StageID": 104410115 + }, + { + "EventID": 10441011, + "WorldLevel": 6, + "StageID": 104410116 + }, + { + "EventID": 10441012, + "WorldLevel": 0, + "StageID": 104410120 + }, + { + "EventID": 10441012, + "WorldLevel": 1, + "StageID": 104410121 + }, + { + "EventID": 10441012, + "WorldLevel": 2, + "StageID": 104410122 + }, + { + "EventID": 10441012, + "WorldLevel": 3, + "StageID": 104410123 + }, + { + "EventID": 10441012, + "WorldLevel": 4, + "StageID": 104410124 + }, + { + "EventID": 10441012, + "WorldLevel": 5, + "StageID": 104410125 + }, + { + "EventID": 10441012, + "WorldLevel": 6, + "StageID": 104410126 + }, + { + "EventID": 10441015, + "WorldLevel": 0, + "StageID": 104410150 + }, + { + "EventID": 10441015, + "WorldLevel": 1, + "StageID": 104410151 + }, + { + "EventID": 10441015, + "WorldLevel": 2, + "StageID": 104410152 + }, + { + "EventID": 10441015, + "WorldLevel": 3, + "StageID": 104410153 + }, + { + "EventID": 10441015, + "WorldLevel": 4, + "StageID": 104410154 + }, + { + "EventID": 10441015, + "WorldLevel": 5, + "StageID": 104410155 + }, + { + "EventID": 10441015, + "WorldLevel": 6, + "StageID": 104410156 + }, + { + "EventID": 10441016, + "WorldLevel": 0, + "StageID": 104410160 + }, + { + "EventID": 10441016, + "WorldLevel": 1, + "StageID": 104410161 + }, + { + "EventID": 10441016, + "WorldLevel": 2, + "StageID": 104410162 + }, + { + "EventID": 10441016, + "WorldLevel": 3, + "StageID": 104410163 + }, + { + "EventID": 10441016, + "WorldLevel": 4, + "StageID": 104410164 + }, + { + "EventID": 10441016, + "WorldLevel": 5, + "StageID": 104410165 + }, + { + "EventID": 10441016, + "WorldLevel": 6, + "StageID": 104410166 + }, + { + "EventID": 10441017, + "WorldLevel": 0, + "StageID": 104410170 + }, + { + "EventID": 10441017, + "WorldLevel": 1, + "StageID": 104410171 + }, + { + "EventID": 10441017, + "WorldLevel": 2, + "StageID": 104410172 + }, + { + "EventID": 10441017, + "WorldLevel": 3, + "StageID": 104410173 + }, + { + "EventID": 10441017, + "WorldLevel": 4, + "StageID": 104410174 + }, + { + "EventID": 10441017, + "WorldLevel": 5, + "StageID": 104410175 + }, + { + "EventID": 10441017, + "WorldLevel": 6, + "StageID": 104410176 + }, + { + "EventID": 10441021, + "WorldLevel": 0, + "StageID": 104410210 + }, + { + "EventID": 10441021, + "WorldLevel": 1, + "StageID": 104410211 + }, + { + "EventID": 10441021, + "WorldLevel": 2, + "StageID": 104410212 + }, + { + "EventID": 10441021, + "WorldLevel": 3, + "StageID": 104410213 + }, + { + "EventID": 10441021, + "WorldLevel": 4, + "StageID": 104410214 + }, + { + "EventID": 10441021, + "WorldLevel": 5, + "StageID": 104410215 + }, + { + "EventID": 10441021, + "WorldLevel": 6, + "StageID": 104410216 + }, + { + "EventID": 10441022, + "WorldLevel": 0, + "StageID": 104410220 + }, + { + "EventID": 10441022, + "WorldLevel": 1, + "StageID": 104410221 + }, + { + "EventID": 10441022, + "WorldLevel": 2, + "StageID": 104410222 + }, + { + "EventID": 10441022, + "WorldLevel": 3, + "StageID": 104410223 + }, + { + "EventID": 10441022, + "WorldLevel": 4, + "StageID": 104410224 + }, + { + "EventID": 10441022, + "WorldLevel": 5, + "StageID": 104410225 + }, + { + "EventID": 10441022, + "WorldLevel": 6, + "StageID": 104410226 + }, + { + "EventID": 10441025, + "WorldLevel": 0, + "StageID": 104410250 + }, + { + "EventID": 10441025, + "WorldLevel": 1, + "StageID": 104410251 + }, + { + "EventID": 10441025, + "WorldLevel": 2, + "StageID": 104410252 + }, + { + "EventID": 10441025, + "WorldLevel": 3, + "StageID": 104410253 + }, + { + "EventID": 10441025, + "WorldLevel": 4, + "StageID": 104410254 + }, + { + "EventID": 10441025, + "WorldLevel": 5, + "StageID": 104410255 + }, + { + "EventID": 10441025, + "WorldLevel": 6, + "StageID": 104410256 + }, + { + "EventID": 10441026, + "WorldLevel": 0, + "StageID": 104410260 + }, + { + "EventID": 10441026, + "WorldLevel": 1, + "StageID": 104410261 + }, + { + "EventID": 10441026, + "WorldLevel": 2, + "StageID": 104410262 + }, + { + "EventID": 10441026, + "WorldLevel": 3, + "StageID": 104410263 + }, + { + "EventID": 10441026, + "WorldLevel": 4, + "StageID": 104410264 + }, + { + "EventID": 10441026, + "WorldLevel": 5, + "StageID": 104410265 + }, + { + "EventID": 10441026, + "WorldLevel": 6, + "StageID": 104410266 + }, + { + "EventID": 10441027, + "WorldLevel": 0, + "StageID": 104410270 + }, + { + "EventID": 10441027, + "WorldLevel": 1, + "StageID": 104410271 + }, + { + "EventID": 10441027, + "WorldLevel": 2, + "StageID": 104410272 + }, + { + "EventID": 10441027, + "WorldLevel": 3, + "StageID": 104410273 + }, + { + "EventID": 10441027, + "WorldLevel": 4, + "StageID": 104410274 + }, + { + "EventID": 10441027, + "WorldLevel": 5, + "StageID": 104410275 + }, + { + "EventID": 10441027, + "WorldLevel": 6, + "StageID": 104410276 + }, + { + "EventID": 10441031, + "WorldLevel": 0, + "StageID": 104410310 + }, + { + "EventID": 10441031, + "WorldLevel": 1, + "StageID": 104410311 + }, + { + "EventID": 10441031, + "WorldLevel": 2, + "StageID": 104410312 + }, + { + "EventID": 10441031, + "WorldLevel": 3, + "StageID": 104410313 + }, + { + "EventID": 10441031, + "WorldLevel": 4, + "StageID": 104410314 + }, + { + "EventID": 10441031, + "WorldLevel": 5, + "StageID": 104410315 + }, + { + "EventID": 10441031, + "WorldLevel": 6, + "StageID": 104410316 + }, + { + "EventID": 10441032, + "WorldLevel": 0, + "StageID": 104410320 + }, + { + "EventID": 10441032, + "WorldLevel": 1, + "StageID": 104410321 + }, + { + "EventID": 10441032, + "WorldLevel": 2, + "StageID": 104410322 + }, + { + "EventID": 10441032, + "WorldLevel": 3, + "StageID": 104410323 + }, + { + "EventID": 10441032, + "WorldLevel": 4, + "StageID": 104410324 + }, + { + "EventID": 10441032, + "WorldLevel": 5, + "StageID": 104410325 + }, + { + "EventID": 10441032, + "WorldLevel": 6, + "StageID": 104410326 + }, + { + "EventID": 20001006, + "WorldLevel": 0, + "StageID": 200010060 + }, + { + "EventID": 20001006, + "WorldLevel": 1, + "StageID": 200010061 + }, + { + "EventID": 20001006, + "WorldLevel": 2, + "StageID": 200010062 + }, + { + "EventID": 20001006, + "WorldLevel": 3, + "StageID": 200010063 + }, + { + "EventID": 20001006, + "WorldLevel": 4, + "StageID": 200010064 + }, + { + "EventID": 20001006, + "WorldLevel": 5, + "StageID": 200010065 + }, + { + "EventID": 20001006, + "WorldLevel": 6, + "StageID": 200010066 + }, + { + "EventID": 20001103, + "WorldLevel": 0, + "StageID": 200011030 + }, + { + "EventID": 20001103, + "WorldLevel": 1, + "StageID": 200011031 + }, + { + "EventID": 20001103, + "WorldLevel": 2, + "StageID": 200011032 + }, + { + "EventID": 20001103, + "WorldLevel": 3, + "StageID": 200011033 + }, + { + "EventID": 20001103, + "WorldLevel": 4, + "StageID": 200011034 + }, + { + "EventID": 20001103, + "WorldLevel": 5, + "StageID": 200011035 + }, + { + "EventID": 20001103, + "WorldLevel": 6, + "StageID": 200011036 + }, + { + "EventID": 20001111, + "WorldLevel": 0, + "StageID": 200011110 + }, + { + "EventID": 20001111, + "WorldLevel": 1, + "StageID": 200011111 + }, + { + "EventID": 20001111, + "WorldLevel": 2, + "StageID": 200011112 + }, + { + "EventID": 20001111, + "WorldLevel": 3, + "StageID": 200011113 + }, + { + "EventID": 20001111, + "WorldLevel": 4, + "StageID": 200011114 + }, + { + "EventID": 20001111, + "WorldLevel": 5, + "StageID": 200011115 + }, + { + "EventID": 20001111, + "WorldLevel": 6, + "StageID": 200011116 + }, + { + "EventID": 20001231, + "WorldLevel": 0, + "StageID": 200012310 + }, + { + "EventID": 20001231, + "WorldLevel": 1, + "StageID": 200012311 + }, + { + "EventID": 20001231, + "WorldLevel": 2, + "StageID": 200012312 + }, + { + "EventID": 20001231, + "WorldLevel": 3, + "StageID": 200012313 + }, + { + "EventID": 20001231, + "WorldLevel": 4, + "StageID": 200012314 + }, + { + "EventID": 20001231, + "WorldLevel": 5, + "StageID": 200012315 + }, + { + "EventID": 20001231, + "WorldLevel": 6, + "StageID": 200012316 + }, + { + "EventID": 20001232, + "WorldLevel": 0, + "StageID": 200012320 + }, + { + "EventID": 20001232, + "WorldLevel": 1, + "StageID": 200012321 + }, + { + "EventID": 20001232, + "WorldLevel": 2, + "StageID": 200012322 + }, + { + "EventID": 20001232, + "WorldLevel": 3, + "StageID": 200012323 + }, + { + "EventID": 20001232, + "WorldLevel": 4, + "StageID": 200012324 + }, + { + "EventID": 20001232, + "WorldLevel": 5, + "StageID": 200012325 + }, + { + "EventID": 20001232, + "WorldLevel": 6, + "StageID": 200012326 + }, + { + "EventID": 20001233, + "WorldLevel": 0, + "StageID": 200012330 + }, + { + "EventID": 20001233, + "WorldLevel": 1, + "StageID": 200012331 + }, + { + "EventID": 20001233, + "WorldLevel": 2, + "StageID": 200012332 + }, + { + "EventID": 20001233, + "WorldLevel": 3, + "StageID": 200012333 + }, + { + "EventID": 20001233, + "WorldLevel": 4, + "StageID": 200012334 + }, + { + "EventID": 20001233, + "WorldLevel": 5, + "StageID": 200012335 + }, + { + "EventID": 20001233, + "WorldLevel": 6, + "StageID": 200012336 + }, + { + "EventID": 20002102, + "WorldLevel": 0, + "StageID": 200021020 + }, + { + "EventID": 20002102, + "WorldLevel": 1, + "StageID": 200021021 + }, + { + "EventID": 20002102, + "WorldLevel": 2, + "StageID": 200021022 + }, + { + "EventID": 20002102, + "WorldLevel": 3, + "StageID": 200021023 + }, + { + "EventID": 20002102, + "WorldLevel": 4, + "StageID": 200021024 + }, + { + "EventID": 20002102, + "WorldLevel": 5, + "StageID": 200021025 + }, + { + "EventID": 20002102, + "WorldLevel": 6, + "StageID": 200021026 + }, + { + "EventID": 20002104, + "WorldLevel": 0, + "StageID": 200021040 + }, + { + "EventID": 20002104, + "WorldLevel": 1, + "StageID": 200021041 + }, + { + "EventID": 20002104, + "WorldLevel": 2, + "StageID": 200021042 + }, + { + "EventID": 20002104, + "WorldLevel": 3, + "StageID": 200021043 + }, + { + "EventID": 20002104, + "WorldLevel": 4, + "StageID": 200021044 + }, + { + "EventID": 20002104, + "WorldLevel": 5, + "StageID": 200021045 + }, + { + "EventID": 20002104, + "WorldLevel": 6, + "StageID": 200021046 + }, + { + "EventID": 20002105, + "WorldLevel": 0, + "StageID": 200021050 + }, + { + "EventID": 20002105, + "WorldLevel": 1, + "StageID": 200021051 + }, + { + "EventID": 20002105, + "WorldLevel": 2, + "StageID": 200021052 + }, + { + "EventID": 20002105, + "WorldLevel": 3, + "StageID": 200021053 + }, + { + "EventID": 20002105, + "WorldLevel": 4, + "StageID": 200021054 + }, + { + "EventID": 20002105, + "WorldLevel": 5, + "StageID": 200021055 + }, + { + "EventID": 20002105, + "WorldLevel": 6, + "StageID": 200021056 + }, + { + "EventID": 20002107, + "WorldLevel": 0, + "StageID": 200021070 + }, + { + "EventID": 20002107, + "WorldLevel": 1, + "StageID": 200021071 + }, + { + "EventID": 20002107, + "WorldLevel": 2, + "StageID": 200021072 + }, + { + "EventID": 20002107, + "WorldLevel": 3, + "StageID": 200021073 + }, + { + "EventID": 20002107, + "WorldLevel": 4, + "StageID": 200021074 + }, + { + "EventID": 20002107, + "WorldLevel": 5, + "StageID": 200021075 + }, + { + "EventID": 20002107, + "WorldLevel": 6, + "StageID": 200021076 + }, + { + "EventID": 20002108, + "WorldLevel": 0, + "StageID": 200021080 + }, + { + "EventID": 20002108, + "WorldLevel": 1, + "StageID": 200021081 + }, + { + "EventID": 20002108, + "WorldLevel": 2, + "StageID": 200021082 + }, + { + "EventID": 20002108, + "WorldLevel": 3, + "StageID": 200021083 + }, + { + "EventID": 20002108, + "WorldLevel": 4, + "StageID": 200021084 + }, + { + "EventID": 20002108, + "WorldLevel": 5, + "StageID": 200021085 + }, + { + "EventID": 20002108, + "WorldLevel": 6, + "StageID": 200021086 + }, + { + "EventID": 20002109, + "WorldLevel": 0, + "StageID": 200021090 + }, + { + "EventID": 20002109, + "WorldLevel": 1, + "StageID": 200021091 + }, + { + "EventID": 20002109, + "WorldLevel": 2, + "StageID": 200021092 + }, + { + "EventID": 20002109, + "WorldLevel": 3, + "StageID": 200021093 + }, + { + "EventID": 20002109, + "WorldLevel": 4, + "StageID": 200021094 + }, + { + "EventID": 20002109, + "WorldLevel": 5, + "StageID": 200021095 + }, + { + "EventID": 20002109, + "WorldLevel": 6, + "StageID": 200021096 + }, + { + "EventID": 20002112, + "WorldLevel": 0, + "StageID": 200021120 + }, + { + "EventID": 20002112, + "WorldLevel": 1, + "StageID": 200021121 + }, + { + "EventID": 20002112, + "WorldLevel": 2, + "StageID": 200021122 + }, + { + "EventID": 20002112, + "WorldLevel": 3, + "StageID": 200021123 + }, + { + "EventID": 20002112, + "WorldLevel": 4, + "StageID": 200021124 + }, + { + "EventID": 20002112, + "WorldLevel": 5, + "StageID": 200021125 + }, + { + "EventID": 20002112, + "WorldLevel": 6, + "StageID": 200021126 + }, + { + "EventID": 20002131, + "WorldLevel": 0, + "StageID": 200021310 + }, + { + "EventID": 20002131, + "WorldLevel": 1, + "StageID": 200021311 + }, + { + "EventID": 20002131, + "WorldLevel": 2, + "StageID": 200021312 + }, + { + "EventID": 20002131, + "WorldLevel": 3, + "StageID": 200021313 + }, + { + "EventID": 20002131, + "WorldLevel": 4, + "StageID": 200021314 + }, + { + "EventID": 20002131, + "WorldLevel": 5, + "StageID": 200021315 + }, + { + "EventID": 20002131, + "WorldLevel": 6, + "StageID": 200021316 + }, + { + "EventID": 20002132, + "WorldLevel": 0, + "StageID": 200021320 + }, + { + "EventID": 20002132, + "WorldLevel": 1, + "StageID": 200021321 + }, + { + "EventID": 20002132, + "WorldLevel": 2, + "StageID": 200021322 + }, + { + "EventID": 20002132, + "WorldLevel": 3, + "StageID": 200021323 + }, + { + "EventID": 20002132, + "WorldLevel": 4, + "StageID": 200021324 + }, + { + "EventID": 20002132, + "WorldLevel": 5, + "StageID": 200021325 + }, + { + "EventID": 20002132, + "WorldLevel": 6, + "StageID": 200021326 + }, + { + "EventID": 20002231, + "WorldLevel": 0, + "StageID": 200022310 + }, + { + "EventID": 20002231, + "WorldLevel": 1, + "StageID": 200022311 + }, + { + "EventID": 20002231, + "WorldLevel": 2, + "StageID": 200022312 + }, + { + "EventID": 20002231, + "WorldLevel": 3, + "StageID": 200022313 + }, + { + "EventID": 20002231, + "WorldLevel": 4, + "StageID": 200022314 + }, + { + "EventID": 20002231, + "WorldLevel": 5, + "StageID": 200022315 + }, + { + "EventID": 20002231, + "WorldLevel": 6, + "StageID": 200022316 + }, + { + "EventID": 20002232, + "WorldLevel": 0, + "StageID": 200022320 + }, + { + "EventID": 20002232, + "WorldLevel": 1, + "StageID": 200022321 + }, + { + "EventID": 20002232, + "WorldLevel": 2, + "StageID": 200022322 + }, + { + "EventID": 20002232, + "WorldLevel": 3, + "StageID": 200022323 + }, + { + "EventID": 20002232, + "WorldLevel": 4, + "StageID": 200022324 + }, + { + "EventID": 20002232, + "WorldLevel": 5, + "StageID": 200022325 + }, + { + "EventID": 20002232, + "WorldLevel": 6, + "StageID": 200022326 + }, + { + "EventID": 20002233, + "WorldLevel": 0, + "StageID": 200022330 + }, + { + "EventID": 20002233, + "WorldLevel": 1, + "StageID": 200022331 + }, + { + "EventID": 20002233, + "WorldLevel": 2, + "StageID": 200022332 + }, + { + "EventID": 20002233, + "WorldLevel": 3, + "StageID": 200022333 + }, + { + "EventID": 20002233, + "WorldLevel": 4, + "StageID": 200022334 + }, + { + "EventID": 20002233, + "WorldLevel": 5, + "StageID": 200022335 + }, + { + "EventID": 20002233, + "WorldLevel": 6, + "StageID": 200022336 + }, + { + "EventID": 20003101, + "WorldLevel": 0, + "StageID": 200031010 + }, + { + "EventID": 20003101, + "WorldLevel": 1, + "StageID": 200031011 + }, + { + "EventID": 20003101, + "WorldLevel": 2, + "StageID": 200031012 + }, + { + "EventID": 20003101, + "WorldLevel": 3, + "StageID": 200031013 + }, + { + "EventID": 20003101, + "WorldLevel": 4, + "StageID": 200031014 + }, + { + "EventID": 20003101, + "WorldLevel": 5, + "StageID": 200031015 + }, + { + "EventID": 20003101, + "WorldLevel": 6, + "StageID": 200031016 + }, + { + "EventID": 20003103, + "WorldLevel": 0, + "StageID": 200031030 + }, + { + "EventID": 20003103, + "WorldLevel": 1, + "StageID": 200031031 + }, + { + "EventID": 20003103, + "WorldLevel": 2, + "StageID": 200031032 + }, + { + "EventID": 20003103, + "WorldLevel": 3, + "StageID": 200031033 + }, + { + "EventID": 20003103, + "WorldLevel": 4, + "StageID": 200031034 + }, + { + "EventID": 20003103, + "WorldLevel": 5, + "StageID": 200031035 + }, + { + "EventID": 20003103, + "WorldLevel": 6, + "StageID": 200031036 + }, + { + "EventID": 20003104, + "WorldLevel": 0, + "StageID": 200031040 + }, + { + "EventID": 20003104, + "WorldLevel": 1, + "StageID": 200031041 + }, + { + "EventID": 20003104, + "WorldLevel": 2, + "StageID": 200031042 + }, + { + "EventID": 20003104, + "WorldLevel": 3, + "StageID": 200031043 + }, + { + "EventID": 20003104, + "WorldLevel": 4, + "StageID": 200031044 + }, + { + "EventID": 20003104, + "WorldLevel": 5, + "StageID": 200031045 + }, + { + "EventID": 20003104, + "WorldLevel": 6, + "StageID": 200031046 + }, + { + "EventID": 20003106, + "WorldLevel": 0, + "StageID": 200031060 + }, + { + "EventID": 20003106, + "WorldLevel": 1, + "StageID": 200031061 + }, + { + "EventID": 20003106, + "WorldLevel": 2, + "StageID": 200031062 + }, + { + "EventID": 20003106, + "WorldLevel": 3, + "StageID": 200031063 + }, + { + "EventID": 20003106, + "WorldLevel": 4, + "StageID": 200031064 + }, + { + "EventID": 20003106, + "WorldLevel": 5, + "StageID": 200031065 + }, + { + "EventID": 20003106, + "WorldLevel": 6, + "StageID": 200031066 + }, + { + "EventID": 20003109, + "WorldLevel": 0, + "StageID": 200031090 + }, + { + "EventID": 20003109, + "WorldLevel": 1, + "StageID": 200031091 + }, + { + "EventID": 20003109, + "WorldLevel": 2, + "StageID": 200031092 + }, + { + "EventID": 20003109, + "WorldLevel": 3, + "StageID": 200031093 + }, + { + "EventID": 20003109, + "WorldLevel": 4, + "StageID": 200031094 + }, + { + "EventID": 20003109, + "WorldLevel": 5, + "StageID": 200031095 + }, + { + "EventID": 20003109, + "WorldLevel": 6, + "StageID": 200031096 + }, + { + "EventID": 20003112, + "WorldLevel": 0, + "StageID": 200031120 + }, + { + "EventID": 20003112, + "WorldLevel": 1, + "StageID": 200031121 + }, + { + "EventID": 20003112, + "WorldLevel": 2, + "StageID": 200031122 + }, + { + "EventID": 20003112, + "WorldLevel": 3, + "StageID": 200031123 + }, + { + "EventID": 20003112, + "WorldLevel": 4, + "StageID": 200031124 + }, + { + "EventID": 20003112, + "WorldLevel": 5, + "StageID": 200031125 + }, + { + "EventID": 20003112, + "WorldLevel": 6, + "StageID": 200031126 + }, + { + "EventID": 20003113, + "WorldLevel": 0, + "StageID": 200031130 + }, + { + "EventID": 20003113, + "WorldLevel": 1, + "StageID": 200031131 + }, + { + "EventID": 20003113, + "WorldLevel": 2, + "StageID": 200031132 + }, + { + "EventID": 20003113, + "WorldLevel": 3, + "StageID": 200031133 + }, + { + "EventID": 20003113, + "WorldLevel": 4, + "StageID": 200031134 + }, + { + "EventID": 20003113, + "WorldLevel": 5, + "StageID": 200031135 + }, + { + "EventID": 20003113, + "WorldLevel": 6, + "StageID": 200031136 + }, + { + "EventID": 20003204, + "WorldLevel": 0, + "StageID": 200032040 + }, + { + "EventID": 20003204, + "WorldLevel": 1, + "StageID": 200032041 + }, + { + "EventID": 20003204, + "WorldLevel": 2, + "StageID": 200032042 + }, + { + "EventID": 20003204, + "WorldLevel": 3, + "StageID": 200032043 + }, + { + "EventID": 20003204, + "WorldLevel": 4, + "StageID": 200032044 + }, + { + "EventID": 20003204, + "WorldLevel": 5, + "StageID": 200032045 + }, + { + "EventID": 20003204, + "WorldLevel": 6, + "StageID": 200032046 + }, + { + "EventID": 20003231, + "WorldLevel": 0, + "StageID": 200032310 + }, + { + "EventID": 20003231, + "WorldLevel": 1, + "StageID": 200032311 + }, + { + "EventID": 20003231, + "WorldLevel": 2, + "StageID": 200032312 + }, + { + "EventID": 20003231, + "WorldLevel": 3, + "StageID": 200032313 + }, + { + "EventID": 20003231, + "WorldLevel": 4, + "StageID": 200032314 + }, + { + "EventID": 20003231, + "WorldLevel": 5, + "StageID": 200032315 + }, + { + "EventID": 20003231, + "WorldLevel": 6, + "StageID": 200032316 + }, + { + "EventID": 20004101, + "WorldLevel": 0, + "StageID": 200041010 + }, + { + "EventID": 20004101, + "WorldLevel": 1, + "StageID": 200041011 + }, + { + "EventID": 20004101, + "WorldLevel": 2, + "StageID": 200041012 + }, + { + "EventID": 20004101, + "WorldLevel": 3, + "StageID": 200041013 + }, + { + "EventID": 20004101, + "WorldLevel": 4, + "StageID": 200041014 + }, + { + "EventID": 20004101, + "WorldLevel": 5, + "StageID": 200041015 + }, + { + "EventID": 20004101, + "WorldLevel": 6, + "StageID": 200041016 + }, + { + "EventID": 20004102, + "WorldLevel": 0, + "StageID": 200041020 + }, + { + "EventID": 20004102, + "WorldLevel": 1, + "StageID": 200041021 + }, + { + "EventID": 20004102, + "WorldLevel": 2, + "StageID": 200041022 + }, + { + "EventID": 20004102, + "WorldLevel": 3, + "StageID": 200041023 + }, + { + "EventID": 20004102, + "WorldLevel": 4, + "StageID": 200041024 + }, + { + "EventID": 20004102, + "WorldLevel": 5, + "StageID": 200041025 + }, + { + "EventID": 20004102, + "WorldLevel": 6, + "StageID": 200041026 + }, + { + "EventID": 20004103, + "WorldLevel": 0, + "StageID": 200041030 + }, + { + "EventID": 20004103, + "WorldLevel": 1, + "StageID": 200041031 + }, + { + "EventID": 20004103, + "WorldLevel": 2, + "StageID": 200041032 + }, + { + "EventID": 20004103, + "WorldLevel": 3, + "StageID": 200041033 + }, + { + "EventID": 20004103, + "WorldLevel": 4, + "StageID": 200041034 + }, + { + "EventID": 20004103, + "WorldLevel": 5, + "StageID": 200041035 + }, + { + "EventID": 20004103, + "WorldLevel": 6, + "StageID": 200041036 + }, + { + "EventID": 20004106, + "WorldLevel": 0, + "StageID": 200041060 + }, + { + "EventID": 20004106, + "WorldLevel": 1, + "StageID": 200041061 + }, + { + "EventID": 20004106, + "WorldLevel": 2, + "StageID": 200041062 + }, + { + "EventID": 20004106, + "WorldLevel": 3, + "StageID": 200041063 + }, + { + "EventID": 20004106, + "WorldLevel": 4, + "StageID": 200041064 + }, + { + "EventID": 20004106, + "WorldLevel": 5, + "StageID": 200041065 + }, + { + "EventID": 20004106, + "WorldLevel": 6, + "StageID": 200041066 + }, + { + "EventID": 20004107, + "WorldLevel": 0, + "StageID": 200041070 + }, + { + "EventID": 20004107, + "WorldLevel": 1, + "StageID": 200041071 + }, + { + "EventID": 20004107, + "WorldLevel": 2, + "StageID": 200041072 + }, + { + "EventID": 20004107, + "WorldLevel": 3, + "StageID": 200041073 + }, + { + "EventID": 20004107, + "WorldLevel": 4, + "StageID": 200041074 + }, + { + "EventID": 20004107, + "WorldLevel": 5, + "StageID": 200041075 + }, + { + "EventID": 20004107, + "WorldLevel": 6, + "StageID": 200041076 + }, + { + "EventID": 20004108, + "WorldLevel": 0, + "StageID": 200041080 + }, + { + "EventID": 20004108, + "WorldLevel": 1, + "StageID": 200041081 + }, + { + "EventID": 20004108, + "WorldLevel": 2, + "StageID": 200041082 + }, + { + "EventID": 20004108, + "WorldLevel": 3, + "StageID": 200041083 + }, + { + "EventID": 20004108, + "WorldLevel": 4, + "StageID": 200041084 + }, + { + "EventID": 20004108, + "WorldLevel": 5, + "StageID": 200041085 + }, + { + "EventID": 20004108, + "WorldLevel": 6, + "StageID": 200041086 + }, + { + "EventID": 20004125, + "WorldLevel": 0, + "StageID": 200041250 + }, + { + "EventID": 20004125, + "WorldLevel": 1, + "StageID": 200041251 + }, + { + "EventID": 20004125, + "WorldLevel": 2, + "StageID": 200041252 + }, + { + "EventID": 20004125, + "WorldLevel": 3, + "StageID": 200041253 + }, + { + "EventID": 20004125, + "WorldLevel": 4, + "StageID": 200041254 + }, + { + "EventID": 20004125, + "WorldLevel": 5, + "StageID": 200041255 + }, + { + "EventID": 20004125, + "WorldLevel": 6, + "StageID": 200041256 + }, + { + "EventID": 20004231, + "WorldLevel": 0, + "StageID": 200042310 + }, + { + "EventID": 20004231, + "WorldLevel": 1, + "StageID": 200042311 + }, + { + "EventID": 20004231, + "WorldLevel": 2, + "StageID": 200042312 + }, + { + "EventID": 20004231, + "WorldLevel": 3, + "StageID": 200042313 + }, + { + "EventID": 20004231, + "WorldLevel": 4, + "StageID": 200042314 + }, + { + "EventID": 20004231, + "WorldLevel": 5, + "StageID": 200042315 + }, + { + "EventID": 20004231, + "WorldLevel": 6, + "StageID": 200042316 + }, + { + "EventID": 20004232, + "WorldLevel": 0, + "StageID": 200042320 + }, + { + "EventID": 20004232, + "WorldLevel": 1, + "StageID": 200042321 + }, + { + "EventID": 20004232, + "WorldLevel": 2, + "StageID": 200042322 + }, + { + "EventID": 20004232, + "WorldLevel": 3, + "StageID": 200042323 + }, + { + "EventID": 20004232, + "WorldLevel": 4, + "StageID": 200042324 + }, + { + "EventID": 20004232, + "WorldLevel": 5, + "StageID": 200042325 + }, + { + "EventID": 20004232, + "WorldLevel": 6, + "StageID": 200042326 + }, + { + "EventID": 20101105, + "WorldLevel": 0, + "StageID": 201011050 + }, + { + "EventID": 20101105, + "WorldLevel": 1, + "StageID": 201011051 + }, + { + "EventID": 20101105, + "WorldLevel": 2, + "StageID": 201011052 + }, + { + "EventID": 20101105, + "WorldLevel": 3, + "StageID": 201011053 + }, + { + "EventID": 20101105, + "WorldLevel": 4, + "StageID": 201011054 + }, + { + "EventID": 20101105, + "WorldLevel": 5, + "StageID": 201011055 + }, + { + "EventID": 20101105, + "WorldLevel": 6, + "StageID": 201011056 + }, + { + "EventID": 20101106, + "WorldLevel": 0, + "StageID": 201011060 + }, + { + "EventID": 20101106, + "WorldLevel": 1, + "StageID": 201011061 + }, + { + "EventID": 20101106, + "WorldLevel": 2, + "StageID": 201011062 + }, + { + "EventID": 20101106, + "WorldLevel": 3, + "StageID": 201011063 + }, + { + "EventID": 20101106, + "WorldLevel": 4, + "StageID": 201011064 + }, + { + "EventID": 20101106, + "WorldLevel": 5, + "StageID": 201011065 + }, + { + "EventID": 20101106, + "WorldLevel": 6, + "StageID": 201011066 + }, + { + "EventID": 20101107, + "WorldLevel": 0, + "StageID": 201011070 + }, + { + "EventID": 20101107, + "WorldLevel": 1, + "StageID": 201011071 + }, + { + "EventID": 20101107, + "WorldLevel": 2, + "StageID": 201011072 + }, + { + "EventID": 20101107, + "WorldLevel": 3, + "StageID": 201011073 + }, + { + "EventID": 20101107, + "WorldLevel": 4, + "StageID": 201011074 + }, + { + "EventID": 20101107, + "WorldLevel": 5, + "StageID": 201011075 + }, + { + "EventID": 20101107, + "WorldLevel": 6, + "StageID": 201011076 + }, + { + "EventID": 20101110, + "WorldLevel": 0, + "StageID": 201011100 + }, + { + "EventID": 20101110, + "WorldLevel": 1, + "StageID": 201011101 + }, + { + "EventID": 20101110, + "WorldLevel": 2, + "StageID": 201011102 + }, + { + "EventID": 20101110, + "WorldLevel": 3, + "StageID": 201011103 + }, + { + "EventID": 20101110, + "WorldLevel": 4, + "StageID": 201011104 + }, + { + "EventID": 20101110, + "WorldLevel": 5, + "StageID": 201011105 + }, + { + "EventID": 20101110, + "WorldLevel": 6, + "StageID": 201011106 + }, + { + "EventID": 20101111, + "WorldLevel": 0, + "StageID": 201011110 + }, + { + "EventID": 20101111, + "WorldLevel": 1, + "StageID": 201011111 + }, + { + "EventID": 20101111, + "WorldLevel": 2, + "StageID": 201011112 + }, + { + "EventID": 20101111, + "WorldLevel": 3, + "StageID": 201011113 + }, + { + "EventID": 20101111, + "WorldLevel": 4, + "StageID": 201011114 + }, + { + "EventID": 20101111, + "WorldLevel": 5, + "StageID": 201011115 + }, + { + "EventID": 20101111, + "WorldLevel": 6, + "StageID": 201011116 + }, + { + "EventID": 20101131, + "WorldLevel": 0, + "StageID": 201011310 + }, + { + "EventID": 20101131, + "WorldLevel": 1, + "StageID": 201011311 + }, + { + "EventID": 20101131, + "WorldLevel": 2, + "StageID": 201011312 + }, + { + "EventID": 20101131, + "WorldLevel": 3, + "StageID": 201011313 + }, + { + "EventID": 20101131, + "WorldLevel": 4, + "StageID": 201011314 + }, + { + "EventID": 20101131, + "WorldLevel": 5, + "StageID": 201011315 + }, + { + "EventID": 20101131, + "WorldLevel": 6, + "StageID": 201011316 + }, + { + "EventID": 20101132, + "WorldLevel": 0, + "StageID": 201011320 + }, + { + "EventID": 20101132, + "WorldLevel": 1, + "StageID": 201011321 + }, + { + "EventID": 20101132, + "WorldLevel": 2, + "StageID": 201011322 + }, + { + "EventID": 20101132, + "WorldLevel": 3, + "StageID": 201011323 + }, + { + "EventID": 20101132, + "WorldLevel": 4, + "StageID": 201011324 + }, + { + "EventID": 20101132, + "WorldLevel": 5, + "StageID": 201011325 + }, + { + "EventID": 20101132, + "WorldLevel": 6, + "StageID": 201011326 + }, + { + "EventID": 20101133, + "WorldLevel": 0, + "StageID": 201011330 + }, + { + "EventID": 20101133, + "WorldLevel": 1, + "StageID": 201011331 + }, + { + "EventID": 20101133, + "WorldLevel": 2, + "StageID": 201011332 + }, + { + "EventID": 20101133, + "WorldLevel": 3, + "StageID": 201011333 + }, + { + "EventID": 20101133, + "WorldLevel": 4, + "StageID": 201011334 + }, + { + "EventID": 20101133, + "WorldLevel": 5, + "StageID": 201011335 + }, + { + "EventID": 20101133, + "WorldLevel": 6, + "StageID": 201011336 + }, + { + "EventID": 20101135, + "WorldLevel": 0, + "StageID": 201011350 + }, + { + "EventID": 20101135, + "WorldLevel": 1, + "StageID": 201011351 + }, + { + "EventID": 20101135, + "WorldLevel": 2, + "StageID": 201011352 + }, + { + "EventID": 20101135, + "WorldLevel": 3, + "StageID": 201011353 + }, + { + "EventID": 20101135, + "WorldLevel": 4, + "StageID": 201011354 + }, + { + "EventID": 20101135, + "WorldLevel": 5, + "StageID": 201011355 + }, + { + "EventID": 20101135, + "WorldLevel": 6, + "StageID": 201011356 + }, + { + "EventID": 20101136, + "WorldLevel": 0, + "StageID": 201011360 + }, + { + "EventID": 20101136, + "WorldLevel": 1, + "StageID": 201011361 + }, + { + "EventID": 20101136, + "WorldLevel": 2, + "StageID": 201011362 + }, + { + "EventID": 20101136, + "WorldLevel": 3, + "StageID": 201011363 + }, + { + "EventID": 20101136, + "WorldLevel": 4, + "StageID": 201011364 + }, + { + "EventID": 20101136, + "WorldLevel": 5, + "StageID": 201011365 + }, + { + "EventID": 20101136, + "WorldLevel": 6, + "StageID": 201011366 + }, + { + "EventID": 20101137, + "WorldLevel": 0, + "StageID": 201011370 + }, + { + "EventID": 20101137, + "WorldLevel": 1, + "StageID": 201011371 + }, + { + "EventID": 20101137, + "WorldLevel": 2, + "StageID": 201011372 + }, + { + "EventID": 20101137, + "WorldLevel": 3, + "StageID": 201011373 + }, + { + "EventID": 20101137, + "WorldLevel": 4, + "StageID": 201011374 + }, + { + "EventID": 20101137, + "WorldLevel": 5, + "StageID": 201011375 + }, + { + "EventID": 20101137, + "WorldLevel": 6, + "StageID": 201011376 + }, + { + "EventID": 20101231, + "WorldLevel": 0, + "StageID": 201012310 + }, + { + "EventID": 20101231, + "WorldLevel": 1, + "StageID": 201012311 + }, + { + "EventID": 20101231, + "WorldLevel": 2, + "StageID": 201012312 + }, + { + "EventID": 20101231, + "WorldLevel": 3, + "StageID": 201012313 + }, + { + "EventID": 20101231, + "WorldLevel": 4, + "StageID": 201012314 + }, + { + "EventID": 20101231, + "WorldLevel": 5, + "StageID": 201012315 + }, + { + "EventID": 20101231, + "WorldLevel": 6, + "StageID": 201012316 + }, + { + "EventID": 20111007, + "WorldLevel": 0, + "StageID": 201110070 + }, + { + "EventID": 20111007, + "WorldLevel": 1, + "StageID": 201110071 + }, + { + "EventID": 20111007, + "WorldLevel": 2, + "StageID": 201110072 + }, + { + "EventID": 20111007, + "WorldLevel": 3, + "StageID": 201110073 + }, + { + "EventID": 20111007, + "WorldLevel": 4, + "StageID": 201110074 + }, + { + "EventID": 20111007, + "WorldLevel": 5, + "StageID": 201110075 + }, + { + "EventID": 20111007, + "WorldLevel": 6, + "StageID": 201110076 + }, + { + "EventID": 20111101, + "WorldLevel": 0, + "StageID": 201111010 + }, + { + "EventID": 20111101, + "WorldLevel": 1, + "StageID": 201111011 + }, + { + "EventID": 20111101, + "WorldLevel": 2, + "StageID": 201111012 + }, + { + "EventID": 20111101, + "WorldLevel": 3, + "StageID": 201111013 + }, + { + "EventID": 20111101, + "WorldLevel": 4, + "StageID": 201111014 + }, + { + "EventID": 20111101, + "WorldLevel": 5, + "StageID": 201111015 + }, + { + "EventID": 20111101, + "WorldLevel": 6, + "StageID": 201111016 + }, + { + "EventID": 20111102, + "WorldLevel": 0, + "StageID": 201111020 + }, + { + "EventID": 20111102, + "WorldLevel": 1, + "StageID": 201111021 + }, + { + "EventID": 20111102, + "WorldLevel": 2, + "StageID": 201111022 + }, + { + "EventID": 20111102, + "WorldLevel": 3, + "StageID": 201111023 + }, + { + "EventID": 20111102, + "WorldLevel": 4, + "StageID": 201111024 + }, + { + "EventID": 20111102, + "WorldLevel": 5, + "StageID": 201111025 + }, + { + "EventID": 20111102, + "WorldLevel": 6, + "StageID": 201111026 + }, + { + "EventID": 20111103, + "WorldLevel": 0, + "StageID": 201111030 + }, + { + "EventID": 20111103, + "WorldLevel": 1, + "StageID": 201111031 + }, + { + "EventID": 20111103, + "WorldLevel": 2, + "StageID": 201111032 + }, + { + "EventID": 20111103, + "WorldLevel": 3, + "StageID": 201111033 + }, + { + "EventID": 20111103, + "WorldLevel": 4, + "StageID": 201111034 + }, + { + "EventID": 20111103, + "WorldLevel": 5, + "StageID": 201111035 + }, + { + "EventID": 20111103, + "WorldLevel": 6, + "StageID": 201111036 + }, + { + "EventID": 20111106, + "WorldLevel": 0, + "StageID": 201111060 + }, + { + "EventID": 20111106, + "WorldLevel": 1, + "StageID": 201111061 + }, + { + "EventID": 20111106, + "WorldLevel": 2, + "StageID": 201111062 + }, + { + "EventID": 20111106, + "WorldLevel": 3, + "StageID": 201111063 + }, + { + "EventID": 20111106, + "WorldLevel": 4, + "StageID": 201111064 + }, + { + "EventID": 20111106, + "WorldLevel": 5, + "StageID": 201111065 + }, + { + "EventID": 20111106, + "WorldLevel": 6, + "StageID": 201111066 + }, + { + "EventID": 20111107, + "WorldLevel": 0, + "StageID": 201111070 + }, + { + "EventID": 20111107, + "WorldLevel": 1, + "StageID": 201111071 + }, + { + "EventID": 20111107, + "WorldLevel": 2, + "StageID": 201111072 + }, + { + "EventID": 20111107, + "WorldLevel": 3, + "StageID": 201111073 + }, + { + "EventID": 20111107, + "WorldLevel": 4, + "StageID": 201111074 + }, + { + "EventID": 20111107, + "WorldLevel": 5, + "StageID": 201111075 + }, + { + "EventID": 20111107, + "WorldLevel": 6, + "StageID": 201111076 + }, + { + "EventID": 20111108, + "WorldLevel": 0, + "StageID": 201111080 + }, + { + "EventID": 20111108, + "WorldLevel": 1, + "StageID": 201111081 + }, + { + "EventID": 20111108, + "WorldLevel": 2, + "StageID": 201111082 + }, + { + "EventID": 20111108, + "WorldLevel": 3, + "StageID": 201111083 + }, + { + "EventID": 20111108, + "WorldLevel": 4, + "StageID": 201111084 + }, + { + "EventID": 20111108, + "WorldLevel": 5, + "StageID": 201111085 + }, + { + "EventID": 20111108, + "WorldLevel": 6, + "StageID": 201111086 + }, + { + "EventID": 20111131, + "WorldLevel": 0, + "StageID": 201111310 + }, + { + "EventID": 20111131, + "WorldLevel": 1, + "StageID": 201111311 + }, + { + "EventID": 20111131, + "WorldLevel": 2, + "StageID": 201111312 + }, + { + "EventID": 20111131, + "WorldLevel": 3, + "StageID": 201111313 + }, + { + "EventID": 20111131, + "WorldLevel": 4, + "StageID": 201111314 + }, + { + "EventID": 20111131, + "WorldLevel": 5, + "StageID": 201111315 + }, + { + "EventID": 20111131, + "WorldLevel": 6, + "StageID": 201111316 + }, + { + "EventID": 20111132, + "WorldLevel": 0, + "StageID": 201111320 + }, + { + "EventID": 20111132, + "WorldLevel": 1, + "StageID": 201111321 + }, + { + "EventID": 20111132, + "WorldLevel": 2, + "StageID": 201111322 + }, + { + "EventID": 20111132, + "WorldLevel": 3, + "StageID": 201111323 + }, + { + "EventID": 20111132, + "WorldLevel": 4, + "StageID": 201111324 + }, + { + "EventID": 20111132, + "WorldLevel": 5, + "StageID": 201111325 + }, + { + "EventID": 20111132, + "WorldLevel": 6, + "StageID": 201111326 + }, + { + "EventID": 20111133, + "WorldLevel": 0, + "StageID": 201111330 + }, + { + "EventID": 20111133, + "WorldLevel": 1, + "StageID": 201111331 + }, + { + "EventID": 20111133, + "WorldLevel": 2, + "StageID": 201111332 + }, + { + "EventID": 20111133, + "WorldLevel": 3, + "StageID": 201111333 + }, + { + "EventID": 20111133, + "WorldLevel": 4, + "StageID": 201111334 + }, + { + "EventID": 20111133, + "WorldLevel": 5, + "StageID": 201111335 + }, + { + "EventID": 20111133, + "WorldLevel": 6, + "StageID": 201111336 + }, + { + "EventID": 20111231, + "WorldLevel": 0, + "StageID": 201112310 + }, + { + "EventID": 20111231, + "WorldLevel": 1, + "StageID": 201112311 + }, + { + "EventID": 20111231, + "WorldLevel": 2, + "StageID": 201112312 + }, + { + "EventID": 20111231, + "WorldLevel": 3, + "StageID": 201112313 + }, + { + "EventID": 20111231, + "WorldLevel": 4, + "StageID": 201112314 + }, + { + "EventID": 20111231, + "WorldLevel": 5, + "StageID": 201112315 + }, + { + "EventID": 20111231, + "WorldLevel": 6, + "StageID": 201112316 + }, + { + "EventID": 20111233, + "WorldLevel": 0, + "StageID": 201112330 + }, + { + "EventID": 20111233, + "WorldLevel": 1, + "StageID": 201112331 + }, + { + "EventID": 20111233, + "WorldLevel": 2, + "StageID": 201112332 + }, + { + "EventID": 20111233, + "WorldLevel": 3, + "StageID": 201112333 + }, + { + "EventID": 20111233, + "WorldLevel": 4, + "StageID": 201112334 + }, + { + "EventID": 20111233, + "WorldLevel": 5, + "StageID": 201112335 + }, + { + "EventID": 20111233, + "WorldLevel": 6, + "StageID": 201112336 + }, + { + "EventID": 20111234, + "WorldLevel": 0, + "StageID": 201112340 + }, + { + "EventID": 20111234, + "WorldLevel": 1, + "StageID": 201112341 + }, + { + "EventID": 20111234, + "WorldLevel": 2, + "StageID": 201112342 + }, + { + "EventID": 20111234, + "WorldLevel": 3, + "StageID": 201112343 + }, + { + "EventID": 20111234, + "WorldLevel": 4, + "StageID": 201112344 + }, + { + "EventID": 20111234, + "WorldLevel": 5, + "StageID": 201112345 + }, + { + "EventID": 20111234, + "WorldLevel": 6, + "StageID": 201112346 + }, + { + "EventID": 20121102, + "WorldLevel": 0, + "StageID": 201211020 + }, + { + "EventID": 20121102, + "WorldLevel": 1, + "StageID": 201211021 + }, + { + "EventID": 20121102, + "WorldLevel": 2, + "StageID": 201211022 + }, + { + "EventID": 20121102, + "WorldLevel": 3, + "StageID": 201211023 + }, + { + "EventID": 20121102, + "WorldLevel": 4, + "StageID": 201211024 + }, + { + "EventID": 20121102, + "WorldLevel": 5, + "StageID": 201211025 + }, + { + "EventID": 20121102, + "WorldLevel": 6, + "StageID": 201211026 + }, + { + "EventID": 20121105, + "WorldLevel": 0, + "StageID": 201211050 + }, + { + "EventID": 20121105, + "WorldLevel": 1, + "StageID": 201211051 + }, + { + "EventID": 20121105, + "WorldLevel": 2, + "StageID": 201211052 + }, + { + "EventID": 20121105, + "WorldLevel": 3, + "StageID": 201211053 + }, + { + "EventID": 20121105, + "WorldLevel": 4, + "StageID": 201211054 + }, + { + "EventID": 20121105, + "WorldLevel": 5, + "StageID": 201211055 + }, + { + "EventID": 20121105, + "WorldLevel": 6, + "StageID": 201211056 + }, + { + "EventID": 20121106, + "WorldLevel": 0, + "StageID": 201211060 + }, + { + "EventID": 20121106, + "WorldLevel": 1, + "StageID": 201211061 + }, + { + "EventID": 20121106, + "WorldLevel": 2, + "StageID": 201211062 + }, + { + "EventID": 20121106, + "WorldLevel": 3, + "StageID": 201211063 + }, + { + "EventID": 20121106, + "WorldLevel": 4, + "StageID": 201211064 + }, + { + "EventID": 20121106, + "WorldLevel": 5, + "StageID": 201211065 + }, + { + "EventID": 20121106, + "WorldLevel": 6, + "StageID": 201211066 + }, + { + "EventID": 20121131, + "WorldLevel": 0, + "StageID": 201211310 + }, + { + "EventID": 20121131, + "WorldLevel": 1, + "StageID": 201211311 + }, + { + "EventID": 20121131, + "WorldLevel": 2, + "StageID": 201211312 + }, + { + "EventID": 20121131, + "WorldLevel": 3, + "StageID": 201211313 + }, + { + "EventID": 20121131, + "WorldLevel": 4, + "StageID": 201211314 + }, + { + "EventID": 20121131, + "WorldLevel": 5, + "StageID": 201211315 + }, + { + "EventID": 20121131, + "WorldLevel": 6, + "StageID": 201211316 + }, + { + "EventID": 20121132, + "WorldLevel": 0, + "StageID": 201211320 + }, + { + "EventID": 20121132, + "WorldLevel": 1, + "StageID": 201211321 + }, + { + "EventID": 20121132, + "WorldLevel": 2, + "StageID": 201211322 + }, + { + "EventID": 20121132, + "WorldLevel": 3, + "StageID": 201211323 + }, + { + "EventID": 20121132, + "WorldLevel": 4, + "StageID": 201211324 + }, + { + "EventID": 20121132, + "WorldLevel": 5, + "StageID": 201211325 + }, + { + "EventID": 20121132, + "WorldLevel": 6, + "StageID": 201211326 + }, + { + "EventID": 20121133, + "WorldLevel": 0, + "StageID": 201211330 + }, + { + "EventID": 20121133, + "WorldLevel": 1, + "StageID": 201211331 + }, + { + "EventID": 20121133, + "WorldLevel": 2, + "StageID": 201211332 + }, + { + "EventID": 20121133, + "WorldLevel": 3, + "StageID": 201211333 + }, + { + "EventID": 20121133, + "WorldLevel": 4, + "StageID": 201211334 + }, + { + "EventID": 20121133, + "WorldLevel": 5, + "StageID": 201211335 + }, + { + "EventID": 20121133, + "WorldLevel": 6, + "StageID": 201211336 + }, + { + "EventID": 20121134, + "WorldLevel": 0, + "StageID": 201211340 + }, + { + "EventID": 20121134, + "WorldLevel": 1, + "StageID": 201211341 + }, + { + "EventID": 20121134, + "WorldLevel": 2, + "StageID": 201211342 + }, + { + "EventID": 20121134, + "WorldLevel": 3, + "StageID": 201211343 + }, + { + "EventID": 20121134, + "WorldLevel": 4, + "StageID": 201211344 + }, + { + "EventID": 20121134, + "WorldLevel": 5, + "StageID": 201211345 + }, + { + "EventID": 20121134, + "WorldLevel": 6, + "StageID": 201211346 + }, + { + "EventID": 20121135, + "WorldLevel": 0, + "StageID": 201211350 + }, + { + "EventID": 20121135, + "WorldLevel": 1, + "StageID": 201211351 + }, + { + "EventID": 20121135, + "WorldLevel": 2, + "StageID": 201211352 + }, + { + "EventID": 20121135, + "WorldLevel": 3, + "StageID": 201211353 + }, + { + "EventID": 20121135, + "WorldLevel": 4, + "StageID": 201211354 + }, + { + "EventID": 20121135, + "WorldLevel": 5, + "StageID": 201211355 + }, + { + "EventID": 20121135, + "WorldLevel": 6, + "StageID": 201211356 + }, + { + "EventID": 20121136, + "WorldLevel": 0, + "StageID": 201211360 + }, + { + "EventID": 20121136, + "WorldLevel": 1, + "StageID": 201211361 + }, + { + "EventID": 20121136, + "WorldLevel": 2, + "StageID": 201211362 + }, + { + "EventID": 20121136, + "WorldLevel": 3, + "StageID": 201211363 + }, + { + "EventID": 20121136, + "WorldLevel": 4, + "StageID": 201211364 + }, + { + "EventID": 20121136, + "WorldLevel": 5, + "StageID": 201211365 + }, + { + "EventID": 20121136, + "WorldLevel": 6, + "StageID": 201211366 + }, + { + "EventID": 20121137, + "WorldLevel": 0, + "StageID": 201211370 + }, + { + "EventID": 20121137, + "WorldLevel": 1, + "StageID": 201211371 + }, + { + "EventID": 20121137, + "WorldLevel": 2, + "StageID": 201211372 + }, + { + "EventID": 20121137, + "WorldLevel": 3, + "StageID": 201211373 + }, + { + "EventID": 20121137, + "WorldLevel": 4, + "StageID": 201211374 + }, + { + "EventID": 20121137, + "WorldLevel": 5, + "StageID": 201211375 + }, + { + "EventID": 20121137, + "WorldLevel": 6, + "StageID": 201211376 + }, + { + "EventID": 20121138, + "WorldLevel": 0, + "StageID": 201211380 + }, + { + "EventID": 20121138, + "WorldLevel": 1, + "StageID": 201211381 + }, + { + "EventID": 20121138, + "WorldLevel": 2, + "StageID": 201211382 + }, + { + "EventID": 20121138, + "WorldLevel": 3, + "StageID": 201211383 + }, + { + "EventID": 20121138, + "WorldLevel": 4, + "StageID": 201211384 + }, + { + "EventID": 20121138, + "WorldLevel": 5, + "StageID": 201211385 + }, + { + "EventID": 20121138, + "WorldLevel": 6, + "StageID": 201211386 + }, + { + "EventID": 20121139, + "WorldLevel": 0, + "StageID": 201211390 + }, + { + "EventID": 20121139, + "WorldLevel": 1, + "StageID": 201211391 + }, + { + "EventID": 20121139, + "WorldLevel": 2, + "StageID": 201211392 + }, + { + "EventID": 20121139, + "WorldLevel": 3, + "StageID": 201211393 + }, + { + "EventID": 20121139, + "WorldLevel": 4, + "StageID": 201211394 + }, + { + "EventID": 20121139, + "WorldLevel": 5, + "StageID": 201211395 + }, + { + "EventID": 20121139, + "WorldLevel": 6, + "StageID": 201211396 + }, + { + "EventID": 20121140, + "WorldLevel": 0, + "StageID": 201211400 + }, + { + "EventID": 20121140, + "WorldLevel": 1, + "StageID": 201211401 + }, + { + "EventID": 20121140, + "WorldLevel": 2, + "StageID": 201211402 + }, + { + "EventID": 20121140, + "WorldLevel": 3, + "StageID": 201211403 + }, + { + "EventID": 20121140, + "WorldLevel": 4, + "StageID": 201211404 + }, + { + "EventID": 20121140, + "WorldLevel": 5, + "StageID": 201211405 + }, + { + "EventID": 20121140, + "WorldLevel": 6, + "StageID": 201211406 + }, + { + "EventID": 20121141, + "WorldLevel": 0, + "StageID": 201211410 + }, + { + "EventID": 20121141, + "WorldLevel": 1, + "StageID": 201211411 + }, + { + "EventID": 20121141, + "WorldLevel": 2, + "StageID": 201211412 + }, + { + "EventID": 20121141, + "WorldLevel": 3, + "StageID": 201211413 + }, + { + "EventID": 20121141, + "WorldLevel": 4, + "StageID": 201211414 + }, + { + "EventID": 20121141, + "WorldLevel": 5, + "StageID": 201211415 + }, + { + "EventID": 20121141, + "WorldLevel": 6, + "StageID": 201211416 + }, + { + "EventID": 20121231, + "WorldLevel": 0, + "StageID": 201212310 + }, + { + "EventID": 20121231, + "WorldLevel": 1, + "StageID": 201212311 + }, + { + "EventID": 20121231, + "WorldLevel": 2, + "StageID": 201212312 + }, + { + "EventID": 20121231, + "WorldLevel": 3, + "StageID": 201212313 + }, + { + "EventID": 20121231, + "WorldLevel": 4, + "StageID": 201212314 + }, + { + "EventID": 20121231, + "WorldLevel": 5, + "StageID": 201212315 + }, + { + "EventID": 20121231, + "WorldLevel": 6, + "StageID": 201212316 + }, + { + "EventID": 20121232, + "WorldLevel": 0, + "StageID": 201212320 + }, + { + "EventID": 20121232, + "WorldLevel": 1, + "StageID": 201212321 + }, + { + "EventID": 20121232, + "WorldLevel": 2, + "StageID": 201212322 + }, + { + "EventID": 20121232, + "WorldLevel": 3, + "StageID": 201212323 + }, + { + "EventID": 20121232, + "WorldLevel": 4, + "StageID": 201212324 + }, + { + "EventID": 20121232, + "WorldLevel": 5, + "StageID": 201212325 + }, + { + "EventID": 20121232, + "WorldLevel": 6, + "StageID": 201212326 + }, + { + "EventID": 20121234, + "WorldLevel": 0, + "StageID": 201212340 + }, + { + "EventID": 20121234, + "WorldLevel": 1, + "StageID": 201212341 + }, + { + "EventID": 20121234, + "WorldLevel": 2, + "StageID": 201212342 + }, + { + "EventID": 20121234, + "WorldLevel": 3, + "StageID": 201212343 + }, + { + "EventID": 20121234, + "WorldLevel": 4, + "StageID": 201212344 + }, + { + "EventID": 20121234, + "WorldLevel": 5, + "StageID": 201212345 + }, + { + "EventID": 20121234, + "WorldLevel": 6, + "StageID": 201212346 + }, + { + "EventID": 20122102, + "WorldLevel": 0, + "StageID": 201221020 + }, + { + "EventID": 20122102, + "WorldLevel": 1, + "StageID": 201221021 + }, + { + "EventID": 20122102, + "WorldLevel": 2, + "StageID": 201221022 + }, + { + "EventID": 20122102, + "WorldLevel": 3, + "StageID": 201221023 + }, + { + "EventID": 20122102, + "WorldLevel": 4, + "StageID": 201221024 + }, + { + "EventID": 20122102, + "WorldLevel": 5, + "StageID": 201221025 + }, + { + "EventID": 20122102, + "WorldLevel": 6, + "StageID": 201221026 + }, + { + "EventID": 20122105, + "WorldLevel": 0, + "StageID": 201221050 + }, + { + "EventID": 20122105, + "WorldLevel": 1, + "StageID": 201221051 + }, + { + "EventID": 20122105, + "WorldLevel": 2, + "StageID": 201221052 + }, + { + "EventID": 20122105, + "WorldLevel": 3, + "StageID": 201221053 + }, + { + "EventID": 20122105, + "WorldLevel": 4, + "StageID": 201221054 + }, + { + "EventID": 20122105, + "WorldLevel": 5, + "StageID": 201221055 + }, + { + "EventID": 20122105, + "WorldLevel": 6, + "StageID": 201221056 + }, + { + "EventID": 20122106, + "WorldLevel": 0, + "StageID": 201221060 + }, + { + "EventID": 20122106, + "WorldLevel": 1, + "StageID": 201221061 + }, + { + "EventID": 20122106, + "WorldLevel": 2, + "StageID": 201221062 + }, + { + "EventID": 20122106, + "WorldLevel": 3, + "StageID": 201221063 + }, + { + "EventID": 20122106, + "WorldLevel": 4, + "StageID": 201221064 + }, + { + "EventID": 20122106, + "WorldLevel": 5, + "StageID": 201221065 + }, + { + "EventID": 20122106, + "WorldLevel": 6, + "StageID": 201221066 + }, + { + "EventID": 20122131, + "WorldLevel": 0, + "StageID": 201221310 + }, + { + "EventID": 20122131, + "WorldLevel": 1, + "StageID": 201221311 + }, + { + "EventID": 20122131, + "WorldLevel": 2, + "StageID": 201221312 + }, + { + "EventID": 20122131, + "WorldLevel": 3, + "StageID": 201221313 + }, + { + "EventID": 20122131, + "WorldLevel": 4, + "StageID": 201221314 + }, + { + "EventID": 20122131, + "WorldLevel": 5, + "StageID": 201221315 + }, + { + "EventID": 20122131, + "WorldLevel": 6, + "StageID": 201221316 + }, + { + "EventID": 20122132, + "WorldLevel": 0, + "StageID": 201221320 + }, + { + "EventID": 20122132, + "WorldLevel": 1, + "StageID": 201221321 + }, + { + "EventID": 20122132, + "WorldLevel": 2, + "StageID": 201221322 + }, + { + "EventID": 20122132, + "WorldLevel": 3, + "StageID": 201221323 + }, + { + "EventID": 20122132, + "WorldLevel": 4, + "StageID": 201221324 + }, + { + "EventID": 20122132, + "WorldLevel": 5, + "StageID": 201221325 + }, + { + "EventID": 20122132, + "WorldLevel": 6, + "StageID": 201221326 + }, + { + "EventID": 20122133, + "WorldLevel": 0, + "StageID": 201221330 + }, + { + "EventID": 20122133, + "WorldLevel": 1, + "StageID": 201221331 + }, + { + "EventID": 20122133, + "WorldLevel": 2, + "StageID": 201221332 + }, + { + "EventID": 20122133, + "WorldLevel": 3, + "StageID": 201221333 + }, + { + "EventID": 20122133, + "WorldLevel": 4, + "StageID": 201221334 + }, + { + "EventID": 20122133, + "WorldLevel": 5, + "StageID": 201221335 + }, + { + "EventID": 20122133, + "WorldLevel": 6, + "StageID": 201221336 + }, + { + "EventID": 20122137, + "WorldLevel": 0, + "StageID": 201221370 + }, + { + "EventID": 20122137, + "WorldLevel": 1, + "StageID": 201221371 + }, + { + "EventID": 20122137, + "WorldLevel": 2, + "StageID": 201221372 + }, + { + "EventID": 20122137, + "WorldLevel": 3, + "StageID": 201221373 + }, + { + "EventID": 20122137, + "WorldLevel": 4, + "StageID": 201221374 + }, + { + "EventID": 20122137, + "WorldLevel": 5, + "StageID": 201221375 + }, + { + "EventID": 20122137, + "WorldLevel": 6, + "StageID": 201221376 + }, + { + "EventID": 20122138, + "WorldLevel": 0, + "StageID": 201221380 + }, + { + "EventID": 20122138, + "WorldLevel": 1, + "StageID": 201221381 + }, + { + "EventID": 20122138, + "WorldLevel": 2, + "StageID": 201221382 + }, + { + "EventID": 20122138, + "WorldLevel": 3, + "StageID": 201221383 + }, + { + "EventID": 20122138, + "WorldLevel": 4, + "StageID": 201221384 + }, + { + "EventID": 20122138, + "WorldLevel": 5, + "StageID": 201221385 + }, + { + "EventID": 20122138, + "WorldLevel": 6, + "StageID": 201221386 + }, + { + "EventID": 20122231, + "WorldLevel": 0, + "StageID": 201222310 + }, + { + "EventID": 20122231, + "WorldLevel": 1, + "StageID": 201222311 + }, + { + "EventID": 20122231, + "WorldLevel": 2, + "StageID": 201222312 + }, + { + "EventID": 20122231, + "WorldLevel": 3, + "StageID": 201222313 + }, + { + "EventID": 20122231, + "WorldLevel": 4, + "StageID": 201222314 + }, + { + "EventID": 20122231, + "WorldLevel": 5, + "StageID": 201222315 + }, + { + "EventID": 20122231, + "WorldLevel": 6, + "StageID": 201222316 + }, + { + "EventID": 20122232, + "WorldLevel": 0, + "StageID": 201222320 + }, + { + "EventID": 20122232, + "WorldLevel": 1, + "StageID": 201222321 + }, + { + "EventID": 20122232, + "WorldLevel": 2, + "StageID": 201222322 + }, + { + "EventID": 20122232, + "WorldLevel": 3, + "StageID": 201222323 + }, + { + "EventID": 20122232, + "WorldLevel": 4, + "StageID": 201222324 + }, + { + "EventID": 20122232, + "WorldLevel": 5, + "StageID": 201222325 + }, + { + "EventID": 20122232, + "WorldLevel": 6, + "StageID": 201222326 + }, + { + "EventID": 20122233, + "WorldLevel": 0, + "StageID": 201222330 + }, + { + "EventID": 20122233, + "WorldLevel": 1, + "StageID": 201222331 + }, + { + "EventID": 20122233, + "WorldLevel": 2, + "StageID": 201222332 + }, + { + "EventID": 20122233, + "WorldLevel": 3, + "StageID": 201222333 + }, + { + "EventID": 20122233, + "WorldLevel": 4, + "StageID": 201222334 + }, + { + "EventID": 20122233, + "WorldLevel": 5, + "StageID": 201222335 + }, + { + "EventID": 20122233, + "WorldLevel": 6, + "StageID": 201222336 + }, + { + "EventID": 20122234, + "WorldLevel": 0, + "StageID": 201222340 + }, + { + "EventID": 20122234, + "WorldLevel": 1, + "StageID": 201222341 + }, + { + "EventID": 20122234, + "WorldLevel": 2, + "StageID": 201222342 + }, + { + "EventID": 20122234, + "WorldLevel": 3, + "StageID": 201222343 + }, + { + "EventID": 20122234, + "WorldLevel": 4, + "StageID": 201222344 + }, + { + "EventID": 20122234, + "WorldLevel": 5, + "StageID": 201222345 + }, + { + "EventID": 20122234, + "WorldLevel": 6, + "StageID": 201222346 + }, + { + "EventID": 20123105, + "WorldLevel": 0, + "StageID": 201231050 + }, + { + "EventID": 20123105, + "WorldLevel": 1, + "StageID": 201231051 + }, + { + "EventID": 20123105, + "WorldLevel": 2, + "StageID": 201231052 + }, + { + "EventID": 20123105, + "WorldLevel": 3, + "StageID": 201231053 + }, + { + "EventID": 20123105, + "WorldLevel": 4, + "StageID": 201231054 + }, + { + "EventID": 20123105, + "WorldLevel": 5, + "StageID": 201231055 + }, + { + "EventID": 20123105, + "WorldLevel": 6, + "StageID": 201231056 + }, + { + "EventID": 20123106, + "WorldLevel": 0, + "StageID": 201231060 + }, + { + "EventID": 20123106, + "WorldLevel": 1, + "StageID": 201231061 + }, + { + "EventID": 20123106, + "WorldLevel": 2, + "StageID": 201231062 + }, + { + "EventID": 20123106, + "WorldLevel": 3, + "StageID": 201231063 + }, + { + "EventID": 20123106, + "WorldLevel": 4, + "StageID": 201231064 + }, + { + "EventID": 20123106, + "WorldLevel": 5, + "StageID": 201231065 + }, + { + "EventID": 20123106, + "WorldLevel": 6, + "StageID": 201231066 + }, + { + "EventID": 20123107, + "WorldLevel": 0, + "StageID": 201231070 + }, + { + "EventID": 20123107, + "WorldLevel": 1, + "StageID": 201231071 + }, + { + "EventID": 20123107, + "WorldLevel": 2, + "StageID": 201231072 + }, + { + "EventID": 20123107, + "WorldLevel": 3, + "StageID": 201231073 + }, + { + "EventID": 20123107, + "WorldLevel": 4, + "StageID": 201231074 + }, + { + "EventID": 20123107, + "WorldLevel": 5, + "StageID": 201231075 + }, + { + "EventID": 20123107, + "WorldLevel": 6, + "StageID": 201231076 + }, + { + "EventID": 20123108, + "WorldLevel": 0, + "StageID": 201231080 + }, + { + "EventID": 20123108, + "WorldLevel": 1, + "StageID": 201231081 + }, + { + "EventID": 20123108, + "WorldLevel": 2, + "StageID": 201231082 + }, + { + "EventID": 20123108, + "WorldLevel": 3, + "StageID": 201231083 + }, + { + "EventID": 20123108, + "WorldLevel": 4, + "StageID": 201231084 + }, + { + "EventID": 20123108, + "WorldLevel": 5, + "StageID": 201231085 + }, + { + "EventID": 20123108, + "WorldLevel": 6, + "StageID": 201231086 + }, + { + "EventID": 20123131, + "WorldLevel": 0, + "StageID": 201231310 + }, + { + "EventID": 20123131, + "WorldLevel": 1, + "StageID": 201231311 + }, + { + "EventID": 20123131, + "WorldLevel": 2, + "StageID": 201231312 + }, + { + "EventID": 20123131, + "WorldLevel": 3, + "StageID": 201231313 + }, + { + "EventID": 20123131, + "WorldLevel": 4, + "StageID": 201231314 + }, + { + "EventID": 20123131, + "WorldLevel": 5, + "StageID": 201231315 + }, + { + "EventID": 20123131, + "WorldLevel": 6, + "StageID": 201231316 + }, + { + "EventID": 20123132, + "WorldLevel": 0, + "StageID": 201231320 + }, + { + "EventID": 20123132, + "WorldLevel": 1, + "StageID": 201231321 + }, + { + "EventID": 20123132, + "WorldLevel": 2, + "StageID": 201231322 + }, + { + "EventID": 20123132, + "WorldLevel": 3, + "StageID": 201231323 + }, + { + "EventID": 20123132, + "WorldLevel": 4, + "StageID": 201231324 + }, + { + "EventID": 20123132, + "WorldLevel": 5, + "StageID": 201231325 + }, + { + "EventID": 20123132, + "WorldLevel": 6, + "StageID": 201231326 + }, + { + "EventID": 20123133, + "WorldLevel": 0, + "StageID": 201231330 + }, + { + "EventID": 20123133, + "WorldLevel": 1, + "StageID": 201231331 + }, + { + "EventID": 20123133, + "WorldLevel": 2, + "StageID": 201231332 + }, + { + "EventID": 20123133, + "WorldLevel": 3, + "StageID": 201231333 + }, + { + "EventID": 20123133, + "WorldLevel": 4, + "StageID": 201231334 + }, + { + "EventID": 20123133, + "WorldLevel": 5, + "StageID": 201231335 + }, + { + "EventID": 20123133, + "WorldLevel": 6, + "StageID": 201231336 + }, + { + "EventID": 20123134, + "WorldLevel": 0, + "StageID": 201231340 + }, + { + "EventID": 20123134, + "WorldLevel": 1, + "StageID": 201231341 + }, + { + "EventID": 20123134, + "WorldLevel": 2, + "StageID": 201231342 + }, + { + "EventID": 20123134, + "WorldLevel": 3, + "StageID": 201231343 + }, + { + "EventID": 20123134, + "WorldLevel": 4, + "StageID": 201231344 + }, + { + "EventID": 20123134, + "WorldLevel": 5, + "StageID": 201231345 + }, + { + "EventID": 20123134, + "WorldLevel": 6, + "StageID": 201231346 + }, + { + "EventID": 20123231, + "WorldLevel": 0, + "StageID": 201232310 + }, + { + "EventID": 20123231, + "WorldLevel": 1, + "StageID": 201232311 + }, + { + "EventID": 20123231, + "WorldLevel": 2, + "StageID": 201232312 + }, + { + "EventID": 20123231, + "WorldLevel": 3, + "StageID": 201232313 + }, + { + "EventID": 20123231, + "WorldLevel": 4, + "StageID": 201232314 + }, + { + "EventID": 20123231, + "WorldLevel": 5, + "StageID": 201232315 + }, + { + "EventID": 20123231, + "WorldLevel": 6, + "StageID": 201232316 + }, + { + "EventID": 20123232, + "WorldLevel": 0, + "StageID": 201232320 + }, + { + "EventID": 20123232, + "WorldLevel": 1, + "StageID": 201232321 + }, + { + "EventID": 20123232, + "WorldLevel": 2, + "StageID": 201232322 + }, + { + "EventID": 20123232, + "WorldLevel": 3, + "StageID": 201232323 + }, + { + "EventID": 20123232, + "WorldLevel": 4, + "StageID": 201232324 + }, + { + "EventID": 20123232, + "WorldLevel": 5, + "StageID": 201232325 + }, + { + "EventID": 20123232, + "WorldLevel": 6, + "StageID": 201232326 + }, + { + "EventID": 20123233, + "WorldLevel": 0, + "StageID": 201232330 + }, + { + "EventID": 20123233, + "WorldLevel": 1, + "StageID": 201232331 + }, + { + "EventID": 20123233, + "WorldLevel": 2, + "StageID": 201232332 + }, + { + "EventID": 20123233, + "WorldLevel": 3, + "StageID": 201232333 + }, + { + "EventID": 20123233, + "WorldLevel": 4, + "StageID": 201232334 + }, + { + "EventID": 20123233, + "WorldLevel": 5, + "StageID": 201232335 + }, + { + "EventID": 20123233, + "WorldLevel": 6, + "StageID": 201232336 + }, + { + "EventID": 20123234, + "WorldLevel": 0, + "StageID": 201232340 + }, + { + "EventID": 20123234, + "WorldLevel": 1, + "StageID": 201232341 + }, + { + "EventID": 20123234, + "WorldLevel": 2, + "StageID": 201232342 + }, + { + "EventID": 20123234, + "WorldLevel": 3, + "StageID": 201232343 + }, + { + "EventID": 20123234, + "WorldLevel": 4, + "StageID": 201232344 + }, + { + "EventID": 20123234, + "WorldLevel": 5, + "StageID": 201232345 + }, + { + "EventID": 20123234, + "WorldLevel": 6, + "StageID": 201232346 + }, + { + "EventID": 20131001, + "WorldLevel": 0, + "StageID": 201310010 + }, + { + "EventID": 20131001, + "WorldLevel": 1, + "StageID": 201310011 + }, + { + "EventID": 20131001, + "WorldLevel": 2, + "StageID": 201310012 + }, + { + "EventID": 20131001, + "WorldLevel": 3, + "StageID": 201310013 + }, + { + "EventID": 20131001, + "WorldLevel": 4, + "StageID": 201310014 + }, + { + "EventID": 20131001, + "WorldLevel": 5, + "StageID": 201310015 + }, + { + "EventID": 20131001, + "WorldLevel": 6, + "StageID": 201310016 + }, + { + "EventID": 20131105, + "WorldLevel": 0, + "StageID": 201311050 + }, + { + "EventID": 20131105, + "WorldLevel": 1, + "StageID": 201311051 + }, + { + "EventID": 20131105, + "WorldLevel": 2, + "StageID": 201311052 + }, + { + "EventID": 20131105, + "WorldLevel": 3, + "StageID": 201311053 + }, + { + "EventID": 20131105, + "WorldLevel": 4, + "StageID": 201311054 + }, + { + "EventID": 20131105, + "WorldLevel": 5, + "StageID": 201311055 + }, + { + "EventID": 20131105, + "WorldLevel": 6, + "StageID": 201311056 + }, + { + "EventID": 20132101, + "WorldLevel": 0, + "StageID": 201321010 + }, + { + "EventID": 20132101, + "WorldLevel": 1, + "StageID": 201321011 + }, + { + "EventID": 20132101, + "WorldLevel": 2, + "StageID": 201321012 + }, + { + "EventID": 20132101, + "WorldLevel": 3, + "StageID": 201321013 + }, + { + "EventID": 20132101, + "WorldLevel": 4, + "StageID": 201321014 + }, + { + "EventID": 20132101, + "WorldLevel": 5, + "StageID": 201321015 + }, + { + "EventID": 20132101, + "WorldLevel": 6, + "StageID": 201321016 + }, + { + "EventID": 20132102, + "WorldLevel": 0, + "StageID": 201321020 + }, + { + "EventID": 20132102, + "WorldLevel": 1, + "StageID": 201321021 + }, + { + "EventID": 20132102, + "WorldLevel": 2, + "StageID": 201321022 + }, + { + "EventID": 20132102, + "WorldLevel": 3, + "StageID": 201321023 + }, + { + "EventID": 20132102, + "WorldLevel": 4, + "StageID": 201321024 + }, + { + "EventID": 20132102, + "WorldLevel": 5, + "StageID": 201321025 + }, + { + "EventID": 20132102, + "WorldLevel": 6, + "StageID": 201321026 + }, + { + "EventID": 20132104, + "WorldLevel": 0, + "StageID": 201321040 + }, + { + "EventID": 20132104, + "WorldLevel": 1, + "StageID": 201321041 + }, + { + "EventID": 20132104, + "WorldLevel": 2, + "StageID": 201321042 + }, + { + "EventID": 20132104, + "WorldLevel": 3, + "StageID": 201321043 + }, + { + "EventID": 20132104, + "WorldLevel": 4, + "StageID": 201321044 + }, + { + "EventID": 20132104, + "WorldLevel": 5, + "StageID": 201321045 + }, + { + "EventID": 20132104, + "WorldLevel": 6, + "StageID": 201321046 + }, + { + "EventID": 20132105, + "WorldLevel": 0, + "StageID": 201321050 + }, + { + "EventID": 20132105, + "WorldLevel": 1, + "StageID": 201321051 + }, + { + "EventID": 20132105, + "WorldLevel": 2, + "StageID": 201321052 + }, + { + "EventID": 20132105, + "WorldLevel": 3, + "StageID": 201321053 + }, + { + "EventID": 20132105, + "WorldLevel": 4, + "StageID": 201321054 + }, + { + "EventID": 20132105, + "WorldLevel": 5, + "StageID": 201321055 + }, + { + "EventID": 20132105, + "WorldLevel": 6, + "StageID": 201321056 + }, + { + "EventID": 20132112, + "WorldLevel": 0, + "StageID": 201321120 + }, + { + "EventID": 20132112, + "WorldLevel": 1, + "StageID": 201321121 + }, + { + "EventID": 20132112, + "WorldLevel": 2, + "StageID": 201321122 + }, + { + "EventID": 20132112, + "WorldLevel": 3, + "StageID": 201321123 + }, + { + "EventID": 20132112, + "WorldLevel": 4, + "StageID": 201321124 + }, + { + "EventID": 20132112, + "WorldLevel": 5, + "StageID": 201321125 + }, + { + "EventID": 20132112, + "WorldLevel": 6, + "StageID": 201321126 + }, + { + "EventID": 20132113, + "WorldLevel": 0, + "StageID": 201321130 + }, + { + "EventID": 20132113, + "WorldLevel": 1, + "StageID": 201321131 + }, + { + "EventID": 20132113, + "WorldLevel": 2, + "StageID": 201321132 + }, + { + "EventID": 20132113, + "WorldLevel": 3, + "StageID": 201321133 + }, + { + "EventID": 20132113, + "WorldLevel": 4, + "StageID": 201321134 + }, + { + "EventID": 20132113, + "WorldLevel": 5, + "StageID": 201321135 + }, + { + "EventID": 20132113, + "WorldLevel": 6, + "StageID": 201321136 + }, + { + "EventID": 20132131, + "WorldLevel": 0, + "StageID": 201321310 + }, + { + "EventID": 20132131, + "WorldLevel": 1, + "StageID": 201321311 + }, + { + "EventID": 20132131, + "WorldLevel": 2, + "StageID": 201321312 + }, + { + "EventID": 20132131, + "WorldLevel": 3, + "StageID": 201321313 + }, + { + "EventID": 20132131, + "WorldLevel": 4, + "StageID": 201321314 + }, + { + "EventID": 20132131, + "WorldLevel": 5, + "StageID": 201321315 + }, + { + "EventID": 20132131, + "WorldLevel": 6, + "StageID": 201321316 + }, + { + "EventID": 20132132, + "WorldLevel": 0, + "StageID": 201321320 + }, + { + "EventID": 20132132, + "WorldLevel": 1, + "StageID": 201321321 + }, + { + "EventID": 20132132, + "WorldLevel": 2, + "StageID": 201321322 + }, + { + "EventID": 20132132, + "WorldLevel": 3, + "StageID": 201321323 + }, + { + "EventID": 20132132, + "WorldLevel": 4, + "StageID": 201321324 + }, + { + "EventID": 20132132, + "WorldLevel": 5, + "StageID": 201321325 + }, + { + "EventID": 20132132, + "WorldLevel": 6, + "StageID": 201321326 + }, + { + "EventID": 20132133, + "WorldLevel": 0, + "StageID": 201321330 + }, + { + "EventID": 20132133, + "WorldLevel": 1, + "StageID": 201321331 + }, + { + "EventID": 20132133, + "WorldLevel": 2, + "StageID": 201321332 + }, + { + "EventID": 20132133, + "WorldLevel": 3, + "StageID": 201321333 + }, + { + "EventID": 20132133, + "WorldLevel": 4, + "StageID": 201321334 + }, + { + "EventID": 20132133, + "WorldLevel": 5, + "StageID": 201321335 + }, + { + "EventID": 20132133, + "WorldLevel": 6, + "StageID": 201321336 + }, + { + "EventID": 20132134, + "WorldLevel": 0, + "StageID": 201321340 + }, + { + "EventID": 20132134, + "WorldLevel": 1, + "StageID": 201321341 + }, + { + "EventID": 20132134, + "WorldLevel": 2, + "StageID": 201321342 + }, + { + "EventID": 20132134, + "WorldLevel": 3, + "StageID": 201321343 + }, + { + "EventID": 20132134, + "WorldLevel": 4, + "StageID": 201321344 + }, + { + "EventID": 20132134, + "WorldLevel": 5, + "StageID": 201321345 + }, + { + "EventID": 20132134, + "WorldLevel": 6, + "StageID": 201321346 + }, + { + "EventID": 20132135, + "WorldLevel": 0, + "StageID": 201321350 + }, + { + "EventID": 20132135, + "WorldLevel": 1, + "StageID": 201321351 + }, + { + "EventID": 20132135, + "WorldLevel": 2, + "StageID": 201321352 + }, + { + "EventID": 20132135, + "WorldLevel": 3, + "StageID": 201321353 + }, + { + "EventID": 20132135, + "WorldLevel": 4, + "StageID": 201321354 + }, + { + "EventID": 20132135, + "WorldLevel": 5, + "StageID": 201321355 + }, + { + "EventID": 20132135, + "WorldLevel": 6, + "StageID": 201321356 + }, + { + "EventID": 20132136, + "WorldLevel": 0, + "StageID": 201321360 + }, + { + "EventID": 20132136, + "WorldLevel": 1, + "StageID": 201321361 + }, + { + "EventID": 20132136, + "WorldLevel": 2, + "StageID": 201321362 + }, + { + "EventID": 20132136, + "WorldLevel": 3, + "StageID": 201321363 + }, + { + "EventID": 20132136, + "WorldLevel": 4, + "StageID": 201321364 + }, + { + "EventID": 20132136, + "WorldLevel": 5, + "StageID": 201321365 + }, + { + "EventID": 20132136, + "WorldLevel": 6, + "StageID": 201321366 + }, + { + "EventID": 20132137, + "WorldLevel": 0, + "StageID": 201321370 + }, + { + "EventID": 20132137, + "WorldLevel": 1, + "StageID": 201321371 + }, + { + "EventID": 20132137, + "WorldLevel": 2, + "StageID": 201321372 + }, + { + "EventID": 20132137, + "WorldLevel": 3, + "StageID": 201321373 + }, + { + "EventID": 20132137, + "WorldLevel": 4, + "StageID": 201321374 + }, + { + "EventID": 20132137, + "WorldLevel": 5, + "StageID": 201321375 + }, + { + "EventID": 20132137, + "WorldLevel": 6, + "StageID": 201321376 + }, + { + "EventID": 20132232, + "WorldLevel": 0, + "StageID": 201322320 + }, + { + "EventID": 20132232, + "WorldLevel": 1, + "StageID": 201322321 + }, + { + "EventID": 20132232, + "WorldLevel": 2, + "StageID": 201322322 + }, + { + "EventID": 20132232, + "WorldLevel": 3, + "StageID": 201322323 + }, + { + "EventID": 20132232, + "WorldLevel": 4, + "StageID": 201322324 + }, + { + "EventID": 20132232, + "WorldLevel": 5, + "StageID": 201322325 + }, + { + "EventID": 20132232, + "WorldLevel": 6, + "StageID": 201322326 + }, + { + "EventID": 20132233, + "WorldLevel": 0, + "StageID": 201322330 + }, + { + "EventID": 20132233, + "WorldLevel": 1, + "StageID": 201322331 + }, + { + "EventID": 20132233, + "WorldLevel": 2, + "StageID": 201322332 + }, + { + "EventID": 20132233, + "WorldLevel": 3, + "StageID": 201322333 + }, + { + "EventID": 20132233, + "WorldLevel": 4, + "StageID": 201322334 + }, + { + "EventID": 20132233, + "WorldLevel": 5, + "StageID": 201322335 + }, + { + "EventID": 20132233, + "WorldLevel": 6, + "StageID": 201322336 + }, + { + "EventID": 20132234, + "WorldLevel": 0, + "StageID": 201322340 + }, + { + "EventID": 20132234, + "WorldLevel": 1, + "StageID": 201322341 + }, + { + "EventID": 20132234, + "WorldLevel": 2, + "StageID": 201322342 + }, + { + "EventID": 20132234, + "WorldLevel": 3, + "StageID": 201322343 + }, + { + "EventID": 20132234, + "WorldLevel": 4, + "StageID": 201322344 + }, + { + "EventID": 20132234, + "WorldLevel": 5, + "StageID": 201322345 + }, + { + "EventID": 20132234, + "WorldLevel": 6, + "StageID": 201322346 + }, + { + "EventID": 20134101, + "WorldLevel": 0, + "StageID": 201341010 + }, + { + "EventID": 20134101, + "WorldLevel": 1, + "StageID": 201341011 + }, + { + "EventID": 20134101, + "WorldLevel": 2, + "StageID": 201341012 + }, + { + "EventID": 20134101, + "WorldLevel": 3, + "StageID": 201341013 + }, + { + "EventID": 20134101, + "WorldLevel": 4, + "StageID": 201341014 + }, + { + "EventID": 20134101, + "WorldLevel": 5, + "StageID": 201341015 + }, + { + "EventID": 20134101, + "WorldLevel": 6, + "StageID": 201341016 + }, + { + "EventID": 20134102, + "WorldLevel": 0, + "StageID": 201341020 + }, + { + "EventID": 20134102, + "WorldLevel": 1, + "StageID": 201341021 + }, + { + "EventID": 20134102, + "WorldLevel": 2, + "StageID": 201341022 + }, + { + "EventID": 20134102, + "WorldLevel": 3, + "StageID": 201341023 + }, + { + "EventID": 20134102, + "WorldLevel": 4, + "StageID": 201341024 + }, + { + "EventID": 20134102, + "WorldLevel": 5, + "StageID": 201341025 + }, + { + "EventID": 20134102, + "WorldLevel": 6, + "StageID": 201341026 + }, + { + "EventID": 20134103, + "WorldLevel": 0, + "StageID": 201341030 + }, + { + "EventID": 20134103, + "WorldLevel": 1, + "StageID": 201341031 + }, + { + "EventID": 20134103, + "WorldLevel": 2, + "StageID": 201341032 + }, + { + "EventID": 20134103, + "WorldLevel": 3, + "StageID": 201341033 + }, + { + "EventID": 20134103, + "WorldLevel": 4, + "StageID": 201341034 + }, + { + "EventID": 20134103, + "WorldLevel": 5, + "StageID": 201341035 + }, + { + "EventID": 20134103, + "WorldLevel": 6, + "StageID": 201341036 + }, + { + "EventID": 20134104, + "WorldLevel": 0, + "StageID": 201341040 + }, + { + "EventID": 20134104, + "WorldLevel": 1, + "StageID": 201341041 + }, + { + "EventID": 20134104, + "WorldLevel": 2, + "StageID": 201341042 + }, + { + "EventID": 20134104, + "WorldLevel": 3, + "StageID": 201341043 + }, + { + "EventID": 20134104, + "WorldLevel": 4, + "StageID": 201341044 + }, + { + "EventID": 20134104, + "WorldLevel": 5, + "StageID": 201341045 + }, + { + "EventID": 20134104, + "WorldLevel": 6, + "StageID": 201341046 + }, + { + "EventID": 20134105, + "WorldLevel": 0, + "StageID": 201341050 + }, + { + "EventID": 20134105, + "WorldLevel": 1, + "StageID": 201341051 + }, + { + "EventID": 20134105, + "WorldLevel": 2, + "StageID": 201341052 + }, + { + "EventID": 20134105, + "WorldLevel": 3, + "StageID": 201341053 + }, + { + "EventID": 20134105, + "WorldLevel": 4, + "StageID": 201341054 + }, + { + "EventID": 20134105, + "WorldLevel": 5, + "StageID": 201341055 + }, + { + "EventID": 20134105, + "WorldLevel": 6, + "StageID": 201341056 + }, + { + "EventID": 20134106, + "WorldLevel": 0, + "StageID": 201341060 + }, + { + "EventID": 20134106, + "WorldLevel": 1, + "StageID": 201341061 + }, + { + "EventID": 20134106, + "WorldLevel": 2, + "StageID": 201341062 + }, + { + "EventID": 20134106, + "WorldLevel": 3, + "StageID": 201341063 + }, + { + "EventID": 20134106, + "WorldLevel": 4, + "StageID": 201341064 + }, + { + "EventID": 20134106, + "WorldLevel": 5, + "StageID": 201341065 + }, + { + "EventID": 20134106, + "WorldLevel": 6, + "StageID": 201341066 + }, + { + "EventID": 20134107, + "WorldLevel": 0, + "StageID": 201341070 + }, + { + "EventID": 20134107, + "WorldLevel": 1, + "StageID": 201341071 + }, + { + "EventID": 20134107, + "WorldLevel": 2, + "StageID": 201341072 + }, + { + "EventID": 20134107, + "WorldLevel": 3, + "StageID": 201341073 + }, + { + "EventID": 20134107, + "WorldLevel": 4, + "StageID": 201341074 + }, + { + "EventID": 20134107, + "WorldLevel": 5, + "StageID": 201341075 + }, + { + "EventID": 20134107, + "WorldLevel": 6, + "StageID": 201341076 + }, + { + "EventID": 20134231, + "WorldLevel": 0, + "StageID": 201342310 + }, + { + "EventID": 20134231, + "WorldLevel": 1, + "StageID": 201342311 + }, + { + "EventID": 20134231, + "WorldLevel": 2, + "StageID": 201342312 + }, + { + "EventID": 20134231, + "WorldLevel": 3, + "StageID": 201342313 + }, + { + "EventID": 20134231, + "WorldLevel": 4, + "StageID": 201342314 + }, + { + "EventID": 20134231, + "WorldLevel": 5, + "StageID": 201342315 + }, + { + "EventID": 20134231, + "WorldLevel": 6, + "StageID": 201342316 + }, + { + "EventID": 20211004, + "WorldLevel": 0, + "StageID": 202110040 + }, + { + "EventID": 20211004, + "WorldLevel": 1, + "StageID": 202110041 + }, + { + "EventID": 20211004, + "WorldLevel": 2, + "StageID": 202110042 + }, + { + "EventID": 20211004, + "WorldLevel": 3, + "StageID": 202110043 + }, + { + "EventID": 20211004, + "WorldLevel": 4, + "StageID": 202110044 + }, + { + "EventID": 20211004, + "WorldLevel": 5, + "StageID": 202110045 + }, + { + "EventID": 20211004, + "WorldLevel": 6, + "StageID": 202110046 + }, + { + "EventID": 20211031, + "WorldLevel": 0, + "StageID": 202110310 + }, + { + "EventID": 20211031, + "WorldLevel": 1, + "StageID": 202110311 + }, + { + "EventID": 20211031, + "WorldLevel": 2, + "StageID": 202110312 + }, + { + "EventID": 20211031, + "WorldLevel": 3, + "StageID": 202110313 + }, + { + "EventID": 20211031, + "WorldLevel": 4, + "StageID": 202110314 + }, + { + "EventID": 20211031, + "WorldLevel": 5, + "StageID": 202110315 + }, + { + "EventID": 20211031, + "WorldLevel": 6, + "StageID": 202110316 + }, + { + "EventID": 20211101, + "WorldLevel": 0, + "StageID": 202111010 + }, + { + "EventID": 20211101, + "WorldLevel": 1, + "StageID": 202111011 + }, + { + "EventID": 20211101, + "WorldLevel": 2, + "StageID": 202111012 + }, + { + "EventID": 20211101, + "WorldLevel": 3, + "StageID": 202111013 + }, + { + "EventID": 20211101, + "WorldLevel": 4, + "StageID": 202111014 + }, + { + "EventID": 20211101, + "WorldLevel": 5, + "StageID": 202111015 + }, + { + "EventID": 20211101, + "WorldLevel": 6, + "StageID": 202111016 + }, + { + "EventID": 20211102, + "WorldLevel": 0, + "StageID": 202111020 + }, + { + "EventID": 20211102, + "WorldLevel": 1, + "StageID": 202111021 + }, + { + "EventID": 20211102, + "WorldLevel": 2, + "StageID": 202111022 + }, + { + "EventID": 20211102, + "WorldLevel": 3, + "StageID": 202111023 + }, + { + "EventID": 20211102, + "WorldLevel": 4, + "StageID": 202111024 + }, + { + "EventID": 20211102, + "WorldLevel": 5, + "StageID": 202111025 + }, + { + "EventID": 20211102, + "WorldLevel": 6, + "StageID": 202111026 + }, + { + "EventID": 20211105, + "WorldLevel": 0, + "StageID": 202111050 + }, + { + "EventID": 20211105, + "WorldLevel": 1, + "StageID": 202111051 + }, + { + "EventID": 20211105, + "WorldLevel": 2, + "StageID": 202111052 + }, + { + "EventID": 20211105, + "WorldLevel": 3, + "StageID": 202111053 + }, + { + "EventID": 20211105, + "WorldLevel": 4, + "StageID": 202111054 + }, + { + "EventID": 20211105, + "WorldLevel": 5, + "StageID": 202111055 + }, + { + "EventID": 20211105, + "WorldLevel": 6, + "StageID": 202111056 + }, + { + "EventID": 20211106, + "WorldLevel": 0, + "StageID": 202111060 + }, + { + "EventID": 20211106, + "WorldLevel": 1, + "StageID": 202111061 + }, + { + "EventID": 20211106, + "WorldLevel": 2, + "StageID": 202111062 + }, + { + "EventID": 20211106, + "WorldLevel": 3, + "StageID": 202111063 + }, + { + "EventID": 20211106, + "WorldLevel": 4, + "StageID": 202111064 + }, + { + "EventID": 20211106, + "WorldLevel": 5, + "StageID": 202111065 + }, + { + "EventID": 20211106, + "WorldLevel": 6, + "StageID": 202111066 + }, + { + "EventID": 20211107, + "WorldLevel": 0, + "StageID": 202111070 + }, + { + "EventID": 20211107, + "WorldLevel": 1, + "StageID": 202111071 + }, + { + "EventID": 20211107, + "WorldLevel": 2, + "StageID": 202111072 + }, + { + "EventID": 20211107, + "WorldLevel": 3, + "StageID": 202111073 + }, + { + "EventID": 20211107, + "WorldLevel": 4, + "StageID": 202111074 + }, + { + "EventID": 20211107, + "WorldLevel": 5, + "StageID": 202111075 + }, + { + "EventID": 20211107, + "WorldLevel": 6, + "StageID": 202111076 + }, + { + "EventID": 20211110, + "WorldLevel": 0, + "StageID": 202111100 + }, + { + "EventID": 20211110, + "WorldLevel": 1, + "StageID": 202111101 + }, + { + "EventID": 20211110, + "WorldLevel": 2, + "StageID": 202111102 + }, + { + "EventID": 20211110, + "WorldLevel": 3, + "StageID": 202111103 + }, + { + "EventID": 20211110, + "WorldLevel": 4, + "StageID": 202111104 + }, + { + "EventID": 20211110, + "WorldLevel": 5, + "StageID": 202111105 + }, + { + "EventID": 20211110, + "WorldLevel": 6, + "StageID": 202111106 + }, + { + "EventID": 20211132, + "WorldLevel": 0, + "StageID": 202111320 + }, + { + "EventID": 20211132, + "WorldLevel": 1, + "StageID": 202111321 + }, + { + "EventID": 20211132, + "WorldLevel": 2, + "StageID": 202111322 + }, + { + "EventID": 20211132, + "WorldLevel": 3, + "StageID": 202111323 + }, + { + "EventID": 20211132, + "WorldLevel": 4, + "StageID": 202111324 + }, + { + "EventID": 20211132, + "WorldLevel": 5, + "StageID": 202111325 + }, + { + "EventID": 20211132, + "WorldLevel": 6, + "StageID": 202111326 + }, + { + "EventID": 20211133, + "WorldLevel": 0, + "StageID": 202111330 + }, + { + "EventID": 20211133, + "WorldLevel": 1, + "StageID": 202111331 + }, + { + "EventID": 20211133, + "WorldLevel": 2, + "StageID": 202111332 + }, + { + "EventID": 20211133, + "WorldLevel": 3, + "StageID": 202111333 + }, + { + "EventID": 20211133, + "WorldLevel": 4, + "StageID": 202111334 + }, + { + "EventID": 20211133, + "WorldLevel": 5, + "StageID": 202111335 + }, + { + "EventID": 20211133, + "WorldLevel": 6, + "StageID": 202111336 + }, + { + "EventID": 20211151, + "WorldLevel": 0, + "StageID": 202111510 + }, + { + "EventID": 20211151, + "WorldLevel": 1, + "StageID": 202111511 + }, + { + "EventID": 20211151, + "WorldLevel": 2, + "StageID": 202111512 + }, + { + "EventID": 20211151, + "WorldLevel": 3, + "StageID": 202111513 + }, + { + "EventID": 20211151, + "WorldLevel": 4, + "StageID": 202111514 + }, + { + "EventID": 20211151, + "WorldLevel": 5, + "StageID": 202111515 + }, + { + "EventID": 20211151, + "WorldLevel": 6, + "StageID": 202111516 + }, + { + "EventID": 20211152, + "WorldLevel": 0, + "StageID": 202111520 + }, + { + "EventID": 20211152, + "WorldLevel": 1, + "StageID": 202111521 + }, + { + "EventID": 20211152, + "WorldLevel": 2, + "StageID": 202111522 + }, + { + "EventID": 20211152, + "WorldLevel": 3, + "StageID": 202111523 + }, + { + "EventID": 20211152, + "WorldLevel": 4, + "StageID": 202111524 + }, + { + "EventID": 20211152, + "WorldLevel": 5, + "StageID": 202111525 + }, + { + "EventID": 20211152, + "WorldLevel": 6, + "StageID": 202111526 + }, + { + "EventID": 20211153, + "WorldLevel": 0, + "StageID": 202111530 + }, + { + "EventID": 20211153, + "WorldLevel": 1, + "StageID": 202111531 + }, + { + "EventID": 20211153, + "WorldLevel": 2, + "StageID": 202111532 + }, + { + "EventID": 20211153, + "WorldLevel": 3, + "StageID": 202111533 + }, + { + "EventID": 20211153, + "WorldLevel": 4, + "StageID": 202111534 + }, + { + "EventID": 20211153, + "WorldLevel": 5, + "StageID": 202111535 + }, + { + "EventID": 20211153, + "WorldLevel": 6, + "StageID": 202111536 + }, + { + "EventID": 20211154, + "WorldLevel": 0, + "StageID": 202111540 + }, + { + "EventID": 20211154, + "WorldLevel": 1, + "StageID": 202111541 + }, + { + "EventID": 20211154, + "WorldLevel": 2, + "StageID": 202111542 + }, + { + "EventID": 20211154, + "WorldLevel": 3, + "StageID": 202111543 + }, + { + "EventID": 20211154, + "WorldLevel": 4, + "StageID": 202111544 + }, + { + "EventID": 20211154, + "WorldLevel": 5, + "StageID": 202111545 + }, + { + "EventID": 20211154, + "WorldLevel": 6, + "StageID": 202111546 + }, + { + "EventID": 20211155, + "WorldLevel": 0, + "StageID": 202111550 + }, + { + "EventID": 20211155, + "WorldLevel": 1, + "StageID": 202111551 + }, + { + "EventID": 20211155, + "WorldLevel": 2, + "StageID": 202111552 + }, + { + "EventID": 20211155, + "WorldLevel": 3, + "StageID": 202111553 + }, + { + "EventID": 20211155, + "WorldLevel": 4, + "StageID": 202111554 + }, + { + "EventID": 20211155, + "WorldLevel": 5, + "StageID": 202111555 + }, + { + "EventID": 20211155, + "WorldLevel": 6, + "StageID": 202111556 + }, + { + "EventID": 20211156, + "WorldLevel": 0, + "StageID": 202111560 + }, + { + "EventID": 20211156, + "WorldLevel": 1, + "StageID": 202111561 + }, + { + "EventID": 20211156, + "WorldLevel": 2, + "StageID": 202111562 + }, + { + "EventID": 20211156, + "WorldLevel": 3, + "StageID": 202111563 + }, + { + "EventID": 20211156, + "WorldLevel": 4, + "StageID": 202111564 + }, + { + "EventID": 20211156, + "WorldLevel": 5, + "StageID": 202111565 + }, + { + "EventID": 20211156, + "WorldLevel": 6, + "StageID": 202111566 + }, + { + "EventID": 20211231, + "WorldLevel": 0, + "StageID": 202112310 + }, + { + "EventID": 20211231, + "WorldLevel": 1, + "StageID": 202112311 + }, + { + "EventID": 20211231, + "WorldLevel": 2, + "StageID": 202112312 + }, + { + "EventID": 20211231, + "WorldLevel": 3, + "StageID": 202112313 + }, + { + "EventID": 20211231, + "WorldLevel": 4, + "StageID": 202112314 + }, + { + "EventID": 20211231, + "WorldLevel": 5, + "StageID": 202112315 + }, + { + "EventID": 20211231, + "WorldLevel": 6, + "StageID": 202112316 + }, + { + "EventID": 20211232, + "WorldLevel": 0, + "StageID": 202112320 + }, + { + "EventID": 20211232, + "WorldLevel": 1, + "StageID": 202112321 + }, + { + "EventID": 20211232, + "WorldLevel": 2, + "StageID": 202112322 + }, + { + "EventID": 20211232, + "WorldLevel": 3, + "StageID": 202112323 + }, + { + "EventID": 20211232, + "WorldLevel": 4, + "StageID": 202112324 + }, + { + "EventID": 20211232, + "WorldLevel": 5, + "StageID": 202112325 + }, + { + "EventID": 20211232, + "WorldLevel": 6, + "StageID": 202112326 + }, + { + "EventID": 20211233, + "WorldLevel": 0, + "StageID": 202112330 + }, + { + "EventID": 20211233, + "WorldLevel": 1, + "StageID": 202112331 + }, + { + "EventID": 20211233, + "WorldLevel": 2, + "StageID": 202112332 + }, + { + "EventID": 20211233, + "WorldLevel": 3, + "StageID": 202112333 + }, + { + "EventID": 20211233, + "WorldLevel": 4, + "StageID": 202112334 + }, + { + "EventID": 20211233, + "WorldLevel": 5, + "StageID": 202112335 + }, + { + "EventID": 20211233, + "WorldLevel": 6, + "StageID": 202112336 + }, + { + "EventID": 20211251, + "WorldLevel": 0, + "StageID": 202112510 + }, + { + "EventID": 20211251, + "WorldLevel": 1, + "StageID": 202112511 + }, + { + "EventID": 20211251, + "WorldLevel": 2, + "StageID": 202112512 + }, + { + "EventID": 20211251, + "WorldLevel": 3, + "StageID": 202112513 + }, + { + "EventID": 20211251, + "WorldLevel": 4, + "StageID": 202112514 + }, + { + "EventID": 20211251, + "WorldLevel": 5, + "StageID": 202112515 + }, + { + "EventID": 20211251, + "WorldLevel": 6, + "StageID": 202112516 + }, + { + "EventID": 20211252, + "WorldLevel": 0, + "StageID": 202112520 + }, + { + "EventID": 20211252, + "WorldLevel": 1, + "StageID": 202112521 + }, + { + "EventID": 20211252, + "WorldLevel": 2, + "StageID": 202112522 + }, + { + "EventID": 20211252, + "WorldLevel": 3, + "StageID": 202112523 + }, + { + "EventID": 20211252, + "WorldLevel": 4, + "StageID": 202112524 + }, + { + "EventID": 20211252, + "WorldLevel": 5, + "StageID": 202112525 + }, + { + "EventID": 20211252, + "WorldLevel": 6, + "StageID": 202112526 + }, + { + "EventID": 20211253, + "WorldLevel": 0, + "StageID": 202112530 + }, + { + "EventID": 20211253, + "WorldLevel": 1, + "StageID": 202112531 + }, + { + "EventID": 20211253, + "WorldLevel": 2, + "StageID": 202112532 + }, + { + "EventID": 20211253, + "WorldLevel": 3, + "StageID": 202112533 + }, + { + "EventID": 20211253, + "WorldLevel": 4, + "StageID": 202112534 + }, + { + "EventID": 20211253, + "WorldLevel": 5, + "StageID": 202112535 + }, + { + "EventID": 20211253, + "WorldLevel": 6, + "StageID": 202112536 + }, + { + "EventID": 20212101, + "WorldLevel": 0, + "StageID": 202121010 + }, + { + "EventID": 20212101, + "WorldLevel": 1, + "StageID": 202121011 + }, + { + "EventID": 20212101, + "WorldLevel": 2, + "StageID": 202121012 + }, + { + "EventID": 20212101, + "WorldLevel": 3, + "StageID": 202121013 + }, + { + "EventID": 20212101, + "WorldLevel": 4, + "StageID": 202121014 + }, + { + "EventID": 20212101, + "WorldLevel": 5, + "StageID": 202121015 + }, + { + "EventID": 20212101, + "WorldLevel": 6, + "StageID": 202121016 + }, + { + "EventID": 20212102, + "WorldLevel": 0, + "StageID": 202121020 + }, + { + "EventID": 20212102, + "WorldLevel": 1, + "StageID": 202121021 + }, + { + "EventID": 20212102, + "WorldLevel": 2, + "StageID": 202121022 + }, + { + "EventID": 20212102, + "WorldLevel": 3, + "StageID": 202121023 + }, + { + "EventID": 20212102, + "WorldLevel": 4, + "StageID": 202121024 + }, + { + "EventID": 20212102, + "WorldLevel": 5, + "StageID": 202121025 + }, + { + "EventID": 20212102, + "WorldLevel": 6, + "StageID": 202121026 + }, + { + "EventID": 20212103, + "WorldLevel": 0, + "StageID": 202121030 + }, + { + "EventID": 20212103, + "WorldLevel": 1, + "StageID": 202121031 + }, + { + "EventID": 20212103, + "WorldLevel": 2, + "StageID": 202121032 + }, + { + "EventID": 20212103, + "WorldLevel": 3, + "StageID": 202121033 + }, + { + "EventID": 20212103, + "WorldLevel": 4, + "StageID": 202121034 + }, + { + "EventID": 20212103, + "WorldLevel": 5, + "StageID": 202121035 + }, + { + "EventID": 20212103, + "WorldLevel": 6, + "StageID": 202121036 + }, + { + "EventID": 20212104, + "WorldLevel": 0, + "StageID": 202121040 + }, + { + "EventID": 20212104, + "WorldLevel": 1, + "StageID": 202121041 + }, + { + "EventID": 20212104, + "WorldLevel": 2, + "StageID": 202121042 + }, + { + "EventID": 20212104, + "WorldLevel": 3, + "StageID": 202121043 + }, + { + "EventID": 20212104, + "WorldLevel": 4, + "StageID": 202121044 + }, + { + "EventID": 20212104, + "WorldLevel": 5, + "StageID": 202121045 + }, + { + "EventID": 20212104, + "WorldLevel": 6, + "StageID": 202121046 + }, + { + "EventID": 20212105, + "WorldLevel": 0, + "StageID": 202121050 + }, + { + "EventID": 20212105, + "WorldLevel": 1, + "StageID": 202121051 + }, + { + "EventID": 20212105, + "WorldLevel": 2, + "StageID": 202121052 + }, + { + "EventID": 20212105, + "WorldLevel": 3, + "StageID": 202121053 + }, + { + "EventID": 20212105, + "WorldLevel": 4, + "StageID": 202121054 + }, + { + "EventID": 20212105, + "WorldLevel": 5, + "StageID": 202121055 + }, + { + "EventID": 20212105, + "WorldLevel": 6, + "StageID": 202121056 + }, + { + "EventID": 20212106, + "WorldLevel": 0, + "StageID": 202121060 + }, + { + "EventID": 20212106, + "WorldLevel": 1, + "StageID": 202121061 + }, + { + "EventID": 20212106, + "WorldLevel": 2, + "StageID": 202121062 + }, + { + "EventID": 20212106, + "WorldLevel": 3, + "StageID": 202121063 + }, + { + "EventID": 20212106, + "WorldLevel": 4, + "StageID": 202121064 + }, + { + "EventID": 20212106, + "WorldLevel": 5, + "StageID": 202121065 + }, + { + "EventID": 20212106, + "WorldLevel": 6, + "StageID": 202121066 + }, + { + "EventID": 20212107, + "WorldLevel": 0, + "StageID": 202121070 + }, + { + "EventID": 20212107, + "WorldLevel": 1, + "StageID": 202121071 + }, + { + "EventID": 20212107, + "WorldLevel": 2, + "StageID": 202121072 + }, + { + "EventID": 20212107, + "WorldLevel": 3, + "StageID": 202121073 + }, + { + "EventID": 20212107, + "WorldLevel": 4, + "StageID": 202121074 + }, + { + "EventID": 20212107, + "WorldLevel": 5, + "StageID": 202121075 + }, + { + "EventID": 20212107, + "WorldLevel": 6, + "StageID": 202121076 + }, + { + "EventID": 20212109, + "WorldLevel": 0, + "StageID": 202121090 + }, + { + "EventID": 20212109, + "WorldLevel": 1, + "StageID": 202121091 + }, + { + "EventID": 20212109, + "WorldLevel": 2, + "StageID": 202121092 + }, + { + "EventID": 20212109, + "WorldLevel": 3, + "StageID": 202121093 + }, + { + "EventID": 20212109, + "WorldLevel": 4, + "StageID": 202121094 + }, + { + "EventID": 20212109, + "WorldLevel": 5, + "StageID": 202121095 + }, + { + "EventID": 20212109, + "WorldLevel": 6, + "StageID": 202121096 + }, + { + "EventID": 20212110, + "WorldLevel": 0, + "StageID": 202121100 + }, + { + "EventID": 20212110, + "WorldLevel": 1, + "StageID": 202121101 + }, + { + "EventID": 20212110, + "WorldLevel": 2, + "StageID": 202121102 + }, + { + "EventID": 20212110, + "WorldLevel": 3, + "StageID": 202121103 + }, + { + "EventID": 20212110, + "WorldLevel": 4, + "StageID": 202121104 + }, + { + "EventID": 20212110, + "WorldLevel": 5, + "StageID": 202121105 + }, + { + "EventID": 20212110, + "WorldLevel": 6, + "StageID": 202121106 + }, + { + "EventID": 20212111, + "WorldLevel": 0, + "StageID": 202121110 + }, + { + "EventID": 20212111, + "WorldLevel": 1, + "StageID": 202121111 + }, + { + "EventID": 20212111, + "WorldLevel": 2, + "StageID": 202121112 + }, + { + "EventID": 20212111, + "WorldLevel": 3, + "StageID": 202121113 + }, + { + "EventID": 20212111, + "WorldLevel": 4, + "StageID": 202121114 + }, + { + "EventID": 20212111, + "WorldLevel": 5, + "StageID": 202121115 + }, + { + "EventID": 20212111, + "WorldLevel": 6, + "StageID": 202121116 + }, + { + "EventID": 20212112, + "WorldLevel": 0, + "StageID": 202121120 + }, + { + "EventID": 20212112, + "WorldLevel": 1, + "StageID": 202121121 + }, + { + "EventID": 20212112, + "WorldLevel": 2, + "StageID": 202121122 + }, + { + "EventID": 20212112, + "WorldLevel": 3, + "StageID": 202121123 + }, + { + "EventID": 20212112, + "WorldLevel": 4, + "StageID": 202121124 + }, + { + "EventID": 20212112, + "WorldLevel": 5, + "StageID": 202121125 + }, + { + "EventID": 20212112, + "WorldLevel": 6, + "StageID": 202121126 + }, + { + "EventID": 20212113, + "WorldLevel": 0, + "StageID": 202121130 + }, + { + "EventID": 20212113, + "WorldLevel": 1, + "StageID": 202121131 + }, + { + "EventID": 20212113, + "WorldLevel": 2, + "StageID": 202121132 + }, + { + "EventID": 20212113, + "WorldLevel": 3, + "StageID": 202121133 + }, + { + "EventID": 20212113, + "WorldLevel": 4, + "StageID": 202121134 + }, + { + "EventID": 20212113, + "WorldLevel": 5, + "StageID": 202121135 + }, + { + "EventID": 20212113, + "WorldLevel": 6, + "StageID": 202121136 + }, + { + "EventID": 20212114, + "WorldLevel": 0, + "StageID": 202121140 + }, + { + "EventID": 20212114, + "WorldLevel": 1, + "StageID": 202121141 + }, + { + "EventID": 20212114, + "WorldLevel": 2, + "StageID": 202121142 + }, + { + "EventID": 20212114, + "WorldLevel": 3, + "StageID": 202121143 + }, + { + "EventID": 20212114, + "WorldLevel": 4, + "StageID": 202121144 + }, + { + "EventID": 20212114, + "WorldLevel": 5, + "StageID": 202121145 + }, + { + "EventID": 20212114, + "WorldLevel": 6, + "StageID": 202121146 + }, + { + "EventID": 20212115, + "WorldLevel": 0, + "StageID": 202121150 + }, + { + "EventID": 20212115, + "WorldLevel": 1, + "StageID": 202121151 + }, + { + "EventID": 20212115, + "WorldLevel": 2, + "StageID": 202121152 + }, + { + "EventID": 20212115, + "WorldLevel": 3, + "StageID": 202121153 + }, + { + "EventID": 20212115, + "WorldLevel": 4, + "StageID": 202121154 + }, + { + "EventID": 20212115, + "WorldLevel": 5, + "StageID": 202121155 + }, + { + "EventID": 20212115, + "WorldLevel": 6, + "StageID": 202121156 + }, + { + "EventID": 20212120, + "WorldLevel": 0, + "StageID": 202121200 + }, + { + "EventID": 20212120, + "WorldLevel": 1, + "StageID": 202121201 + }, + { + "EventID": 20212120, + "WorldLevel": 2, + "StageID": 202121202 + }, + { + "EventID": 20212120, + "WorldLevel": 3, + "StageID": 202121203 + }, + { + "EventID": 20212120, + "WorldLevel": 4, + "StageID": 202121204 + }, + { + "EventID": 20212120, + "WorldLevel": 5, + "StageID": 202121205 + }, + { + "EventID": 20212120, + "WorldLevel": 6, + "StageID": 202121206 + }, + { + "EventID": 20212151, + "WorldLevel": 0, + "StageID": 202121510 + }, + { + "EventID": 20212151, + "WorldLevel": 1, + "StageID": 202121511 + }, + { + "EventID": 20212151, + "WorldLevel": 2, + "StageID": 202121512 + }, + { + "EventID": 20212151, + "WorldLevel": 3, + "StageID": 202121513 + }, + { + "EventID": 20212151, + "WorldLevel": 4, + "StageID": 202121514 + }, + { + "EventID": 20212151, + "WorldLevel": 5, + "StageID": 202121515 + }, + { + "EventID": 20212151, + "WorldLevel": 6, + "StageID": 202121516 + }, + { + "EventID": 20212152, + "WorldLevel": 0, + "StageID": 202121520 + }, + { + "EventID": 20212152, + "WorldLevel": 1, + "StageID": 202121521 + }, + { + "EventID": 20212152, + "WorldLevel": 2, + "StageID": 202121522 + }, + { + "EventID": 20212152, + "WorldLevel": 3, + "StageID": 202121523 + }, + { + "EventID": 20212152, + "WorldLevel": 4, + "StageID": 202121524 + }, + { + "EventID": 20212152, + "WorldLevel": 5, + "StageID": 202121525 + }, + { + "EventID": 20212152, + "WorldLevel": 6, + "StageID": 202121526 + }, + { + "EventID": 20212153, + "WorldLevel": 0, + "StageID": 202121530 + }, + { + "EventID": 20212153, + "WorldLevel": 1, + "StageID": 202121531 + }, + { + "EventID": 20212153, + "WorldLevel": 2, + "StageID": 202121532 + }, + { + "EventID": 20212153, + "WorldLevel": 3, + "StageID": 202121533 + }, + { + "EventID": 20212153, + "WorldLevel": 4, + "StageID": 202121534 + }, + { + "EventID": 20212153, + "WorldLevel": 5, + "StageID": 202121535 + }, + { + "EventID": 20212153, + "WorldLevel": 6, + "StageID": 202121536 + }, + { + "EventID": 20212231, + "WorldLevel": 0, + "StageID": 202122310 + }, + { + "EventID": 20212231, + "WorldLevel": 1, + "StageID": 202122311 + }, + { + "EventID": 20212231, + "WorldLevel": 2, + "StageID": 202122312 + }, + { + "EventID": 20212231, + "WorldLevel": 3, + "StageID": 202122313 + }, + { + "EventID": 20212231, + "WorldLevel": 4, + "StageID": 202122314 + }, + { + "EventID": 20212231, + "WorldLevel": 5, + "StageID": 202122315 + }, + { + "EventID": 20212231, + "WorldLevel": 6, + "StageID": 202122316 + }, + { + "EventID": 20212232, + "WorldLevel": 0, + "StageID": 202122320 + }, + { + "EventID": 20212232, + "WorldLevel": 1, + "StageID": 202122321 + }, + { + "EventID": 20212232, + "WorldLevel": 2, + "StageID": 202122322 + }, + { + "EventID": 20212232, + "WorldLevel": 3, + "StageID": 202122323 + }, + { + "EventID": 20212232, + "WorldLevel": 4, + "StageID": 202122324 + }, + { + "EventID": 20212232, + "WorldLevel": 5, + "StageID": 202122325 + }, + { + "EventID": 20212232, + "WorldLevel": 6, + "StageID": 202122326 + }, + { + "EventID": 20212233, + "WorldLevel": 0, + "StageID": 202122330 + }, + { + "EventID": 20212233, + "WorldLevel": 1, + "StageID": 202122331 + }, + { + "EventID": 20212233, + "WorldLevel": 2, + "StageID": 202122332 + }, + { + "EventID": 20212233, + "WorldLevel": 3, + "StageID": 202122333 + }, + { + "EventID": 20212233, + "WorldLevel": 4, + "StageID": 202122334 + }, + { + "EventID": 20212233, + "WorldLevel": 5, + "StageID": 202122335 + }, + { + "EventID": 20212233, + "WorldLevel": 6, + "StageID": 202122336 + }, + { + "EventID": 20212234, + "WorldLevel": 0, + "StageID": 202122340 + }, + { + "EventID": 20212234, + "WorldLevel": 1, + "StageID": 202122341 + }, + { + "EventID": 20212234, + "WorldLevel": 2, + "StageID": 202122342 + }, + { + "EventID": 20212234, + "WorldLevel": 3, + "StageID": 202122343 + }, + { + "EventID": 20212234, + "WorldLevel": 4, + "StageID": 202122344 + }, + { + "EventID": 20212234, + "WorldLevel": 5, + "StageID": 202122345 + }, + { + "EventID": 20212234, + "WorldLevel": 6, + "StageID": 202122346 + }, + { + "EventID": 20212251, + "WorldLevel": 0, + "StageID": 202122510 + }, + { + "EventID": 20212251, + "WorldLevel": 1, + "StageID": 202122511 + }, + { + "EventID": 20212251, + "WorldLevel": 2, + "StageID": 202122512 + }, + { + "EventID": 20212251, + "WorldLevel": 3, + "StageID": 202122513 + }, + { + "EventID": 20212251, + "WorldLevel": 4, + "StageID": 202122514 + }, + { + "EventID": 20212251, + "WorldLevel": 5, + "StageID": 202122515 + }, + { + "EventID": 20212251, + "WorldLevel": 6, + "StageID": 202122516 + }, + { + "EventID": 20212252, + "WorldLevel": 0, + "StageID": 202122520 + }, + { + "EventID": 20212252, + "WorldLevel": 1, + "StageID": 202122521 + }, + { + "EventID": 20212252, + "WorldLevel": 2, + "StageID": 202122522 + }, + { + "EventID": 20212252, + "WorldLevel": 3, + "StageID": 202122523 + }, + { + "EventID": 20212252, + "WorldLevel": 4, + "StageID": 202122524 + }, + { + "EventID": 20212252, + "WorldLevel": 5, + "StageID": 202122525 + }, + { + "EventID": 20212252, + "WorldLevel": 6, + "StageID": 202122526 + }, + { + "EventID": 20212253, + "WorldLevel": 0, + "StageID": 202122530 + }, + { + "EventID": 20212253, + "WorldLevel": 1, + "StageID": 202122531 + }, + { + "EventID": 20212253, + "WorldLevel": 2, + "StageID": 202122532 + }, + { + "EventID": 20212253, + "WorldLevel": 3, + "StageID": 202122533 + }, + { + "EventID": 20212253, + "WorldLevel": 4, + "StageID": 202122534 + }, + { + "EventID": 20212253, + "WorldLevel": 5, + "StageID": 202122535 + }, + { + "EventID": 20212253, + "WorldLevel": 6, + "StageID": 202122536 + }, + { + "EventID": 20221101, + "WorldLevel": 0, + "StageID": 202211010 + }, + { + "EventID": 20221101, + "WorldLevel": 1, + "StageID": 202211011 + }, + { + "EventID": 20221101, + "WorldLevel": 2, + "StageID": 202211012 + }, + { + "EventID": 20221101, + "WorldLevel": 3, + "StageID": 202211013 + }, + { + "EventID": 20221101, + "WorldLevel": 4, + "StageID": 202211014 + }, + { + "EventID": 20221101, + "WorldLevel": 5, + "StageID": 202211015 + }, + { + "EventID": 20221101, + "WorldLevel": 6, + "StageID": 202211016 + }, + { + "EventID": 20221102, + "WorldLevel": 0, + "StageID": 202211020 + }, + { + "EventID": 20221102, + "WorldLevel": 1, + "StageID": 202211021 + }, + { + "EventID": 20221102, + "WorldLevel": 2, + "StageID": 202211022 + }, + { + "EventID": 20221102, + "WorldLevel": 3, + "StageID": 202211023 + }, + { + "EventID": 20221102, + "WorldLevel": 4, + "StageID": 202211024 + }, + { + "EventID": 20221102, + "WorldLevel": 5, + "StageID": 202211025 + }, + { + "EventID": 20221102, + "WorldLevel": 6, + "StageID": 202211026 + }, + { + "EventID": 20221103, + "WorldLevel": 0, + "StageID": 202211030 + }, + { + "EventID": 20221103, + "WorldLevel": 1, + "StageID": 202211031 + }, + { + "EventID": 20221103, + "WorldLevel": 2, + "StageID": 202211032 + }, + { + "EventID": 20221103, + "WorldLevel": 3, + "StageID": 202211033 + }, + { + "EventID": 20221103, + "WorldLevel": 4, + "StageID": 202211034 + }, + { + "EventID": 20221103, + "WorldLevel": 5, + "StageID": 202211035 + }, + { + "EventID": 20221103, + "WorldLevel": 6, + "StageID": 202211036 + }, + { + "EventID": 20221104, + "WorldLevel": 0, + "StageID": 202211040 + }, + { + "EventID": 20221104, + "WorldLevel": 1, + "StageID": 202211041 + }, + { + "EventID": 20221104, + "WorldLevel": 2, + "StageID": 202211042 + }, + { + "EventID": 20221104, + "WorldLevel": 3, + "StageID": 202211043 + }, + { + "EventID": 20221104, + "WorldLevel": 4, + "StageID": 202211044 + }, + { + "EventID": 20221104, + "WorldLevel": 5, + "StageID": 202211045 + }, + { + "EventID": 20221104, + "WorldLevel": 6, + "StageID": 202211046 + }, + { + "EventID": 20221105, + "WorldLevel": 0, + "StageID": 202211050 + }, + { + "EventID": 20221105, + "WorldLevel": 1, + "StageID": 202211051 + }, + { + "EventID": 20221105, + "WorldLevel": 2, + "StageID": 202211052 + }, + { + "EventID": 20221105, + "WorldLevel": 3, + "StageID": 202211053 + }, + { + "EventID": 20221105, + "WorldLevel": 4, + "StageID": 202211054 + }, + { + "EventID": 20221105, + "WorldLevel": 5, + "StageID": 202211055 + }, + { + "EventID": 20221105, + "WorldLevel": 6, + "StageID": 202211056 + }, + { + "EventID": 20221106, + "WorldLevel": 0, + "StageID": 202211060 + }, + { + "EventID": 20221106, + "WorldLevel": 1, + "StageID": 202211061 + }, + { + "EventID": 20221106, + "WorldLevel": 2, + "StageID": 202211062 + }, + { + "EventID": 20221106, + "WorldLevel": 3, + "StageID": 202211063 + }, + { + "EventID": 20221106, + "WorldLevel": 4, + "StageID": 202211064 + }, + { + "EventID": 20221106, + "WorldLevel": 5, + "StageID": 202211065 + }, + { + "EventID": 20221106, + "WorldLevel": 6, + "StageID": 202211066 + }, + { + "EventID": 20221107, + "WorldLevel": 0, + "StageID": 202211070 + }, + { + "EventID": 20221107, + "WorldLevel": 1, + "StageID": 202211071 + }, + { + "EventID": 20221107, + "WorldLevel": 2, + "StageID": 202211072 + }, + { + "EventID": 20221107, + "WorldLevel": 3, + "StageID": 202211073 + }, + { + "EventID": 20221107, + "WorldLevel": 4, + "StageID": 202211074 + }, + { + "EventID": 20221107, + "WorldLevel": 5, + "StageID": 202211075 + }, + { + "EventID": 20221107, + "WorldLevel": 6, + "StageID": 202211076 + }, + { + "EventID": 20221108, + "WorldLevel": 0, + "StageID": 202211080 + }, + { + "EventID": 20221108, + "WorldLevel": 1, + "StageID": 202211081 + }, + { + "EventID": 20221108, + "WorldLevel": 2, + "StageID": 202211082 + }, + { + "EventID": 20221108, + "WorldLevel": 3, + "StageID": 202211083 + }, + { + "EventID": 20221108, + "WorldLevel": 4, + "StageID": 202211084 + }, + { + "EventID": 20221108, + "WorldLevel": 5, + "StageID": 202211085 + }, + { + "EventID": 20221108, + "WorldLevel": 6, + "StageID": 202211086 + }, + { + "EventID": 20221109, + "WorldLevel": 0, + "StageID": 202211090 + }, + { + "EventID": 20221109, + "WorldLevel": 1, + "StageID": 202211091 + }, + { + "EventID": 20221109, + "WorldLevel": 2, + "StageID": 202211092 + }, + { + "EventID": 20221109, + "WorldLevel": 3, + "StageID": 202211093 + }, + { + "EventID": 20221109, + "WorldLevel": 4, + "StageID": 202211094 + }, + { + "EventID": 20221109, + "WorldLevel": 5, + "StageID": 202211095 + }, + { + "EventID": 20221109, + "WorldLevel": 6, + "StageID": 202211096 + }, + { + "EventID": 20221110, + "WorldLevel": 0, + "StageID": 202211100 + }, + { + "EventID": 20221110, + "WorldLevel": 1, + "StageID": 202211101 + }, + { + "EventID": 20221110, + "WorldLevel": 2, + "StageID": 202211102 + }, + { + "EventID": 20221110, + "WorldLevel": 3, + "StageID": 202211103 + }, + { + "EventID": 20221110, + "WorldLevel": 4, + "StageID": 202211104 + }, + { + "EventID": 20221110, + "WorldLevel": 5, + "StageID": 202211105 + }, + { + "EventID": 20221110, + "WorldLevel": 6, + "StageID": 202211106 + }, + { + "EventID": 20221116, + "WorldLevel": 0, + "StageID": 202211160 + }, + { + "EventID": 20221116, + "WorldLevel": 1, + "StageID": 202211161 + }, + { + "EventID": 20221116, + "WorldLevel": 2, + "StageID": 202211162 + }, + { + "EventID": 20221116, + "WorldLevel": 3, + "StageID": 202211163 + }, + { + "EventID": 20221116, + "WorldLevel": 4, + "StageID": 202211164 + }, + { + "EventID": 20221116, + "WorldLevel": 5, + "StageID": 202211165 + }, + { + "EventID": 20221116, + "WorldLevel": 6, + "StageID": 202211166 + }, + { + "EventID": 20221117, + "WorldLevel": 0, + "StageID": 202211170 + }, + { + "EventID": 20221117, + "WorldLevel": 1, + "StageID": 202211171 + }, + { + "EventID": 20221117, + "WorldLevel": 2, + "StageID": 202211172 + }, + { + "EventID": 20221117, + "WorldLevel": 3, + "StageID": 202211173 + }, + { + "EventID": 20221117, + "WorldLevel": 4, + "StageID": 202211174 + }, + { + "EventID": 20221117, + "WorldLevel": 5, + "StageID": 202211175 + }, + { + "EventID": 20221117, + "WorldLevel": 6, + "StageID": 202211176 + }, + { + "EventID": 20221120, + "WorldLevel": 0, + "StageID": 202211200 + }, + { + "EventID": 20221120, + "WorldLevel": 1, + "StageID": 202211201 + }, + { + "EventID": 20221120, + "WorldLevel": 2, + "StageID": 202211202 + }, + { + "EventID": 20221120, + "WorldLevel": 3, + "StageID": 202211203 + }, + { + "EventID": 20221120, + "WorldLevel": 4, + "StageID": 202211204 + }, + { + "EventID": 20221120, + "WorldLevel": 5, + "StageID": 202211205 + }, + { + "EventID": 20221120, + "WorldLevel": 6, + "StageID": 202211206 + }, + { + "EventID": 20221151, + "WorldLevel": 0, + "StageID": 202211510 + }, + { + "EventID": 20221151, + "WorldLevel": 1, + "StageID": 202211511 + }, + { + "EventID": 20221151, + "WorldLevel": 2, + "StageID": 202211512 + }, + { + "EventID": 20221151, + "WorldLevel": 3, + "StageID": 202211513 + }, + { + "EventID": 20221151, + "WorldLevel": 4, + "StageID": 202211514 + }, + { + "EventID": 20221151, + "WorldLevel": 5, + "StageID": 202211515 + }, + { + "EventID": 20221151, + "WorldLevel": 6, + "StageID": 202211516 + }, + { + "EventID": 20221152, + "WorldLevel": 0, + "StageID": 202211520 + }, + { + "EventID": 20221152, + "WorldLevel": 1, + "StageID": 202211521 + }, + { + "EventID": 20221152, + "WorldLevel": 2, + "StageID": 202211522 + }, + { + "EventID": 20221152, + "WorldLevel": 3, + "StageID": 202211523 + }, + { + "EventID": 20221152, + "WorldLevel": 4, + "StageID": 202211524 + }, + { + "EventID": 20221152, + "WorldLevel": 5, + "StageID": 202211525 + }, + { + "EventID": 20221152, + "WorldLevel": 6, + "StageID": 202211526 + }, + { + "EventID": 20221153, + "WorldLevel": 0, + "StageID": 202211530 + }, + { + "EventID": 20221153, + "WorldLevel": 1, + "StageID": 202211531 + }, + { + "EventID": 20221153, + "WorldLevel": 2, + "StageID": 202211532 + }, + { + "EventID": 20221153, + "WorldLevel": 3, + "StageID": 202211533 + }, + { + "EventID": 20221153, + "WorldLevel": 4, + "StageID": 202211534 + }, + { + "EventID": 20221153, + "WorldLevel": 5, + "StageID": 202211535 + }, + { + "EventID": 20221153, + "WorldLevel": 6, + "StageID": 202211536 + }, + { + "EventID": 20221154, + "WorldLevel": 0, + "StageID": 202211540 + }, + { + "EventID": 20221154, + "WorldLevel": 1, + "StageID": 202211541 + }, + { + "EventID": 20221154, + "WorldLevel": 2, + "StageID": 202211542 + }, + { + "EventID": 20221154, + "WorldLevel": 3, + "StageID": 202211543 + }, + { + "EventID": 20221154, + "WorldLevel": 4, + "StageID": 202211544 + }, + { + "EventID": 20221154, + "WorldLevel": 5, + "StageID": 202211545 + }, + { + "EventID": 20221154, + "WorldLevel": 6, + "StageID": 202211546 + }, + { + "EventID": 20221155, + "WorldLevel": 0, + "StageID": 202211550 + }, + { + "EventID": 20221155, + "WorldLevel": 1, + "StageID": 202211551 + }, + { + "EventID": 20221155, + "WorldLevel": 2, + "StageID": 202211552 + }, + { + "EventID": 20221155, + "WorldLevel": 3, + "StageID": 202211553 + }, + { + "EventID": 20221155, + "WorldLevel": 4, + "StageID": 202211554 + }, + { + "EventID": 20221155, + "WorldLevel": 5, + "StageID": 202211555 + }, + { + "EventID": 20221155, + "WorldLevel": 6, + "StageID": 202211556 + }, + { + "EventID": 20221156, + "WorldLevel": 0, + "StageID": 202211560 + }, + { + "EventID": 20221156, + "WorldLevel": 1, + "StageID": 202211561 + }, + { + "EventID": 20221156, + "WorldLevel": 2, + "StageID": 202211562 + }, + { + "EventID": 20221156, + "WorldLevel": 3, + "StageID": 202211563 + }, + { + "EventID": 20221156, + "WorldLevel": 4, + "StageID": 202211564 + }, + { + "EventID": 20221156, + "WorldLevel": 5, + "StageID": 202211565 + }, + { + "EventID": 20221156, + "WorldLevel": 6, + "StageID": 202211566 + }, + { + "EventID": 20221211, + "WorldLevel": 0, + "StageID": 202212110 + }, + { + "EventID": 20221211, + "WorldLevel": 1, + "StageID": 202212111 + }, + { + "EventID": 20221211, + "WorldLevel": 2, + "StageID": 202212112 + }, + { + "EventID": 20221211, + "WorldLevel": 3, + "StageID": 202212113 + }, + { + "EventID": 20221211, + "WorldLevel": 4, + "StageID": 202212114 + }, + { + "EventID": 20221211, + "WorldLevel": 5, + "StageID": 202212115 + }, + { + "EventID": 20221211, + "WorldLevel": 6, + "StageID": 202212116 + }, + { + "EventID": 20221212, + "WorldLevel": 0, + "StageID": 202212120 + }, + { + "EventID": 20221212, + "WorldLevel": 1, + "StageID": 202212121 + }, + { + "EventID": 20221212, + "WorldLevel": 2, + "StageID": 202212122 + }, + { + "EventID": 20221212, + "WorldLevel": 3, + "StageID": 202212123 + }, + { + "EventID": 20221212, + "WorldLevel": 4, + "StageID": 202212124 + }, + { + "EventID": 20221212, + "WorldLevel": 5, + "StageID": 202212125 + }, + { + "EventID": 20221212, + "WorldLevel": 6, + "StageID": 202212126 + }, + { + "EventID": 20221231, + "WorldLevel": 0, + "StageID": 202212310 + }, + { + "EventID": 20221231, + "WorldLevel": 1, + "StageID": 202212311 + }, + { + "EventID": 20221231, + "WorldLevel": 2, + "StageID": 202212312 + }, + { + "EventID": 20221231, + "WorldLevel": 3, + "StageID": 202212313 + }, + { + "EventID": 20221231, + "WorldLevel": 4, + "StageID": 202212314 + }, + { + "EventID": 20221231, + "WorldLevel": 5, + "StageID": 202212315 + }, + { + "EventID": 20221231, + "WorldLevel": 6, + "StageID": 202212316 + }, + { + "EventID": 20221232, + "WorldLevel": 0, + "StageID": 202212320 + }, + { + "EventID": 20221232, + "WorldLevel": 1, + "StageID": 202212321 + }, + { + "EventID": 20221232, + "WorldLevel": 2, + "StageID": 202212322 + }, + { + "EventID": 20221232, + "WorldLevel": 3, + "StageID": 202212323 + }, + { + "EventID": 20221232, + "WorldLevel": 4, + "StageID": 202212324 + }, + { + "EventID": 20221232, + "WorldLevel": 5, + "StageID": 202212325 + }, + { + "EventID": 20221232, + "WorldLevel": 6, + "StageID": 202212326 + }, + { + "EventID": 20221233, + "WorldLevel": 0, + "StageID": 202212330 + }, + { + "EventID": 20221233, + "WorldLevel": 1, + "StageID": 202212331 + }, + { + "EventID": 20221233, + "WorldLevel": 2, + "StageID": 202212332 + }, + { + "EventID": 20221233, + "WorldLevel": 3, + "StageID": 202212333 + }, + { + "EventID": 20221233, + "WorldLevel": 4, + "StageID": 202212334 + }, + { + "EventID": 20221233, + "WorldLevel": 5, + "StageID": 202212335 + }, + { + "EventID": 20221233, + "WorldLevel": 6, + "StageID": 202212336 + }, + { + "EventID": 20221234, + "WorldLevel": 0, + "StageID": 202212340 + }, + { + "EventID": 20221234, + "WorldLevel": 1, + "StageID": 202212341 + }, + { + "EventID": 20221234, + "WorldLevel": 2, + "StageID": 202212342 + }, + { + "EventID": 20221234, + "WorldLevel": 3, + "StageID": 202212343 + }, + { + "EventID": 20221234, + "WorldLevel": 4, + "StageID": 202212344 + }, + { + "EventID": 20221234, + "WorldLevel": 5, + "StageID": 202212345 + }, + { + "EventID": 20221234, + "WorldLevel": 6, + "StageID": 202212346 + }, + { + "EventID": 20221235, + "WorldLevel": 0, + "StageID": 202212350 + }, + { + "EventID": 20221235, + "WorldLevel": 1, + "StageID": 202212351 + }, + { + "EventID": 20221235, + "WorldLevel": 2, + "StageID": 202212352 + }, + { + "EventID": 20221235, + "WorldLevel": 3, + "StageID": 202212353 + }, + { + "EventID": 20221235, + "WorldLevel": 4, + "StageID": 202212354 + }, + { + "EventID": 20221235, + "WorldLevel": 5, + "StageID": 202212355 + }, + { + "EventID": 20221235, + "WorldLevel": 6, + "StageID": 202212356 + }, + { + "EventID": 20222024, + "WorldLevel": 0, + "StageID": 202220240 + }, + { + "EventID": 20222024, + "WorldLevel": 1, + "StageID": 202220241 + }, + { + "EventID": 20222024, + "WorldLevel": 2, + "StageID": 202220242 + }, + { + "EventID": 20222024, + "WorldLevel": 3, + "StageID": 202220243 + }, + { + "EventID": 20222024, + "WorldLevel": 4, + "StageID": 202220244 + }, + { + "EventID": 20222024, + "WorldLevel": 5, + "StageID": 202220245 + }, + { + "EventID": 20222024, + "WorldLevel": 6, + "StageID": 202220246 + }, + { + "EventID": 20222026, + "WorldLevel": 0, + "StageID": 202220260 + }, + { + "EventID": 20222026, + "WorldLevel": 1, + "StageID": 202220261 + }, + { + "EventID": 20222026, + "WorldLevel": 2, + "StageID": 202220262 + }, + { + "EventID": 20222026, + "WorldLevel": 3, + "StageID": 202220263 + }, + { + "EventID": 20222026, + "WorldLevel": 4, + "StageID": 202220264 + }, + { + "EventID": 20222026, + "WorldLevel": 5, + "StageID": 202220265 + }, + { + "EventID": 20222026, + "WorldLevel": 6, + "StageID": 202220266 + }, + { + "EventID": 20222027, + "WorldLevel": 0, + "StageID": 202220270 + }, + { + "EventID": 20222027, + "WorldLevel": 1, + "StageID": 202220271 + }, + { + "EventID": 20222027, + "WorldLevel": 2, + "StageID": 202220272 + }, + { + "EventID": 20222027, + "WorldLevel": 3, + "StageID": 202220273 + }, + { + "EventID": 20222027, + "WorldLevel": 4, + "StageID": 202220274 + }, + { + "EventID": 20222027, + "WorldLevel": 5, + "StageID": 202220275 + }, + { + "EventID": 20222027, + "WorldLevel": 6, + "StageID": 202220276 + }, + { + "EventID": 20222102, + "WorldLevel": 0, + "StageID": 202221020 + }, + { + "EventID": 20222102, + "WorldLevel": 1, + "StageID": 202221021 + }, + { + "EventID": 20222102, + "WorldLevel": 2, + "StageID": 202221022 + }, + { + "EventID": 20222102, + "WorldLevel": 3, + "StageID": 202221023 + }, + { + "EventID": 20222102, + "WorldLevel": 4, + "StageID": 202221024 + }, + { + "EventID": 20222102, + "WorldLevel": 5, + "StageID": 202221025 + }, + { + "EventID": 20222102, + "WorldLevel": 6, + "StageID": 202221026 + }, + { + "EventID": 20222103, + "WorldLevel": 0, + "StageID": 202221030 + }, + { + "EventID": 20222103, + "WorldLevel": 1, + "StageID": 202221031 + }, + { + "EventID": 20222103, + "WorldLevel": 2, + "StageID": 202221032 + }, + { + "EventID": 20222103, + "WorldLevel": 3, + "StageID": 202221033 + }, + { + "EventID": 20222103, + "WorldLevel": 4, + "StageID": 202221034 + }, + { + "EventID": 20222103, + "WorldLevel": 5, + "StageID": 202221035 + }, + { + "EventID": 20222103, + "WorldLevel": 6, + "StageID": 202221036 + }, + { + "EventID": 20222104, + "WorldLevel": 0, + "StageID": 202221040 + }, + { + "EventID": 20222104, + "WorldLevel": 1, + "StageID": 202221041 + }, + { + "EventID": 20222104, + "WorldLevel": 2, + "StageID": 202221042 + }, + { + "EventID": 20222104, + "WorldLevel": 3, + "StageID": 202221043 + }, + { + "EventID": 20222104, + "WorldLevel": 4, + "StageID": 202221044 + }, + { + "EventID": 20222104, + "WorldLevel": 5, + "StageID": 202221045 + }, + { + "EventID": 20222104, + "WorldLevel": 6, + "StageID": 202221046 + }, + { + "EventID": 20222106, + "WorldLevel": 0, + "StageID": 202221060 + }, + { + "EventID": 20222106, + "WorldLevel": 1, + "StageID": 202221061 + }, + { + "EventID": 20222106, + "WorldLevel": 2, + "StageID": 202221062 + }, + { + "EventID": 20222106, + "WorldLevel": 3, + "StageID": 202221063 + }, + { + "EventID": 20222106, + "WorldLevel": 4, + "StageID": 202221064 + }, + { + "EventID": 20222106, + "WorldLevel": 5, + "StageID": 202221065 + }, + { + "EventID": 20222106, + "WorldLevel": 6, + "StageID": 202221066 + }, + { + "EventID": 20222107, + "WorldLevel": 0, + "StageID": 202221070 + }, + { + "EventID": 20222107, + "WorldLevel": 1, + "StageID": 202221071 + }, + { + "EventID": 20222107, + "WorldLevel": 2, + "StageID": 202221072 + }, + { + "EventID": 20222107, + "WorldLevel": 3, + "StageID": 202221073 + }, + { + "EventID": 20222107, + "WorldLevel": 4, + "StageID": 202221074 + }, + { + "EventID": 20222107, + "WorldLevel": 5, + "StageID": 202221075 + }, + { + "EventID": 20222107, + "WorldLevel": 6, + "StageID": 202221076 + }, + { + "EventID": 20222110, + "WorldLevel": 0, + "StageID": 202221100 + }, + { + "EventID": 20222110, + "WorldLevel": 1, + "StageID": 202221101 + }, + { + "EventID": 20222110, + "WorldLevel": 2, + "StageID": 202221102 + }, + { + "EventID": 20222110, + "WorldLevel": 3, + "StageID": 202221103 + }, + { + "EventID": 20222110, + "WorldLevel": 4, + "StageID": 202221104 + }, + { + "EventID": 20222110, + "WorldLevel": 5, + "StageID": 202221105 + }, + { + "EventID": 20222110, + "WorldLevel": 6, + "StageID": 202221106 + }, + { + "EventID": 20222111, + "WorldLevel": 0, + "StageID": 202221110 + }, + { + "EventID": 20222111, + "WorldLevel": 1, + "StageID": 202221111 + }, + { + "EventID": 20222111, + "WorldLevel": 2, + "StageID": 202221112 + }, + { + "EventID": 20222111, + "WorldLevel": 3, + "StageID": 202221113 + }, + { + "EventID": 20222111, + "WorldLevel": 4, + "StageID": 202221114 + }, + { + "EventID": 20222111, + "WorldLevel": 5, + "StageID": 202221115 + }, + { + "EventID": 20222111, + "WorldLevel": 6, + "StageID": 202221116 + }, + { + "EventID": 20222112, + "WorldLevel": 0, + "StageID": 202221120 + }, + { + "EventID": 20222112, + "WorldLevel": 1, + "StageID": 202221121 + }, + { + "EventID": 20222112, + "WorldLevel": 2, + "StageID": 202221122 + }, + { + "EventID": 20222112, + "WorldLevel": 3, + "StageID": 202221123 + }, + { + "EventID": 20222112, + "WorldLevel": 4, + "StageID": 202221124 + }, + { + "EventID": 20222112, + "WorldLevel": 5, + "StageID": 202221125 + }, + { + "EventID": 20222112, + "WorldLevel": 6, + "StageID": 202221126 + }, + { + "EventID": 20222113, + "WorldLevel": 0, + "StageID": 202221130 + }, + { + "EventID": 20222113, + "WorldLevel": 1, + "StageID": 202221131 + }, + { + "EventID": 20222113, + "WorldLevel": 2, + "StageID": 202221132 + }, + { + "EventID": 20222113, + "WorldLevel": 3, + "StageID": 202221133 + }, + { + "EventID": 20222113, + "WorldLevel": 4, + "StageID": 202221134 + }, + { + "EventID": 20222113, + "WorldLevel": 5, + "StageID": 202221135 + }, + { + "EventID": 20222113, + "WorldLevel": 6, + "StageID": 202221136 + }, + { + "EventID": 20222114, + "WorldLevel": 0, + "StageID": 202221140 + }, + { + "EventID": 20222114, + "WorldLevel": 1, + "StageID": 202221141 + }, + { + "EventID": 20222114, + "WorldLevel": 2, + "StageID": 202221142 + }, + { + "EventID": 20222114, + "WorldLevel": 3, + "StageID": 202221143 + }, + { + "EventID": 20222114, + "WorldLevel": 4, + "StageID": 202221144 + }, + { + "EventID": 20222114, + "WorldLevel": 5, + "StageID": 202221145 + }, + { + "EventID": 20222114, + "WorldLevel": 6, + "StageID": 202221146 + }, + { + "EventID": 20222115, + "WorldLevel": 0, + "StageID": 202221150 + }, + { + "EventID": 20222115, + "WorldLevel": 1, + "StageID": 202221151 + }, + { + "EventID": 20222115, + "WorldLevel": 2, + "StageID": 202221152 + }, + { + "EventID": 20222115, + "WorldLevel": 3, + "StageID": 202221153 + }, + { + "EventID": 20222115, + "WorldLevel": 4, + "StageID": 202221154 + }, + { + "EventID": 20222115, + "WorldLevel": 5, + "StageID": 202221155 + }, + { + "EventID": 20222115, + "WorldLevel": 6, + "StageID": 202221156 + }, + { + "EventID": 20222118, + "WorldLevel": 0, + "StageID": 202221180 + }, + { + "EventID": 20222118, + "WorldLevel": 1, + "StageID": 202221181 + }, + { + "EventID": 20222118, + "WorldLevel": 2, + "StageID": 202221182 + }, + { + "EventID": 20222118, + "WorldLevel": 3, + "StageID": 202221183 + }, + { + "EventID": 20222118, + "WorldLevel": 4, + "StageID": 202221184 + }, + { + "EventID": 20222118, + "WorldLevel": 5, + "StageID": 202221185 + }, + { + "EventID": 20222118, + "WorldLevel": 6, + "StageID": 202221186 + }, + { + "EventID": 20222119, + "WorldLevel": 0, + "StageID": 202221190 + }, + { + "EventID": 20222119, + "WorldLevel": 1, + "StageID": 202221191 + }, + { + "EventID": 20222119, + "WorldLevel": 2, + "StageID": 202221192 + }, + { + "EventID": 20222119, + "WorldLevel": 3, + "StageID": 202221193 + }, + { + "EventID": 20222119, + "WorldLevel": 4, + "StageID": 202221194 + }, + { + "EventID": 20222119, + "WorldLevel": 5, + "StageID": 202221195 + }, + { + "EventID": 20222119, + "WorldLevel": 6, + "StageID": 202221196 + }, + { + "EventID": 20222120, + "WorldLevel": 0, + "StageID": 202221200 + }, + { + "EventID": 20222120, + "WorldLevel": 1, + "StageID": 202221201 + }, + { + "EventID": 20222120, + "WorldLevel": 2, + "StageID": 202221202 + }, + { + "EventID": 20222120, + "WorldLevel": 3, + "StageID": 202221203 + }, + { + "EventID": 20222120, + "WorldLevel": 4, + "StageID": 202221204 + }, + { + "EventID": 20222120, + "WorldLevel": 5, + "StageID": 202221205 + }, + { + "EventID": 20222120, + "WorldLevel": 6, + "StageID": 202221206 + }, + { + "EventID": 20222121, + "WorldLevel": 0, + "StageID": 202221210 + }, + { + "EventID": 20222121, + "WorldLevel": 1, + "StageID": 202221211 + }, + { + "EventID": 20222121, + "WorldLevel": 2, + "StageID": 202221212 + }, + { + "EventID": 20222121, + "WorldLevel": 3, + "StageID": 202221213 + }, + { + "EventID": 20222121, + "WorldLevel": 4, + "StageID": 202221214 + }, + { + "EventID": 20222121, + "WorldLevel": 5, + "StageID": 202221215 + }, + { + "EventID": 20222121, + "WorldLevel": 6, + "StageID": 202221216 + }, + { + "EventID": 20222122, + "WorldLevel": 0, + "StageID": 202221220 + }, + { + "EventID": 20222122, + "WorldLevel": 1, + "StageID": 202221221 + }, + { + "EventID": 20222122, + "WorldLevel": 2, + "StageID": 202221222 + }, + { + "EventID": 20222122, + "WorldLevel": 3, + "StageID": 202221223 + }, + { + "EventID": 20222122, + "WorldLevel": 4, + "StageID": 202221224 + }, + { + "EventID": 20222122, + "WorldLevel": 5, + "StageID": 202221225 + }, + { + "EventID": 20222122, + "WorldLevel": 6, + "StageID": 202221226 + }, + { + "EventID": 20222123, + "WorldLevel": 0, + "StageID": 202221230 + }, + { + "EventID": 20222123, + "WorldLevel": 1, + "StageID": 202221231 + }, + { + "EventID": 20222123, + "WorldLevel": 2, + "StageID": 202221232 + }, + { + "EventID": 20222123, + "WorldLevel": 3, + "StageID": 202221233 + }, + { + "EventID": 20222123, + "WorldLevel": 4, + "StageID": 202221234 + }, + { + "EventID": 20222123, + "WorldLevel": 5, + "StageID": 202221235 + }, + { + "EventID": 20222123, + "WorldLevel": 6, + "StageID": 202221236 + }, + { + "EventID": 20222124, + "WorldLevel": 0, + "StageID": 202221240 + }, + { + "EventID": 20222124, + "WorldLevel": 1, + "StageID": 202221241 + }, + { + "EventID": 20222124, + "WorldLevel": 2, + "StageID": 202221242 + }, + { + "EventID": 20222124, + "WorldLevel": 3, + "StageID": 202221243 + }, + { + "EventID": 20222124, + "WorldLevel": 4, + "StageID": 202221244 + }, + { + "EventID": 20222124, + "WorldLevel": 5, + "StageID": 202221245 + }, + { + "EventID": 20222124, + "WorldLevel": 6, + "StageID": 202221246 + }, + { + "EventID": 20222125, + "WorldLevel": 0, + "StageID": 202221250 + }, + { + "EventID": 20222125, + "WorldLevel": 1, + "StageID": 202221251 + }, + { + "EventID": 20222125, + "WorldLevel": 2, + "StageID": 202221252 + }, + { + "EventID": 20222125, + "WorldLevel": 3, + "StageID": 202221253 + }, + { + "EventID": 20222125, + "WorldLevel": 4, + "StageID": 202221254 + }, + { + "EventID": 20222125, + "WorldLevel": 5, + "StageID": 202221255 + }, + { + "EventID": 20222125, + "WorldLevel": 6, + "StageID": 202221256 + }, + { + "EventID": 20222151, + "WorldLevel": 0, + "StageID": 202221510 + }, + { + "EventID": 20222151, + "WorldLevel": 1, + "StageID": 202221511 + }, + { + "EventID": 20222151, + "WorldLevel": 2, + "StageID": 202221512 + }, + { + "EventID": 20222151, + "WorldLevel": 3, + "StageID": 202221513 + }, + { + "EventID": 20222151, + "WorldLevel": 4, + "StageID": 202221514 + }, + { + "EventID": 20222151, + "WorldLevel": 5, + "StageID": 202221515 + }, + { + "EventID": 20222151, + "WorldLevel": 6, + "StageID": 202221516 + }, + { + "EventID": 20222152, + "WorldLevel": 0, + "StageID": 202221520 + }, + { + "EventID": 20222152, + "WorldLevel": 1, + "StageID": 202221521 + }, + { + "EventID": 20222152, + "WorldLevel": 2, + "StageID": 202221522 + }, + { + "EventID": 20222152, + "WorldLevel": 3, + "StageID": 202221523 + }, + { + "EventID": 20222152, + "WorldLevel": 4, + "StageID": 202221524 + }, + { + "EventID": 20222152, + "WorldLevel": 5, + "StageID": 202221525 + }, + { + "EventID": 20222152, + "WorldLevel": 6, + "StageID": 202221526 + }, + { + "EventID": 20222153, + "WorldLevel": 0, + "StageID": 202221530 + }, + { + "EventID": 20222153, + "WorldLevel": 1, + "StageID": 202221531 + }, + { + "EventID": 20222153, + "WorldLevel": 2, + "StageID": 202221532 + }, + { + "EventID": 20222153, + "WorldLevel": 3, + "StageID": 202221533 + }, + { + "EventID": 20222153, + "WorldLevel": 4, + "StageID": 202221534 + }, + { + "EventID": 20222153, + "WorldLevel": 5, + "StageID": 202221535 + }, + { + "EventID": 20222153, + "WorldLevel": 6, + "StageID": 202221536 + }, + { + "EventID": 20222154, + "WorldLevel": 0, + "StageID": 202221540 + }, + { + "EventID": 20222154, + "WorldLevel": 1, + "StageID": 202221541 + }, + { + "EventID": 20222154, + "WorldLevel": 2, + "StageID": 202221542 + }, + { + "EventID": 20222154, + "WorldLevel": 3, + "StageID": 202221543 + }, + { + "EventID": 20222154, + "WorldLevel": 4, + "StageID": 202221544 + }, + { + "EventID": 20222154, + "WorldLevel": 5, + "StageID": 202221545 + }, + { + "EventID": 20222154, + "WorldLevel": 6, + "StageID": 202221546 + }, + { + "EventID": 20222155, + "WorldLevel": 0, + "StageID": 202221550 + }, + { + "EventID": 20222155, + "WorldLevel": 1, + "StageID": 202221551 + }, + { + "EventID": 20222155, + "WorldLevel": 2, + "StageID": 202221552 + }, + { + "EventID": 20222155, + "WorldLevel": 3, + "StageID": 202221553 + }, + { + "EventID": 20222155, + "WorldLevel": 4, + "StageID": 202221554 + }, + { + "EventID": 20222155, + "WorldLevel": 5, + "StageID": 202221555 + }, + { + "EventID": 20222155, + "WorldLevel": 6, + "StageID": 202221556 + }, + { + "EventID": 20222156, + "WorldLevel": 0, + "StageID": 202221560 + }, + { + "EventID": 20222156, + "WorldLevel": 1, + "StageID": 202221561 + }, + { + "EventID": 20222156, + "WorldLevel": 2, + "StageID": 202221562 + }, + { + "EventID": 20222156, + "WorldLevel": 3, + "StageID": 202221563 + }, + { + "EventID": 20222156, + "WorldLevel": 4, + "StageID": 202221564 + }, + { + "EventID": 20222156, + "WorldLevel": 5, + "StageID": 202221565 + }, + { + "EventID": 20222156, + "WorldLevel": 6, + "StageID": 202221566 + }, + { + "EventID": 20222231, + "WorldLevel": 0, + "StageID": 202222310 + }, + { + "EventID": 20222231, + "WorldLevel": 1, + "StageID": 202222311 + }, + { + "EventID": 20222231, + "WorldLevel": 2, + "StageID": 202222312 + }, + { + "EventID": 20222231, + "WorldLevel": 3, + "StageID": 202222313 + }, + { + "EventID": 20222231, + "WorldLevel": 4, + "StageID": 202222314 + }, + { + "EventID": 20222231, + "WorldLevel": 5, + "StageID": 202222315 + }, + { + "EventID": 20222231, + "WorldLevel": 6, + "StageID": 202222316 + }, + { + "EventID": 20222232, + "WorldLevel": 0, + "StageID": 202222320 + }, + { + "EventID": 20222232, + "WorldLevel": 1, + "StageID": 202222321 + }, + { + "EventID": 20222232, + "WorldLevel": 2, + "StageID": 202222322 + }, + { + "EventID": 20222232, + "WorldLevel": 3, + "StageID": 202222323 + }, + { + "EventID": 20222232, + "WorldLevel": 4, + "StageID": 202222324 + }, + { + "EventID": 20222232, + "WorldLevel": 5, + "StageID": 202222325 + }, + { + "EventID": 20222232, + "WorldLevel": 6, + "StageID": 202222326 + }, + { + "EventID": 20223101, + "WorldLevel": 0, + "StageID": 202231010 + }, + { + "EventID": 20223101, + "WorldLevel": 1, + "StageID": 202231011 + }, + { + "EventID": 20223101, + "WorldLevel": 2, + "StageID": 202231012 + }, + { + "EventID": 20223101, + "WorldLevel": 3, + "StageID": 202231013 + }, + { + "EventID": 20223101, + "WorldLevel": 4, + "StageID": 202231014 + }, + { + "EventID": 20223101, + "WorldLevel": 5, + "StageID": 202231015 + }, + { + "EventID": 20223101, + "WorldLevel": 6, + "StageID": 202231016 + }, + { + "EventID": 20223102, + "WorldLevel": 0, + "StageID": 202231020 + }, + { + "EventID": 20223102, + "WorldLevel": 1, + "StageID": 202231021 + }, + { + "EventID": 20223102, + "WorldLevel": 2, + "StageID": 202231022 + }, + { + "EventID": 20223102, + "WorldLevel": 3, + "StageID": 202231023 + }, + { + "EventID": 20223102, + "WorldLevel": 4, + "StageID": 202231024 + }, + { + "EventID": 20223102, + "WorldLevel": 5, + "StageID": 202231025 + }, + { + "EventID": 20223102, + "WorldLevel": 6, + "StageID": 202231026 + }, + { + "EventID": 20223103, + "WorldLevel": 0, + "StageID": 202231030 + }, + { + "EventID": 20223103, + "WorldLevel": 1, + "StageID": 202231031 + }, + { + "EventID": 20223103, + "WorldLevel": 2, + "StageID": 202231032 + }, + { + "EventID": 20223103, + "WorldLevel": 3, + "StageID": 202231033 + }, + { + "EventID": 20223103, + "WorldLevel": 4, + "StageID": 202231034 + }, + { + "EventID": 20223103, + "WorldLevel": 5, + "StageID": 202231035 + }, + { + "EventID": 20223103, + "WorldLevel": 6, + "StageID": 202231036 + }, + { + "EventID": 20223105, + "WorldLevel": 0, + "StageID": 202231050 + }, + { + "EventID": 20223105, + "WorldLevel": 1, + "StageID": 202231051 + }, + { + "EventID": 20223105, + "WorldLevel": 2, + "StageID": 202231052 + }, + { + "EventID": 20223105, + "WorldLevel": 3, + "StageID": 202231053 + }, + { + "EventID": 20223105, + "WorldLevel": 4, + "StageID": 202231054 + }, + { + "EventID": 20223105, + "WorldLevel": 5, + "StageID": 202231055 + }, + { + "EventID": 20223105, + "WorldLevel": 6, + "StageID": 202231056 + }, + { + "EventID": 20223106, + "WorldLevel": 0, + "StageID": 202231060 + }, + { + "EventID": 20223106, + "WorldLevel": 1, + "StageID": 202231061 + }, + { + "EventID": 20223106, + "WorldLevel": 2, + "StageID": 202231062 + }, + { + "EventID": 20223106, + "WorldLevel": 3, + "StageID": 202231063 + }, + { + "EventID": 20223106, + "WorldLevel": 4, + "StageID": 202231064 + }, + { + "EventID": 20223106, + "WorldLevel": 5, + "StageID": 202231065 + }, + { + "EventID": 20223106, + "WorldLevel": 6, + "StageID": 202231066 + }, + { + "EventID": 20223108, + "WorldLevel": 0, + "StageID": 202231080 + }, + { + "EventID": 20223108, + "WorldLevel": 1, + "StageID": 202231081 + }, + { + "EventID": 20223108, + "WorldLevel": 2, + "StageID": 202231082 + }, + { + "EventID": 20223108, + "WorldLevel": 3, + "StageID": 202231083 + }, + { + "EventID": 20223108, + "WorldLevel": 4, + "StageID": 202231084 + }, + { + "EventID": 20223108, + "WorldLevel": 5, + "StageID": 202231085 + }, + { + "EventID": 20223108, + "WorldLevel": 6, + "StageID": 202231086 + }, + { + "EventID": 20223109, + "WorldLevel": 0, + "StageID": 202231090 + }, + { + "EventID": 20223109, + "WorldLevel": 1, + "StageID": 202231091 + }, + { + "EventID": 20223109, + "WorldLevel": 2, + "StageID": 202231092 + }, + { + "EventID": 20223109, + "WorldLevel": 3, + "StageID": 202231093 + }, + { + "EventID": 20223109, + "WorldLevel": 4, + "StageID": 202231094 + }, + { + "EventID": 20223109, + "WorldLevel": 5, + "StageID": 202231095 + }, + { + "EventID": 20223109, + "WorldLevel": 6, + "StageID": 202231096 + }, + { + "EventID": 20223110, + "WorldLevel": 0, + "StageID": 202231100 + }, + { + "EventID": 20223110, + "WorldLevel": 1, + "StageID": 202231101 + }, + { + "EventID": 20223110, + "WorldLevel": 2, + "StageID": 202231102 + }, + { + "EventID": 20223110, + "WorldLevel": 3, + "StageID": 202231103 + }, + { + "EventID": 20223110, + "WorldLevel": 4, + "StageID": 202231104 + }, + { + "EventID": 20223110, + "WorldLevel": 5, + "StageID": 202231105 + }, + { + "EventID": 20223110, + "WorldLevel": 6, + "StageID": 202231106 + }, + { + "EventID": 20223114, + "WorldLevel": 0, + "StageID": 202231140 + }, + { + "EventID": 20223114, + "WorldLevel": 1, + "StageID": 202231141 + }, + { + "EventID": 20223114, + "WorldLevel": 2, + "StageID": 202231142 + }, + { + "EventID": 20223114, + "WorldLevel": 3, + "StageID": 202231143 + }, + { + "EventID": 20223114, + "WorldLevel": 4, + "StageID": 202231144 + }, + { + "EventID": 20223114, + "WorldLevel": 5, + "StageID": 202231145 + }, + { + "EventID": 20223114, + "WorldLevel": 6, + "StageID": 202231146 + }, + { + "EventID": 20223115, + "WorldLevel": 0, + "StageID": 202231150 + }, + { + "EventID": 20223115, + "WorldLevel": 1, + "StageID": 202231151 + }, + { + "EventID": 20223115, + "WorldLevel": 2, + "StageID": 202231152 + }, + { + "EventID": 20223115, + "WorldLevel": 3, + "StageID": 202231153 + }, + { + "EventID": 20223115, + "WorldLevel": 4, + "StageID": 202231154 + }, + { + "EventID": 20223115, + "WorldLevel": 5, + "StageID": 202231155 + }, + { + "EventID": 20223115, + "WorldLevel": 6, + "StageID": 202231156 + }, + { + "EventID": 20223116, + "WorldLevel": 0, + "StageID": 202231160 + }, + { + "EventID": 20223116, + "WorldLevel": 1, + "StageID": 202231161 + }, + { + "EventID": 20223116, + "WorldLevel": 2, + "StageID": 202231162 + }, + { + "EventID": 20223116, + "WorldLevel": 3, + "StageID": 202231163 + }, + { + "EventID": 20223116, + "WorldLevel": 4, + "StageID": 202231164 + }, + { + "EventID": 20223116, + "WorldLevel": 5, + "StageID": 202231165 + }, + { + "EventID": 20223116, + "WorldLevel": 6, + "StageID": 202231166 + }, + { + "EventID": 20223117, + "WorldLevel": 0, + "StageID": 202231170 + }, + { + "EventID": 20223117, + "WorldLevel": 1, + "StageID": 202231171 + }, + { + "EventID": 20223117, + "WorldLevel": 2, + "StageID": 202231172 + }, + { + "EventID": 20223117, + "WorldLevel": 3, + "StageID": 202231173 + }, + { + "EventID": 20223117, + "WorldLevel": 4, + "StageID": 202231174 + }, + { + "EventID": 20223117, + "WorldLevel": 5, + "StageID": 202231175 + }, + { + "EventID": 20223117, + "WorldLevel": 6, + "StageID": 202231176 + }, + { + "EventID": 20223125, + "WorldLevel": 0, + "StageID": 202231250 + }, + { + "EventID": 20223125, + "WorldLevel": 1, + "StageID": 202231251 + }, + { + "EventID": 20223125, + "WorldLevel": 2, + "StageID": 202231252 + }, + { + "EventID": 20223125, + "WorldLevel": 3, + "StageID": 202231253 + }, + { + "EventID": 20223125, + "WorldLevel": 4, + "StageID": 202231254 + }, + { + "EventID": 20223125, + "WorldLevel": 5, + "StageID": 202231255 + }, + { + "EventID": 20223125, + "WorldLevel": 6, + "StageID": 202231256 + }, + { + "EventID": 20223271, + "WorldLevel": 0, + "StageID": 202232710 + }, + { + "EventID": 20223271, + "WorldLevel": 1, + "StageID": 202232711 + }, + { + "EventID": 20223271, + "WorldLevel": 2, + "StageID": 202232712 + }, + { + "EventID": 20223271, + "WorldLevel": 3, + "StageID": 202232713 + }, + { + "EventID": 20223271, + "WorldLevel": 4, + "StageID": 202232714 + }, + { + "EventID": 20223271, + "WorldLevel": 5, + "StageID": 202232715 + }, + { + "EventID": 20223271, + "WorldLevel": 6, + "StageID": 202232716 + }, + { + "EventID": 20223272, + "WorldLevel": 0, + "StageID": 202232720 + }, + { + "EventID": 20223272, + "WorldLevel": 1, + "StageID": 202232721 + }, + { + "EventID": 20223272, + "WorldLevel": 2, + "StageID": 202232722 + }, + { + "EventID": 20223272, + "WorldLevel": 3, + "StageID": 202232723 + }, + { + "EventID": 20223272, + "WorldLevel": 4, + "StageID": 202232724 + }, + { + "EventID": 20223272, + "WorldLevel": 5, + "StageID": 202232725 + }, + { + "EventID": 20223272, + "WorldLevel": 6, + "StageID": 202232726 + }, + { + "EventID": 20223274, + "WorldLevel": 0, + "StageID": 202232740 + }, + { + "EventID": 20223274, + "WorldLevel": 1, + "StageID": 202232741 + }, + { + "EventID": 20223274, + "WorldLevel": 2, + "StageID": 202232742 + }, + { + "EventID": 20223274, + "WorldLevel": 3, + "StageID": 202232743 + }, + { + "EventID": 20223274, + "WorldLevel": 4, + "StageID": 202232744 + }, + { + "EventID": 20223274, + "WorldLevel": 5, + "StageID": 202232745 + }, + { + "EventID": 20223274, + "WorldLevel": 6, + "StageID": 202232746 + }, + { + "EventID": 20231101, + "WorldLevel": 0, + "StageID": 202311010 + }, + { + "EventID": 20231101, + "WorldLevel": 1, + "StageID": 202311011 + }, + { + "EventID": 20231101, + "WorldLevel": 2, + "StageID": 202311012 + }, + { + "EventID": 20231101, + "WorldLevel": 3, + "StageID": 202311013 + }, + { + "EventID": 20231101, + "WorldLevel": 4, + "StageID": 202311014 + }, + { + "EventID": 20231101, + "WorldLevel": 5, + "StageID": 202311015 + }, + { + "EventID": 20231101, + "WorldLevel": 6, + "StageID": 202311016 + }, + { + "EventID": 20231102, + "WorldLevel": 0, + "StageID": 202311020 + }, + { + "EventID": 20231102, + "WorldLevel": 1, + "StageID": 202311021 + }, + { + "EventID": 20231102, + "WorldLevel": 2, + "StageID": 202311022 + }, + { + "EventID": 20231102, + "WorldLevel": 3, + "StageID": 202311023 + }, + { + "EventID": 20231102, + "WorldLevel": 4, + "StageID": 202311024 + }, + { + "EventID": 20231102, + "WorldLevel": 5, + "StageID": 202311025 + }, + { + "EventID": 20231102, + "WorldLevel": 6, + "StageID": 202311026 + }, + { + "EventID": 20231104, + "WorldLevel": 0, + "StageID": 202311040 + }, + { + "EventID": 20231104, + "WorldLevel": 1, + "StageID": 202311041 + }, + { + "EventID": 20231104, + "WorldLevel": 2, + "StageID": 202311042 + }, + { + "EventID": 20231104, + "WorldLevel": 3, + "StageID": 202311043 + }, + { + "EventID": 20231104, + "WorldLevel": 4, + "StageID": 202311044 + }, + { + "EventID": 20231104, + "WorldLevel": 5, + "StageID": 202311045 + }, + { + "EventID": 20231104, + "WorldLevel": 6, + "StageID": 202311046 + }, + { + "EventID": 20231106, + "WorldLevel": 0, + "StageID": 202311060 + }, + { + "EventID": 20231106, + "WorldLevel": 1, + "StageID": 202311061 + }, + { + "EventID": 20231106, + "WorldLevel": 2, + "StageID": 202311062 + }, + { + "EventID": 20231106, + "WorldLevel": 3, + "StageID": 202311063 + }, + { + "EventID": 20231106, + "WorldLevel": 4, + "StageID": 202311064 + }, + { + "EventID": 20231106, + "WorldLevel": 5, + "StageID": 202311065 + }, + { + "EventID": 20231106, + "WorldLevel": 6, + "StageID": 202311066 + }, + { + "EventID": 20231107, + "WorldLevel": 0, + "StageID": 202311070 + }, + { + "EventID": 20231107, + "WorldLevel": 1, + "StageID": 202311071 + }, + { + "EventID": 20231107, + "WorldLevel": 2, + "StageID": 202311072 + }, + { + "EventID": 20231107, + "WorldLevel": 3, + "StageID": 202311073 + }, + { + "EventID": 20231107, + "WorldLevel": 4, + "StageID": 202311074 + }, + { + "EventID": 20231107, + "WorldLevel": 5, + "StageID": 202311075 + }, + { + "EventID": 20231107, + "WorldLevel": 6, + "StageID": 202311076 + }, + { + "EventID": 20231108, + "WorldLevel": 0, + "StageID": 202311080 + }, + { + "EventID": 20231108, + "WorldLevel": 1, + "StageID": 202311081 + }, + { + "EventID": 20231108, + "WorldLevel": 2, + "StageID": 202311082 + }, + { + "EventID": 20231108, + "WorldLevel": 3, + "StageID": 202311083 + }, + { + "EventID": 20231108, + "WorldLevel": 4, + "StageID": 202311084 + }, + { + "EventID": 20231108, + "WorldLevel": 5, + "StageID": 202311085 + }, + { + "EventID": 20231108, + "WorldLevel": 6, + "StageID": 202311086 + }, + { + "EventID": 20231109, + "WorldLevel": 0, + "StageID": 202311090 + }, + { + "EventID": 20231109, + "WorldLevel": 1, + "StageID": 202311091 + }, + { + "EventID": 20231109, + "WorldLevel": 2, + "StageID": 202311092 + }, + { + "EventID": 20231109, + "WorldLevel": 3, + "StageID": 202311093 + }, + { + "EventID": 20231109, + "WorldLevel": 4, + "StageID": 202311094 + }, + { + "EventID": 20231109, + "WorldLevel": 5, + "StageID": 202311095 + }, + { + "EventID": 20231109, + "WorldLevel": 6, + "StageID": 202311096 + }, + { + "EventID": 20231110, + "WorldLevel": 0, + "StageID": 202311100 + }, + { + "EventID": 20231110, + "WorldLevel": 1, + "StageID": 202311101 + }, + { + "EventID": 20231110, + "WorldLevel": 2, + "StageID": 202311102 + }, + { + "EventID": 20231110, + "WorldLevel": 3, + "StageID": 202311103 + }, + { + "EventID": 20231110, + "WorldLevel": 4, + "StageID": 202311104 + }, + { + "EventID": 20231110, + "WorldLevel": 5, + "StageID": 202311105 + }, + { + "EventID": 20231110, + "WorldLevel": 6, + "StageID": 202311106 + }, + { + "EventID": 20231111, + "WorldLevel": 0, + "StageID": 202311110 + }, + { + "EventID": 20231111, + "WorldLevel": 1, + "StageID": 202311111 + }, + { + "EventID": 20231111, + "WorldLevel": 2, + "StageID": 202311112 + }, + { + "EventID": 20231111, + "WorldLevel": 3, + "StageID": 202311113 + }, + { + "EventID": 20231111, + "WorldLevel": 4, + "StageID": 202311114 + }, + { + "EventID": 20231111, + "WorldLevel": 5, + "StageID": 202311115 + }, + { + "EventID": 20231111, + "WorldLevel": 6, + "StageID": 202311116 + }, + { + "EventID": 20231112, + "WorldLevel": 0, + "StageID": 202311120 + }, + { + "EventID": 20231112, + "WorldLevel": 1, + "StageID": 202311121 + }, + { + "EventID": 20231112, + "WorldLevel": 2, + "StageID": 202311122 + }, + { + "EventID": 20231112, + "WorldLevel": 3, + "StageID": 202311123 + }, + { + "EventID": 20231112, + "WorldLevel": 4, + "StageID": 202311124 + }, + { + "EventID": 20231112, + "WorldLevel": 5, + "StageID": 202311125 + }, + { + "EventID": 20231112, + "WorldLevel": 6, + "StageID": 202311126 + }, + { + "EventID": 20231113, + "WorldLevel": 0, + "StageID": 202311130 + }, + { + "EventID": 20231113, + "WorldLevel": 1, + "StageID": 202311131 + }, + { + "EventID": 20231113, + "WorldLevel": 2, + "StageID": 202311132 + }, + { + "EventID": 20231113, + "WorldLevel": 3, + "StageID": 202311133 + }, + { + "EventID": 20231113, + "WorldLevel": 4, + "StageID": 202311134 + }, + { + "EventID": 20231113, + "WorldLevel": 5, + "StageID": 202311135 + }, + { + "EventID": 20231113, + "WorldLevel": 6, + "StageID": 202311136 + }, + { + "EventID": 20231114, + "WorldLevel": 0, + "StageID": 202311140 + }, + { + "EventID": 20231114, + "WorldLevel": 1, + "StageID": 202311141 + }, + { + "EventID": 20231114, + "WorldLevel": 2, + "StageID": 202311142 + }, + { + "EventID": 20231114, + "WorldLevel": 3, + "StageID": 202311143 + }, + { + "EventID": 20231114, + "WorldLevel": 4, + "StageID": 202311144 + }, + { + "EventID": 20231114, + "WorldLevel": 5, + "StageID": 202311145 + }, + { + "EventID": 20231114, + "WorldLevel": 6, + "StageID": 202311146 + }, + { + "EventID": 20231115, + "WorldLevel": 0, + "StageID": 202311150 + }, + { + "EventID": 20231115, + "WorldLevel": 1, + "StageID": 202311151 + }, + { + "EventID": 20231115, + "WorldLevel": 2, + "StageID": 202311152 + }, + { + "EventID": 20231115, + "WorldLevel": 3, + "StageID": 202311153 + }, + { + "EventID": 20231115, + "WorldLevel": 4, + "StageID": 202311154 + }, + { + "EventID": 20231115, + "WorldLevel": 5, + "StageID": 202311155 + }, + { + "EventID": 20231115, + "WorldLevel": 6, + "StageID": 202311156 + }, + { + "EventID": 20231116, + "WorldLevel": 0, + "StageID": 202311160 + }, + { + "EventID": 20231116, + "WorldLevel": 1, + "StageID": 202311161 + }, + { + "EventID": 20231116, + "WorldLevel": 2, + "StageID": 202311162 + }, + { + "EventID": 20231116, + "WorldLevel": 3, + "StageID": 202311163 + }, + { + "EventID": 20231116, + "WorldLevel": 4, + "StageID": 202311164 + }, + { + "EventID": 20231116, + "WorldLevel": 5, + "StageID": 202311165 + }, + { + "EventID": 20231116, + "WorldLevel": 6, + "StageID": 202311166 + }, + { + "EventID": 20231117, + "WorldLevel": 0, + "StageID": 202311170 + }, + { + "EventID": 20231117, + "WorldLevel": 1, + "StageID": 202311171 + }, + { + "EventID": 20231117, + "WorldLevel": 2, + "StageID": 202311172 + }, + { + "EventID": 20231117, + "WorldLevel": 3, + "StageID": 202311173 + }, + { + "EventID": 20231117, + "WorldLevel": 4, + "StageID": 202311174 + }, + { + "EventID": 20231117, + "WorldLevel": 5, + "StageID": 202311175 + }, + { + "EventID": 20231117, + "WorldLevel": 6, + "StageID": 202311176 + }, + { + "EventID": 20231118, + "WorldLevel": 0, + "StageID": 202311180 + }, + { + "EventID": 20231118, + "WorldLevel": 1, + "StageID": 202311181 + }, + { + "EventID": 20231118, + "WorldLevel": 2, + "StageID": 202311182 + }, + { + "EventID": 20231118, + "WorldLevel": 3, + "StageID": 202311183 + }, + { + "EventID": 20231118, + "WorldLevel": 4, + "StageID": 202311184 + }, + { + "EventID": 20231118, + "WorldLevel": 5, + "StageID": 202311185 + }, + { + "EventID": 20231118, + "WorldLevel": 6, + "StageID": 202311186 + }, + { + "EventID": 20231119, + "WorldLevel": 0, + "StageID": 202311190 + }, + { + "EventID": 20231119, + "WorldLevel": 1, + "StageID": 202311191 + }, + { + "EventID": 20231119, + "WorldLevel": 2, + "StageID": 202311192 + }, + { + "EventID": 20231119, + "WorldLevel": 3, + "StageID": 202311193 + }, + { + "EventID": 20231119, + "WorldLevel": 4, + "StageID": 202311194 + }, + { + "EventID": 20231119, + "WorldLevel": 5, + "StageID": 202311195 + }, + { + "EventID": 20231119, + "WorldLevel": 6, + "StageID": 202311196 + }, + { + "EventID": 20231124, + "WorldLevel": 0, + "StageID": 202311240 + }, + { + "EventID": 20231124, + "WorldLevel": 1, + "StageID": 202311241 + }, + { + "EventID": 20231124, + "WorldLevel": 2, + "StageID": 202311242 + }, + { + "EventID": 20231124, + "WorldLevel": 3, + "StageID": 202311243 + }, + { + "EventID": 20231124, + "WorldLevel": 4, + "StageID": 202311244 + }, + { + "EventID": 20231124, + "WorldLevel": 5, + "StageID": 202311245 + }, + { + "EventID": 20231124, + "WorldLevel": 6, + "StageID": 202311246 + }, + { + "EventID": 20231125, + "WorldLevel": 0, + "StageID": 202311250 + }, + { + "EventID": 20231125, + "WorldLevel": 1, + "StageID": 202311251 + }, + { + "EventID": 20231125, + "WorldLevel": 2, + "StageID": 202311252 + }, + { + "EventID": 20231125, + "WorldLevel": 3, + "StageID": 202311253 + }, + { + "EventID": 20231125, + "WorldLevel": 4, + "StageID": 202311254 + }, + { + "EventID": 20231125, + "WorldLevel": 5, + "StageID": 202311255 + }, + { + "EventID": 20231125, + "WorldLevel": 6, + "StageID": 202311256 + }, + { + "EventID": 20231126, + "WorldLevel": 0, + "StageID": 202311260 + }, + { + "EventID": 20231126, + "WorldLevel": 1, + "StageID": 202311261 + }, + { + "EventID": 20231126, + "WorldLevel": 2, + "StageID": 202311262 + }, + { + "EventID": 20231126, + "WorldLevel": 3, + "StageID": 202311263 + }, + { + "EventID": 20231126, + "WorldLevel": 4, + "StageID": 202311264 + }, + { + "EventID": 20231126, + "WorldLevel": 5, + "StageID": 202311265 + }, + { + "EventID": 20231126, + "WorldLevel": 6, + "StageID": 202311266 + }, + { + "EventID": 20231127, + "WorldLevel": 0, + "StageID": 202311270 + }, + { + "EventID": 20231127, + "WorldLevel": 1, + "StageID": 202311271 + }, + { + "EventID": 20231127, + "WorldLevel": 2, + "StageID": 202311272 + }, + { + "EventID": 20231127, + "WorldLevel": 3, + "StageID": 202311273 + }, + { + "EventID": 20231127, + "WorldLevel": 4, + "StageID": 202311274 + }, + { + "EventID": 20231127, + "WorldLevel": 5, + "StageID": 202311275 + }, + { + "EventID": 20231127, + "WorldLevel": 6, + "StageID": 202311276 + }, + { + "EventID": 20231130, + "WorldLevel": 0, + "StageID": 202311300 + }, + { + "EventID": 20231130, + "WorldLevel": 1, + "StageID": 202311301 + }, + { + "EventID": 20231130, + "WorldLevel": 2, + "StageID": 202311302 + }, + { + "EventID": 20231130, + "WorldLevel": 3, + "StageID": 202311303 + }, + { + "EventID": 20231130, + "WorldLevel": 4, + "StageID": 202311304 + }, + { + "EventID": 20231130, + "WorldLevel": 5, + "StageID": 202311305 + }, + { + "EventID": 20231130, + "WorldLevel": 6, + "StageID": 202311306 + }, + { + "EventID": 20231231, + "WorldLevel": 0, + "StageID": 202312310 + }, + { + "EventID": 20231231, + "WorldLevel": 1, + "StageID": 202312311 + }, + { + "EventID": 20231231, + "WorldLevel": 2, + "StageID": 202312312 + }, + { + "EventID": 20231231, + "WorldLevel": 3, + "StageID": 202312313 + }, + { + "EventID": 20231231, + "WorldLevel": 4, + "StageID": 202312314 + }, + { + "EventID": 20231231, + "WorldLevel": 5, + "StageID": 202312315 + }, + { + "EventID": 20231231, + "WorldLevel": 6, + "StageID": 202312316 + }, + { + "EventID": 20231232, + "WorldLevel": 0, + "StageID": 202312320 + }, + { + "EventID": 20231232, + "WorldLevel": 1, + "StageID": 202312321 + }, + { + "EventID": 20231232, + "WorldLevel": 2, + "StageID": 202312322 + }, + { + "EventID": 20231232, + "WorldLevel": 3, + "StageID": 202312323 + }, + { + "EventID": 20231232, + "WorldLevel": 4, + "StageID": 202312324 + }, + { + "EventID": 20231232, + "WorldLevel": 5, + "StageID": 202312325 + }, + { + "EventID": 20231232, + "WorldLevel": 6, + "StageID": 202312326 + }, + { + "EventID": 20231234, + "WorldLevel": 0, + "StageID": 202312340 + }, + { + "EventID": 20231234, + "WorldLevel": 1, + "StageID": 202312341 + }, + { + "EventID": 20231234, + "WorldLevel": 2, + "StageID": 202312342 + }, + { + "EventID": 20231234, + "WorldLevel": 3, + "StageID": 202312343 + }, + { + "EventID": 20231234, + "WorldLevel": 4, + "StageID": 202312344 + }, + { + "EventID": 20231234, + "WorldLevel": 5, + "StageID": 202312345 + }, + { + "EventID": 20231234, + "WorldLevel": 6, + "StageID": 202312346 + }, + { + "EventID": 20231235, + "WorldLevel": 0, + "StageID": 202312350 + }, + { + "EventID": 20231235, + "WorldLevel": 1, + "StageID": 202312351 + }, + { + "EventID": 20231235, + "WorldLevel": 2, + "StageID": 202312352 + }, + { + "EventID": 20231235, + "WorldLevel": 3, + "StageID": 202312353 + }, + { + "EventID": 20231235, + "WorldLevel": 4, + "StageID": 202312354 + }, + { + "EventID": 20231235, + "WorldLevel": 5, + "StageID": 202312355 + }, + { + "EventID": 20231235, + "WorldLevel": 6, + "StageID": 202312356 + }, + { + "EventID": 20231237, + "WorldLevel": 0, + "StageID": 202312370 + }, + { + "EventID": 20231237, + "WorldLevel": 1, + "StageID": 202312371 + }, + { + "EventID": 20231237, + "WorldLevel": 2, + "StageID": 202312372 + }, + { + "EventID": 20231237, + "WorldLevel": 3, + "StageID": 202312373 + }, + { + "EventID": 20231237, + "WorldLevel": 4, + "StageID": 202312374 + }, + { + "EventID": 20231237, + "WorldLevel": 5, + "StageID": 202312375 + }, + { + "EventID": 20231237, + "WorldLevel": 6, + "StageID": 202312376 + }, + { + "EventID": 20231251, + "WorldLevel": 0, + "StageID": 202312510 + }, + { + "EventID": 20231251, + "WorldLevel": 1, + "StageID": 202312511 + }, + { + "EventID": 20231251, + "WorldLevel": 2, + "StageID": 202312512 + }, + { + "EventID": 20231251, + "WorldLevel": 3, + "StageID": 202312513 + }, + { + "EventID": 20231251, + "WorldLevel": 4, + "StageID": 202312514 + }, + { + "EventID": 20231251, + "WorldLevel": 5, + "StageID": 202312515 + }, + { + "EventID": 20231251, + "WorldLevel": 6, + "StageID": 202312516 + }, + { + "EventID": 20231252, + "WorldLevel": 0, + "StageID": 202312520 + }, + { + "EventID": 20231252, + "WorldLevel": 1, + "StageID": 202312521 + }, + { + "EventID": 20231252, + "WorldLevel": 2, + "StageID": 202312522 + }, + { + "EventID": 20231252, + "WorldLevel": 3, + "StageID": 202312523 + }, + { + "EventID": 20231252, + "WorldLevel": 4, + "StageID": 202312524 + }, + { + "EventID": 20231252, + "WorldLevel": 5, + "StageID": 202312525 + }, + { + "EventID": 20231252, + "WorldLevel": 6, + "StageID": 202312526 + }, + { + "EventID": 20231253, + "WorldLevel": 0, + "StageID": 202312530 + }, + { + "EventID": 20231253, + "WorldLevel": 1, + "StageID": 202312531 + }, + { + "EventID": 20231253, + "WorldLevel": 2, + "StageID": 202312532 + }, + { + "EventID": 20231253, + "WorldLevel": 3, + "StageID": 202312533 + }, + { + "EventID": 20231253, + "WorldLevel": 4, + "StageID": 202312534 + }, + { + "EventID": 20231253, + "WorldLevel": 5, + "StageID": 202312535 + }, + { + "EventID": 20231253, + "WorldLevel": 6, + "StageID": 202312536 + }, + { + "EventID": 20232101, + "WorldLevel": 0, + "StageID": 202321010 + }, + { + "EventID": 20232101, + "WorldLevel": 1, + "StageID": 202321011 + }, + { + "EventID": 20232101, + "WorldLevel": 2, + "StageID": 202321012 + }, + { + "EventID": 20232101, + "WorldLevel": 3, + "StageID": 202321013 + }, + { + "EventID": 20232101, + "WorldLevel": 4, + "StageID": 202321014 + }, + { + "EventID": 20232101, + "WorldLevel": 5, + "StageID": 202321015 + }, + { + "EventID": 20232101, + "WorldLevel": 6, + "StageID": 202321016 + }, + { + "EventID": 20232102, + "WorldLevel": 0, + "StageID": 202321020 + }, + { + "EventID": 20232102, + "WorldLevel": 1, + "StageID": 202321021 + }, + { + "EventID": 20232102, + "WorldLevel": 2, + "StageID": 202321022 + }, + { + "EventID": 20232102, + "WorldLevel": 3, + "StageID": 202321023 + }, + { + "EventID": 20232102, + "WorldLevel": 4, + "StageID": 202321024 + }, + { + "EventID": 20232102, + "WorldLevel": 5, + "StageID": 202321025 + }, + { + "EventID": 20232102, + "WorldLevel": 6, + "StageID": 202321026 + }, + { + "EventID": 20232103, + "WorldLevel": 0, + "StageID": 202321030 + }, + { + "EventID": 20232103, + "WorldLevel": 1, + "StageID": 202321031 + }, + { + "EventID": 20232103, + "WorldLevel": 2, + "StageID": 202321032 + }, + { + "EventID": 20232103, + "WorldLevel": 3, + "StageID": 202321033 + }, + { + "EventID": 20232103, + "WorldLevel": 4, + "StageID": 202321034 + }, + { + "EventID": 20232103, + "WorldLevel": 5, + "StageID": 202321035 + }, + { + "EventID": 20232103, + "WorldLevel": 6, + "StageID": 202321036 + }, + { + "EventID": 20232105, + "WorldLevel": 0, + "StageID": 202321050 + }, + { + "EventID": 20232105, + "WorldLevel": 1, + "StageID": 202321051 + }, + { + "EventID": 20232105, + "WorldLevel": 2, + "StageID": 202321052 + }, + { + "EventID": 20232105, + "WorldLevel": 3, + "StageID": 202321053 + }, + { + "EventID": 20232105, + "WorldLevel": 4, + "StageID": 202321054 + }, + { + "EventID": 20232105, + "WorldLevel": 5, + "StageID": 202321055 + }, + { + "EventID": 20232105, + "WorldLevel": 6, + "StageID": 202321056 + }, + { + "EventID": 20232106, + "WorldLevel": 0, + "StageID": 202321060 + }, + { + "EventID": 20232106, + "WorldLevel": 1, + "StageID": 202321061 + }, + { + "EventID": 20232106, + "WorldLevel": 2, + "StageID": 202321062 + }, + { + "EventID": 20232106, + "WorldLevel": 3, + "StageID": 202321063 + }, + { + "EventID": 20232106, + "WorldLevel": 4, + "StageID": 202321064 + }, + { + "EventID": 20232106, + "WorldLevel": 5, + "StageID": 202321065 + }, + { + "EventID": 20232106, + "WorldLevel": 6, + "StageID": 202321066 + }, + { + "EventID": 20232107, + "WorldLevel": 0, + "StageID": 202321070 + }, + { + "EventID": 20232107, + "WorldLevel": 1, + "StageID": 202321071 + }, + { + "EventID": 20232107, + "WorldLevel": 2, + "StageID": 202321072 + }, + { + "EventID": 20232107, + "WorldLevel": 3, + "StageID": 202321073 + }, + { + "EventID": 20232107, + "WorldLevel": 4, + "StageID": 202321074 + }, + { + "EventID": 20232107, + "WorldLevel": 5, + "StageID": 202321075 + }, + { + "EventID": 20232107, + "WorldLevel": 6, + "StageID": 202321076 + }, + { + "EventID": 20232108, + "WorldLevel": 0, + "StageID": 202321080 + }, + { + "EventID": 20232108, + "WorldLevel": 1, + "StageID": 202321081 + }, + { + "EventID": 20232108, + "WorldLevel": 2, + "StageID": 202321082 + }, + { + "EventID": 20232108, + "WorldLevel": 3, + "StageID": 202321083 + }, + { + "EventID": 20232108, + "WorldLevel": 4, + "StageID": 202321084 + }, + { + "EventID": 20232108, + "WorldLevel": 5, + "StageID": 202321085 + }, + { + "EventID": 20232108, + "WorldLevel": 6, + "StageID": 202321086 + }, + { + "EventID": 20232110, + "WorldLevel": 0, + "StageID": 202321100 + }, + { + "EventID": 20232110, + "WorldLevel": 1, + "StageID": 202321101 + }, + { + "EventID": 20232110, + "WorldLevel": 2, + "StageID": 202321102 + }, + { + "EventID": 20232110, + "WorldLevel": 3, + "StageID": 202321103 + }, + { + "EventID": 20232110, + "WorldLevel": 4, + "StageID": 202321104 + }, + { + "EventID": 20232110, + "WorldLevel": 5, + "StageID": 202321105 + }, + { + "EventID": 20232110, + "WorldLevel": 6, + "StageID": 202321106 + }, + { + "EventID": 20232111, + "WorldLevel": 0, + "StageID": 202321110 + }, + { + "EventID": 20232111, + "WorldLevel": 1, + "StageID": 202321111 + }, + { + "EventID": 20232111, + "WorldLevel": 2, + "StageID": 202321112 + }, + { + "EventID": 20232111, + "WorldLevel": 3, + "StageID": 202321113 + }, + { + "EventID": 20232111, + "WorldLevel": 4, + "StageID": 202321114 + }, + { + "EventID": 20232111, + "WorldLevel": 5, + "StageID": 202321115 + }, + { + "EventID": 20232111, + "WorldLevel": 6, + "StageID": 202321116 + }, + { + "EventID": 20232114, + "WorldLevel": 0, + "StageID": 202321140 + }, + { + "EventID": 20232114, + "WorldLevel": 1, + "StageID": 202321141 + }, + { + "EventID": 20232114, + "WorldLevel": 2, + "StageID": 202321142 + }, + { + "EventID": 20232114, + "WorldLevel": 3, + "StageID": 202321143 + }, + { + "EventID": 20232114, + "WorldLevel": 4, + "StageID": 202321144 + }, + { + "EventID": 20232114, + "WorldLevel": 5, + "StageID": 202321145 + }, + { + "EventID": 20232114, + "WorldLevel": 6, + "StageID": 202321146 + }, + { + "EventID": 20232115, + "WorldLevel": 0, + "StageID": 202321150 + }, + { + "EventID": 20232115, + "WorldLevel": 1, + "StageID": 202321151 + }, + { + "EventID": 20232115, + "WorldLevel": 2, + "StageID": 202321152 + }, + { + "EventID": 20232115, + "WorldLevel": 3, + "StageID": 202321153 + }, + { + "EventID": 20232115, + "WorldLevel": 4, + "StageID": 202321154 + }, + { + "EventID": 20232115, + "WorldLevel": 5, + "StageID": 202321155 + }, + { + "EventID": 20232115, + "WorldLevel": 6, + "StageID": 202321156 + }, + { + "EventID": 20232116, + "WorldLevel": 0, + "StageID": 202321160 + }, + { + "EventID": 20232116, + "WorldLevel": 1, + "StageID": 202321161 + }, + { + "EventID": 20232116, + "WorldLevel": 2, + "StageID": 202321162 + }, + { + "EventID": 20232116, + "WorldLevel": 3, + "StageID": 202321163 + }, + { + "EventID": 20232116, + "WorldLevel": 4, + "StageID": 202321164 + }, + { + "EventID": 20232116, + "WorldLevel": 5, + "StageID": 202321165 + }, + { + "EventID": 20232116, + "WorldLevel": 6, + "StageID": 202321166 + }, + { + "EventID": 20232117, + "WorldLevel": 0, + "StageID": 202321170 + }, + { + "EventID": 20232117, + "WorldLevel": 1, + "StageID": 202321171 + }, + { + "EventID": 20232117, + "WorldLevel": 2, + "StageID": 202321172 + }, + { + "EventID": 20232117, + "WorldLevel": 3, + "StageID": 202321173 + }, + { + "EventID": 20232117, + "WorldLevel": 4, + "StageID": 202321174 + }, + { + "EventID": 20232117, + "WorldLevel": 5, + "StageID": 202321175 + }, + { + "EventID": 20232117, + "WorldLevel": 6, + "StageID": 202321176 + }, + { + "EventID": 20232118, + "WorldLevel": 0, + "StageID": 202321180 + }, + { + "EventID": 20232118, + "WorldLevel": 1, + "StageID": 202321181 + }, + { + "EventID": 20232118, + "WorldLevel": 2, + "StageID": 202321182 + }, + { + "EventID": 20232118, + "WorldLevel": 3, + "StageID": 202321183 + }, + { + "EventID": 20232118, + "WorldLevel": 4, + "StageID": 202321184 + }, + { + "EventID": 20232118, + "WorldLevel": 5, + "StageID": 202321185 + }, + { + "EventID": 20232118, + "WorldLevel": 6, + "StageID": 202321186 + }, + { + "EventID": 20232119, + "WorldLevel": 0, + "StageID": 202321190 + }, + { + "EventID": 20232119, + "WorldLevel": 1, + "StageID": 202321191 + }, + { + "EventID": 20232119, + "WorldLevel": 2, + "StageID": 202321192 + }, + { + "EventID": 20232119, + "WorldLevel": 3, + "StageID": 202321193 + }, + { + "EventID": 20232119, + "WorldLevel": 4, + "StageID": 202321194 + }, + { + "EventID": 20232119, + "WorldLevel": 5, + "StageID": 202321195 + }, + { + "EventID": 20232119, + "WorldLevel": 6, + "StageID": 202321196 + }, + { + "EventID": 20232120, + "WorldLevel": 0, + "StageID": 202321200 + }, + { + "EventID": 20232120, + "WorldLevel": 1, + "StageID": 202321201 + }, + { + "EventID": 20232120, + "WorldLevel": 2, + "StageID": 202321202 + }, + { + "EventID": 20232120, + "WorldLevel": 3, + "StageID": 202321203 + }, + { + "EventID": 20232120, + "WorldLevel": 4, + "StageID": 202321204 + }, + { + "EventID": 20232120, + "WorldLevel": 5, + "StageID": 202321205 + }, + { + "EventID": 20232120, + "WorldLevel": 6, + "StageID": 202321206 + }, + { + "EventID": 20232125, + "WorldLevel": 0, + "StageID": 202321250 + }, + { + "EventID": 20232125, + "WorldLevel": 1, + "StageID": 202321251 + }, + { + "EventID": 20232125, + "WorldLevel": 2, + "StageID": 202321252 + }, + { + "EventID": 20232125, + "WorldLevel": 3, + "StageID": 202321253 + }, + { + "EventID": 20232125, + "WorldLevel": 4, + "StageID": 202321254 + }, + { + "EventID": 20232125, + "WorldLevel": 5, + "StageID": 202321255 + }, + { + "EventID": 20232125, + "WorldLevel": 6, + "StageID": 202321256 + }, + { + "EventID": 20232211, + "WorldLevel": 0, + "StageID": 202322110 + }, + { + "EventID": 20232211, + "WorldLevel": 1, + "StageID": 202322111 + }, + { + "EventID": 20232211, + "WorldLevel": 2, + "StageID": 202322112 + }, + { + "EventID": 20232211, + "WorldLevel": 3, + "StageID": 202322113 + }, + { + "EventID": 20232211, + "WorldLevel": 4, + "StageID": 202322114 + }, + { + "EventID": 20232211, + "WorldLevel": 5, + "StageID": 202322115 + }, + { + "EventID": 20232211, + "WorldLevel": 6, + "StageID": 202322116 + }, + { + "EventID": 20232231, + "WorldLevel": 0, + "StageID": 202322310 + }, + { + "EventID": 20232231, + "WorldLevel": 1, + "StageID": 202322311 + }, + { + "EventID": 20232231, + "WorldLevel": 2, + "StageID": 202322312 + }, + { + "EventID": 20232231, + "WorldLevel": 3, + "StageID": 202322313 + }, + { + "EventID": 20232231, + "WorldLevel": 4, + "StageID": 202322314 + }, + { + "EventID": 20232231, + "WorldLevel": 5, + "StageID": 202322315 + }, + { + "EventID": 20232231, + "WorldLevel": 6, + "StageID": 202322316 + }, + { + "EventID": 20232232, + "WorldLevel": 0, + "StageID": 202322320 + }, + { + "EventID": 20232232, + "WorldLevel": 1, + "StageID": 202322321 + }, + { + "EventID": 20232232, + "WorldLevel": 2, + "StageID": 202322322 + }, + { + "EventID": 20232232, + "WorldLevel": 3, + "StageID": 202322323 + }, + { + "EventID": 20232232, + "WorldLevel": 4, + "StageID": 202322324 + }, + { + "EventID": 20232232, + "WorldLevel": 5, + "StageID": 202322325 + }, + { + "EventID": 20232232, + "WorldLevel": 6, + "StageID": 202322326 + }, + { + "EventID": 20232234, + "WorldLevel": 0, + "StageID": 202322340 + }, + { + "EventID": 20232234, + "WorldLevel": 1, + "StageID": 202322341 + }, + { + "EventID": 20232234, + "WorldLevel": 2, + "StageID": 202322342 + }, + { + "EventID": 20232234, + "WorldLevel": 3, + "StageID": 202322343 + }, + { + "EventID": 20232234, + "WorldLevel": 4, + "StageID": 202322344 + }, + { + "EventID": 20232234, + "WorldLevel": 5, + "StageID": 202322345 + }, + { + "EventID": 20232234, + "WorldLevel": 6, + "StageID": 202322346 + }, + { + "EventID": 20232235, + "WorldLevel": 0, + "StageID": 202322350 + }, + { + "EventID": 20232235, + "WorldLevel": 1, + "StageID": 202322351 + }, + { + "EventID": 20232235, + "WorldLevel": 2, + "StageID": 202322352 + }, + { + "EventID": 20232235, + "WorldLevel": 3, + "StageID": 202322353 + }, + { + "EventID": 20232235, + "WorldLevel": 4, + "StageID": 202322354 + }, + { + "EventID": 20232235, + "WorldLevel": 5, + "StageID": 202322355 + }, + { + "EventID": 20232235, + "WorldLevel": 6, + "StageID": 202322356 + }, + { + "EventID": 20241001, + "WorldLevel": 0, + "StageID": 202410010 + }, + { + "EventID": 20241001, + "WorldLevel": 1, + "StageID": 202410011 + }, + { + "EventID": 20241001, + "WorldLevel": 2, + "StageID": 202410012 + }, + { + "EventID": 20241001, + "WorldLevel": 3, + "StageID": 202410013 + }, + { + "EventID": 20241001, + "WorldLevel": 4, + "StageID": 202410014 + }, + { + "EventID": 20241001, + "WorldLevel": 5, + "StageID": 202410015 + }, + { + "EventID": 20241001, + "WorldLevel": 6, + "StageID": 202410016 + }, + { + "EventID": 20241002, + "WorldLevel": 0, + "StageID": 202410020 + }, + { + "EventID": 20241002, + "WorldLevel": 1, + "StageID": 202410021 + }, + { + "EventID": 20241002, + "WorldLevel": 2, + "StageID": 202410022 + }, + { + "EventID": 20241002, + "WorldLevel": 3, + "StageID": 202410023 + }, + { + "EventID": 20241002, + "WorldLevel": 4, + "StageID": 202410024 + }, + { + "EventID": 20241002, + "WorldLevel": 5, + "StageID": 202410025 + }, + { + "EventID": 20241002, + "WorldLevel": 6, + "StageID": 202410026 + }, + { + "EventID": 20241003, + "WorldLevel": 0, + "StageID": 202410030 + }, + { + "EventID": 20241003, + "WorldLevel": 1, + "StageID": 202410031 + }, + { + "EventID": 20241003, + "WorldLevel": 2, + "StageID": 202410032 + }, + { + "EventID": 20241003, + "WorldLevel": 3, + "StageID": 202410033 + }, + { + "EventID": 20241003, + "WorldLevel": 4, + "StageID": 202410034 + }, + { + "EventID": 20241003, + "WorldLevel": 5, + "StageID": 202410035 + }, + { + "EventID": 20241003, + "WorldLevel": 6, + "StageID": 202410036 + }, + { + "EventID": 20241006, + "WorldLevel": 0, + "StageID": 202410060 + }, + { + "EventID": 20241006, + "WorldLevel": 1, + "StageID": 202410061 + }, + { + "EventID": 20241006, + "WorldLevel": 2, + "StageID": 202410062 + }, + { + "EventID": 20241006, + "WorldLevel": 3, + "StageID": 202410063 + }, + { + "EventID": 20241006, + "WorldLevel": 4, + "StageID": 202410064 + }, + { + "EventID": 20241006, + "WorldLevel": 5, + "StageID": 202410065 + }, + { + "EventID": 20241006, + "WorldLevel": 6, + "StageID": 202410066 + }, + { + "EventID": 20241007, + "WorldLevel": 0, + "StageID": 202410070 + }, + { + "EventID": 20241007, + "WorldLevel": 1, + "StageID": 202410071 + }, + { + "EventID": 20241007, + "WorldLevel": 2, + "StageID": 202410072 + }, + { + "EventID": 20241007, + "WorldLevel": 3, + "StageID": 202410073 + }, + { + "EventID": 20241007, + "WorldLevel": 4, + "StageID": 202410074 + }, + { + "EventID": 20241007, + "WorldLevel": 5, + "StageID": 202410075 + }, + { + "EventID": 20241007, + "WorldLevel": 6, + "StageID": 202410076 + }, + { + "EventID": 20241008, + "WorldLevel": 0, + "StageID": 202410080 + }, + { + "EventID": 20241008, + "WorldLevel": 1, + "StageID": 202410081 + }, + { + "EventID": 20241008, + "WorldLevel": 2, + "StageID": 202410082 + }, + { + "EventID": 20241008, + "WorldLevel": 3, + "StageID": 202410083 + }, + { + "EventID": 20241008, + "WorldLevel": 4, + "StageID": 202410084 + }, + { + "EventID": 20241008, + "WorldLevel": 5, + "StageID": 202410085 + }, + { + "EventID": 20241008, + "WorldLevel": 6, + "StageID": 202410086 + }, + { + "EventID": 20241009, + "WorldLevel": 0, + "StageID": 202410090 + }, + { + "EventID": 20241009, + "WorldLevel": 1, + "StageID": 202410091 + }, + { + "EventID": 20241009, + "WorldLevel": 2, + "StageID": 202410092 + }, + { + "EventID": 20241009, + "WorldLevel": 3, + "StageID": 202410093 + }, + { + "EventID": 20241009, + "WorldLevel": 4, + "StageID": 202410094 + }, + { + "EventID": 20241009, + "WorldLevel": 5, + "StageID": 202410095 + }, + { + "EventID": 20241009, + "WorldLevel": 6, + "StageID": 202410096 + }, + { + "EventID": 20241011, + "WorldLevel": 0, + "StageID": 202410110 + }, + { + "EventID": 20241011, + "WorldLevel": 1, + "StageID": 202410111 + }, + { + "EventID": 20241011, + "WorldLevel": 2, + "StageID": 202410112 + }, + { + "EventID": 20241011, + "WorldLevel": 3, + "StageID": 202410113 + }, + { + "EventID": 20241011, + "WorldLevel": 4, + "StageID": 202410114 + }, + { + "EventID": 20241011, + "WorldLevel": 5, + "StageID": 202410115 + }, + { + "EventID": 20241011, + "WorldLevel": 6, + "StageID": 202410116 + }, + { + "EventID": 20241012, + "WorldLevel": 0, + "StageID": 202410120 + }, + { + "EventID": 20241012, + "WorldLevel": 1, + "StageID": 202410121 + }, + { + "EventID": 20241012, + "WorldLevel": 2, + "StageID": 202410122 + }, + { + "EventID": 20241012, + "WorldLevel": 3, + "StageID": 202410123 + }, + { + "EventID": 20241012, + "WorldLevel": 4, + "StageID": 202410124 + }, + { + "EventID": 20241012, + "WorldLevel": 5, + "StageID": 202410125 + }, + { + "EventID": 20241012, + "WorldLevel": 6, + "StageID": 202410126 + }, + { + "EventID": 20241013, + "WorldLevel": 0, + "StageID": 202410130 + }, + { + "EventID": 20241013, + "WorldLevel": 1, + "StageID": 202410131 + }, + { + "EventID": 20241013, + "WorldLevel": 2, + "StageID": 202410132 + }, + { + "EventID": 20241013, + "WorldLevel": 3, + "StageID": 202410133 + }, + { + "EventID": 20241013, + "WorldLevel": 4, + "StageID": 202410134 + }, + { + "EventID": 20241013, + "WorldLevel": 5, + "StageID": 202410135 + }, + { + "EventID": 20241013, + "WorldLevel": 6, + "StageID": 202410136 + }, + { + "EventID": 20241014, + "WorldLevel": 0, + "StageID": 202410140 + }, + { + "EventID": 20241014, + "WorldLevel": 1, + "StageID": 202410141 + }, + { + "EventID": 20241014, + "WorldLevel": 2, + "StageID": 202410142 + }, + { + "EventID": 20241014, + "WorldLevel": 3, + "StageID": 202410143 + }, + { + "EventID": 20241014, + "WorldLevel": 4, + "StageID": 202410144 + }, + { + "EventID": 20241014, + "WorldLevel": 5, + "StageID": 202410145 + }, + { + "EventID": 20241014, + "WorldLevel": 6, + "StageID": 202410146 + }, + { + "EventID": 20241016, + "WorldLevel": 0, + "StageID": 202410160 + }, + { + "EventID": 20241016, + "WorldLevel": 1, + "StageID": 202410161 + }, + { + "EventID": 20241016, + "WorldLevel": 2, + "StageID": 202410162 + }, + { + "EventID": 20241016, + "WorldLevel": 3, + "StageID": 202410163 + }, + { + "EventID": 20241016, + "WorldLevel": 4, + "StageID": 202410164 + }, + { + "EventID": 20241016, + "WorldLevel": 5, + "StageID": 202410165 + }, + { + "EventID": 20241016, + "WorldLevel": 6, + "StageID": 202410166 + }, + { + "EventID": 20241017, + "WorldLevel": 0, + "StageID": 202410170 + }, + { + "EventID": 20241017, + "WorldLevel": 1, + "StageID": 202410171 + }, + { + "EventID": 20241017, + "WorldLevel": 2, + "StageID": 202410172 + }, + { + "EventID": 20241017, + "WorldLevel": 3, + "StageID": 202410173 + }, + { + "EventID": 20241017, + "WorldLevel": 4, + "StageID": 202410174 + }, + { + "EventID": 20241017, + "WorldLevel": 5, + "StageID": 202410175 + }, + { + "EventID": 20241017, + "WorldLevel": 6, + "StageID": 202410176 + }, + { + "EventID": 20241018, + "WorldLevel": 0, + "StageID": 202410180 + }, + { + "EventID": 20241018, + "WorldLevel": 1, + "StageID": 202410181 + }, + { + "EventID": 20241018, + "WorldLevel": 2, + "StageID": 202410182 + }, + { + "EventID": 20241018, + "WorldLevel": 3, + "StageID": 202410183 + }, + { + "EventID": 20241018, + "WorldLevel": 4, + "StageID": 202410184 + }, + { + "EventID": 20241018, + "WorldLevel": 5, + "StageID": 202410185 + }, + { + "EventID": 20241018, + "WorldLevel": 6, + "StageID": 202410186 + }, + { + "EventID": 20241021, + "WorldLevel": 0, + "StageID": 202410210 + }, + { + "EventID": 20241021, + "WorldLevel": 1, + "StageID": 202410211 + }, + { + "EventID": 20241021, + "WorldLevel": 2, + "StageID": 202410212 + }, + { + "EventID": 20241021, + "WorldLevel": 3, + "StageID": 202410213 + }, + { + "EventID": 20241021, + "WorldLevel": 4, + "StageID": 202410214 + }, + { + "EventID": 20241021, + "WorldLevel": 5, + "StageID": 202410215 + }, + { + "EventID": 20241021, + "WorldLevel": 6, + "StageID": 202410216 + }, + { + "EventID": 20241022, + "WorldLevel": 0, + "StageID": 202410220 + }, + { + "EventID": 20241022, + "WorldLevel": 1, + "StageID": 202410221 + }, + { + "EventID": 20241022, + "WorldLevel": 2, + "StageID": 202410222 + }, + { + "EventID": 20241022, + "WorldLevel": 3, + "StageID": 202410223 + }, + { + "EventID": 20241022, + "WorldLevel": 4, + "StageID": 202410224 + }, + { + "EventID": 20241022, + "WorldLevel": 5, + "StageID": 202410225 + }, + { + "EventID": 20241022, + "WorldLevel": 6, + "StageID": 202410226 + }, + { + "EventID": 20241023, + "WorldLevel": 0, + "StageID": 202410230 + }, + { + "EventID": 20241023, + "WorldLevel": 1, + "StageID": 202410231 + }, + { + "EventID": 20241023, + "WorldLevel": 2, + "StageID": 202410232 + }, + { + "EventID": 20241023, + "WorldLevel": 3, + "StageID": 202410233 + }, + { + "EventID": 20241023, + "WorldLevel": 4, + "StageID": 202410234 + }, + { + "EventID": 20241023, + "WorldLevel": 5, + "StageID": 202410235 + }, + { + "EventID": 20241023, + "WorldLevel": 6, + "StageID": 202410236 + }, + { + "EventID": 20241024, + "WorldLevel": 0, + "StageID": 202410240 + }, + { + "EventID": 20241024, + "WorldLevel": 1, + "StageID": 202410241 + }, + { + "EventID": 20241024, + "WorldLevel": 2, + "StageID": 202410242 + }, + { + "EventID": 20241024, + "WorldLevel": 3, + "StageID": 202410243 + }, + { + "EventID": 20241024, + "WorldLevel": 4, + "StageID": 202410244 + }, + { + "EventID": 20241024, + "WorldLevel": 5, + "StageID": 202410245 + }, + { + "EventID": 20241024, + "WorldLevel": 6, + "StageID": 202410246 + }, + { + "EventID": 20241025, + "WorldLevel": 0, + "StageID": 202410250 + }, + { + "EventID": 20241025, + "WorldLevel": 1, + "StageID": 202410251 + }, + { + "EventID": 20241025, + "WorldLevel": 2, + "StageID": 202410252 + }, + { + "EventID": 20241025, + "WorldLevel": 3, + "StageID": 202410253 + }, + { + "EventID": 20241025, + "WorldLevel": 4, + "StageID": 202410254 + }, + { + "EventID": 20241025, + "WorldLevel": 5, + "StageID": 202410255 + }, + { + "EventID": 20241025, + "WorldLevel": 6, + "StageID": 202410256 + }, + { + "EventID": 20241026, + "WorldLevel": 0, + "StageID": 202410260 + }, + { + "EventID": 20241026, + "WorldLevel": 1, + "StageID": 202410261 + }, + { + "EventID": 20241026, + "WorldLevel": 2, + "StageID": 202410262 + }, + { + "EventID": 20241026, + "WorldLevel": 3, + "StageID": 202410263 + }, + { + "EventID": 20241026, + "WorldLevel": 4, + "StageID": 202410264 + }, + { + "EventID": 20241026, + "WorldLevel": 5, + "StageID": 202410265 + }, + { + "EventID": 20241026, + "WorldLevel": 6, + "StageID": 202410266 + }, + { + "EventID": 20241027, + "WorldLevel": 0, + "StageID": 202410270 + }, + { + "EventID": 20241027, + "WorldLevel": 1, + "StageID": 202410271 + }, + { + "EventID": 20241027, + "WorldLevel": 2, + "StageID": 202410272 + }, + { + "EventID": 20241027, + "WorldLevel": 3, + "StageID": 202410273 + }, + { + "EventID": 20241027, + "WorldLevel": 4, + "StageID": 202410274 + }, + { + "EventID": 20241027, + "WorldLevel": 5, + "StageID": 202410275 + }, + { + "EventID": 20241027, + "WorldLevel": 6, + "StageID": 202410276 + }, + { + "EventID": 20241028, + "WorldLevel": 0, + "StageID": 202410280 + }, + { + "EventID": 20241028, + "WorldLevel": 1, + "StageID": 202410281 + }, + { + "EventID": 20241028, + "WorldLevel": 2, + "StageID": 202410282 + }, + { + "EventID": 20241028, + "WorldLevel": 3, + "StageID": 202410283 + }, + { + "EventID": 20241028, + "WorldLevel": 4, + "StageID": 202410284 + }, + { + "EventID": 20241028, + "WorldLevel": 5, + "StageID": 202410285 + }, + { + "EventID": 20241028, + "WorldLevel": 6, + "StageID": 202410286 + }, + { + "EventID": 20241029, + "WorldLevel": 0, + "StageID": 202410290 + }, + { + "EventID": 20241029, + "WorldLevel": 1, + "StageID": 202410291 + }, + { + "EventID": 20241029, + "WorldLevel": 2, + "StageID": 202410292 + }, + { + "EventID": 20241029, + "WorldLevel": 3, + "StageID": 202410293 + }, + { + "EventID": 20241029, + "WorldLevel": 4, + "StageID": 202410294 + }, + { + "EventID": 20241029, + "WorldLevel": 5, + "StageID": 202410295 + }, + { + "EventID": 20241029, + "WorldLevel": 6, + "StageID": 202410296 + }, + { + "EventID": 20241031, + "WorldLevel": 0, + "StageID": 202410310 + }, + { + "EventID": 20241031, + "WorldLevel": 1, + "StageID": 202410311 + }, + { + "EventID": 20241031, + "WorldLevel": 2, + "StageID": 202410312 + }, + { + "EventID": 20241031, + "WorldLevel": 3, + "StageID": 202410313 + }, + { + "EventID": 20241031, + "WorldLevel": 4, + "StageID": 202410314 + }, + { + "EventID": 20241031, + "WorldLevel": 5, + "StageID": 202410315 + }, + { + "EventID": 20241031, + "WorldLevel": 6, + "StageID": 202410316 + }, + { + "EventID": 20241032, + "WorldLevel": 0, + "StageID": 202410320 + }, + { + "EventID": 20241032, + "WorldLevel": 1, + "StageID": 202410321 + }, + { + "EventID": 20241032, + "WorldLevel": 2, + "StageID": 202410322 + }, + { + "EventID": 20241032, + "WorldLevel": 3, + "StageID": 202410323 + }, + { + "EventID": 20241032, + "WorldLevel": 4, + "StageID": 202410324 + }, + { + "EventID": 20241032, + "WorldLevel": 5, + "StageID": 202410325 + }, + { + "EventID": 20241032, + "WorldLevel": 6, + "StageID": 202410326 + }, + { + "EventID": 20241033, + "WorldLevel": 0, + "StageID": 202410330 + }, + { + "EventID": 20241033, + "WorldLevel": 1, + "StageID": 202410331 + }, + { + "EventID": 20241033, + "WorldLevel": 2, + "StageID": 202410332 + }, + { + "EventID": 20241033, + "WorldLevel": 3, + "StageID": 202410333 + }, + { + "EventID": 20241033, + "WorldLevel": 4, + "StageID": 202410334 + }, + { + "EventID": 20241033, + "WorldLevel": 5, + "StageID": 202410335 + }, + { + "EventID": 20241033, + "WorldLevel": 6, + "StageID": 202410336 + }, + { + "EventID": 20241034, + "WorldLevel": 0, + "StageID": 202410340 + }, + { + "EventID": 20241034, + "WorldLevel": 1, + "StageID": 202410341 + }, + { + "EventID": 20241034, + "WorldLevel": 2, + "StageID": 202410342 + }, + { + "EventID": 20241034, + "WorldLevel": 3, + "StageID": 202410343 + }, + { + "EventID": 20241034, + "WorldLevel": 4, + "StageID": 202410344 + }, + { + "EventID": 20241034, + "WorldLevel": 5, + "StageID": 202410345 + }, + { + "EventID": 20241034, + "WorldLevel": 6, + "StageID": 202410346 + }, + { + "EventID": 20241035, + "WorldLevel": 0, + "StageID": 202410350 + }, + { + "EventID": 20241035, + "WorldLevel": 1, + "StageID": 202410351 + }, + { + "EventID": 20241035, + "WorldLevel": 2, + "StageID": 202410352 + }, + { + "EventID": 20241035, + "WorldLevel": 3, + "StageID": 202410353 + }, + { + "EventID": 20241035, + "WorldLevel": 4, + "StageID": 202410354 + }, + { + "EventID": 20241035, + "WorldLevel": 5, + "StageID": 202410355 + }, + { + "EventID": 20241035, + "WorldLevel": 6, + "StageID": 202410356 + }, + { + "EventID": 20241036, + "WorldLevel": 0, + "StageID": 202410360 + }, + { + "EventID": 20241036, + "WorldLevel": 1, + "StageID": 202410361 + }, + { + "EventID": 20241036, + "WorldLevel": 2, + "StageID": 202410362 + }, + { + "EventID": 20241036, + "WorldLevel": 3, + "StageID": 202410363 + }, + { + "EventID": 20241036, + "WorldLevel": 4, + "StageID": 202410364 + }, + { + "EventID": 20241036, + "WorldLevel": 5, + "StageID": 202410365 + }, + { + "EventID": 20241036, + "WorldLevel": 6, + "StageID": 202410366 + }, + { + "EventID": 20241037, + "WorldLevel": 0, + "StageID": 202410370 + }, + { + "EventID": 20241037, + "WorldLevel": 1, + "StageID": 202410371 + }, + { + "EventID": 20241037, + "WorldLevel": 2, + "StageID": 202410372 + }, + { + "EventID": 20241037, + "WorldLevel": 3, + "StageID": 202410373 + }, + { + "EventID": 20241037, + "WorldLevel": 4, + "StageID": 202410374 + }, + { + "EventID": 20241037, + "WorldLevel": 5, + "StageID": 202410375 + }, + { + "EventID": 20241037, + "WorldLevel": 6, + "StageID": 202410376 + }, + { + "EventID": 20241038, + "WorldLevel": 0, + "StageID": 202410380 + }, + { + "EventID": 20241038, + "WorldLevel": 1, + "StageID": 202410381 + }, + { + "EventID": 20241038, + "WorldLevel": 2, + "StageID": 202410382 + }, + { + "EventID": 20241038, + "WorldLevel": 3, + "StageID": 202410383 + }, + { + "EventID": 20241038, + "WorldLevel": 4, + "StageID": 202410384 + }, + { + "EventID": 20241038, + "WorldLevel": 5, + "StageID": 202410385 + }, + { + "EventID": 20241038, + "WorldLevel": 6, + "StageID": 202410386 + }, + { + "EventID": 20241039, + "WorldLevel": 0, + "StageID": 202410390 + }, + { + "EventID": 20241039, + "WorldLevel": 1, + "StageID": 202410391 + }, + { + "EventID": 20241039, + "WorldLevel": 2, + "StageID": 202410392 + }, + { + "EventID": 20241039, + "WorldLevel": 3, + "StageID": 202410393 + }, + { + "EventID": 20241039, + "WorldLevel": 4, + "StageID": 202410394 + }, + { + "EventID": 20241039, + "WorldLevel": 5, + "StageID": 202410395 + }, + { + "EventID": 20241039, + "WorldLevel": 6, + "StageID": 202410396 + }, + { + "EventID": 20241040, + "WorldLevel": 0, + "StageID": 202410400 + }, + { + "EventID": 20241040, + "WorldLevel": 1, + "StageID": 202410401 + }, + { + "EventID": 20241040, + "WorldLevel": 2, + "StageID": 202410402 + }, + { + "EventID": 20241040, + "WorldLevel": 3, + "StageID": 202410403 + }, + { + "EventID": 20241040, + "WorldLevel": 4, + "StageID": 202410404 + }, + { + "EventID": 20241040, + "WorldLevel": 5, + "StageID": 202410405 + }, + { + "EventID": 20241040, + "WorldLevel": 6, + "StageID": 202410406 + }, + { + "EventID": 20241101, + "WorldLevel": 0, + "StageID": 202411010 + }, + { + "EventID": 20241101, + "WorldLevel": 1, + "StageID": 202411011 + }, + { + "EventID": 20241101, + "WorldLevel": 2, + "StageID": 202411012 + }, + { + "EventID": 20241101, + "WorldLevel": 3, + "StageID": 202411013 + }, + { + "EventID": 20241101, + "WorldLevel": 4, + "StageID": 202411014 + }, + { + "EventID": 20241101, + "WorldLevel": 5, + "StageID": 202411015 + }, + { + "EventID": 20241101, + "WorldLevel": 6, + "StageID": 202411016 + }, + { + "EventID": 20241102, + "WorldLevel": 0, + "StageID": 202411020 + }, + { + "EventID": 20241102, + "WorldLevel": 1, + "StageID": 202411021 + }, + { + "EventID": 20241102, + "WorldLevel": 2, + "StageID": 202411022 + }, + { + "EventID": 20241102, + "WorldLevel": 3, + "StageID": 202411023 + }, + { + "EventID": 20241102, + "WorldLevel": 4, + "StageID": 202411024 + }, + { + "EventID": 20241102, + "WorldLevel": 5, + "StageID": 202411025 + }, + { + "EventID": 20241102, + "WorldLevel": 6, + "StageID": 202411026 + }, + { + "EventID": 20241103, + "WorldLevel": 0, + "StageID": 202411030 + }, + { + "EventID": 20241103, + "WorldLevel": 1, + "StageID": 202411031 + }, + { + "EventID": 20241103, + "WorldLevel": 2, + "StageID": 202411032 + }, + { + "EventID": 20241103, + "WorldLevel": 3, + "StageID": 202411033 + }, + { + "EventID": 20241103, + "WorldLevel": 4, + "StageID": 202411034 + }, + { + "EventID": 20241103, + "WorldLevel": 5, + "StageID": 202411035 + }, + { + "EventID": 20241103, + "WorldLevel": 6, + "StageID": 202411036 + }, + { + "EventID": 20241106, + "WorldLevel": 0, + "StageID": 202411060 + }, + { + "EventID": 20241106, + "WorldLevel": 1, + "StageID": 202411061 + }, + { + "EventID": 20241106, + "WorldLevel": 2, + "StageID": 202411062 + }, + { + "EventID": 20241106, + "WorldLevel": 3, + "StageID": 202411063 + }, + { + "EventID": 20241106, + "WorldLevel": 4, + "StageID": 202411064 + }, + { + "EventID": 20241106, + "WorldLevel": 5, + "StageID": 202411065 + }, + { + "EventID": 20241106, + "WorldLevel": 6, + "StageID": 202411066 + }, + { + "EventID": 20241107, + "WorldLevel": 0, + "StageID": 202411070 + }, + { + "EventID": 20241107, + "WorldLevel": 1, + "StageID": 202411071 + }, + { + "EventID": 20241107, + "WorldLevel": 2, + "StageID": 202411072 + }, + { + "EventID": 20241107, + "WorldLevel": 3, + "StageID": 202411073 + }, + { + "EventID": 20241107, + "WorldLevel": 4, + "StageID": 202411074 + }, + { + "EventID": 20241107, + "WorldLevel": 5, + "StageID": 202411075 + }, + { + "EventID": 20241107, + "WorldLevel": 6, + "StageID": 202411076 + }, + { + "EventID": 20241108, + "WorldLevel": 0, + "StageID": 202411080 + }, + { + "EventID": 20241108, + "WorldLevel": 1, + "StageID": 202411081 + }, + { + "EventID": 20241108, + "WorldLevel": 2, + "StageID": 202411082 + }, + { + "EventID": 20241108, + "WorldLevel": 3, + "StageID": 202411083 + }, + { + "EventID": 20241108, + "WorldLevel": 4, + "StageID": 202411084 + }, + { + "EventID": 20241108, + "WorldLevel": 5, + "StageID": 202411085 + }, + { + "EventID": 20241108, + "WorldLevel": 6, + "StageID": 202411086 + }, + { + "EventID": 20241109, + "WorldLevel": 0, + "StageID": 202411090 + }, + { + "EventID": 20241109, + "WorldLevel": 1, + "StageID": 202411091 + }, + { + "EventID": 20241109, + "WorldLevel": 2, + "StageID": 202411092 + }, + { + "EventID": 20241109, + "WorldLevel": 3, + "StageID": 202411093 + }, + { + "EventID": 20241109, + "WorldLevel": 4, + "StageID": 202411094 + }, + { + "EventID": 20241109, + "WorldLevel": 5, + "StageID": 202411095 + }, + { + "EventID": 20241109, + "WorldLevel": 6, + "StageID": 202411096 + }, + { + "EventID": 20241111, + "WorldLevel": 0, + "StageID": 202411110 + }, + { + "EventID": 20241111, + "WorldLevel": 1, + "StageID": 202411111 + }, + { + "EventID": 20241111, + "WorldLevel": 2, + "StageID": 202411112 + }, + { + "EventID": 20241111, + "WorldLevel": 3, + "StageID": 202411113 + }, + { + "EventID": 20241111, + "WorldLevel": 4, + "StageID": 202411114 + }, + { + "EventID": 20241111, + "WorldLevel": 5, + "StageID": 202411115 + }, + { + "EventID": 20241111, + "WorldLevel": 6, + "StageID": 202411116 + }, + { + "EventID": 20241112, + "WorldLevel": 0, + "StageID": 202411120 + }, + { + "EventID": 20241112, + "WorldLevel": 1, + "StageID": 202411121 + }, + { + "EventID": 20241112, + "WorldLevel": 2, + "StageID": 202411122 + }, + { + "EventID": 20241112, + "WorldLevel": 3, + "StageID": 202411123 + }, + { + "EventID": 20241112, + "WorldLevel": 4, + "StageID": 202411124 + }, + { + "EventID": 20241112, + "WorldLevel": 5, + "StageID": 202411125 + }, + { + "EventID": 20241112, + "WorldLevel": 6, + "StageID": 202411126 + }, + { + "EventID": 20241113, + "WorldLevel": 0, + "StageID": 202411130 + }, + { + "EventID": 20241113, + "WorldLevel": 1, + "StageID": 202411131 + }, + { + "EventID": 20241113, + "WorldLevel": 2, + "StageID": 202411132 + }, + { + "EventID": 20241113, + "WorldLevel": 3, + "StageID": 202411133 + }, + { + "EventID": 20241113, + "WorldLevel": 4, + "StageID": 202411134 + }, + { + "EventID": 20241113, + "WorldLevel": 5, + "StageID": 202411135 + }, + { + "EventID": 20241113, + "WorldLevel": 6, + "StageID": 202411136 + }, + { + "EventID": 20241114, + "WorldLevel": 0, + "StageID": 202411140 + }, + { + "EventID": 20241114, + "WorldLevel": 1, + "StageID": 202411141 + }, + { + "EventID": 20241114, + "WorldLevel": 2, + "StageID": 202411142 + }, + { + "EventID": 20241114, + "WorldLevel": 3, + "StageID": 202411143 + }, + { + "EventID": 20241114, + "WorldLevel": 4, + "StageID": 202411144 + }, + { + "EventID": 20241114, + "WorldLevel": 5, + "StageID": 202411145 + }, + { + "EventID": 20241114, + "WorldLevel": 6, + "StageID": 202411146 + }, + { + "EventID": 20241116, + "WorldLevel": 0, + "StageID": 202411160 + }, + { + "EventID": 20241116, + "WorldLevel": 1, + "StageID": 202411161 + }, + { + "EventID": 20241116, + "WorldLevel": 2, + "StageID": 202411162 + }, + { + "EventID": 20241116, + "WorldLevel": 3, + "StageID": 202411163 + }, + { + "EventID": 20241116, + "WorldLevel": 4, + "StageID": 202411164 + }, + { + "EventID": 20241116, + "WorldLevel": 5, + "StageID": 202411165 + }, + { + "EventID": 20241116, + "WorldLevel": 6, + "StageID": 202411166 + }, + { + "EventID": 20241117, + "WorldLevel": 0, + "StageID": 202411170 + }, + { + "EventID": 20241117, + "WorldLevel": 1, + "StageID": 202411171 + }, + { + "EventID": 20241117, + "WorldLevel": 2, + "StageID": 202411172 + }, + { + "EventID": 20241117, + "WorldLevel": 3, + "StageID": 202411173 + }, + { + "EventID": 20241117, + "WorldLevel": 4, + "StageID": 202411174 + }, + { + "EventID": 20241117, + "WorldLevel": 5, + "StageID": 202411175 + }, + { + "EventID": 20241117, + "WorldLevel": 6, + "StageID": 202411176 + }, + { + "EventID": 20241118, + "WorldLevel": 0, + "StageID": 202411180 + }, + { + "EventID": 20241118, + "WorldLevel": 1, + "StageID": 202411181 + }, + { + "EventID": 20241118, + "WorldLevel": 2, + "StageID": 202411182 + }, + { + "EventID": 20241118, + "WorldLevel": 3, + "StageID": 202411183 + }, + { + "EventID": 20241118, + "WorldLevel": 4, + "StageID": 202411184 + }, + { + "EventID": 20241118, + "WorldLevel": 5, + "StageID": 202411185 + }, + { + "EventID": 20241118, + "WorldLevel": 6, + "StageID": 202411186 + }, + { + "EventID": 20241121, + "WorldLevel": 0, + "StageID": 202411210 + }, + { + "EventID": 20241121, + "WorldLevel": 1, + "StageID": 202411211 + }, + { + "EventID": 20241121, + "WorldLevel": 2, + "StageID": 202411212 + }, + { + "EventID": 20241121, + "WorldLevel": 3, + "StageID": 202411213 + }, + { + "EventID": 20241121, + "WorldLevel": 4, + "StageID": 202411214 + }, + { + "EventID": 20241121, + "WorldLevel": 5, + "StageID": 202411215 + }, + { + "EventID": 20241121, + "WorldLevel": 6, + "StageID": 202411216 + }, + { + "EventID": 20241122, + "WorldLevel": 0, + "StageID": 202411220 + }, + { + "EventID": 20241122, + "WorldLevel": 1, + "StageID": 202411221 + }, + { + "EventID": 20241122, + "WorldLevel": 2, + "StageID": 202411222 + }, + { + "EventID": 20241122, + "WorldLevel": 3, + "StageID": 202411223 + }, + { + "EventID": 20241122, + "WorldLevel": 4, + "StageID": 202411224 + }, + { + "EventID": 20241122, + "WorldLevel": 5, + "StageID": 202411225 + }, + { + "EventID": 20241122, + "WorldLevel": 6, + "StageID": 202411226 + }, + { + "EventID": 20241123, + "WorldLevel": 0, + "StageID": 202411230 + }, + { + "EventID": 20241123, + "WorldLevel": 1, + "StageID": 202411231 + }, + { + "EventID": 20241123, + "WorldLevel": 2, + "StageID": 202411232 + }, + { + "EventID": 20241123, + "WorldLevel": 3, + "StageID": 202411233 + }, + { + "EventID": 20241123, + "WorldLevel": 4, + "StageID": 202411234 + }, + { + "EventID": 20241123, + "WorldLevel": 5, + "StageID": 202411235 + }, + { + "EventID": 20241123, + "WorldLevel": 6, + "StageID": 202411236 + }, + { + "EventID": 20241124, + "WorldLevel": 0, + "StageID": 202411240 + }, + { + "EventID": 20241124, + "WorldLevel": 1, + "StageID": 202411241 + }, + { + "EventID": 20241124, + "WorldLevel": 2, + "StageID": 202411242 + }, + { + "EventID": 20241124, + "WorldLevel": 3, + "StageID": 202411243 + }, + { + "EventID": 20241124, + "WorldLevel": 4, + "StageID": 202411244 + }, + { + "EventID": 20241124, + "WorldLevel": 5, + "StageID": 202411245 + }, + { + "EventID": 20241124, + "WorldLevel": 6, + "StageID": 202411246 + }, + { + "EventID": 20241125, + "WorldLevel": 0, + "StageID": 202411250 + }, + { + "EventID": 20241125, + "WorldLevel": 1, + "StageID": 202411251 + }, + { + "EventID": 20241125, + "WorldLevel": 2, + "StageID": 202411252 + }, + { + "EventID": 20241125, + "WorldLevel": 3, + "StageID": 202411253 + }, + { + "EventID": 20241125, + "WorldLevel": 4, + "StageID": 202411254 + }, + { + "EventID": 20241125, + "WorldLevel": 5, + "StageID": 202411255 + }, + { + "EventID": 20241125, + "WorldLevel": 6, + "StageID": 202411256 + }, + { + "EventID": 20241126, + "WorldLevel": 0, + "StageID": 202411260 + }, + { + "EventID": 20241126, + "WorldLevel": 1, + "StageID": 202411261 + }, + { + "EventID": 20241126, + "WorldLevel": 2, + "StageID": 202411262 + }, + { + "EventID": 20241126, + "WorldLevel": 3, + "StageID": 202411263 + }, + { + "EventID": 20241126, + "WorldLevel": 4, + "StageID": 202411264 + }, + { + "EventID": 20241126, + "WorldLevel": 5, + "StageID": 202411265 + }, + { + "EventID": 20241126, + "WorldLevel": 6, + "StageID": 202411266 + }, + { + "EventID": 20241127, + "WorldLevel": 0, + "StageID": 202411270 + }, + { + "EventID": 20241127, + "WorldLevel": 1, + "StageID": 202411271 + }, + { + "EventID": 20241127, + "WorldLevel": 2, + "StageID": 202411272 + }, + { + "EventID": 20241127, + "WorldLevel": 3, + "StageID": 202411273 + }, + { + "EventID": 20241127, + "WorldLevel": 4, + "StageID": 202411274 + }, + { + "EventID": 20241127, + "WorldLevel": 5, + "StageID": 202411275 + }, + { + "EventID": 20241127, + "WorldLevel": 6, + "StageID": 202411276 + }, + { + "EventID": 20241128, + "WorldLevel": 0, + "StageID": 202411280 + }, + { + "EventID": 20241128, + "WorldLevel": 1, + "StageID": 202411281 + }, + { + "EventID": 20241128, + "WorldLevel": 2, + "StageID": 202411282 + }, + { + "EventID": 20241128, + "WorldLevel": 3, + "StageID": 202411283 + }, + { + "EventID": 20241128, + "WorldLevel": 4, + "StageID": 202411284 + }, + { + "EventID": 20241128, + "WorldLevel": 5, + "StageID": 202411285 + }, + { + "EventID": 20241128, + "WorldLevel": 6, + "StageID": 202411286 + }, + { + "EventID": 20241129, + "WorldLevel": 0, + "StageID": 202411290 + }, + { + "EventID": 20241129, + "WorldLevel": 1, + "StageID": 202411291 + }, + { + "EventID": 20241129, + "WorldLevel": 2, + "StageID": 202411292 + }, + { + "EventID": 20241129, + "WorldLevel": 3, + "StageID": 202411293 + }, + { + "EventID": 20241129, + "WorldLevel": 4, + "StageID": 202411294 + }, + { + "EventID": 20241129, + "WorldLevel": 5, + "StageID": 202411295 + }, + { + "EventID": 20241129, + "WorldLevel": 6, + "StageID": 202411296 + }, + { + "EventID": 20241170, + "WorldLevel": 0, + "StageID": 202411700 + }, + { + "EventID": 20241170, + "WorldLevel": 1, + "StageID": 202411701 + }, + { + "EventID": 20241170, + "WorldLevel": 2, + "StageID": 202411702 + }, + { + "EventID": 20241170, + "WorldLevel": 3, + "StageID": 202411703 + }, + { + "EventID": 20241170, + "WorldLevel": 4, + "StageID": 202411704 + }, + { + "EventID": 20241170, + "WorldLevel": 5, + "StageID": 202411705 + }, + { + "EventID": 20241170, + "WorldLevel": 6, + "StageID": 202411706 + }, + { + "EventID": 20241231, + "WorldLevel": 0, + "StageID": 202412310 + }, + { + "EventID": 20241231, + "WorldLevel": 1, + "StageID": 202412311 + }, + { + "EventID": 20241231, + "WorldLevel": 2, + "StageID": 202412312 + }, + { + "EventID": 20241231, + "WorldLevel": 3, + "StageID": 202412313 + }, + { + "EventID": 20241231, + "WorldLevel": 4, + "StageID": 202412314 + }, + { + "EventID": 20241231, + "WorldLevel": 5, + "StageID": 202412315 + }, + { + "EventID": 20241231, + "WorldLevel": 6, + "StageID": 202412316 + }, + { + "EventID": 20311009, + "WorldLevel": 0, + "StageID": 203110090 + }, + { + "EventID": 20311009, + "WorldLevel": 1, + "StageID": 203110091 + }, + { + "EventID": 20311009, + "WorldLevel": 2, + "StageID": 203110092 + }, + { + "EventID": 20311009, + "WorldLevel": 3, + "StageID": 203110093 + }, + { + "EventID": 20311009, + "WorldLevel": 4, + "StageID": 203110094 + }, + { + "EventID": 20311009, + "WorldLevel": 5, + "StageID": 203110095 + }, + { + "EventID": 20311009, + "WorldLevel": 6, + "StageID": 203110096 + }, + { + "EventID": 20311010, + "WorldLevel": 0, + "StageID": 203110100 + }, + { + "EventID": 20311010, + "WorldLevel": 1, + "StageID": 203110101 + }, + { + "EventID": 20311010, + "WorldLevel": 2, + "StageID": 203110102 + }, + { + "EventID": 20311010, + "WorldLevel": 3, + "StageID": 203110103 + }, + { + "EventID": 20311010, + "WorldLevel": 4, + "StageID": 203110104 + }, + { + "EventID": 20311010, + "WorldLevel": 5, + "StageID": 203110105 + }, + { + "EventID": 20311010, + "WorldLevel": 6, + "StageID": 203110106 + }, + { + "EventID": 20311012, + "WorldLevel": 0, + "StageID": 203110120 + }, + { + "EventID": 20311012, + "WorldLevel": 1, + "StageID": 203110121 + }, + { + "EventID": 20311012, + "WorldLevel": 2, + "StageID": 203110122 + }, + { + "EventID": 20311012, + "WorldLevel": 3, + "StageID": 203110123 + }, + { + "EventID": 20311012, + "WorldLevel": 4, + "StageID": 203110124 + }, + { + "EventID": 20311012, + "WorldLevel": 5, + "StageID": 203110125 + }, + { + "EventID": 20311012, + "WorldLevel": 6, + "StageID": 203110126 + }, + { + "EventID": 20311013, + "WorldLevel": 0, + "StageID": 203110130 + }, + { + "EventID": 20311013, + "WorldLevel": 1, + "StageID": 203110131 + }, + { + "EventID": 20311013, + "WorldLevel": 2, + "StageID": 203110132 + }, + { + "EventID": 20311013, + "WorldLevel": 3, + "StageID": 203110133 + }, + { + "EventID": 20311013, + "WorldLevel": 4, + "StageID": 203110134 + }, + { + "EventID": 20311013, + "WorldLevel": 5, + "StageID": 203110135 + }, + { + "EventID": 20311013, + "WorldLevel": 6, + "StageID": 203110136 + }, + { + "EventID": 20311014, + "WorldLevel": 0, + "StageID": 203110140 + }, + { + "EventID": 20311014, + "WorldLevel": 1, + "StageID": 203110141 + }, + { + "EventID": 20311014, + "WorldLevel": 2, + "StageID": 203110142 + }, + { + "EventID": 20311014, + "WorldLevel": 3, + "StageID": 203110143 + }, + { + "EventID": 20311014, + "WorldLevel": 4, + "StageID": 203110144 + }, + { + "EventID": 20311014, + "WorldLevel": 5, + "StageID": 203110145 + }, + { + "EventID": 20311014, + "WorldLevel": 6, + "StageID": 203110146 + }, + { + "EventID": 20311015, + "WorldLevel": 0, + "StageID": 203110150 + }, + { + "EventID": 20311015, + "WorldLevel": 1, + "StageID": 203110151 + }, + { + "EventID": 20311015, + "WorldLevel": 2, + "StageID": 203110152 + }, + { + "EventID": 20311015, + "WorldLevel": 3, + "StageID": 203110153 + }, + { + "EventID": 20311015, + "WorldLevel": 4, + "StageID": 203110154 + }, + { + "EventID": 20311015, + "WorldLevel": 5, + "StageID": 203110155 + }, + { + "EventID": 20311015, + "WorldLevel": 6, + "StageID": 203110156 + }, + { + "EventID": 20311016, + "WorldLevel": 0, + "StageID": 203110160 + }, + { + "EventID": 20311016, + "WorldLevel": 1, + "StageID": 203110161 + }, + { + "EventID": 20311016, + "WorldLevel": 2, + "StageID": 203110162 + }, + { + "EventID": 20311016, + "WorldLevel": 3, + "StageID": 203110163 + }, + { + "EventID": 20311016, + "WorldLevel": 4, + "StageID": 203110164 + }, + { + "EventID": 20311016, + "WorldLevel": 5, + "StageID": 203110165 + }, + { + "EventID": 20311016, + "WorldLevel": 6, + "StageID": 203110166 + }, + { + "EventID": 20311017, + "WorldLevel": 0, + "StageID": 203110170 + }, + { + "EventID": 20311017, + "WorldLevel": 1, + "StageID": 203110171 + }, + { + "EventID": 20311017, + "WorldLevel": 2, + "StageID": 203110172 + }, + { + "EventID": 20311017, + "WorldLevel": 3, + "StageID": 203110173 + }, + { + "EventID": 20311017, + "WorldLevel": 4, + "StageID": 203110174 + }, + { + "EventID": 20311017, + "WorldLevel": 5, + "StageID": 203110175 + }, + { + "EventID": 20311017, + "WorldLevel": 6, + "StageID": 203110176 + }, + { + "EventID": 20311020, + "WorldLevel": 0, + "StageID": 203110200 + }, + { + "EventID": 20311020, + "WorldLevel": 1, + "StageID": 203110201 + }, + { + "EventID": 20311020, + "WorldLevel": 2, + "StageID": 203110202 + }, + { + "EventID": 20311020, + "WorldLevel": 3, + "StageID": 203110203 + }, + { + "EventID": 20311020, + "WorldLevel": 4, + "StageID": 203110204 + }, + { + "EventID": 20311020, + "WorldLevel": 5, + "StageID": 203110205 + }, + { + "EventID": 20311020, + "WorldLevel": 6, + "StageID": 203110206 + }, + { + "EventID": 20311021, + "WorldLevel": 0, + "StageID": 203110210 + }, + { + "EventID": 20311021, + "WorldLevel": 1, + "StageID": 203110211 + }, + { + "EventID": 20311021, + "WorldLevel": 2, + "StageID": 203110212 + }, + { + "EventID": 20311021, + "WorldLevel": 3, + "StageID": 203110213 + }, + { + "EventID": 20311021, + "WorldLevel": 4, + "StageID": 203110214 + }, + { + "EventID": 20311021, + "WorldLevel": 5, + "StageID": 203110215 + }, + { + "EventID": 20311021, + "WorldLevel": 6, + "StageID": 203110216 + }, + { + "EventID": 20311027, + "WorldLevel": 0, + "StageID": 203110270 + }, + { + "EventID": 20311027, + "WorldLevel": 1, + "StageID": 203110271 + }, + { + "EventID": 20311027, + "WorldLevel": 2, + "StageID": 203110272 + }, + { + "EventID": 20311027, + "WorldLevel": 3, + "StageID": 203110273 + }, + { + "EventID": 20311027, + "WorldLevel": 4, + "StageID": 203110274 + }, + { + "EventID": 20311027, + "WorldLevel": 5, + "StageID": 203110275 + }, + { + "EventID": 20311027, + "WorldLevel": 6, + "StageID": 203110276 + }, + { + "EventID": 20311028, + "WorldLevel": 0, + "StageID": 203110280 + }, + { + "EventID": 20311028, + "WorldLevel": 1, + "StageID": 203110281 + }, + { + "EventID": 20311028, + "WorldLevel": 2, + "StageID": 203110282 + }, + { + "EventID": 20311028, + "WorldLevel": 3, + "StageID": 203110283 + }, + { + "EventID": 20311028, + "WorldLevel": 4, + "StageID": 203110284 + }, + { + "EventID": 20311028, + "WorldLevel": 5, + "StageID": 203110285 + }, + { + "EventID": 20311028, + "WorldLevel": 6, + "StageID": 203110286 + }, + { + "EventID": 20311031, + "WorldLevel": 0, + "StageID": 203110310 + }, + { + "EventID": 20311031, + "WorldLevel": 1, + "StageID": 203110311 + }, + { + "EventID": 20311031, + "WorldLevel": 2, + "StageID": 203110312 + }, + { + "EventID": 20311031, + "WorldLevel": 3, + "StageID": 203110313 + }, + { + "EventID": 20311031, + "WorldLevel": 4, + "StageID": 203110314 + }, + { + "EventID": 20311031, + "WorldLevel": 5, + "StageID": 203110315 + }, + { + "EventID": 20311031, + "WorldLevel": 6, + "StageID": 203110316 + }, + { + "EventID": 20311032, + "WorldLevel": 0, + "StageID": 203110320 + }, + { + "EventID": 20311032, + "WorldLevel": 1, + "StageID": 203110321 + }, + { + "EventID": 20311032, + "WorldLevel": 2, + "StageID": 203110322 + }, + { + "EventID": 20311032, + "WorldLevel": 3, + "StageID": 203110323 + }, + { + "EventID": 20311032, + "WorldLevel": 4, + "StageID": 203110324 + }, + { + "EventID": 20311032, + "WorldLevel": 5, + "StageID": 203110325 + }, + { + "EventID": 20311032, + "WorldLevel": 6, + "StageID": 203110326 + }, + { + "EventID": 20311033, + "WorldLevel": 0, + "StageID": 203110330 + }, + { + "EventID": 20311033, + "WorldLevel": 1, + "StageID": 203110331 + }, + { + "EventID": 20311033, + "WorldLevel": 2, + "StageID": 203110332 + }, + { + "EventID": 20311033, + "WorldLevel": 3, + "StageID": 203110333 + }, + { + "EventID": 20311033, + "WorldLevel": 4, + "StageID": 203110334 + }, + { + "EventID": 20311033, + "WorldLevel": 5, + "StageID": 203110335 + }, + { + "EventID": 20311033, + "WorldLevel": 6, + "StageID": 203110336 + }, + { + "EventID": 20311034, + "WorldLevel": 0, + "StageID": 203110340 + }, + { + "EventID": 20311034, + "WorldLevel": 1, + "StageID": 203110341 + }, + { + "EventID": 20311034, + "WorldLevel": 2, + "StageID": 203110342 + }, + { + "EventID": 20311034, + "WorldLevel": 3, + "StageID": 203110343 + }, + { + "EventID": 20311034, + "WorldLevel": 4, + "StageID": 203110344 + }, + { + "EventID": 20311034, + "WorldLevel": 5, + "StageID": 203110345 + }, + { + "EventID": 20311034, + "WorldLevel": 6, + "StageID": 203110346 + }, + { + "EventID": 20311035, + "WorldLevel": 0, + "StageID": 203110350 + }, + { + "EventID": 20311035, + "WorldLevel": 1, + "StageID": 203110351 + }, + { + "EventID": 20311035, + "WorldLevel": 2, + "StageID": 203110352 + }, + { + "EventID": 20311035, + "WorldLevel": 3, + "StageID": 203110353 + }, + { + "EventID": 20311035, + "WorldLevel": 4, + "StageID": 203110354 + }, + { + "EventID": 20311035, + "WorldLevel": 5, + "StageID": 203110355 + }, + { + "EventID": 20311035, + "WorldLevel": 6, + "StageID": 203110356 + }, + { + "EventID": 20311036, + "WorldLevel": 0, + "StageID": 203110360 + }, + { + "EventID": 20311036, + "WorldLevel": 1, + "StageID": 203110361 + }, + { + "EventID": 20311036, + "WorldLevel": 2, + "StageID": 203110362 + }, + { + "EventID": 20311036, + "WorldLevel": 3, + "StageID": 203110363 + }, + { + "EventID": 20311036, + "WorldLevel": 4, + "StageID": 203110364 + }, + { + "EventID": 20311036, + "WorldLevel": 5, + "StageID": 203110365 + }, + { + "EventID": 20311036, + "WorldLevel": 6, + "StageID": 203110366 + }, + { + "EventID": 20311043, + "WorldLevel": 0, + "StageID": 203110430 + }, + { + "EventID": 20311043, + "WorldLevel": 1, + "StageID": 203110431 + }, + { + "EventID": 20311043, + "WorldLevel": 2, + "StageID": 203110432 + }, + { + "EventID": 20311043, + "WorldLevel": 3, + "StageID": 203110433 + }, + { + "EventID": 20311043, + "WorldLevel": 4, + "StageID": 203110434 + }, + { + "EventID": 20311043, + "WorldLevel": 5, + "StageID": 203110435 + }, + { + "EventID": 20311043, + "WorldLevel": 6, + "StageID": 203110436 + }, + { + "EventID": 20311044, + "WorldLevel": 0, + "StageID": 203110440 + }, + { + "EventID": 20311044, + "WorldLevel": 1, + "StageID": 203110441 + }, + { + "EventID": 20311044, + "WorldLevel": 2, + "StageID": 203110442 + }, + { + "EventID": 20311044, + "WorldLevel": 3, + "StageID": 203110443 + }, + { + "EventID": 20311044, + "WorldLevel": 4, + "StageID": 203110444 + }, + { + "EventID": 20311044, + "WorldLevel": 5, + "StageID": 203110445 + }, + { + "EventID": 20311044, + "WorldLevel": 6, + "StageID": 203110446 + }, + { + "EventID": 20311045, + "WorldLevel": 0, + "StageID": 203110450 + }, + { + "EventID": 20311045, + "WorldLevel": 1, + "StageID": 203110451 + }, + { + "EventID": 20311045, + "WorldLevel": 2, + "StageID": 203110452 + }, + { + "EventID": 20311045, + "WorldLevel": 3, + "StageID": 203110453 + }, + { + "EventID": 20311045, + "WorldLevel": 4, + "StageID": 203110454 + }, + { + "EventID": 20311045, + "WorldLevel": 5, + "StageID": 203110455 + }, + { + "EventID": 20311045, + "WorldLevel": 6, + "StageID": 203110456 + }, + { + "EventID": 20311046, + "WorldLevel": 0, + "StageID": 203110460 + }, + { + "EventID": 20311046, + "WorldLevel": 1, + "StageID": 203110461 + }, + { + "EventID": 20311046, + "WorldLevel": 2, + "StageID": 203110462 + }, + { + "EventID": 20311046, + "WorldLevel": 3, + "StageID": 203110463 + }, + { + "EventID": 20311046, + "WorldLevel": 4, + "StageID": 203110464 + }, + { + "EventID": 20311046, + "WorldLevel": 5, + "StageID": 203110465 + }, + { + "EventID": 20311046, + "WorldLevel": 6, + "StageID": 203110466 + }, + { + "EventID": 20311047, + "WorldLevel": 0, + "StageID": 203110470 + }, + { + "EventID": 20311047, + "WorldLevel": 1, + "StageID": 203110471 + }, + { + "EventID": 20311047, + "WorldLevel": 2, + "StageID": 203110472 + }, + { + "EventID": 20311047, + "WorldLevel": 3, + "StageID": 203110473 + }, + { + "EventID": 20311047, + "WorldLevel": 4, + "StageID": 203110474 + }, + { + "EventID": 20311047, + "WorldLevel": 5, + "StageID": 203110475 + }, + { + "EventID": 20311047, + "WorldLevel": 6, + "StageID": 203110476 + }, + { + "EventID": 20311048, + "WorldLevel": 0, + "StageID": 203110480 + }, + { + "EventID": 20311048, + "WorldLevel": 1, + "StageID": 203110481 + }, + { + "EventID": 20311048, + "WorldLevel": 2, + "StageID": 203110482 + }, + { + "EventID": 20311048, + "WorldLevel": 3, + "StageID": 203110483 + }, + { + "EventID": 20311048, + "WorldLevel": 4, + "StageID": 203110484 + }, + { + "EventID": 20311048, + "WorldLevel": 5, + "StageID": 203110485 + }, + { + "EventID": 20311048, + "WorldLevel": 6, + "StageID": 203110486 + }, + { + "EventID": 20311049, + "WorldLevel": 0, + "StageID": 203110490 + }, + { + "EventID": 20311049, + "WorldLevel": 1, + "StageID": 203110491 + }, + { + "EventID": 20311049, + "WorldLevel": 2, + "StageID": 203110492 + }, + { + "EventID": 20311049, + "WorldLevel": 3, + "StageID": 203110493 + }, + { + "EventID": 20311049, + "WorldLevel": 4, + "StageID": 203110494 + }, + { + "EventID": 20311049, + "WorldLevel": 5, + "StageID": 203110495 + }, + { + "EventID": 20311049, + "WorldLevel": 6, + "StageID": 203110496 + }, + { + "EventID": 20311103, + "WorldLevel": 0, + "StageID": 203111030 + }, + { + "EventID": 20311103, + "WorldLevel": 1, + "StageID": 203111031 + }, + { + "EventID": 20311103, + "WorldLevel": 2, + "StageID": 203111032 + }, + { + "EventID": 20311103, + "WorldLevel": 3, + "StageID": 203111033 + }, + { + "EventID": 20311103, + "WorldLevel": 4, + "StageID": 203111034 + }, + { + "EventID": 20311103, + "WorldLevel": 5, + "StageID": 203111035 + }, + { + "EventID": 20311103, + "WorldLevel": 6, + "StageID": 203111036 + }, + { + "EventID": 20311104, + "WorldLevel": 0, + "StageID": 203111040 + }, + { + "EventID": 20311104, + "WorldLevel": 1, + "StageID": 203111041 + }, + { + "EventID": 20311104, + "WorldLevel": 2, + "StageID": 203111042 + }, + { + "EventID": 20311104, + "WorldLevel": 3, + "StageID": 203111043 + }, + { + "EventID": 20311104, + "WorldLevel": 4, + "StageID": 203111044 + }, + { + "EventID": 20311104, + "WorldLevel": 5, + "StageID": 203111045 + }, + { + "EventID": 20311104, + "WorldLevel": 6, + "StageID": 203111046 + }, + { + "EventID": 20311105, + "WorldLevel": 0, + "StageID": 203111050 + }, + { + "EventID": 20311105, + "WorldLevel": 1, + "StageID": 203111051 + }, + { + "EventID": 20311105, + "WorldLevel": 2, + "StageID": 203111052 + }, + { + "EventID": 20311105, + "WorldLevel": 3, + "StageID": 203111053 + }, + { + "EventID": 20311105, + "WorldLevel": 4, + "StageID": 203111054 + }, + { + "EventID": 20311105, + "WorldLevel": 5, + "StageID": 203111055 + }, + { + "EventID": 20311105, + "WorldLevel": 6, + "StageID": 203111056 + }, + { + "EventID": 20311106, + "WorldLevel": 0, + "StageID": 203111060 + }, + { + "EventID": 20311106, + "WorldLevel": 1, + "StageID": 203111061 + }, + { + "EventID": 20311106, + "WorldLevel": 2, + "StageID": 203111062 + }, + { + "EventID": 20311106, + "WorldLevel": 3, + "StageID": 203111063 + }, + { + "EventID": 20311106, + "WorldLevel": 4, + "StageID": 203111064 + }, + { + "EventID": 20311106, + "WorldLevel": 5, + "StageID": 203111065 + }, + { + "EventID": 20311106, + "WorldLevel": 6, + "StageID": 203111066 + }, + { + "EventID": 20311107, + "WorldLevel": 0, + "StageID": 203111070 + }, + { + "EventID": 20311107, + "WorldLevel": 1, + "StageID": 203111071 + }, + { + "EventID": 20311107, + "WorldLevel": 2, + "StageID": 203111072 + }, + { + "EventID": 20311107, + "WorldLevel": 3, + "StageID": 203111073 + }, + { + "EventID": 20311107, + "WorldLevel": 4, + "StageID": 203111074 + }, + { + "EventID": 20311107, + "WorldLevel": 5, + "StageID": 203111075 + }, + { + "EventID": 20311107, + "WorldLevel": 6, + "StageID": 203111076 + }, + { + "EventID": 20311109, + "WorldLevel": 0, + "StageID": 203111090 + }, + { + "EventID": 20311109, + "WorldLevel": 1, + "StageID": 203111091 + }, + { + "EventID": 20311109, + "WorldLevel": 2, + "StageID": 203111092 + }, + { + "EventID": 20311109, + "WorldLevel": 3, + "StageID": 203111093 + }, + { + "EventID": 20311109, + "WorldLevel": 4, + "StageID": 203111094 + }, + { + "EventID": 20311109, + "WorldLevel": 5, + "StageID": 203111095 + }, + { + "EventID": 20311109, + "WorldLevel": 6, + "StageID": 203111096 + }, + { + "EventID": 20311110, + "WorldLevel": 0, + "StageID": 203111100 + }, + { + "EventID": 20311110, + "WorldLevel": 1, + "StageID": 203111101 + }, + { + "EventID": 20311110, + "WorldLevel": 2, + "StageID": 203111102 + }, + { + "EventID": 20311110, + "WorldLevel": 3, + "StageID": 203111103 + }, + { + "EventID": 20311110, + "WorldLevel": 4, + "StageID": 203111104 + }, + { + "EventID": 20311110, + "WorldLevel": 5, + "StageID": 203111105 + }, + { + "EventID": 20311110, + "WorldLevel": 6, + "StageID": 203111106 + }, + { + "EventID": 20311112, + "WorldLevel": 0, + "StageID": 203111120 + }, + { + "EventID": 20311112, + "WorldLevel": 1, + "StageID": 203111121 + }, + { + "EventID": 20311112, + "WorldLevel": 2, + "StageID": 203111122 + }, + { + "EventID": 20311112, + "WorldLevel": 3, + "StageID": 203111123 + }, + { + "EventID": 20311112, + "WorldLevel": 4, + "StageID": 203111124 + }, + { + "EventID": 20311112, + "WorldLevel": 5, + "StageID": 203111125 + }, + { + "EventID": 20311112, + "WorldLevel": 6, + "StageID": 203111126 + }, + { + "EventID": 20311113, + "WorldLevel": 0, + "StageID": 203111130 + }, + { + "EventID": 20311113, + "WorldLevel": 1, + "StageID": 203111131 + }, + { + "EventID": 20311113, + "WorldLevel": 2, + "StageID": 203111132 + }, + { + "EventID": 20311113, + "WorldLevel": 3, + "StageID": 203111133 + }, + { + "EventID": 20311113, + "WorldLevel": 4, + "StageID": 203111134 + }, + { + "EventID": 20311113, + "WorldLevel": 5, + "StageID": 203111135 + }, + { + "EventID": 20311113, + "WorldLevel": 6, + "StageID": 203111136 + }, + { + "EventID": 20311114, + "WorldLevel": 0, + "StageID": 203111140 + }, + { + "EventID": 20311114, + "WorldLevel": 1, + "StageID": 203111141 + }, + { + "EventID": 20311114, + "WorldLevel": 2, + "StageID": 203111142 + }, + { + "EventID": 20311114, + "WorldLevel": 3, + "StageID": 203111143 + }, + { + "EventID": 20311114, + "WorldLevel": 4, + "StageID": 203111144 + }, + { + "EventID": 20311114, + "WorldLevel": 5, + "StageID": 203111145 + }, + { + "EventID": 20311114, + "WorldLevel": 6, + "StageID": 203111146 + }, + { + "EventID": 20311115, + "WorldLevel": 0, + "StageID": 203111150 + }, + { + "EventID": 20311115, + "WorldLevel": 1, + "StageID": 203111151 + }, + { + "EventID": 20311115, + "WorldLevel": 2, + "StageID": 203111152 + }, + { + "EventID": 20311115, + "WorldLevel": 3, + "StageID": 203111153 + }, + { + "EventID": 20311115, + "WorldLevel": 4, + "StageID": 203111154 + }, + { + "EventID": 20311115, + "WorldLevel": 5, + "StageID": 203111155 + }, + { + "EventID": 20311115, + "WorldLevel": 6, + "StageID": 203111156 + }, + { + "EventID": 20311116, + "WorldLevel": 0, + "StageID": 203111160 + }, + { + "EventID": 20311116, + "WorldLevel": 1, + "StageID": 203111161 + }, + { + "EventID": 20311116, + "WorldLevel": 2, + "StageID": 203111162 + }, + { + "EventID": 20311116, + "WorldLevel": 3, + "StageID": 203111163 + }, + { + "EventID": 20311116, + "WorldLevel": 4, + "StageID": 203111164 + }, + { + "EventID": 20311116, + "WorldLevel": 5, + "StageID": 203111165 + }, + { + "EventID": 20311116, + "WorldLevel": 6, + "StageID": 203111166 + }, + { + "EventID": 20311117, + "WorldLevel": 0, + "StageID": 203111170 + }, + { + "EventID": 20311117, + "WorldLevel": 1, + "StageID": 203111171 + }, + { + "EventID": 20311117, + "WorldLevel": 2, + "StageID": 203111172 + }, + { + "EventID": 20311117, + "WorldLevel": 3, + "StageID": 203111173 + }, + { + "EventID": 20311117, + "WorldLevel": 4, + "StageID": 203111174 + }, + { + "EventID": 20311117, + "WorldLevel": 5, + "StageID": 203111175 + }, + { + "EventID": 20311117, + "WorldLevel": 6, + "StageID": 203111176 + }, + { + "EventID": 20311120, + "WorldLevel": 0, + "StageID": 203111200 + }, + { + "EventID": 20311120, + "WorldLevel": 1, + "StageID": 203111201 + }, + { + "EventID": 20311120, + "WorldLevel": 2, + "StageID": 203111202 + }, + { + "EventID": 20311120, + "WorldLevel": 3, + "StageID": 203111203 + }, + { + "EventID": 20311120, + "WorldLevel": 4, + "StageID": 203111204 + }, + { + "EventID": 20311120, + "WorldLevel": 5, + "StageID": 203111205 + }, + { + "EventID": 20311120, + "WorldLevel": 6, + "StageID": 203111206 + }, + { + "EventID": 20311121, + "WorldLevel": 0, + "StageID": 203111210 + }, + { + "EventID": 20311121, + "WorldLevel": 1, + "StageID": 203111211 + }, + { + "EventID": 20311121, + "WorldLevel": 2, + "StageID": 203111212 + }, + { + "EventID": 20311121, + "WorldLevel": 3, + "StageID": 203111213 + }, + { + "EventID": 20311121, + "WorldLevel": 4, + "StageID": 203111214 + }, + { + "EventID": 20311121, + "WorldLevel": 5, + "StageID": 203111215 + }, + { + "EventID": 20311121, + "WorldLevel": 6, + "StageID": 203111216 + }, + { + "EventID": 20311122, + "WorldLevel": 0, + "StageID": 203111220 + }, + { + "EventID": 20311122, + "WorldLevel": 1, + "StageID": 203111221 + }, + { + "EventID": 20311122, + "WorldLevel": 2, + "StageID": 203111222 + }, + { + "EventID": 20311122, + "WorldLevel": 3, + "StageID": 203111223 + }, + { + "EventID": 20311122, + "WorldLevel": 4, + "StageID": 203111224 + }, + { + "EventID": 20311122, + "WorldLevel": 5, + "StageID": 203111225 + }, + { + "EventID": 20311122, + "WorldLevel": 6, + "StageID": 203111226 + }, + { + "EventID": 20311123, + "WorldLevel": 0, + "StageID": 203111230 + }, + { + "EventID": 20311123, + "WorldLevel": 1, + "StageID": 203111231 + }, + { + "EventID": 20311123, + "WorldLevel": 2, + "StageID": 203111232 + }, + { + "EventID": 20311123, + "WorldLevel": 3, + "StageID": 203111233 + }, + { + "EventID": 20311123, + "WorldLevel": 4, + "StageID": 203111234 + }, + { + "EventID": 20311123, + "WorldLevel": 5, + "StageID": 203111235 + }, + { + "EventID": 20311123, + "WorldLevel": 6, + "StageID": 203111236 + }, + { + "EventID": 20311124, + "WorldLevel": 0, + "StageID": 203111240 + }, + { + "EventID": 20311124, + "WorldLevel": 1, + "StageID": 203111241 + }, + { + "EventID": 20311124, + "WorldLevel": 2, + "StageID": 203111242 + }, + { + "EventID": 20311124, + "WorldLevel": 3, + "StageID": 203111243 + }, + { + "EventID": 20311124, + "WorldLevel": 4, + "StageID": 203111244 + }, + { + "EventID": 20311124, + "WorldLevel": 5, + "StageID": 203111245 + }, + { + "EventID": 20311124, + "WorldLevel": 6, + "StageID": 203111246 + }, + { + "EventID": 20311125, + "WorldLevel": 0, + "StageID": 203111250 + }, + { + "EventID": 20311125, + "WorldLevel": 1, + "StageID": 203111251 + }, + { + "EventID": 20311125, + "WorldLevel": 2, + "StageID": 203111252 + }, + { + "EventID": 20311125, + "WorldLevel": 3, + "StageID": 203111253 + }, + { + "EventID": 20311125, + "WorldLevel": 4, + "StageID": 203111254 + }, + { + "EventID": 20311125, + "WorldLevel": 5, + "StageID": 203111255 + }, + { + "EventID": 20311125, + "WorldLevel": 6, + "StageID": 203111256 + }, + { + "EventID": 20311127, + "WorldLevel": 0, + "StageID": 203111270 + }, + { + "EventID": 20311127, + "WorldLevel": 1, + "StageID": 203111271 + }, + { + "EventID": 20311127, + "WorldLevel": 2, + "StageID": 203111272 + }, + { + "EventID": 20311127, + "WorldLevel": 3, + "StageID": 203111273 + }, + { + "EventID": 20311127, + "WorldLevel": 4, + "StageID": 203111274 + }, + { + "EventID": 20311127, + "WorldLevel": 5, + "StageID": 203111275 + }, + { + "EventID": 20311127, + "WorldLevel": 6, + "StageID": 203111276 + }, + { + "EventID": 20311128, + "WorldLevel": 0, + "StageID": 203111280 + }, + { + "EventID": 20311128, + "WorldLevel": 1, + "StageID": 203111281 + }, + { + "EventID": 20311128, + "WorldLevel": 2, + "StageID": 203111282 + }, + { + "EventID": 20311128, + "WorldLevel": 3, + "StageID": 203111283 + }, + { + "EventID": 20311128, + "WorldLevel": 4, + "StageID": 203111284 + }, + { + "EventID": 20311128, + "WorldLevel": 5, + "StageID": 203111285 + }, + { + "EventID": 20311128, + "WorldLevel": 6, + "StageID": 203111286 + }, + { + "EventID": 20311131, + "WorldLevel": 0, + "StageID": 203111310 + }, + { + "EventID": 20311131, + "WorldLevel": 1, + "StageID": 203111311 + }, + { + "EventID": 20311131, + "WorldLevel": 2, + "StageID": 203111312 + }, + { + "EventID": 20311131, + "WorldLevel": 3, + "StageID": 203111313 + }, + { + "EventID": 20311131, + "WorldLevel": 4, + "StageID": 203111314 + }, + { + "EventID": 20311131, + "WorldLevel": 5, + "StageID": 203111315 + }, + { + "EventID": 20311131, + "WorldLevel": 6, + "StageID": 203111316 + }, + { + "EventID": 20311132, + "WorldLevel": 0, + "StageID": 203111320 + }, + { + "EventID": 20311132, + "WorldLevel": 1, + "StageID": 203111321 + }, + { + "EventID": 20311132, + "WorldLevel": 2, + "StageID": 203111322 + }, + { + "EventID": 20311132, + "WorldLevel": 3, + "StageID": 203111323 + }, + { + "EventID": 20311132, + "WorldLevel": 4, + "StageID": 203111324 + }, + { + "EventID": 20311132, + "WorldLevel": 5, + "StageID": 203111325 + }, + { + "EventID": 20311132, + "WorldLevel": 6, + "StageID": 203111326 + }, + { + "EventID": 20311133, + "WorldLevel": 0, + "StageID": 203111330 + }, + { + "EventID": 20311133, + "WorldLevel": 1, + "StageID": 203111331 + }, + { + "EventID": 20311133, + "WorldLevel": 2, + "StageID": 203111332 + }, + { + "EventID": 20311133, + "WorldLevel": 3, + "StageID": 203111333 + }, + { + "EventID": 20311133, + "WorldLevel": 4, + "StageID": 203111334 + }, + { + "EventID": 20311133, + "WorldLevel": 5, + "StageID": 203111335 + }, + { + "EventID": 20311133, + "WorldLevel": 6, + "StageID": 203111336 + }, + { + "EventID": 20311134, + "WorldLevel": 0, + "StageID": 203111340 + }, + { + "EventID": 20311134, + "WorldLevel": 1, + "StageID": 203111341 + }, + { + "EventID": 20311134, + "WorldLevel": 2, + "StageID": 203111342 + }, + { + "EventID": 20311134, + "WorldLevel": 3, + "StageID": 203111343 + }, + { + "EventID": 20311134, + "WorldLevel": 4, + "StageID": 203111344 + }, + { + "EventID": 20311134, + "WorldLevel": 5, + "StageID": 203111345 + }, + { + "EventID": 20311134, + "WorldLevel": 6, + "StageID": 203111346 + }, + { + "EventID": 20311135, + "WorldLevel": 0, + "StageID": 203111350 + }, + { + "EventID": 20311135, + "WorldLevel": 1, + "StageID": 203111351 + }, + { + "EventID": 20311135, + "WorldLevel": 2, + "StageID": 203111352 + }, + { + "EventID": 20311135, + "WorldLevel": 3, + "StageID": 203111353 + }, + { + "EventID": 20311135, + "WorldLevel": 4, + "StageID": 203111354 + }, + { + "EventID": 20311135, + "WorldLevel": 5, + "StageID": 203111355 + }, + { + "EventID": 20311135, + "WorldLevel": 6, + "StageID": 203111356 + }, + { + "EventID": 20311136, + "WorldLevel": 0, + "StageID": 203111360 + }, + { + "EventID": 20311136, + "WorldLevel": 1, + "StageID": 203111361 + }, + { + "EventID": 20311136, + "WorldLevel": 2, + "StageID": 203111362 + }, + { + "EventID": 20311136, + "WorldLevel": 3, + "StageID": 203111363 + }, + { + "EventID": 20311136, + "WorldLevel": 4, + "StageID": 203111364 + }, + { + "EventID": 20311136, + "WorldLevel": 5, + "StageID": 203111365 + }, + { + "EventID": 20311136, + "WorldLevel": 6, + "StageID": 203111366 + }, + { + "EventID": 20311140, + "WorldLevel": 0, + "StageID": 203111400 + }, + { + "EventID": 20311140, + "WorldLevel": 1, + "StageID": 203111401 + }, + { + "EventID": 20311140, + "WorldLevel": 2, + "StageID": 203111402 + }, + { + "EventID": 20311140, + "WorldLevel": 3, + "StageID": 203111403 + }, + { + "EventID": 20311140, + "WorldLevel": 4, + "StageID": 203111404 + }, + { + "EventID": 20311140, + "WorldLevel": 5, + "StageID": 203111405 + }, + { + "EventID": 20311140, + "WorldLevel": 6, + "StageID": 203111406 + }, + { + "EventID": 20311141, + "WorldLevel": 0, + "StageID": 203111410 + }, + { + "EventID": 20311141, + "WorldLevel": 1, + "StageID": 203111411 + }, + { + "EventID": 20311141, + "WorldLevel": 2, + "StageID": 203111412 + }, + { + "EventID": 20311141, + "WorldLevel": 3, + "StageID": 203111413 + }, + { + "EventID": 20311141, + "WorldLevel": 4, + "StageID": 203111414 + }, + { + "EventID": 20311141, + "WorldLevel": 5, + "StageID": 203111415 + }, + { + "EventID": 20311141, + "WorldLevel": 6, + "StageID": 203111416 + }, + { + "EventID": 20311143, + "WorldLevel": 0, + "StageID": 203111430 + }, + { + "EventID": 20311143, + "WorldLevel": 1, + "StageID": 203111431 + }, + { + "EventID": 20311143, + "WorldLevel": 2, + "StageID": 203111432 + }, + { + "EventID": 20311143, + "WorldLevel": 3, + "StageID": 203111433 + }, + { + "EventID": 20311143, + "WorldLevel": 4, + "StageID": 203111434 + }, + { + "EventID": 20311143, + "WorldLevel": 5, + "StageID": 203111435 + }, + { + "EventID": 20311143, + "WorldLevel": 6, + "StageID": 203111436 + }, + { + "EventID": 20311144, + "WorldLevel": 0, + "StageID": 203111440 + }, + { + "EventID": 20311144, + "WorldLevel": 1, + "StageID": 203111441 + }, + { + "EventID": 20311144, + "WorldLevel": 2, + "StageID": 203111442 + }, + { + "EventID": 20311144, + "WorldLevel": 3, + "StageID": 203111443 + }, + { + "EventID": 20311144, + "WorldLevel": 4, + "StageID": 203111444 + }, + { + "EventID": 20311144, + "WorldLevel": 5, + "StageID": 203111445 + }, + { + "EventID": 20311144, + "WorldLevel": 6, + "StageID": 203111446 + }, + { + "EventID": 20311145, + "WorldLevel": 0, + "StageID": 203111450 + }, + { + "EventID": 20311145, + "WorldLevel": 1, + "StageID": 203111451 + }, + { + "EventID": 20311145, + "WorldLevel": 2, + "StageID": 203111452 + }, + { + "EventID": 20311145, + "WorldLevel": 3, + "StageID": 203111453 + }, + { + "EventID": 20311145, + "WorldLevel": 4, + "StageID": 203111454 + }, + { + "EventID": 20311145, + "WorldLevel": 5, + "StageID": 203111455 + }, + { + "EventID": 20311145, + "WorldLevel": 6, + "StageID": 203111456 + }, + { + "EventID": 20311146, + "WorldLevel": 0, + "StageID": 203111460 + }, + { + "EventID": 20311146, + "WorldLevel": 1, + "StageID": 203111461 + }, + { + "EventID": 20311146, + "WorldLevel": 2, + "StageID": 203111462 + }, + { + "EventID": 20311146, + "WorldLevel": 3, + "StageID": 203111463 + }, + { + "EventID": 20311146, + "WorldLevel": 4, + "StageID": 203111464 + }, + { + "EventID": 20311146, + "WorldLevel": 5, + "StageID": 203111465 + }, + { + "EventID": 20311146, + "WorldLevel": 6, + "StageID": 203111466 + }, + { + "EventID": 20311147, + "WorldLevel": 0, + "StageID": 203111470 + }, + { + "EventID": 20311147, + "WorldLevel": 1, + "StageID": 203111471 + }, + { + "EventID": 20311147, + "WorldLevel": 2, + "StageID": 203111472 + }, + { + "EventID": 20311147, + "WorldLevel": 3, + "StageID": 203111473 + }, + { + "EventID": 20311147, + "WorldLevel": 4, + "StageID": 203111474 + }, + { + "EventID": 20311147, + "WorldLevel": 5, + "StageID": 203111475 + }, + { + "EventID": 20311147, + "WorldLevel": 6, + "StageID": 203111476 + }, + { + "EventID": 20311148, + "WorldLevel": 0, + "StageID": 203111480 + }, + { + "EventID": 20311148, + "WorldLevel": 1, + "StageID": 203111481 + }, + { + "EventID": 20311148, + "WorldLevel": 2, + "StageID": 203111482 + }, + { + "EventID": 20311148, + "WorldLevel": 3, + "StageID": 203111483 + }, + { + "EventID": 20311148, + "WorldLevel": 4, + "StageID": 203111484 + }, + { + "EventID": 20311148, + "WorldLevel": 5, + "StageID": 203111485 + }, + { + "EventID": 20311148, + "WorldLevel": 6, + "StageID": 203111486 + }, + { + "EventID": 20311149, + "WorldLevel": 0, + "StageID": 203111490 + }, + { + "EventID": 20311149, + "WorldLevel": 1, + "StageID": 203111491 + }, + { + "EventID": 20311149, + "WorldLevel": 2, + "StageID": 203111492 + }, + { + "EventID": 20311149, + "WorldLevel": 3, + "StageID": 203111493 + }, + { + "EventID": 20311149, + "WorldLevel": 4, + "StageID": 203111494 + }, + { + "EventID": 20311149, + "WorldLevel": 5, + "StageID": 203111495 + }, + { + "EventID": 20311149, + "WorldLevel": 6, + "StageID": 203111496 + }, + { + "EventID": 20311151, + "WorldLevel": 0, + "StageID": 203111510 + }, + { + "EventID": 20311151, + "WorldLevel": 1, + "StageID": 203111511 + }, + { + "EventID": 20311151, + "WorldLevel": 2, + "StageID": 203111512 + }, + { + "EventID": 20311151, + "WorldLevel": 3, + "StageID": 203111513 + }, + { + "EventID": 20311151, + "WorldLevel": 4, + "StageID": 203111514 + }, + { + "EventID": 20311151, + "WorldLevel": 5, + "StageID": 203111515 + }, + { + "EventID": 20311151, + "WorldLevel": 6, + "StageID": 203111516 + }, + { + "EventID": 20311152, + "WorldLevel": 0, + "StageID": 203111520 + }, + { + "EventID": 20311152, + "WorldLevel": 1, + "StageID": 203111521 + }, + { + "EventID": 20311152, + "WorldLevel": 2, + "StageID": 203111522 + }, + { + "EventID": 20311152, + "WorldLevel": 3, + "StageID": 203111523 + }, + { + "EventID": 20311152, + "WorldLevel": 4, + "StageID": 203111524 + }, + { + "EventID": 20311152, + "WorldLevel": 5, + "StageID": 203111525 + }, + { + "EventID": 20311152, + "WorldLevel": 6, + "StageID": 203111526 + }, + { + "EventID": 20311153, + "WorldLevel": 0, + "StageID": 203111530 + }, + { + "EventID": 20311153, + "WorldLevel": 1, + "StageID": 203111531 + }, + { + "EventID": 20311153, + "WorldLevel": 2, + "StageID": 203111532 + }, + { + "EventID": 20311153, + "WorldLevel": 3, + "StageID": 203111533 + }, + { + "EventID": 20311153, + "WorldLevel": 4, + "StageID": 203111534 + }, + { + "EventID": 20311153, + "WorldLevel": 5, + "StageID": 203111535 + }, + { + "EventID": 20311153, + "WorldLevel": 6, + "StageID": 203111536 + }, + { + "EventID": 20311154, + "WorldLevel": 0, + "StageID": 203111540 + }, + { + "EventID": 20311154, + "WorldLevel": 1, + "StageID": 203111541 + }, + { + "EventID": 20311154, + "WorldLevel": 2, + "StageID": 203111542 + }, + { + "EventID": 20311154, + "WorldLevel": 3, + "StageID": 203111543 + }, + { + "EventID": 20311154, + "WorldLevel": 4, + "StageID": 203111544 + }, + { + "EventID": 20311154, + "WorldLevel": 5, + "StageID": 203111545 + }, + { + "EventID": 20311154, + "WorldLevel": 6, + "StageID": 203111546 + }, + { + "EventID": 20311155, + "WorldLevel": 0, + "StageID": 203111550 + }, + { + "EventID": 20311155, + "WorldLevel": 1, + "StageID": 203111551 + }, + { + "EventID": 20311155, + "WorldLevel": 2, + "StageID": 203111552 + }, + { + "EventID": 20311155, + "WorldLevel": 3, + "StageID": 203111553 + }, + { + "EventID": 20311155, + "WorldLevel": 4, + "StageID": 203111554 + }, + { + "EventID": 20311155, + "WorldLevel": 5, + "StageID": 203111555 + }, + { + "EventID": 20311155, + "WorldLevel": 6, + "StageID": 203111556 + }, + { + "EventID": 20311169, + "WorldLevel": 0, + "StageID": 203111690 + }, + { + "EventID": 20311169, + "WorldLevel": 1, + "StageID": 203111691 + }, + { + "EventID": 20311169, + "WorldLevel": 2, + "StageID": 203111692 + }, + { + "EventID": 20311169, + "WorldLevel": 3, + "StageID": 203111693 + }, + { + "EventID": 20311169, + "WorldLevel": 4, + "StageID": 203111694 + }, + { + "EventID": 20311169, + "WorldLevel": 5, + "StageID": 203111695 + }, + { + "EventID": 20311169, + "WorldLevel": 6, + "StageID": 203111696 + }, + { + "EventID": 20311170, + "WorldLevel": 0, + "StageID": 203111700 + }, + { + "EventID": 20311170, + "WorldLevel": 1, + "StageID": 203111701 + }, + { + "EventID": 20311170, + "WorldLevel": 2, + "StageID": 203111702 + }, + { + "EventID": 20311170, + "WorldLevel": 3, + "StageID": 203111703 + }, + { + "EventID": 20311170, + "WorldLevel": 4, + "StageID": 203111704 + }, + { + "EventID": 20311170, + "WorldLevel": 5, + "StageID": 203111705 + }, + { + "EventID": 20311170, + "WorldLevel": 6, + "StageID": 203111706 + }, + { + "EventID": 20311171, + "WorldLevel": 0, + "StageID": 203111710 + }, + { + "EventID": 20311171, + "WorldLevel": 1, + "StageID": 203111711 + }, + { + "EventID": 20311171, + "WorldLevel": 2, + "StageID": 203111712 + }, + { + "EventID": 20311171, + "WorldLevel": 3, + "StageID": 203111713 + }, + { + "EventID": 20311171, + "WorldLevel": 4, + "StageID": 203111714 + }, + { + "EventID": 20311171, + "WorldLevel": 5, + "StageID": 203111715 + }, + { + "EventID": 20311171, + "WorldLevel": 6, + "StageID": 203111716 + }, + { + "EventID": 20311172, + "WorldLevel": 0, + "StageID": 203111720 + }, + { + "EventID": 20311172, + "WorldLevel": 1, + "StageID": 203111721 + }, + { + "EventID": 20311172, + "WorldLevel": 2, + "StageID": 203111722 + }, + { + "EventID": 20311172, + "WorldLevel": 3, + "StageID": 203111723 + }, + { + "EventID": 20311172, + "WorldLevel": 4, + "StageID": 203111724 + }, + { + "EventID": 20311172, + "WorldLevel": 5, + "StageID": 203111725 + }, + { + "EventID": 20311172, + "WorldLevel": 6, + "StageID": 203111726 + }, + { + "EventID": 20311174, + "WorldLevel": 0, + "StageID": 203111740 + }, + { + "EventID": 20311174, + "WorldLevel": 1, + "StageID": 203111741 + }, + { + "EventID": 20311174, + "WorldLevel": 2, + "StageID": 203111742 + }, + { + "EventID": 20311174, + "WorldLevel": 3, + "StageID": 203111743 + }, + { + "EventID": 20311174, + "WorldLevel": 4, + "StageID": 203111744 + }, + { + "EventID": 20311174, + "WorldLevel": 5, + "StageID": 203111745 + }, + { + "EventID": 20311174, + "WorldLevel": 6, + "StageID": 203111746 + }, + { + "EventID": 20311175, + "WorldLevel": 0, + "StageID": 203111750 + }, + { + "EventID": 20311175, + "WorldLevel": 1, + "StageID": 203111751 + }, + { + "EventID": 20311175, + "WorldLevel": 2, + "StageID": 203111752 + }, + { + "EventID": 20311175, + "WorldLevel": 3, + "StageID": 203111753 + }, + { + "EventID": 20311175, + "WorldLevel": 4, + "StageID": 203111754 + }, + { + "EventID": 20311175, + "WorldLevel": 5, + "StageID": 203111755 + }, + { + "EventID": 20311175, + "WorldLevel": 6, + "StageID": 203111756 + }, + { + "EventID": 20311176, + "WorldLevel": 0, + "StageID": 203111760 + }, + { + "EventID": 20311176, + "WorldLevel": 1, + "StageID": 203111761 + }, + { + "EventID": 20311176, + "WorldLevel": 2, + "StageID": 203111762 + }, + { + "EventID": 20311176, + "WorldLevel": 3, + "StageID": 203111763 + }, + { + "EventID": 20311176, + "WorldLevel": 4, + "StageID": 203111764 + }, + { + "EventID": 20311176, + "WorldLevel": 5, + "StageID": 203111765 + }, + { + "EventID": 20311176, + "WorldLevel": 6, + "StageID": 203111766 + }, + { + "EventID": 20311178, + "WorldLevel": 0, + "StageID": 203111780 + }, + { + "EventID": 20311178, + "WorldLevel": 1, + "StageID": 203111781 + }, + { + "EventID": 20311178, + "WorldLevel": 2, + "StageID": 203111782 + }, + { + "EventID": 20311178, + "WorldLevel": 3, + "StageID": 203111783 + }, + { + "EventID": 20311178, + "WorldLevel": 4, + "StageID": 203111784 + }, + { + "EventID": 20311178, + "WorldLevel": 5, + "StageID": 203111785 + }, + { + "EventID": 20311178, + "WorldLevel": 6, + "StageID": 203111786 + }, + { + "EventID": 20311179, + "WorldLevel": 0, + "StageID": 203111790 + }, + { + "EventID": 20311179, + "WorldLevel": 1, + "StageID": 203111791 + }, + { + "EventID": 20311179, + "WorldLevel": 2, + "StageID": 203111792 + }, + { + "EventID": 20311179, + "WorldLevel": 3, + "StageID": 203111793 + }, + { + "EventID": 20311179, + "WorldLevel": 4, + "StageID": 203111794 + }, + { + "EventID": 20311179, + "WorldLevel": 5, + "StageID": 203111795 + }, + { + "EventID": 20311179, + "WorldLevel": 6, + "StageID": 203111796 + }, + { + "EventID": 20311180, + "WorldLevel": 0, + "StageID": 203111800 + }, + { + "EventID": 20311180, + "WorldLevel": 1, + "StageID": 203111801 + }, + { + "EventID": 20311180, + "WorldLevel": 2, + "StageID": 203111802 + }, + { + "EventID": 20311180, + "WorldLevel": 3, + "StageID": 203111803 + }, + { + "EventID": 20311180, + "WorldLevel": 4, + "StageID": 203111804 + }, + { + "EventID": 20311180, + "WorldLevel": 5, + "StageID": 203111805 + }, + { + "EventID": 20311180, + "WorldLevel": 6, + "StageID": 203111806 + }, + { + "EventID": 20311182, + "WorldLevel": 0, + "StageID": 203111820 + }, + { + "EventID": 20311182, + "WorldLevel": 1, + "StageID": 203111821 + }, + { + "EventID": 20311182, + "WorldLevel": 2, + "StageID": 203111822 + }, + { + "EventID": 20311182, + "WorldLevel": 3, + "StageID": 203111823 + }, + { + "EventID": 20311182, + "WorldLevel": 4, + "StageID": 203111824 + }, + { + "EventID": 20311182, + "WorldLevel": 5, + "StageID": 203111825 + }, + { + "EventID": 20311182, + "WorldLevel": 6, + "StageID": 203111826 + }, + { + "EventID": 20311183, + "WorldLevel": 0, + "StageID": 203111830 + }, + { + "EventID": 20311183, + "WorldLevel": 1, + "StageID": 203111831 + }, + { + "EventID": 20311183, + "WorldLevel": 2, + "StageID": 203111832 + }, + { + "EventID": 20311183, + "WorldLevel": 3, + "StageID": 203111833 + }, + { + "EventID": 20311183, + "WorldLevel": 4, + "StageID": 203111834 + }, + { + "EventID": 20311183, + "WorldLevel": 5, + "StageID": 203111835 + }, + { + "EventID": 20311183, + "WorldLevel": 6, + "StageID": 203111836 + }, + { + "EventID": 20311231, + "WorldLevel": 0, + "StageID": 203112310 + }, + { + "EventID": 20311231, + "WorldLevel": 1, + "StageID": 203112311 + }, + { + "EventID": 20311231, + "WorldLevel": 2, + "StageID": 203112312 + }, + { + "EventID": 20311231, + "WorldLevel": 3, + "StageID": 203112313 + }, + { + "EventID": 20311231, + "WorldLevel": 4, + "StageID": 203112314 + }, + { + "EventID": 20311231, + "WorldLevel": 5, + "StageID": 203112315 + }, + { + "EventID": 20311231, + "WorldLevel": 6, + "StageID": 203112316 + }, + { + "EventID": 20311233, + "WorldLevel": 0, + "StageID": 203112330 + }, + { + "EventID": 20311233, + "WorldLevel": 1, + "StageID": 203112331 + }, + { + "EventID": 20311233, + "WorldLevel": 2, + "StageID": 203112332 + }, + { + "EventID": 20311233, + "WorldLevel": 3, + "StageID": 203112333 + }, + { + "EventID": 20311233, + "WorldLevel": 4, + "StageID": 203112334 + }, + { + "EventID": 20311233, + "WorldLevel": 5, + "StageID": 203112335 + }, + { + "EventID": 20311233, + "WorldLevel": 6, + "StageID": 203112336 + }, + { + "EventID": 20311235, + "WorldLevel": 0, + "StageID": 203112350 + }, + { + "EventID": 20311235, + "WorldLevel": 1, + "StageID": 203112351 + }, + { + "EventID": 20311235, + "WorldLevel": 2, + "StageID": 203112352 + }, + { + "EventID": 20311235, + "WorldLevel": 3, + "StageID": 203112353 + }, + { + "EventID": 20311235, + "WorldLevel": 4, + "StageID": 203112354 + }, + { + "EventID": 20311235, + "WorldLevel": 5, + "StageID": 203112355 + }, + { + "EventID": 20311235, + "WorldLevel": 6, + "StageID": 203112356 + }, + { + "EventID": 20311236, + "WorldLevel": 0, + "StageID": 203112360 + }, + { + "EventID": 20311236, + "WorldLevel": 1, + "StageID": 203112361 + }, + { + "EventID": 20311236, + "WorldLevel": 2, + "StageID": 203112362 + }, + { + "EventID": 20311236, + "WorldLevel": 3, + "StageID": 203112363 + }, + { + "EventID": 20311236, + "WorldLevel": 4, + "StageID": 203112364 + }, + { + "EventID": 20311236, + "WorldLevel": 5, + "StageID": 203112365 + }, + { + "EventID": 20311236, + "WorldLevel": 6, + "StageID": 203112366 + }, + { + "EventID": 20311237, + "WorldLevel": 0, + "StageID": 203112370 + }, + { + "EventID": 20311237, + "WorldLevel": 1, + "StageID": 203112371 + }, + { + "EventID": 20311237, + "WorldLevel": 2, + "StageID": 203112372 + }, + { + "EventID": 20311237, + "WorldLevel": 3, + "StageID": 203112373 + }, + { + "EventID": 20311237, + "WorldLevel": 4, + "StageID": 203112374 + }, + { + "EventID": 20311237, + "WorldLevel": 5, + "StageID": 203112375 + }, + { + "EventID": 20311237, + "WorldLevel": 6, + "StageID": 203112376 + }, + { + "EventID": 20311238, + "WorldLevel": 0, + "StageID": 203112380 + }, + { + "EventID": 20311238, + "WorldLevel": 1, + "StageID": 203112381 + }, + { + "EventID": 20311238, + "WorldLevel": 2, + "StageID": 203112382 + }, + { + "EventID": 20311238, + "WorldLevel": 3, + "StageID": 203112383 + }, + { + "EventID": 20311238, + "WorldLevel": 4, + "StageID": 203112384 + }, + { + "EventID": 20311238, + "WorldLevel": 5, + "StageID": 203112385 + }, + { + "EventID": 20311238, + "WorldLevel": 6, + "StageID": 203112386 + }, + { + "EventID": 20311239, + "WorldLevel": 0, + "StageID": 203112390 + }, + { + "EventID": 20311239, + "WorldLevel": 1, + "StageID": 203112391 + }, + { + "EventID": 20311239, + "WorldLevel": 2, + "StageID": 203112392 + }, + { + "EventID": 20311239, + "WorldLevel": 3, + "StageID": 203112393 + }, + { + "EventID": 20311239, + "WorldLevel": 4, + "StageID": 203112394 + }, + { + "EventID": 20311239, + "WorldLevel": 5, + "StageID": 203112395 + }, + { + "EventID": 20311239, + "WorldLevel": 6, + "StageID": 203112396 + }, + { + "EventID": 20312001, + "WorldLevel": 0, + "StageID": 203120010 + }, + { + "EventID": 20312001, + "WorldLevel": 1, + "StageID": 203120011 + }, + { + "EventID": 20312001, + "WorldLevel": 2, + "StageID": 203120012 + }, + { + "EventID": 20312001, + "WorldLevel": 3, + "StageID": 203120013 + }, + { + "EventID": 20312001, + "WorldLevel": 4, + "StageID": 203120014 + }, + { + "EventID": 20312001, + "WorldLevel": 5, + "StageID": 203120015 + }, + { + "EventID": 20312001, + "WorldLevel": 6, + "StageID": 203120016 + }, + { + "EventID": 20312002, + "WorldLevel": 0, + "StageID": 203120020 + }, + { + "EventID": 20312002, + "WorldLevel": 1, + "StageID": 203120021 + }, + { + "EventID": 20312002, + "WorldLevel": 2, + "StageID": 203120022 + }, + { + "EventID": 20312002, + "WorldLevel": 3, + "StageID": 203120023 + }, + { + "EventID": 20312002, + "WorldLevel": 4, + "StageID": 203120024 + }, + { + "EventID": 20312002, + "WorldLevel": 5, + "StageID": 203120025 + }, + { + "EventID": 20312002, + "WorldLevel": 6, + "StageID": 203120026 + }, + { + "EventID": 20312005, + "WorldLevel": 0, + "StageID": 203120050 + }, + { + "EventID": 20312005, + "WorldLevel": 1, + "StageID": 203120051 + }, + { + "EventID": 20312005, + "WorldLevel": 2, + "StageID": 203120052 + }, + { + "EventID": 20312005, + "WorldLevel": 3, + "StageID": 203120053 + }, + { + "EventID": 20312005, + "WorldLevel": 4, + "StageID": 203120054 + }, + { + "EventID": 20312005, + "WorldLevel": 5, + "StageID": 203120055 + }, + { + "EventID": 20312005, + "WorldLevel": 6, + "StageID": 203120056 + }, + { + "EventID": 20312009, + "WorldLevel": 0, + "StageID": 203120090 + }, + { + "EventID": 20312009, + "WorldLevel": 1, + "StageID": 203120091 + }, + { + "EventID": 20312009, + "WorldLevel": 2, + "StageID": 203120092 + }, + { + "EventID": 20312009, + "WorldLevel": 3, + "StageID": 203120093 + }, + { + "EventID": 20312009, + "WorldLevel": 4, + "StageID": 203120094 + }, + { + "EventID": 20312009, + "WorldLevel": 5, + "StageID": 203120095 + }, + { + "EventID": 20312009, + "WorldLevel": 6, + "StageID": 203120096 + }, + { + "EventID": 20312010, + "WorldLevel": 0, + "StageID": 203120100 + }, + { + "EventID": 20312010, + "WorldLevel": 1, + "StageID": 203120101 + }, + { + "EventID": 20312010, + "WorldLevel": 2, + "StageID": 203120102 + }, + { + "EventID": 20312010, + "WorldLevel": 3, + "StageID": 203120103 + }, + { + "EventID": 20312010, + "WorldLevel": 4, + "StageID": 203120104 + }, + { + "EventID": 20312010, + "WorldLevel": 5, + "StageID": 203120105 + }, + { + "EventID": 20312010, + "WorldLevel": 6, + "StageID": 203120106 + }, + { + "EventID": 20312011, + "WorldLevel": 0, + "StageID": 203120110 + }, + { + "EventID": 20312011, + "WorldLevel": 1, + "StageID": 203120111 + }, + { + "EventID": 20312011, + "WorldLevel": 2, + "StageID": 203120112 + }, + { + "EventID": 20312011, + "WorldLevel": 3, + "StageID": 203120113 + }, + { + "EventID": 20312011, + "WorldLevel": 4, + "StageID": 203120114 + }, + { + "EventID": 20312011, + "WorldLevel": 5, + "StageID": 203120115 + }, + { + "EventID": 20312011, + "WorldLevel": 6, + "StageID": 203120116 + }, + { + "EventID": 20312012, + "WorldLevel": 0, + "StageID": 203120120 + }, + { + "EventID": 20312012, + "WorldLevel": 1, + "StageID": 203120121 + }, + { + "EventID": 20312012, + "WorldLevel": 2, + "StageID": 203120122 + }, + { + "EventID": 20312012, + "WorldLevel": 3, + "StageID": 203120123 + }, + { + "EventID": 20312012, + "WorldLevel": 4, + "StageID": 203120124 + }, + { + "EventID": 20312012, + "WorldLevel": 5, + "StageID": 203120125 + }, + { + "EventID": 20312012, + "WorldLevel": 6, + "StageID": 203120126 + }, + { + "EventID": 20312016, + "WorldLevel": 0, + "StageID": 203120160 + }, + { + "EventID": 20312016, + "WorldLevel": 1, + "StageID": 203120161 + }, + { + "EventID": 20312016, + "WorldLevel": 2, + "StageID": 203120162 + }, + { + "EventID": 20312016, + "WorldLevel": 3, + "StageID": 203120163 + }, + { + "EventID": 20312016, + "WorldLevel": 4, + "StageID": 203120164 + }, + { + "EventID": 20312016, + "WorldLevel": 5, + "StageID": 203120165 + }, + { + "EventID": 20312016, + "WorldLevel": 6, + "StageID": 203120166 + }, + { + "EventID": 20312017, + "WorldLevel": 0, + "StageID": 203120170 + }, + { + "EventID": 20312017, + "WorldLevel": 1, + "StageID": 203120171 + }, + { + "EventID": 20312017, + "WorldLevel": 2, + "StageID": 203120172 + }, + { + "EventID": 20312017, + "WorldLevel": 3, + "StageID": 203120173 + }, + { + "EventID": 20312017, + "WorldLevel": 4, + "StageID": 203120174 + }, + { + "EventID": 20312017, + "WorldLevel": 5, + "StageID": 203120175 + }, + { + "EventID": 20312017, + "WorldLevel": 6, + "StageID": 203120176 + }, + { + "EventID": 20312020, + "WorldLevel": 0, + "StageID": 203120200 + }, + { + "EventID": 20312020, + "WorldLevel": 1, + "StageID": 203120201 + }, + { + "EventID": 20312020, + "WorldLevel": 2, + "StageID": 203120202 + }, + { + "EventID": 20312020, + "WorldLevel": 3, + "StageID": 203120203 + }, + { + "EventID": 20312020, + "WorldLevel": 4, + "StageID": 203120204 + }, + { + "EventID": 20312020, + "WorldLevel": 5, + "StageID": 203120205 + }, + { + "EventID": 20312020, + "WorldLevel": 6, + "StageID": 203120206 + }, + { + "EventID": 20312023, + "WorldLevel": 0, + "StageID": 203120230 + }, + { + "EventID": 20312023, + "WorldLevel": 1, + "StageID": 203120231 + }, + { + "EventID": 20312023, + "WorldLevel": 2, + "StageID": 203120232 + }, + { + "EventID": 20312023, + "WorldLevel": 3, + "StageID": 203120233 + }, + { + "EventID": 20312023, + "WorldLevel": 4, + "StageID": 203120234 + }, + { + "EventID": 20312023, + "WorldLevel": 5, + "StageID": 203120235 + }, + { + "EventID": 20312023, + "WorldLevel": 6, + "StageID": 203120236 + }, + { + "EventID": 20312024, + "WorldLevel": 0, + "StageID": 203120240 + }, + { + "EventID": 20312024, + "WorldLevel": 1, + "StageID": 203120241 + }, + { + "EventID": 20312024, + "WorldLevel": 2, + "StageID": 203120242 + }, + { + "EventID": 20312024, + "WorldLevel": 3, + "StageID": 203120243 + }, + { + "EventID": 20312024, + "WorldLevel": 4, + "StageID": 203120244 + }, + { + "EventID": 20312024, + "WorldLevel": 5, + "StageID": 203120245 + }, + { + "EventID": 20312024, + "WorldLevel": 6, + "StageID": 203120246 + }, + { + "EventID": 20312101, + "WorldLevel": 0, + "StageID": 203121010 + }, + { + "EventID": 20312101, + "WorldLevel": 1, + "StageID": 203121011 + }, + { + "EventID": 20312101, + "WorldLevel": 2, + "StageID": 203121012 + }, + { + "EventID": 20312101, + "WorldLevel": 3, + "StageID": 203121013 + }, + { + "EventID": 20312101, + "WorldLevel": 4, + "StageID": 203121014 + }, + { + "EventID": 20312101, + "WorldLevel": 5, + "StageID": 203121015 + }, + { + "EventID": 20312101, + "WorldLevel": 6, + "StageID": 203121016 + }, + { + "EventID": 20312102, + "WorldLevel": 0, + "StageID": 203121020 + }, + { + "EventID": 20312102, + "WorldLevel": 1, + "StageID": 203121021 + }, + { + "EventID": 20312102, + "WorldLevel": 2, + "StageID": 203121022 + }, + { + "EventID": 20312102, + "WorldLevel": 3, + "StageID": 203121023 + }, + { + "EventID": 20312102, + "WorldLevel": 4, + "StageID": 203121024 + }, + { + "EventID": 20312102, + "WorldLevel": 5, + "StageID": 203121025 + }, + { + "EventID": 20312102, + "WorldLevel": 6, + "StageID": 203121026 + }, + { + "EventID": 20312103, + "WorldLevel": 0, + "StageID": 203121030 + }, + { + "EventID": 20312103, + "WorldLevel": 1, + "StageID": 203121031 + }, + { + "EventID": 20312103, + "WorldLevel": 2, + "StageID": 203121032 + }, + { + "EventID": 20312103, + "WorldLevel": 3, + "StageID": 203121033 + }, + { + "EventID": 20312103, + "WorldLevel": 4, + "StageID": 203121034 + }, + { + "EventID": 20312103, + "WorldLevel": 5, + "StageID": 203121035 + }, + { + "EventID": 20312103, + "WorldLevel": 6, + "StageID": 203121036 + }, + { + "EventID": 20312105, + "WorldLevel": 0, + "StageID": 203121050 + }, + { + "EventID": 20312105, + "WorldLevel": 1, + "StageID": 203121051 + }, + { + "EventID": 20312105, + "WorldLevel": 2, + "StageID": 203121052 + }, + { + "EventID": 20312105, + "WorldLevel": 3, + "StageID": 203121053 + }, + { + "EventID": 20312105, + "WorldLevel": 4, + "StageID": 203121054 + }, + { + "EventID": 20312105, + "WorldLevel": 5, + "StageID": 203121055 + }, + { + "EventID": 20312105, + "WorldLevel": 6, + "StageID": 203121056 + }, + { + "EventID": 20312108, + "WorldLevel": 0, + "StageID": 203121080 + }, + { + "EventID": 20312108, + "WorldLevel": 1, + "StageID": 203121081 + }, + { + "EventID": 20312108, + "WorldLevel": 2, + "StageID": 203121082 + }, + { + "EventID": 20312108, + "WorldLevel": 3, + "StageID": 203121083 + }, + { + "EventID": 20312108, + "WorldLevel": 4, + "StageID": 203121084 + }, + { + "EventID": 20312108, + "WorldLevel": 5, + "StageID": 203121085 + }, + { + "EventID": 20312108, + "WorldLevel": 6, + "StageID": 203121086 + }, + { + "EventID": 20312109, + "WorldLevel": 0, + "StageID": 203121090 + }, + { + "EventID": 20312109, + "WorldLevel": 1, + "StageID": 203121091 + }, + { + "EventID": 20312109, + "WorldLevel": 2, + "StageID": 203121092 + }, + { + "EventID": 20312109, + "WorldLevel": 3, + "StageID": 203121093 + }, + { + "EventID": 20312109, + "WorldLevel": 4, + "StageID": 203121094 + }, + { + "EventID": 20312109, + "WorldLevel": 5, + "StageID": 203121095 + }, + { + "EventID": 20312109, + "WorldLevel": 6, + "StageID": 203121096 + }, + { + "EventID": 20312110, + "WorldLevel": 0, + "StageID": 203121100 + }, + { + "EventID": 20312110, + "WorldLevel": 1, + "StageID": 203121101 + }, + { + "EventID": 20312110, + "WorldLevel": 2, + "StageID": 203121102 + }, + { + "EventID": 20312110, + "WorldLevel": 3, + "StageID": 203121103 + }, + { + "EventID": 20312110, + "WorldLevel": 4, + "StageID": 203121104 + }, + { + "EventID": 20312110, + "WorldLevel": 5, + "StageID": 203121105 + }, + { + "EventID": 20312110, + "WorldLevel": 6, + "StageID": 203121106 + }, + { + "EventID": 20312111, + "WorldLevel": 0, + "StageID": 203121110 + }, + { + "EventID": 20312111, + "WorldLevel": 1, + "StageID": 203121111 + }, + { + "EventID": 20312111, + "WorldLevel": 2, + "StageID": 203121112 + }, + { + "EventID": 20312111, + "WorldLevel": 3, + "StageID": 203121113 + }, + { + "EventID": 20312111, + "WorldLevel": 4, + "StageID": 203121114 + }, + { + "EventID": 20312111, + "WorldLevel": 5, + "StageID": 203121115 + }, + { + "EventID": 20312111, + "WorldLevel": 6, + "StageID": 203121116 + }, + { + "EventID": 20312112, + "WorldLevel": 0, + "StageID": 203121120 + }, + { + "EventID": 20312112, + "WorldLevel": 1, + "StageID": 203121121 + }, + { + "EventID": 20312112, + "WorldLevel": 2, + "StageID": 203121122 + }, + { + "EventID": 20312112, + "WorldLevel": 3, + "StageID": 203121123 + }, + { + "EventID": 20312112, + "WorldLevel": 4, + "StageID": 203121124 + }, + { + "EventID": 20312112, + "WorldLevel": 5, + "StageID": 203121125 + }, + { + "EventID": 20312112, + "WorldLevel": 6, + "StageID": 203121126 + }, + { + "EventID": 20312113, + "WorldLevel": 0, + "StageID": 203121130 + }, + { + "EventID": 20312113, + "WorldLevel": 1, + "StageID": 203121131 + }, + { + "EventID": 20312113, + "WorldLevel": 2, + "StageID": 203121132 + }, + { + "EventID": 20312113, + "WorldLevel": 3, + "StageID": 203121133 + }, + { + "EventID": 20312113, + "WorldLevel": 4, + "StageID": 203121134 + }, + { + "EventID": 20312113, + "WorldLevel": 5, + "StageID": 203121135 + }, + { + "EventID": 20312113, + "WorldLevel": 6, + "StageID": 203121136 + }, + { + "EventID": 20312116, + "WorldLevel": 0, + "StageID": 203121160 + }, + { + "EventID": 20312116, + "WorldLevel": 1, + "StageID": 203121161 + }, + { + "EventID": 20312116, + "WorldLevel": 2, + "StageID": 203121162 + }, + { + "EventID": 20312116, + "WorldLevel": 3, + "StageID": 203121163 + }, + { + "EventID": 20312116, + "WorldLevel": 4, + "StageID": 203121164 + }, + { + "EventID": 20312116, + "WorldLevel": 5, + "StageID": 203121165 + }, + { + "EventID": 20312116, + "WorldLevel": 6, + "StageID": 203121166 + }, + { + "EventID": 20312117, + "WorldLevel": 0, + "StageID": 203121170 + }, + { + "EventID": 20312117, + "WorldLevel": 1, + "StageID": 203121171 + }, + { + "EventID": 20312117, + "WorldLevel": 2, + "StageID": 203121172 + }, + { + "EventID": 20312117, + "WorldLevel": 3, + "StageID": 203121173 + }, + { + "EventID": 20312117, + "WorldLevel": 4, + "StageID": 203121174 + }, + { + "EventID": 20312117, + "WorldLevel": 5, + "StageID": 203121175 + }, + { + "EventID": 20312117, + "WorldLevel": 6, + "StageID": 203121176 + }, + { + "EventID": 20312120, + "WorldLevel": 0, + "StageID": 203121200 + }, + { + "EventID": 20312120, + "WorldLevel": 1, + "StageID": 203121201 + }, + { + "EventID": 20312120, + "WorldLevel": 2, + "StageID": 203121202 + }, + { + "EventID": 20312120, + "WorldLevel": 3, + "StageID": 203121203 + }, + { + "EventID": 20312120, + "WorldLevel": 4, + "StageID": 203121204 + }, + { + "EventID": 20312120, + "WorldLevel": 5, + "StageID": 203121205 + }, + { + "EventID": 20312120, + "WorldLevel": 6, + "StageID": 203121206 + }, + { + "EventID": 20312123, + "WorldLevel": 0, + "StageID": 203121230 + }, + { + "EventID": 20312123, + "WorldLevel": 1, + "StageID": 203121231 + }, + { + "EventID": 20312123, + "WorldLevel": 2, + "StageID": 203121232 + }, + { + "EventID": 20312123, + "WorldLevel": 3, + "StageID": 203121233 + }, + { + "EventID": 20312123, + "WorldLevel": 4, + "StageID": 203121234 + }, + { + "EventID": 20312123, + "WorldLevel": 5, + "StageID": 203121235 + }, + { + "EventID": 20312123, + "WorldLevel": 6, + "StageID": 203121236 + }, + { + "EventID": 20312124, + "WorldLevel": 0, + "StageID": 203121240 + }, + { + "EventID": 20312124, + "WorldLevel": 1, + "StageID": 203121241 + }, + { + "EventID": 20312124, + "WorldLevel": 2, + "StageID": 203121242 + }, + { + "EventID": 20312124, + "WorldLevel": 3, + "StageID": 203121243 + }, + { + "EventID": 20312124, + "WorldLevel": 4, + "StageID": 203121244 + }, + { + "EventID": 20312124, + "WorldLevel": 5, + "StageID": 203121245 + }, + { + "EventID": 20312124, + "WorldLevel": 6, + "StageID": 203121246 + }, + { + "EventID": 20312130, + "WorldLevel": 0, + "StageID": 203121300 + }, + { + "EventID": 20312130, + "WorldLevel": 1, + "StageID": 203121301 + }, + { + "EventID": 20312130, + "WorldLevel": 2, + "StageID": 203121302 + }, + { + "EventID": 20312130, + "WorldLevel": 3, + "StageID": 203121303 + }, + { + "EventID": 20312130, + "WorldLevel": 4, + "StageID": 203121304 + }, + { + "EventID": 20312130, + "WorldLevel": 5, + "StageID": 203121305 + }, + { + "EventID": 20312130, + "WorldLevel": 6, + "StageID": 203121306 + }, + { + "EventID": 20312231, + "WorldLevel": 0, + "StageID": 203122310 + }, + { + "EventID": 20312231, + "WorldLevel": 1, + "StageID": 203122311 + }, + { + "EventID": 20312231, + "WorldLevel": 2, + "StageID": 203122312 + }, + { + "EventID": 20312231, + "WorldLevel": 3, + "StageID": 203122313 + }, + { + "EventID": 20312231, + "WorldLevel": 4, + "StageID": 203122314 + }, + { + "EventID": 20312231, + "WorldLevel": 5, + "StageID": 203122315 + }, + { + "EventID": 20312231, + "WorldLevel": 6, + "StageID": 203122316 + }, + { + "EventID": 20312233, + "WorldLevel": 0, + "StageID": 203122330 + }, + { + "EventID": 20312233, + "WorldLevel": 1, + "StageID": 203122331 + }, + { + "EventID": 20312233, + "WorldLevel": 2, + "StageID": 203122332 + }, + { + "EventID": 20312233, + "WorldLevel": 3, + "StageID": 203122333 + }, + { + "EventID": 20312233, + "WorldLevel": 4, + "StageID": 203122334 + }, + { + "EventID": 20312233, + "WorldLevel": 5, + "StageID": 203122335 + }, + { + "EventID": 20312233, + "WorldLevel": 6, + "StageID": 203122336 + }, + { + "EventID": 20312234, + "WorldLevel": 0, + "StageID": 203122340 + }, + { + "EventID": 20312234, + "WorldLevel": 1, + "StageID": 203122341 + }, + { + "EventID": 20312234, + "WorldLevel": 2, + "StageID": 203122342 + }, + { + "EventID": 20312234, + "WorldLevel": 3, + "StageID": 203122343 + }, + { + "EventID": 20312234, + "WorldLevel": 4, + "StageID": 203122344 + }, + { + "EventID": 20312234, + "WorldLevel": 5, + "StageID": 203122345 + }, + { + "EventID": 20312234, + "WorldLevel": 6, + "StageID": 203122346 + }, + { + "EventID": 20312236, + "WorldLevel": 0, + "StageID": 203122360 + }, + { + "EventID": 20312236, + "WorldLevel": 1, + "StageID": 203122361 + }, + { + "EventID": 20312236, + "WorldLevel": 2, + "StageID": 203122362 + }, + { + "EventID": 20312236, + "WorldLevel": 3, + "StageID": 203122363 + }, + { + "EventID": 20312236, + "WorldLevel": 4, + "StageID": 203122364 + }, + { + "EventID": 20312236, + "WorldLevel": 5, + "StageID": 203122365 + }, + { + "EventID": 20312236, + "WorldLevel": 6, + "StageID": 203122366 + }, + { + "EventID": 20313010, + "WorldLevel": 0, + "StageID": 203130100 + }, + { + "EventID": 20313010, + "WorldLevel": 1, + "StageID": 203130101 + }, + { + "EventID": 20313010, + "WorldLevel": 2, + "StageID": 203130102 + }, + { + "EventID": 20313010, + "WorldLevel": 3, + "StageID": 203130103 + }, + { + "EventID": 20313010, + "WorldLevel": 4, + "StageID": 203130104 + }, + { + "EventID": 20313010, + "WorldLevel": 5, + "StageID": 203130105 + }, + { + "EventID": 20313010, + "WorldLevel": 6, + "StageID": 203130106 + }, + { + "EventID": 20313011, + "WorldLevel": 0, + "StageID": 203130110 + }, + { + "EventID": 20313011, + "WorldLevel": 1, + "StageID": 203130111 + }, + { + "EventID": 20313011, + "WorldLevel": 2, + "StageID": 203130112 + }, + { + "EventID": 20313011, + "WorldLevel": 3, + "StageID": 203130113 + }, + { + "EventID": 20313011, + "WorldLevel": 4, + "StageID": 203130114 + }, + { + "EventID": 20313011, + "WorldLevel": 5, + "StageID": 203130115 + }, + { + "EventID": 20313011, + "WorldLevel": 6, + "StageID": 203130116 + }, + { + "EventID": 20313013, + "WorldLevel": 0, + "StageID": 203130130 + }, + { + "EventID": 20313013, + "WorldLevel": 1, + "StageID": 203130131 + }, + { + "EventID": 20313013, + "WorldLevel": 2, + "StageID": 203130132 + }, + { + "EventID": 20313013, + "WorldLevel": 3, + "StageID": 203130133 + }, + { + "EventID": 20313013, + "WorldLevel": 4, + "StageID": 203130134 + }, + { + "EventID": 20313013, + "WorldLevel": 5, + "StageID": 203130135 + }, + { + "EventID": 20313013, + "WorldLevel": 6, + "StageID": 203130136 + }, + { + "EventID": 20313016, + "WorldLevel": 0, + "StageID": 203130160 + }, + { + "EventID": 20313016, + "WorldLevel": 1, + "StageID": 203130161 + }, + { + "EventID": 20313016, + "WorldLevel": 2, + "StageID": 203130162 + }, + { + "EventID": 20313016, + "WorldLevel": 3, + "StageID": 203130163 + }, + { + "EventID": 20313016, + "WorldLevel": 4, + "StageID": 203130164 + }, + { + "EventID": 20313016, + "WorldLevel": 5, + "StageID": 203130165 + }, + { + "EventID": 20313016, + "WorldLevel": 6, + "StageID": 203130166 + }, + { + "EventID": 20313017, + "WorldLevel": 0, + "StageID": 203130170 + }, + { + "EventID": 20313017, + "WorldLevel": 1, + "StageID": 203130171 + }, + { + "EventID": 20313017, + "WorldLevel": 2, + "StageID": 203130172 + }, + { + "EventID": 20313017, + "WorldLevel": 3, + "StageID": 203130173 + }, + { + "EventID": 20313017, + "WorldLevel": 4, + "StageID": 203130174 + }, + { + "EventID": 20313017, + "WorldLevel": 5, + "StageID": 203130175 + }, + { + "EventID": 20313017, + "WorldLevel": 6, + "StageID": 203130176 + }, + { + "EventID": 20313018, + "WorldLevel": 0, + "StageID": 203130180 + }, + { + "EventID": 20313018, + "WorldLevel": 1, + "StageID": 203130181 + }, + { + "EventID": 20313018, + "WorldLevel": 2, + "StageID": 203130182 + }, + { + "EventID": 20313018, + "WorldLevel": 3, + "StageID": 203130183 + }, + { + "EventID": 20313018, + "WorldLevel": 4, + "StageID": 203130184 + }, + { + "EventID": 20313018, + "WorldLevel": 5, + "StageID": 203130185 + }, + { + "EventID": 20313018, + "WorldLevel": 6, + "StageID": 203130186 + }, + { + "EventID": 20313019, + "WorldLevel": 0, + "StageID": 203130190 + }, + { + "EventID": 20313019, + "WorldLevel": 1, + "StageID": 203130191 + }, + { + "EventID": 20313019, + "WorldLevel": 2, + "StageID": 203130192 + }, + { + "EventID": 20313019, + "WorldLevel": 3, + "StageID": 203130193 + }, + { + "EventID": 20313019, + "WorldLevel": 4, + "StageID": 203130194 + }, + { + "EventID": 20313019, + "WorldLevel": 5, + "StageID": 203130195 + }, + { + "EventID": 20313019, + "WorldLevel": 6, + "StageID": 203130196 + }, + { + "EventID": 20313020, + "WorldLevel": 0, + "StageID": 203130200 + }, + { + "EventID": 20313020, + "WorldLevel": 1, + "StageID": 203130201 + }, + { + "EventID": 20313020, + "WorldLevel": 2, + "StageID": 203130202 + }, + { + "EventID": 20313020, + "WorldLevel": 3, + "StageID": 203130203 + }, + { + "EventID": 20313020, + "WorldLevel": 4, + "StageID": 203130204 + }, + { + "EventID": 20313020, + "WorldLevel": 5, + "StageID": 203130205 + }, + { + "EventID": 20313020, + "WorldLevel": 6, + "StageID": 203130206 + }, + { + "EventID": 20313021, + "WorldLevel": 0, + "StageID": 203130210 + }, + { + "EventID": 20313021, + "WorldLevel": 1, + "StageID": 203130211 + }, + { + "EventID": 20313021, + "WorldLevel": 2, + "StageID": 203130212 + }, + { + "EventID": 20313021, + "WorldLevel": 3, + "StageID": 203130213 + }, + { + "EventID": 20313021, + "WorldLevel": 4, + "StageID": 203130214 + }, + { + "EventID": 20313021, + "WorldLevel": 5, + "StageID": 203130215 + }, + { + "EventID": 20313021, + "WorldLevel": 6, + "StageID": 203130216 + }, + { + "EventID": 20313022, + "WorldLevel": 0, + "StageID": 203130220 + }, + { + "EventID": 20313022, + "WorldLevel": 1, + "StageID": 203130221 + }, + { + "EventID": 20313022, + "WorldLevel": 2, + "StageID": 203130222 + }, + { + "EventID": 20313022, + "WorldLevel": 3, + "StageID": 203130223 + }, + { + "EventID": 20313022, + "WorldLevel": 4, + "StageID": 203130224 + }, + { + "EventID": 20313022, + "WorldLevel": 5, + "StageID": 203130225 + }, + { + "EventID": 20313022, + "WorldLevel": 6, + "StageID": 203130226 + }, + { + "EventID": 20313023, + "WorldLevel": 0, + "StageID": 203130230 + }, + { + "EventID": 20313023, + "WorldLevel": 1, + "StageID": 203130231 + }, + { + "EventID": 20313023, + "WorldLevel": 2, + "StageID": 203130232 + }, + { + "EventID": 20313023, + "WorldLevel": 3, + "StageID": 203130233 + }, + { + "EventID": 20313023, + "WorldLevel": 4, + "StageID": 203130234 + }, + { + "EventID": 20313023, + "WorldLevel": 5, + "StageID": 203130235 + }, + { + "EventID": 20313023, + "WorldLevel": 6, + "StageID": 203130236 + }, + { + "EventID": 20313027, + "WorldLevel": 0, + "StageID": 203130270 + }, + { + "EventID": 20313027, + "WorldLevel": 1, + "StageID": 203130271 + }, + { + "EventID": 20313027, + "WorldLevel": 2, + "StageID": 203130272 + }, + { + "EventID": 20313027, + "WorldLevel": 3, + "StageID": 203130273 + }, + { + "EventID": 20313027, + "WorldLevel": 4, + "StageID": 203130274 + }, + { + "EventID": 20313027, + "WorldLevel": 5, + "StageID": 203130275 + }, + { + "EventID": 20313027, + "WorldLevel": 6, + "StageID": 203130276 + }, + { + "EventID": 20313028, + "WorldLevel": 0, + "StageID": 203130280 + }, + { + "EventID": 20313028, + "WorldLevel": 1, + "StageID": 203130281 + }, + { + "EventID": 20313028, + "WorldLevel": 2, + "StageID": 203130282 + }, + { + "EventID": 20313028, + "WorldLevel": 3, + "StageID": 203130283 + }, + { + "EventID": 20313028, + "WorldLevel": 4, + "StageID": 203130284 + }, + { + "EventID": 20313028, + "WorldLevel": 5, + "StageID": 203130285 + }, + { + "EventID": 20313028, + "WorldLevel": 6, + "StageID": 203130286 + }, + { + "EventID": 20313029, + "WorldLevel": 0, + "StageID": 203130290 + }, + { + "EventID": 20313029, + "WorldLevel": 1, + "StageID": 203130291 + }, + { + "EventID": 20313029, + "WorldLevel": 2, + "StageID": 203130292 + }, + { + "EventID": 20313029, + "WorldLevel": 3, + "StageID": 203130293 + }, + { + "EventID": 20313029, + "WorldLevel": 4, + "StageID": 203130294 + }, + { + "EventID": 20313029, + "WorldLevel": 5, + "StageID": 203130295 + }, + { + "EventID": 20313029, + "WorldLevel": 6, + "StageID": 203130296 + }, + { + "EventID": 20313043, + "WorldLevel": 0, + "StageID": 203130430 + }, + { + "EventID": 20313043, + "WorldLevel": 1, + "StageID": 203130431 + }, + { + "EventID": 20313043, + "WorldLevel": 2, + "StageID": 203130432 + }, + { + "EventID": 20313043, + "WorldLevel": 3, + "StageID": 203130433 + }, + { + "EventID": 20313043, + "WorldLevel": 4, + "StageID": 203130434 + }, + { + "EventID": 20313043, + "WorldLevel": 5, + "StageID": 203130435 + }, + { + "EventID": 20313043, + "WorldLevel": 6, + "StageID": 203130436 + }, + { + "EventID": 20313044, + "WorldLevel": 0, + "StageID": 203130440 + }, + { + "EventID": 20313044, + "WorldLevel": 1, + "StageID": 203130441 + }, + { + "EventID": 20313044, + "WorldLevel": 2, + "StageID": 203130442 + }, + { + "EventID": 20313044, + "WorldLevel": 3, + "StageID": 203130443 + }, + { + "EventID": 20313044, + "WorldLevel": 4, + "StageID": 203130444 + }, + { + "EventID": 20313044, + "WorldLevel": 5, + "StageID": 203130445 + }, + { + "EventID": 20313044, + "WorldLevel": 6, + "StageID": 203130446 + }, + { + "EventID": 20313045, + "WorldLevel": 0, + "StageID": 203130450 + }, + { + "EventID": 20313045, + "WorldLevel": 1, + "StageID": 203130451 + }, + { + "EventID": 20313045, + "WorldLevel": 2, + "StageID": 203130452 + }, + { + "EventID": 20313045, + "WorldLevel": 3, + "StageID": 203130453 + }, + { + "EventID": 20313045, + "WorldLevel": 4, + "StageID": 203130454 + }, + { + "EventID": 20313045, + "WorldLevel": 5, + "StageID": 203130455 + }, + { + "EventID": 20313045, + "WorldLevel": 6, + "StageID": 203130456 + }, + { + "EventID": 20313046, + "WorldLevel": 0, + "StageID": 203130460 + }, + { + "EventID": 20313046, + "WorldLevel": 1, + "StageID": 203130461 + }, + { + "EventID": 20313046, + "WorldLevel": 2, + "StageID": 203130462 + }, + { + "EventID": 20313046, + "WorldLevel": 3, + "StageID": 203130463 + }, + { + "EventID": 20313046, + "WorldLevel": 4, + "StageID": 203130464 + }, + { + "EventID": 20313046, + "WorldLevel": 5, + "StageID": 203130465 + }, + { + "EventID": 20313046, + "WorldLevel": 6, + "StageID": 203130466 + }, + { + "EventID": 20313047, + "WorldLevel": 0, + "StageID": 203130470 + }, + { + "EventID": 20313047, + "WorldLevel": 1, + "StageID": 203130471 + }, + { + "EventID": 20313047, + "WorldLevel": 2, + "StageID": 203130472 + }, + { + "EventID": 20313047, + "WorldLevel": 3, + "StageID": 203130473 + }, + { + "EventID": 20313047, + "WorldLevel": 4, + "StageID": 203130474 + }, + { + "EventID": 20313047, + "WorldLevel": 5, + "StageID": 203130475 + }, + { + "EventID": 20313047, + "WorldLevel": 6, + "StageID": 203130476 + }, + { + "EventID": 20313110, + "WorldLevel": 0, + "StageID": 203131100 + }, + { + "EventID": 20313110, + "WorldLevel": 1, + "StageID": 203131101 + }, + { + "EventID": 20313110, + "WorldLevel": 2, + "StageID": 203131102 + }, + { + "EventID": 20313110, + "WorldLevel": 3, + "StageID": 203131103 + }, + { + "EventID": 20313110, + "WorldLevel": 4, + "StageID": 203131104 + }, + { + "EventID": 20313110, + "WorldLevel": 5, + "StageID": 203131105 + }, + { + "EventID": 20313110, + "WorldLevel": 6, + "StageID": 203131106 + }, + { + "EventID": 20313111, + "WorldLevel": 0, + "StageID": 203131110 + }, + { + "EventID": 20313111, + "WorldLevel": 1, + "StageID": 203131111 + }, + { + "EventID": 20313111, + "WorldLevel": 2, + "StageID": 203131112 + }, + { + "EventID": 20313111, + "WorldLevel": 3, + "StageID": 203131113 + }, + { + "EventID": 20313111, + "WorldLevel": 4, + "StageID": 203131114 + }, + { + "EventID": 20313111, + "WorldLevel": 5, + "StageID": 203131115 + }, + { + "EventID": 20313111, + "WorldLevel": 6, + "StageID": 203131116 + }, + { + "EventID": 20313113, + "WorldLevel": 0, + "StageID": 203131130 + }, + { + "EventID": 20313113, + "WorldLevel": 1, + "StageID": 203131131 + }, + { + "EventID": 20313113, + "WorldLevel": 2, + "StageID": 203131132 + }, + { + "EventID": 20313113, + "WorldLevel": 3, + "StageID": 203131133 + }, + { + "EventID": 20313113, + "WorldLevel": 4, + "StageID": 203131134 + }, + { + "EventID": 20313113, + "WorldLevel": 5, + "StageID": 203131135 + }, + { + "EventID": 20313113, + "WorldLevel": 6, + "StageID": 203131136 + }, + { + "EventID": 20313116, + "WorldLevel": 0, + "StageID": 203131160 + }, + { + "EventID": 20313116, + "WorldLevel": 1, + "StageID": 203131161 + }, + { + "EventID": 20313116, + "WorldLevel": 2, + "StageID": 203131162 + }, + { + "EventID": 20313116, + "WorldLevel": 3, + "StageID": 203131163 + }, + { + "EventID": 20313116, + "WorldLevel": 4, + "StageID": 203131164 + }, + { + "EventID": 20313116, + "WorldLevel": 5, + "StageID": 203131165 + }, + { + "EventID": 20313116, + "WorldLevel": 6, + "StageID": 203131166 + }, + { + "EventID": 20313117, + "WorldLevel": 0, + "StageID": 203131170 + }, + { + "EventID": 20313117, + "WorldLevel": 1, + "StageID": 203131171 + }, + { + "EventID": 20313117, + "WorldLevel": 2, + "StageID": 203131172 + }, + { + "EventID": 20313117, + "WorldLevel": 3, + "StageID": 203131173 + }, + { + "EventID": 20313117, + "WorldLevel": 4, + "StageID": 203131174 + }, + { + "EventID": 20313117, + "WorldLevel": 5, + "StageID": 203131175 + }, + { + "EventID": 20313117, + "WorldLevel": 6, + "StageID": 203131176 + }, + { + "EventID": 20313118, + "WorldLevel": 0, + "StageID": 203131180 + }, + { + "EventID": 20313118, + "WorldLevel": 1, + "StageID": 203131181 + }, + { + "EventID": 20313118, + "WorldLevel": 2, + "StageID": 203131182 + }, + { + "EventID": 20313118, + "WorldLevel": 3, + "StageID": 203131183 + }, + { + "EventID": 20313118, + "WorldLevel": 4, + "StageID": 203131184 + }, + { + "EventID": 20313118, + "WorldLevel": 5, + "StageID": 203131185 + }, + { + "EventID": 20313118, + "WorldLevel": 6, + "StageID": 203131186 + }, + { + "EventID": 20313119, + "WorldLevel": 0, + "StageID": 203131190 + }, + { + "EventID": 20313119, + "WorldLevel": 1, + "StageID": 203131191 + }, + { + "EventID": 20313119, + "WorldLevel": 2, + "StageID": 203131192 + }, + { + "EventID": 20313119, + "WorldLevel": 3, + "StageID": 203131193 + }, + { + "EventID": 20313119, + "WorldLevel": 4, + "StageID": 203131194 + }, + { + "EventID": 20313119, + "WorldLevel": 5, + "StageID": 203131195 + }, + { + "EventID": 20313119, + "WorldLevel": 6, + "StageID": 203131196 + }, + { + "EventID": 20313120, + "WorldLevel": 0, + "StageID": 203131200 + }, + { + "EventID": 20313120, + "WorldLevel": 1, + "StageID": 203131201 + }, + { + "EventID": 20313120, + "WorldLevel": 2, + "StageID": 203131202 + }, + { + "EventID": 20313120, + "WorldLevel": 3, + "StageID": 203131203 + }, + { + "EventID": 20313120, + "WorldLevel": 4, + "StageID": 203131204 + }, + { + "EventID": 20313120, + "WorldLevel": 5, + "StageID": 203131205 + }, + { + "EventID": 20313120, + "WorldLevel": 6, + "StageID": 203131206 + }, + { + "EventID": 20313121, + "WorldLevel": 0, + "StageID": 203131210 + }, + { + "EventID": 20313121, + "WorldLevel": 1, + "StageID": 203131211 + }, + { + "EventID": 20313121, + "WorldLevel": 2, + "StageID": 203131212 + }, + { + "EventID": 20313121, + "WorldLevel": 3, + "StageID": 203131213 + }, + { + "EventID": 20313121, + "WorldLevel": 4, + "StageID": 203131214 + }, + { + "EventID": 20313121, + "WorldLevel": 5, + "StageID": 203131215 + }, + { + "EventID": 20313121, + "WorldLevel": 6, + "StageID": 203131216 + }, + { + "EventID": 20313122, + "WorldLevel": 0, + "StageID": 203131220 + }, + { + "EventID": 20313122, + "WorldLevel": 1, + "StageID": 203131221 + }, + { + "EventID": 20313122, + "WorldLevel": 2, + "StageID": 203131222 + }, + { + "EventID": 20313122, + "WorldLevel": 3, + "StageID": 203131223 + }, + { + "EventID": 20313122, + "WorldLevel": 4, + "StageID": 203131224 + }, + { + "EventID": 20313122, + "WorldLevel": 5, + "StageID": 203131225 + }, + { + "EventID": 20313122, + "WorldLevel": 6, + "StageID": 203131226 + }, + { + "EventID": 20313123, + "WorldLevel": 0, + "StageID": 203131230 + }, + { + "EventID": 20313123, + "WorldLevel": 1, + "StageID": 203131231 + }, + { + "EventID": 20313123, + "WorldLevel": 2, + "StageID": 203131232 + }, + { + "EventID": 20313123, + "WorldLevel": 3, + "StageID": 203131233 + }, + { + "EventID": 20313123, + "WorldLevel": 4, + "StageID": 203131234 + }, + { + "EventID": 20313123, + "WorldLevel": 5, + "StageID": 203131235 + }, + { + "EventID": 20313123, + "WorldLevel": 6, + "StageID": 203131236 + }, + { + "EventID": 20313127, + "WorldLevel": 0, + "StageID": 203131270 + }, + { + "EventID": 20313127, + "WorldLevel": 1, + "StageID": 203131271 + }, + { + "EventID": 20313127, + "WorldLevel": 2, + "StageID": 203131272 + }, + { + "EventID": 20313127, + "WorldLevel": 3, + "StageID": 203131273 + }, + { + "EventID": 20313127, + "WorldLevel": 4, + "StageID": 203131274 + }, + { + "EventID": 20313127, + "WorldLevel": 5, + "StageID": 203131275 + }, + { + "EventID": 20313127, + "WorldLevel": 6, + "StageID": 203131276 + }, + { + "EventID": 20313128, + "WorldLevel": 0, + "StageID": 203131280 + }, + { + "EventID": 20313128, + "WorldLevel": 1, + "StageID": 203131281 + }, + { + "EventID": 20313128, + "WorldLevel": 2, + "StageID": 203131282 + }, + { + "EventID": 20313128, + "WorldLevel": 3, + "StageID": 203131283 + }, + { + "EventID": 20313128, + "WorldLevel": 4, + "StageID": 203131284 + }, + { + "EventID": 20313128, + "WorldLevel": 5, + "StageID": 203131285 + }, + { + "EventID": 20313128, + "WorldLevel": 6, + "StageID": 203131286 + }, + { + "EventID": 20313129, + "WorldLevel": 0, + "StageID": 203131290 + }, + { + "EventID": 20313129, + "WorldLevel": 1, + "StageID": 203131291 + }, + { + "EventID": 20313129, + "WorldLevel": 2, + "StageID": 203131292 + }, + { + "EventID": 20313129, + "WorldLevel": 3, + "StageID": 203131293 + }, + { + "EventID": 20313129, + "WorldLevel": 4, + "StageID": 203131294 + }, + { + "EventID": 20313129, + "WorldLevel": 5, + "StageID": 203131295 + }, + { + "EventID": 20313129, + "WorldLevel": 6, + "StageID": 203131296 + }, + { + "EventID": 20313131, + "WorldLevel": 0, + "StageID": 203131310 + }, + { + "EventID": 20313131, + "WorldLevel": 1, + "StageID": 203131311 + }, + { + "EventID": 20313131, + "WorldLevel": 2, + "StageID": 203131312 + }, + { + "EventID": 20313131, + "WorldLevel": 3, + "StageID": 203131313 + }, + { + "EventID": 20313131, + "WorldLevel": 4, + "StageID": 203131314 + }, + { + "EventID": 20313131, + "WorldLevel": 5, + "StageID": 203131315 + }, + { + "EventID": 20313131, + "WorldLevel": 6, + "StageID": 203131316 + }, + { + "EventID": 20313132, + "WorldLevel": 0, + "StageID": 203131320 + }, + { + "EventID": 20313132, + "WorldLevel": 1, + "StageID": 203131321 + }, + { + "EventID": 20313132, + "WorldLevel": 2, + "StageID": 203131322 + }, + { + "EventID": 20313132, + "WorldLevel": 3, + "StageID": 203131323 + }, + { + "EventID": 20313132, + "WorldLevel": 4, + "StageID": 203131324 + }, + { + "EventID": 20313132, + "WorldLevel": 5, + "StageID": 203131325 + }, + { + "EventID": 20313132, + "WorldLevel": 6, + "StageID": 203131326 + }, + { + "EventID": 20313133, + "WorldLevel": 0, + "StageID": 203131330 + }, + { + "EventID": 20313133, + "WorldLevel": 1, + "StageID": 203131331 + }, + { + "EventID": 20313133, + "WorldLevel": 2, + "StageID": 203131332 + }, + { + "EventID": 20313133, + "WorldLevel": 3, + "StageID": 203131333 + }, + { + "EventID": 20313133, + "WorldLevel": 4, + "StageID": 203131334 + }, + { + "EventID": 20313133, + "WorldLevel": 5, + "StageID": 203131335 + }, + { + "EventID": 20313133, + "WorldLevel": 6, + "StageID": 203131336 + }, + { + "EventID": 20313134, + "WorldLevel": 0, + "StageID": 203131340 + }, + { + "EventID": 20313134, + "WorldLevel": 1, + "StageID": 203131341 + }, + { + "EventID": 20313134, + "WorldLevel": 2, + "StageID": 203131342 + }, + { + "EventID": 20313134, + "WorldLevel": 3, + "StageID": 203131343 + }, + { + "EventID": 20313134, + "WorldLevel": 4, + "StageID": 203131344 + }, + { + "EventID": 20313134, + "WorldLevel": 5, + "StageID": 203131345 + }, + { + "EventID": 20313134, + "WorldLevel": 6, + "StageID": 203131346 + }, + { + "EventID": 20313135, + "WorldLevel": 0, + "StageID": 203131350 + }, + { + "EventID": 20313135, + "WorldLevel": 1, + "StageID": 203131351 + }, + { + "EventID": 20313135, + "WorldLevel": 2, + "StageID": 203131352 + }, + { + "EventID": 20313135, + "WorldLevel": 3, + "StageID": 203131353 + }, + { + "EventID": 20313135, + "WorldLevel": 4, + "StageID": 203131354 + }, + { + "EventID": 20313135, + "WorldLevel": 5, + "StageID": 203131355 + }, + { + "EventID": 20313135, + "WorldLevel": 6, + "StageID": 203131356 + }, + { + "EventID": 20313136, + "WorldLevel": 0, + "StageID": 203131360 + }, + { + "EventID": 20313136, + "WorldLevel": 1, + "StageID": 203131361 + }, + { + "EventID": 20313136, + "WorldLevel": 2, + "StageID": 203131362 + }, + { + "EventID": 20313136, + "WorldLevel": 3, + "StageID": 203131363 + }, + { + "EventID": 20313136, + "WorldLevel": 4, + "StageID": 203131364 + }, + { + "EventID": 20313136, + "WorldLevel": 5, + "StageID": 203131365 + }, + { + "EventID": 20313136, + "WorldLevel": 6, + "StageID": 203131366 + }, + { + "EventID": 20313140, + "WorldLevel": 0, + "StageID": 203131400 + }, + { + "EventID": 20313140, + "WorldLevel": 1, + "StageID": 203131401 + }, + { + "EventID": 20313140, + "WorldLevel": 2, + "StageID": 203131402 + }, + { + "EventID": 20313140, + "WorldLevel": 3, + "StageID": 203131403 + }, + { + "EventID": 20313140, + "WorldLevel": 4, + "StageID": 203131404 + }, + { + "EventID": 20313140, + "WorldLevel": 5, + "StageID": 203131405 + }, + { + "EventID": 20313140, + "WorldLevel": 6, + "StageID": 203131406 + }, + { + "EventID": 20313143, + "WorldLevel": 0, + "StageID": 203131430 + }, + { + "EventID": 20313143, + "WorldLevel": 1, + "StageID": 203131431 + }, + { + "EventID": 20313143, + "WorldLevel": 2, + "StageID": 203131432 + }, + { + "EventID": 20313143, + "WorldLevel": 3, + "StageID": 203131433 + }, + { + "EventID": 20313143, + "WorldLevel": 4, + "StageID": 203131434 + }, + { + "EventID": 20313143, + "WorldLevel": 5, + "StageID": 203131435 + }, + { + "EventID": 20313143, + "WorldLevel": 6, + "StageID": 203131436 + }, + { + "EventID": 20313144, + "WorldLevel": 0, + "StageID": 203131440 + }, + { + "EventID": 20313144, + "WorldLevel": 1, + "StageID": 203131441 + }, + { + "EventID": 20313144, + "WorldLevel": 2, + "StageID": 203131442 + }, + { + "EventID": 20313144, + "WorldLevel": 3, + "StageID": 203131443 + }, + { + "EventID": 20313144, + "WorldLevel": 4, + "StageID": 203131444 + }, + { + "EventID": 20313144, + "WorldLevel": 5, + "StageID": 203131445 + }, + { + "EventID": 20313144, + "WorldLevel": 6, + "StageID": 203131446 + }, + { + "EventID": 20313145, + "WorldLevel": 0, + "StageID": 203131450 + }, + { + "EventID": 20313145, + "WorldLevel": 1, + "StageID": 203131451 + }, + { + "EventID": 20313145, + "WorldLevel": 2, + "StageID": 203131452 + }, + { + "EventID": 20313145, + "WorldLevel": 3, + "StageID": 203131453 + }, + { + "EventID": 20313145, + "WorldLevel": 4, + "StageID": 203131454 + }, + { + "EventID": 20313145, + "WorldLevel": 5, + "StageID": 203131455 + }, + { + "EventID": 20313145, + "WorldLevel": 6, + "StageID": 203131456 + }, + { + "EventID": 20313146, + "WorldLevel": 0, + "StageID": 203131460 + }, + { + "EventID": 20313146, + "WorldLevel": 1, + "StageID": 203131461 + }, + { + "EventID": 20313146, + "WorldLevel": 2, + "StageID": 203131462 + }, + { + "EventID": 20313146, + "WorldLevel": 3, + "StageID": 203131463 + }, + { + "EventID": 20313146, + "WorldLevel": 4, + "StageID": 203131464 + }, + { + "EventID": 20313146, + "WorldLevel": 5, + "StageID": 203131465 + }, + { + "EventID": 20313146, + "WorldLevel": 6, + "StageID": 203131466 + }, + { + "EventID": 20313147, + "WorldLevel": 0, + "StageID": 203131470 + }, + { + "EventID": 20313147, + "WorldLevel": 1, + "StageID": 203131471 + }, + { + "EventID": 20313147, + "WorldLevel": 2, + "StageID": 203131472 + }, + { + "EventID": 20313147, + "WorldLevel": 3, + "StageID": 203131473 + }, + { + "EventID": 20313147, + "WorldLevel": 4, + "StageID": 203131474 + }, + { + "EventID": 20313147, + "WorldLevel": 5, + "StageID": 203131475 + }, + { + "EventID": 20313147, + "WorldLevel": 6, + "StageID": 203131476 + }, + { + "EventID": 20313231, + "WorldLevel": 0, + "StageID": 203132310 + }, + { + "EventID": 20313231, + "WorldLevel": 1, + "StageID": 203132311 + }, + { + "EventID": 20313231, + "WorldLevel": 2, + "StageID": 203132312 + }, + { + "EventID": 20313231, + "WorldLevel": 3, + "StageID": 203132313 + }, + { + "EventID": 20313231, + "WorldLevel": 4, + "StageID": 203132314 + }, + { + "EventID": 20313231, + "WorldLevel": 5, + "StageID": 203132315 + }, + { + "EventID": 20313231, + "WorldLevel": 6, + "StageID": 203132316 + }, + { + "EventID": 20313232, + "WorldLevel": 0, + "StageID": 203132320 + }, + { + "EventID": 20313232, + "WorldLevel": 1, + "StageID": 203132321 + }, + { + "EventID": 20313232, + "WorldLevel": 2, + "StageID": 203132322 + }, + { + "EventID": 20313232, + "WorldLevel": 3, + "StageID": 203132323 + }, + { + "EventID": 20313232, + "WorldLevel": 4, + "StageID": 203132324 + }, + { + "EventID": 20313232, + "WorldLevel": 5, + "StageID": 203132325 + }, + { + "EventID": 20313232, + "WorldLevel": 6, + "StageID": 203132326 + }, + { + "EventID": 20313234, + "WorldLevel": 0, + "StageID": 203132340 + }, + { + "EventID": 20313234, + "WorldLevel": 1, + "StageID": 203132341 + }, + { + "EventID": 20313234, + "WorldLevel": 2, + "StageID": 203132342 + }, + { + "EventID": 20313234, + "WorldLevel": 3, + "StageID": 203132343 + }, + { + "EventID": 20313234, + "WorldLevel": 4, + "StageID": 203132344 + }, + { + "EventID": 20313234, + "WorldLevel": 5, + "StageID": 203132345 + }, + { + "EventID": 20313234, + "WorldLevel": 6, + "StageID": 203132346 + }, + { + "EventID": 20313237, + "WorldLevel": 0, + "StageID": 203132370 + }, + { + "EventID": 20313237, + "WorldLevel": 1, + "StageID": 203132371 + }, + { + "EventID": 20313237, + "WorldLevel": 2, + "StageID": 203132372 + }, + { + "EventID": 20313237, + "WorldLevel": 3, + "StageID": 203132373 + }, + { + "EventID": 20313237, + "WorldLevel": 4, + "StageID": 203132374 + }, + { + "EventID": 20313237, + "WorldLevel": 5, + "StageID": 203132375 + }, + { + "EventID": 20313237, + "WorldLevel": 6, + "StageID": 203132376 + }, + { + "EventID": 20321001, + "WorldLevel": 0, + "StageID": 203210010 + }, + { + "EventID": 20321001, + "WorldLevel": 1, + "StageID": 203210011 + }, + { + "EventID": 20321001, + "WorldLevel": 2, + "StageID": 203210012 + }, + { + "EventID": 20321001, + "WorldLevel": 3, + "StageID": 203210013 + }, + { + "EventID": 20321001, + "WorldLevel": 4, + "StageID": 203210014 + }, + { + "EventID": 20321001, + "WorldLevel": 5, + "StageID": 203210015 + }, + { + "EventID": 20321001, + "WorldLevel": 6, + "StageID": 203210016 + }, + { + "EventID": 20321002, + "WorldLevel": 0, + "StageID": 203210020 + }, + { + "EventID": 20321002, + "WorldLevel": 1, + "StageID": 203210021 + }, + { + "EventID": 20321002, + "WorldLevel": 2, + "StageID": 203210022 + }, + { + "EventID": 20321002, + "WorldLevel": 3, + "StageID": 203210023 + }, + { + "EventID": 20321002, + "WorldLevel": 4, + "StageID": 203210024 + }, + { + "EventID": 20321002, + "WorldLevel": 5, + "StageID": 203210025 + }, + { + "EventID": 20321002, + "WorldLevel": 6, + "StageID": 203210026 + }, + { + "EventID": 20321005, + "WorldLevel": 0, + "StageID": 203210050 + }, + { + "EventID": 20321005, + "WorldLevel": 1, + "StageID": 203210051 + }, + { + "EventID": 20321005, + "WorldLevel": 2, + "StageID": 203210052 + }, + { + "EventID": 20321005, + "WorldLevel": 3, + "StageID": 203210053 + }, + { + "EventID": 20321005, + "WorldLevel": 4, + "StageID": 203210054 + }, + { + "EventID": 20321005, + "WorldLevel": 5, + "StageID": 203210055 + }, + { + "EventID": 20321005, + "WorldLevel": 6, + "StageID": 203210056 + }, + { + "EventID": 20321006, + "WorldLevel": 0, + "StageID": 203210060 + }, + { + "EventID": 20321006, + "WorldLevel": 1, + "StageID": 203210061 + }, + { + "EventID": 20321006, + "WorldLevel": 2, + "StageID": 203210062 + }, + { + "EventID": 20321006, + "WorldLevel": 3, + "StageID": 203210063 + }, + { + "EventID": 20321006, + "WorldLevel": 4, + "StageID": 203210064 + }, + { + "EventID": 20321006, + "WorldLevel": 5, + "StageID": 203210065 + }, + { + "EventID": 20321006, + "WorldLevel": 6, + "StageID": 203210066 + }, + { + "EventID": 20321007, + "WorldLevel": 0, + "StageID": 203210070 + }, + { + "EventID": 20321007, + "WorldLevel": 1, + "StageID": 203210071 + }, + { + "EventID": 20321007, + "WorldLevel": 2, + "StageID": 203210072 + }, + { + "EventID": 20321007, + "WorldLevel": 3, + "StageID": 203210073 + }, + { + "EventID": 20321007, + "WorldLevel": 4, + "StageID": 203210074 + }, + { + "EventID": 20321007, + "WorldLevel": 5, + "StageID": 203210075 + }, + { + "EventID": 20321007, + "WorldLevel": 6, + "StageID": 203210076 + }, + { + "EventID": 20321010, + "WorldLevel": 0, + "StageID": 203210100 + }, + { + "EventID": 20321010, + "WorldLevel": 1, + "StageID": 203210101 + }, + { + "EventID": 20321010, + "WorldLevel": 2, + "StageID": 203210102 + }, + { + "EventID": 20321010, + "WorldLevel": 3, + "StageID": 203210103 + }, + { + "EventID": 20321010, + "WorldLevel": 4, + "StageID": 203210104 + }, + { + "EventID": 20321010, + "WorldLevel": 5, + "StageID": 203210105 + }, + { + "EventID": 20321010, + "WorldLevel": 6, + "StageID": 203210106 + }, + { + "EventID": 20321011, + "WorldLevel": 0, + "StageID": 203210110 + }, + { + "EventID": 20321011, + "WorldLevel": 1, + "StageID": 203210111 + }, + { + "EventID": 20321011, + "WorldLevel": 2, + "StageID": 203210112 + }, + { + "EventID": 20321011, + "WorldLevel": 3, + "StageID": 203210113 + }, + { + "EventID": 20321011, + "WorldLevel": 4, + "StageID": 203210114 + }, + { + "EventID": 20321011, + "WorldLevel": 5, + "StageID": 203210115 + }, + { + "EventID": 20321011, + "WorldLevel": 6, + "StageID": 203210116 + }, + { + "EventID": 20321014, + "WorldLevel": 0, + "StageID": 203210140 + }, + { + "EventID": 20321014, + "WorldLevel": 1, + "StageID": 203210141 + }, + { + "EventID": 20321014, + "WorldLevel": 2, + "StageID": 203210142 + }, + { + "EventID": 20321014, + "WorldLevel": 3, + "StageID": 203210143 + }, + { + "EventID": 20321014, + "WorldLevel": 4, + "StageID": 203210144 + }, + { + "EventID": 20321014, + "WorldLevel": 5, + "StageID": 203210145 + }, + { + "EventID": 20321014, + "WorldLevel": 6, + "StageID": 203210146 + }, + { + "EventID": 20321015, + "WorldLevel": 0, + "StageID": 203210150 + }, + { + "EventID": 20321015, + "WorldLevel": 1, + "StageID": 203210151 + }, + { + "EventID": 20321015, + "WorldLevel": 2, + "StageID": 203210152 + }, + { + "EventID": 20321015, + "WorldLevel": 3, + "StageID": 203210153 + }, + { + "EventID": 20321015, + "WorldLevel": 4, + "StageID": 203210154 + }, + { + "EventID": 20321015, + "WorldLevel": 5, + "StageID": 203210155 + }, + { + "EventID": 20321015, + "WorldLevel": 6, + "StageID": 203210156 + }, + { + "EventID": 20321018, + "WorldLevel": 0, + "StageID": 203210180 + }, + { + "EventID": 20321018, + "WorldLevel": 1, + "StageID": 203210181 + }, + { + "EventID": 20321018, + "WorldLevel": 2, + "StageID": 203210182 + }, + { + "EventID": 20321018, + "WorldLevel": 3, + "StageID": 203210183 + }, + { + "EventID": 20321018, + "WorldLevel": 4, + "StageID": 203210184 + }, + { + "EventID": 20321018, + "WorldLevel": 5, + "StageID": 203210185 + }, + { + "EventID": 20321018, + "WorldLevel": 6, + "StageID": 203210186 + }, + { + "EventID": 20321019, + "WorldLevel": 0, + "StageID": 203210190 + }, + { + "EventID": 20321019, + "WorldLevel": 1, + "StageID": 203210191 + }, + { + "EventID": 20321019, + "WorldLevel": 2, + "StageID": 203210192 + }, + { + "EventID": 20321019, + "WorldLevel": 3, + "StageID": 203210193 + }, + { + "EventID": 20321019, + "WorldLevel": 4, + "StageID": 203210194 + }, + { + "EventID": 20321019, + "WorldLevel": 5, + "StageID": 203210195 + }, + { + "EventID": 20321019, + "WorldLevel": 6, + "StageID": 203210196 + }, + { + "EventID": 20321020, + "WorldLevel": 0, + "StageID": 203210200 + }, + { + "EventID": 20321020, + "WorldLevel": 1, + "StageID": 203210201 + }, + { + "EventID": 20321020, + "WorldLevel": 2, + "StageID": 203210202 + }, + { + "EventID": 20321020, + "WorldLevel": 3, + "StageID": 203210203 + }, + { + "EventID": 20321020, + "WorldLevel": 4, + "StageID": 203210204 + }, + { + "EventID": 20321020, + "WorldLevel": 5, + "StageID": 203210205 + }, + { + "EventID": 20321020, + "WorldLevel": 6, + "StageID": 203210206 + }, + { + "EventID": 20321021, + "WorldLevel": 0, + "StageID": 203210210 + }, + { + "EventID": 20321021, + "WorldLevel": 1, + "StageID": 203210211 + }, + { + "EventID": 20321021, + "WorldLevel": 2, + "StageID": 203210212 + }, + { + "EventID": 20321021, + "WorldLevel": 3, + "StageID": 203210213 + }, + { + "EventID": 20321021, + "WorldLevel": 4, + "StageID": 203210214 + }, + { + "EventID": 20321021, + "WorldLevel": 5, + "StageID": 203210215 + }, + { + "EventID": 20321021, + "WorldLevel": 6, + "StageID": 203210216 + }, + { + "EventID": 20321024, + "WorldLevel": 0, + "StageID": 203210240 + }, + { + "EventID": 20321024, + "WorldLevel": 1, + "StageID": 203210241 + }, + { + "EventID": 20321024, + "WorldLevel": 2, + "StageID": 203210242 + }, + { + "EventID": 20321024, + "WorldLevel": 3, + "StageID": 203210243 + }, + { + "EventID": 20321024, + "WorldLevel": 4, + "StageID": 203210244 + }, + { + "EventID": 20321024, + "WorldLevel": 5, + "StageID": 203210245 + }, + { + "EventID": 20321024, + "WorldLevel": 6, + "StageID": 203210246 + }, + { + "EventID": 20321025, + "WorldLevel": 0, + "StageID": 203210250 + }, + { + "EventID": 20321025, + "WorldLevel": 1, + "StageID": 203210251 + }, + { + "EventID": 20321025, + "WorldLevel": 2, + "StageID": 203210252 + }, + { + "EventID": 20321025, + "WorldLevel": 3, + "StageID": 203210253 + }, + { + "EventID": 20321025, + "WorldLevel": 4, + "StageID": 203210254 + }, + { + "EventID": 20321025, + "WorldLevel": 5, + "StageID": 203210255 + }, + { + "EventID": 20321025, + "WorldLevel": 6, + "StageID": 203210256 + }, + { + "EventID": 20321036, + "WorldLevel": 0, + "StageID": 203210360 + }, + { + "EventID": 20321036, + "WorldLevel": 1, + "StageID": 203210361 + }, + { + "EventID": 20321036, + "WorldLevel": 2, + "StageID": 203210362 + }, + { + "EventID": 20321036, + "WorldLevel": 3, + "StageID": 203210363 + }, + { + "EventID": 20321036, + "WorldLevel": 4, + "StageID": 203210364 + }, + { + "EventID": 20321036, + "WorldLevel": 5, + "StageID": 203210365 + }, + { + "EventID": 20321036, + "WorldLevel": 6, + "StageID": 203210366 + }, + { + "EventID": 20321037, + "WorldLevel": 0, + "StageID": 203210370 + }, + { + "EventID": 20321037, + "WorldLevel": 1, + "StageID": 203210371 + }, + { + "EventID": 20321037, + "WorldLevel": 2, + "StageID": 203210372 + }, + { + "EventID": 20321037, + "WorldLevel": 3, + "StageID": 203210373 + }, + { + "EventID": 20321037, + "WorldLevel": 4, + "StageID": 203210374 + }, + { + "EventID": 20321037, + "WorldLevel": 5, + "StageID": 203210375 + }, + { + "EventID": 20321037, + "WorldLevel": 6, + "StageID": 203210376 + }, + { + "EventID": 20321105, + "WorldLevel": 0, + "StageID": 203211050 + }, + { + "EventID": 20321105, + "WorldLevel": 1, + "StageID": 203211051 + }, + { + "EventID": 20321105, + "WorldLevel": 2, + "StageID": 203211052 + }, + { + "EventID": 20321105, + "WorldLevel": 3, + "StageID": 203211053 + }, + { + "EventID": 20321105, + "WorldLevel": 4, + "StageID": 203211054 + }, + { + "EventID": 20321105, + "WorldLevel": 5, + "StageID": 203211055 + }, + { + "EventID": 20321105, + "WorldLevel": 6, + "StageID": 203211056 + }, + { + "EventID": 20321106, + "WorldLevel": 0, + "StageID": 203211060 + }, + { + "EventID": 20321106, + "WorldLevel": 1, + "StageID": 203211061 + }, + { + "EventID": 20321106, + "WorldLevel": 2, + "StageID": 203211062 + }, + { + "EventID": 20321106, + "WorldLevel": 3, + "StageID": 203211063 + }, + { + "EventID": 20321106, + "WorldLevel": 4, + "StageID": 203211064 + }, + { + "EventID": 20321106, + "WorldLevel": 5, + "StageID": 203211065 + }, + { + "EventID": 20321106, + "WorldLevel": 6, + "StageID": 203211066 + }, + { + "EventID": 20321107, + "WorldLevel": 0, + "StageID": 203211070 + }, + { + "EventID": 20321107, + "WorldLevel": 1, + "StageID": 203211071 + }, + { + "EventID": 20321107, + "WorldLevel": 2, + "StageID": 203211072 + }, + { + "EventID": 20321107, + "WorldLevel": 3, + "StageID": 203211073 + }, + { + "EventID": 20321107, + "WorldLevel": 4, + "StageID": 203211074 + }, + { + "EventID": 20321107, + "WorldLevel": 5, + "StageID": 203211075 + }, + { + "EventID": 20321107, + "WorldLevel": 6, + "StageID": 203211076 + }, + { + "EventID": 20321110, + "WorldLevel": 0, + "StageID": 203211100 + }, + { + "EventID": 20321110, + "WorldLevel": 1, + "StageID": 203211101 + }, + { + "EventID": 20321110, + "WorldLevel": 2, + "StageID": 203211102 + }, + { + "EventID": 20321110, + "WorldLevel": 3, + "StageID": 203211103 + }, + { + "EventID": 20321110, + "WorldLevel": 4, + "StageID": 203211104 + }, + { + "EventID": 20321110, + "WorldLevel": 5, + "StageID": 203211105 + }, + { + "EventID": 20321110, + "WorldLevel": 6, + "StageID": 203211106 + }, + { + "EventID": 20321111, + "WorldLevel": 0, + "StageID": 203211110 + }, + { + "EventID": 20321111, + "WorldLevel": 1, + "StageID": 203211111 + }, + { + "EventID": 20321111, + "WorldLevel": 2, + "StageID": 203211112 + }, + { + "EventID": 20321111, + "WorldLevel": 3, + "StageID": 203211113 + }, + { + "EventID": 20321111, + "WorldLevel": 4, + "StageID": 203211114 + }, + { + "EventID": 20321111, + "WorldLevel": 5, + "StageID": 203211115 + }, + { + "EventID": 20321111, + "WorldLevel": 6, + "StageID": 203211116 + }, + { + "EventID": 20321112, + "WorldLevel": 0, + "StageID": 203211120 + }, + { + "EventID": 20321112, + "WorldLevel": 1, + "StageID": 203211121 + }, + { + "EventID": 20321112, + "WorldLevel": 2, + "StageID": 203211122 + }, + { + "EventID": 20321112, + "WorldLevel": 3, + "StageID": 203211123 + }, + { + "EventID": 20321112, + "WorldLevel": 4, + "StageID": 203211124 + }, + { + "EventID": 20321112, + "WorldLevel": 5, + "StageID": 203211125 + }, + { + "EventID": 20321112, + "WorldLevel": 6, + "StageID": 203211126 + }, + { + "EventID": 20321113, + "WorldLevel": 0, + "StageID": 203211130 + }, + { + "EventID": 20321113, + "WorldLevel": 1, + "StageID": 203211131 + }, + { + "EventID": 20321113, + "WorldLevel": 2, + "StageID": 203211132 + }, + { + "EventID": 20321113, + "WorldLevel": 3, + "StageID": 203211133 + }, + { + "EventID": 20321113, + "WorldLevel": 4, + "StageID": 203211134 + }, + { + "EventID": 20321113, + "WorldLevel": 5, + "StageID": 203211135 + }, + { + "EventID": 20321113, + "WorldLevel": 6, + "StageID": 203211136 + }, + { + "EventID": 20321114, + "WorldLevel": 0, + "StageID": 203211140 + }, + { + "EventID": 20321114, + "WorldLevel": 1, + "StageID": 203211141 + }, + { + "EventID": 20321114, + "WorldLevel": 2, + "StageID": 203211142 + }, + { + "EventID": 20321114, + "WorldLevel": 3, + "StageID": 203211143 + }, + { + "EventID": 20321114, + "WorldLevel": 4, + "StageID": 203211144 + }, + { + "EventID": 20321114, + "WorldLevel": 5, + "StageID": 203211145 + }, + { + "EventID": 20321114, + "WorldLevel": 6, + "StageID": 203211146 + }, + { + "EventID": 20321115, + "WorldLevel": 0, + "StageID": 203211150 + }, + { + "EventID": 20321115, + "WorldLevel": 1, + "StageID": 203211151 + }, + { + "EventID": 20321115, + "WorldLevel": 2, + "StageID": 203211152 + }, + { + "EventID": 20321115, + "WorldLevel": 3, + "StageID": 203211153 + }, + { + "EventID": 20321115, + "WorldLevel": 4, + "StageID": 203211154 + }, + { + "EventID": 20321115, + "WorldLevel": 5, + "StageID": 203211155 + }, + { + "EventID": 20321115, + "WorldLevel": 6, + "StageID": 203211156 + }, + { + "EventID": 20321118, + "WorldLevel": 0, + "StageID": 203211180 + }, + { + "EventID": 20321118, + "WorldLevel": 1, + "StageID": 203211181 + }, + { + "EventID": 20321118, + "WorldLevel": 2, + "StageID": 203211182 + }, + { + "EventID": 20321118, + "WorldLevel": 3, + "StageID": 203211183 + }, + { + "EventID": 20321118, + "WorldLevel": 4, + "StageID": 203211184 + }, + { + "EventID": 20321118, + "WorldLevel": 5, + "StageID": 203211185 + }, + { + "EventID": 20321118, + "WorldLevel": 6, + "StageID": 203211186 + }, + { + "EventID": 20321119, + "WorldLevel": 0, + "StageID": 203211190 + }, + { + "EventID": 20321119, + "WorldLevel": 1, + "StageID": 203211191 + }, + { + "EventID": 20321119, + "WorldLevel": 2, + "StageID": 203211192 + }, + { + "EventID": 20321119, + "WorldLevel": 3, + "StageID": 203211193 + }, + { + "EventID": 20321119, + "WorldLevel": 4, + "StageID": 203211194 + }, + { + "EventID": 20321119, + "WorldLevel": 5, + "StageID": 203211195 + }, + { + "EventID": 20321119, + "WorldLevel": 6, + "StageID": 203211196 + }, + { + "EventID": 20321120, + "WorldLevel": 0, + "StageID": 203211200 + }, + { + "EventID": 20321120, + "WorldLevel": 1, + "StageID": 203211201 + }, + { + "EventID": 20321120, + "WorldLevel": 2, + "StageID": 203211202 + }, + { + "EventID": 20321120, + "WorldLevel": 3, + "StageID": 203211203 + }, + { + "EventID": 20321120, + "WorldLevel": 4, + "StageID": 203211204 + }, + { + "EventID": 20321120, + "WorldLevel": 5, + "StageID": 203211205 + }, + { + "EventID": 20321120, + "WorldLevel": 6, + "StageID": 203211206 + }, + { + "EventID": 20321121, + "WorldLevel": 0, + "StageID": 203211210 + }, + { + "EventID": 20321121, + "WorldLevel": 1, + "StageID": 203211211 + }, + { + "EventID": 20321121, + "WorldLevel": 2, + "StageID": 203211212 + }, + { + "EventID": 20321121, + "WorldLevel": 3, + "StageID": 203211213 + }, + { + "EventID": 20321121, + "WorldLevel": 4, + "StageID": 203211214 + }, + { + "EventID": 20321121, + "WorldLevel": 5, + "StageID": 203211215 + }, + { + "EventID": 20321121, + "WorldLevel": 6, + "StageID": 203211216 + }, + { + "EventID": 20321124, + "WorldLevel": 0, + "StageID": 203211240 + }, + { + "EventID": 20321124, + "WorldLevel": 1, + "StageID": 203211241 + }, + { + "EventID": 20321124, + "WorldLevel": 2, + "StageID": 203211242 + }, + { + "EventID": 20321124, + "WorldLevel": 3, + "StageID": 203211243 + }, + { + "EventID": 20321124, + "WorldLevel": 4, + "StageID": 203211244 + }, + { + "EventID": 20321124, + "WorldLevel": 5, + "StageID": 203211245 + }, + { + "EventID": 20321124, + "WorldLevel": 6, + "StageID": 203211246 + }, + { + "EventID": 20321125, + "WorldLevel": 0, + "StageID": 203211250 + }, + { + "EventID": 20321125, + "WorldLevel": 1, + "StageID": 203211251 + }, + { + "EventID": 20321125, + "WorldLevel": 2, + "StageID": 203211252 + }, + { + "EventID": 20321125, + "WorldLevel": 3, + "StageID": 203211253 + }, + { + "EventID": 20321125, + "WorldLevel": 4, + "StageID": 203211254 + }, + { + "EventID": 20321125, + "WorldLevel": 5, + "StageID": 203211255 + }, + { + "EventID": 20321125, + "WorldLevel": 6, + "StageID": 203211256 + }, + { + "EventID": 20321131, + "WorldLevel": 0, + "StageID": 203211310 + }, + { + "EventID": 20321131, + "WorldLevel": 1, + "StageID": 203211311 + }, + { + "EventID": 20321131, + "WorldLevel": 2, + "StageID": 203211312 + }, + { + "EventID": 20321131, + "WorldLevel": 3, + "StageID": 203211313 + }, + { + "EventID": 20321131, + "WorldLevel": 4, + "StageID": 203211314 + }, + { + "EventID": 20321131, + "WorldLevel": 5, + "StageID": 203211315 + }, + { + "EventID": 20321131, + "WorldLevel": 6, + "StageID": 203211316 + }, + { + "EventID": 20321132, + "WorldLevel": 0, + "StageID": 203211320 + }, + { + "EventID": 20321132, + "WorldLevel": 1, + "StageID": 203211321 + }, + { + "EventID": 20321132, + "WorldLevel": 2, + "StageID": 203211322 + }, + { + "EventID": 20321132, + "WorldLevel": 3, + "StageID": 203211323 + }, + { + "EventID": 20321132, + "WorldLevel": 4, + "StageID": 203211324 + }, + { + "EventID": 20321132, + "WorldLevel": 5, + "StageID": 203211325 + }, + { + "EventID": 20321132, + "WorldLevel": 6, + "StageID": 203211326 + }, + { + "EventID": 20321136, + "WorldLevel": 0, + "StageID": 203211360 + }, + { + "EventID": 20321136, + "WorldLevel": 1, + "StageID": 203211361 + }, + { + "EventID": 20321136, + "WorldLevel": 2, + "StageID": 203211362 + }, + { + "EventID": 20321136, + "WorldLevel": 3, + "StageID": 203211363 + }, + { + "EventID": 20321136, + "WorldLevel": 4, + "StageID": 203211364 + }, + { + "EventID": 20321136, + "WorldLevel": 5, + "StageID": 203211365 + }, + { + "EventID": 20321136, + "WorldLevel": 6, + "StageID": 203211366 + }, + { + "EventID": 20321137, + "WorldLevel": 0, + "StageID": 203211370 + }, + { + "EventID": 20321137, + "WorldLevel": 1, + "StageID": 203211371 + }, + { + "EventID": 20321137, + "WorldLevel": 2, + "StageID": 203211372 + }, + { + "EventID": 20321137, + "WorldLevel": 3, + "StageID": 203211373 + }, + { + "EventID": 20321137, + "WorldLevel": 4, + "StageID": 203211374 + }, + { + "EventID": 20321137, + "WorldLevel": 5, + "StageID": 203211375 + }, + { + "EventID": 20321137, + "WorldLevel": 6, + "StageID": 203211376 + }, + { + "EventID": 20321138, + "WorldLevel": 0, + "StageID": 203211380 + }, + { + "EventID": 20321138, + "WorldLevel": 1, + "StageID": 203211381 + }, + { + "EventID": 20321138, + "WorldLevel": 2, + "StageID": 203211382 + }, + { + "EventID": 20321138, + "WorldLevel": 3, + "StageID": 203211383 + }, + { + "EventID": 20321138, + "WorldLevel": 4, + "StageID": 203211384 + }, + { + "EventID": 20321138, + "WorldLevel": 5, + "StageID": 203211385 + }, + { + "EventID": 20321138, + "WorldLevel": 6, + "StageID": 203211386 + }, + { + "EventID": 20321170, + "WorldLevel": 0, + "StageID": 203211700 + }, + { + "EventID": 20321170, + "WorldLevel": 1, + "StageID": 203211701 + }, + { + "EventID": 20321170, + "WorldLevel": 2, + "StageID": 203211702 + }, + { + "EventID": 20321170, + "WorldLevel": 3, + "StageID": 203211703 + }, + { + "EventID": 20321170, + "WorldLevel": 4, + "StageID": 203211704 + }, + { + "EventID": 20321170, + "WorldLevel": 5, + "StageID": 203211705 + }, + { + "EventID": 20321170, + "WorldLevel": 6, + "StageID": 203211706 + }, + { + "EventID": 20321171, + "WorldLevel": 0, + "StageID": 203211710 + }, + { + "EventID": 20321171, + "WorldLevel": 1, + "StageID": 203211711 + }, + { + "EventID": 20321171, + "WorldLevel": 2, + "StageID": 203211712 + }, + { + "EventID": 20321171, + "WorldLevel": 3, + "StageID": 203211713 + }, + { + "EventID": 20321171, + "WorldLevel": 4, + "StageID": 203211714 + }, + { + "EventID": 20321171, + "WorldLevel": 5, + "StageID": 203211715 + }, + { + "EventID": 20321171, + "WorldLevel": 6, + "StageID": 203211716 + }, + { + "EventID": 20321172, + "WorldLevel": 0, + "StageID": 203211720 + }, + { + "EventID": 20321172, + "WorldLevel": 1, + "StageID": 203211721 + }, + { + "EventID": 20321172, + "WorldLevel": 2, + "StageID": 203211722 + }, + { + "EventID": 20321172, + "WorldLevel": 3, + "StageID": 203211723 + }, + { + "EventID": 20321172, + "WorldLevel": 4, + "StageID": 203211724 + }, + { + "EventID": 20321172, + "WorldLevel": 5, + "StageID": 203211725 + }, + { + "EventID": 20321172, + "WorldLevel": 6, + "StageID": 203211726 + }, + { + "EventID": 20321173, + "WorldLevel": 0, + "StageID": 203211730 + }, + { + "EventID": 20321173, + "WorldLevel": 1, + "StageID": 203211731 + }, + { + "EventID": 20321173, + "WorldLevel": 2, + "StageID": 203211732 + }, + { + "EventID": 20321173, + "WorldLevel": 3, + "StageID": 203211733 + }, + { + "EventID": 20321173, + "WorldLevel": 4, + "StageID": 203211734 + }, + { + "EventID": 20321173, + "WorldLevel": 5, + "StageID": 203211735 + }, + { + "EventID": 20321173, + "WorldLevel": 6, + "StageID": 203211736 + }, + { + "EventID": 20321174, + "WorldLevel": 0, + "StageID": 203211740 + }, + { + "EventID": 20321174, + "WorldLevel": 1, + "StageID": 203211741 + }, + { + "EventID": 20321174, + "WorldLevel": 2, + "StageID": 203211742 + }, + { + "EventID": 20321174, + "WorldLevel": 3, + "StageID": 203211743 + }, + { + "EventID": 20321174, + "WorldLevel": 4, + "StageID": 203211744 + }, + { + "EventID": 20321174, + "WorldLevel": 5, + "StageID": 203211745 + }, + { + "EventID": 20321174, + "WorldLevel": 6, + "StageID": 203211746 + }, + { + "EventID": 20321177, + "WorldLevel": 0, + "StageID": 203211770 + }, + { + "EventID": 20321177, + "WorldLevel": 1, + "StageID": 203211771 + }, + { + "EventID": 20321177, + "WorldLevel": 2, + "StageID": 203211772 + }, + { + "EventID": 20321177, + "WorldLevel": 3, + "StageID": 203211773 + }, + { + "EventID": 20321177, + "WorldLevel": 4, + "StageID": 203211774 + }, + { + "EventID": 20321177, + "WorldLevel": 5, + "StageID": 203211775 + }, + { + "EventID": 20321177, + "WorldLevel": 6, + "StageID": 203211776 + }, + { + "EventID": 20321178, + "WorldLevel": 0, + "StageID": 203211780 + }, + { + "EventID": 20321178, + "WorldLevel": 1, + "StageID": 203211781 + }, + { + "EventID": 20321178, + "WorldLevel": 2, + "StageID": 203211782 + }, + { + "EventID": 20321178, + "WorldLevel": 3, + "StageID": 203211783 + }, + { + "EventID": 20321178, + "WorldLevel": 4, + "StageID": 203211784 + }, + { + "EventID": 20321178, + "WorldLevel": 5, + "StageID": 203211785 + }, + { + "EventID": 20321178, + "WorldLevel": 6, + "StageID": 203211786 + }, + { + "EventID": 20321179, + "WorldLevel": 0, + "StageID": 203211790 + }, + { + "EventID": 20321179, + "WorldLevel": 1, + "StageID": 203211791 + }, + { + "EventID": 20321179, + "WorldLevel": 2, + "StageID": 203211792 + }, + { + "EventID": 20321179, + "WorldLevel": 3, + "StageID": 203211793 + }, + { + "EventID": 20321179, + "WorldLevel": 4, + "StageID": 203211794 + }, + { + "EventID": 20321179, + "WorldLevel": 5, + "StageID": 203211795 + }, + { + "EventID": 20321179, + "WorldLevel": 6, + "StageID": 203211796 + }, + { + "EventID": 20321180, + "WorldLevel": 0, + "StageID": 203211800 + }, + { + "EventID": 20321180, + "WorldLevel": 1, + "StageID": 203211801 + }, + { + "EventID": 20321180, + "WorldLevel": 2, + "StageID": 203211802 + }, + { + "EventID": 20321180, + "WorldLevel": 3, + "StageID": 203211803 + }, + { + "EventID": 20321180, + "WorldLevel": 4, + "StageID": 203211804 + }, + { + "EventID": 20321180, + "WorldLevel": 5, + "StageID": 203211805 + }, + { + "EventID": 20321180, + "WorldLevel": 6, + "StageID": 203211806 + }, + { + "EventID": 20321181, + "WorldLevel": 0, + "StageID": 203211810 + }, + { + "EventID": 20321181, + "WorldLevel": 1, + "StageID": 203211811 + }, + { + "EventID": 20321181, + "WorldLevel": 2, + "StageID": 203211812 + }, + { + "EventID": 20321181, + "WorldLevel": 3, + "StageID": 203211813 + }, + { + "EventID": 20321181, + "WorldLevel": 4, + "StageID": 203211814 + }, + { + "EventID": 20321181, + "WorldLevel": 5, + "StageID": 203211815 + }, + { + "EventID": 20321181, + "WorldLevel": 6, + "StageID": 203211816 + }, + { + "EventID": 20321182, + "WorldLevel": 0, + "StageID": 203211820 + }, + { + "EventID": 20321182, + "WorldLevel": 1, + "StageID": 203211821 + }, + { + "EventID": 20321182, + "WorldLevel": 2, + "StageID": 203211822 + }, + { + "EventID": 20321182, + "WorldLevel": 3, + "StageID": 203211823 + }, + { + "EventID": 20321182, + "WorldLevel": 4, + "StageID": 203211824 + }, + { + "EventID": 20321182, + "WorldLevel": 5, + "StageID": 203211825 + }, + { + "EventID": 20321182, + "WorldLevel": 6, + "StageID": 203211826 + }, + { + "EventID": 20321183, + "WorldLevel": 0, + "StageID": 203211830 + }, + { + "EventID": 20321183, + "WorldLevel": 1, + "StageID": 203211831 + }, + { + "EventID": 20321183, + "WorldLevel": 2, + "StageID": 203211832 + }, + { + "EventID": 20321183, + "WorldLevel": 3, + "StageID": 203211833 + }, + { + "EventID": 20321183, + "WorldLevel": 4, + "StageID": 203211834 + }, + { + "EventID": 20321183, + "WorldLevel": 5, + "StageID": 203211835 + }, + { + "EventID": 20321183, + "WorldLevel": 6, + "StageID": 203211836 + }, + { + "EventID": 20321231, + "WorldLevel": 0, + "StageID": 203212310 + }, + { + "EventID": 20321231, + "WorldLevel": 1, + "StageID": 203212311 + }, + { + "EventID": 20321231, + "WorldLevel": 2, + "StageID": 203212312 + }, + { + "EventID": 20321231, + "WorldLevel": 3, + "StageID": 203212313 + }, + { + "EventID": 20321231, + "WorldLevel": 4, + "StageID": 203212314 + }, + { + "EventID": 20321231, + "WorldLevel": 5, + "StageID": 203212315 + }, + { + "EventID": 20321231, + "WorldLevel": 6, + "StageID": 203212316 + }, + { + "EventID": 20321233, + "WorldLevel": 0, + "StageID": 203212330 + }, + { + "EventID": 20321233, + "WorldLevel": 1, + "StageID": 203212331 + }, + { + "EventID": 20321233, + "WorldLevel": 2, + "StageID": 203212332 + }, + { + "EventID": 20321233, + "WorldLevel": 3, + "StageID": 203212333 + }, + { + "EventID": 20321233, + "WorldLevel": 4, + "StageID": 203212334 + }, + { + "EventID": 20321233, + "WorldLevel": 5, + "StageID": 203212335 + }, + { + "EventID": 20321233, + "WorldLevel": 6, + "StageID": 203212336 + }, + { + "EventID": 20321234, + "WorldLevel": 0, + "StageID": 203212340 + }, + { + "EventID": 20321234, + "WorldLevel": 1, + "StageID": 203212341 + }, + { + "EventID": 20321234, + "WorldLevel": 2, + "StageID": 203212342 + }, + { + "EventID": 20321234, + "WorldLevel": 3, + "StageID": 203212343 + }, + { + "EventID": 20321234, + "WorldLevel": 4, + "StageID": 203212344 + }, + { + "EventID": 20321234, + "WorldLevel": 5, + "StageID": 203212345 + }, + { + "EventID": 20321234, + "WorldLevel": 6, + "StageID": 203212346 + }, + { + "EventID": 20321236, + "WorldLevel": 0, + "StageID": 203212360 + }, + { + "EventID": 20321236, + "WorldLevel": 1, + "StageID": 203212361 + }, + { + "EventID": 20321236, + "WorldLevel": 2, + "StageID": 203212362 + }, + { + "EventID": 20321236, + "WorldLevel": 3, + "StageID": 203212363 + }, + { + "EventID": 20321236, + "WorldLevel": 4, + "StageID": 203212364 + }, + { + "EventID": 20321236, + "WorldLevel": 5, + "StageID": 203212365 + }, + { + "EventID": 20321236, + "WorldLevel": 6, + "StageID": 203212366 + }, + { + "EventID": 20322001, + "WorldLevel": 0, + "StageID": 203220010 + }, + { + "EventID": 20322001, + "WorldLevel": 1, + "StageID": 203220011 + }, + { + "EventID": 20322001, + "WorldLevel": 2, + "StageID": 203220012 + }, + { + "EventID": 20322001, + "WorldLevel": 3, + "StageID": 203220013 + }, + { + "EventID": 20322001, + "WorldLevel": 4, + "StageID": 203220014 + }, + { + "EventID": 20322001, + "WorldLevel": 5, + "StageID": 203220015 + }, + { + "EventID": 20322001, + "WorldLevel": 6, + "StageID": 203220016 + }, + { + "EventID": 20322002, + "WorldLevel": 0, + "StageID": 203220020 + }, + { + "EventID": 20322002, + "WorldLevel": 1, + "StageID": 203220021 + }, + { + "EventID": 20322002, + "WorldLevel": 2, + "StageID": 203220022 + }, + { + "EventID": 20322002, + "WorldLevel": 3, + "StageID": 203220023 + }, + { + "EventID": 20322002, + "WorldLevel": 4, + "StageID": 203220024 + }, + { + "EventID": 20322002, + "WorldLevel": 5, + "StageID": 203220025 + }, + { + "EventID": 20322002, + "WorldLevel": 6, + "StageID": 203220026 + }, + { + "EventID": 20322003, + "WorldLevel": 0, + "StageID": 203220030 + }, + { + "EventID": 20322003, + "WorldLevel": 1, + "StageID": 203220031 + }, + { + "EventID": 20322003, + "WorldLevel": 2, + "StageID": 203220032 + }, + { + "EventID": 20322003, + "WorldLevel": 3, + "StageID": 203220033 + }, + { + "EventID": 20322003, + "WorldLevel": 4, + "StageID": 203220034 + }, + { + "EventID": 20322003, + "WorldLevel": 5, + "StageID": 203220035 + }, + { + "EventID": 20322003, + "WorldLevel": 6, + "StageID": 203220036 + }, + { + "EventID": 20322004, + "WorldLevel": 0, + "StageID": 203220040 + }, + { + "EventID": 20322004, + "WorldLevel": 1, + "StageID": 203220041 + }, + { + "EventID": 20322004, + "WorldLevel": 2, + "StageID": 203220042 + }, + { + "EventID": 20322004, + "WorldLevel": 3, + "StageID": 203220043 + }, + { + "EventID": 20322004, + "WorldLevel": 4, + "StageID": 203220044 + }, + { + "EventID": 20322004, + "WorldLevel": 5, + "StageID": 203220045 + }, + { + "EventID": 20322004, + "WorldLevel": 6, + "StageID": 203220046 + }, + { + "EventID": 20322006, + "WorldLevel": 0, + "StageID": 203220060 + }, + { + "EventID": 20322006, + "WorldLevel": 1, + "StageID": 203220061 + }, + { + "EventID": 20322006, + "WorldLevel": 2, + "StageID": 203220062 + }, + { + "EventID": 20322006, + "WorldLevel": 3, + "StageID": 203220063 + }, + { + "EventID": 20322006, + "WorldLevel": 4, + "StageID": 203220064 + }, + { + "EventID": 20322006, + "WorldLevel": 5, + "StageID": 203220065 + }, + { + "EventID": 20322006, + "WorldLevel": 6, + "StageID": 203220066 + }, + { + "EventID": 20322007, + "WorldLevel": 0, + "StageID": 203220070 + }, + { + "EventID": 20322007, + "WorldLevel": 1, + "StageID": 203220071 + }, + { + "EventID": 20322007, + "WorldLevel": 2, + "StageID": 203220072 + }, + { + "EventID": 20322007, + "WorldLevel": 3, + "StageID": 203220073 + }, + { + "EventID": 20322007, + "WorldLevel": 4, + "StageID": 203220074 + }, + { + "EventID": 20322007, + "WorldLevel": 5, + "StageID": 203220075 + }, + { + "EventID": 20322007, + "WorldLevel": 6, + "StageID": 203220076 + }, + { + "EventID": 20322008, + "WorldLevel": 0, + "StageID": 203220080 + }, + { + "EventID": 20322008, + "WorldLevel": 1, + "StageID": 203220081 + }, + { + "EventID": 20322008, + "WorldLevel": 2, + "StageID": 203220082 + }, + { + "EventID": 20322008, + "WorldLevel": 3, + "StageID": 203220083 + }, + { + "EventID": 20322008, + "WorldLevel": 4, + "StageID": 203220084 + }, + { + "EventID": 20322008, + "WorldLevel": 5, + "StageID": 203220085 + }, + { + "EventID": 20322008, + "WorldLevel": 6, + "StageID": 203220086 + }, + { + "EventID": 20322011, + "WorldLevel": 0, + "StageID": 203220110 + }, + { + "EventID": 20322011, + "WorldLevel": 1, + "StageID": 203220111 + }, + { + "EventID": 20322011, + "WorldLevel": 2, + "StageID": 203220112 + }, + { + "EventID": 20322011, + "WorldLevel": 3, + "StageID": 203220113 + }, + { + "EventID": 20322011, + "WorldLevel": 4, + "StageID": 203220114 + }, + { + "EventID": 20322011, + "WorldLevel": 5, + "StageID": 203220115 + }, + { + "EventID": 20322011, + "WorldLevel": 6, + "StageID": 203220116 + }, + { + "EventID": 20322012, + "WorldLevel": 0, + "StageID": 203220120 + }, + { + "EventID": 20322012, + "WorldLevel": 1, + "StageID": 203220121 + }, + { + "EventID": 20322012, + "WorldLevel": 2, + "StageID": 203220122 + }, + { + "EventID": 20322012, + "WorldLevel": 3, + "StageID": 203220123 + }, + { + "EventID": 20322012, + "WorldLevel": 4, + "StageID": 203220124 + }, + { + "EventID": 20322012, + "WorldLevel": 5, + "StageID": 203220125 + }, + { + "EventID": 20322012, + "WorldLevel": 6, + "StageID": 203220126 + }, + { + "EventID": 20322013, + "WorldLevel": 0, + "StageID": 203220130 + }, + { + "EventID": 20322013, + "WorldLevel": 1, + "StageID": 203220131 + }, + { + "EventID": 20322013, + "WorldLevel": 2, + "StageID": 203220132 + }, + { + "EventID": 20322013, + "WorldLevel": 3, + "StageID": 203220133 + }, + { + "EventID": 20322013, + "WorldLevel": 4, + "StageID": 203220134 + }, + { + "EventID": 20322013, + "WorldLevel": 5, + "StageID": 203220135 + }, + { + "EventID": 20322013, + "WorldLevel": 6, + "StageID": 203220136 + }, + { + "EventID": 20322014, + "WorldLevel": 0, + "StageID": 203220140 + }, + { + "EventID": 20322014, + "WorldLevel": 1, + "StageID": 203220141 + }, + { + "EventID": 20322014, + "WorldLevel": 2, + "StageID": 203220142 + }, + { + "EventID": 20322014, + "WorldLevel": 3, + "StageID": 203220143 + }, + { + "EventID": 20322014, + "WorldLevel": 4, + "StageID": 203220144 + }, + { + "EventID": 20322014, + "WorldLevel": 5, + "StageID": 203220145 + }, + { + "EventID": 20322014, + "WorldLevel": 6, + "StageID": 203220146 + }, + { + "EventID": 20322018, + "WorldLevel": 0, + "StageID": 203220180 + }, + { + "EventID": 20322018, + "WorldLevel": 1, + "StageID": 203220181 + }, + { + "EventID": 20322018, + "WorldLevel": 2, + "StageID": 203220182 + }, + { + "EventID": 20322018, + "WorldLevel": 3, + "StageID": 203220183 + }, + { + "EventID": 20322018, + "WorldLevel": 4, + "StageID": 203220184 + }, + { + "EventID": 20322018, + "WorldLevel": 5, + "StageID": 203220185 + }, + { + "EventID": 20322018, + "WorldLevel": 6, + "StageID": 203220186 + }, + { + "EventID": 20322019, + "WorldLevel": 0, + "StageID": 203220190 + }, + { + "EventID": 20322019, + "WorldLevel": 1, + "StageID": 203220191 + }, + { + "EventID": 20322019, + "WorldLevel": 2, + "StageID": 203220192 + }, + { + "EventID": 20322019, + "WorldLevel": 3, + "StageID": 203220193 + }, + { + "EventID": 20322019, + "WorldLevel": 4, + "StageID": 203220194 + }, + { + "EventID": 20322019, + "WorldLevel": 5, + "StageID": 203220195 + }, + { + "EventID": 20322019, + "WorldLevel": 6, + "StageID": 203220196 + }, + { + "EventID": 20322020, + "WorldLevel": 0, + "StageID": 203220200 + }, + { + "EventID": 20322020, + "WorldLevel": 1, + "StageID": 203220201 + }, + { + "EventID": 20322020, + "WorldLevel": 2, + "StageID": 203220202 + }, + { + "EventID": 20322020, + "WorldLevel": 3, + "StageID": 203220203 + }, + { + "EventID": 20322020, + "WorldLevel": 4, + "StageID": 203220204 + }, + { + "EventID": 20322020, + "WorldLevel": 5, + "StageID": 203220205 + }, + { + "EventID": 20322020, + "WorldLevel": 6, + "StageID": 203220206 + }, + { + "EventID": 20322021, + "WorldLevel": 0, + "StageID": 203220210 + }, + { + "EventID": 20322021, + "WorldLevel": 1, + "StageID": 203220211 + }, + { + "EventID": 20322021, + "WorldLevel": 2, + "StageID": 203220212 + }, + { + "EventID": 20322021, + "WorldLevel": 3, + "StageID": 203220213 + }, + { + "EventID": 20322021, + "WorldLevel": 4, + "StageID": 203220214 + }, + { + "EventID": 20322021, + "WorldLevel": 5, + "StageID": 203220215 + }, + { + "EventID": 20322021, + "WorldLevel": 6, + "StageID": 203220216 + }, + { + "EventID": 20322022, + "WorldLevel": 0, + "StageID": 203220220 + }, + { + "EventID": 20322022, + "WorldLevel": 1, + "StageID": 203220221 + }, + { + "EventID": 20322022, + "WorldLevel": 2, + "StageID": 203220222 + }, + { + "EventID": 20322022, + "WorldLevel": 3, + "StageID": 203220223 + }, + { + "EventID": 20322022, + "WorldLevel": 4, + "StageID": 203220224 + }, + { + "EventID": 20322022, + "WorldLevel": 5, + "StageID": 203220225 + }, + { + "EventID": 20322022, + "WorldLevel": 6, + "StageID": 203220226 + }, + { + "EventID": 20322023, + "WorldLevel": 0, + "StageID": 203220230 + }, + { + "EventID": 20322023, + "WorldLevel": 1, + "StageID": 203220231 + }, + { + "EventID": 20322023, + "WorldLevel": 2, + "StageID": 203220232 + }, + { + "EventID": 20322023, + "WorldLevel": 3, + "StageID": 203220233 + }, + { + "EventID": 20322023, + "WorldLevel": 4, + "StageID": 203220234 + }, + { + "EventID": 20322023, + "WorldLevel": 5, + "StageID": 203220235 + }, + { + "EventID": 20322023, + "WorldLevel": 6, + "StageID": 203220236 + }, + { + "EventID": 20322024, + "WorldLevel": 0, + "StageID": 203220240 + }, + { + "EventID": 20322024, + "WorldLevel": 1, + "StageID": 203220241 + }, + { + "EventID": 20322024, + "WorldLevel": 2, + "StageID": 203220242 + }, + { + "EventID": 20322024, + "WorldLevel": 3, + "StageID": 203220243 + }, + { + "EventID": 20322024, + "WorldLevel": 4, + "StageID": 203220244 + }, + { + "EventID": 20322024, + "WorldLevel": 5, + "StageID": 203220245 + }, + { + "EventID": 20322024, + "WorldLevel": 6, + "StageID": 203220246 + }, + { + "EventID": 20322028, + "WorldLevel": 0, + "StageID": 203220280 + }, + { + "EventID": 20322028, + "WorldLevel": 1, + "StageID": 203220281 + }, + { + "EventID": 20322028, + "WorldLevel": 2, + "StageID": 203220282 + }, + { + "EventID": 20322028, + "WorldLevel": 3, + "StageID": 203220283 + }, + { + "EventID": 20322028, + "WorldLevel": 4, + "StageID": 203220284 + }, + { + "EventID": 20322028, + "WorldLevel": 5, + "StageID": 203220285 + }, + { + "EventID": 20322028, + "WorldLevel": 6, + "StageID": 203220286 + }, + { + "EventID": 20322029, + "WorldLevel": 0, + "StageID": 203220290 + }, + { + "EventID": 20322029, + "WorldLevel": 1, + "StageID": 203220291 + }, + { + "EventID": 20322029, + "WorldLevel": 2, + "StageID": 203220292 + }, + { + "EventID": 20322029, + "WorldLevel": 3, + "StageID": 203220293 + }, + { + "EventID": 20322029, + "WorldLevel": 4, + "StageID": 203220294 + }, + { + "EventID": 20322029, + "WorldLevel": 5, + "StageID": 203220295 + }, + { + "EventID": 20322029, + "WorldLevel": 6, + "StageID": 203220296 + }, + { + "EventID": 20322030, + "WorldLevel": 0, + "StageID": 203220300 + }, + { + "EventID": 20322030, + "WorldLevel": 1, + "StageID": 203220301 + }, + { + "EventID": 20322030, + "WorldLevel": 2, + "StageID": 203220302 + }, + { + "EventID": 20322030, + "WorldLevel": 3, + "StageID": 203220303 + }, + { + "EventID": 20322030, + "WorldLevel": 4, + "StageID": 203220304 + }, + { + "EventID": 20322030, + "WorldLevel": 5, + "StageID": 203220305 + }, + { + "EventID": 20322030, + "WorldLevel": 6, + "StageID": 203220306 + }, + { + "EventID": 20322031, + "WorldLevel": 0, + "StageID": 203220310 + }, + { + "EventID": 20322031, + "WorldLevel": 1, + "StageID": 203220311 + }, + { + "EventID": 20322031, + "WorldLevel": 2, + "StageID": 203220312 + }, + { + "EventID": 20322031, + "WorldLevel": 3, + "StageID": 203220313 + }, + { + "EventID": 20322031, + "WorldLevel": 4, + "StageID": 203220314 + }, + { + "EventID": 20322031, + "WorldLevel": 5, + "StageID": 203220315 + }, + { + "EventID": 20322031, + "WorldLevel": 6, + "StageID": 203220316 + }, + { + "EventID": 20322032, + "WorldLevel": 0, + "StageID": 203220320 + }, + { + "EventID": 20322032, + "WorldLevel": 1, + "StageID": 203220321 + }, + { + "EventID": 20322032, + "WorldLevel": 2, + "StageID": 203220322 + }, + { + "EventID": 20322032, + "WorldLevel": 3, + "StageID": 203220323 + }, + { + "EventID": 20322032, + "WorldLevel": 4, + "StageID": 203220324 + }, + { + "EventID": 20322032, + "WorldLevel": 5, + "StageID": 203220325 + }, + { + "EventID": 20322032, + "WorldLevel": 6, + "StageID": 203220326 + }, + { + "EventID": 20322034, + "WorldLevel": 0, + "StageID": 203220340 + }, + { + "EventID": 20322034, + "WorldLevel": 1, + "StageID": 203220341 + }, + { + "EventID": 20322034, + "WorldLevel": 2, + "StageID": 203220342 + }, + { + "EventID": 20322034, + "WorldLevel": 3, + "StageID": 203220343 + }, + { + "EventID": 20322034, + "WorldLevel": 4, + "StageID": 203220344 + }, + { + "EventID": 20322034, + "WorldLevel": 5, + "StageID": 203220345 + }, + { + "EventID": 20322034, + "WorldLevel": 6, + "StageID": 203220346 + }, + { + "EventID": 20322035, + "WorldLevel": 0, + "StageID": 203220350 + }, + { + "EventID": 20322035, + "WorldLevel": 1, + "StageID": 203220351 + }, + { + "EventID": 20322035, + "WorldLevel": 2, + "StageID": 203220352 + }, + { + "EventID": 20322035, + "WorldLevel": 3, + "StageID": 203220353 + }, + { + "EventID": 20322035, + "WorldLevel": 4, + "StageID": 203220354 + }, + { + "EventID": 20322035, + "WorldLevel": 5, + "StageID": 203220355 + }, + { + "EventID": 20322035, + "WorldLevel": 6, + "StageID": 203220356 + }, + { + "EventID": 20322038, + "WorldLevel": 0, + "StageID": 203220380 + }, + { + "EventID": 20322038, + "WorldLevel": 1, + "StageID": 203220381 + }, + { + "EventID": 20322038, + "WorldLevel": 2, + "StageID": 203220382 + }, + { + "EventID": 20322038, + "WorldLevel": 3, + "StageID": 203220383 + }, + { + "EventID": 20322038, + "WorldLevel": 4, + "StageID": 203220384 + }, + { + "EventID": 20322038, + "WorldLevel": 5, + "StageID": 203220385 + }, + { + "EventID": 20322038, + "WorldLevel": 6, + "StageID": 203220386 + }, + { + "EventID": 20322039, + "WorldLevel": 0, + "StageID": 203220390 + }, + { + "EventID": 20322039, + "WorldLevel": 1, + "StageID": 203220391 + }, + { + "EventID": 20322039, + "WorldLevel": 2, + "StageID": 203220392 + }, + { + "EventID": 20322039, + "WorldLevel": 3, + "StageID": 203220393 + }, + { + "EventID": 20322039, + "WorldLevel": 4, + "StageID": 203220394 + }, + { + "EventID": 20322039, + "WorldLevel": 5, + "StageID": 203220395 + }, + { + "EventID": 20322039, + "WorldLevel": 6, + "StageID": 203220396 + }, + { + "EventID": 20322101, + "WorldLevel": 0, + "StageID": 203221010 + }, + { + "EventID": 20322101, + "WorldLevel": 1, + "StageID": 203221011 + }, + { + "EventID": 20322101, + "WorldLevel": 2, + "StageID": 203221012 + }, + { + "EventID": 20322101, + "WorldLevel": 3, + "StageID": 203221013 + }, + { + "EventID": 20322101, + "WorldLevel": 4, + "StageID": 203221014 + }, + { + "EventID": 20322101, + "WorldLevel": 5, + "StageID": 203221015 + }, + { + "EventID": 20322101, + "WorldLevel": 6, + "StageID": 203221016 + }, + { + "EventID": 20322102, + "WorldLevel": 0, + "StageID": 203221020 + }, + { + "EventID": 20322102, + "WorldLevel": 1, + "StageID": 203221021 + }, + { + "EventID": 20322102, + "WorldLevel": 2, + "StageID": 203221022 + }, + { + "EventID": 20322102, + "WorldLevel": 3, + "StageID": 203221023 + }, + { + "EventID": 20322102, + "WorldLevel": 4, + "StageID": 203221024 + }, + { + "EventID": 20322102, + "WorldLevel": 5, + "StageID": 203221025 + }, + { + "EventID": 20322102, + "WorldLevel": 6, + "StageID": 203221026 + }, + { + "EventID": 20322103, + "WorldLevel": 0, + "StageID": 203221030 + }, + { + "EventID": 20322103, + "WorldLevel": 1, + "StageID": 203221031 + }, + { + "EventID": 20322103, + "WorldLevel": 2, + "StageID": 203221032 + }, + { + "EventID": 20322103, + "WorldLevel": 3, + "StageID": 203221033 + }, + { + "EventID": 20322103, + "WorldLevel": 4, + "StageID": 203221034 + }, + { + "EventID": 20322103, + "WorldLevel": 5, + "StageID": 203221035 + }, + { + "EventID": 20322103, + "WorldLevel": 6, + "StageID": 203221036 + }, + { + "EventID": 20322104, + "WorldLevel": 0, + "StageID": 203221040 + }, + { + "EventID": 20322104, + "WorldLevel": 1, + "StageID": 203221041 + }, + { + "EventID": 20322104, + "WorldLevel": 2, + "StageID": 203221042 + }, + { + "EventID": 20322104, + "WorldLevel": 3, + "StageID": 203221043 + }, + { + "EventID": 20322104, + "WorldLevel": 4, + "StageID": 203221044 + }, + { + "EventID": 20322104, + "WorldLevel": 5, + "StageID": 203221045 + }, + { + "EventID": 20322104, + "WorldLevel": 6, + "StageID": 203221046 + }, + { + "EventID": 20322106, + "WorldLevel": 0, + "StageID": 203221060 + }, + { + "EventID": 20322106, + "WorldLevel": 1, + "StageID": 203221061 + }, + { + "EventID": 20322106, + "WorldLevel": 2, + "StageID": 203221062 + }, + { + "EventID": 20322106, + "WorldLevel": 3, + "StageID": 203221063 + }, + { + "EventID": 20322106, + "WorldLevel": 4, + "StageID": 203221064 + }, + { + "EventID": 20322106, + "WorldLevel": 5, + "StageID": 203221065 + }, + { + "EventID": 20322106, + "WorldLevel": 6, + "StageID": 203221066 + }, + { + "EventID": 20322107, + "WorldLevel": 0, + "StageID": 203221070 + }, + { + "EventID": 20322107, + "WorldLevel": 1, + "StageID": 203221071 + }, + { + "EventID": 20322107, + "WorldLevel": 2, + "StageID": 203221072 + }, + { + "EventID": 20322107, + "WorldLevel": 3, + "StageID": 203221073 + }, + { + "EventID": 20322107, + "WorldLevel": 4, + "StageID": 203221074 + }, + { + "EventID": 20322107, + "WorldLevel": 5, + "StageID": 203221075 + }, + { + "EventID": 20322107, + "WorldLevel": 6, + "StageID": 203221076 + }, + { + "EventID": 20322108, + "WorldLevel": 0, + "StageID": 203221080 + }, + { + "EventID": 20322108, + "WorldLevel": 1, + "StageID": 203221081 + }, + { + "EventID": 20322108, + "WorldLevel": 2, + "StageID": 203221082 + }, + { + "EventID": 20322108, + "WorldLevel": 3, + "StageID": 203221083 + }, + { + "EventID": 20322108, + "WorldLevel": 4, + "StageID": 203221084 + }, + { + "EventID": 20322108, + "WorldLevel": 5, + "StageID": 203221085 + }, + { + "EventID": 20322108, + "WorldLevel": 6, + "StageID": 203221086 + }, + { + "EventID": 20322111, + "WorldLevel": 0, + "StageID": 203221110 + }, + { + "EventID": 20322111, + "WorldLevel": 1, + "StageID": 203221111 + }, + { + "EventID": 20322111, + "WorldLevel": 2, + "StageID": 203221112 + }, + { + "EventID": 20322111, + "WorldLevel": 3, + "StageID": 203221113 + }, + { + "EventID": 20322111, + "WorldLevel": 4, + "StageID": 203221114 + }, + { + "EventID": 20322111, + "WorldLevel": 5, + "StageID": 203221115 + }, + { + "EventID": 20322111, + "WorldLevel": 6, + "StageID": 203221116 + }, + { + "EventID": 20322112, + "WorldLevel": 0, + "StageID": 203221120 + }, + { + "EventID": 20322112, + "WorldLevel": 1, + "StageID": 203221121 + }, + { + "EventID": 20322112, + "WorldLevel": 2, + "StageID": 203221122 + }, + { + "EventID": 20322112, + "WorldLevel": 3, + "StageID": 203221123 + }, + { + "EventID": 20322112, + "WorldLevel": 4, + "StageID": 203221124 + }, + { + "EventID": 20322112, + "WorldLevel": 5, + "StageID": 203221125 + }, + { + "EventID": 20322112, + "WorldLevel": 6, + "StageID": 203221126 + }, + { + "EventID": 20322113, + "WorldLevel": 0, + "StageID": 203221130 + }, + { + "EventID": 20322113, + "WorldLevel": 1, + "StageID": 203221131 + }, + { + "EventID": 20322113, + "WorldLevel": 2, + "StageID": 203221132 + }, + { + "EventID": 20322113, + "WorldLevel": 3, + "StageID": 203221133 + }, + { + "EventID": 20322113, + "WorldLevel": 4, + "StageID": 203221134 + }, + { + "EventID": 20322113, + "WorldLevel": 5, + "StageID": 203221135 + }, + { + "EventID": 20322113, + "WorldLevel": 6, + "StageID": 203221136 + }, + { + "EventID": 20322114, + "WorldLevel": 0, + "StageID": 203221140 + }, + { + "EventID": 20322114, + "WorldLevel": 1, + "StageID": 203221141 + }, + { + "EventID": 20322114, + "WorldLevel": 2, + "StageID": 203221142 + }, + { + "EventID": 20322114, + "WorldLevel": 3, + "StageID": 203221143 + }, + { + "EventID": 20322114, + "WorldLevel": 4, + "StageID": 203221144 + }, + { + "EventID": 20322114, + "WorldLevel": 5, + "StageID": 203221145 + }, + { + "EventID": 20322114, + "WorldLevel": 6, + "StageID": 203221146 + }, + { + "EventID": 20322118, + "WorldLevel": 0, + "StageID": 203221180 + }, + { + "EventID": 20322118, + "WorldLevel": 1, + "StageID": 203221181 + }, + { + "EventID": 20322118, + "WorldLevel": 2, + "StageID": 203221182 + }, + { + "EventID": 20322118, + "WorldLevel": 3, + "StageID": 203221183 + }, + { + "EventID": 20322118, + "WorldLevel": 4, + "StageID": 203221184 + }, + { + "EventID": 20322118, + "WorldLevel": 5, + "StageID": 203221185 + }, + { + "EventID": 20322118, + "WorldLevel": 6, + "StageID": 203221186 + }, + { + "EventID": 20322119, + "WorldLevel": 0, + "StageID": 203221190 + }, + { + "EventID": 20322119, + "WorldLevel": 1, + "StageID": 203221191 + }, + { + "EventID": 20322119, + "WorldLevel": 2, + "StageID": 203221192 + }, + { + "EventID": 20322119, + "WorldLevel": 3, + "StageID": 203221193 + }, + { + "EventID": 20322119, + "WorldLevel": 4, + "StageID": 203221194 + }, + { + "EventID": 20322119, + "WorldLevel": 5, + "StageID": 203221195 + }, + { + "EventID": 20322119, + "WorldLevel": 6, + "StageID": 203221196 + }, + { + "EventID": 20322120, + "WorldLevel": 0, + "StageID": 203221200 + }, + { + "EventID": 20322120, + "WorldLevel": 1, + "StageID": 203221201 + }, + { + "EventID": 20322120, + "WorldLevel": 2, + "StageID": 203221202 + }, + { + "EventID": 20322120, + "WorldLevel": 3, + "StageID": 203221203 + }, + { + "EventID": 20322120, + "WorldLevel": 4, + "StageID": 203221204 + }, + { + "EventID": 20322120, + "WorldLevel": 5, + "StageID": 203221205 + }, + { + "EventID": 20322120, + "WorldLevel": 6, + "StageID": 203221206 + }, + { + "EventID": 20322121, + "WorldLevel": 0, + "StageID": 203221210 + }, + { + "EventID": 20322121, + "WorldLevel": 1, + "StageID": 203221211 + }, + { + "EventID": 20322121, + "WorldLevel": 2, + "StageID": 203221212 + }, + { + "EventID": 20322121, + "WorldLevel": 3, + "StageID": 203221213 + }, + { + "EventID": 20322121, + "WorldLevel": 4, + "StageID": 203221214 + }, + { + "EventID": 20322121, + "WorldLevel": 5, + "StageID": 203221215 + }, + { + "EventID": 20322121, + "WorldLevel": 6, + "StageID": 203221216 + }, + { + "EventID": 20322122, + "WorldLevel": 0, + "StageID": 203221220 + }, + { + "EventID": 20322122, + "WorldLevel": 1, + "StageID": 203221221 + }, + { + "EventID": 20322122, + "WorldLevel": 2, + "StageID": 203221222 + }, + { + "EventID": 20322122, + "WorldLevel": 3, + "StageID": 203221223 + }, + { + "EventID": 20322122, + "WorldLevel": 4, + "StageID": 203221224 + }, + { + "EventID": 20322122, + "WorldLevel": 5, + "StageID": 203221225 + }, + { + "EventID": 20322122, + "WorldLevel": 6, + "StageID": 203221226 + }, + { + "EventID": 20322123, + "WorldLevel": 0, + "StageID": 203221230 + }, + { + "EventID": 20322123, + "WorldLevel": 1, + "StageID": 203221231 + }, + { + "EventID": 20322123, + "WorldLevel": 2, + "StageID": 203221232 + }, + { + "EventID": 20322123, + "WorldLevel": 3, + "StageID": 203221233 + }, + { + "EventID": 20322123, + "WorldLevel": 4, + "StageID": 203221234 + }, + { + "EventID": 20322123, + "WorldLevel": 5, + "StageID": 203221235 + }, + { + "EventID": 20322123, + "WorldLevel": 6, + "StageID": 203221236 + }, + { + "EventID": 20322124, + "WorldLevel": 0, + "StageID": 203221240 + }, + { + "EventID": 20322124, + "WorldLevel": 1, + "StageID": 203221241 + }, + { + "EventID": 20322124, + "WorldLevel": 2, + "StageID": 203221242 + }, + { + "EventID": 20322124, + "WorldLevel": 3, + "StageID": 203221243 + }, + { + "EventID": 20322124, + "WorldLevel": 4, + "StageID": 203221244 + }, + { + "EventID": 20322124, + "WorldLevel": 5, + "StageID": 203221245 + }, + { + "EventID": 20322124, + "WorldLevel": 6, + "StageID": 203221246 + }, + { + "EventID": 20322128, + "WorldLevel": 0, + "StageID": 203221280 + }, + { + "EventID": 20322128, + "WorldLevel": 1, + "StageID": 203221281 + }, + { + "EventID": 20322128, + "WorldLevel": 2, + "StageID": 203221282 + }, + { + "EventID": 20322128, + "WorldLevel": 3, + "StageID": 203221283 + }, + { + "EventID": 20322128, + "WorldLevel": 4, + "StageID": 203221284 + }, + { + "EventID": 20322128, + "WorldLevel": 5, + "StageID": 203221285 + }, + { + "EventID": 20322128, + "WorldLevel": 6, + "StageID": 203221286 + }, + { + "EventID": 20322129, + "WorldLevel": 0, + "StageID": 203221290 + }, + { + "EventID": 20322129, + "WorldLevel": 1, + "StageID": 203221291 + }, + { + "EventID": 20322129, + "WorldLevel": 2, + "StageID": 203221292 + }, + { + "EventID": 20322129, + "WorldLevel": 3, + "StageID": 203221293 + }, + { + "EventID": 20322129, + "WorldLevel": 4, + "StageID": 203221294 + }, + { + "EventID": 20322129, + "WorldLevel": 5, + "StageID": 203221295 + }, + { + "EventID": 20322129, + "WorldLevel": 6, + "StageID": 203221296 + }, + { + "EventID": 20322130, + "WorldLevel": 0, + "StageID": 203221300 + }, + { + "EventID": 20322130, + "WorldLevel": 1, + "StageID": 203221301 + }, + { + "EventID": 20322130, + "WorldLevel": 2, + "StageID": 203221302 + }, + { + "EventID": 20322130, + "WorldLevel": 3, + "StageID": 203221303 + }, + { + "EventID": 20322130, + "WorldLevel": 4, + "StageID": 203221304 + }, + { + "EventID": 20322130, + "WorldLevel": 5, + "StageID": 203221305 + }, + { + "EventID": 20322130, + "WorldLevel": 6, + "StageID": 203221306 + }, + { + "EventID": 20322131, + "WorldLevel": 0, + "StageID": 203221310 + }, + { + "EventID": 20322131, + "WorldLevel": 1, + "StageID": 203221311 + }, + { + "EventID": 20322131, + "WorldLevel": 2, + "StageID": 203221312 + }, + { + "EventID": 20322131, + "WorldLevel": 3, + "StageID": 203221313 + }, + { + "EventID": 20322131, + "WorldLevel": 4, + "StageID": 203221314 + }, + { + "EventID": 20322131, + "WorldLevel": 5, + "StageID": 203221315 + }, + { + "EventID": 20322131, + "WorldLevel": 6, + "StageID": 203221316 + }, + { + "EventID": 20322132, + "WorldLevel": 0, + "StageID": 203221320 + }, + { + "EventID": 20322132, + "WorldLevel": 1, + "StageID": 203221321 + }, + { + "EventID": 20322132, + "WorldLevel": 2, + "StageID": 203221322 + }, + { + "EventID": 20322132, + "WorldLevel": 3, + "StageID": 203221323 + }, + { + "EventID": 20322132, + "WorldLevel": 4, + "StageID": 203221324 + }, + { + "EventID": 20322132, + "WorldLevel": 5, + "StageID": 203221325 + }, + { + "EventID": 20322132, + "WorldLevel": 6, + "StageID": 203221326 + }, + { + "EventID": 20322138, + "WorldLevel": 0, + "StageID": 203221380 + }, + { + "EventID": 20322138, + "WorldLevel": 1, + "StageID": 203221381 + }, + { + "EventID": 20322138, + "WorldLevel": 2, + "StageID": 203221382 + }, + { + "EventID": 20322138, + "WorldLevel": 3, + "StageID": 203221383 + }, + { + "EventID": 20322138, + "WorldLevel": 4, + "StageID": 203221384 + }, + { + "EventID": 20322138, + "WorldLevel": 5, + "StageID": 203221385 + }, + { + "EventID": 20322138, + "WorldLevel": 6, + "StageID": 203221386 + }, + { + "EventID": 20322139, + "WorldLevel": 0, + "StageID": 203221390 + }, + { + "EventID": 20322139, + "WorldLevel": 1, + "StageID": 203221391 + }, + { + "EventID": 20322139, + "WorldLevel": 2, + "StageID": 203221392 + }, + { + "EventID": 20322139, + "WorldLevel": 3, + "StageID": 203221393 + }, + { + "EventID": 20322139, + "WorldLevel": 4, + "StageID": 203221394 + }, + { + "EventID": 20322139, + "WorldLevel": 5, + "StageID": 203221395 + }, + { + "EventID": 20322139, + "WorldLevel": 6, + "StageID": 203221396 + }, + { + "EventID": 20322170, + "WorldLevel": 0, + "StageID": 203221700 + }, + { + "EventID": 20322170, + "WorldLevel": 1, + "StageID": 203221701 + }, + { + "EventID": 20322170, + "WorldLevel": 2, + "StageID": 203221702 + }, + { + "EventID": 20322170, + "WorldLevel": 3, + "StageID": 203221703 + }, + { + "EventID": 20322170, + "WorldLevel": 4, + "StageID": 203221704 + }, + { + "EventID": 20322170, + "WorldLevel": 5, + "StageID": 203221705 + }, + { + "EventID": 20322170, + "WorldLevel": 6, + "StageID": 203221706 + }, + { + "EventID": 20322231, + "WorldLevel": 0, + "StageID": 203222310 + }, + { + "EventID": 20322231, + "WorldLevel": 1, + "StageID": 203222311 + }, + { + "EventID": 20322231, + "WorldLevel": 2, + "StageID": 203222312 + }, + { + "EventID": 20322231, + "WorldLevel": 3, + "StageID": 203222313 + }, + { + "EventID": 20322231, + "WorldLevel": 4, + "StageID": 203222314 + }, + { + "EventID": 20322231, + "WorldLevel": 5, + "StageID": 203222315 + }, + { + "EventID": 20322231, + "WorldLevel": 6, + "StageID": 203222316 + }, + { + "EventID": 20322233, + "WorldLevel": 0, + "StageID": 203222330 + }, + { + "EventID": 20322233, + "WorldLevel": 1, + "StageID": 203222331 + }, + { + "EventID": 20322233, + "WorldLevel": 2, + "StageID": 203222332 + }, + { + "EventID": 20322233, + "WorldLevel": 3, + "StageID": 203222333 + }, + { + "EventID": 20322233, + "WorldLevel": 4, + "StageID": 203222334 + }, + { + "EventID": 20322233, + "WorldLevel": 5, + "StageID": 203222335 + }, + { + "EventID": 20322233, + "WorldLevel": 6, + "StageID": 203222336 + }, + { + "EventID": 20322234, + "WorldLevel": 0, + "StageID": 203222340 + }, + { + "EventID": 20322234, + "WorldLevel": 1, + "StageID": 203222341 + }, + { + "EventID": 20322234, + "WorldLevel": 2, + "StageID": 203222342 + }, + { + "EventID": 20322234, + "WorldLevel": 3, + "StageID": 203222343 + }, + { + "EventID": 20322234, + "WorldLevel": 4, + "StageID": 203222344 + }, + { + "EventID": 20322234, + "WorldLevel": 5, + "StageID": 203222345 + }, + { + "EventID": 20322234, + "WorldLevel": 6, + "StageID": 203222346 + }, + { + "EventID": 20322236, + "WorldLevel": 0, + "StageID": 203222360 + }, + { + "EventID": 20322236, + "WorldLevel": 1, + "StageID": 203222361 + }, + { + "EventID": 20322236, + "WorldLevel": 2, + "StageID": 203222362 + }, + { + "EventID": 20322236, + "WorldLevel": 3, + "StageID": 203222363 + }, + { + "EventID": 20322236, + "WorldLevel": 4, + "StageID": 203222364 + }, + { + "EventID": 20322236, + "WorldLevel": 5, + "StageID": 203222365 + }, + { + "EventID": 20322236, + "WorldLevel": 6, + "StageID": 203222366 + }, + { + "EventID": 20331005, + "WorldLevel": 0, + "StageID": 203310050 + }, + { + "EventID": 20331005, + "WorldLevel": 1, + "StageID": 203310051 + }, + { + "EventID": 20331005, + "WorldLevel": 2, + "StageID": 203310052 + }, + { + "EventID": 20331005, + "WorldLevel": 3, + "StageID": 203310053 + }, + { + "EventID": 20331005, + "WorldLevel": 4, + "StageID": 203310054 + }, + { + "EventID": 20331005, + "WorldLevel": 5, + "StageID": 203310055 + }, + { + "EventID": 20331005, + "WorldLevel": 6, + "StageID": 203310056 + }, + { + "EventID": 20331006, + "WorldLevel": 0, + "StageID": 203310060 + }, + { + "EventID": 20331006, + "WorldLevel": 1, + "StageID": 203310061 + }, + { + "EventID": 20331006, + "WorldLevel": 2, + "StageID": 203310062 + }, + { + "EventID": 20331006, + "WorldLevel": 3, + "StageID": 203310063 + }, + { + "EventID": 20331006, + "WorldLevel": 4, + "StageID": 203310064 + }, + { + "EventID": 20331006, + "WorldLevel": 5, + "StageID": 203310065 + }, + { + "EventID": 20331006, + "WorldLevel": 6, + "StageID": 203310066 + }, + { + "EventID": 20331011, + "WorldLevel": 0, + "StageID": 203310110 + }, + { + "EventID": 20331011, + "WorldLevel": 1, + "StageID": 203310111 + }, + { + "EventID": 20331011, + "WorldLevel": 2, + "StageID": 203310112 + }, + { + "EventID": 20331011, + "WorldLevel": 3, + "StageID": 203310113 + }, + { + "EventID": 20331011, + "WorldLevel": 4, + "StageID": 203310114 + }, + { + "EventID": 20331011, + "WorldLevel": 5, + "StageID": 203310115 + }, + { + "EventID": 20331011, + "WorldLevel": 6, + "StageID": 203310116 + }, + { + "EventID": 20331012, + "WorldLevel": 0, + "StageID": 203310120 + }, + { + "EventID": 20331012, + "WorldLevel": 1, + "StageID": 203310121 + }, + { + "EventID": 20331012, + "WorldLevel": 2, + "StageID": 203310122 + }, + { + "EventID": 20331012, + "WorldLevel": 3, + "StageID": 203310123 + }, + { + "EventID": 20331012, + "WorldLevel": 4, + "StageID": 203310124 + }, + { + "EventID": 20331012, + "WorldLevel": 5, + "StageID": 203310125 + }, + { + "EventID": 20331012, + "WorldLevel": 6, + "StageID": 203310126 + }, + { + "EventID": 20331016, + "WorldLevel": 0, + "StageID": 203310160 + }, + { + "EventID": 20331016, + "WorldLevel": 1, + "StageID": 203310161 + }, + { + "EventID": 20331016, + "WorldLevel": 2, + "StageID": 203310162 + }, + { + "EventID": 20331016, + "WorldLevel": 3, + "StageID": 203310163 + }, + { + "EventID": 20331016, + "WorldLevel": 4, + "StageID": 203310164 + }, + { + "EventID": 20331016, + "WorldLevel": 5, + "StageID": 203310165 + }, + { + "EventID": 20331016, + "WorldLevel": 6, + "StageID": 203310166 + }, + { + "EventID": 20331017, + "WorldLevel": 0, + "StageID": 203310170 + }, + { + "EventID": 20331017, + "WorldLevel": 1, + "StageID": 203310171 + }, + { + "EventID": 20331017, + "WorldLevel": 2, + "StageID": 203310172 + }, + { + "EventID": 20331017, + "WorldLevel": 3, + "StageID": 203310173 + }, + { + "EventID": 20331017, + "WorldLevel": 4, + "StageID": 203310174 + }, + { + "EventID": 20331017, + "WorldLevel": 5, + "StageID": 203310175 + }, + { + "EventID": 20331017, + "WorldLevel": 6, + "StageID": 203310176 + }, + { + "EventID": 20331018, + "WorldLevel": 0, + "StageID": 203310180 + }, + { + "EventID": 20331018, + "WorldLevel": 1, + "StageID": 203310181 + }, + { + "EventID": 20331018, + "WorldLevel": 2, + "StageID": 203310182 + }, + { + "EventID": 20331018, + "WorldLevel": 3, + "StageID": 203310183 + }, + { + "EventID": 20331018, + "WorldLevel": 4, + "StageID": 203310184 + }, + { + "EventID": 20331018, + "WorldLevel": 5, + "StageID": 203310185 + }, + { + "EventID": 20331018, + "WorldLevel": 6, + "StageID": 203310186 + }, + { + "EventID": 20331019, + "WorldLevel": 0, + "StageID": 203310190 + }, + { + "EventID": 20331019, + "WorldLevel": 1, + "StageID": 203310191 + }, + { + "EventID": 20331019, + "WorldLevel": 2, + "StageID": 203310192 + }, + { + "EventID": 20331019, + "WorldLevel": 3, + "StageID": 203310193 + }, + { + "EventID": 20331019, + "WorldLevel": 4, + "StageID": 203310194 + }, + { + "EventID": 20331019, + "WorldLevel": 5, + "StageID": 203310195 + }, + { + "EventID": 20331019, + "WorldLevel": 6, + "StageID": 203310196 + }, + { + "EventID": 20331020, + "WorldLevel": 0, + "StageID": 203310200 + }, + { + "EventID": 20331020, + "WorldLevel": 1, + "StageID": 203310201 + }, + { + "EventID": 20331020, + "WorldLevel": 2, + "StageID": 203310202 + }, + { + "EventID": 20331020, + "WorldLevel": 3, + "StageID": 203310203 + }, + { + "EventID": 20331020, + "WorldLevel": 4, + "StageID": 203310204 + }, + { + "EventID": 20331020, + "WorldLevel": 5, + "StageID": 203310205 + }, + { + "EventID": 20331020, + "WorldLevel": 6, + "StageID": 203310206 + }, + { + "EventID": 20331105, + "WorldLevel": 0, + "StageID": 203311050 + }, + { + "EventID": 20331105, + "WorldLevel": 1, + "StageID": 203311051 + }, + { + "EventID": 20331105, + "WorldLevel": 2, + "StageID": 203311052 + }, + { + "EventID": 20331105, + "WorldLevel": 3, + "StageID": 203311053 + }, + { + "EventID": 20331105, + "WorldLevel": 4, + "StageID": 203311054 + }, + { + "EventID": 20331105, + "WorldLevel": 5, + "StageID": 203311055 + }, + { + "EventID": 20331105, + "WorldLevel": 6, + "StageID": 203311056 + }, + { + "EventID": 20331106, + "WorldLevel": 0, + "StageID": 203311060 + }, + { + "EventID": 20331106, + "WorldLevel": 1, + "StageID": 203311061 + }, + { + "EventID": 20331106, + "WorldLevel": 2, + "StageID": 203311062 + }, + { + "EventID": 20331106, + "WorldLevel": 3, + "StageID": 203311063 + }, + { + "EventID": 20331106, + "WorldLevel": 4, + "StageID": 203311064 + }, + { + "EventID": 20331106, + "WorldLevel": 5, + "StageID": 203311065 + }, + { + "EventID": 20331106, + "WorldLevel": 6, + "StageID": 203311066 + }, + { + "EventID": 20331111, + "WorldLevel": 0, + "StageID": 203311110 + }, + { + "EventID": 20331111, + "WorldLevel": 1, + "StageID": 203311111 + }, + { + "EventID": 20331111, + "WorldLevel": 2, + "StageID": 203311112 + }, + { + "EventID": 20331111, + "WorldLevel": 3, + "StageID": 203311113 + }, + { + "EventID": 20331111, + "WorldLevel": 4, + "StageID": 203311114 + }, + { + "EventID": 20331111, + "WorldLevel": 5, + "StageID": 203311115 + }, + { + "EventID": 20331111, + "WorldLevel": 6, + "StageID": 203311116 + }, + { + "EventID": 20331112, + "WorldLevel": 0, + "StageID": 203311120 + }, + { + "EventID": 20331112, + "WorldLevel": 1, + "StageID": 203311121 + }, + { + "EventID": 20331112, + "WorldLevel": 2, + "StageID": 203311122 + }, + { + "EventID": 20331112, + "WorldLevel": 3, + "StageID": 203311123 + }, + { + "EventID": 20331112, + "WorldLevel": 4, + "StageID": 203311124 + }, + { + "EventID": 20331112, + "WorldLevel": 5, + "StageID": 203311125 + }, + { + "EventID": 20331112, + "WorldLevel": 6, + "StageID": 203311126 + }, + { + "EventID": 20331116, + "WorldLevel": 0, + "StageID": 203311160 + }, + { + "EventID": 20331116, + "WorldLevel": 1, + "StageID": 203311161 + }, + { + "EventID": 20331116, + "WorldLevel": 2, + "StageID": 203311162 + }, + { + "EventID": 20331116, + "WorldLevel": 3, + "StageID": 203311163 + }, + { + "EventID": 20331116, + "WorldLevel": 4, + "StageID": 203311164 + }, + { + "EventID": 20331116, + "WorldLevel": 5, + "StageID": 203311165 + }, + { + "EventID": 20331116, + "WorldLevel": 6, + "StageID": 203311166 + }, + { + "EventID": 20331117, + "WorldLevel": 0, + "StageID": 203311170 + }, + { + "EventID": 20331117, + "WorldLevel": 1, + "StageID": 203311171 + }, + { + "EventID": 20331117, + "WorldLevel": 2, + "StageID": 203311172 + }, + { + "EventID": 20331117, + "WorldLevel": 3, + "StageID": 203311173 + }, + { + "EventID": 20331117, + "WorldLevel": 4, + "StageID": 203311174 + }, + { + "EventID": 20331117, + "WorldLevel": 5, + "StageID": 203311175 + }, + { + "EventID": 20331117, + "WorldLevel": 6, + "StageID": 203311176 + }, + { + "EventID": 20331118, + "WorldLevel": 0, + "StageID": 203311180 + }, + { + "EventID": 20331118, + "WorldLevel": 1, + "StageID": 203311181 + }, + { + "EventID": 20331118, + "WorldLevel": 2, + "StageID": 203311182 + }, + { + "EventID": 20331118, + "WorldLevel": 3, + "StageID": 203311183 + }, + { + "EventID": 20331118, + "WorldLevel": 4, + "StageID": 203311184 + }, + { + "EventID": 20331118, + "WorldLevel": 5, + "StageID": 203311185 + }, + { + "EventID": 20331118, + "WorldLevel": 6, + "StageID": 203311186 + }, + { + "EventID": 20331119, + "WorldLevel": 0, + "StageID": 203311190 + }, + { + "EventID": 20331119, + "WorldLevel": 1, + "StageID": 203311191 + }, + { + "EventID": 20331119, + "WorldLevel": 2, + "StageID": 203311192 + }, + { + "EventID": 20331119, + "WorldLevel": 3, + "StageID": 203311193 + }, + { + "EventID": 20331119, + "WorldLevel": 4, + "StageID": 203311194 + }, + { + "EventID": 20331119, + "WorldLevel": 5, + "StageID": 203311195 + }, + { + "EventID": 20331119, + "WorldLevel": 6, + "StageID": 203311196 + }, + { + "EventID": 20331120, + "WorldLevel": 0, + "StageID": 203311200 + }, + { + "EventID": 20331120, + "WorldLevel": 1, + "StageID": 203311201 + }, + { + "EventID": 20331120, + "WorldLevel": 2, + "StageID": 203311202 + }, + { + "EventID": 20331120, + "WorldLevel": 3, + "StageID": 203311203 + }, + { + "EventID": 20331120, + "WorldLevel": 4, + "StageID": 203311204 + }, + { + "EventID": 20331120, + "WorldLevel": 5, + "StageID": 203311205 + }, + { + "EventID": 20331120, + "WorldLevel": 6, + "StageID": 203311206 + }, + { + "EventID": 20331125, + "WorldLevel": 0, + "StageID": 203311250 + }, + { + "EventID": 20331125, + "WorldLevel": 1, + "StageID": 203311251 + }, + { + "EventID": 20331125, + "WorldLevel": 2, + "StageID": 203311252 + }, + { + "EventID": 20331125, + "WorldLevel": 3, + "StageID": 203311253 + }, + { + "EventID": 20331125, + "WorldLevel": 4, + "StageID": 203311254 + }, + { + "EventID": 20331125, + "WorldLevel": 5, + "StageID": 203311255 + }, + { + "EventID": 20331125, + "WorldLevel": 6, + "StageID": 203311256 + }, + { + "EventID": 20331126, + "WorldLevel": 0, + "StageID": 203311260 + }, + { + "EventID": 20331126, + "WorldLevel": 1, + "StageID": 203311261 + }, + { + "EventID": 20331126, + "WorldLevel": 2, + "StageID": 203311262 + }, + { + "EventID": 20331126, + "WorldLevel": 3, + "StageID": 203311263 + }, + { + "EventID": 20331126, + "WorldLevel": 4, + "StageID": 203311264 + }, + { + "EventID": 20331126, + "WorldLevel": 5, + "StageID": 203311265 + }, + { + "EventID": 20331126, + "WorldLevel": 6, + "StageID": 203311266 + }, + { + "EventID": 20331127, + "WorldLevel": 0, + "StageID": 203311270 + }, + { + "EventID": 20331127, + "WorldLevel": 1, + "StageID": 203311271 + }, + { + "EventID": 20331127, + "WorldLevel": 2, + "StageID": 203311272 + }, + { + "EventID": 20331127, + "WorldLevel": 3, + "StageID": 203311273 + }, + { + "EventID": 20331127, + "WorldLevel": 4, + "StageID": 203311274 + }, + { + "EventID": 20331127, + "WorldLevel": 5, + "StageID": 203311275 + }, + { + "EventID": 20331127, + "WorldLevel": 6, + "StageID": 203311276 + }, + { + "EventID": 20331128, + "WorldLevel": 0, + "StageID": 203311280 + }, + { + "EventID": 20331128, + "WorldLevel": 1, + "StageID": 203311281 + }, + { + "EventID": 20331128, + "WorldLevel": 2, + "StageID": 203311282 + }, + { + "EventID": 20331128, + "WorldLevel": 3, + "StageID": 203311283 + }, + { + "EventID": 20331128, + "WorldLevel": 4, + "StageID": 203311284 + }, + { + "EventID": 20331128, + "WorldLevel": 5, + "StageID": 203311285 + }, + { + "EventID": 20331128, + "WorldLevel": 6, + "StageID": 203311286 + }, + { + "EventID": 20331129, + "WorldLevel": 0, + "StageID": 203311290 + }, + { + "EventID": 20331129, + "WorldLevel": 1, + "StageID": 203311291 + }, + { + "EventID": 20331129, + "WorldLevel": 2, + "StageID": 203311292 + }, + { + "EventID": 20331129, + "WorldLevel": 3, + "StageID": 203311293 + }, + { + "EventID": 20331129, + "WorldLevel": 4, + "StageID": 203311294 + }, + { + "EventID": 20331129, + "WorldLevel": 5, + "StageID": 203311295 + }, + { + "EventID": 20331129, + "WorldLevel": 6, + "StageID": 203311296 + }, + { + "EventID": 20331130, + "WorldLevel": 0, + "StageID": 203311300 + }, + { + "EventID": 20331130, + "WorldLevel": 1, + "StageID": 203311301 + }, + { + "EventID": 20331130, + "WorldLevel": 2, + "StageID": 203311302 + }, + { + "EventID": 20331130, + "WorldLevel": 3, + "StageID": 203311303 + }, + { + "EventID": 20331130, + "WorldLevel": 4, + "StageID": 203311304 + }, + { + "EventID": 20331130, + "WorldLevel": 5, + "StageID": 203311305 + }, + { + "EventID": 20331130, + "WorldLevel": 6, + "StageID": 203311306 + }, + { + "EventID": 20331131, + "WorldLevel": 0, + "StageID": 203311310 + }, + { + "EventID": 20331131, + "WorldLevel": 1, + "StageID": 203311311 + }, + { + "EventID": 20331131, + "WorldLevel": 2, + "StageID": 203311312 + }, + { + "EventID": 20331131, + "WorldLevel": 3, + "StageID": 203311313 + }, + { + "EventID": 20331131, + "WorldLevel": 4, + "StageID": 203311314 + }, + { + "EventID": 20331131, + "WorldLevel": 5, + "StageID": 203311315 + }, + { + "EventID": 20331131, + "WorldLevel": 6, + "StageID": 203311316 + }, + { + "EventID": 20331170, + "WorldLevel": 0, + "StageID": 203311700 + }, + { + "EventID": 20331170, + "WorldLevel": 1, + "StageID": 203311701 + }, + { + "EventID": 20331170, + "WorldLevel": 2, + "StageID": 203311702 + }, + { + "EventID": 20331170, + "WorldLevel": 3, + "StageID": 203311703 + }, + { + "EventID": 20331170, + "WorldLevel": 4, + "StageID": 203311704 + }, + { + "EventID": 20331170, + "WorldLevel": 5, + "StageID": 203311705 + }, + { + "EventID": 20331170, + "WorldLevel": 6, + "StageID": 203311706 + }, + { + "EventID": 20331231, + "WorldLevel": 0, + "StageID": 203312310 + }, + { + "EventID": 20331231, + "WorldLevel": 1, + "StageID": 203312311 + }, + { + "EventID": 20331231, + "WorldLevel": 2, + "StageID": 203312312 + }, + { + "EventID": 20331231, + "WorldLevel": 3, + "StageID": 203312313 + }, + { + "EventID": 20331231, + "WorldLevel": 4, + "StageID": 203312314 + }, + { + "EventID": 20331231, + "WorldLevel": 5, + "StageID": 203312315 + }, + { + "EventID": 20331231, + "WorldLevel": 6, + "StageID": 203312316 + }, + { + "EventID": 20331232, + "WorldLevel": 0, + "StageID": 203312320 + }, + { + "EventID": 20331232, + "WorldLevel": 1, + "StageID": 203312321 + }, + { + "EventID": 20331232, + "WorldLevel": 2, + "StageID": 203312322 + }, + { + "EventID": 20331232, + "WorldLevel": 3, + "StageID": 203312323 + }, + { + "EventID": 20331232, + "WorldLevel": 4, + "StageID": 203312324 + }, + { + "EventID": 20331232, + "WorldLevel": 5, + "StageID": 203312325 + }, + { + "EventID": 20331232, + "WorldLevel": 6, + "StageID": 203312326 + }, + { + "EventID": 20331240, + "WorldLevel": 0, + "StageID": 203312400 + }, + { + "EventID": 20331240, + "WorldLevel": 1, + "StageID": 203312401 + }, + { + "EventID": 20331240, + "WorldLevel": 2, + "StageID": 203312402 + }, + { + "EventID": 20331240, + "WorldLevel": 3, + "StageID": 203312403 + }, + { + "EventID": 20331240, + "WorldLevel": 4, + "StageID": 203312404 + }, + { + "EventID": 20331240, + "WorldLevel": 5, + "StageID": 203312405 + }, + { + "EventID": 20331240, + "WorldLevel": 6, + "StageID": 203312406 + }, + { + "EventID": 20332001, + "WorldLevel": 0, + "StageID": 203320010 + }, + { + "EventID": 20332001, + "WorldLevel": 1, + "StageID": 203320011 + }, + { + "EventID": 20332001, + "WorldLevel": 2, + "StageID": 203320012 + }, + { + "EventID": 20332001, + "WorldLevel": 3, + "StageID": 203320013 + }, + { + "EventID": 20332001, + "WorldLevel": 4, + "StageID": 203320014 + }, + { + "EventID": 20332001, + "WorldLevel": 5, + "StageID": 203320015 + }, + { + "EventID": 20332001, + "WorldLevel": 6, + "StageID": 203320016 + }, + { + "EventID": 20332010, + "WorldLevel": 0, + "StageID": 203320100 + }, + { + "EventID": 20332010, + "WorldLevel": 1, + "StageID": 203320101 + }, + { + "EventID": 20332010, + "WorldLevel": 2, + "StageID": 203320102 + }, + { + "EventID": 20332010, + "WorldLevel": 3, + "StageID": 203320103 + }, + { + "EventID": 20332010, + "WorldLevel": 4, + "StageID": 203320104 + }, + { + "EventID": 20332010, + "WorldLevel": 5, + "StageID": 203320105 + }, + { + "EventID": 20332010, + "WorldLevel": 6, + "StageID": 203320106 + }, + { + "EventID": 20332011, + "WorldLevel": 0, + "StageID": 203320110 + }, + { + "EventID": 20332011, + "WorldLevel": 1, + "StageID": 203320111 + }, + { + "EventID": 20332011, + "WorldLevel": 2, + "StageID": 203320112 + }, + { + "EventID": 20332011, + "WorldLevel": 3, + "StageID": 203320113 + }, + { + "EventID": 20332011, + "WorldLevel": 4, + "StageID": 203320114 + }, + { + "EventID": 20332011, + "WorldLevel": 5, + "StageID": 203320115 + }, + { + "EventID": 20332011, + "WorldLevel": 6, + "StageID": 203320116 + }, + { + "EventID": 20332012, + "WorldLevel": 0, + "StageID": 203320120 + }, + { + "EventID": 20332012, + "WorldLevel": 1, + "StageID": 203320121 + }, + { + "EventID": 20332012, + "WorldLevel": 2, + "StageID": 203320122 + }, + { + "EventID": 20332012, + "WorldLevel": 3, + "StageID": 203320123 + }, + { + "EventID": 20332012, + "WorldLevel": 4, + "StageID": 203320124 + }, + { + "EventID": 20332012, + "WorldLevel": 5, + "StageID": 203320125 + }, + { + "EventID": 20332012, + "WorldLevel": 6, + "StageID": 203320126 + }, + { + "EventID": 20332013, + "WorldLevel": 0, + "StageID": 203320130 + }, + { + "EventID": 20332013, + "WorldLevel": 1, + "StageID": 203320131 + }, + { + "EventID": 20332013, + "WorldLevel": 2, + "StageID": 203320132 + }, + { + "EventID": 20332013, + "WorldLevel": 3, + "StageID": 203320133 + }, + { + "EventID": 20332013, + "WorldLevel": 4, + "StageID": 203320134 + }, + { + "EventID": 20332013, + "WorldLevel": 5, + "StageID": 203320135 + }, + { + "EventID": 20332013, + "WorldLevel": 6, + "StageID": 203320136 + }, + { + "EventID": 20332014, + "WorldLevel": 0, + "StageID": 203320140 + }, + { + "EventID": 20332014, + "WorldLevel": 1, + "StageID": 203320141 + }, + { + "EventID": 20332014, + "WorldLevel": 2, + "StageID": 203320142 + }, + { + "EventID": 20332014, + "WorldLevel": 3, + "StageID": 203320143 + }, + { + "EventID": 20332014, + "WorldLevel": 4, + "StageID": 203320144 + }, + { + "EventID": 20332014, + "WorldLevel": 5, + "StageID": 203320145 + }, + { + "EventID": 20332014, + "WorldLevel": 6, + "StageID": 203320146 + }, + { + "EventID": 20332015, + "WorldLevel": 0, + "StageID": 203320150 + }, + { + "EventID": 20332015, + "WorldLevel": 1, + "StageID": 203320151 + }, + { + "EventID": 20332015, + "WorldLevel": 2, + "StageID": 203320152 + }, + { + "EventID": 20332015, + "WorldLevel": 3, + "StageID": 203320153 + }, + { + "EventID": 20332015, + "WorldLevel": 4, + "StageID": 203320154 + }, + { + "EventID": 20332015, + "WorldLevel": 5, + "StageID": 203320155 + }, + { + "EventID": 20332015, + "WorldLevel": 6, + "StageID": 203320156 + }, + { + "EventID": 20332016, + "WorldLevel": 0, + "StageID": 203320160 + }, + { + "EventID": 20332016, + "WorldLevel": 1, + "StageID": 203320161 + }, + { + "EventID": 20332016, + "WorldLevel": 2, + "StageID": 203320162 + }, + { + "EventID": 20332016, + "WorldLevel": 3, + "StageID": 203320163 + }, + { + "EventID": 20332016, + "WorldLevel": 4, + "StageID": 203320164 + }, + { + "EventID": 20332016, + "WorldLevel": 5, + "StageID": 203320165 + }, + { + "EventID": 20332016, + "WorldLevel": 6, + "StageID": 203320166 + }, + { + "EventID": 20332017, + "WorldLevel": 0, + "StageID": 203320170 + }, + { + "EventID": 20332017, + "WorldLevel": 1, + "StageID": 203320171 + }, + { + "EventID": 20332017, + "WorldLevel": 2, + "StageID": 203320172 + }, + { + "EventID": 20332017, + "WorldLevel": 3, + "StageID": 203320173 + }, + { + "EventID": 20332017, + "WorldLevel": 4, + "StageID": 203320174 + }, + { + "EventID": 20332017, + "WorldLevel": 5, + "StageID": 203320175 + }, + { + "EventID": 20332017, + "WorldLevel": 6, + "StageID": 203320176 + }, + { + "EventID": 20332018, + "WorldLevel": 0, + "StageID": 203320180 + }, + { + "EventID": 20332018, + "WorldLevel": 1, + "StageID": 203320181 + }, + { + "EventID": 20332018, + "WorldLevel": 2, + "StageID": 203320182 + }, + { + "EventID": 20332018, + "WorldLevel": 3, + "StageID": 203320183 + }, + { + "EventID": 20332018, + "WorldLevel": 4, + "StageID": 203320184 + }, + { + "EventID": 20332018, + "WorldLevel": 5, + "StageID": 203320185 + }, + { + "EventID": 20332018, + "WorldLevel": 6, + "StageID": 203320186 + }, + { + "EventID": 20332019, + "WorldLevel": 0, + "StageID": 203320190 + }, + { + "EventID": 20332019, + "WorldLevel": 1, + "StageID": 203320191 + }, + { + "EventID": 20332019, + "WorldLevel": 2, + "StageID": 203320192 + }, + { + "EventID": 20332019, + "WorldLevel": 3, + "StageID": 203320193 + }, + { + "EventID": 20332019, + "WorldLevel": 4, + "StageID": 203320194 + }, + { + "EventID": 20332019, + "WorldLevel": 5, + "StageID": 203320195 + }, + { + "EventID": 20332019, + "WorldLevel": 6, + "StageID": 203320196 + }, + { + "EventID": 20332021, + "WorldLevel": 0, + "StageID": 203320210 + }, + { + "EventID": 20332021, + "WorldLevel": 1, + "StageID": 203320211 + }, + { + "EventID": 20332021, + "WorldLevel": 2, + "StageID": 203320212 + }, + { + "EventID": 20332021, + "WorldLevel": 3, + "StageID": 203320213 + }, + { + "EventID": 20332021, + "WorldLevel": 4, + "StageID": 203320214 + }, + { + "EventID": 20332021, + "WorldLevel": 5, + "StageID": 203320215 + }, + { + "EventID": 20332021, + "WorldLevel": 6, + "StageID": 203320216 + }, + { + "EventID": 20332022, + "WorldLevel": 0, + "StageID": 203320220 + }, + { + "EventID": 20332022, + "WorldLevel": 1, + "StageID": 203320221 + }, + { + "EventID": 20332022, + "WorldLevel": 2, + "StageID": 203320222 + }, + { + "EventID": 20332022, + "WorldLevel": 3, + "StageID": 203320223 + }, + { + "EventID": 20332022, + "WorldLevel": 4, + "StageID": 203320224 + }, + { + "EventID": 20332022, + "WorldLevel": 5, + "StageID": 203320225 + }, + { + "EventID": 20332022, + "WorldLevel": 6, + "StageID": 203320226 + }, + { + "EventID": 20332023, + "WorldLevel": 0, + "StageID": 203320230 + }, + { + "EventID": 20332023, + "WorldLevel": 1, + "StageID": 203320231 + }, + { + "EventID": 20332023, + "WorldLevel": 2, + "StageID": 203320232 + }, + { + "EventID": 20332023, + "WorldLevel": 3, + "StageID": 203320233 + }, + { + "EventID": 20332023, + "WorldLevel": 4, + "StageID": 203320234 + }, + { + "EventID": 20332023, + "WorldLevel": 5, + "StageID": 203320235 + }, + { + "EventID": 20332023, + "WorldLevel": 6, + "StageID": 203320236 + }, + { + "EventID": 20332024, + "WorldLevel": 0, + "StageID": 203320240 + }, + { + "EventID": 20332024, + "WorldLevel": 1, + "StageID": 203320241 + }, + { + "EventID": 20332024, + "WorldLevel": 2, + "StageID": 203320242 + }, + { + "EventID": 20332024, + "WorldLevel": 3, + "StageID": 203320243 + }, + { + "EventID": 20332024, + "WorldLevel": 4, + "StageID": 203320244 + }, + { + "EventID": 20332024, + "WorldLevel": 5, + "StageID": 203320245 + }, + { + "EventID": 20332024, + "WorldLevel": 6, + "StageID": 203320246 + }, + { + "EventID": 20332027, + "WorldLevel": 0, + "StageID": 203320270 + }, + { + "EventID": 20332027, + "WorldLevel": 1, + "StageID": 203320271 + }, + { + "EventID": 20332027, + "WorldLevel": 2, + "StageID": 203320272 + }, + { + "EventID": 20332027, + "WorldLevel": 3, + "StageID": 203320273 + }, + { + "EventID": 20332027, + "WorldLevel": 4, + "StageID": 203320274 + }, + { + "EventID": 20332027, + "WorldLevel": 5, + "StageID": 203320275 + }, + { + "EventID": 20332027, + "WorldLevel": 6, + "StageID": 203320276 + }, + { + "EventID": 20332028, + "WorldLevel": 0, + "StageID": 203320280 + }, + { + "EventID": 20332028, + "WorldLevel": 1, + "StageID": 203320281 + }, + { + "EventID": 20332028, + "WorldLevel": 2, + "StageID": 203320282 + }, + { + "EventID": 20332028, + "WorldLevel": 3, + "StageID": 203320283 + }, + { + "EventID": 20332028, + "WorldLevel": 4, + "StageID": 203320284 + }, + { + "EventID": 20332028, + "WorldLevel": 5, + "StageID": 203320285 + }, + { + "EventID": 20332028, + "WorldLevel": 6, + "StageID": 203320286 + }, + { + "EventID": 20332029, + "WorldLevel": 0, + "StageID": 203320290 + }, + { + "EventID": 20332029, + "WorldLevel": 1, + "StageID": 203320291 + }, + { + "EventID": 20332029, + "WorldLevel": 2, + "StageID": 203320292 + }, + { + "EventID": 20332029, + "WorldLevel": 3, + "StageID": 203320293 + }, + { + "EventID": 20332029, + "WorldLevel": 4, + "StageID": 203320294 + }, + { + "EventID": 20332029, + "WorldLevel": 5, + "StageID": 203320295 + }, + { + "EventID": 20332029, + "WorldLevel": 6, + "StageID": 203320296 + }, + { + "EventID": 20332030, + "WorldLevel": 0, + "StageID": 203320300 + }, + { + "EventID": 20332030, + "WorldLevel": 1, + "StageID": 203320301 + }, + { + "EventID": 20332030, + "WorldLevel": 2, + "StageID": 203320302 + }, + { + "EventID": 20332030, + "WorldLevel": 3, + "StageID": 203320303 + }, + { + "EventID": 20332030, + "WorldLevel": 4, + "StageID": 203320304 + }, + { + "EventID": 20332030, + "WorldLevel": 5, + "StageID": 203320305 + }, + { + "EventID": 20332030, + "WorldLevel": 6, + "StageID": 203320306 + }, + { + "EventID": 20332035, + "WorldLevel": 0, + "StageID": 203320350 + }, + { + "EventID": 20332035, + "WorldLevel": 1, + "StageID": 203320351 + }, + { + "EventID": 20332035, + "WorldLevel": 2, + "StageID": 203320352 + }, + { + "EventID": 20332035, + "WorldLevel": 3, + "StageID": 203320353 + }, + { + "EventID": 20332035, + "WorldLevel": 4, + "StageID": 203320354 + }, + { + "EventID": 20332035, + "WorldLevel": 5, + "StageID": 203320355 + }, + { + "EventID": 20332035, + "WorldLevel": 6, + "StageID": 203320356 + }, + { + "EventID": 20332036, + "WorldLevel": 0, + "StageID": 203320360 + }, + { + "EventID": 20332036, + "WorldLevel": 1, + "StageID": 203320361 + }, + { + "EventID": 20332036, + "WorldLevel": 2, + "StageID": 203320362 + }, + { + "EventID": 20332036, + "WorldLevel": 3, + "StageID": 203320363 + }, + { + "EventID": 20332036, + "WorldLevel": 4, + "StageID": 203320364 + }, + { + "EventID": 20332036, + "WorldLevel": 5, + "StageID": 203320365 + }, + { + "EventID": 20332036, + "WorldLevel": 6, + "StageID": 203320366 + }, + { + "EventID": 20332037, + "WorldLevel": 0, + "StageID": 203320370 + }, + { + "EventID": 20332037, + "WorldLevel": 1, + "StageID": 203320371 + }, + { + "EventID": 20332037, + "WorldLevel": 2, + "StageID": 203320372 + }, + { + "EventID": 20332037, + "WorldLevel": 3, + "StageID": 203320373 + }, + { + "EventID": 20332037, + "WorldLevel": 4, + "StageID": 203320374 + }, + { + "EventID": 20332037, + "WorldLevel": 5, + "StageID": 203320375 + }, + { + "EventID": 20332037, + "WorldLevel": 6, + "StageID": 203320376 + }, + { + "EventID": 20332038, + "WorldLevel": 0, + "StageID": 203320380 + }, + { + "EventID": 20332038, + "WorldLevel": 1, + "StageID": 203320381 + }, + { + "EventID": 20332038, + "WorldLevel": 2, + "StageID": 203320382 + }, + { + "EventID": 20332038, + "WorldLevel": 3, + "StageID": 203320383 + }, + { + "EventID": 20332038, + "WorldLevel": 4, + "StageID": 203320384 + }, + { + "EventID": 20332038, + "WorldLevel": 5, + "StageID": 203320385 + }, + { + "EventID": 20332038, + "WorldLevel": 6, + "StageID": 203320386 + }, + { + "EventID": 20332039, + "WorldLevel": 0, + "StageID": 203320390 + }, + { + "EventID": 20332039, + "WorldLevel": 1, + "StageID": 203320391 + }, + { + "EventID": 20332039, + "WorldLevel": 2, + "StageID": 203320392 + }, + { + "EventID": 20332039, + "WorldLevel": 3, + "StageID": 203320393 + }, + { + "EventID": 20332039, + "WorldLevel": 4, + "StageID": 203320394 + }, + { + "EventID": 20332039, + "WorldLevel": 5, + "StageID": 203320395 + }, + { + "EventID": 20332039, + "WorldLevel": 6, + "StageID": 203320396 + }, + { + "EventID": 20332101, + "WorldLevel": 0, + "StageID": 203321010 + }, + { + "EventID": 20332101, + "WorldLevel": 1, + "StageID": 203321011 + }, + { + "EventID": 20332101, + "WorldLevel": 2, + "StageID": 203321012 + }, + { + "EventID": 20332101, + "WorldLevel": 3, + "StageID": 203321013 + }, + { + "EventID": 20332101, + "WorldLevel": 4, + "StageID": 203321014 + }, + { + "EventID": 20332101, + "WorldLevel": 5, + "StageID": 203321015 + }, + { + "EventID": 20332101, + "WorldLevel": 6, + "StageID": 203321016 + }, + { + "EventID": 20332108, + "WorldLevel": 0, + "StageID": 203321080 + }, + { + "EventID": 20332108, + "WorldLevel": 1, + "StageID": 203321081 + }, + { + "EventID": 20332108, + "WorldLevel": 2, + "StageID": 203321082 + }, + { + "EventID": 20332108, + "WorldLevel": 3, + "StageID": 203321083 + }, + { + "EventID": 20332108, + "WorldLevel": 4, + "StageID": 203321084 + }, + { + "EventID": 20332108, + "WorldLevel": 5, + "StageID": 203321085 + }, + { + "EventID": 20332108, + "WorldLevel": 6, + "StageID": 203321086 + }, + { + "EventID": 20332109, + "WorldLevel": 0, + "StageID": 203321090 + }, + { + "EventID": 20332109, + "WorldLevel": 1, + "StageID": 203321091 + }, + { + "EventID": 20332109, + "WorldLevel": 2, + "StageID": 203321092 + }, + { + "EventID": 20332109, + "WorldLevel": 3, + "StageID": 203321093 + }, + { + "EventID": 20332109, + "WorldLevel": 4, + "StageID": 203321094 + }, + { + "EventID": 20332109, + "WorldLevel": 5, + "StageID": 203321095 + }, + { + "EventID": 20332109, + "WorldLevel": 6, + "StageID": 203321096 + }, + { + "EventID": 20332110, + "WorldLevel": 0, + "StageID": 203321100 + }, + { + "EventID": 20332110, + "WorldLevel": 1, + "StageID": 203321101 + }, + { + "EventID": 20332110, + "WorldLevel": 2, + "StageID": 203321102 + }, + { + "EventID": 20332110, + "WorldLevel": 3, + "StageID": 203321103 + }, + { + "EventID": 20332110, + "WorldLevel": 4, + "StageID": 203321104 + }, + { + "EventID": 20332110, + "WorldLevel": 5, + "StageID": 203321105 + }, + { + "EventID": 20332110, + "WorldLevel": 6, + "StageID": 203321106 + }, + { + "EventID": 20332111, + "WorldLevel": 0, + "StageID": 203321110 + }, + { + "EventID": 20332111, + "WorldLevel": 1, + "StageID": 203321111 + }, + { + "EventID": 20332111, + "WorldLevel": 2, + "StageID": 203321112 + }, + { + "EventID": 20332111, + "WorldLevel": 3, + "StageID": 203321113 + }, + { + "EventID": 20332111, + "WorldLevel": 4, + "StageID": 203321114 + }, + { + "EventID": 20332111, + "WorldLevel": 5, + "StageID": 203321115 + }, + { + "EventID": 20332111, + "WorldLevel": 6, + "StageID": 203321116 + }, + { + "EventID": 20332112, + "WorldLevel": 0, + "StageID": 203321120 + }, + { + "EventID": 20332112, + "WorldLevel": 1, + "StageID": 203321121 + }, + { + "EventID": 20332112, + "WorldLevel": 2, + "StageID": 203321122 + }, + { + "EventID": 20332112, + "WorldLevel": 3, + "StageID": 203321123 + }, + { + "EventID": 20332112, + "WorldLevel": 4, + "StageID": 203321124 + }, + { + "EventID": 20332112, + "WorldLevel": 5, + "StageID": 203321125 + }, + { + "EventID": 20332112, + "WorldLevel": 6, + "StageID": 203321126 + }, + { + "EventID": 20332113, + "WorldLevel": 0, + "StageID": 203321130 + }, + { + "EventID": 20332113, + "WorldLevel": 1, + "StageID": 203321131 + }, + { + "EventID": 20332113, + "WorldLevel": 2, + "StageID": 203321132 + }, + { + "EventID": 20332113, + "WorldLevel": 3, + "StageID": 203321133 + }, + { + "EventID": 20332113, + "WorldLevel": 4, + "StageID": 203321134 + }, + { + "EventID": 20332113, + "WorldLevel": 5, + "StageID": 203321135 + }, + { + "EventID": 20332113, + "WorldLevel": 6, + "StageID": 203321136 + }, + { + "EventID": 20332114, + "WorldLevel": 0, + "StageID": 203321140 + }, + { + "EventID": 20332114, + "WorldLevel": 1, + "StageID": 203321141 + }, + { + "EventID": 20332114, + "WorldLevel": 2, + "StageID": 203321142 + }, + { + "EventID": 20332114, + "WorldLevel": 3, + "StageID": 203321143 + }, + { + "EventID": 20332114, + "WorldLevel": 4, + "StageID": 203321144 + }, + { + "EventID": 20332114, + "WorldLevel": 5, + "StageID": 203321145 + }, + { + "EventID": 20332114, + "WorldLevel": 6, + "StageID": 203321146 + }, + { + "EventID": 20332115, + "WorldLevel": 0, + "StageID": 203321150 + }, + { + "EventID": 20332115, + "WorldLevel": 1, + "StageID": 203321151 + }, + { + "EventID": 20332115, + "WorldLevel": 2, + "StageID": 203321152 + }, + { + "EventID": 20332115, + "WorldLevel": 3, + "StageID": 203321153 + }, + { + "EventID": 20332115, + "WorldLevel": 4, + "StageID": 203321154 + }, + { + "EventID": 20332115, + "WorldLevel": 5, + "StageID": 203321155 + }, + { + "EventID": 20332115, + "WorldLevel": 6, + "StageID": 203321156 + }, + { + "EventID": 20332116, + "WorldLevel": 0, + "StageID": 203321160 + }, + { + "EventID": 20332116, + "WorldLevel": 1, + "StageID": 203321161 + }, + { + "EventID": 20332116, + "WorldLevel": 2, + "StageID": 203321162 + }, + { + "EventID": 20332116, + "WorldLevel": 3, + "StageID": 203321163 + }, + { + "EventID": 20332116, + "WorldLevel": 4, + "StageID": 203321164 + }, + { + "EventID": 20332116, + "WorldLevel": 5, + "StageID": 203321165 + }, + { + "EventID": 20332116, + "WorldLevel": 6, + "StageID": 203321166 + }, + { + "EventID": 20332117, + "WorldLevel": 0, + "StageID": 203321170 + }, + { + "EventID": 20332117, + "WorldLevel": 1, + "StageID": 203321171 + }, + { + "EventID": 20332117, + "WorldLevel": 2, + "StageID": 203321172 + }, + { + "EventID": 20332117, + "WorldLevel": 3, + "StageID": 203321173 + }, + { + "EventID": 20332117, + "WorldLevel": 4, + "StageID": 203321174 + }, + { + "EventID": 20332117, + "WorldLevel": 5, + "StageID": 203321175 + }, + { + "EventID": 20332117, + "WorldLevel": 6, + "StageID": 203321176 + }, + { + "EventID": 20332118, + "WorldLevel": 0, + "StageID": 203321180 + }, + { + "EventID": 20332118, + "WorldLevel": 1, + "StageID": 203321181 + }, + { + "EventID": 20332118, + "WorldLevel": 2, + "StageID": 203321182 + }, + { + "EventID": 20332118, + "WorldLevel": 3, + "StageID": 203321183 + }, + { + "EventID": 20332118, + "WorldLevel": 4, + "StageID": 203321184 + }, + { + "EventID": 20332118, + "WorldLevel": 5, + "StageID": 203321185 + }, + { + "EventID": 20332118, + "WorldLevel": 6, + "StageID": 203321186 + }, + { + "EventID": 20332119, + "WorldLevel": 0, + "StageID": 203321190 + }, + { + "EventID": 20332119, + "WorldLevel": 1, + "StageID": 203321191 + }, + { + "EventID": 20332119, + "WorldLevel": 2, + "StageID": 203321192 + }, + { + "EventID": 20332119, + "WorldLevel": 3, + "StageID": 203321193 + }, + { + "EventID": 20332119, + "WorldLevel": 4, + "StageID": 203321194 + }, + { + "EventID": 20332119, + "WorldLevel": 5, + "StageID": 203321195 + }, + { + "EventID": 20332119, + "WorldLevel": 6, + "StageID": 203321196 + }, + { + "EventID": 20332121, + "WorldLevel": 0, + "StageID": 203321210 + }, + { + "EventID": 20332121, + "WorldLevel": 1, + "StageID": 203321211 + }, + { + "EventID": 20332121, + "WorldLevel": 2, + "StageID": 203321212 + }, + { + "EventID": 20332121, + "WorldLevel": 3, + "StageID": 203321213 + }, + { + "EventID": 20332121, + "WorldLevel": 4, + "StageID": 203321214 + }, + { + "EventID": 20332121, + "WorldLevel": 5, + "StageID": 203321215 + }, + { + "EventID": 20332121, + "WorldLevel": 6, + "StageID": 203321216 + }, + { + "EventID": 20332122, + "WorldLevel": 0, + "StageID": 203321220 + }, + { + "EventID": 20332122, + "WorldLevel": 1, + "StageID": 203321221 + }, + { + "EventID": 20332122, + "WorldLevel": 2, + "StageID": 203321222 + }, + { + "EventID": 20332122, + "WorldLevel": 3, + "StageID": 203321223 + }, + { + "EventID": 20332122, + "WorldLevel": 4, + "StageID": 203321224 + }, + { + "EventID": 20332122, + "WorldLevel": 5, + "StageID": 203321225 + }, + { + "EventID": 20332122, + "WorldLevel": 6, + "StageID": 203321226 + }, + { + "EventID": 20332123, + "WorldLevel": 0, + "StageID": 203321230 + }, + { + "EventID": 20332123, + "WorldLevel": 1, + "StageID": 203321231 + }, + { + "EventID": 20332123, + "WorldLevel": 2, + "StageID": 203321232 + }, + { + "EventID": 20332123, + "WorldLevel": 3, + "StageID": 203321233 + }, + { + "EventID": 20332123, + "WorldLevel": 4, + "StageID": 203321234 + }, + { + "EventID": 20332123, + "WorldLevel": 5, + "StageID": 203321235 + }, + { + "EventID": 20332123, + "WorldLevel": 6, + "StageID": 203321236 + }, + { + "EventID": 20332124, + "WorldLevel": 0, + "StageID": 203321240 + }, + { + "EventID": 20332124, + "WorldLevel": 1, + "StageID": 203321241 + }, + { + "EventID": 20332124, + "WorldLevel": 2, + "StageID": 203321242 + }, + { + "EventID": 20332124, + "WorldLevel": 3, + "StageID": 203321243 + }, + { + "EventID": 20332124, + "WorldLevel": 4, + "StageID": 203321244 + }, + { + "EventID": 20332124, + "WorldLevel": 5, + "StageID": 203321245 + }, + { + "EventID": 20332124, + "WorldLevel": 6, + "StageID": 203321246 + }, + { + "EventID": 20332127, + "WorldLevel": 0, + "StageID": 203321270 + }, + { + "EventID": 20332127, + "WorldLevel": 1, + "StageID": 203321271 + }, + { + "EventID": 20332127, + "WorldLevel": 2, + "StageID": 203321272 + }, + { + "EventID": 20332127, + "WorldLevel": 3, + "StageID": 203321273 + }, + { + "EventID": 20332127, + "WorldLevel": 4, + "StageID": 203321274 + }, + { + "EventID": 20332127, + "WorldLevel": 5, + "StageID": 203321275 + }, + { + "EventID": 20332127, + "WorldLevel": 6, + "StageID": 203321276 + }, + { + "EventID": 20332128, + "WorldLevel": 0, + "StageID": 203321280 + }, + { + "EventID": 20332128, + "WorldLevel": 1, + "StageID": 203321281 + }, + { + "EventID": 20332128, + "WorldLevel": 2, + "StageID": 203321282 + }, + { + "EventID": 20332128, + "WorldLevel": 3, + "StageID": 203321283 + }, + { + "EventID": 20332128, + "WorldLevel": 4, + "StageID": 203321284 + }, + { + "EventID": 20332128, + "WorldLevel": 5, + "StageID": 203321285 + }, + { + "EventID": 20332128, + "WorldLevel": 6, + "StageID": 203321286 + }, + { + "EventID": 20332129, + "WorldLevel": 0, + "StageID": 203321290 + }, + { + "EventID": 20332129, + "WorldLevel": 1, + "StageID": 203321291 + }, + { + "EventID": 20332129, + "WorldLevel": 2, + "StageID": 203321292 + }, + { + "EventID": 20332129, + "WorldLevel": 3, + "StageID": 203321293 + }, + { + "EventID": 20332129, + "WorldLevel": 4, + "StageID": 203321294 + }, + { + "EventID": 20332129, + "WorldLevel": 5, + "StageID": 203321295 + }, + { + "EventID": 20332129, + "WorldLevel": 6, + "StageID": 203321296 + }, + { + "EventID": 20332130, + "WorldLevel": 0, + "StageID": 203321300 + }, + { + "EventID": 20332130, + "WorldLevel": 1, + "StageID": 203321301 + }, + { + "EventID": 20332130, + "WorldLevel": 2, + "StageID": 203321302 + }, + { + "EventID": 20332130, + "WorldLevel": 3, + "StageID": 203321303 + }, + { + "EventID": 20332130, + "WorldLevel": 4, + "StageID": 203321304 + }, + { + "EventID": 20332130, + "WorldLevel": 5, + "StageID": 203321305 + }, + { + "EventID": 20332130, + "WorldLevel": 6, + "StageID": 203321306 + }, + { + "EventID": 20332135, + "WorldLevel": 0, + "StageID": 203321350 + }, + { + "EventID": 20332135, + "WorldLevel": 1, + "StageID": 203321351 + }, + { + "EventID": 20332135, + "WorldLevel": 2, + "StageID": 203321352 + }, + { + "EventID": 20332135, + "WorldLevel": 3, + "StageID": 203321353 + }, + { + "EventID": 20332135, + "WorldLevel": 4, + "StageID": 203321354 + }, + { + "EventID": 20332135, + "WorldLevel": 5, + "StageID": 203321355 + }, + { + "EventID": 20332135, + "WorldLevel": 6, + "StageID": 203321356 + }, + { + "EventID": 20332136, + "WorldLevel": 0, + "StageID": 203321360 + }, + { + "EventID": 20332136, + "WorldLevel": 1, + "StageID": 203321361 + }, + { + "EventID": 20332136, + "WorldLevel": 2, + "StageID": 203321362 + }, + { + "EventID": 20332136, + "WorldLevel": 3, + "StageID": 203321363 + }, + { + "EventID": 20332136, + "WorldLevel": 4, + "StageID": 203321364 + }, + { + "EventID": 20332136, + "WorldLevel": 5, + "StageID": 203321365 + }, + { + "EventID": 20332136, + "WorldLevel": 6, + "StageID": 203321366 + }, + { + "EventID": 20332137, + "WorldLevel": 0, + "StageID": 203321370 + }, + { + "EventID": 20332137, + "WorldLevel": 1, + "StageID": 203321371 + }, + { + "EventID": 20332137, + "WorldLevel": 2, + "StageID": 203321372 + }, + { + "EventID": 20332137, + "WorldLevel": 3, + "StageID": 203321373 + }, + { + "EventID": 20332137, + "WorldLevel": 4, + "StageID": 203321374 + }, + { + "EventID": 20332137, + "WorldLevel": 5, + "StageID": 203321375 + }, + { + "EventID": 20332137, + "WorldLevel": 6, + "StageID": 203321376 + }, + { + "EventID": 20332138, + "WorldLevel": 0, + "StageID": 203321380 + }, + { + "EventID": 20332138, + "WorldLevel": 1, + "StageID": 203321381 + }, + { + "EventID": 20332138, + "WorldLevel": 2, + "StageID": 203321382 + }, + { + "EventID": 20332138, + "WorldLevel": 3, + "StageID": 203321383 + }, + { + "EventID": 20332138, + "WorldLevel": 4, + "StageID": 203321384 + }, + { + "EventID": 20332138, + "WorldLevel": 5, + "StageID": 203321385 + }, + { + "EventID": 20332138, + "WorldLevel": 6, + "StageID": 203321386 + }, + { + "EventID": 20332139, + "WorldLevel": 0, + "StageID": 203321390 + }, + { + "EventID": 20332139, + "WorldLevel": 1, + "StageID": 203321391 + }, + { + "EventID": 20332139, + "WorldLevel": 2, + "StageID": 203321392 + }, + { + "EventID": 20332139, + "WorldLevel": 3, + "StageID": 203321393 + }, + { + "EventID": 20332139, + "WorldLevel": 4, + "StageID": 203321394 + }, + { + "EventID": 20332139, + "WorldLevel": 5, + "StageID": 203321395 + }, + { + "EventID": 20332139, + "WorldLevel": 6, + "StageID": 203321396 + }, + { + "EventID": 20332142, + "WorldLevel": 0, + "StageID": 203321420 + }, + { + "EventID": 20332142, + "WorldLevel": 1, + "StageID": 203321421 + }, + { + "EventID": 20332142, + "WorldLevel": 2, + "StageID": 203321422 + }, + { + "EventID": 20332142, + "WorldLevel": 3, + "StageID": 203321423 + }, + { + "EventID": 20332142, + "WorldLevel": 4, + "StageID": 203321424 + }, + { + "EventID": 20332142, + "WorldLevel": 5, + "StageID": 203321425 + }, + { + "EventID": 20332142, + "WorldLevel": 6, + "StageID": 203321426 + }, + { + "EventID": 20332143, + "WorldLevel": 0, + "StageID": 203321430 + }, + { + "EventID": 20332143, + "WorldLevel": 1, + "StageID": 203321431 + }, + { + "EventID": 20332143, + "WorldLevel": 2, + "StageID": 203321432 + }, + { + "EventID": 20332143, + "WorldLevel": 3, + "StageID": 203321433 + }, + { + "EventID": 20332143, + "WorldLevel": 4, + "StageID": 203321434 + }, + { + "EventID": 20332143, + "WorldLevel": 5, + "StageID": 203321435 + }, + { + "EventID": 20332143, + "WorldLevel": 6, + "StageID": 203321436 + }, + { + "EventID": 20332146, + "WorldLevel": 0, + "StageID": 203321460 + }, + { + "EventID": 20332146, + "WorldLevel": 1, + "StageID": 203321461 + }, + { + "EventID": 20332146, + "WorldLevel": 2, + "StageID": 203321462 + }, + { + "EventID": 20332146, + "WorldLevel": 3, + "StageID": 203321463 + }, + { + "EventID": 20332146, + "WorldLevel": 4, + "StageID": 203321464 + }, + { + "EventID": 20332146, + "WorldLevel": 5, + "StageID": 203321465 + }, + { + "EventID": 20332146, + "WorldLevel": 6, + "StageID": 203321466 + }, + { + "EventID": 20332147, + "WorldLevel": 0, + "StageID": 203321470 + }, + { + "EventID": 20332147, + "WorldLevel": 1, + "StageID": 203321471 + }, + { + "EventID": 20332147, + "WorldLevel": 2, + "StageID": 203321472 + }, + { + "EventID": 20332147, + "WorldLevel": 3, + "StageID": 203321473 + }, + { + "EventID": 20332147, + "WorldLevel": 4, + "StageID": 203321474 + }, + { + "EventID": 20332147, + "WorldLevel": 5, + "StageID": 203321475 + }, + { + "EventID": 20332147, + "WorldLevel": 6, + "StageID": 203321476 + }, + { + "EventID": 20332170, + "WorldLevel": 0, + "StageID": 203321700 + }, + { + "EventID": 20332170, + "WorldLevel": 1, + "StageID": 203321701 + }, + { + "EventID": 20332170, + "WorldLevel": 2, + "StageID": 203321702 + }, + { + "EventID": 20332170, + "WorldLevel": 3, + "StageID": 203321703 + }, + { + "EventID": 20332170, + "WorldLevel": 4, + "StageID": 203321704 + }, + { + "EventID": 20332170, + "WorldLevel": 5, + "StageID": 203321705 + }, + { + "EventID": 20332170, + "WorldLevel": 6, + "StageID": 203321706 + }, + { + "EventID": 20332171, + "WorldLevel": 0, + "StageID": 203321710 + }, + { + "EventID": 20332171, + "WorldLevel": 1, + "StageID": 203321711 + }, + { + "EventID": 20332171, + "WorldLevel": 2, + "StageID": 203321712 + }, + { + "EventID": 20332171, + "WorldLevel": 3, + "StageID": 203321713 + }, + { + "EventID": 20332171, + "WorldLevel": 4, + "StageID": 203321714 + }, + { + "EventID": 20332171, + "WorldLevel": 5, + "StageID": 203321715 + }, + { + "EventID": 20332171, + "WorldLevel": 6, + "StageID": 203321716 + }, + { + "EventID": 20332172, + "WorldLevel": 0, + "StageID": 203321720 + }, + { + "EventID": 20332172, + "WorldLevel": 1, + "StageID": 203321721 + }, + { + "EventID": 20332172, + "WorldLevel": 2, + "StageID": 203321722 + }, + { + "EventID": 20332172, + "WorldLevel": 3, + "StageID": 203321723 + }, + { + "EventID": 20332172, + "WorldLevel": 4, + "StageID": 203321724 + }, + { + "EventID": 20332172, + "WorldLevel": 5, + "StageID": 203321725 + }, + { + "EventID": 20332172, + "WorldLevel": 6, + "StageID": 203321726 + }, + { + "EventID": 20332173, + "WorldLevel": 0, + "StageID": 203321730 + }, + { + "EventID": 20332173, + "WorldLevel": 1, + "StageID": 203321731 + }, + { + "EventID": 20332173, + "WorldLevel": 2, + "StageID": 203321732 + }, + { + "EventID": 20332173, + "WorldLevel": 3, + "StageID": 203321733 + }, + { + "EventID": 20332173, + "WorldLevel": 4, + "StageID": 203321734 + }, + { + "EventID": 20332173, + "WorldLevel": 5, + "StageID": 203321735 + }, + { + "EventID": 20332173, + "WorldLevel": 6, + "StageID": 203321736 + }, + { + "EventID": 20332174, + "WorldLevel": 0, + "StageID": 203321740 + }, + { + "EventID": 20332174, + "WorldLevel": 1, + "StageID": 203321741 + }, + { + "EventID": 20332174, + "WorldLevel": 2, + "StageID": 203321742 + }, + { + "EventID": 20332174, + "WorldLevel": 3, + "StageID": 203321743 + }, + { + "EventID": 20332174, + "WorldLevel": 4, + "StageID": 203321744 + }, + { + "EventID": 20332174, + "WorldLevel": 5, + "StageID": 203321745 + }, + { + "EventID": 20332174, + "WorldLevel": 6, + "StageID": 203321746 + }, + { + "EventID": 20332175, + "WorldLevel": 0, + "StageID": 203321750 + }, + { + "EventID": 20332175, + "WorldLevel": 1, + "StageID": 203321751 + }, + { + "EventID": 20332175, + "WorldLevel": 2, + "StageID": 203321752 + }, + { + "EventID": 20332175, + "WorldLevel": 3, + "StageID": 203321753 + }, + { + "EventID": 20332175, + "WorldLevel": 4, + "StageID": 203321754 + }, + { + "EventID": 20332175, + "WorldLevel": 5, + "StageID": 203321755 + }, + { + "EventID": 20332175, + "WorldLevel": 6, + "StageID": 203321756 + }, + { + "EventID": 20332181, + "WorldLevel": 0, + "StageID": 203321810 + }, + { + "EventID": 20332181, + "WorldLevel": 1, + "StageID": 203321811 + }, + { + "EventID": 20332181, + "WorldLevel": 2, + "StageID": 203321812 + }, + { + "EventID": 20332181, + "WorldLevel": 3, + "StageID": 203321813 + }, + { + "EventID": 20332181, + "WorldLevel": 4, + "StageID": 203321814 + }, + { + "EventID": 20332181, + "WorldLevel": 5, + "StageID": 203321815 + }, + { + "EventID": 20332181, + "WorldLevel": 6, + "StageID": 203321816 + }, + { + "EventID": 20332182, + "WorldLevel": 0, + "StageID": 203321820 + }, + { + "EventID": 20332182, + "WorldLevel": 1, + "StageID": 203321821 + }, + { + "EventID": 20332182, + "WorldLevel": 2, + "StageID": 203321822 + }, + { + "EventID": 20332182, + "WorldLevel": 3, + "StageID": 203321823 + }, + { + "EventID": 20332182, + "WorldLevel": 4, + "StageID": 203321824 + }, + { + "EventID": 20332182, + "WorldLevel": 5, + "StageID": 203321825 + }, + { + "EventID": 20332182, + "WorldLevel": 6, + "StageID": 203321826 + }, + { + "EventID": 20332183, + "WorldLevel": 0, + "StageID": 203321830 + }, + { + "EventID": 20332183, + "WorldLevel": 1, + "StageID": 203321831 + }, + { + "EventID": 20332183, + "WorldLevel": 2, + "StageID": 203321832 + }, + { + "EventID": 20332183, + "WorldLevel": 3, + "StageID": 203321833 + }, + { + "EventID": 20332183, + "WorldLevel": 4, + "StageID": 203321834 + }, + { + "EventID": 20332183, + "WorldLevel": 5, + "StageID": 203321835 + }, + { + "EventID": 20332183, + "WorldLevel": 6, + "StageID": 203321836 + }, + { + "EventID": 20332184, + "WorldLevel": 0, + "StageID": 203321840 + }, + { + "EventID": 20332184, + "WorldLevel": 1, + "StageID": 203321841 + }, + { + "EventID": 20332184, + "WorldLevel": 2, + "StageID": 203321842 + }, + { + "EventID": 20332184, + "WorldLevel": 3, + "StageID": 203321843 + }, + { + "EventID": 20332184, + "WorldLevel": 4, + "StageID": 203321844 + }, + { + "EventID": 20332184, + "WorldLevel": 5, + "StageID": 203321845 + }, + { + "EventID": 20332184, + "WorldLevel": 6, + "StageID": 203321846 + }, + { + "EventID": 20332185, + "WorldLevel": 0, + "StageID": 203321850 + }, + { + "EventID": 20332185, + "WorldLevel": 1, + "StageID": 203321851 + }, + { + "EventID": 20332185, + "WorldLevel": 2, + "StageID": 203321852 + }, + { + "EventID": 20332185, + "WorldLevel": 3, + "StageID": 203321853 + }, + { + "EventID": 20332185, + "WorldLevel": 4, + "StageID": 203321854 + }, + { + "EventID": 20332185, + "WorldLevel": 5, + "StageID": 203321855 + }, + { + "EventID": 20332185, + "WorldLevel": 6, + "StageID": 203321856 + }, + { + "EventID": 20332191, + "WorldLevel": 0, + "StageID": 203321910 + }, + { + "EventID": 20332191, + "WorldLevel": 1, + "StageID": 203321911 + }, + { + "EventID": 20332191, + "WorldLevel": 2, + "StageID": 203321912 + }, + { + "EventID": 20332191, + "WorldLevel": 3, + "StageID": 203321913 + }, + { + "EventID": 20332191, + "WorldLevel": 4, + "StageID": 203321914 + }, + { + "EventID": 20332191, + "WorldLevel": 5, + "StageID": 203321915 + }, + { + "EventID": 20332191, + "WorldLevel": 6, + "StageID": 203321916 + }, + { + "EventID": 20332192, + "WorldLevel": 0, + "StageID": 203321920 + }, + { + "EventID": 20332192, + "WorldLevel": 1, + "StageID": 203321921 + }, + { + "EventID": 20332192, + "WorldLevel": 2, + "StageID": 203321922 + }, + { + "EventID": 20332192, + "WorldLevel": 3, + "StageID": 203321923 + }, + { + "EventID": 20332192, + "WorldLevel": 4, + "StageID": 203321924 + }, + { + "EventID": 20332192, + "WorldLevel": 5, + "StageID": 203321925 + }, + { + "EventID": 20332192, + "WorldLevel": 6, + "StageID": 203321926 + }, + { + "EventID": 20332193, + "WorldLevel": 0, + "StageID": 203321930 + }, + { + "EventID": 20332193, + "WorldLevel": 1, + "StageID": 203321931 + }, + { + "EventID": 20332193, + "WorldLevel": 2, + "StageID": 203321932 + }, + { + "EventID": 20332193, + "WorldLevel": 3, + "StageID": 203321933 + }, + { + "EventID": 20332193, + "WorldLevel": 4, + "StageID": 203321934 + }, + { + "EventID": 20332193, + "WorldLevel": 5, + "StageID": 203321935 + }, + { + "EventID": 20332193, + "WorldLevel": 6, + "StageID": 203321936 + }, + { + "EventID": 20332194, + "WorldLevel": 0, + "StageID": 203321940 + }, + { + "EventID": 20332194, + "WorldLevel": 1, + "StageID": 203321941 + }, + { + "EventID": 20332194, + "WorldLevel": 2, + "StageID": 203321942 + }, + { + "EventID": 20332194, + "WorldLevel": 3, + "StageID": 203321943 + }, + { + "EventID": 20332194, + "WorldLevel": 4, + "StageID": 203321944 + }, + { + "EventID": 20332194, + "WorldLevel": 5, + "StageID": 203321945 + }, + { + "EventID": 20332194, + "WorldLevel": 6, + "StageID": 203321946 + }, + { + "EventID": 20332195, + "WorldLevel": 0, + "StageID": 203321950 + }, + { + "EventID": 20332195, + "WorldLevel": 1, + "StageID": 203321951 + }, + { + "EventID": 20332195, + "WorldLevel": 2, + "StageID": 203321952 + }, + { + "EventID": 20332195, + "WorldLevel": 3, + "StageID": 203321953 + }, + { + "EventID": 20332195, + "WorldLevel": 4, + "StageID": 203321954 + }, + { + "EventID": 20332195, + "WorldLevel": 5, + "StageID": 203321955 + }, + { + "EventID": 20332195, + "WorldLevel": 6, + "StageID": 203321956 + }, + { + "EventID": 20332196, + "WorldLevel": 0, + "StageID": 203321960 + }, + { + "EventID": 20332196, + "WorldLevel": 1, + "StageID": 203321961 + }, + { + "EventID": 20332196, + "WorldLevel": 2, + "StageID": 203321962 + }, + { + "EventID": 20332196, + "WorldLevel": 3, + "StageID": 203321963 + }, + { + "EventID": 20332196, + "WorldLevel": 4, + "StageID": 203321964 + }, + { + "EventID": 20332196, + "WorldLevel": 5, + "StageID": 203321965 + }, + { + "EventID": 20332196, + "WorldLevel": 6, + "StageID": 203321966 + }, + { + "EventID": 20332197, + "WorldLevel": 0, + "StageID": 203321970 + }, + { + "EventID": 20332197, + "WorldLevel": 1, + "StageID": 203321971 + }, + { + "EventID": 20332197, + "WorldLevel": 2, + "StageID": 203321972 + }, + { + "EventID": 20332197, + "WorldLevel": 3, + "StageID": 203321973 + }, + { + "EventID": 20332197, + "WorldLevel": 4, + "StageID": 203321974 + }, + { + "EventID": 20332197, + "WorldLevel": 5, + "StageID": 203321975 + }, + { + "EventID": 20332197, + "WorldLevel": 6, + "StageID": 203321976 + }, + { + "EventID": 20332198, + "WorldLevel": 0, + "StageID": 203321980 + }, + { + "EventID": 20332198, + "WorldLevel": 1, + "StageID": 203321981 + }, + { + "EventID": 20332198, + "WorldLevel": 2, + "StageID": 203321982 + }, + { + "EventID": 20332198, + "WorldLevel": 3, + "StageID": 203321983 + }, + { + "EventID": 20332198, + "WorldLevel": 4, + "StageID": 203321984 + }, + { + "EventID": 20332198, + "WorldLevel": 5, + "StageID": 203321985 + }, + { + "EventID": 20332198, + "WorldLevel": 6, + "StageID": 203321986 + }, + { + "EventID": 20332231, + "WorldLevel": 0, + "StageID": 203322310 + }, + { + "EventID": 20332231, + "WorldLevel": 1, + "StageID": 203322311 + }, + { + "EventID": 20332231, + "WorldLevel": 2, + "StageID": 203322312 + }, + { + "EventID": 20332231, + "WorldLevel": 3, + "StageID": 203322313 + }, + { + "EventID": 20332231, + "WorldLevel": 4, + "StageID": 203322314 + }, + { + "EventID": 20332231, + "WorldLevel": 5, + "StageID": 203322315 + }, + { + "EventID": 20332231, + "WorldLevel": 6, + "StageID": 203322316 + }, + { + "EventID": 20332232, + "WorldLevel": 0, + "StageID": 203322320 + }, + { + "EventID": 20332232, + "WorldLevel": 1, + "StageID": 203322321 + }, + { + "EventID": 20332232, + "WorldLevel": 2, + "StageID": 203322322 + }, + { + "EventID": 20332232, + "WorldLevel": 3, + "StageID": 203322323 + }, + { + "EventID": 20332232, + "WorldLevel": 4, + "StageID": 203322324 + }, + { + "EventID": 20332232, + "WorldLevel": 5, + "StageID": 203322325 + }, + { + "EventID": 20332232, + "WorldLevel": 6, + "StageID": 203322326 + }, + { + "EventID": 20332235, + "WorldLevel": 0, + "StageID": 203322350 + }, + { + "EventID": 20332235, + "WorldLevel": 1, + "StageID": 203322351 + }, + { + "EventID": 20332235, + "WorldLevel": 2, + "StageID": 203322352 + }, + { + "EventID": 20332235, + "WorldLevel": 3, + "StageID": 203322353 + }, + { + "EventID": 20332235, + "WorldLevel": 4, + "StageID": 203322354 + }, + { + "EventID": 20332235, + "WorldLevel": 5, + "StageID": 203322355 + }, + { + "EventID": 20332235, + "WorldLevel": 6, + "StageID": 203322356 + }, + { + "EventID": 20332236, + "WorldLevel": 0, + "StageID": 203322360 + }, + { + "EventID": 20332236, + "WorldLevel": 1, + "StageID": 203322361 + }, + { + "EventID": 20332236, + "WorldLevel": 2, + "StageID": 203322362 + }, + { + "EventID": 20332236, + "WorldLevel": 3, + "StageID": 203322363 + }, + { + "EventID": 20332236, + "WorldLevel": 4, + "StageID": 203322364 + }, + { + "EventID": 20332236, + "WorldLevel": 5, + "StageID": 203322365 + }, + { + "EventID": 20332236, + "WorldLevel": 6, + "StageID": 203322366 + }, + { + "EventID": 20332237, + "WorldLevel": 0, + "StageID": 203322370 + }, + { + "EventID": 20332237, + "WorldLevel": 1, + "StageID": 203322371 + }, + { + "EventID": 20332237, + "WorldLevel": 2, + "StageID": 203322372 + }, + { + "EventID": 20332237, + "WorldLevel": 3, + "StageID": 203322373 + }, + { + "EventID": 20332237, + "WorldLevel": 4, + "StageID": 203322374 + }, + { + "EventID": 20332237, + "WorldLevel": 5, + "StageID": 203322375 + }, + { + "EventID": 20332237, + "WorldLevel": 6, + "StageID": 203322376 + }, + { + "EventID": 20411001, + "WorldLevel": 0, + "StageID": 204110010 + }, + { + "EventID": 20411001, + "WorldLevel": 1, + "StageID": 204110011 + }, + { + "EventID": 20411001, + "WorldLevel": 2, + "StageID": 204110012 + }, + { + "EventID": 20411001, + "WorldLevel": 3, + "StageID": 204110013 + }, + { + "EventID": 20411001, + "WorldLevel": 4, + "StageID": 204110014 + }, + { + "EventID": 20411001, + "WorldLevel": 5, + "StageID": 204110015 + }, + { + "EventID": 20411001, + "WorldLevel": 6, + "StageID": 204110016 + }, + { + "EventID": 20411002, + "WorldLevel": 0, + "StageID": 204110020 + }, + { + "EventID": 20411002, + "WorldLevel": 1, + "StageID": 204110021 + }, + { + "EventID": 20411002, + "WorldLevel": 2, + "StageID": 204110022 + }, + { + "EventID": 20411002, + "WorldLevel": 3, + "StageID": 204110023 + }, + { + "EventID": 20411002, + "WorldLevel": 4, + "StageID": 204110024 + }, + { + "EventID": 20411002, + "WorldLevel": 5, + "StageID": 204110025 + }, + { + "EventID": 20411002, + "WorldLevel": 6, + "StageID": 204110026 + }, + { + "EventID": 20411003, + "WorldLevel": 0, + "StageID": 204110030 + }, + { + "EventID": 20411003, + "WorldLevel": 1, + "StageID": 204110031 + }, + { + "EventID": 20411003, + "WorldLevel": 2, + "StageID": 204110032 + }, + { + "EventID": 20411003, + "WorldLevel": 3, + "StageID": 204110033 + }, + { + "EventID": 20411003, + "WorldLevel": 4, + "StageID": 204110034 + }, + { + "EventID": 20411003, + "WorldLevel": 5, + "StageID": 204110035 + }, + { + "EventID": 20411003, + "WorldLevel": 6, + "StageID": 204110036 + }, + { + "EventID": 20411004, + "WorldLevel": 0, + "StageID": 204110040 + }, + { + "EventID": 20411004, + "WorldLevel": 1, + "StageID": 204110041 + }, + { + "EventID": 20411004, + "WorldLevel": 2, + "StageID": 204110042 + }, + { + "EventID": 20411004, + "WorldLevel": 3, + "StageID": 204110043 + }, + { + "EventID": 20411004, + "WorldLevel": 4, + "StageID": 204110044 + }, + { + "EventID": 20411004, + "WorldLevel": 5, + "StageID": 204110045 + }, + { + "EventID": 20411004, + "WorldLevel": 6, + "StageID": 204110046 + }, + { + "EventID": 20411005, + "WorldLevel": 0, + "StageID": 204110050 + }, + { + "EventID": 20411005, + "WorldLevel": 1, + "StageID": 204110051 + }, + { + "EventID": 20411005, + "WorldLevel": 2, + "StageID": 204110052 + }, + { + "EventID": 20411005, + "WorldLevel": 3, + "StageID": 204110053 + }, + { + "EventID": 20411005, + "WorldLevel": 4, + "StageID": 204110054 + }, + { + "EventID": 20411005, + "WorldLevel": 5, + "StageID": 204110055 + }, + { + "EventID": 20411005, + "WorldLevel": 6, + "StageID": 204110056 + }, + { + "EventID": 20411006, + "WorldLevel": 0, + "StageID": 204110060 + }, + { + "EventID": 20411006, + "WorldLevel": 1, + "StageID": 204110061 + }, + { + "EventID": 20411006, + "WorldLevel": 2, + "StageID": 204110062 + }, + { + "EventID": 20411006, + "WorldLevel": 3, + "StageID": 204110063 + }, + { + "EventID": 20411006, + "WorldLevel": 4, + "StageID": 204110064 + }, + { + "EventID": 20411006, + "WorldLevel": 5, + "StageID": 204110065 + }, + { + "EventID": 20411006, + "WorldLevel": 6, + "StageID": 204110066 + }, + { + "EventID": 20411007, + "WorldLevel": 0, + "StageID": 204110070 + }, + { + "EventID": 20411007, + "WorldLevel": 1, + "StageID": 204110071 + }, + { + "EventID": 20411007, + "WorldLevel": 2, + "StageID": 204110072 + }, + { + "EventID": 20411007, + "WorldLevel": 3, + "StageID": 204110073 + }, + { + "EventID": 20411007, + "WorldLevel": 4, + "StageID": 204110074 + }, + { + "EventID": 20411007, + "WorldLevel": 5, + "StageID": 204110075 + }, + { + "EventID": 20411007, + "WorldLevel": 6, + "StageID": 204110076 + }, + { + "EventID": 20411008, + "WorldLevel": 0, + "StageID": 204110080 + }, + { + "EventID": 20411008, + "WorldLevel": 1, + "StageID": 204110081 + }, + { + "EventID": 20411008, + "WorldLevel": 2, + "StageID": 204110082 + }, + { + "EventID": 20411008, + "WorldLevel": 3, + "StageID": 204110083 + }, + { + "EventID": 20411008, + "WorldLevel": 4, + "StageID": 204110084 + }, + { + "EventID": 20411008, + "WorldLevel": 5, + "StageID": 204110085 + }, + { + "EventID": 20411008, + "WorldLevel": 6, + "StageID": 204110086 + }, + { + "EventID": 20411009, + "WorldLevel": 0, + "StageID": 204110090 + }, + { + "EventID": 20411009, + "WorldLevel": 1, + "StageID": 204110091 + }, + { + "EventID": 20411009, + "WorldLevel": 2, + "StageID": 204110092 + }, + { + "EventID": 20411009, + "WorldLevel": 3, + "StageID": 204110093 + }, + { + "EventID": 20411009, + "WorldLevel": 4, + "StageID": 204110094 + }, + { + "EventID": 20411009, + "WorldLevel": 5, + "StageID": 204110095 + }, + { + "EventID": 20411009, + "WorldLevel": 6, + "StageID": 204110096 + }, + { + "EventID": 20411011, + "WorldLevel": 0, + "StageID": 204110110 + }, + { + "EventID": 20411011, + "WorldLevel": 1, + "StageID": 204110111 + }, + { + "EventID": 20411011, + "WorldLevel": 2, + "StageID": 204110112 + }, + { + "EventID": 20411011, + "WorldLevel": 3, + "StageID": 204110113 + }, + { + "EventID": 20411011, + "WorldLevel": 4, + "StageID": 204110114 + }, + { + "EventID": 20411011, + "WorldLevel": 5, + "StageID": 204110115 + }, + { + "EventID": 20411011, + "WorldLevel": 6, + "StageID": 204110116 + }, + { + "EventID": 20411012, + "WorldLevel": 0, + "StageID": 204110120 + }, + { + "EventID": 20411012, + "WorldLevel": 1, + "StageID": 204110121 + }, + { + "EventID": 20411012, + "WorldLevel": 2, + "StageID": 204110122 + }, + { + "EventID": 20411012, + "WorldLevel": 3, + "StageID": 204110123 + }, + { + "EventID": 20411012, + "WorldLevel": 4, + "StageID": 204110124 + }, + { + "EventID": 20411012, + "WorldLevel": 5, + "StageID": 204110125 + }, + { + "EventID": 20411012, + "WorldLevel": 6, + "StageID": 204110126 + }, + { + "EventID": 20411014, + "WorldLevel": 0, + "StageID": 204110140 + }, + { + "EventID": 20411014, + "WorldLevel": 1, + "StageID": 204110141 + }, + { + "EventID": 20411014, + "WorldLevel": 2, + "StageID": 204110142 + }, + { + "EventID": 20411014, + "WorldLevel": 3, + "StageID": 204110143 + }, + { + "EventID": 20411014, + "WorldLevel": 4, + "StageID": 204110144 + }, + { + "EventID": 20411014, + "WorldLevel": 5, + "StageID": 204110145 + }, + { + "EventID": 20411014, + "WorldLevel": 6, + "StageID": 204110146 + }, + { + "EventID": 20411015, + "WorldLevel": 0, + "StageID": 204110150 + }, + { + "EventID": 20411015, + "WorldLevel": 1, + "StageID": 204110151 + }, + { + "EventID": 20411015, + "WorldLevel": 2, + "StageID": 204110152 + }, + { + "EventID": 20411015, + "WorldLevel": 3, + "StageID": 204110153 + }, + { + "EventID": 20411015, + "WorldLevel": 4, + "StageID": 204110154 + }, + { + "EventID": 20411015, + "WorldLevel": 5, + "StageID": 204110155 + }, + { + "EventID": 20411015, + "WorldLevel": 6, + "StageID": 204110156 + }, + { + "EventID": 20411016, + "WorldLevel": 0, + "StageID": 204110160 + }, + { + "EventID": 20411016, + "WorldLevel": 1, + "StageID": 204110161 + }, + { + "EventID": 20411016, + "WorldLevel": 2, + "StageID": 204110162 + }, + { + "EventID": 20411016, + "WorldLevel": 3, + "StageID": 204110163 + }, + { + "EventID": 20411016, + "WorldLevel": 4, + "StageID": 204110164 + }, + { + "EventID": 20411016, + "WorldLevel": 5, + "StageID": 204110165 + }, + { + "EventID": 20411016, + "WorldLevel": 6, + "StageID": 204110166 + }, + { + "EventID": 20411017, + "WorldLevel": 0, + "StageID": 204110170 + }, + { + "EventID": 20411017, + "WorldLevel": 1, + "StageID": 204110171 + }, + { + "EventID": 20411017, + "WorldLevel": 2, + "StageID": 204110172 + }, + { + "EventID": 20411017, + "WorldLevel": 3, + "StageID": 204110173 + }, + { + "EventID": 20411017, + "WorldLevel": 4, + "StageID": 204110174 + }, + { + "EventID": 20411017, + "WorldLevel": 5, + "StageID": 204110175 + }, + { + "EventID": 20411017, + "WorldLevel": 6, + "StageID": 204110176 + }, + { + "EventID": 20411018, + "WorldLevel": 0, + "StageID": 204110180 + }, + { + "EventID": 20411018, + "WorldLevel": 1, + "StageID": 204110181 + }, + { + "EventID": 20411018, + "WorldLevel": 2, + "StageID": 204110182 + }, + { + "EventID": 20411018, + "WorldLevel": 3, + "StageID": 204110183 + }, + { + "EventID": 20411018, + "WorldLevel": 4, + "StageID": 204110184 + }, + { + "EventID": 20411018, + "WorldLevel": 5, + "StageID": 204110185 + }, + { + "EventID": 20411018, + "WorldLevel": 6, + "StageID": 204110186 + }, + { + "EventID": 20411019, + "WorldLevel": 0, + "StageID": 204110190 + }, + { + "EventID": 20411019, + "WorldLevel": 1, + "StageID": 204110191 + }, + { + "EventID": 20411019, + "WorldLevel": 2, + "StageID": 204110192 + }, + { + "EventID": 20411019, + "WorldLevel": 3, + "StageID": 204110193 + }, + { + "EventID": 20411019, + "WorldLevel": 4, + "StageID": 204110194 + }, + { + "EventID": 20411019, + "WorldLevel": 5, + "StageID": 204110195 + }, + { + "EventID": 20411019, + "WorldLevel": 6, + "StageID": 204110196 + }, + { + "EventID": 20411020, + "WorldLevel": 0, + "StageID": 204110200 + }, + { + "EventID": 20411020, + "WorldLevel": 1, + "StageID": 204110201 + }, + { + "EventID": 20411020, + "WorldLevel": 2, + "StageID": 204110202 + }, + { + "EventID": 20411020, + "WorldLevel": 3, + "StageID": 204110203 + }, + { + "EventID": 20411020, + "WorldLevel": 4, + "StageID": 204110204 + }, + { + "EventID": 20411020, + "WorldLevel": 5, + "StageID": 204110205 + }, + { + "EventID": 20411020, + "WorldLevel": 6, + "StageID": 204110206 + }, + { + "EventID": 20411021, + "WorldLevel": 0, + "StageID": 204110210 + }, + { + "EventID": 20411021, + "WorldLevel": 1, + "StageID": 204110211 + }, + { + "EventID": 20411021, + "WorldLevel": 2, + "StageID": 204110212 + }, + { + "EventID": 20411021, + "WorldLevel": 3, + "StageID": 204110213 + }, + { + "EventID": 20411021, + "WorldLevel": 4, + "StageID": 204110214 + }, + { + "EventID": 20411021, + "WorldLevel": 5, + "StageID": 204110215 + }, + { + "EventID": 20411021, + "WorldLevel": 6, + "StageID": 204110216 + }, + { + "EventID": 20411022, + "WorldLevel": 0, + "StageID": 204110220 + }, + { + "EventID": 20411022, + "WorldLevel": 1, + "StageID": 204110221 + }, + { + "EventID": 20411022, + "WorldLevel": 2, + "StageID": 204110222 + }, + { + "EventID": 20411022, + "WorldLevel": 3, + "StageID": 204110223 + }, + { + "EventID": 20411022, + "WorldLevel": 4, + "StageID": 204110224 + }, + { + "EventID": 20411022, + "WorldLevel": 5, + "StageID": 204110225 + }, + { + "EventID": 20411022, + "WorldLevel": 6, + "StageID": 204110226 + }, + { + "EventID": 20411023, + "WorldLevel": 0, + "StageID": 204110230 + }, + { + "EventID": 20411023, + "WorldLevel": 1, + "StageID": 204110231 + }, + { + "EventID": 20411023, + "WorldLevel": 2, + "StageID": 204110232 + }, + { + "EventID": 20411023, + "WorldLevel": 3, + "StageID": 204110233 + }, + { + "EventID": 20411023, + "WorldLevel": 4, + "StageID": 204110234 + }, + { + "EventID": 20411023, + "WorldLevel": 5, + "StageID": 204110235 + }, + { + "EventID": 20411023, + "WorldLevel": 6, + "StageID": 204110236 + }, + { + "EventID": 20411024, + "WorldLevel": 0, + "StageID": 204110240 + }, + { + "EventID": 20411024, + "WorldLevel": 1, + "StageID": 204110241 + }, + { + "EventID": 20411024, + "WorldLevel": 2, + "StageID": 204110242 + }, + { + "EventID": 20411024, + "WorldLevel": 3, + "StageID": 204110243 + }, + { + "EventID": 20411024, + "WorldLevel": 4, + "StageID": 204110244 + }, + { + "EventID": 20411024, + "WorldLevel": 5, + "StageID": 204110245 + }, + { + "EventID": 20411024, + "WorldLevel": 6, + "StageID": 204110246 + }, + { + "EventID": 20411026, + "WorldLevel": 0, + "StageID": 204110260 + }, + { + "EventID": 20411026, + "WorldLevel": 1, + "StageID": 204110261 + }, + { + "EventID": 20411026, + "WorldLevel": 2, + "StageID": 204110262 + }, + { + "EventID": 20411026, + "WorldLevel": 3, + "StageID": 204110263 + }, + { + "EventID": 20411026, + "WorldLevel": 4, + "StageID": 204110264 + }, + { + "EventID": 20411026, + "WorldLevel": 5, + "StageID": 204110265 + }, + { + "EventID": 20411026, + "WorldLevel": 6, + "StageID": 204110266 + }, + { + "EventID": 20411027, + "WorldLevel": 0, + "StageID": 204110270 + }, + { + "EventID": 20411027, + "WorldLevel": 1, + "StageID": 204110271 + }, + { + "EventID": 20411027, + "WorldLevel": 2, + "StageID": 204110272 + }, + { + "EventID": 20411027, + "WorldLevel": 3, + "StageID": 204110273 + }, + { + "EventID": 20411027, + "WorldLevel": 4, + "StageID": 204110274 + }, + { + "EventID": 20411027, + "WorldLevel": 5, + "StageID": 204110275 + }, + { + "EventID": 20411027, + "WorldLevel": 6, + "StageID": 204110276 + }, + { + "EventID": 20411028, + "WorldLevel": 0, + "StageID": 204110280 + }, + { + "EventID": 20411028, + "WorldLevel": 1, + "StageID": 204110281 + }, + { + "EventID": 20411028, + "WorldLevel": 2, + "StageID": 204110282 + }, + { + "EventID": 20411028, + "WorldLevel": 3, + "StageID": 204110283 + }, + { + "EventID": 20411028, + "WorldLevel": 4, + "StageID": 204110284 + }, + { + "EventID": 20411028, + "WorldLevel": 5, + "StageID": 204110285 + }, + { + "EventID": 20411028, + "WorldLevel": 6, + "StageID": 204110286 + }, + { + "EventID": 20411029, + "WorldLevel": 0, + "StageID": 204110290 + }, + { + "EventID": 20411029, + "WorldLevel": 1, + "StageID": 204110291 + }, + { + "EventID": 20411029, + "WorldLevel": 2, + "StageID": 204110292 + }, + { + "EventID": 20411029, + "WorldLevel": 3, + "StageID": 204110293 + }, + { + "EventID": 20411029, + "WorldLevel": 4, + "StageID": 204110294 + }, + { + "EventID": 20411029, + "WorldLevel": 5, + "StageID": 204110295 + }, + { + "EventID": 20411029, + "WorldLevel": 6, + "StageID": 204110296 + }, + { + "EventID": 20411030, + "WorldLevel": 0, + "StageID": 204110300 + }, + { + "EventID": 20411030, + "WorldLevel": 1, + "StageID": 204110301 + }, + { + "EventID": 20411030, + "WorldLevel": 2, + "StageID": 204110302 + }, + { + "EventID": 20411030, + "WorldLevel": 3, + "StageID": 204110303 + }, + { + "EventID": 20411030, + "WorldLevel": 4, + "StageID": 204110304 + }, + { + "EventID": 20411030, + "WorldLevel": 5, + "StageID": 204110305 + }, + { + "EventID": 20411030, + "WorldLevel": 6, + "StageID": 204110306 + }, + { + "EventID": 20411035, + "WorldLevel": 0, + "StageID": 204110350 + }, + { + "EventID": 20411035, + "WorldLevel": 1, + "StageID": 204110351 + }, + { + "EventID": 20411035, + "WorldLevel": 2, + "StageID": 204110352 + }, + { + "EventID": 20411035, + "WorldLevel": 3, + "StageID": 204110353 + }, + { + "EventID": 20411035, + "WorldLevel": 4, + "StageID": 204110354 + }, + { + "EventID": 20411035, + "WorldLevel": 5, + "StageID": 204110355 + }, + { + "EventID": 20411035, + "WorldLevel": 6, + "StageID": 204110356 + }, + { + "EventID": 20411036, + "WorldLevel": 0, + "StageID": 204110360 + }, + { + "EventID": 20411036, + "WorldLevel": 1, + "StageID": 204110361 + }, + { + "EventID": 20411036, + "WorldLevel": 2, + "StageID": 204110362 + }, + { + "EventID": 20411036, + "WorldLevel": 3, + "StageID": 204110363 + }, + { + "EventID": 20411036, + "WorldLevel": 4, + "StageID": 204110364 + }, + { + "EventID": 20411036, + "WorldLevel": 5, + "StageID": 204110365 + }, + { + "EventID": 20411036, + "WorldLevel": 6, + "StageID": 204110366 + }, + { + "EventID": 20411037, + "WorldLevel": 0, + "StageID": 204110370 + }, + { + "EventID": 20411037, + "WorldLevel": 1, + "StageID": 204110371 + }, + { + "EventID": 20411037, + "WorldLevel": 2, + "StageID": 204110372 + }, + { + "EventID": 20411037, + "WorldLevel": 3, + "StageID": 204110373 + }, + { + "EventID": 20411037, + "WorldLevel": 4, + "StageID": 204110374 + }, + { + "EventID": 20411037, + "WorldLevel": 5, + "StageID": 204110375 + }, + { + "EventID": 20411037, + "WorldLevel": 6, + "StageID": 204110376 + }, + { + "EventID": 20411038, + "WorldLevel": 0, + "StageID": 204110380 + }, + { + "EventID": 20411038, + "WorldLevel": 1, + "StageID": 204110381 + }, + { + "EventID": 20411038, + "WorldLevel": 2, + "StageID": 204110382 + }, + { + "EventID": 20411038, + "WorldLevel": 3, + "StageID": 204110383 + }, + { + "EventID": 20411038, + "WorldLevel": 4, + "StageID": 204110384 + }, + { + "EventID": 20411038, + "WorldLevel": 5, + "StageID": 204110385 + }, + { + "EventID": 20411038, + "WorldLevel": 6, + "StageID": 204110386 + }, + { + "EventID": 20411039, + "WorldLevel": 0, + "StageID": 204110390 + }, + { + "EventID": 20411039, + "WorldLevel": 1, + "StageID": 204110391 + }, + { + "EventID": 20411039, + "WorldLevel": 2, + "StageID": 204110392 + }, + { + "EventID": 20411039, + "WorldLevel": 3, + "StageID": 204110393 + }, + { + "EventID": 20411039, + "WorldLevel": 4, + "StageID": 204110394 + }, + { + "EventID": 20411039, + "WorldLevel": 5, + "StageID": 204110395 + }, + { + "EventID": 20411039, + "WorldLevel": 6, + "StageID": 204110396 + }, + { + "EventID": 20411051, + "WorldLevel": 0, + "StageID": 204110510 + }, + { + "EventID": 20411051, + "WorldLevel": 1, + "StageID": 204110511 + }, + { + "EventID": 20411051, + "WorldLevel": 2, + "StageID": 204110512 + }, + { + "EventID": 20411051, + "WorldLevel": 3, + "StageID": 204110513 + }, + { + "EventID": 20411051, + "WorldLevel": 4, + "StageID": 204110514 + }, + { + "EventID": 20411051, + "WorldLevel": 5, + "StageID": 204110515 + }, + { + "EventID": 20411051, + "WorldLevel": 6, + "StageID": 204110516 + }, + { + "EventID": 20411052, + "WorldLevel": 0, + "StageID": 204110520 + }, + { + "EventID": 20411052, + "WorldLevel": 1, + "StageID": 204110521 + }, + { + "EventID": 20411052, + "WorldLevel": 2, + "StageID": 204110522 + }, + { + "EventID": 20411052, + "WorldLevel": 3, + "StageID": 204110523 + }, + { + "EventID": 20411052, + "WorldLevel": 4, + "StageID": 204110524 + }, + { + "EventID": 20411052, + "WorldLevel": 5, + "StageID": 204110525 + }, + { + "EventID": 20411052, + "WorldLevel": 6, + "StageID": 204110526 + }, + { + "EventID": 20411053, + "WorldLevel": 0, + "StageID": 204110530 + }, + { + "EventID": 20411053, + "WorldLevel": 1, + "StageID": 204110531 + }, + { + "EventID": 20411053, + "WorldLevel": 2, + "StageID": 204110532 + }, + { + "EventID": 20411053, + "WorldLevel": 3, + "StageID": 204110533 + }, + { + "EventID": 20411053, + "WorldLevel": 4, + "StageID": 204110534 + }, + { + "EventID": 20411053, + "WorldLevel": 5, + "StageID": 204110535 + }, + { + "EventID": 20411053, + "WorldLevel": 6, + "StageID": 204110536 + }, + { + "EventID": 20411054, + "WorldLevel": 0, + "StageID": 204110540 + }, + { + "EventID": 20411054, + "WorldLevel": 1, + "StageID": 204110541 + }, + { + "EventID": 20411054, + "WorldLevel": 2, + "StageID": 204110542 + }, + { + "EventID": 20411054, + "WorldLevel": 3, + "StageID": 204110543 + }, + { + "EventID": 20411054, + "WorldLevel": 4, + "StageID": 204110544 + }, + { + "EventID": 20411054, + "WorldLevel": 5, + "StageID": 204110545 + }, + { + "EventID": 20411054, + "WorldLevel": 6, + "StageID": 204110546 + }, + { + "EventID": 20411091, + "WorldLevel": 0, + "StageID": 204110910 + }, + { + "EventID": 20411091, + "WorldLevel": 1, + "StageID": 204110911 + }, + { + "EventID": 20411091, + "WorldLevel": 2, + "StageID": 204110912 + }, + { + "EventID": 20411091, + "WorldLevel": 3, + "StageID": 204110913 + }, + { + "EventID": 20411091, + "WorldLevel": 4, + "StageID": 204110914 + }, + { + "EventID": 20411091, + "WorldLevel": 5, + "StageID": 204110915 + }, + { + "EventID": 20411091, + "WorldLevel": 6, + "StageID": 204110916 + }, + { + "EventID": 20411092, + "WorldLevel": 0, + "StageID": 204110920 + }, + { + "EventID": 20411092, + "WorldLevel": 1, + "StageID": 204110921 + }, + { + "EventID": 20411092, + "WorldLevel": 2, + "StageID": 204110922 + }, + { + "EventID": 20411092, + "WorldLevel": 3, + "StageID": 204110923 + }, + { + "EventID": 20411092, + "WorldLevel": 4, + "StageID": 204110924 + }, + { + "EventID": 20411092, + "WorldLevel": 5, + "StageID": 204110925 + }, + { + "EventID": 20411092, + "WorldLevel": 6, + "StageID": 204110926 + }, + { + "EventID": 20411093, + "WorldLevel": 0, + "StageID": 204110930 + }, + { + "EventID": 20411093, + "WorldLevel": 1, + "StageID": 204110931 + }, + { + "EventID": 20411093, + "WorldLevel": 2, + "StageID": 204110932 + }, + { + "EventID": 20411093, + "WorldLevel": 3, + "StageID": 204110933 + }, + { + "EventID": 20411093, + "WorldLevel": 4, + "StageID": 204110934 + }, + { + "EventID": 20411093, + "WorldLevel": 5, + "StageID": 204110935 + }, + { + "EventID": 20411093, + "WorldLevel": 6, + "StageID": 204110936 + }, + { + "EventID": 20411094, + "WorldLevel": 0, + "StageID": 204110940 + }, + { + "EventID": 20411094, + "WorldLevel": 1, + "StageID": 204110941 + }, + { + "EventID": 20411094, + "WorldLevel": 2, + "StageID": 204110942 + }, + { + "EventID": 20411094, + "WorldLevel": 3, + "StageID": 204110943 + }, + { + "EventID": 20411094, + "WorldLevel": 4, + "StageID": 204110944 + }, + { + "EventID": 20411094, + "WorldLevel": 5, + "StageID": 204110945 + }, + { + "EventID": 20411094, + "WorldLevel": 6, + "StageID": 204110946 + }, + { + "EventID": 20411095, + "WorldLevel": 0, + "StageID": 204110950 + }, + { + "EventID": 20411095, + "WorldLevel": 1, + "StageID": 204110951 + }, + { + "EventID": 20411095, + "WorldLevel": 2, + "StageID": 204110952 + }, + { + "EventID": 20411095, + "WorldLevel": 3, + "StageID": 204110953 + }, + { + "EventID": 20411095, + "WorldLevel": 4, + "StageID": 204110954 + }, + { + "EventID": 20411095, + "WorldLevel": 5, + "StageID": 204110955 + }, + { + "EventID": 20411095, + "WorldLevel": 6, + "StageID": 204110956 + }, + { + "EventID": 20411096, + "WorldLevel": 0, + "StageID": 204110960 + }, + { + "EventID": 20411096, + "WorldLevel": 1, + "StageID": 204110961 + }, + { + "EventID": 20411096, + "WorldLevel": 2, + "StageID": 204110962 + }, + { + "EventID": 20411096, + "WorldLevel": 3, + "StageID": 204110963 + }, + { + "EventID": 20411096, + "WorldLevel": 4, + "StageID": 204110964 + }, + { + "EventID": 20411096, + "WorldLevel": 5, + "StageID": 204110965 + }, + { + "EventID": 20411096, + "WorldLevel": 6, + "StageID": 204110966 + }, + { + "EventID": 20411097, + "WorldLevel": 0, + "StageID": 204110970 + }, + { + "EventID": 20411097, + "WorldLevel": 1, + "StageID": 204110971 + }, + { + "EventID": 20411097, + "WorldLevel": 2, + "StageID": 204110972 + }, + { + "EventID": 20411097, + "WorldLevel": 3, + "StageID": 204110973 + }, + { + "EventID": 20411097, + "WorldLevel": 4, + "StageID": 204110974 + }, + { + "EventID": 20411097, + "WorldLevel": 5, + "StageID": 204110975 + }, + { + "EventID": 20411097, + "WorldLevel": 6, + "StageID": 204110976 + }, + { + "EventID": 20411098, + "WorldLevel": 0, + "StageID": 204110980 + }, + { + "EventID": 20411098, + "WorldLevel": 1, + "StageID": 204110981 + }, + { + "EventID": 20411098, + "WorldLevel": 2, + "StageID": 204110982 + }, + { + "EventID": 20411098, + "WorldLevel": 3, + "StageID": 204110983 + }, + { + "EventID": 20411098, + "WorldLevel": 4, + "StageID": 204110984 + }, + { + "EventID": 20411098, + "WorldLevel": 5, + "StageID": 204110985 + }, + { + "EventID": 20411098, + "WorldLevel": 6, + "StageID": 204110986 + }, + { + "EventID": 20411099, + "WorldLevel": 0, + "StageID": 204110990 + }, + { + "EventID": 20411099, + "WorldLevel": 1, + "StageID": 204110991 + }, + { + "EventID": 20411099, + "WorldLevel": 2, + "StageID": 204110992 + }, + { + "EventID": 20411099, + "WorldLevel": 3, + "StageID": 204110993 + }, + { + "EventID": 20411099, + "WorldLevel": 4, + "StageID": 204110994 + }, + { + "EventID": 20411099, + "WorldLevel": 5, + "StageID": 204110995 + }, + { + "EventID": 20411099, + "WorldLevel": 6, + "StageID": 204110996 + }, + { + "EventID": 20411101, + "WorldLevel": 0, + "StageID": 204111010 + }, + { + "EventID": 20411101, + "WorldLevel": 1, + "StageID": 204111011 + }, + { + "EventID": 20411101, + "WorldLevel": 2, + "StageID": 204111012 + }, + { + "EventID": 20411101, + "WorldLevel": 3, + "StageID": 204111013 + }, + { + "EventID": 20411101, + "WorldLevel": 4, + "StageID": 204111014 + }, + { + "EventID": 20411101, + "WorldLevel": 5, + "StageID": 204111015 + }, + { + "EventID": 20411101, + "WorldLevel": 6, + "StageID": 204111016 + }, + { + "EventID": 20411102, + "WorldLevel": 0, + "StageID": 204111020 + }, + { + "EventID": 20411102, + "WorldLevel": 1, + "StageID": 204111021 + }, + { + "EventID": 20411102, + "WorldLevel": 2, + "StageID": 204111022 + }, + { + "EventID": 20411102, + "WorldLevel": 3, + "StageID": 204111023 + }, + { + "EventID": 20411102, + "WorldLevel": 4, + "StageID": 204111024 + }, + { + "EventID": 20411102, + "WorldLevel": 5, + "StageID": 204111025 + }, + { + "EventID": 20411102, + "WorldLevel": 6, + "StageID": 204111026 + }, + { + "EventID": 20411103, + "WorldLevel": 0, + "StageID": 204111030 + }, + { + "EventID": 20411103, + "WorldLevel": 1, + "StageID": 204111031 + }, + { + "EventID": 20411103, + "WorldLevel": 2, + "StageID": 204111032 + }, + { + "EventID": 20411103, + "WorldLevel": 3, + "StageID": 204111033 + }, + { + "EventID": 20411103, + "WorldLevel": 4, + "StageID": 204111034 + }, + { + "EventID": 20411103, + "WorldLevel": 5, + "StageID": 204111035 + }, + { + "EventID": 20411103, + "WorldLevel": 6, + "StageID": 204111036 + }, + { + "EventID": 20411104, + "WorldLevel": 0, + "StageID": 204111040 + }, + { + "EventID": 20411104, + "WorldLevel": 1, + "StageID": 204111041 + }, + { + "EventID": 20411104, + "WorldLevel": 2, + "StageID": 204111042 + }, + { + "EventID": 20411104, + "WorldLevel": 3, + "StageID": 204111043 + }, + { + "EventID": 20411104, + "WorldLevel": 4, + "StageID": 204111044 + }, + { + "EventID": 20411104, + "WorldLevel": 5, + "StageID": 204111045 + }, + { + "EventID": 20411104, + "WorldLevel": 6, + "StageID": 204111046 + }, + { + "EventID": 20411105, + "WorldLevel": 0, + "StageID": 204111050 + }, + { + "EventID": 20411105, + "WorldLevel": 1, + "StageID": 204111051 + }, + { + "EventID": 20411105, + "WorldLevel": 2, + "StageID": 204111052 + }, + { + "EventID": 20411105, + "WorldLevel": 3, + "StageID": 204111053 + }, + { + "EventID": 20411105, + "WorldLevel": 4, + "StageID": 204111054 + }, + { + "EventID": 20411105, + "WorldLevel": 5, + "StageID": 204111055 + }, + { + "EventID": 20411105, + "WorldLevel": 6, + "StageID": 204111056 + }, + { + "EventID": 20411106, + "WorldLevel": 0, + "StageID": 204111060 + }, + { + "EventID": 20411106, + "WorldLevel": 1, + "StageID": 204111061 + }, + { + "EventID": 20411106, + "WorldLevel": 2, + "StageID": 204111062 + }, + { + "EventID": 20411106, + "WorldLevel": 3, + "StageID": 204111063 + }, + { + "EventID": 20411106, + "WorldLevel": 4, + "StageID": 204111064 + }, + { + "EventID": 20411106, + "WorldLevel": 5, + "StageID": 204111065 + }, + { + "EventID": 20411106, + "WorldLevel": 6, + "StageID": 204111066 + }, + { + "EventID": 20411110, + "WorldLevel": 0, + "StageID": 204111100 + }, + { + "EventID": 20411110, + "WorldLevel": 1, + "StageID": 204111101 + }, + { + "EventID": 20411110, + "WorldLevel": 2, + "StageID": 204111102 + }, + { + "EventID": 20411110, + "WorldLevel": 3, + "StageID": 204111103 + }, + { + "EventID": 20411110, + "WorldLevel": 4, + "StageID": 204111104 + }, + { + "EventID": 20411110, + "WorldLevel": 5, + "StageID": 204111105 + }, + { + "EventID": 20411110, + "WorldLevel": 6, + "StageID": 204111106 + }, + { + "EventID": 20411111, + "WorldLevel": 0, + "StageID": 204111110 + }, + { + "EventID": 20411111, + "WorldLevel": 1, + "StageID": 204111111 + }, + { + "EventID": 20411111, + "WorldLevel": 2, + "StageID": 204111112 + }, + { + "EventID": 20411111, + "WorldLevel": 3, + "StageID": 204111113 + }, + { + "EventID": 20411111, + "WorldLevel": 4, + "StageID": 204111114 + }, + { + "EventID": 20411111, + "WorldLevel": 5, + "StageID": 204111115 + }, + { + "EventID": 20411111, + "WorldLevel": 6, + "StageID": 204111116 + }, + { + "EventID": 20411112, + "WorldLevel": 0, + "StageID": 204111120 + }, + { + "EventID": 20411112, + "WorldLevel": 1, + "StageID": 204111121 + }, + { + "EventID": 20411112, + "WorldLevel": 2, + "StageID": 204111122 + }, + { + "EventID": 20411112, + "WorldLevel": 3, + "StageID": 204111123 + }, + { + "EventID": 20411112, + "WorldLevel": 4, + "StageID": 204111124 + }, + { + "EventID": 20411112, + "WorldLevel": 5, + "StageID": 204111125 + }, + { + "EventID": 20411112, + "WorldLevel": 6, + "StageID": 204111126 + }, + { + "EventID": 20411113, + "WorldLevel": 0, + "StageID": 204111130 + }, + { + "EventID": 20411113, + "WorldLevel": 1, + "StageID": 204111131 + }, + { + "EventID": 20411113, + "WorldLevel": 2, + "StageID": 204111132 + }, + { + "EventID": 20411113, + "WorldLevel": 3, + "StageID": 204111133 + }, + { + "EventID": 20411113, + "WorldLevel": 4, + "StageID": 204111134 + }, + { + "EventID": 20411113, + "WorldLevel": 5, + "StageID": 204111135 + }, + { + "EventID": 20411113, + "WorldLevel": 6, + "StageID": 204111136 + }, + { + "EventID": 20411114, + "WorldLevel": 0, + "StageID": 204111140 + }, + { + "EventID": 20411114, + "WorldLevel": 1, + "StageID": 204111141 + }, + { + "EventID": 20411114, + "WorldLevel": 2, + "StageID": 204111142 + }, + { + "EventID": 20411114, + "WorldLevel": 3, + "StageID": 204111143 + }, + { + "EventID": 20411114, + "WorldLevel": 4, + "StageID": 204111144 + }, + { + "EventID": 20411114, + "WorldLevel": 5, + "StageID": 204111145 + }, + { + "EventID": 20411114, + "WorldLevel": 6, + "StageID": 204111146 + }, + { + "EventID": 20411115, + "WorldLevel": 0, + "StageID": 204111150 + }, + { + "EventID": 20411115, + "WorldLevel": 1, + "StageID": 204111151 + }, + { + "EventID": 20411115, + "WorldLevel": 2, + "StageID": 204111152 + }, + { + "EventID": 20411115, + "WorldLevel": 3, + "StageID": 204111153 + }, + { + "EventID": 20411115, + "WorldLevel": 4, + "StageID": 204111154 + }, + { + "EventID": 20411115, + "WorldLevel": 5, + "StageID": 204111155 + }, + { + "EventID": 20411115, + "WorldLevel": 6, + "StageID": 204111156 + }, + { + "EventID": 20411116, + "WorldLevel": 0, + "StageID": 204111160 + }, + { + "EventID": 20411116, + "WorldLevel": 1, + "StageID": 204111161 + }, + { + "EventID": 20411116, + "WorldLevel": 2, + "StageID": 204111162 + }, + { + "EventID": 20411116, + "WorldLevel": 3, + "StageID": 204111163 + }, + { + "EventID": 20411116, + "WorldLevel": 4, + "StageID": 204111164 + }, + { + "EventID": 20411116, + "WorldLevel": 5, + "StageID": 204111165 + }, + { + "EventID": 20411116, + "WorldLevel": 6, + "StageID": 204111166 + }, + { + "EventID": 20411117, + "WorldLevel": 0, + "StageID": 204111170 + }, + { + "EventID": 20411117, + "WorldLevel": 1, + "StageID": 204111171 + }, + { + "EventID": 20411117, + "WorldLevel": 2, + "StageID": 204111172 + }, + { + "EventID": 20411117, + "WorldLevel": 3, + "StageID": 204111173 + }, + { + "EventID": 20411117, + "WorldLevel": 4, + "StageID": 204111174 + }, + { + "EventID": 20411117, + "WorldLevel": 5, + "StageID": 204111175 + }, + { + "EventID": 20411117, + "WorldLevel": 6, + "StageID": 204111176 + }, + { + "EventID": 20411118, + "WorldLevel": 0, + "StageID": 204111180 + }, + { + "EventID": 20411118, + "WorldLevel": 1, + "StageID": 204111181 + }, + { + "EventID": 20411118, + "WorldLevel": 2, + "StageID": 204111182 + }, + { + "EventID": 20411118, + "WorldLevel": 3, + "StageID": 204111183 + }, + { + "EventID": 20411118, + "WorldLevel": 4, + "StageID": 204111184 + }, + { + "EventID": 20411118, + "WorldLevel": 5, + "StageID": 204111185 + }, + { + "EventID": 20411118, + "WorldLevel": 6, + "StageID": 204111186 + }, + { + "EventID": 20411119, + "WorldLevel": 0, + "StageID": 204111190 + }, + { + "EventID": 20411119, + "WorldLevel": 1, + "StageID": 204111191 + }, + { + "EventID": 20411119, + "WorldLevel": 2, + "StageID": 204111192 + }, + { + "EventID": 20411119, + "WorldLevel": 3, + "StageID": 204111193 + }, + { + "EventID": 20411119, + "WorldLevel": 4, + "StageID": 204111194 + }, + { + "EventID": 20411119, + "WorldLevel": 5, + "StageID": 204111195 + }, + { + "EventID": 20411119, + "WorldLevel": 6, + "StageID": 204111196 + }, + { + "EventID": 20411120, + "WorldLevel": 0, + "StageID": 204111200 + }, + { + "EventID": 20411120, + "WorldLevel": 1, + "StageID": 204111201 + }, + { + "EventID": 20411120, + "WorldLevel": 2, + "StageID": 204111202 + }, + { + "EventID": 20411120, + "WorldLevel": 3, + "StageID": 204111203 + }, + { + "EventID": 20411120, + "WorldLevel": 4, + "StageID": 204111204 + }, + { + "EventID": 20411120, + "WorldLevel": 5, + "StageID": 204111205 + }, + { + "EventID": 20411120, + "WorldLevel": 6, + "StageID": 204111206 + }, + { + "EventID": 20411121, + "WorldLevel": 0, + "StageID": 204111210 + }, + { + "EventID": 20411121, + "WorldLevel": 1, + "StageID": 204111211 + }, + { + "EventID": 20411121, + "WorldLevel": 2, + "StageID": 204111212 + }, + { + "EventID": 20411121, + "WorldLevel": 3, + "StageID": 204111213 + }, + { + "EventID": 20411121, + "WorldLevel": 4, + "StageID": 204111214 + }, + { + "EventID": 20411121, + "WorldLevel": 5, + "StageID": 204111215 + }, + { + "EventID": 20411121, + "WorldLevel": 6, + "StageID": 204111216 + }, + { + "EventID": 20411122, + "WorldLevel": 0, + "StageID": 204111220 + }, + { + "EventID": 20411122, + "WorldLevel": 1, + "StageID": 204111221 + }, + { + "EventID": 20411122, + "WorldLevel": 2, + "StageID": 204111222 + }, + { + "EventID": 20411122, + "WorldLevel": 3, + "StageID": 204111223 + }, + { + "EventID": 20411122, + "WorldLevel": 4, + "StageID": 204111224 + }, + { + "EventID": 20411122, + "WorldLevel": 5, + "StageID": 204111225 + }, + { + "EventID": 20411122, + "WorldLevel": 6, + "StageID": 204111226 + }, + { + "EventID": 20411123, + "WorldLevel": 0, + "StageID": 204111230 + }, + { + "EventID": 20411123, + "WorldLevel": 1, + "StageID": 204111231 + }, + { + "EventID": 20411123, + "WorldLevel": 2, + "StageID": 204111232 + }, + { + "EventID": 20411123, + "WorldLevel": 3, + "StageID": 204111233 + }, + { + "EventID": 20411123, + "WorldLevel": 4, + "StageID": 204111234 + }, + { + "EventID": 20411123, + "WorldLevel": 5, + "StageID": 204111235 + }, + { + "EventID": 20411123, + "WorldLevel": 6, + "StageID": 204111236 + }, + { + "EventID": 20411124, + "WorldLevel": 0, + "StageID": 204111240 + }, + { + "EventID": 20411124, + "WorldLevel": 1, + "StageID": 204111241 + }, + { + "EventID": 20411124, + "WorldLevel": 2, + "StageID": 204111242 + }, + { + "EventID": 20411124, + "WorldLevel": 3, + "StageID": 204111243 + }, + { + "EventID": 20411124, + "WorldLevel": 4, + "StageID": 204111244 + }, + { + "EventID": 20411124, + "WorldLevel": 5, + "StageID": 204111245 + }, + { + "EventID": 20411124, + "WorldLevel": 6, + "StageID": 204111246 + }, + { + "EventID": 20411126, + "WorldLevel": 0, + "StageID": 204111260 + }, + { + "EventID": 20411126, + "WorldLevel": 1, + "StageID": 204111261 + }, + { + "EventID": 20411126, + "WorldLevel": 2, + "StageID": 204111262 + }, + { + "EventID": 20411126, + "WorldLevel": 3, + "StageID": 204111263 + }, + { + "EventID": 20411126, + "WorldLevel": 4, + "StageID": 204111264 + }, + { + "EventID": 20411126, + "WorldLevel": 5, + "StageID": 204111265 + }, + { + "EventID": 20411126, + "WorldLevel": 6, + "StageID": 204111266 + }, + { + "EventID": 20411127, + "WorldLevel": 0, + "StageID": 204111270 + }, + { + "EventID": 20411127, + "WorldLevel": 1, + "StageID": 204111271 + }, + { + "EventID": 20411127, + "WorldLevel": 2, + "StageID": 204111272 + }, + { + "EventID": 20411127, + "WorldLevel": 3, + "StageID": 204111273 + }, + { + "EventID": 20411127, + "WorldLevel": 4, + "StageID": 204111274 + }, + { + "EventID": 20411127, + "WorldLevel": 5, + "StageID": 204111275 + }, + { + "EventID": 20411127, + "WorldLevel": 6, + "StageID": 204111276 + }, + { + "EventID": 20411128, + "WorldLevel": 0, + "StageID": 204111280 + }, + { + "EventID": 20411128, + "WorldLevel": 1, + "StageID": 204111281 + }, + { + "EventID": 20411128, + "WorldLevel": 2, + "StageID": 204111282 + }, + { + "EventID": 20411128, + "WorldLevel": 3, + "StageID": 204111283 + }, + { + "EventID": 20411128, + "WorldLevel": 4, + "StageID": 204111284 + }, + { + "EventID": 20411128, + "WorldLevel": 5, + "StageID": 204111285 + }, + { + "EventID": 20411128, + "WorldLevel": 6, + "StageID": 204111286 + }, + { + "EventID": 20411129, + "WorldLevel": 0, + "StageID": 204111290 + }, + { + "EventID": 20411129, + "WorldLevel": 1, + "StageID": 204111291 + }, + { + "EventID": 20411129, + "WorldLevel": 2, + "StageID": 204111292 + }, + { + "EventID": 20411129, + "WorldLevel": 3, + "StageID": 204111293 + }, + { + "EventID": 20411129, + "WorldLevel": 4, + "StageID": 204111294 + }, + { + "EventID": 20411129, + "WorldLevel": 5, + "StageID": 204111295 + }, + { + "EventID": 20411129, + "WorldLevel": 6, + "StageID": 204111296 + }, + { + "EventID": 20411130, + "WorldLevel": 0, + "StageID": 204111300 + }, + { + "EventID": 20411130, + "WorldLevel": 1, + "StageID": 204111301 + }, + { + "EventID": 20411130, + "WorldLevel": 2, + "StageID": 204111302 + }, + { + "EventID": 20411130, + "WorldLevel": 3, + "StageID": 204111303 + }, + { + "EventID": 20411130, + "WorldLevel": 4, + "StageID": 204111304 + }, + { + "EventID": 20411130, + "WorldLevel": 5, + "StageID": 204111305 + }, + { + "EventID": 20411130, + "WorldLevel": 6, + "StageID": 204111306 + }, + { + "EventID": 20411131, + "WorldLevel": 0, + "StageID": 204111310 + }, + { + "EventID": 20411131, + "WorldLevel": 1, + "StageID": 204111311 + }, + { + "EventID": 20411131, + "WorldLevel": 2, + "StageID": 204111312 + }, + { + "EventID": 20411131, + "WorldLevel": 3, + "StageID": 204111313 + }, + { + "EventID": 20411131, + "WorldLevel": 4, + "StageID": 204111314 + }, + { + "EventID": 20411131, + "WorldLevel": 5, + "StageID": 204111315 + }, + { + "EventID": 20411131, + "WorldLevel": 6, + "StageID": 204111316 + }, + { + "EventID": 20411132, + "WorldLevel": 0, + "StageID": 204111320 + }, + { + "EventID": 20411132, + "WorldLevel": 1, + "StageID": 204111321 + }, + { + "EventID": 20411132, + "WorldLevel": 2, + "StageID": 204111322 + }, + { + "EventID": 20411132, + "WorldLevel": 3, + "StageID": 204111323 + }, + { + "EventID": 20411132, + "WorldLevel": 4, + "StageID": 204111324 + }, + { + "EventID": 20411132, + "WorldLevel": 5, + "StageID": 204111325 + }, + { + "EventID": 20411132, + "WorldLevel": 6, + "StageID": 204111326 + }, + { + "EventID": 20411133, + "WorldLevel": 0, + "StageID": 204111330 + }, + { + "EventID": 20411133, + "WorldLevel": 1, + "StageID": 204111331 + }, + { + "EventID": 20411133, + "WorldLevel": 2, + "StageID": 204111332 + }, + { + "EventID": 20411133, + "WorldLevel": 3, + "StageID": 204111333 + }, + { + "EventID": 20411133, + "WorldLevel": 4, + "StageID": 204111334 + }, + { + "EventID": 20411133, + "WorldLevel": 5, + "StageID": 204111335 + }, + { + "EventID": 20411133, + "WorldLevel": 6, + "StageID": 204111336 + }, + { + "EventID": 20411134, + "WorldLevel": 0, + "StageID": 204111340 + }, + { + "EventID": 20411134, + "WorldLevel": 1, + "StageID": 204111341 + }, + { + "EventID": 20411134, + "WorldLevel": 2, + "StageID": 204111342 + }, + { + "EventID": 20411134, + "WorldLevel": 3, + "StageID": 204111343 + }, + { + "EventID": 20411134, + "WorldLevel": 4, + "StageID": 204111344 + }, + { + "EventID": 20411134, + "WorldLevel": 5, + "StageID": 204111345 + }, + { + "EventID": 20411134, + "WorldLevel": 6, + "StageID": 204111346 + }, + { + "EventID": 20411135, + "WorldLevel": 0, + "StageID": 204111350 + }, + { + "EventID": 20411135, + "WorldLevel": 1, + "StageID": 204111351 + }, + { + "EventID": 20411135, + "WorldLevel": 2, + "StageID": 204111352 + }, + { + "EventID": 20411135, + "WorldLevel": 3, + "StageID": 204111353 + }, + { + "EventID": 20411135, + "WorldLevel": 4, + "StageID": 204111354 + }, + { + "EventID": 20411135, + "WorldLevel": 5, + "StageID": 204111355 + }, + { + "EventID": 20411135, + "WorldLevel": 6, + "StageID": 204111356 + }, + { + "EventID": 20411136, + "WorldLevel": 0, + "StageID": 204111360 + }, + { + "EventID": 20411136, + "WorldLevel": 1, + "StageID": 204111361 + }, + { + "EventID": 20411136, + "WorldLevel": 2, + "StageID": 204111362 + }, + { + "EventID": 20411136, + "WorldLevel": 3, + "StageID": 204111363 + }, + { + "EventID": 20411136, + "WorldLevel": 4, + "StageID": 204111364 + }, + { + "EventID": 20411136, + "WorldLevel": 5, + "StageID": 204111365 + }, + { + "EventID": 20411136, + "WorldLevel": 6, + "StageID": 204111366 + }, + { + "EventID": 20411137, + "WorldLevel": 0, + "StageID": 204111370 + }, + { + "EventID": 20411137, + "WorldLevel": 1, + "StageID": 204111371 + }, + { + "EventID": 20411137, + "WorldLevel": 2, + "StageID": 204111372 + }, + { + "EventID": 20411137, + "WorldLevel": 3, + "StageID": 204111373 + }, + { + "EventID": 20411137, + "WorldLevel": 4, + "StageID": 204111374 + }, + { + "EventID": 20411137, + "WorldLevel": 5, + "StageID": 204111375 + }, + { + "EventID": 20411137, + "WorldLevel": 6, + "StageID": 204111376 + }, + { + "EventID": 20411138, + "WorldLevel": 0, + "StageID": 204111380 + }, + { + "EventID": 20411138, + "WorldLevel": 1, + "StageID": 204111381 + }, + { + "EventID": 20411138, + "WorldLevel": 2, + "StageID": 204111382 + }, + { + "EventID": 20411138, + "WorldLevel": 3, + "StageID": 204111383 + }, + { + "EventID": 20411138, + "WorldLevel": 4, + "StageID": 204111384 + }, + { + "EventID": 20411138, + "WorldLevel": 5, + "StageID": 204111385 + }, + { + "EventID": 20411138, + "WorldLevel": 6, + "StageID": 204111386 + }, + { + "EventID": 20411139, + "WorldLevel": 0, + "StageID": 204111390 + }, + { + "EventID": 20411139, + "WorldLevel": 1, + "StageID": 204111391 + }, + { + "EventID": 20411139, + "WorldLevel": 2, + "StageID": 204111392 + }, + { + "EventID": 20411139, + "WorldLevel": 3, + "StageID": 204111393 + }, + { + "EventID": 20411139, + "WorldLevel": 4, + "StageID": 204111394 + }, + { + "EventID": 20411139, + "WorldLevel": 5, + "StageID": 204111395 + }, + { + "EventID": 20411139, + "WorldLevel": 6, + "StageID": 204111396 + }, + { + "EventID": 20411231, + "WorldLevel": 0, + "StageID": 204112310 + }, + { + "EventID": 20411231, + "WorldLevel": 1, + "StageID": 204112311 + }, + { + "EventID": 20411231, + "WorldLevel": 2, + "StageID": 204112312 + }, + { + "EventID": 20411231, + "WorldLevel": 3, + "StageID": 204112313 + }, + { + "EventID": 20411231, + "WorldLevel": 4, + "StageID": 204112314 + }, + { + "EventID": 20411231, + "WorldLevel": 5, + "StageID": 204112315 + }, + { + "EventID": 20411231, + "WorldLevel": 6, + "StageID": 204112316 + }, + { + "EventID": 20412001, + "WorldLevel": 0, + "StageID": 204120010 + }, + { + "EventID": 20412001, + "WorldLevel": 1, + "StageID": 204120011 + }, + { + "EventID": 20412001, + "WorldLevel": 2, + "StageID": 204120012 + }, + { + "EventID": 20412001, + "WorldLevel": 3, + "StageID": 204120013 + }, + { + "EventID": 20412001, + "WorldLevel": 4, + "StageID": 204120014 + }, + { + "EventID": 20412001, + "WorldLevel": 5, + "StageID": 204120015 + }, + { + "EventID": 20412001, + "WorldLevel": 6, + "StageID": 204120016 + }, + { + "EventID": 20412002, + "WorldLevel": 0, + "StageID": 204120020 + }, + { + "EventID": 20412002, + "WorldLevel": 1, + "StageID": 204120021 + }, + { + "EventID": 20412002, + "WorldLevel": 2, + "StageID": 204120022 + }, + { + "EventID": 20412002, + "WorldLevel": 3, + "StageID": 204120023 + }, + { + "EventID": 20412002, + "WorldLevel": 4, + "StageID": 204120024 + }, + { + "EventID": 20412002, + "WorldLevel": 5, + "StageID": 204120025 + }, + { + "EventID": 20412002, + "WorldLevel": 6, + "StageID": 204120026 + }, + { + "EventID": 20412003, + "WorldLevel": 0, + "StageID": 204120030 + }, + { + "EventID": 20412003, + "WorldLevel": 1, + "StageID": 204120031 + }, + { + "EventID": 20412003, + "WorldLevel": 2, + "StageID": 204120032 + }, + { + "EventID": 20412003, + "WorldLevel": 3, + "StageID": 204120033 + }, + { + "EventID": 20412003, + "WorldLevel": 4, + "StageID": 204120034 + }, + { + "EventID": 20412003, + "WorldLevel": 5, + "StageID": 204120035 + }, + { + "EventID": 20412003, + "WorldLevel": 6, + "StageID": 204120036 + }, + { + "EventID": 20412004, + "WorldLevel": 0, + "StageID": 204120040 + }, + { + "EventID": 20412004, + "WorldLevel": 1, + "StageID": 204120041 + }, + { + "EventID": 20412004, + "WorldLevel": 2, + "StageID": 204120042 + }, + { + "EventID": 20412004, + "WorldLevel": 3, + "StageID": 204120043 + }, + { + "EventID": 20412004, + "WorldLevel": 4, + "StageID": 204120044 + }, + { + "EventID": 20412004, + "WorldLevel": 5, + "StageID": 204120045 + }, + { + "EventID": 20412004, + "WorldLevel": 6, + "StageID": 204120046 + }, + { + "EventID": 20412008, + "WorldLevel": 0, + "StageID": 204120080 + }, + { + "EventID": 20412008, + "WorldLevel": 1, + "StageID": 204120081 + }, + { + "EventID": 20412008, + "WorldLevel": 2, + "StageID": 204120082 + }, + { + "EventID": 20412008, + "WorldLevel": 3, + "StageID": 204120083 + }, + { + "EventID": 20412008, + "WorldLevel": 4, + "StageID": 204120084 + }, + { + "EventID": 20412008, + "WorldLevel": 5, + "StageID": 204120085 + }, + { + "EventID": 20412008, + "WorldLevel": 6, + "StageID": 204120086 + }, + { + "EventID": 20412009, + "WorldLevel": 0, + "StageID": 204120090 + }, + { + "EventID": 20412009, + "WorldLevel": 1, + "StageID": 204120091 + }, + { + "EventID": 20412009, + "WorldLevel": 2, + "StageID": 204120092 + }, + { + "EventID": 20412009, + "WorldLevel": 3, + "StageID": 204120093 + }, + { + "EventID": 20412009, + "WorldLevel": 4, + "StageID": 204120094 + }, + { + "EventID": 20412009, + "WorldLevel": 5, + "StageID": 204120095 + }, + { + "EventID": 20412009, + "WorldLevel": 6, + "StageID": 204120096 + }, + { + "EventID": 20412010, + "WorldLevel": 0, + "StageID": 204120100 + }, + { + "EventID": 20412010, + "WorldLevel": 1, + "StageID": 204120101 + }, + { + "EventID": 20412010, + "WorldLevel": 2, + "StageID": 204120102 + }, + { + "EventID": 20412010, + "WorldLevel": 3, + "StageID": 204120103 + }, + { + "EventID": 20412010, + "WorldLevel": 4, + "StageID": 204120104 + }, + { + "EventID": 20412010, + "WorldLevel": 5, + "StageID": 204120105 + }, + { + "EventID": 20412010, + "WorldLevel": 6, + "StageID": 204120106 + }, + { + "EventID": 20412011, + "WorldLevel": 0, + "StageID": 204120110 + }, + { + "EventID": 20412011, + "WorldLevel": 1, + "StageID": 204120111 + }, + { + "EventID": 20412011, + "WorldLevel": 2, + "StageID": 204120112 + }, + { + "EventID": 20412011, + "WorldLevel": 3, + "StageID": 204120113 + }, + { + "EventID": 20412011, + "WorldLevel": 4, + "StageID": 204120114 + }, + { + "EventID": 20412011, + "WorldLevel": 5, + "StageID": 204120115 + }, + { + "EventID": 20412011, + "WorldLevel": 6, + "StageID": 204120116 + }, + { + "EventID": 20412012, + "WorldLevel": 0, + "StageID": 204120120 + }, + { + "EventID": 20412012, + "WorldLevel": 1, + "StageID": 204120121 + }, + { + "EventID": 20412012, + "WorldLevel": 2, + "StageID": 204120122 + }, + { + "EventID": 20412012, + "WorldLevel": 3, + "StageID": 204120123 + }, + { + "EventID": 20412012, + "WorldLevel": 4, + "StageID": 204120124 + }, + { + "EventID": 20412012, + "WorldLevel": 5, + "StageID": 204120125 + }, + { + "EventID": 20412012, + "WorldLevel": 6, + "StageID": 204120126 + }, + { + "EventID": 20412015, + "WorldLevel": 0, + "StageID": 204120150 + }, + { + "EventID": 20412015, + "WorldLevel": 1, + "StageID": 204120151 + }, + { + "EventID": 20412015, + "WorldLevel": 2, + "StageID": 204120152 + }, + { + "EventID": 20412015, + "WorldLevel": 3, + "StageID": 204120153 + }, + { + "EventID": 20412015, + "WorldLevel": 4, + "StageID": 204120154 + }, + { + "EventID": 20412015, + "WorldLevel": 5, + "StageID": 204120155 + }, + { + "EventID": 20412015, + "WorldLevel": 6, + "StageID": 204120156 + }, + { + "EventID": 20412016, + "WorldLevel": 0, + "StageID": 204120160 + }, + { + "EventID": 20412016, + "WorldLevel": 1, + "StageID": 204120161 + }, + { + "EventID": 20412016, + "WorldLevel": 2, + "StageID": 204120162 + }, + { + "EventID": 20412016, + "WorldLevel": 3, + "StageID": 204120163 + }, + { + "EventID": 20412016, + "WorldLevel": 4, + "StageID": 204120164 + }, + { + "EventID": 20412016, + "WorldLevel": 5, + "StageID": 204120165 + }, + { + "EventID": 20412016, + "WorldLevel": 6, + "StageID": 204120166 + }, + { + "EventID": 20412017, + "WorldLevel": 0, + "StageID": 204120170 + }, + { + "EventID": 20412017, + "WorldLevel": 1, + "StageID": 204120171 + }, + { + "EventID": 20412017, + "WorldLevel": 2, + "StageID": 204120172 + }, + { + "EventID": 20412017, + "WorldLevel": 3, + "StageID": 204120173 + }, + { + "EventID": 20412017, + "WorldLevel": 4, + "StageID": 204120174 + }, + { + "EventID": 20412017, + "WorldLevel": 5, + "StageID": 204120175 + }, + { + "EventID": 20412017, + "WorldLevel": 6, + "StageID": 204120176 + }, + { + "EventID": 20412021, + "WorldLevel": 0, + "StageID": 204120210 + }, + { + "EventID": 20412021, + "WorldLevel": 1, + "StageID": 204120211 + }, + { + "EventID": 20412021, + "WorldLevel": 2, + "StageID": 204120212 + }, + { + "EventID": 20412021, + "WorldLevel": 3, + "StageID": 204120213 + }, + { + "EventID": 20412021, + "WorldLevel": 4, + "StageID": 204120214 + }, + { + "EventID": 20412021, + "WorldLevel": 5, + "StageID": 204120215 + }, + { + "EventID": 20412021, + "WorldLevel": 6, + "StageID": 204120216 + }, + { + "EventID": 20412022, + "WorldLevel": 0, + "StageID": 204120220 + }, + { + "EventID": 20412022, + "WorldLevel": 1, + "StageID": 204120221 + }, + { + "EventID": 20412022, + "WorldLevel": 2, + "StageID": 204120222 + }, + { + "EventID": 20412022, + "WorldLevel": 3, + "StageID": 204120223 + }, + { + "EventID": 20412022, + "WorldLevel": 4, + "StageID": 204120224 + }, + { + "EventID": 20412022, + "WorldLevel": 5, + "StageID": 204120225 + }, + { + "EventID": 20412022, + "WorldLevel": 6, + "StageID": 204120226 + }, + { + "EventID": 20412023, + "WorldLevel": 0, + "StageID": 204120230 + }, + { + "EventID": 20412023, + "WorldLevel": 1, + "StageID": 204120231 + }, + { + "EventID": 20412023, + "WorldLevel": 2, + "StageID": 204120232 + }, + { + "EventID": 20412023, + "WorldLevel": 3, + "StageID": 204120233 + }, + { + "EventID": 20412023, + "WorldLevel": 4, + "StageID": 204120234 + }, + { + "EventID": 20412023, + "WorldLevel": 5, + "StageID": 204120235 + }, + { + "EventID": 20412023, + "WorldLevel": 6, + "StageID": 204120236 + }, + { + "EventID": 20412024, + "WorldLevel": 0, + "StageID": 204120240 + }, + { + "EventID": 20412024, + "WorldLevel": 1, + "StageID": 204120241 + }, + { + "EventID": 20412024, + "WorldLevel": 2, + "StageID": 204120242 + }, + { + "EventID": 20412024, + "WorldLevel": 3, + "StageID": 204120243 + }, + { + "EventID": 20412024, + "WorldLevel": 4, + "StageID": 204120244 + }, + { + "EventID": 20412024, + "WorldLevel": 5, + "StageID": 204120245 + }, + { + "EventID": 20412024, + "WorldLevel": 6, + "StageID": 204120246 + }, + { + "EventID": 20412025, + "WorldLevel": 0, + "StageID": 204120250 + }, + { + "EventID": 20412025, + "WorldLevel": 1, + "StageID": 204120251 + }, + { + "EventID": 20412025, + "WorldLevel": 2, + "StageID": 204120252 + }, + { + "EventID": 20412025, + "WorldLevel": 3, + "StageID": 204120253 + }, + { + "EventID": 20412025, + "WorldLevel": 4, + "StageID": 204120254 + }, + { + "EventID": 20412025, + "WorldLevel": 5, + "StageID": 204120255 + }, + { + "EventID": 20412025, + "WorldLevel": 6, + "StageID": 204120256 + }, + { + "EventID": 20412026, + "WorldLevel": 0, + "StageID": 204120260 + }, + { + "EventID": 20412026, + "WorldLevel": 1, + "StageID": 204120261 + }, + { + "EventID": 20412026, + "WorldLevel": 2, + "StageID": 204120262 + }, + { + "EventID": 20412026, + "WorldLevel": 3, + "StageID": 204120263 + }, + { + "EventID": 20412026, + "WorldLevel": 4, + "StageID": 204120264 + }, + { + "EventID": 20412026, + "WorldLevel": 5, + "StageID": 204120265 + }, + { + "EventID": 20412026, + "WorldLevel": 6, + "StageID": 204120266 + }, + { + "EventID": 20412031, + "WorldLevel": 0, + "StageID": 204120310 + }, + { + "EventID": 20412031, + "WorldLevel": 1, + "StageID": 204120311 + }, + { + "EventID": 20412031, + "WorldLevel": 2, + "StageID": 204120312 + }, + { + "EventID": 20412031, + "WorldLevel": 3, + "StageID": 204120313 + }, + { + "EventID": 20412031, + "WorldLevel": 4, + "StageID": 204120314 + }, + { + "EventID": 20412031, + "WorldLevel": 5, + "StageID": 204120315 + }, + { + "EventID": 20412031, + "WorldLevel": 6, + "StageID": 204120316 + }, + { + "EventID": 20412032, + "WorldLevel": 0, + "StageID": 204120320 + }, + { + "EventID": 20412032, + "WorldLevel": 1, + "StageID": 204120321 + }, + { + "EventID": 20412032, + "WorldLevel": 2, + "StageID": 204120322 + }, + { + "EventID": 20412032, + "WorldLevel": 3, + "StageID": 204120323 + }, + { + "EventID": 20412032, + "WorldLevel": 4, + "StageID": 204120324 + }, + { + "EventID": 20412032, + "WorldLevel": 5, + "StageID": 204120325 + }, + { + "EventID": 20412032, + "WorldLevel": 6, + "StageID": 204120326 + }, + { + "EventID": 20412033, + "WorldLevel": 0, + "StageID": 204120330 + }, + { + "EventID": 20412033, + "WorldLevel": 1, + "StageID": 204120331 + }, + { + "EventID": 20412033, + "WorldLevel": 2, + "StageID": 204120332 + }, + { + "EventID": 20412033, + "WorldLevel": 3, + "StageID": 204120333 + }, + { + "EventID": 20412033, + "WorldLevel": 4, + "StageID": 204120334 + }, + { + "EventID": 20412033, + "WorldLevel": 5, + "StageID": 204120335 + }, + { + "EventID": 20412033, + "WorldLevel": 6, + "StageID": 204120336 + }, + { + "EventID": 20412035, + "WorldLevel": 0, + "StageID": 204120350 + }, + { + "EventID": 20412035, + "WorldLevel": 1, + "StageID": 204120351 + }, + { + "EventID": 20412035, + "WorldLevel": 2, + "StageID": 204120352 + }, + { + "EventID": 20412035, + "WorldLevel": 3, + "StageID": 204120353 + }, + { + "EventID": 20412035, + "WorldLevel": 4, + "StageID": 204120354 + }, + { + "EventID": 20412035, + "WorldLevel": 5, + "StageID": 204120355 + }, + { + "EventID": 20412035, + "WorldLevel": 6, + "StageID": 204120356 + }, + { + "EventID": 20412036, + "WorldLevel": 0, + "StageID": 204120360 + }, + { + "EventID": 20412036, + "WorldLevel": 1, + "StageID": 204120361 + }, + { + "EventID": 20412036, + "WorldLevel": 2, + "StageID": 204120362 + }, + { + "EventID": 20412036, + "WorldLevel": 3, + "StageID": 204120363 + }, + { + "EventID": 20412036, + "WorldLevel": 4, + "StageID": 204120364 + }, + { + "EventID": 20412036, + "WorldLevel": 5, + "StageID": 204120365 + }, + { + "EventID": 20412036, + "WorldLevel": 6, + "StageID": 204120366 + }, + { + "EventID": 20412037, + "WorldLevel": 0, + "StageID": 204120370 + }, + { + "EventID": 20412037, + "WorldLevel": 1, + "StageID": 204120371 + }, + { + "EventID": 20412037, + "WorldLevel": 2, + "StageID": 204120372 + }, + { + "EventID": 20412037, + "WorldLevel": 3, + "StageID": 204120373 + }, + { + "EventID": 20412037, + "WorldLevel": 4, + "StageID": 204120374 + }, + { + "EventID": 20412037, + "WorldLevel": 5, + "StageID": 204120375 + }, + { + "EventID": 20412037, + "WorldLevel": 6, + "StageID": 204120376 + }, + { + "EventID": 20412038, + "WorldLevel": 0, + "StageID": 204120380 + }, + { + "EventID": 20412038, + "WorldLevel": 1, + "StageID": 204120381 + }, + { + "EventID": 20412038, + "WorldLevel": 2, + "StageID": 204120382 + }, + { + "EventID": 20412038, + "WorldLevel": 3, + "StageID": 204120383 + }, + { + "EventID": 20412038, + "WorldLevel": 4, + "StageID": 204120384 + }, + { + "EventID": 20412038, + "WorldLevel": 5, + "StageID": 204120385 + }, + { + "EventID": 20412038, + "WorldLevel": 6, + "StageID": 204120386 + }, + { + "EventID": 20412039, + "WorldLevel": 0, + "StageID": 204120390 + }, + { + "EventID": 20412039, + "WorldLevel": 1, + "StageID": 204120391 + }, + { + "EventID": 20412039, + "WorldLevel": 2, + "StageID": 204120392 + }, + { + "EventID": 20412039, + "WorldLevel": 3, + "StageID": 204120393 + }, + { + "EventID": 20412039, + "WorldLevel": 4, + "StageID": 204120394 + }, + { + "EventID": 20412039, + "WorldLevel": 5, + "StageID": 204120395 + }, + { + "EventID": 20412039, + "WorldLevel": 6, + "StageID": 204120396 + }, + { + "EventID": 20412040, + "WorldLevel": 0, + "StageID": 204120400 + }, + { + "EventID": 20412040, + "WorldLevel": 1, + "StageID": 204120401 + }, + { + "EventID": 20412040, + "WorldLevel": 2, + "StageID": 204120402 + }, + { + "EventID": 20412040, + "WorldLevel": 3, + "StageID": 204120403 + }, + { + "EventID": 20412040, + "WorldLevel": 4, + "StageID": 204120404 + }, + { + "EventID": 20412040, + "WorldLevel": 5, + "StageID": 204120405 + }, + { + "EventID": 20412040, + "WorldLevel": 6, + "StageID": 204120406 + }, + { + "EventID": 20412101, + "WorldLevel": 0, + "StageID": 204121010 + }, + { + "EventID": 20412101, + "WorldLevel": 1, + "StageID": 204121011 + }, + { + "EventID": 20412101, + "WorldLevel": 2, + "StageID": 204121012 + }, + { + "EventID": 20412101, + "WorldLevel": 3, + "StageID": 204121013 + }, + { + "EventID": 20412101, + "WorldLevel": 4, + "StageID": 204121014 + }, + { + "EventID": 20412101, + "WorldLevel": 5, + "StageID": 204121015 + }, + { + "EventID": 20412101, + "WorldLevel": 6, + "StageID": 204121016 + }, + { + "EventID": 20412102, + "WorldLevel": 0, + "StageID": 204121020 + }, + { + "EventID": 20412102, + "WorldLevel": 1, + "StageID": 204121021 + }, + { + "EventID": 20412102, + "WorldLevel": 2, + "StageID": 204121022 + }, + { + "EventID": 20412102, + "WorldLevel": 3, + "StageID": 204121023 + }, + { + "EventID": 20412102, + "WorldLevel": 4, + "StageID": 204121024 + }, + { + "EventID": 20412102, + "WorldLevel": 5, + "StageID": 204121025 + }, + { + "EventID": 20412102, + "WorldLevel": 6, + "StageID": 204121026 + }, + { + "EventID": 20412103, + "WorldLevel": 0, + "StageID": 204121030 + }, + { + "EventID": 20412103, + "WorldLevel": 1, + "StageID": 204121031 + }, + { + "EventID": 20412103, + "WorldLevel": 2, + "StageID": 204121032 + }, + { + "EventID": 20412103, + "WorldLevel": 3, + "StageID": 204121033 + }, + { + "EventID": 20412103, + "WorldLevel": 4, + "StageID": 204121034 + }, + { + "EventID": 20412103, + "WorldLevel": 5, + "StageID": 204121035 + }, + { + "EventID": 20412103, + "WorldLevel": 6, + "StageID": 204121036 + }, + { + "EventID": 20412104, + "WorldLevel": 0, + "StageID": 204121040 + }, + { + "EventID": 20412104, + "WorldLevel": 1, + "StageID": 204121041 + }, + { + "EventID": 20412104, + "WorldLevel": 2, + "StageID": 204121042 + }, + { + "EventID": 20412104, + "WorldLevel": 3, + "StageID": 204121043 + }, + { + "EventID": 20412104, + "WorldLevel": 4, + "StageID": 204121044 + }, + { + "EventID": 20412104, + "WorldLevel": 5, + "StageID": 204121045 + }, + { + "EventID": 20412104, + "WorldLevel": 6, + "StageID": 204121046 + }, + { + "EventID": 20412108, + "WorldLevel": 0, + "StageID": 204121080 + }, + { + "EventID": 20412108, + "WorldLevel": 1, + "StageID": 204121081 + }, + { + "EventID": 20412108, + "WorldLevel": 2, + "StageID": 204121082 + }, + { + "EventID": 20412108, + "WorldLevel": 3, + "StageID": 204121083 + }, + { + "EventID": 20412108, + "WorldLevel": 4, + "StageID": 204121084 + }, + { + "EventID": 20412108, + "WorldLevel": 5, + "StageID": 204121085 + }, + { + "EventID": 20412108, + "WorldLevel": 6, + "StageID": 204121086 + }, + { + "EventID": 20412109, + "WorldLevel": 0, + "StageID": 204121090 + }, + { + "EventID": 20412109, + "WorldLevel": 1, + "StageID": 204121091 + }, + { + "EventID": 20412109, + "WorldLevel": 2, + "StageID": 204121092 + }, + { + "EventID": 20412109, + "WorldLevel": 3, + "StageID": 204121093 + }, + { + "EventID": 20412109, + "WorldLevel": 4, + "StageID": 204121094 + }, + { + "EventID": 20412109, + "WorldLevel": 5, + "StageID": 204121095 + }, + { + "EventID": 20412109, + "WorldLevel": 6, + "StageID": 204121096 + }, + { + "EventID": 20412110, + "WorldLevel": 0, + "StageID": 204121100 + }, + { + "EventID": 20412110, + "WorldLevel": 1, + "StageID": 204121101 + }, + { + "EventID": 20412110, + "WorldLevel": 2, + "StageID": 204121102 + }, + { + "EventID": 20412110, + "WorldLevel": 3, + "StageID": 204121103 + }, + { + "EventID": 20412110, + "WorldLevel": 4, + "StageID": 204121104 + }, + { + "EventID": 20412110, + "WorldLevel": 5, + "StageID": 204121105 + }, + { + "EventID": 20412110, + "WorldLevel": 6, + "StageID": 204121106 + }, + { + "EventID": 20412111, + "WorldLevel": 0, + "StageID": 204121110 + }, + { + "EventID": 20412111, + "WorldLevel": 1, + "StageID": 204121111 + }, + { + "EventID": 20412111, + "WorldLevel": 2, + "StageID": 204121112 + }, + { + "EventID": 20412111, + "WorldLevel": 3, + "StageID": 204121113 + }, + { + "EventID": 20412111, + "WorldLevel": 4, + "StageID": 204121114 + }, + { + "EventID": 20412111, + "WorldLevel": 5, + "StageID": 204121115 + }, + { + "EventID": 20412111, + "WorldLevel": 6, + "StageID": 204121116 + }, + { + "EventID": 20412112, + "WorldLevel": 0, + "StageID": 204121120 + }, + { + "EventID": 20412112, + "WorldLevel": 1, + "StageID": 204121121 + }, + { + "EventID": 20412112, + "WorldLevel": 2, + "StageID": 204121122 + }, + { + "EventID": 20412112, + "WorldLevel": 3, + "StageID": 204121123 + }, + { + "EventID": 20412112, + "WorldLevel": 4, + "StageID": 204121124 + }, + { + "EventID": 20412112, + "WorldLevel": 5, + "StageID": 204121125 + }, + { + "EventID": 20412112, + "WorldLevel": 6, + "StageID": 204121126 + }, + { + "EventID": 20412115, + "WorldLevel": 0, + "StageID": 204121150 + }, + { + "EventID": 20412115, + "WorldLevel": 1, + "StageID": 204121151 + }, + { + "EventID": 20412115, + "WorldLevel": 2, + "StageID": 204121152 + }, + { + "EventID": 20412115, + "WorldLevel": 3, + "StageID": 204121153 + }, + { + "EventID": 20412115, + "WorldLevel": 4, + "StageID": 204121154 + }, + { + "EventID": 20412115, + "WorldLevel": 5, + "StageID": 204121155 + }, + { + "EventID": 20412115, + "WorldLevel": 6, + "StageID": 204121156 + }, + { + "EventID": 20412116, + "WorldLevel": 0, + "StageID": 204121160 + }, + { + "EventID": 20412116, + "WorldLevel": 1, + "StageID": 204121161 + }, + { + "EventID": 20412116, + "WorldLevel": 2, + "StageID": 204121162 + }, + { + "EventID": 20412116, + "WorldLevel": 3, + "StageID": 204121163 + }, + { + "EventID": 20412116, + "WorldLevel": 4, + "StageID": 204121164 + }, + { + "EventID": 20412116, + "WorldLevel": 5, + "StageID": 204121165 + }, + { + "EventID": 20412116, + "WorldLevel": 6, + "StageID": 204121166 + }, + { + "EventID": 20412118, + "WorldLevel": 0, + "StageID": 204121180 + }, + { + "EventID": 20412118, + "WorldLevel": 1, + "StageID": 204121181 + }, + { + "EventID": 20412118, + "WorldLevel": 2, + "StageID": 204121182 + }, + { + "EventID": 20412118, + "WorldLevel": 3, + "StageID": 204121183 + }, + { + "EventID": 20412118, + "WorldLevel": 4, + "StageID": 204121184 + }, + { + "EventID": 20412118, + "WorldLevel": 5, + "StageID": 204121185 + }, + { + "EventID": 20412118, + "WorldLevel": 6, + "StageID": 204121186 + }, + { + "EventID": 20412121, + "WorldLevel": 0, + "StageID": 204121210 + }, + { + "EventID": 20412121, + "WorldLevel": 1, + "StageID": 204121211 + }, + { + "EventID": 20412121, + "WorldLevel": 2, + "StageID": 204121212 + }, + { + "EventID": 20412121, + "WorldLevel": 3, + "StageID": 204121213 + }, + { + "EventID": 20412121, + "WorldLevel": 4, + "StageID": 204121214 + }, + { + "EventID": 20412121, + "WorldLevel": 5, + "StageID": 204121215 + }, + { + "EventID": 20412121, + "WorldLevel": 6, + "StageID": 204121216 + }, + { + "EventID": 20412122, + "WorldLevel": 0, + "StageID": 204121220 + }, + { + "EventID": 20412122, + "WorldLevel": 1, + "StageID": 204121221 + }, + { + "EventID": 20412122, + "WorldLevel": 2, + "StageID": 204121222 + }, + { + "EventID": 20412122, + "WorldLevel": 3, + "StageID": 204121223 + }, + { + "EventID": 20412122, + "WorldLevel": 4, + "StageID": 204121224 + }, + { + "EventID": 20412122, + "WorldLevel": 5, + "StageID": 204121225 + }, + { + "EventID": 20412122, + "WorldLevel": 6, + "StageID": 204121226 + }, + { + "EventID": 20412123, + "WorldLevel": 0, + "StageID": 204121230 + }, + { + "EventID": 20412123, + "WorldLevel": 1, + "StageID": 204121231 + }, + { + "EventID": 20412123, + "WorldLevel": 2, + "StageID": 204121232 + }, + { + "EventID": 20412123, + "WorldLevel": 3, + "StageID": 204121233 + }, + { + "EventID": 20412123, + "WorldLevel": 4, + "StageID": 204121234 + }, + { + "EventID": 20412123, + "WorldLevel": 5, + "StageID": 204121235 + }, + { + "EventID": 20412123, + "WorldLevel": 6, + "StageID": 204121236 + }, + { + "EventID": 20412124, + "WorldLevel": 0, + "StageID": 204121240 + }, + { + "EventID": 20412124, + "WorldLevel": 1, + "StageID": 204121241 + }, + { + "EventID": 20412124, + "WorldLevel": 2, + "StageID": 204121242 + }, + { + "EventID": 20412124, + "WorldLevel": 3, + "StageID": 204121243 + }, + { + "EventID": 20412124, + "WorldLevel": 4, + "StageID": 204121244 + }, + { + "EventID": 20412124, + "WorldLevel": 5, + "StageID": 204121245 + }, + { + "EventID": 20412124, + "WorldLevel": 6, + "StageID": 204121246 + }, + { + "EventID": 20412125, + "WorldLevel": 0, + "StageID": 204121250 + }, + { + "EventID": 20412125, + "WorldLevel": 1, + "StageID": 204121251 + }, + { + "EventID": 20412125, + "WorldLevel": 2, + "StageID": 204121252 + }, + { + "EventID": 20412125, + "WorldLevel": 3, + "StageID": 204121253 + }, + { + "EventID": 20412125, + "WorldLevel": 4, + "StageID": 204121254 + }, + { + "EventID": 20412125, + "WorldLevel": 5, + "StageID": 204121255 + }, + { + "EventID": 20412125, + "WorldLevel": 6, + "StageID": 204121256 + }, + { + "EventID": 20412126, + "WorldLevel": 0, + "StageID": 204121260 + }, + { + "EventID": 20412126, + "WorldLevel": 1, + "StageID": 204121261 + }, + { + "EventID": 20412126, + "WorldLevel": 2, + "StageID": 204121262 + }, + { + "EventID": 20412126, + "WorldLevel": 3, + "StageID": 204121263 + }, + { + "EventID": 20412126, + "WorldLevel": 4, + "StageID": 204121264 + }, + { + "EventID": 20412126, + "WorldLevel": 5, + "StageID": 204121265 + }, + { + "EventID": 20412126, + "WorldLevel": 6, + "StageID": 204121266 + }, + { + "EventID": 20412131, + "WorldLevel": 0, + "StageID": 204121310 + }, + { + "EventID": 20412131, + "WorldLevel": 1, + "StageID": 204121311 + }, + { + "EventID": 20412131, + "WorldLevel": 2, + "StageID": 204121312 + }, + { + "EventID": 20412131, + "WorldLevel": 3, + "StageID": 204121313 + }, + { + "EventID": 20412131, + "WorldLevel": 4, + "StageID": 204121314 + }, + { + "EventID": 20412131, + "WorldLevel": 5, + "StageID": 204121315 + }, + { + "EventID": 20412131, + "WorldLevel": 6, + "StageID": 204121316 + }, + { + "EventID": 20412132, + "WorldLevel": 0, + "StageID": 204121320 + }, + { + "EventID": 20412132, + "WorldLevel": 1, + "StageID": 204121321 + }, + { + "EventID": 20412132, + "WorldLevel": 2, + "StageID": 204121322 + }, + { + "EventID": 20412132, + "WorldLevel": 3, + "StageID": 204121323 + }, + { + "EventID": 20412132, + "WorldLevel": 4, + "StageID": 204121324 + }, + { + "EventID": 20412132, + "WorldLevel": 5, + "StageID": 204121325 + }, + { + "EventID": 20412132, + "WorldLevel": 6, + "StageID": 204121326 + }, + { + "EventID": 20412133, + "WorldLevel": 0, + "StageID": 204121330 + }, + { + "EventID": 20412133, + "WorldLevel": 1, + "StageID": 204121331 + }, + { + "EventID": 20412133, + "WorldLevel": 2, + "StageID": 204121332 + }, + { + "EventID": 20412133, + "WorldLevel": 3, + "StageID": 204121333 + }, + { + "EventID": 20412133, + "WorldLevel": 4, + "StageID": 204121334 + }, + { + "EventID": 20412133, + "WorldLevel": 5, + "StageID": 204121335 + }, + { + "EventID": 20412133, + "WorldLevel": 6, + "StageID": 204121336 + }, + { + "EventID": 20412134, + "WorldLevel": 0, + "StageID": 204121340 + }, + { + "EventID": 20412134, + "WorldLevel": 1, + "StageID": 204121341 + }, + { + "EventID": 20412134, + "WorldLevel": 2, + "StageID": 204121342 + }, + { + "EventID": 20412134, + "WorldLevel": 3, + "StageID": 204121343 + }, + { + "EventID": 20412134, + "WorldLevel": 4, + "StageID": 204121344 + }, + { + "EventID": 20412134, + "WorldLevel": 5, + "StageID": 204121345 + }, + { + "EventID": 20412134, + "WorldLevel": 6, + "StageID": 204121346 + }, + { + "EventID": 20412135, + "WorldLevel": 0, + "StageID": 204121350 + }, + { + "EventID": 20412135, + "WorldLevel": 1, + "StageID": 204121351 + }, + { + "EventID": 20412135, + "WorldLevel": 2, + "StageID": 204121352 + }, + { + "EventID": 20412135, + "WorldLevel": 3, + "StageID": 204121353 + }, + { + "EventID": 20412135, + "WorldLevel": 4, + "StageID": 204121354 + }, + { + "EventID": 20412135, + "WorldLevel": 5, + "StageID": 204121355 + }, + { + "EventID": 20412135, + "WorldLevel": 6, + "StageID": 204121356 + }, + { + "EventID": 20412136, + "WorldLevel": 0, + "StageID": 204121360 + }, + { + "EventID": 20412136, + "WorldLevel": 1, + "StageID": 204121361 + }, + { + "EventID": 20412136, + "WorldLevel": 2, + "StageID": 204121362 + }, + { + "EventID": 20412136, + "WorldLevel": 3, + "StageID": 204121363 + }, + { + "EventID": 20412136, + "WorldLevel": 4, + "StageID": 204121364 + }, + { + "EventID": 20412136, + "WorldLevel": 5, + "StageID": 204121365 + }, + { + "EventID": 20412136, + "WorldLevel": 6, + "StageID": 204121366 + }, + { + "EventID": 20412137, + "WorldLevel": 0, + "StageID": 204121370 + }, + { + "EventID": 20412137, + "WorldLevel": 1, + "StageID": 204121371 + }, + { + "EventID": 20412137, + "WorldLevel": 2, + "StageID": 204121372 + }, + { + "EventID": 20412137, + "WorldLevel": 3, + "StageID": 204121373 + }, + { + "EventID": 20412137, + "WorldLevel": 4, + "StageID": 204121374 + }, + { + "EventID": 20412137, + "WorldLevel": 5, + "StageID": 204121375 + }, + { + "EventID": 20412137, + "WorldLevel": 6, + "StageID": 204121376 + }, + { + "EventID": 20412138, + "WorldLevel": 0, + "StageID": 204121380 + }, + { + "EventID": 20412138, + "WorldLevel": 1, + "StageID": 204121381 + }, + { + "EventID": 20412138, + "WorldLevel": 2, + "StageID": 204121382 + }, + { + "EventID": 20412138, + "WorldLevel": 3, + "StageID": 204121383 + }, + { + "EventID": 20412138, + "WorldLevel": 4, + "StageID": 204121384 + }, + { + "EventID": 20412138, + "WorldLevel": 5, + "StageID": 204121385 + }, + { + "EventID": 20412138, + "WorldLevel": 6, + "StageID": 204121386 + }, + { + "EventID": 20412139, + "WorldLevel": 0, + "StageID": 204121390 + }, + { + "EventID": 20412139, + "WorldLevel": 1, + "StageID": 204121391 + }, + { + "EventID": 20412139, + "WorldLevel": 2, + "StageID": 204121392 + }, + { + "EventID": 20412139, + "WorldLevel": 3, + "StageID": 204121393 + }, + { + "EventID": 20412139, + "WorldLevel": 4, + "StageID": 204121394 + }, + { + "EventID": 20412139, + "WorldLevel": 5, + "StageID": 204121395 + }, + { + "EventID": 20412139, + "WorldLevel": 6, + "StageID": 204121396 + }, + { + "EventID": 20412140, + "WorldLevel": 0, + "StageID": 204121400 + }, + { + "EventID": 20412140, + "WorldLevel": 1, + "StageID": 204121401 + }, + { + "EventID": 20412140, + "WorldLevel": 2, + "StageID": 204121402 + }, + { + "EventID": 20412140, + "WorldLevel": 3, + "StageID": 204121403 + }, + { + "EventID": 20412140, + "WorldLevel": 4, + "StageID": 204121404 + }, + { + "EventID": 20412140, + "WorldLevel": 5, + "StageID": 204121405 + }, + { + "EventID": 20412140, + "WorldLevel": 6, + "StageID": 204121406 + }, + { + "EventID": 20412231, + "WorldLevel": 0, + "StageID": 204122310 + }, + { + "EventID": 20412231, + "WorldLevel": 1, + "StageID": 204122311 + }, + { + "EventID": 20412231, + "WorldLevel": 2, + "StageID": 204122312 + }, + { + "EventID": 20412231, + "WorldLevel": 3, + "StageID": 204122313 + }, + { + "EventID": 20412231, + "WorldLevel": 4, + "StageID": 204122314 + }, + { + "EventID": 20412231, + "WorldLevel": 5, + "StageID": 204122315 + }, + { + "EventID": 20412231, + "WorldLevel": 6, + "StageID": 204122316 + }, + { + "EventID": 20413001, + "WorldLevel": 0, + "StageID": 204130010 + }, + { + "EventID": 20413001, + "WorldLevel": 1, + "StageID": 204130011 + }, + { + "EventID": 20413001, + "WorldLevel": 2, + "StageID": 204130012 + }, + { + "EventID": 20413001, + "WorldLevel": 3, + "StageID": 204130013 + }, + { + "EventID": 20413001, + "WorldLevel": 4, + "StageID": 204130014 + }, + { + "EventID": 20413001, + "WorldLevel": 5, + "StageID": 204130015 + }, + { + "EventID": 20413001, + "WorldLevel": 6, + "StageID": 204130016 + }, + { + "EventID": 20413002, + "WorldLevel": 0, + "StageID": 204130020 + }, + { + "EventID": 20413002, + "WorldLevel": 1, + "StageID": 204130021 + }, + { + "EventID": 20413002, + "WorldLevel": 2, + "StageID": 204130022 + }, + { + "EventID": 20413002, + "WorldLevel": 3, + "StageID": 204130023 + }, + { + "EventID": 20413002, + "WorldLevel": 4, + "StageID": 204130024 + }, + { + "EventID": 20413002, + "WorldLevel": 5, + "StageID": 204130025 + }, + { + "EventID": 20413002, + "WorldLevel": 6, + "StageID": 204130026 + }, + { + "EventID": 20413003, + "WorldLevel": 0, + "StageID": 204130030 + }, + { + "EventID": 20413003, + "WorldLevel": 1, + "StageID": 204130031 + }, + { + "EventID": 20413003, + "WorldLevel": 2, + "StageID": 204130032 + }, + { + "EventID": 20413003, + "WorldLevel": 3, + "StageID": 204130033 + }, + { + "EventID": 20413003, + "WorldLevel": 4, + "StageID": 204130034 + }, + { + "EventID": 20413003, + "WorldLevel": 5, + "StageID": 204130035 + }, + { + "EventID": 20413003, + "WorldLevel": 6, + "StageID": 204130036 + }, + { + "EventID": 20413004, + "WorldLevel": 0, + "StageID": 204130040 + }, + { + "EventID": 20413004, + "WorldLevel": 1, + "StageID": 204130041 + }, + { + "EventID": 20413004, + "WorldLevel": 2, + "StageID": 204130042 + }, + { + "EventID": 20413004, + "WorldLevel": 3, + "StageID": 204130043 + }, + { + "EventID": 20413004, + "WorldLevel": 4, + "StageID": 204130044 + }, + { + "EventID": 20413004, + "WorldLevel": 5, + "StageID": 204130045 + }, + { + "EventID": 20413004, + "WorldLevel": 6, + "StageID": 204130046 + }, + { + "EventID": 20413005, + "WorldLevel": 0, + "StageID": 204130050 + }, + { + "EventID": 20413005, + "WorldLevel": 1, + "StageID": 204130051 + }, + { + "EventID": 20413005, + "WorldLevel": 2, + "StageID": 204130052 + }, + { + "EventID": 20413005, + "WorldLevel": 3, + "StageID": 204130053 + }, + { + "EventID": 20413005, + "WorldLevel": 4, + "StageID": 204130054 + }, + { + "EventID": 20413005, + "WorldLevel": 5, + "StageID": 204130055 + }, + { + "EventID": 20413005, + "WorldLevel": 6, + "StageID": 204130056 + }, + { + "EventID": 20413006, + "WorldLevel": 0, + "StageID": 204130060 + }, + { + "EventID": 20413006, + "WorldLevel": 1, + "StageID": 204130061 + }, + { + "EventID": 20413006, + "WorldLevel": 2, + "StageID": 204130062 + }, + { + "EventID": 20413006, + "WorldLevel": 3, + "StageID": 204130063 + }, + { + "EventID": 20413006, + "WorldLevel": 4, + "StageID": 204130064 + }, + { + "EventID": 20413006, + "WorldLevel": 5, + "StageID": 204130065 + }, + { + "EventID": 20413006, + "WorldLevel": 6, + "StageID": 204130066 + }, + { + "EventID": 20413007, + "WorldLevel": 0, + "StageID": 204130070 + }, + { + "EventID": 20413007, + "WorldLevel": 1, + "StageID": 204130071 + }, + { + "EventID": 20413007, + "WorldLevel": 2, + "StageID": 204130072 + }, + { + "EventID": 20413007, + "WorldLevel": 3, + "StageID": 204130073 + }, + { + "EventID": 20413007, + "WorldLevel": 4, + "StageID": 204130074 + }, + { + "EventID": 20413007, + "WorldLevel": 5, + "StageID": 204130075 + }, + { + "EventID": 20413007, + "WorldLevel": 6, + "StageID": 204130076 + }, + { + "EventID": 20413008, + "WorldLevel": 0, + "StageID": 204130080 + }, + { + "EventID": 20413008, + "WorldLevel": 1, + "StageID": 204130081 + }, + { + "EventID": 20413008, + "WorldLevel": 2, + "StageID": 204130082 + }, + { + "EventID": 20413008, + "WorldLevel": 3, + "StageID": 204130083 + }, + { + "EventID": 20413008, + "WorldLevel": 4, + "StageID": 204130084 + }, + { + "EventID": 20413008, + "WorldLevel": 5, + "StageID": 204130085 + }, + { + "EventID": 20413008, + "WorldLevel": 6, + "StageID": 204130086 + }, + { + "EventID": 20413009, + "WorldLevel": 0, + "StageID": 204130090 + }, + { + "EventID": 20413009, + "WorldLevel": 1, + "StageID": 204130091 + }, + { + "EventID": 20413009, + "WorldLevel": 2, + "StageID": 204130092 + }, + { + "EventID": 20413009, + "WorldLevel": 3, + "StageID": 204130093 + }, + { + "EventID": 20413009, + "WorldLevel": 4, + "StageID": 204130094 + }, + { + "EventID": 20413009, + "WorldLevel": 5, + "StageID": 204130095 + }, + { + "EventID": 20413009, + "WorldLevel": 6, + "StageID": 204130096 + }, + { + "EventID": 20413010, + "WorldLevel": 0, + "StageID": 204130100 + }, + { + "EventID": 20413010, + "WorldLevel": 1, + "StageID": 204130101 + }, + { + "EventID": 20413010, + "WorldLevel": 2, + "StageID": 204130102 + }, + { + "EventID": 20413010, + "WorldLevel": 3, + "StageID": 204130103 + }, + { + "EventID": 20413010, + "WorldLevel": 4, + "StageID": 204130104 + }, + { + "EventID": 20413010, + "WorldLevel": 5, + "StageID": 204130105 + }, + { + "EventID": 20413010, + "WorldLevel": 6, + "StageID": 204130106 + }, + { + "EventID": 20413011, + "WorldLevel": 0, + "StageID": 204130110 + }, + { + "EventID": 20413011, + "WorldLevel": 1, + "StageID": 204130111 + }, + { + "EventID": 20413011, + "WorldLevel": 2, + "StageID": 204130112 + }, + { + "EventID": 20413011, + "WorldLevel": 3, + "StageID": 204130113 + }, + { + "EventID": 20413011, + "WorldLevel": 4, + "StageID": 204130114 + }, + { + "EventID": 20413011, + "WorldLevel": 5, + "StageID": 204130115 + }, + { + "EventID": 20413011, + "WorldLevel": 6, + "StageID": 204130116 + }, + { + "EventID": 20413013, + "WorldLevel": 0, + "StageID": 204130130 + }, + { + "EventID": 20413013, + "WorldLevel": 1, + "StageID": 204130131 + }, + { + "EventID": 20413013, + "WorldLevel": 2, + "StageID": 204130132 + }, + { + "EventID": 20413013, + "WorldLevel": 3, + "StageID": 204130133 + }, + { + "EventID": 20413013, + "WorldLevel": 4, + "StageID": 204130134 + }, + { + "EventID": 20413013, + "WorldLevel": 5, + "StageID": 204130135 + }, + { + "EventID": 20413013, + "WorldLevel": 6, + "StageID": 204130136 + }, + { + "EventID": 20413014, + "WorldLevel": 0, + "StageID": 204130140 + }, + { + "EventID": 20413014, + "WorldLevel": 1, + "StageID": 204130141 + }, + { + "EventID": 20413014, + "WorldLevel": 2, + "StageID": 204130142 + }, + { + "EventID": 20413014, + "WorldLevel": 3, + "StageID": 204130143 + }, + { + "EventID": 20413014, + "WorldLevel": 4, + "StageID": 204130144 + }, + { + "EventID": 20413014, + "WorldLevel": 5, + "StageID": 204130145 + }, + { + "EventID": 20413014, + "WorldLevel": 6, + "StageID": 204130146 + }, + { + "EventID": 20413015, + "WorldLevel": 0, + "StageID": 204130150 + }, + { + "EventID": 20413015, + "WorldLevel": 1, + "StageID": 204130151 + }, + { + "EventID": 20413015, + "WorldLevel": 2, + "StageID": 204130152 + }, + { + "EventID": 20413015, + "WorldLevel": 3, + "StageID": 204130153 + }, + { + "EventID": 20413015, + "WorldLevel": 4, + "StageID": 204130154 + }, + { + "EventID": 20413015, + "WorldLevel": 5, + "StageID": 204130155 + }, + { + "EventID": 20413015, + "WorldLevel": 6, + "StageID": 204130156 + }, + { + "EventID": 20413016, + "WorldLevel": 0, + "StageID": 204130160 + }, + { + "EventID": 20413016, + "WorldLevel": 1, + "StageID": 204130161 + }, + { + "EventID": 20413016, + "WorldLevel": 2, + "StageID": 204130162 + }, + { + "EventID": 20413016, + "WorldLevel": 3, + "StageID": 204130163 + }, + { + "EventID": 20413016, + "WorldLevel": 4, + "StageID": 204130164 + }, + { + "EventID": 20413016, + "WorldLevel": 5, + "StageID": 204130165 + }, + { + "EventID": 20413016, + "WorldLevel": 6, + "StageID": 204130166 + }, + { + "EventID": 20413017, + "WorldLevel": 0, + "StageID": 204130170 + }, + { + "EventID": 20413017, + "WorldLevel": 1, + "StageID": 204130171 + }, + { + "EventID": 20413017, + "WorldLevel": 2, + "StageID": 204130172 + }, + { + "EventID": 20413017, + "WorldLevel": 3, + "StageID": 204130173 + }, + { + "EventID": 20413017, + "WorldLevel": 4, + "StageID": 204130174 + }, + { + "EventID": 20413017, + "WorldLevel": 5, + "StageID": 204130175 + }, + { + "EventID": 20413017, + "WorldLevel": 6, + "StageID": 204130176 + }, + { + "EventID": 20413018, + "WorldLevel": 0, + "StageID": 204130180 + }, + { + "EventID": 20413018, + "WorldLevel": 1, + "StageID": 204130181 + }, + { + "EventID": 20413018, + "WorldLevel": 2, + "StageID": 204130182 + }, + { + "EventID": 20413018, + "WorldLevel": 3, + "StageID": 204130183 + }, + { + "EventID": 20413018, + "WorldLevel": 4, + "StageID": 204130184 + }, + { + "EventID": 20413018, + "WorldLevel": 5, + "StageID": 204130185 + }, + { + "EventID": 20413018, + "WorldLevel": 6, + "StageID": 204130186 + }, + { + "EventID": 20413019, + "WorldLevel": 0, + "StageID": 204130190 + }, + { + "EventID": 20413019, + "WorldLevel": 1, + "StageID": 204130191 + }, + { + "EventID": 20413019, + "WorldLevel": 2, + "StageID": 204130192 + }, + { + "EventID": 20413019, + "WorldLevel": 3, + "StageID": 204130193 + }, + { + "EventID": 20413019, + "WorldLevel": 4, + "StageID": 204130194 + }, + { + "EventID": 20413019, + "WorldLevel": 5, + "StageID": 204130195 + }, + { + "EventID": 20413019, + "WorldLevel": 6, + "StageID": 204130196 + }, + { + "EventID": 20413021, + "WorldLevel": 0, + "StageID": 204130210 + }, + { + "EventID": 20413021, + "WorldLevel": 1, + "StageID": 204130211 + }, + { + "EventID": 20413021, + "WorldLevel": 2, + "StageID": 204130212 + }, + { + "EventID": 20413021, + "WorldLevel": 3, + "StageID": 204130213 + }, + { + "EventID": 20413021, + "WorldLevel": 4, + "StageID": 204130214 + }, + { + "EventID": 20413021, + "WorldLevel": 5, + "StageID": 204130215 + }, + { + "EventID": 20413021, + "WorldLevel": 6, + "StageID": 204130216 + }, + { + "EventID": 20413022, + "WorldLevel": 0, + "StageID": 204130220 + }, + { + "EventID": 20413022, + "WorldLevel": 1, + "StageID": 204130221 + }, + { + "EventID": 20413022, + "WorldLevel": 2, + "StageID": 204130222 + }, + { + "EventID": 20413022, + "WorldLevel": 3, + "StageID": 204130223 + }, + { + "EventID": 20413022, + "WorldLevel": 4, + "StageID": 204130224 + }, + { + "EventID": 20413022, + "WorldLevel": 5, + "StageID": 204130225 + }, + { + "EventID": 20413022, + "WorldLevel": 6, + "StageID": 204130226 + }, + { + "EventID": 20413023, + "WorldLevel": 0, + "StageID": 204130230 + }, + { + "EventID": 20413023, + "WorldLevel": 1, + "StageID": 204130231 + }, + { + "EventID": 20413023, + "WorldLevel": 2, + "StageID": 204130232 + }, + { + "EventID": 20413023, + "WorldLevel": 3, + "StageID": 204130233 + }, + { + "EventID": 20413023, + "WorldLevel": 4, + "StageID": 204130234 + }, + { + "EventID": 20413023, + "WorldLevel": 5, + "StageID": 204130235 + }, + { + "EventID": 20413023, + "WorldLevel": 6, + "StageID": 204130236 + }, + { + "EventID": 20413024, + "WorldLevel": 0, + "StageID": 204130240 + }, + { + "EventID": 20413024, + "WorldLevel": 1, + "StageID": 204130241 + }, + { + "EventID": 20413024, + "WorldLevel": 2, + "StageID": 204130242 + }, + { + "EventID": 20413024, + "WorldLevel": 3, + "StageID": 204130243 + }, + { + "EventID": 20413024, + "WorldLevel": 4, + "StageID": 204130244 + }, + { + "EventID": 20413024, + "WorldLevel": 5, + "StageID": 204130245 + }, + { + "EventID": 20413024, + "WorldLevel": 6, + "StageID": 204130246 + }, + { + "EventID": 20413025, + "WorldLevel": 0, + "StageID": 204130250 + }, + { + "EventID": 20413025, + "WorldLevel": 1, + "StageID": 204130251 + }, + { + "EventID": 20413025, + "WorldLevel": 2, + "StageID": 204130252 + }, + { + "EventID": 20413025, + "WorldLevel": 3, + "StageID": 204130253 + }, + { + "EventID": 20413025, + "WorldLevel": 4, + "StageID": 204130254 + }, + { + "EventID": 20413025, + "WorldLevel": 5, + "StageID": 204130255 + }, + { + "EventID": 20413025, + "WorldLevel": 6, + "StageID": 204130256 + }, + { + "EventID": 20413026, + "WorldLevel": 0, + "StageID": 204130260 + }, + { + "EventID": 20413026, + "WorldLevel": 1, + "StageID": 204130261 + }, + { + "EventID": 20413026, + "WorldLevel": 2, + "StageID": 204130262 + }, + { + "EventID": 20413026, + "WorldLevel": 3, + "StageID": 204130263 + }, + { + "EventID": 20413026, + "WorldLevel": 4, + "StageID": 204130264 + }, + { + "EventID": 20413026, + "WorldLevel": 5, + "StageID": 204130265 + }, + { + "EventID": 20413026, + "WorldLevel": 6, + "StageID": 204130266 + }, + { + "EventID": 20413029, + "WorldLevel": 0, + "StageID": 204130290 + }, + { + "EventID": 20413029, + "WorldLevel": 1, + "StageID": 204130291 + }, + { + "EventID": 20413029, + "WorldLevel": 2, + "StageID": 204130292 + }, + { + "EventID": 20413029, + "WorldLevel": 3, + "StageID": 204130293 + }, + { + "EventID": 20413029, + "WorldLevel": 4, + "StageID": 204130294 + }, + { + "EventID": 20413029, + "WorldLevel": 5, + "StageID": 204130295 + }, + { + "EventID": 20413029, + "WorldLevel": 6, + "StageID": 204130296 + }, + { + "EventID": 20413031, + "WorldLevel": 0, + "StageID": 204130310 + }, + { + "EventID": 20413031, + "WorldLevel": 1, + "StageID": 204130311 + }, + { + "EventID": 20413031, + "WorldLevel": 2, + "StageID": 204130312 + }, + { + "EventID": 20413031, + "WorldLevel": 3, + "StageID": 204130313 + }, + { + "EventID": 20413031, + "WorldLevel": 4, + "StageID": 204130314 + }, + { + "EventID": 20413031, + "WorldLevel": 5, + "StageID": 204130315 + }, + { + "EventID": 20413031, + "WorldLevel": 6, + "StageID": 204130316 + }, + { + "EventID": 20413032, + "WorldLevel": 0, + "StageID": 204130320 + }, + { + "EventID": 20413032, + "WorldLevel": 1, + "StageID": 204130321 + }, + { + "EventID": 20413032, + "WorldLevel": 2, + "StageID": 204130322 + }, + { + "EventID": 20413032, + "WorldLevel": 3, + "StageID": 204130323 + }, + { + "EventID": 20413032, + "WorldLevel": 4, + "StageID": 204130324 + }, + { + "EventID": 20413032, + "WorldLevel": 5, + "StageID": 204130325 + }, + { + "EventID": 20413032, + "WorldLevel": 6, + "StageID": 204130326 + }, + { + "EventID": 20413033, + "WorldLevel": 0, + "StageID": 204130330 + }, + { + "EventID": 20413033, + "WorldLevel": 1, + "StageID": 204130331 + }, + { + "EventID": 20413033, + "WorldLevel": 2, + "StageID": 204130332 + }, + { + "EventID": 20413033, + "WorldLevel": 3, + "StageID": 204130333 + }, + { + "EventID": 20413033, + "WorldLevel": 4, + "StageID": 204130334 + }, + { + "EventID": 20413033, + "WorldLevel": 5, + "StageID": 204130335 + }, + { + "EventID": 20413033, + "WorldLevel": 6, + "StageID": 204130336 + }, + { + "EventID": 20413034, + "WorldLevel": 0, + "StageID": 204130340 + }, + { + "EventID": 20413034, + "WorldLevel": 1, + "StageID": 204130341 + }, + { + "EventID": 20413034, + "WorldLevel": 2, + "StageID": 204130342 + }, + { + "EventID": 20413034, + "WorldLevel": 3, + "StageID": 204130343 + }, + { + "EventID": 20413034, + "WorldLevel": 4, + "StageID": 204130344 + }, + { + "EventID": 20413034, + "WorldLevel": 5, + "StageID": 204130345 + }, + { + "EventID": 20413034, + "WorldLevel": 6, + "StageID": 204130346 + }, + { + "EventID": 20413035, + "WorldLevel": 0, + "StageID": 204130350 + }, + { + "EventID": 20413035, + "WorldLevel": 1, + "StageID": 204130351 + }, + { + "EventID": 20413035, + "WorldLevel": 2, + "StageID": 204130352 + }, + { + "EventID": 20413035, + "WorldLevel": 3, + "StageID": 204130353 + }, + { + "EventID": 20413035, + "WorldLevel": 4, + "StageID": 204130354 + }, + { + "EventID": 20413035, + "WorldLevel": 5, + "StageID": 204130355 + }, + { + "EventID": 20413035, + "WorldLevel": 6, + "StageID": 204130356 + }, + { + "EventID": 20413036, + "WorldLevel": 0, + "StageID": 204130360 + }, + { + "EventID": 20413036, + "WorldLevel": 1, + "StageID": 204130361 + }, + { + "EventID": 20413036, + "WorldLevel": 2, + "StageID": 204130362 + }, + { + "EventID": 20413036, + "WorldLevel": 3, + "StageID": 204130363 + }, + { + "EventID": 20413036, + "WorldLevel": 4, + "StageID": 204130364 + }, + { + "EventID": 20413036, + "WorldLevel": 5, + "StageID": 204130365 + }, + { + "EventID": 20413036, + "WorldLevel": 6, + "StageID": 204130366 + }, + { + "EventID": 20413037, + "WorldLevel": 0, + "StageID": 204130370 + }, + { + "EventID": 20413037, + "WorldLevel": 1, + "StageID": 204130371 + }, + { + "EventID": 20413037, + "WorldLevel": 2, + "StageID": 204130372 + }, + { + "EventID": 20413037, + "WorldLevel": 3, + "StageID": 204130373 + }, + { + "EventID": 20413037, + "WorldLevel": 4, + "StageID": 204130374 + }, + { + "EventID": 20413037, + "WorldLevel": 5, + "StageID": 204130375 + }, + { + "EventID": 20413037, + "WorldLevel": 6, + "StageID": 204130376 + }, + { + "EventID": 20413040, + "WorldLevel": 0, + "StageID": 204130400 + }, + { + "EventID": 20413040, + "WorldLevel": 1, + "StageID": 204130401 + }, + { + "EventID": 20413040, + "WorldLevel": 2, + "StageID": 204130402 + }, + { + "EventID": 20413040, + "WorldLevel": 3, + "StageID": 204130403 + }, + { + "EventID": 20413040, + "WorldLevel": 4, + "StageID": 204130404 + }, + { + "EventID": 20413040, + "WorldLevel": 5, + "StageID": 204130405 + }, + { + "EventID": 20413040, + "WorldLevel": 6, + "StageID": 204130406 + }, + { + "EventID": 20413041, + "WorldLevel": 0, + "StageID": 204130410 + }, + { + "EventID": 20413041, + "WorldLevel": 1, + "StageID": 204130411 + }, + { + "EventID": 20413041, + "WorldLevel": 2, + "StageID": 204130412 + }, + { + "EventID": 20413041, + "WorldLevel": 3, + "StageID": 204130413 + }, + { + "EventID": 20413041, + "WorldLevel": 4, + "StageID": 204130414 + }, + { + "EventID": 20413041, + "WorldLevel": 5, + "StageID": 204130415 + }, + { + "EventID": 20413041, + "WorldLevel": 6, + "StageID": 204130416 + }, + { + "EventID": 20413042, + "WorldLevel": 0, + "StageID": 204130420 + }, + { + "EventID": 20413042, + "WorldLevel": 1, + "StageID": 204130421 + }, + { + "EventID": 20413042, + "WorldLevel": 2, + "StageID": 204130422 + }, + { + "EventID": 20413042, + "WorldLevel": 3, + "StageID": 204130423 + }, + { + "EventID": 20413042, + "WorldLevel": 4, + "StageID": 204130424 + }, + { + "EventID": 20413042, + "WorldLevel": 5, + "StageID": 204130425 + }, + { + "EventID": 20413042, + "WorldLevel": 6, + "StageID": 204130426 + }, + { + "EventID": 20413043, + "WorldLevel": 0, + "StageID": 204130430 + }, + { + "EventID": 20413043, + "WorldLevel": 1, + "StageID": 204130431 + }, + { + "EventID": 20413043, + "WorldLevel": 2, + "StageID": 204130432 + }, + { + "EventID": 20413043, + "WorldLevel": 3, + "StageID": 204130433 + }, + { + "EventID": 20413043, + "WorldLevel": 4, + "StageID": 204130434 + }, + { + "EventID": 20413043, + "WorldLevel": 5, + "StageID": 204130435 + }, + { + "EventID": 20413043, + "WorldLevel": 6, + "StageID": 204130436 + }, + { + "EventID": 20413044, + "WorldLevel": 0, + "StageID": 204130440 + }, + { + "EventID": 20413044, + "WorldLevel": 1, + "StageID": 204130441 + }, + { + "EventID": 20413044, + "WorldLevel": 2, + "StageID": 204130442 + }, + { + "EventID": 20413044, + "WorldLevel": 3, + "StageID": 204130443 + }, + { + "EventID": 20413044, + "WorldLevel": 4, + "StageID": 204130444 + }, + { + "EventID": 20413044, + "WorldLevel": 5, + "StageID": 204130445 + }, + { + "EventID": 20413044, + "WorldLevel": 6, + "StageID": 204130446 + }, + { + "EventID": 20413045, + "WorldLevel": 0, + "StageID": 204130450 + }, + { + "EventID": 20413045, + "WorldLevel": 1, + "StageID": 204130451 + }, + { + "EventID": 20413045, + "WorldLevel": 2, + "StageID": 204130452 + }, + { + "EventID": 20413045, + "WorldLevel": 3, + "StageID": 204130453 + }, + { + "EventID": 20413045, + "WorldLevel": 4, + "StageID": 204130454 + }, + { + "EventID": 20413045, + "WorldLevel": 5, + "StageID": 204130455 + }, + { + "EventID": 20413045, + "WorldLevel": 6, + "StageID": 204130456 + }, + { + "EventID": 20413046, + "WorldLevel": 0, + "StageID": 204130460 + }, + { + "EventID": 20413046, + "WorldLevel": 1, + "StageID": 204130461 + }, + { + "EventID": 20413046, + "WorldLevel": 2, + "StageID": 204130462 + }, + { + "EventID": 20413046, + "WorldLevel": 3, + "StageID": 204130463 + }, + { + "EventID": 20413046, + "WorldLevel": 4, + "StageID": 204130464 + }, + { + "EventID": 20413046, + "WorldLevel": 5, + "StageID": 204130465 + }, + { + "EventID": 20413046, + "WorldLevel": 6, + "StageID": 204130466 + }, + { + "EventID": 20413047, + "WorldLevel": 0, + "StageID": 204130470 + }, + { + "EventID": 20413047, + "WorldLevel": 1, + "StageID": 204130471 + }, + { + "EventID": 20413047, + "WorldLevel": 2, + "StageID": 204130472 + }, + { + "EventID": 20413047, + "WorldLevel": 3, + "StageID": 204130473 + }, + { + "EventID": 20413047, + "WorldLevel": 4, + "StageID": 204130474 + }, + { + "EventID": 20413047, + "WorldLevel": 5, + "StageID": 204130475 + }, + { + "EventID": 20413047, + "WorldLevel": 6, + "StageID": 204130476 + }, + { + "EventID": 20413048, + "WorldLevel": 0, + "StageID": 204130480 + }, + { + "EventID": 20413048, + "WorldLevel": 1, + "StageID": 204130481 + }, + { + "EventID": 20413048, + "WorldLevel": 2, + "StageID": 204130482 + }, + { + "EventID": 20413048, + "WorldLevel": 3, + "StageID": 204130483 + }, + { + "EventID": 20413048, + "WorldLevel": 4, + "StageID": 204130484 + }, + { + "EventID": 20413048, + "WorldLevel": 5, + "StageID": 204130485 + }, + { + "EventID": 20413048, + "WorldLevel": 6, + "StageID": 204130486 + }, + { + "EventID": 20413076, + "WorldLevel": 0, + "StageID": 204130760 + }, + { + "EventID": 20413076, + "WorldLevel": 1, + "StageID": 204130761 + }, + { + "EventID": 20413076, + "WorldLevel": 2, + "StageID": 204130762 + }, + { + "EventID": 20413076, + "WorldLevel": 3, + "StageID": 204130763 + }, + { + "EventID": 20413076, + "WorldLevel": 4, + "StageID": 204130764 + }, + { + "EventID": 20413076, + "WorldLevel": 5, + "StageID": 204130765 + }, + { + "EventID": 20413076, + "WorldLevel": 6, + "StageID": 204130766 + }, + { + "EventID": 20413077, + "WorldLevel": 0, + "StageID": 204130770 + }, + { + "EventID": 20413077, + "WorldLevel": 1, + "StageID": 204130771 + }, + { + "EventID": 20413077, + "WorldLevel": 2, + "StageID": 204130772 + }, + { + "EventID": 20413077, + "WorldLevel": 3, + "StageID": 204130773 + }, + { + "EventID": 20413077, + "WorldLevel": 4, + "StageID": 204130774 + }, + { + "EventID": 20413077, + "WorldLevel": 5, + "StageID": 204130775 + }, + { + "EventID": 20413077, + "WorldLevel": 6, + "StageID": 204130776 + }, + { + "EventID": 20413078, + "WorldLevel": 0, + "StageID": 204130780 + }, + { + "EventID": 20413078, + "WorldLevel": 1, + "StageID": 204130781 + }, + { + "EventID": 20413078, + "WorldLevel": 2, + "StageID": 204130782 + }, + { + "EventID": 20413078, + "WorldLevel": 3, + "StageID": 204130783 + }, + { + "EventID": 20413078, + "WorldLevel": 4, + "StageID": 204130784 + }, + { + "EventID": 20413078, + "WorldLevel": 5, + "StageID": 204130785 + }, + { + "EventID": 20413078, + "WorldLevel": 6, + "StageID": 204130786 + }, + { + "EventID": 20413081, + "WorldLevel": 0, + "StageID": 204130810 + }, + { + "EventID": 20413081, + "WorldLevel": 1, + "StageID": 204130811 + }, + { + "EventID": 20413081, + "WorldLevel": 2, + "StageID": 204130812 + }, + { + "EventID": 20413081, + "WorldLevel": 3, + "StageID": 204130813 + }, + { + "EventID": 20413081, + "WorldLevel": 4, + "StageID": 204130814 + }, + { + "EventID": 20413081, + "WorldLevel": 5, + "StageID": 204130815 + }, + { + "EventID": 20413081, + "WorldLevel": 6, + "StageID": 204130816 + }, + { + "EventID": 20413082, + "WorldLevel": 0, + "StageID": 204130820 + }, + { + "EventID": 20413082, + "WorldLevel": 1, + "StageID": 204130821 + }, + { + "EventID": 20413082, + "WorldLevel": 2, + "StageID": 204130822 + }, + { + "EventID": 20413082, + "WorldLevel": 3, + "StageID": 204130823 + }, + { + "EventID": 20413082, + "WorldLevel": 4, + "StageID": 204130824 + }, + { + "EventID": 20413082, + "WorldLevel": 5, + "StageID": 204130825 + }, + { + "EventID": 20413082, + "WorldLevel": 6, + "StageID": 204130826 + }, + { + "EventID": 20413083, + "WorldLevel": 0, + "StageID": 204130830 + }, + { + "EventID": 20413083, + "WorldLevel": 1, + "StageID": 204130831 + }, + { + "EventID": 20413083, + "WorldLevel": 2, + "StageID": 204130832 + }, + { + "EventID": 20413083, + "WorldLevel": 3, + "StageID": 204130833 + }, + { + "EventID": 20413083, + "WorldLevel": 4, + "StageID": 204130834 + }, + { + "EventID": 20413083, + "WorldLevel": 5, + "StageID": 204130835 + }, + { + "EventID": 20413083, + "WorldLevel": 6, + "StageID": 204130836 + }, + { + "EventID": 20413086, + "WorldLevel": 0, + "StageID": 204130860 + }, + { + "EventID": 20413086, + "WorldLevel": 1, + "StageID": 204130861 + }, + { + "EventID": 20413086, + "WorldLevel": 2, + "StageID": 204130862 + }, + { + "EventID": 20413086, + "WorldLevel": 3, + "StageID": 204130863 + }, + { + "EventID": 20413086, + "WorldLevel": 4, + "StageID": 204130864 + }, + { + "EventID": 20413086, + "WorldLevel": 5, + "StageID": 204130865 + }, + { + "EventID": 20413086, + "WorldLevel": 6, + "StageID": 204130866 + }, + { + "EventID": 20413087, + "WorldLevel": 0, + "StageID": 204130870 + }, + { + "EventID": 20413087, + "WorldLevel": 1, + "StageID": 204130871 + }, + { + "EventID": 20413087, + "WorldLevel": 2, + "StageID": 204130872 + }, + { + "EventID": 20413087, + "WorldLevel": 3, + "StageID": 204130873 + }, + { + "EventID": 20413087, + "WorldLevel": 4, + "StageID": 204130874 + }, + { + "EventID": 20413087, + "WorldLevel": 5, + "StageID": 204130875 + }, + { + "EventID": 20413087, + "WorldLevel": 6, + "StageID": 204130876 + }, + { + "EventID": 20413088, + "WorldLevel": 0, + "StageID": 204130880 + }, + { + "EventID": 20413088, + "WorldLevel": 1, + "StageID": 204130881 + }, + { + "EventID": 20413088, + "WorldLevel": 2, + "StageID": 204130882 + }, + { + "EventID": 20413088, + "WorldLevel": 3, + "StageID": 204130883 + }, + { + "EventID": 20413088, + "WorldLevel": 4, + "StageID": 204130884 + }, + { + "EventID": 20413088, + "WorldLevel": 5, + "StageID": 204130885 + }, + { + "EventID": 20413088, + "WorldLevel": 6, + "StageID": 204130886 + }, + { + "EventID": 20413101, + "WorldLevel": 0, + "StageID": 204131010 + }, + { + "EventID": 20413101, + "WorldLevel": 1, + "StageID": 204131011 + }, + { + "EventID": 20413101, + "WorldLevel": 2, + "StageID": 204131012 + }, + { + "EventID": 20413101, + "WorldLevel": 3, + "StageID": 204131013 + }, + { + "EventID": 20413101, + "WorldLevel": 4, + "StageID": 204131014 + }, + { + "EventID": 20413101, + "WorldLevel": 5, + "StageID": 204131015 + }, + { + "EventID": 20413101, + "WorldLevel": 6, + "StageID": 204131016 + }, + { + "EventID": 20413102, + "WorldLevel": 0, + "StageID": 204131020 + }, + { + "EventID": 20413102, + "WorldLevel": 1, + "StageID": 204131021 + }, + { + "EventID": 20413102, + "WorldLevel": 2, + "StageID": 204131022 + }, + { + "EventID": 20413102, + "WorldLevel": 3, + "StageID": 204131023 + }, + { + "EventID": 20413102, + "WorldLevel": 4, + "StageID": 204131024 + }, + { + "EventID": 20413102, + "WorldLevel": 5, + "StageID": 204131025 + }, + { + "EventID": 20413102, + "WorldLevel": 6, + "StageID": 204131026 + }, + { + "EventID": 20413103, + "WorldLevel": 0, + "StageID": 204131030 + }, + { + "EventID": 20413103, + "WorldLevel": 1, + "StageID": 204131031 + }, + { + "EventID": 20413103, + "WorldLevel": 2, + "StageID": 204131032 + }, + { + "EventID": 20413103, + "WorldLevel": 3, + "StageID": 204131033 + }, + { + "EventID": 20413103, + "WorldLevel": 4, + "StageID": 204131034 + }, + { + "EventID": 20413103, + "WorldLevel": 5, + "StageID": 204131035 + }, + { + "EventID": 20413103, + "WorldLevel": 6, + "StageID": 204131036 + }, + { + "EventID": 20413105, + "WorldLevel": 0, + "StageID": 204131050 + }, + { + "EventID": 20413105, + "WorldLevel": 1, + "StageID": 204131051 + }, + { + "EventID": 20413105, + "WorldLevel": 2, + "StageID": 204131052 + }, + { + "EventID": 20413105, + "WorldLevel": 3, + "StageID": 204131053 + }, + { + "EventID": 20413105, + "WorldLevel": 4, + "StageID": 204131054 + }, + { + "EventID": 20413105, + "WorldLevel": 5, + "StageID": 204131055 + }, + { + "EventID": 20413105, + "WorldLevel": 6, + "StageID": 204131056 + }, + { + "EventID": 20413106, + "WorldLevel": 0, + "StageID": 204131060 + }, + { + "EventID": 20413106, + "WorldLevel": 1, + "StageID": 204131061 + }, + { + "EventID": 20413106, + "WorldLevel": 2, + "StageID": 204131062 + }, + { + "EventID": 20413106, + "WorldLevel": 3, + "StageID": 204131063 + }, + { + "EventID": 20413106, + "WorldLevel": 4, + "StageID": 204131064 + }, + { + "EventID": 20413106, + "WorldLevel": 5, + "StageID": 204131065 + }, + { + "EventID": 20413106, + "WorldLevel": 6, + "StageID": 204131066 + }, + { + "EventID": 20413107, + "WorldLevel": 0, + "StageID": 204131070 + }, + { + "EventID": 20413107, + "WorldLevel": 1, + "StageID": 204131071 + }, + { + "EventID": 20413107, + "WorldLevel": 2, + "StageID": 204131072 + }, + { + "EventID": 20413107, + "WorldLevel": 3, + "StageID": 204131073 + }, + { + "EventID": 20413107, + "WorldLevel": 4, + "StageID": 204131074 + }, + { + "EventID": 20413107, + "WorldLevel": 5, + "StageID": 204131075 + }, + { + "EventID": 20413107, + "WorldLevel": 6, + "StageID": 204131076 + }, + { + "EventID": 20413113, + "WorldLevel": 0, + "StageID": 204131130 + }, + { + "EventID": 20413113, + "WorldLevel": 1, + "StageID": 204131131 + }, + { + "EventID": 20413113, + "WorldLevel": 2, + "StageID": 204131132 + }, + { + "EventID": 20413113, + "WorldLevel": 3, + "StageID": 204131133 + }, + { + "EventID": 20413113, + "WorldLevel": 4, + "StageID": 204131134 + }, + { + "EventID": 20413113, + "WorldLevel": 5, + "StageID": 204131135 + }, + { + "EventID": 20413113, + "WorldLevel": 6, + "StageID": 204131136 + }, + { + "EventID": 20413114, + "WorldLevel": 0, + "StageID": 204131140 + }, + { + "EventID": 20413114, + "WorldLevel": 1, + "StageID": 204131141 + }, + { + "EventID": 20413114, + "WorldLevel": 2, + "StageID": 204131142 + }, + { + "EventID": 20413114, + "WorldLevel": 3, + "StageID": 204131143 + }, + { + "EventID": 20413114, + "WorldLevel": 4, + "StageID": 204131144 + }, + { + "EventID": 20413114, + "WorldLevel": 5, + "StageID": 204131145 + }, + { + "EventID": 20413114, + "WorldLevel": 6, + "StageID": 204131146 + }, + { + "EventID": 20413115, + "WorldLevel": 0, + "StageID": 204131150 + }, + { + "EventID": 20413115, + "WorldLevel": 1, + "StageID": 204131151 + }, + { + "EventID": 20413115, + "WorldLevel": 2, + "StageID": 204131152 + }, + { + "EventID": 20413115, + "WorldLevel": 3, + "StageID": 204131153 + }, + { + "EventID": 20413115, + "WorldLevel": 4, + "StageID": 204131154 + }, + { + "EventID": 20413115, + "WorldLevel": 5, + "StageID": 204131155 + }, + { + "EventID": 20413115, + "WorldLevel": 6, + "StageID": 204131156 + }, + { + "EventID": 20413116, + "WorldLevel": 0, + "StageID": 204131160 + }, + { + "EventID": 20413116, + "WorldLevel": 1, + "StageID": 204131161 + }, + { + "EventID": 20413116, + "WorldLevel": 2, + "StageID": 204131162 + }, + { + "EventID": 20413116, + "WorldLevel": 3, + "StageID": 204131163 + }, + { + "EventID": 20413116, + "WorldLevel": 4, + "StageID": 204131164 + }, + { + "EventID": 20413116, + "WorldLevel": 5, + "StageID": 204131165 + }, + { + "EventID": 20413116, + "WorldLevel": 6, + "StageID": 204131166 + }, + { + "EventID": 20413117, + "WorldLevel": 0, + "StageID": 204131170 + }, + { + "EventID": 20413117, + "WorldLevel": 1, + "StageID": 204131171 + }, + { + "EventID": 20413117, + "WorldLevel": 2, + "StageID": 204131172 + }, + { + "EventID": 20413117, + "WorldLevel": 3, + "StageID": 204131173 + }, + { + "EventID": 20413117, + "WorldLevel": 4, + "StageID": 204131174 + }, + { + "EventID": 20413117, + "WorldLevel": 5, + "StageID": 204131175 + }, + { + "EventID": 20413117, + "WorldLevel": 6, + "StageID": 204131176 + }, + { + "EventID": 20413118, + "WorldLevel": 0, + "StageID": 204131180 + }, + { + "EventID": 20413118, + "WorldLevel": 1, + "StageID": 204131181 + }, + { + "EventID": 20413118, + "WorldLevel": 2, + "StageID": 204131182 + }, + { + "EventID": 20413118, + "WorldLevel": 3, + "StageID": 204131183 + }, + { + "EventID": 20413118, + "WorldLevel": 4, + "StageID": 204131184 + }, + { + "EventID": 20413118, + "WorldLevel": 5, + "StageID": 204131185 + }, + { + "EventID": 20413118, + "WorldLevel": 6, + "StageID": 204131186 + }, + { + "EventID": 20413119, + "WorldLevel": 0, + "StageID": 204131190 + }, + { + "EventID": 20413119, + "WorldLevel": 1, + "StageID": 204131191 + }, + { + "EventID": 20413119, + "WorldLevel": 2, + "StageID": 204131192 + }, + { + "EventID": 20413119, + "WorldLevel": 3, + "StageID": 204131193 + }, + { + "EventID": 20413119, + "WorldLevel": 4, + "StageID": 204131194 + }, + { + "EventID": 20413119, + "WorldLevel": 5, + "StageID": 204131195 + }, + { + "EventID": 20413119, + "WorldLevel": 6, + "StageID": 204131196 + }, + { + "EventID": 20413121, + "WorldLevel": 0, + "StageID": 204131210 + }, + { + "EventID": 20413121, + "WorldLevel": 1, + "StageID": 204131211 + }, + { + "EventID": 20413121, + "WorldLevel": 2, + "StageID": 204131212 + }, + { + "EventID": 20413121, + "WorldLevel": 3, + "StageID": 204131213 + }, + { + "EventID": 20413121, + "WorldLevel": 4, + "StageID": 204131214 + }, + { + "EventID": 20413121, + "WorldLevel": 5, + "StageID": 204131215 + }, + { + "EventID": 20413121, + "WorldLevel": 6, + "StageID": 204131216 + }, + { + "EventID": 20413122, + "WorldLevel": 0, + "StageID": 204131220 + }, + { + "EventID": 20413122, + "WorldLevel": 1, + "StageID": 204131221 + }, + { + "EventID": 20413122, + "WorldLevel": 2, + "StageID": 204131222 + }, + { + "EventID": 20413122, + "WorldLevel": 3, + "StageID": 204131223 + }, + { + "EventID": 20413122, + "WorldLevel": 4, + "StageID": 204131224 + }, + { + "EventID": 20413122, + "WorldLevel": 5, + "StageID": 204131225 + }, + { + "EventID": 20413122, + "WorldLevel": 6, + "StageID": 204131226 + }, + { + "EventID": 20413123, + "WorldLevel": 0, + "StageID": 204131230 + }, + { + "EventID": 20413123, + "WorldLevel": 1, + "StageID": 204131231 + }, + { + "EventID": 20413123, + "WorldLevel": 2, + "StageID": 204131232 + }, + { + "EventID": 20413123, + "WorldLevel": 3, + "StageID": 204131233 + }, + { + "EventID": 20413123, + "WorldLevel": 4, + "StageID": 204131234 + }, + { + "EventID": 20413123, + "WorldLevel": 5, + "StageID": 204131235 + }, + { + "EventID": 20413123, + "WorldLevel": 6, + "StageID": 204131236 + }, + { + "EventID": 20413124, + "WorldLevel": 0, + "StageID": 204131240 + }, + { + "EventID": 20413124, + "WorldLevel": 1, + "StageID": 204131241 + }, + { + "EventID": 20413124, + "WorldLevel": 2, + "StageID": 204131242 + }, + { + "EventID": 20413124, + "WorldLevel": 3, + "StageID": 204131243 + }, + { + "EventID": 20413124, + "WorldLevel": 4, + "StageID": 204131244 + }, + { + "EventID": 20413124, + "WorldLevel": 5, + "StageID": 204131245 + }, + { + "EventID": 20413124, + "WorldLevel": 6, + "StageID": 204131246 + }, + { + "EventID": 20413125, + "WorldLevel": 0, + "StageID": 204131250 + }, + { + "EventID": 20413125, + "WorldLevel": 1, + "StageID": 204131251 + }, + { + "EventID": 20413125, + "WorldLevel": 2, + "StageID": 204131252 + }, + { + "EventID": 20413125, + "WorldLevel": 3, + "StageID": 204131253 + }, + { + "EventID": 20413125, + "WorldLevel": 4, + "StageID": 204131254 + }, + { + "EventID": 20413125, + "WorldLevel": 5, + "StageID": 204131255 + }, + { + "EventID": 20413125, + "WorldLevel": 6, + "StageID": 204131256 + }, + { + "EventID": 20413126, + "WorldLevel": 0, + "StageID": 204131260 + }, + { + "EventID": 20413126, + "WorldLevel": 1, + "StageID": 204131261 + }, + { + "EventID": 20413126, + "WorldLevel": 2, + "StageID": 204131262 + }, + { + "EventID": 20413126, + "WorldLevel": 3, + "StageID": 204131263 + }, + { + "EventID": 20413126, + "WorldLevel": 4, + "StageID": 204131264 + }, + { + "EventID": 20413126, + "WorldLevel": 5, + "StageID": 204131265 + }, + { + "EventID": 20413126, + "WorldLevel": 6, + "StageID": 204131266 + }, + { + "EventID": 20413128, + "WorldLevel": 0, + "StageID": 204131280 + }, + { + "EventID": 20413128, + "WorldLevel": 1, + "StageID": 204131281 + }, + { + "EventID": 20413128, + "WorldLevel": 2, + "StageID": 204131282 + }, + { + "EventID": 20413128, + "WorldLevel": 3, + "StageID": 204131283 + }, + { + "EventID": 20413128, + "WorldLevel": 4, + "StageID": 204131284 + }, + { + "EventID": 20413128, + "WorldLevel": 5, + "StageID": 204131285 + }, + { + "EventID": 20413128, + "WorldLevel": 6, + "StageID": 204131286 + }, + { + "EventID": 20413129, + "WorldLevel": 0, + "StageID": 204131290 + }, + { + "EventID": 20413129, + "WorldLevel": 1, + "StageID": 204131291 + }, + { + "EventID": 20413129, + "WorldLevel": 2, + "StageID": 204131292 + }, + { + "EventID": 20413129, + "WorldLevel": 3, + "StageID": 204131293 + }, + { + "EventID": 20413129, + "WorldLevel": 4, + "StageID": 204131294 + }, + { + "EventID": 20413129, + "WorldLevel": 5, + "StageID": 204131295 + }, + { + "EventID": 20413129, + "WorldLevel": 6, + "StageID": 204131296 + }, + { + "EventID": 20413130, + "WorldLevel": 0, + "StageID": 204131300 + }, + { + "EventID": 20413130, + "WorldLevel": 1, + "StageID": 204131301 + }, + { + "EventID": 20413130, + "WorldLevel": 2, + "StageID": 204131302 + }, + { + "EventID": 20413130, + "WorldLevel": 3, + "StageID": 204131303 + }, + { + "EventID": 20413130, + "WorldLevel": 4, + "StageID": 204131304 + }, + { + "EventID": 20413130, + "WorldLevel": 5, + "StageID": 204131305 + }, + { + "EventID": 20413130, + "WorldLevel": 6, + "StageID": 204131306 + }, + { + "EventID": 20413131, + "WorldLevel": 0, + "StageID": 204131310 + }, + { + "EventID": 20413131, + "WorldLevel": 1, + "StageID": 204131311 + }, + { + "EventID": 20413131, + "WorldLevel": 2, + "StageID": 204131312 + }, + { + "EventID": 20413131, + "WorldLevel": 3, + "StageID": 204131313 + }, + { + "EventID": 20413131, + "WorldLevel": 4, + "StageID": 204131314 + }, + { + "EventID": 20413131, + "WorldLevel": 5, + "StageID": 204131315 + }, + { + "EventID": 20413131, + "WorldLevel": 6, + "StageID": 204131316 + }, + { + "EventID": 20413132, + "WorldLevel": 0, + "StageID": 204131320 + }, + { + "EventID": 20413132, + "WorldLevel": 1, + "StageID": 204131321 + }, + { + "EventID": 20413132, + "WorldLevel": 2, + "StageID": 204131322 + }, + { + "EventID": 20413132, + "WorldLevel": 3, + "StageID": 204131323 + }, + { + "EventID": 20413132, + "WorldLevel": 4, + "StageID": 204131324 + }, + { + "EventID": 20413132, + "WorldLevel": 5, + "StageID": 204131325 + }, + { + "EventID": 20413132, + "WorldLevel": 6, + "StageID": 204131326 + }, + { + "EventID": 20413133, + "WorldLevel": 0, + "StageID": 204131330 + }, + { + "EventID": 20413133, + "WorldLevel": 1, + "StageID": 204131331 + }, + { + "EventID": 20413133, + "WorldLevel": 2, + "StageID": 204131332 + }, + { + "EventID": 20413133, + "WorldLevel": 3, + "StageID": 204131333 + }, + { + "EventID": 20413133, + "WorldLevel": 4, + "StageID": 204131334 + }, + { + "EventID": 20413133, + "WorldLevel": 5, + "StageID": 204131335 + }, + { + "EventID": 20413133, + "WorldLevel": 6, + "StageID": 204131336 + }, + { + "EventID": 20413134, + "WorldLevel": 0, + "StageID": 204131340 + }, + { + "EventID": 20413134, + "WorldLevel": 1, + "StageID": 204131341 + }, + { + "EventID": 20413134, + "WorldLevel": 2, + "StageID": 204131342 + }, + { + "EventID": 20413134, + "WorldLevel": 3, + "StageID": 204131343 + }, + { + "EventID": 20413134, + "WorldLevel": 4, + "StageID": 204131344 + }, + { + "EventID": 20413134, + "WorldLevel": 5, + "StageID": 204131345 + }, + { + "EventID": 20413134, + "WorldLevel": 6, + "StageID": 204131346 + }, + { + "EventID": 20413135, + "WorldLevel": 0, + "StageID": 204131350 + }, + { + "EventID": 20413135, + "WorldLevel": 1, + "StageID": 204131351 + }, + { + "EventID": 20413135, + "WorldLevel": 2, + "StageID": 204131352 + }, + { + "EventID": 20413135, + "WorldLevel": 3, + "StageID": 204131353 + }, + { + "EventID": 20413135, + "WorldLevel": 4, + "StageID": 204131354 + }, + { + "EventID": 20413135, + "WorldLevel": 5, + "StageID": 204131355 + }, + { + "EventID": 20413135, + "WorldLevel": 6, + "StageID": 204131356 + }, + { + "EventID": 20413136, + "WorldLevel": 0, + "StageID": 204131360 + }, + { + "EventID": 20413136, + "WorldLevel": 1, + "StageID": 204131361 + }, + { + "EventID": 20413136, + "WorldLevel": 2, + "StageID": 204131362 + }, + { + "EventID": 20413136, + "WorldLevel": 3, + "StageID": 204131363 + }, + { + "EventID": 20413136, + "WorldLevel": 4, + "StageID": 204131364 + }, + { + "EventID": 20413136, + "WorldLevel": 5, + "StageID": 204131365 + }, + { + "EventID": 20413136, + "WorldLevel": 6, + "StageID": 204131366 + }, + { + "EventID": 20413137, + "WorldLevel": 0, + "StageID": 204131370 + }, + { + "EventID": 20413137, + "WorldLevel": 1, + "StageID": 204131371 + }, + { + "EventID": 20413137, + "WorldLevel": 2, + "StageID": 204131372 + }, + { + "EventID": 20413137, + "WorldLevel": 3, + "StageID": 204131373 + }, + { + "EventID": 20413137, + "WorldLevel": 4, + "StageID": 204131374 + }, + { + "EventID": 20413137, + "WorldLevel": 5, + "StageID": 204131375 + }, + { + "EventID": 20413137, + "WorldLevel": 6, + "StageID": 204131376 + }, + { + "EventID": 20413140, + "WorldLevel": 0, + "StageID": 204131400 + }, + { + "EventID": 20413140, + "WorldLevel": 1, + "StageID": 204131401 + }, + { + "EventID": 20413140, + "WorldLevel": 2, + "StageID": 204131402 + }, + { + "EventID": 20413140, + "WorldLevel": 3, + "StageID": 204131403 + }, + { + "EventID": 20413140, + "WorldLevel": 4, + "StageID": 204131404 + }, + { + "EventID": 20413140, + "WorldLevel": 5, + "StageID": 204131405 + }, + { + "EventID": 20413140, + "WorldLevel": 6, + "StageID": 204131406 + }, + { + "EventID": 20413141, + "WorldLevel": 0, + "StageID": 204131410 + }, + { + "EventID": 20413141, + "WorldLevel": 1, + "StageID": 204131411 + }, + { + "EventID": 20413141, + "WorldLevel": 2, + "StageID": 204131412 + }, + { + "EventID": 20413141, + "WorldLevel": 3, + "StageID": 204131413 + }, + { + "EventID": 20413141, + "WorldLevel": 4, + "StageID": 204131414 + }, + { + "EventID": 20413141, + "WorldLevel": 5, + "StageID": 204131415 + }, + { + "EventID": 20413141, + "WorldLevel": 6, + "StageID": 204131416 + }, + { + "EventID": 20413142, + "WorldLevel": 0, + "StageID": 204131420 + }, + { + "EventID": 20413142, + "WorldLevel": 1, + "StageID": 204131421 + }, + { + "EventID": 20413142, + "WorldLevel": 2, + "StageID": 204131422 + }, + { + "EventID": 20413142, + "WorldLevel": 3, + "StageID": 204131423 + }, + { + "EventID": 20413142, + "WorldLevel": 4, + "StageID": 204131424 + }, + { + "EventID": 20413142, + "WorldLevel": 5, + "StageID": 204131425 + }, + { + "EventID": 20413142, + "WorldLevel": 6, + "StageID": 204131426 + }, + { + "EventID": 20413143, + "WorldLevel": 0, + "StageID": 204131430 + }, + { + "EventID": 20413143, + "WorldLevel": 1, + "StageID": 204131431 + }, + { + "EventID": 20413143, + "WorldLevel": 2, + "StageID": 204131432 + }, + { + "EventID": 20413143, + "WorldLevel": 3, + "StageID": 204131433 + }, + { + "EventID": 20413143, + "WorldLevel": 4, + "StageID": 204131434 + }, + { + "EventID": 20413143, + "WorldLevel": 5, + "StageID": 204131435 + }, + { + "EventID": 20413143, + "WorldLevel": 6, + "StageID": 204131436 + }, + { + "EventID": 20413144, + "WorldLevel": 0, + "StageID": 204131440 + }, + { + "EventID": 20413144, + "WorldLevel": 1, + "StageID": 204131441 + }, + { + "EventID": 20413144, + "WorldLevel": 2, + "StageID": 204131442 + }, + { + "EventID": 20413144, + "WorldLevel": 3, + "StageID": 204131443 + }, + { + "EventID": 20413144, + "WorldLevel": 4, + "StageID": 204131444 + }, + { + "EventID": 20413144, + "WorldLevel": 5, + "StageID": 204131445 + }, + { + "EventID": 20413144, + "WorldLevel": 6, + "StageID": 204131446 + }, + { + "EventID": 20413145, + "WorldLevel": 0, + "StageID": 204131450 + }, + { + "EventID": 20413145, + "WorldLevel": 1, + "StageID": 204131451 + }, + { + "EventID": 20413145, + "WorldLevel": 2, + "StageID": 204131452 + }, + { + "EventID": 20413145, + "WorldLevel": 3, + "StageID": 204131453 + }, + { + "EventID": 20413145, + "WorldLevel": 4, + "StageID": 204131454 + }, + { + "EventID": 20413145, + "WorldLevel": 5, + "StageID": 204131455 + }, + { + "EventID": 20413145, + "WorldLevel": 6, + "StageID": 204131456 + }, + { + "EventID": 20413146, + "WorldLevel": 0, + "StageID": 204131460 + }, + { + "EventID": 20413146, + "WorldLevel": 1, + "StageID": 204131461 + }, + { + "EventID": 20413146, + "WorldLevel": 2, + "StageID": 204131462 + }, + { + "EventID": 20413146, + "WorldLevel": 3, + "StageID": 204131463 + }, + { + "EventID": 20413146, + "WorldLevel": 4, + "StageID": 204131464 + }, + { + "EventID": 20413146, + "WorldLevel": 5, + "StageID": 204131465 + }, + { + "EventID": 20413146, + "WorldLevel": 6, + "StageID": 204131466 + }, + { + "EventID": 20413147, + "WorldLevel": 0, + "StageID": 204131470 + }, + { + "EventID": 20413147, + "WorldLevel": 1, + "StageID": 204131471 + }, + { + "EventID": 20413147, + "WorldLevel": 2, + "StageID": 204131472 + }, + { + "EventID": 20413147, + "WorldLevel": 3, + "StageID": 204131473 + }, + { + "EventID": 20413147, + "WorldLevel": 4, + "StageID": 204131474 + }, + { + "EventID": 20413147, + "WorldLevel": 5, + "StageID": 204131475 + }, + { + "EventID": 20413147, + "WorldLevel": 6, + "StageID": 204131476 + }, + { + "EventID": 20413148, + "WorldLevel": 0, + "StageID": 204131480 + }, + { + "EventID": 20413148, + "WorldLevel": 1, + "StageID": 204131481 + }, + { + "EventID": 20413148, + "WorldLevel": 2, + "StageID": 204131482 + }, + { + "EventID": 20413148, + "WorldLevel": 3, + "StageID": 204131483 + }, + { + "EventID": 20413148, + "WorldLevel": 4, + "StageID": 204131484 + }, + { + "EventID": 20413148, + "WorldLevel": 5, + "StageID": 204131485 + }, + { + "EventID": 20413148, + "WorldLevel": 6, + "StageID": 204131486 + }, + { + "EventID": 20421005, + "WorldLevel": 0, + "StageID": 204210050 + }, + { + "EventID": 20421005, + "WorldLevel": 1, + "StageID": 204210051 + }, + { + "EventID": 20421005, + "WorldLevel": 2, + "StageID": 204210052 + }, + { + "EventID": 20421005, + "WorldLevel": 3, + "StageID": 204210053 + }, + { + "EventID": 20421005, + "WorldLevel": 4, + "StageID": 204210054 + }, + { + "EventID": 20421005, + "WorldLevel": 5, + "StageID": 204210055 + }, + { + "EventID": 20421005, + "WorldLevel": 6, + "StageID": 204210056 + }, + { + "EventID": 20421006, + "WorldLevel": 0, + "StageID": 204210060 + }, + { + "EventID": 20421006, + "WorldLevel": 1, + "StageID": 204210061 + }, + { + "EventID": 20421006, + "WorldLevel": 2, + "StageID": 204210062 + }, + { + "EventID": 20421006, + "WorldLevel": 3, + "StageID": 204210063 + }, + { + "EventID": 20421006, + "WorldLevel": 4, + "StageID": 204210064 + }, + { + "EventID": 20421006, + "WorldLevel": 5, + "StageID": 204210065 + }, + { + "EventID": 20421006, + "WorldLevel": 6, + "StageID": 204210066 + }, + { + "EventID": 20421007, + "WorldLevel": 0, + "StageID": 204210070 + }, + { + "EventID": 20421007, + "WorldLevel": 1, + "StageID": 204210071 + }, + { + "EventID": 20421007, + "WorldLevel": 2, + "StageID": 204210072 + }, + { + "EventID": 20421007, + "WorldLevel": 3, + "StageID": 204210073 + }, + { + "EventID": 20421007, + "WorldLevel": 4, + "StageID": 204210074 + }, + { + "EventID": 20421007, + "WorldLevel": 5, + "StageID": 204210075 + }, + { + "EventID": 20421007, + "WorldLevel": 6, + "StageID": 204210076 + }, + { + "EventID": 20421008, + "WorldLevel": 0, + "StageID": 204210080 + }, + { + "EventID": 20421008, + "WorldLevel": 1, + "StageID": 204210081 + }, + { + "EventID": 20421008, + "WorldLevel": 2, + "StageID": 204210082 + }, + { + "EventID": 20421008, + "WorldLevel": 3, + "StageID": 204210083 + }, + { + "EventID": 20421008, + "WorldLevel": 4, + "StageID": 204210084 + }, + { + "EventID": 20421008, + "WorldLevel": 5, + "StageID": 204210085 + }, + { + "EventID": 20421008, + "WorldLevel": 6, + "StageID": 204210086 + }, + { + "EventID": 20421009, + "WorldLevel": 0, + "StageID": 204210090 + }, + { + "EventID": 20421009, + "WorldLevel": 1, + "StageID": 204210091 + }, + { + "EventID": 20421009, + "WorldLevel": 2, + "StageID": 204210092 + }, + { + "EventID": 20421009, + "WorldLevel": 3, + "StageID": 204210093 + }, + { + "EventID": 20421009, + "WorldLevel": 4, + "StageID": 204210094 + }, + { + "EventID": 20421009, + "WorldLevel": 5, + "StageID": 204210095 + }, + { + "EventID": 20421009, + "WorldLevel": 6, + "StageID": 204210096 + }, + { + "EventID": 20421010, + "WorldLevel": 0, + "StageID": 204210100 + }, + { + "EventID": 20421010, + "WorldLevel": 1, + "StageID": 204210101 + }, + { + "EventID": 20421010, + "WorldLevel": 2, + "StageID": 204210102 + }, + { + "EventID": 20421010, + "WorldLevel": 3, + "StageID": 204210103 + }, + { + "EventID": 20421010, + "WorldLevel": 4, + "StageID": 204210104 + }, + { + "EventID": 20421010, + "WorldLevel": 5, + "StageID": 204210105 + }, + { + "EventID": 20421010, + "WorldLevel": 6, + "StageID": 204210106 + }, + { + "EventID": 20421011, + "WorldLevel": 0, + "StageID": 204210110 + }, + { + "EventID": 20421011, + "WorldLevel": 1, + "StageID": 204210111 + }, + { + "EventID": 20421011, + "WorldLevel": 2, + "StageID": 204210112 + }, + { + "EventID": 20421011, + "WorldLevel": 3, + "StageID": 204210113 + }, + { + "EventID": 20421011, + "WorldLevel": 4, + "StageID": 204210114 + }, + { + "EventID": 20421011, + "WorldLevel": 5, + "StageID": 204210115 + }, + { + "EventID": 20421011, + "WorldLevel": 6, + "StageID": 204210116 + }, + { + "EventID": 20421012, + "WorldLevel": 0, + "StageID": 204210120 + }, + { + "EventID": 20421012, + "WorldLevel": 1, + "StageID": 204210121 + }, + { + "EventID": 20421012, + "WorldLevel": 2, + "StageID": 204210122 + }, + { + "EventID": 20421012, + "WorldLevel": 3, + "StageID": 204210123 + }, + { + "EventID": 20421012, + "WorldLevel": 4, + "StageID": 204210124 + }, + { + "EventID": 20421012, + "WorldLevel": 5, + "StageID": 204210125 + }, + { + "EventID": 20421012, + "WorldLevel": 6, + "StageID": 204210126 + }, + { + "EventID": 20421014, + "WorldLevel": 0, + "StageID": 204210140 + }, + { + "EventID": 20421014, + "WorldLevel": 1, + "StageID": 204210141 + }, + { + "EventID": 20421014, + "WorldLevel": 2, + "StageID": 204210142 + }, + { + "EventID": 20421014, + "WorldLevel": 3, + "StageID": 204210143 + }, + { + "EventID": 20421014, + "WorldLevel": 4, + "StageID": 204210144 + }, + { + "EventID": 20421014, + "WorldLevel": 5, + "StageID": 204210145 + }, + { + "EventID": 20421014, + "WorldLevel": 6, + "StageID": 204210146 + }, + { + "EventID": 20421015, + "WorldLevel": 0, + "StageID": 204210150 + }, + { + "EventID": 20421015, + "WorldLevel": 1, + "StageID": 204210151 + }, + { + "EventID": 20421015, + "WorldLevel": 2, + "StageID": 204210152 + }, + { + "EventID": 20421015, + "WorldLevel": 3, + "StageID": 204210153 + }, + { + "EventID": 20421015, + "WorldLevel": 4, + "StageID": 204210154 + }, + { + "EventID": 20421015, + "WorldLevel": 5, + "StageID": 204210155 + }, + { + "EventID": 20421015, + "WorldLevel": 6, + "StageID": 204210156 + }, + { + "EventID": 20421016, + "WorldLevel": 0, + "StageID": 204210160 + }, + { + "EventID": 20421016, + "WorldLevel": 1, + "StageID": 204210161 + }, + { + "EventID": 20421016, + "WorldLevel": 2, + "StageID": 204210162 + }, + { + "EventID": 20421016, + "WorldLevel": 3, + "StageID": 204210163 + }, + { + "EventID": 20421016, + "WorldLevel": 4, + "StageID": 204210164 + }, + { + "EventID": 20421016, + "WorldLevel": 5, + "StageID": 204210165 + }, + { + "EventID": 20421016, + "WorldLevel": 6, + "StageID": 204210166 + }, + { + "EventID": 20421017, + "WorldLevel": 0, + "StageID": 204210170 + }, + { + "EventID": 20421017, + "WorldLevel": 1, + "StageID": 204210171 + }, + { + "EventID": 20421017, + "WorldLevel": 2, + "StageID": 204210172 + }, + { + "EventID": 20421017, + "WorldLevel": 3, + "StageID": 204210173 + }, + { + "EventID": 20421017, + "WorldLevel": 4, + "StageID": 204210174 + }, + { + "EventID": 20421017, + "WorldLevel": 5, + "StageID": 204210175 + }, + { + "EventID": 20421017, + "WorldLevel": 6, + "StageID": 204210176 + }, + { + "EventID": 20421019, + "WorldLevel": 0, + "StageID": 204210190 + }, + { + "EventID": 20421019, + "WorldLevel": 1, + "StageID": 204210191 + }, + { + "EventID": 20421019, + "WorldLevel": 2, + "StageID": 204210192 + }, + { + "EventID": 20421019, + "WorldLevel": 3, + "StageID": 204210193 + }, + { + "EventID": 20421019, + "WorldLevel": 4, + "StageID": 204210194 + }, + { + "EventID": 20421019, + "WorldLevel": 5, + "StageID": 204210195 + }, + { + "EventID": 20421019, + "WorldLevel": 6, + "StageID": 204210196 + }, + { + "EventID": 20421020, + "WorldLevel": 0, + "StageID": 204210200 + }, + { + "EventID": 20421020, + "WorldLevel": 1, + "StageID": 204210201 + }, + { + "EventID": 20421020, + "WorldLevel": 2, + "StageID": 204210202 + }, + { + "EventID": 20421020, + "WorldLevel": 3, + "StageID": 204210203 + }, + { + "EventID": 20421020, + "WorldLevel": 4, + "StageID": 204210204 + }, + { + "EventID": 20421020, + "WorldLevel": 5, + "StageID": 204210205 + }, + { + "EventID": 20421020, + "WorldLevel": 6, + "StageID": 204210206 + }, + { + "EventID": 20421024, + "WorldLevel": 0, + "StageID": 204210240 + }, + { + "EventID": 20421024, + "WorldLevel": 1, + "StageID": 204210241 + }, + { + "EventID": 20421024, + "WorldLevel": 2, + "StageID": 204210242 + }, + { + "EventID": 20421024, + "WorldLevel": 3, + "StageID": 204210243 + }, + { + "EventID": 20421024, + "WorldLevel": 4, + "StageID": 204210244 + }, + { + "EventID": 20421024, + "WorldLevel": 5, + "StageID": 204210245 + }, + { + "EventID": 20421024, + "WorldLevel": 6, + "StageID": 204210246 + }, + { + "EventID": 20421025, + "WorldLevel": 0, + "StageID": 204210250 + }, + { + "EventID": 20421025, + "WorldLevel": 1, + "StageID": 204210251 + }, + { + "EventID": 20421025, + "WorldLevel": 2, + "StageID": 204210252 + }, + { + "EventID": 20421025, + "WorldLevel": 3, + "StageID": 204210253 + }, + { + "EventID": 20421025, + "WorldLevel": 4, + "StageID": 204210254 + }, + { + "EventID": 20421025, + "WorldLevel": 5, + "StageID": 204210255 + }, + { + "EventID": 20421025, + "WorldLevel": 6, + "StageID": 204210256 + }, + { + "EventID": 20421027, + "WorldLevel": 0, + "StageID": 204210270 + }, + { + "EventID": 20421027, + "WorldLevel": 1, + "StageID": 204210271 + }, + { + "EventID": 20421027, + "WorldLevel": 2, + "StageID": 204210272 + }, + { + "EventID": 20421027, + "WorldLevel": 3, + "StageID": 204210273 + }, + { + "EventID": 20421027, + "WorldLevel": 4, + "StageID": 204210274 + }, + { + "EventID": 20421027, + "WorldLevel": 5, + "StageID": 204210275 + }, + { + "EventID": 20421027, + "WorldLevel": 6, + "StageID": 204210276 + }, + { + "EventID": 20421028, + "WorldLevel": 0, + "StageID": 204210280 + }, + { + "EventID": 20421028, + "WorldLevel": 1, + "StageID": 204210281 + }, + { + "EventID": 20421028, + "WorldLevel": 2, + "StageID": 204210282 + }, + { + "EventID": 20421028, + "WorldLevel": 3, + "StageID": 204210283 + }, + { + "EventID": 20421028, + "WorldLevel": 4, + "StageID": 204210284 + }, + { + "EventID": 20421028, + "WorldLevel": 5, + "StageID": 204210285 + }, + { + "EventID": 20421028, + "WorldLevel": 6, + "StageID": 204210286 + }, + { + "EventID": 20421029, + "WorldLevel": 0, + "StageID": 204210290 + }, + { + "EventID": 20421029, + "WorldLevel": 1, + "StageID": 204210291 + }, + { + "EventID": 20421029, + "WorldLevel": 2, + "StageID": 204210292 + }, + { + "EventID": 20421029, + "WorldLevel": 3, + "StageID": 204210293 + }, + { + "EventID": 20421029, + "WorldLevel": 4, + "StageID": 204210294 + }, + { + "EventID": 20421029, + "WorldLevel": 5, + "StageID": 204210295 + }, + { + "EventID": 20421029, + "WorldLevel": 6, + "StageID": 204210296 + }, + { + "EventID": 20421030, + "WorldLevel": 0, + "StageID": 204210300 + }, + { + "EventID": 20421030, + "WorldLevel": 1, + "StageID": 204210301 + }, + { + "EventID": 20421030, + "WorldLevel": 2, + "StageID": 204210302 + }, + { + "EventID": 20421030, + "WorldLevel": 3, + "StageID": 204210303 + }, + { + "EventID": 20421030, + "WorldLevel": 4, + "StageID": 204210304 + }, + { + "EventID": 20421030, + "WorldLevel": 5, + "StageID": 204210305 + }, + { + "EventID": 20421030, + "WorldLevel": 6, + "StageID": 204210306 + }, + { + "EventID": 20421031, + "WorldLevel": 0, + "StageID": 204210310 + }, + { + "EventID": 20421031, + "WorldLevel": 1, + "StageID": 204210311 + }, + { + "EventID": 20421031, + "WorldLevel": 2, + "StageID": 204210312 + }, + { + "EventID": 20421031, + "WorldLevel": 3, + "StageID": 204210313 + }, + { + "EventID": 20421031, + "WorldLevel": 4, + "StageID": 204210314 + }, + { + "EventID": 20421031, + "WorldLevel": 5, + "StageID": 204210315 + }, + { + "EventID": 20421031, + "WorldLevel": 6, + "StageID": 204210316 + }, + { + "EventID": 20421032, + "WorldLevel": 0, + "StageID": 204210320 + }, + { + "EventID": 20421032, + "WorldLevel": 1, + "StageID": 204210321 + }, + { + "EventID": 20421032, + "WorldLevel": 2, + "StageID": 204210322 + }, + { + "EventID": 20421032, + "WorldLevel": 3, + "StageID": 204210323 + }, + { + "EventID": 20421032, + "WorldLevel": 4, + "StageID": 204210324 + }, + { + "EventID": 20421032, + "WorldLevel": 5, + "StageID": 204210325 + }, + { + "EventID": 20421032, + "WorldLevel": 6, + "StageID": 204210326 + }, + { + "EventID": 20421033, + "WorldLevel": 0, + "StageID": 204210330 + }, + { + "EventID": 20421033, + "WorldLevel": 1, + "StageID": 204210331 + }, + { + "EventID": 20421033, + "WorldLevel": 2, + "StageID": 204210332 + }, + { + "EventID": 20421033, + "WorldLevel": 3, + "StageID": 204210333 + }, + { + "EventID": 20421033, + "WorldLevel": 4, + "StageID": 204210334 + }, + { + "EventID": 20421033, + "WorldLevel": 5, + "StageID": 204210335 + }, + { + "EventID": 20421033, + "WorldLevel": 6, + "StageID": 204210336 + }, + { + "EventID": 20421034, + "WorldLevel": 0, + "StageID": 204210340 + }, + { + "EventID": 20421034, + "WorldLevel": 1, + "StageID": 204210341 + }, + { + "EventID": 20421034, + "WorldLevel": 2, + "StageID": 204210342 + }, + { + "EventID": 20421034, + "WorldLevel": 3, + "StageID": 204210343 + }, + { + "EventID": 20421034, + "WorldLevel": 4, + "StageID": 204210344 + }, + { + "EventID": 20421034, + "WorldLevel": 5, + "StageID": 204210345 + }, + { + "EventID": 20421034, + "WorldLevel": 6, + "StageID": 204210346 + }, + { + "EventID": 20421035, + "WorldLevel": 0, + "StageID": 204210350 + }, + { + "EventID": 20421035, + "WorldLevel": 1, + "StageID": 204210351 + }, + { + "EventID": 20421035, + "WorldLevel": 2, + "StageID": 204210352 + }, + { + "EventID": 20421035, + "WorldLevel": 3, + "StageID": 204210353 + }, + { + "EventID": 20421035, + "WorldLevel": 4, + "StageID": 204210354 + }, + { + "EventID": 20421035, + "WorldLevel": 5, + "StageID": 204210355 + }, + { + "EventID": 20421035, + "WorldLevel": 6, + "StageID": 204210356 + }, + { + "EventID": 20421036, + "WorldLevel": 0, + "StageID": 204210360 + }, + { + "EventID": 20421036, + "WorldLevel": 1, + "StageID": 204210361 + }, + { + "EventID": 20421036, + "WorldLevel": 2, + "StageID": 204210362 + }, + { + "EventID": 20421036, + "WorldLevel": 3, + "StageID": 204210363 + }, + { + "EventID": 20421036, + "WorldLevel": 4, + "StageID": 204210364 + }, + { + "EventID": 20421036, + "WorldLevel": 5, + "StageID": 204210365 + }, + { + "EventID": 20421036, + "WorldLevel": 6, + "StageID": 204210366 + }, + { + "EventID": 20421037, + "WorldLevel": 0, + "StageID": 204210370 + }, + { + "EventID": 20421037, + "WorldLevel": 1, + "StageID": 204210371 + }, + { + "EventID": 20421037, + "WorldLevel": 2, + "StageID": 204210372 + }, + { + "EventID": 20421037, + "WorldLevel": 3, + "StageID": 204210373 + }, + { + "EventID": 20421037, + "WorldLevel": 4, + "StageID": 204210374 + }, + { + "EventID": 20421037, + "WorldLevel": 5, + "StageID": 204210375 + }, + { + "EventID": 20421037, + "WorldLevel": 6, + "StageID": 204210376 + }, + { + "EventID": 20421038, + "WorldLevel": 0, + "StageID": 204210380 + }, + { + "EventID": 20421038, + "WorldLevel": 1, + "StageID": 204210381 + }, + { + "EventID": 20421038, + "WorldLevel": 2, + "StageID": 204210382 + }, + { + "EventID": 20421038, + "WorldLevel": 3, + "StageID": 204210383 + }, + { + "EventID": 20421038, + "WorldLevel": 4, + "StageID": 204210384 + }, + { + "EventID": 20421038, + "WorldLevel": 5, + "StageID": 204210385 + }, + { + "EventID": 20421038, + "WorldLevel": 6, + "StageID": 204210386 + }, + { + "EventID": 20421040, + "WorldLevel": 0, + "StageID": 204210400 + }, + { + "EventID": 20421040, + "WorldLevel": 1, + "StageID": 204210401 + }, + { + "EventID": 20421040, + "WorldLevel": 2, + "StageID": 204210402 + }, + { + "EventID": 20421040, + "WorldLevel": 3, + "StageID": 204210403 + }, + { + "EventID": 20421040, + "WorldLevel": 4, + "StageID": 204210404 + }, + { + "EventID": 20421040, + "WorldLevel": 5, + "StageID": 204210405 + }, + { + "EventID": 20421040, + "WorldLevel": 6, + "StageID": 204210406 + }, + { + "EventID": 20421041, + "WorldLevel": 0, + "StageID": 204210410 + }, + { + "EventID": 20421041, + "WorldLevel": 1, + "StageID": 204210411 + }, + { + "EventID": 20421041, + "WorldLevel": 2, + "StageID": 204210412 + }, + { + "EventID": 20421041, + "WorldLevel": 3, + "StageID": 204210413 + }, + { + "EventID": 20421041, + "WorldLevel": 4, + "StageID": 204210414 + }, + { + "EventID": 20421041, + "WorldLevel": 5, + "StageID": 204210415 + }, + { + "EventID": 20421041, + "WorldLevel": 6, + "StageID": 204210416 + }, + { + "EventID": 20421042, + "WorldLevel": 0, + "StageID": 204210420 + }, + { + "EventID": 20421042, + "WorldLevel": 1, + "StageID": 204210421 + }, + { + "EventID": 20421042, + "WorldLevel": 2, + "StageID": 204210422 + }, + { + "EventID": 20421042, + "WorldLevel": 3, + "StageID": 204210423 + }, + { + "EventID": 20421042, + "WorldLevel": 4, + "StageID": 204210424 + }, + { + "EventID": 20421042, + "WorldLevel": 5, + "StageID": 204210425 + }, + { + "EventID": 20421042, + "WorldLevel": 6, + "StageID": 204210426 + }, + { + "EventID": 20421043, + "WorldLevel": 0, + "StageID": 204210430 + }, + { + "EventID": 20421043, + "WorldLevel": 1, + "StageID": 204210431 + }, + { + "EventID": 20421043, + "WorldLevel": 2, + "StageID": 204210432 + }, + { + "EventID": 20421043, + "WorldLevel": 3, + "StageID": 204210433 + }, + { + "EventID": 20421043, + "WorldLevel": 4, + "StageID": 204210434 + }, + { + "EventID": 20421043, + "WorldLevel": 5, + "StageID": 204210435 + }, + { + "EventID": 20421043, + "WorldLevel": 6, + "StageID": 204210436 + }, + { + "EventID": 20421044, + "WorldLevel": 0, + "StageID": 204210440 + }, + { + "EventID": 20421044, + "WorldLevel": 1, + "StageID": 204210441 + }, + { + "EventID": 20421044, + "WorldLevel": 2, + "StageID": 204210442 + }, + { + "EventID": 20421044, + "WorldLevel": 3, + "StageID": 204210443 + }, + { + "EventID": 20421044, + "WorldLevel": 4, + "StageID": 204210444 + }, + { + "EventID": 20421044, + "WorldLevel": 5, + "StageID": 204210445 + }, + { + "EventID": 20421044, + "WorldLevel": 6, + "StageID": 204210446 + }, + { + "EventID": 20421045, + "WorldLevel": 0, + "StageID": 204210450 + }, + { + "EventID": 20421045, + "WorldLevel": 1, + "StageID": 204210451 + }, + { + "EventID": 20421045, + "WorldLevel": 2, + "StageID": 204210452 + }, + { + "EventID": 20421045, + "WorldLevel": 3, + "StageID": 204210453 + }, + { + "EventID": 20421045, + "WorldLevel": 4, + "StageID": 204210454 + }, + { + "EventID": 20421045, + "WorldLevel": 5, + "StageID": 204210455 + }, + { + "EventID": 20421045, + "WorldLevel": 6, + "StageID": 204210456 + }, + { + "EventID": 20421046, + "WorldLevel": 0, + "StageID": 204210460 + }, + { + "EventID": 20421046, + "WorldLevel": 1, + "StageID": 204210461 + }, + { + "EventID": 20421046, + "WorldLevel": 2, + "StageID": 204210462 + }, + { + "EventID": 20421046, + "WorldLevel": 3, + "StageID": 204210463 + }, + { + "EventID": 20421046, + "WorldLevel": 4, + "StageID": 204210464 + }, + { + "EventID": 20421046, + "WorldLevel": 5, + "StageID": 204210465 + }, + { + "EventID": 20421046, + "WorldLevel": 6, + "StageID": 204210466 + }, + { + "EventID": 20421047, + "WorldLevel": 0, + "StageID": 204210470 + }, + { + "EventID": 20421047, + "WorldLevel": 1, + "StageID": 204210471 + }, + { + "EventID": 20421047, + "WorldLevel": 2, + "StageID": 204210472 + }, + { + "EventID": 20421047, + "WorldLevel": 3, + "StageID": 204210473 + }, + { + "EventID": 20421047, + "WorldLevel": 4, + "StageID": 204210474 + }, + { + "EventID": 20421047, + "WorldLevel": 5, + "StageID": 204210475 + }, + { + "EventID": 20421047, + "WorldLevel": 6, + "StageID": 204210476 + }, + { + "EventID": 20421069, + "WorldLevel": 0, + "StageID": 204210690 + }, + { + "EventID": 20421069, + "WorldLevel": 1, + "StageID": 204210691 + }, + { + "EventID": 20421069, + "WorldLevel": 2, + "StageID": 204210692 + }, + { + "EventID": 20421069, + "WorldLevel": 3, + "StageID": 204210693 + }, + { + "EventID": 20421069, + "WorldLevel": 4, + "StageID": 204210694 + }, + { + "EventID": 20421069, + "WorldLevel": 5, + "StageID": 204210695 + }, + { + "EventID": 20421069, + "WorldLevel": 6, + "StageID": 204210696 + }, + { + "EventID": 20421070, + "WorldLevel": 0, + "StageID": 204210700 + }, + { + "EventID": 20421070, + "WorldLevel": 1, + "StageID": 204210701 + }, + { + "EventID": 20421070, + "WorldLevel": 2, + "StageID": 204210702 + }, + { + "EventID": 20421070, + "WorldLevel": 3, + "StageID": 204210703 + }, + { + "EventID": 20421070, + "WorldLevel": 4, + "StageID": 204210704 + }, + { + "EventID": 20421070, + "WorldLevel": 5, + "StageID": 204210705 + }, + { + "EventID": 20421070, + "WorldLevel": 6, + "StageID": 204210706 + }, + { + "EventID": 20421101, + "WorldLevel": 0, + "StageID": 204211010 + }, + { + "EventID": 20421101, + "WorldLevel": 1, + "StageID": 204211011 + }, + { + "EventID": 20421101, + "WorldLevel": 2, + "StageID": 204211012 + }, + { + "EventID": 20421101, + "WorldLevel": 3, + "StageID": 204211013 + }, + { + "EventID": 20421101, + "WorldLevel": 4, + "StageID": 204211014 + }, + { + "EventID": 20421101, + "WorldLevel": 5, + "StageID": 204211015 + }, + { + "EventID": 20421101, + "WorldLevel": 6, + "StageID": 204211016 + }, + { + "EventID": 20421102, + "WorldLevel": 0, + "StageID": 204211020 + }, + { + "EventID": 20421102, + "WorldLevel": 1, + "StageID": 204211021 + }, + { + "EventID": 20421102, + "WorldLevel": 2, + "StageID": 204211022 + }, + { + "EventID": 20421102, + "WorldLevel": 3, + "StageID": 204211023 + }, + { + "EventID": 20421102, + "WorldLevel": 4, + "StageID": 204211024 + }, + { + "EventID": 20421102, + "WorldLevel": 5, + "StageID": 204211025 + }, + { + "EventID": 20421102, + "WorldLevel": 6, + "StageID": 204211026 + }, + { + "EventID": 20421103, + "WorldLevel": 0, + "StageID": 204211030 + }, + { + "EventID": 20421103, + "WorldLevel": 1, + "StageID": 204211031 + }, + { + "EventID": 20421103, + "WorldLevel": 2, + "StageID": 204211032 + }, + { + "EventID": 20421103, + "WorldLevel": 3, + "StageID": 204211033 + }, + { + "EventID": 20421103, + "WorldLevel": 4, + "StageID": 204211034 + }, + { + "EventID": 20421103, + "WorldLevel": 5, + "StageID": 204211035 + }, + { + "EventID": 20421103, + "WorldLevel": 6, + "StageID": 204211036 + }, + { + "EventID": 20421105, + "WorldLevel": 0, + "StageID": 204211050 + }, + { + "EventID": 20421105, + "WorldLevel": 1, + "StageID": 204211051 + }, + { + "EventID": 20421105, + "WorldLevel": 2, + "StageID": 204211052 + }, + { + "EventID": 20421105, + "WorldLevel": 3, + "StageID": 204211053 + }, + { + "EventID": 20421105, + "WorldLevel": 4, + "StageID": 204211054 + }, + { + "EventID": 20421105, + "WorldLevel": 5, + "StageID": 204211055 + }, + { + "EventID": 20421105, + "WorldLevel": 6, + "StageID": 204211056 + }, + { + "EventID": 20421106, + "WorldLevel": 0, + "StageID": 204211060 + }, + { + "EventID": 20421106, + "WorldLevel": 1, + "StageID": 204211061 + }, + { + "EventID": 20421106, + "WorldLevel": 2, + "StageID": 204211062 + }, + { + "EventID": 20421106, + "WorldLevel": 3, + "StageID": 204211063 + }, + { + "EventID": 20421106, + "WorldLevel": 4, + "StageID": 204211064 + }, + { + "EventID": 20421106, + "WorldLevel": 5, + "StageID": 204211065 + }, + { + "EventID": 20421106, + "WorldLevel": 6, + "StageID": 204211066 + }, + { + "EventID": 20421107, + "WorldLevel": 0, + "StageID": 204211070 + }, + { + "EventID": 20421107, + "WorldLevel": 1, + "StageID": 204211071 + }, + { + "EventID": 20421107, + "WorldLevel": 2, + "StageID": 204211072 + }, + { + "EventID": 20421107, + "WorldLevel": 3, + "StageID": 204211073 + }, + { + "EventID": 20421107, + "WorldLevel": 4, + "StageID": 204211074 + }, + { + "EventID": 20421107, + "WorldLevel": 5, + "StageID": 204211075 + }, + { + "EventID": 20421107, + "WorldLevel": 6, + "StageID": 204211076 + }, + { + "EventID": 20421108, + "WorldLevel": 0, + "StageID": 204211080 + }, + { + "EventID": 20421108, + "WorldLevel": 1, + "StageID": 204211081 + }, + { + "EventID": 20421108, + "WorldLevel": 2, + "StageID": 204211082 + }, + { + "EventID": 20421108, + "WorldLevel": 3, + "StageID": 204211083 + }, + { + "EventID": 20421108, + "WorldLevel": 4, + "StageID": 204211084 + }, + { + "EventID": 20421108, + "WorldLevel": 5, + "StageID": 204211085 + }, + { + "EventID": 20421108, + "WorldLevel": 6, + "StageID": 204211086 + }, + { + "EventID": 20421109, + "WorldLevel": 0, + "StageID": 204211090 + }, + { + "EventID": 20421109, + "WorldLevel": 1, + "StageID": 204211091 + }, + { + "EventID": 20421109, + "WorldLevel": 2, + "StageID": 204211092 + }, + { + "EventID": 20421109, + "WorldLevel": 3, + "StageID": 204211093 + }, + { + "EventID": 20421109, + "WorldLevel": 4, + "StageID": 204211094 + }, + { + "EventID": 20421109, + "WorldLevel": 5, + "StageID": 204211095 + }, + { + "EventID": 20421109, + "WorldLevel": 6, + "StageID": 204211096 + }, + { + "EventID": 20421110, + "WorldLevel": 0, + "StageID": 204211100 + }, + { + "EventID": 20421110, + "WorldLevel": 1, + "StageID": 204211101 + }, + { + "EventID": 20421110, + "WorldLevel": 2, + "StageID": 204211102 + }, + { + "EventID": 20421110, + "WorldLevel": 3, + "StageID": 204211103 + }, + { + "EventID": 20421110, + "WorldLevel": 4, + "StageID": 204211104 + }, + { + "EventID": 20421110, + "WorldLevel": 5, + "StageID": 204211105 + }, + { + "EventID": 20421110, + "WorldLevel": 6, + "StageID": 204211106 + }, + { + "EventID": 20421111, + "WorldLevel": 0, + "StageID": 204211110 + }, + { + "EventID": 20421111, + "WorldLevel": 1, + "StageID": 204211111 + }, + { + "EventID": 20421111, + "WorldLevel": 2, + "StageID": 204211112 + }, + { + "EventID": 20421111, + "WorldLevel": 3, + "StageID": 204211113 + }, + { + "EventID": 20421111, + "WorldLevel": 4, + "StageID": 204211114 + }, + { + "EventID": 20421111, + "WorldLevel": 5, + "StageID": 204211115 + }, + { + "EventID": 20421111, + "WorldLevel": 6, + "StageID": 204211116 + }, + { + "EventID": 20421112, + "WorldLevel": 0, + "StageID": 204211120 + }, + { + "EventID": 20421112, + "WorldLevel": 1, + "StageID": 204211121 + }, + { + "EventID": 20421112, + "WorldLevel": 2, + "StageID": 204211122 + }, + { + "EventID": 20421112, + "WorldLevel": 3, + "StageID": 204211123 + }, + { + "EventID": 20421112, + "WorldLevel": 4, + "StageID": 204211124 + }, + { + "EventID": 20421112, + "WorldLevel": 5, + "StageID": 204211125 + }, + { + "EventID": 20421112, + "WorldLevel": 6, + "StageID": 204211126 + }, + { + "EventID": 20421114, + "WorldLevel": 0, + "StageID": 204211140 + }, + { + "EventID": 20421114, + "WorldLevel": 1, + "StageID": 204211141 + }, + { + "EventID": 20421114, + "WorldLevel": 2, + "StageID": 204211142 + }, + { + "EventID": 20421114, + "WorldLevel": 3, + "StageID": 204211143 + }, + { + "EventID": 20421114, + "WorldLevel": 4, + "StageID": 204211144 + }, + { + "EventID": 20421114, + "WorldLevel": 5, + "StageID": 204211145 + }, + { + "EventID": 20421114, + "WorldLevel": 6, + "StageID": 204211146 + }, + { + "EventID": 20421115, + "WorldLevel": 0, + "StageID": 204211150 + }, + { + "EventID": 20421115, + "WorldLevel": 1, + "StageID": 204211151 + }, + { + "EventID": 20421115, + "WorldLevel": 2, + "StageID": 204211152 + }, + { + "EventID": 20421115, + "WorldLevel": 3, + "StageID": 204211153 + }, + { + "EventID": 20421115, + "WorldLevel": 4, + "StageID": 204211154 + }, + { + "EventID": 20421115, + "WorldLevel": 5, + "StageID": 204211155 + }, + { + "EventID": 20421115, + "WorldLevel": 6, + "StageID": 204211156 + }, + { + "EventID": 20421116, + "WorldLevel": 0, + "StageID": 204211160 + }, + { + "EventID": 20421116, + "WorldLevel": 1, + "StageID": 204211161 + }, + { + "EventID": 20421116, + "WorldLevel": 2, + "StageID": 204211162 + }, + { + "EventID": 20421116, + "WorldLevel": 3, + "StageID": 204211163 + }, + { + "EventID": 20421116, + "WorldLevel": 4, + "StageID": 204211164 + }, + { + "EventID": 20421116, + "WorldLevel": 5, + "StageID": 204211165 + }, + { + "EventID": 20421116, + "WorldLevel": 6, + "StageID": 204211166 + }, + { + "EventID": 20421117, + "WorldLevel": 0, + "StageID": 204211170 + }, + { + "EventID": 20421117, + "WorldLevel": 1, + "StageID": 204211171 + }, + { + "EventID": 20421117, + "WorldLevel": 2, + "StageID": 204211172 + }, + { + "EventID": 20421117, + "WorldLevel": 3, + "StageID": 204211173 + }, + { + "EventID": 20421117, + "WorldLevel": 4, + "StageID": 204211174 + }, + { + "EventID": 20421117, + "WorldLevel": 5, + "StageID": 204211175 + }, + { + "EventID": 20421117, + "WorldLevel": 6, + "StageID": 204211176 + }, + { + "EventID": 20421118, + "WorldLevel": 0, + "StageID": 204211180 + }, + { + "EventID": 20421118, + "WorldLevel": 1, + "StageID": 204211181 + }, + { + "EventID": 20421118, + "WorldLevel": 2, + "StageID": 204211182 + }, + { + "EventID": 20421118, + "WorldLevel": 3, + "StageID": 204211183 + }, + { + "EventID": 20421118, + "WorldLevel": 4, + "StageID": 204211184 + }, + { + "EventID": 20421118, + "WorldLevel": 5, + "StageID": 204211185 + }, + { + "EventID": 20421118, + "WorldLevel": 6, + "StageID": 204211186 + }, + { + "EventID": 20421119, + "WorldLevel": 0, + "StageID": 204211190 + }, + { + "EventID": 20421119, + "WorldLevel": 1, + "StageID": 204211191 + }, + { + "EventID": 20421119, + "WorldLevel": 2, + "StageID": 204211192 + }, + { + "EventID": 20421119, + "WorldLevel": 3, + "StageID": 204211193 + }, + { + "EventID": 20421119, + "WorldLevel": 4, + "StageID": 204211194 + }, + { + "EventID": 20421119, + "WorldLevel": 5, + "StageID": 204211195 + }, + { + "EventID": 20421119, + "WorldLevel": 6, + "StageID": 204211196 + }, + { + "EventID": 20421120, + "WorldLevel": 0, + "StageID": 204211200 + }, + { + "EventID": 20421120, + "WorldLevel": 1, + "StageID": 204211201 + }, + { + "EventID": 20421120, + "WorldLevel": 2, + "StageID": 204211202 + }, + { + "EventID": 20421120, + "WorldLevel": 3, + "StageID": 204211203 + }, + { + "EventID": 20421120, + "WorldLevel": 4, + "StageID": 204211204 + }, + { + "EventID": 20421120, + "WorldLevel": 5, + "StageID": 204211205 + }, + { + "EventID": 20421120, + "WorldLevel": 6, + "StageID": 204211206 + }, + { + "EventID": 20421121, + "WorldLevel": 0, + "StageID": 204211210 + }, + { + "EventID": 20421121, + "WorldLevel": 1, + "StageID": 204211211 + }, + { + "EventID": 20421121, + "WorldLevel": 2, + "StageID": 204211212 + }, + { + "EventID": 20421121, + "WorldLevel": 3, + "StageID": 204211213 + }, + { + "EventID": 20421121, + "WorldLevel": 4, + "StageID": 204211214 + }, + { + "EventID": 20421121, + "WorldLevel": 5, + "StageID": 204211215 + }, + { + "EventID": 20421121, + "WorldLevel": 6, + "StageID": 204211216 + }, + { + "EventID": 20421122, + "WorldLevel": 0, + "StageID": 204211220 + }, + { + "EventID": 20421122, + "WorldLevel": 1, + "StageID": 204211221 + }, + { + "EventID": 20421122, + "WorldLevel": 2, + "StageID": 204211222 + }, + { + "EventID": 20421122, + "WorldLevel": 3, + "StageID": 204211223 + }, + { + "EventID": 20421122, + "WorldLevel": 4, + "StageID": 204211224 + }, + { + "EventID": 20421122, + "WorldLevel": 5, + "StageID": 204211225 + }, + { + "EventID": 20421122, + "WorldLevel": 6, + "StageID": 204211226 + }, + { + "EventID": 20421123, + "WorldLevel": 0, + "StageID": 204211230 + }, + { + "EventID": 20421123, + "WorldLevel": 1, + "StageID": 204211231 + }, + { + "EventID": 20421123, + "WorldLevel": 2, + "StageID": 204211232 + }, + { + "EventID": 20421123, + "WorldLevel": 3, + "StageID": 204211233 + }, + { + "EventID": 20421123, + "WorldLevel": 4, + "StageID": 204211234 + }, + { + "EventID": 20421123, + "WorldLevel": 5, + "StageID": 204211235 + }, + { + "EventID": 20421123, + "WorldLevel": 6, + "StageID": 204211236 + }, + { + "EventID": 20421124, + "WorldLevel": 0, + "StageID": 204211240 + }, + { + "EventID": 20421124, + "WorldLevel": 1, + "StageID": 204211241 + }, + { + "EventID": 20421124, + "WorldLevel": 2, + "StageID": 204211242 + }, + { + "EventID": 20421124, + "WorldLevel": 3, + "StageID": 204211243 + }, + { + "EventID": 20421124, + "WorldLevel": 4, + "StageID": 204211244 + }, + { + "EventID": 20421124, + "WorldLevel": 5, + "StageID": 204211245 + }, + { + "EventID": 20421124, + "WorldLevel": 6, + "StageID": 204211246 + }, + { + "EventID": 20421125, + "WorldLevel": 0, + "StageID": 204211250 + }, + { + "EventID": 20421125, + "WorldLevel": 1, + "StageID": 204211251 + }, + { + "EventID": 20421125, + "WorldLevel": 2, + "StageID": 204211252 + }, + { + "EventID": 20421125, + "WorldLevel": 3, + "StageID": 204211253 + }, + { + "EventID": 20421125, + "WorldLevel": 4, + "StageID": 204211254 + }, + { + "EventID": 20421125, + "WorldLevel": 5, + "StageID": 204211255 + }, + { + "EventID": 20421125, + "WorldLevel": 6, + "StageID": 204211256 + }, + { + "EventID": 20421127, + "WorldLevel": 0, + "StageID": 204211270 + }, + { + "EventID": 20421127, + "WorldLevel": 1, + "StageID": 204211271 + }, + { + "EventID": 20421127, + "WorldLevel": 2, + "StageID": 204211272 + }, + { + "EventID": 20421127, + "WorldLevel": 3, + "StageID": 204211273 + }, + { + "EventID": 20421127, + "WorldLevel": 4, + "StageID": 204211274 + }, + { + "EventID": 20421127, + "WorldLevel": 5, + "StageID": 204211275 + }, + { + "EventID": 20421127, + "WorldLevel": 6, + "StageID": 204211276 + }, + { + "EventID": 20421128, + "WorldLevel": 0, + "StageID": 204211280 + }, + { + "EventID": 20421128, + "WorldLevel": 1, + "StageID": 204211281 + }, + { + "EventID": 20421128, + "WorldLevel": 2, + "StageID": 204211282 + }, + { + "EventID": 20421128, + "WorldLevel": 3, + "StageID": 204211283 + }, + { + "EventID": 20421128, + "WorldLevel": 4, + "StageID": 204211284 + }, + { + "EventID": 20421128, + "WorldLevel": 5, + "StageID": 204211285 + }, + { + "EventID": 20421128, + "WorldLevel": 6, + "StageID": 204211286 + }, + { + "EventID": 20421129, + "WorldLevel": 0, + "StageID": 204211290 + }, + { + "EventID": 20421129, + "WorldLevel": 1, + "StageID": 204211291 + }, + { + "EventID": 20421129, + "WorldLevel": 2, + "StageID": 204211292 + }, + { + "EventID": 20421129, + "WorldLevel": 3, + "StageID": 204211293 + }, + { + "EventID": 20421129, + "WorldLevel": 4, + "StageID": 204211294 + }, + { + "EventID": 20421129, + "WorldLevel": 5, + "StageID": 204211295 + }, + { + "EventID": 20421129, + "WorldLevel": 6, + "StageID": 204211296 + }, + { + "EventID": 20421130, + "WorldLevel": 0, + "StageID": 204211300 + }, + { + "EventID": 20421130, + "WorldLevel": 1, + "StageID": 204211301 + }, + { + "EventID": 20421130, + "WorldLevel": 2, + "StageID": 204211302 + }, + { + "EventID": 20421130, + "WorldLevel": 3, + "StageID": 204211303 + }, + { + "EventID": 20421130, + "WorldLevel": 4, + "StageID": 204211304 + }, + { + "EventID": 20421130, + "WorldLevel": 5, + "StageID": 204211305 + }, + { + "EventID": 20421130, + "WorldLevel": 6, + "StageID": 204211306 + }, + { + "EventID": 20421131, + "WorldLevel": 0, + "StageID": 204211310 + }, + { + "EventID": 20421131, + "WorldLevel": 1, + "StageID": 204211311 + }, + { + "EventID": 20421131, + "WorldLevel": 2, + "StageID": 204211312 + }, + { + "EventID": 20421131, + "WorldLevel": 3, + "StageID": 204211313 + }, + { + "EventID": 20421131, + "WorldLevel": 4, + "StageID": 204211314 + }, + { + "EventID": 20421131, + "WorldLevel": 5, + "StageID": 204211315 + }, + { + "EventID": 20421131, + "WorldLevel": 6, + "StageID": 204211316 + }, + { + "EventID": 20421132, + "WorldLevel": 0, + "StageID": 204211320 + }, + { + "EventID": 20421132, + "WorldLevel": 1, + "StageID": 204211321 + }, + { + "EventID": 20421132, + "WorldLevel": 2, + "StageID": 204211322 + }, + { + "EventID": 20421132, + "WorldLevel": 3, + "StageID": 204211323 + }, + { + "EventID": 20421132, + "WorldLevel": 4, + "StageID": 204211324 + }, + { + "EventID": 20421132, + "WorldLevel": 5, + "StageID": 204211325 + }, + { + "EventID": 20421132, + "WorldLevel": 6, + "StageID": 204211326 + }, + { + "EventID": 20421133, + "WorldLevel": 0, + "StageID": 204211330 + }, + { + "EventID": 20421133, + "WorldLevel": 1, + "StageID": 204211331 + }, + { + "EventID": 20421133, + "WorldLevel": 2, + "StageID": 204211332 + }, + { + "EventID": 20421133, + "WorldLevel": 3, + "StageID": 204211333 + }, + { + "EventID": 20421133, + "WorldLevel": 4, + "StageID": 204211334 + }, + { + "EventID": 20421133, + "WorldLevel": 5, + "StageID": 204211335 + }, + { + "EventID": 20421133, + "WorldLevel": 6, + "StageID": 204211336 + }, + { + "EventID": 20421134, + "WorldLevel": 0, + "StageID": 204211340 + }, + { + "EventID": 20421134, + "WorldLevel": 1, + "StageID": 204211341 + }, + { + "EventID": 20421134, + "WorldLevel": 2, + "StageID": 204211342 + }, + { + "EventID": 20421134, + "WorldLevel": 3, + "StageID": 204211343 + }, + { + "EventID": 20421134, + "WorldLevel": 4, + "StageID": 204211344 + }, + { + "EventID": 20421134, + "WorldLevel": 5, + "StageID": 204211345 + }, + { + "EventID": 20421134, + "WorldLevel": 6, + "StageID": 204211346 + }, + { + "EventID": 20421135, + "WorldLevel": 0, + "StageID": 204211350 + }, + { + "EventID": 20421135, + "WorldLevel": 1, + "StageID": 204211351 + }, + { + "EventID": 20421135, + "WorldLevel": 2, + "StageID": 204211352 + }, + { + "EventID": 20421135, + "WorldLevel": 3, + "StageID": 204211353 + }, + { + "EventID": 20421135, + "WorldLevel": 4, + "StageID": 204211354 + }, + { + "EventID": 20421135, + "WorldLevel": 5, + "StageID": 204211355 + }, + { + "EventID": 20421135, + "WorldLevel": 6, + "StageID": 204211356 + }, + { + "EventID": 20421136, + "WorldLevel": 0, + "StageID": 204211360 + }, + { + "EventID": 20421136, + "WorldLevel": 1, + "StageID": 204211361 + }, + { + "EventID": 20421136, + "WorldLevel": 2, + "StageID": 204211362 + }, + { + "EventID": 20421136, + "WorldLevel": 3, + "StageID": 204211363 + }, + { + "EventID": 20421136, + "WorldLevel": 4, + "StageID": 204211364 + }, + { + "EventID": 20421136, + "WorldLevel": 5, + "StageID": 204211365 + }, + { + "EventID": 20421136, + "WorldLevel": 6, + "StageID": 204211366 + }, + { + "EventID": 20421137, + "WorldLevel": 0, + "StageID": 204211370 + }, + { + "EventID": 20421137, + "WorldLevel": 1, + "StageID": 204211371 + }, + { + "EventID": 20421137, + "WorldLevel": 2, + "StageID": 204211372 + }, + { + "EventID": 20421137, + "WorldLevel": 3, + "StageID": 204211373 + }, + { + "EventID": 20421137, + "WorldLevel": 4, + "StageID": 204211374 + }, + { + "EventID": 20421137, + "WorldLevel": 5, + "StageID": 204211375 + }, + { + "EventID": 20421137, + "WorldLevel": 6, + "StageID": 204211376 + }, + { + "EventID": 20421138, + "WorldLevel": 0, + "StageID": 204211380 + }, + { + "EventID": 20421138, + "WorldLevel": 1, + "StageID": 204211381 + }, + { + "EventID": 20421138, + "WorldLevel": 2, + "StageID": 204211382 + }, + { + "EventID": 20421138, + "WorldLevel": 3, + "StageID": 204211383 + }, + { + "EventID": 20421138, + "WorldLevel": 4, + "StageID": 204211384 + }, + { + "EventID": 20421138, + "WorldLevel": 5, + "StageID": 204211385 + }, + { + "EventID": 20421138, + "WorldLevel": 6, + "StageID": 204211386 + }, + { + "EventID": 20421140, + "WorldLevel": 0, + "StageID": 204211400 + }, + { + "EventID": 20421140, + "WorldLevel": 1, + "StageID": 204211401 + }, + { + "EventID": 20421140, + "WorldLevel": 2, + "StageID": 204211402 + }, + { + "EventID": 20421140, + "WorldLevel": 3, + "StageID": 204211403 + }, + { + "EventID": 20421140, + "WorldLevel": 4, + "StageID": 204211404 + }, + { + "EventID": 20421140, + "WorldLevel": 5, + "StageID": 204211405 + }, + { + "EventID": 20421140, + "WorldLevel": 6, + "StageID": 204211406 + }, + { + "EventID": 20421141, + "WorldLevel": 0, + "StageID": 204211410 + }, + { + "EventID": 20421141, + "WorldLevel": 1, + "StageID": 204211411 + }, + { + "EventID": 20421141, + "WorldLevel": 2, + "StageID": 204211412 + }, + { + "EventID": 20421141, + "WorldLevel": 3, + "StageID": 204211413 + }, + { + "EventID": 20421141, + "WorldLevel": 4, + "StageID": 204211414 + }, + { + "EventID": 20421141, + "WorldLevel": 5, + "StageID": 204211415 + }, + { + "EventID": 20421141, + "WorldLevel": 6, + "StageID": 204211416 + }, + { + "EventID": 20421142, + "WorldLevel": 0, + "StageID": 204211420 + }, + { + "EventID": 20421142, + "WorldLevel": 1, + "StageID": 204211421 + }, + { + "EventID": 20421142, + "WorldLevel": 2, + "StageID": 204211422 + }, + { + "EventID": 20421142, + "WorldLevel": 3, + "StageID": 204211423 + }, + { + "EventID": 20421142, + "WorldLevel": 4, + "StageID": 204211424 + }, + { + "EventID": 20421142, + "WorldLevel": 5, + "StageID": 204211425 + }, + { + "EventID": 20421142, + "WorldLevel": 6, + "StageID": 204211426 + }, + { + "EventID": 20421143, + "WorldLevel": 0, + "StageID": 204211430 + }, + { + "EventID": 20421143, + "WorldLevel": 1, + "StageID": 204211431 + }, + { + "EventID": 20421143, + "WorldLevel": 2, + "StageID": 204211432 + }, + { + "EventID": 20421143, + "WorldLevel": 3, + "StageID": 204211433 + }, + { + "EventID": 20421143, + "WorldLevel": 4, + "StageID": 204211434 + }, + { + "EventID": 20421143, + "WorldLevel": 5, + "StageID": 204211435 + }, + { + "EventID": 20421143, + "WorldLevel": 6, + "StageID": 204211436 + }, + { + "EventID": 20421144, + "WorldLevel": 0, + "StageID": 204211440 + }, + { + "EventID": 20421144, + "WorldLevel": 1, + "StageID": 204211441 + }, + { + "EventID": 20421144, + "WorldLevel": 2, + "StageID": 204211442 + }, + { + "EventID": 20421144, + "WorldLevel": 3, + "StageID": 204211443 + }, + { + "EventID": 20421144, + "WorldLevel": 4, + "StageID": 204211444 + }, + { + "EventID": 20421144, + "WorldLevel": 5, + "StageID": 204211445 + }, + { + "EventID": 20421144, + "WorldLevel": 6, + "StageID": 204211446 + }, + { + "EventID": 20421145, + "WorldLevel": 0, + "StageID": 204211450 + }, + { + "EventID": 20421145, + "WorldLevel": 1, + "StageID": 204211451 + }, + { + "EventID": 20421145, + "WorldLevel": 2, + "StageID": 204211452 + }, + { + "EventID": 20421145, + "WorldLevel": 3, + "StageID": 204211453 + }, + { + "EventID": 20421145, + "WorldLevel": 4, + "StageID": 204211454 + }, + { + "EventID": 20421145, + "WorldLevel": 5, + "StageID": 204211455 + }, + { + "EventID": 20421145, + "WorldLevel": 6, + "StageID": 204211456 + }, + { + "EventID": 20421146, + "WorldLevel": 0, + "StageID": 204211460 + }, + { + "EventID": 20421146, + "WorldLevel": 1, + "StageID": 204211461 + }, + { + "EventID": 20421146, + "WorldLevel": 2, + "StageID": 204211462 + }, + { + "EventID": 20421146, + "WorldLevel": 3, + "StageID": 204211463 + }, + { + "EventID": 20421146, + "WorldLevel": 4, + "StageID": 204211464 + }, + { + "EventID": 20421146, + "WorldLevel": 5, + "StageID": 204211465 + }, + { + "EventID": 20421146, + "WorldLevel": 6, + "StageID": 204211466 + }, + { + "EventID": 20421147, + "WorldLevel": 0, + "StageID": 204211470 + }, + { + "EventID": 20421147, + "WorldLevel": 1, + "StageID": 204211471 + }, + { + "EventID": 20421147, + "WorldLevel": 2, + "StageID": 204211472 + }, + { + "EventID": 20421147, + "WorldLevel": 3, + "StageID": 204211473 + }, + { + "EventID": 20421147, + "WorldLevel": 4, + "StageID": 204211474 + }, + { + "EventID": 20421147, + "WorldLevel": 5, + "StageID": 204211475 + }, + { + "EventID": 20421147, + "WorldLevel": 6, + "StageID": 204211476 + }, + { + "EventID": 20421231, + "WorldLevel": 0, + "StageID": 204212310 + }, + { + "EventID": 20421231, + "WorldLevel": 1, + "StageID": 204212311 + }, + { + "EventID": 20421231, + "WorldLevel": 2, + "StageID": 204212312 + }, + { + "EventID": 20421231, + "WorldLevel": 3, + "StageID": 204212313 + }, + { + "EventID": 20421231, + "WorldLevel": 4, + "StageID": 204212314 + }, + { + "EventID": 20421231, + "WorldLevel": 5, + "StageID": 204212315 + }, + { + "EventID": 20421231, + "WorldLevel": 6, + "StageID": 204212316 + }, + { + "EventID": 20422001, + "WorldLevel": 0, + "StageID": 204220010 + }, + { + "EventID": 20422001, + "WorldLevel": 1, + "StageID": 204220011 + }, + { + "EventID": 20422001, + "WorldLevel": 2, + "StageID": 204220012 + }, + { + "EventID": 20422001, + "WorldLevel": 3, + "StageID": 204220013 + }, + { + "EventID": 20422001, + "WorldLevel": 4, + "StageID": 204220014 + }, + { + "EventID": 20422001, + "WorldLevel": 5, + "StageID": 204220015 + }, + { + "EventID": 20422001, + "WorldLevel": 6, + "StageID": 204220016 + }, + { + "EventID": 20422002, + "WorldLevel": 0, + "StageID": 204220020 + }, + { + "EventID": 20422002, + "WorldLevel": 1, + "StageID": 204220021 + }, + { + "EventID": 20422002, + "WorldLevel": 2, + "StageID": 204220022 + }, + { + "EventID": 20422002, + "WorldLevel": 3, + "StageID": 204220023 + }, + { + "EventID": 20422002, + "WorldLevel": 4, + "StageID": 204220024 + }, + { + "EventID": 20422002, + "WorldLevel": 5, + "StageID": 204220025 + }, + { + "EventID": 20422002, + "WorldLevel": 6, + "StageID": 204220026 + }, + { + "EventID": 20422003, + "WorldLevel": 0, + "StageID": 204220030 + }, + { + "EventID": 20422003, + "WorldLevel": 1, + "StageID": 204220031 + }, + { + "EventID": 20422003, + "WorldLevel": 2, + "StageID": 204220032 + }, + { + "EventID": 20422003, + "WorldLevel": 3, + "StageID": 204220033 + }, + { + "EventID": 20422003, + "WorldLevel": 4, + "StageID": 204220034 + }, + { + "EventID": 20422003, + "WorldLevel": 5, + "StageID": 204220035 + }, + { + "EventID": 20422003, + "WorldLevel": 6, + "StageID": 204220036 + }, + { + "EventID": 20422004, + "WorldLevel": 0, + "StageID": 204220040 + }, + { + "EventID": 20422004, + "WorldLevel": 1, + "StageID": 204220041 + }, + { + "EventID": 20422004, + "WorldLevel": 2, + "StageID": 204220042 + }, + { + "EventID": 20422004, + "WorldLevel": 3, + "StageID": 204220043 + }, + { + "EventID": 20422004, + "WorldLevel": 4, + "StageID": 204220044 + }, + { + "EventID": 20422004, + "WorldLevel": 5, + "StageID": 204220045 + }, + { + "EventID": 20422004, + "WorldLevel": 6, + "StageID": 204220046 + }, + { + "EventID": 20422005, + "WorldLevel": 0, + "StageID": 204220050 + }, + { + "EventID": 20422005, + "WorldLevel": 1, + "StageID": 204220051 + }, + { + "EventID": 20422005, + "WorldLevel": 2, + "StageID": 204220052 + }, + { + "EventID": 20422005, + "WorldLevel": 3, + "StageID": 204220053 + }, + { + "EventID": 20422005, + "WorldLevel": 4, + "StageID": 204220054 + }, + { + "EventID": 20422005, + "WorldLevel": 5, + "StageID": 204220055 + }, + { + "EventID": 20422005, + "WorldLevel": 6, + "StageID": 204220056 + }, + { + "EventID": 20422006, + "WorldLevel": 0, + "StageID": 204220060 + }, + { + "EventID": 20422006, + "WorldLevel": 1, + "StageID": 204220061 + }, + { + "EventID": 20422006, + "WorldLevel": 2, + "StageID": 204220062 + }, + { + "EventID": 20422006, + "WorldLevel": 3, + "StageID": 204220063 + }, + { + "EventID": 20422006, + "WorldLevel": 4, + "StageID": 204220064 + }, + { + "EventID": 20422006, + "WorldLevel": 5, + "StageID": 204220065 + }, + { + "EventID": 20422006, + "WorldLevel": 6, + "StageID": 204220066 + }, + { + "EventID": 20422007, + "WorldLevel": 0, + "StageID": 204220070 + }, + { + "EventID": 20422007, + "WorldLevel": 1, + "StageID": 204220071 + }, + { + "EventID": 20422007, + "WorldLevel": 2, + "StageID": 204220072 + }, + { + "EventID": 20422007, + "WorldLevel": 3, + "StageID": 204220073 + }, + { + "EventID": 20422007, + "WorldLevel": 4, + "StageID": 204220074 + }, + { + "EventID": 20422007, + "WorldLevel": 5, + "StageID": 204220075 + }, + { + "EventID": 20422007, + "WorldLevel": 6, + "StageID": 204220076 + }, + { + "EventID": 20422008, + "WorldLevel": 0, + "StageID": 204220080 + }, + { + "EventID": 20422008, + "WorldLevel": 1, + "StageID": 204220081 + }, + { + "EventID": 20422008, + "WorldLevel": 2, + "StageID": 204220082 + }, + { + "EventID": 20422008, + "WorldLevel": 3, + "StageID": 204220083 + }, + { + "EventID": 20422008, + "WorldLevel": 4, + "StageID": 204220084 + }, + { + "EventID": 20422008, + "WorldLevel": 5, + "StageID": 204220085 + }, + { + "EventID": 20422008, + "WorldLevel": 6, + "StageID": 204220086 + }, + { + "EventID": 20422009, + "WorldLevel": 0, + "StageID": 204220090 + }, + { + "EventID": 20422009, + "WorldLevel": 1, + "StageID": 204220091 + }, + { + "EventID": 20422009, + "WorldLevel": 2, + "StageID": 204220092 + }, + { + "EventID": 20422009, + "WorldLevel": 3, + "StageID": 204220093 + }, + { + "EventID": 20422009, + "WorldLevel": 4, + "StageID": 204220094 + }, + { + "EventID": 20422009, + "WorldLevel": 5, + "StageID": 204220095 + }, + { + "EventID": 20422009, + "WorldLevel": 6, + "StageID": 204220096 + }, + { + "EventID": 20422010, + "WorldLevel": 0, + "StageID": 204220100 + }, + { + "EventID": 20422010, + "WorldLevel": 1, + "StageID": 204220101 + }, + { + "EventID": 20422010, + "WorldLevel": 2, + "StageID": 204220102 + }, + { + "EventID": 20422010, + "WorldLevel": 3, + "StageID": 204220103 + }, + { + "EventID": 20422010, + "WorldLevel": 4, + "StageID": 204220104 + }, + { + "EventID": 20422010, + "WorldLevel": 5, + "StageID": 204220105 + }, + { + "EventID": 20422010, + "WorldLevel": 6, + "StageID": 204220106 + }, + { + "EventID": 20422011, + "WorldLevel": 0, + "StageID": 204220110 + }, + { + "EventID": 20422011, + "WorldLevel": 1, + "StageID": 204220111 + }, + { + "EventID": 20422011, + "WorldLevel": 2, + "StageID": 204220112 + }, + { + "EventID": 20422011, + "WorldLevel": 3, + "StageID": 204220113 + }, + { + "EventID": 20422011, + "WorldLevel": 4, + "StageID": 204220114 + }, + { + "EventID": 20422011, + "WorldLevel": 5, + "StageID": 204220115 + }, + { + "EventID": 20422011, + "WorldLevel": 6, + "StageID": 204220116 + }, + { + "EventID": 20422012, + "WorldLevel": 0, + "StageID": 204220120 + }, + { + "EventID": 20422012, + "WorldLevel": 1, + "StageID": 204220121 + }, + { + "EventID": 20422012, + "WorldLevel": 2, + "StageID": 204220122 + }, + { + "EventID": 20422012, + "WorldLevel": 3, + "StageID": 204220123 + }, + { + "EventID": 20422012, + "WorldLevel": 4, + "StageID": 204220124 + }, + { + "EventID": 20422012, + "WorldLevel": 5, + "StageID": 204220125 + }, + { + "EventID": 20422012, + "WorldLevel": 6, + "StageID": 204220126 + }, + { + "EventID": 20422014, + "WorldLevel": 0, + "StageID": 204220140 + }, + { + "EventID": 20422014, + "WorldLevel": 1, + "StageID": 204220141 + }, + { + "EventID": 20422014, + "WorldLevel": 2, + "StageID": 204220142 + }, + { + "EventID": 20422014, + "WorldLevel": 3, + "StageID": 204220143 + }, + { + "EventID": 20422014, + "WorldLevel": 4, + "StageID": 204220144 + }, + { + "EventID": 20422014, + "WorldLevel": 5, + "StageID": 204220145 + }, + { + "EventID": 20422014, + "WorldLevel": 6, + "StageID": 204220146 + }, + { + "EventID": 20422015, + "WorldLevel": 0, + "StageID": 204220150 + }, + { + "EventID": 20422015, + "WorldLevel": 1, + "StageID": 204220151 + }, + { + "EventID": 20422015, + "WorldLevel": 2, + "StageID": 204220152 + }, + { + "EventID": 20422015, + "WorldLevel": 3, + "StageID": 204220153 + }, + { + "EventID": 20422015, + "WorldLevel": 4, + "StageID": 204220154 + }, + { + "EventID": 20422015, + "WorldLevel": 5, + "StageID": 204220155 + }, + { + "EventID": 20422015, + "WorldLevel": 6, + "StageID": 204220156 + }, + { + "EventID": 20422016, + "WorldLevel": 0, + "StageID": 204220160 + }, + { + "EventID": 20422016, + "WorldLevel": 1, + "StageID": 204220161 + }, + { + "EventID": 20422016, + "WorldLevel": 2, + "StageID": 204220162 + }, + { + "EventID": 20422016, + "WorldLevel": 3, + "StageID": 204220163 + }, + { + "EventID": 20422016, + "WorldLevel": 4, + "StageID": 204220164 + }, + { + "EventID": 20422016, + "WorldLevel": 5, + "StageID": 204220165 + }, + { + "EventID": 20422016, + "WorldLevel": 6, + "StageID": 204220166 + }, + { + "EventID": 20422017, + "WorldLevel": 0, + "StageID": 204220170 + }, + { + "EventID": 20422017, + "WorldLevel": 1, + "StageID": 204220171 + }, + { + "EventID": 20422017, + "WorldLevel": 2, + "StageID": 204220172 + }, + { + "EventID": 20422017, + "WorldLevel": 3, + "StageID": 204220173 + }, + { + "EventID": 20422017, + "WorldLevel": 4, + "StageID": 204220174 + }, + { + "EventID": 20422017, + "WorldLevel": 5, + "StageID": 204220175 + }, + { + "EventID": 20422017, + "WorldLevel": 6, + "StageID": 204220176 + }, + { + "EventID": 20422018, + "WorldLevel": 0, + "StageID": 204220180 + }, + { + "EventID": 20422018, + "WorldLevel": 1, + "StageID": 204220181 + }, + { + "EventID": 20422018, + "WorldLevel": 2, + "StageID": 204220182 + }, + { + "EventID": 20422018, + "WorldLevel": 3, + "StageID": 204220183 + }, + { + "EventID": 20422018, + "WorldLevel": 4, + "StageID": 204220184 + }, + { + "EventID": 20422018, + "WorldLevel": 5, + "StageID": 204220185 + }, + { + "EventID": 20422018, + "WorldLevel": 6, + "StageID": 204220186 + }, + { + "EventID": 20422019, + "WorldLevel": 0, + "StageID": 204220190 + }, + { + "EventID": 20422019, + "WorldLevel": 1, + "StageID": 204220191 + }, + { + "EventID": 20422019, + "WorldLevel": 2, + "StageID": 204220192 + }, + { + "EventID": 20422019, + "WorldLevel": 3, + "StageID": 204220193 + }, + { + "EventID": 20422019, + "WorldLevel": 4, + "StageID": 204220194 + }, + { + "EventID": 20422019, + "WorldLevel": 5, + "StageID": 204220195 + }, + { + "EventID": 20422019, + "WorldLevel": 6, + "StageID": 204220196 + }, + { + "EventID": 20422020, + "WorldLevel": 0, + "StageID": 204220200 + }, + { + "EventID": 20422020, + "WorldLevel": 1, + "StageID": 204220201 + }, + { + "EventID": 20422020, + "WorldLevel": 2, + "StageID": 204220202 + }, + { + "EventID": 20422020, + "WorldLevel": 3, + "StageID": 204220203 + }, + { + "EventID": 20422020, + "WorldLevel": 4, + "StageID": 204220204 + }, + { + "EventID": 20422020, + "WorldLevel": 5, + "StageID": 204220205 + }, + { + "EventID": 20422020, + "WorldLevel": 6, + "StageID": 204220206 + }, + { + "EventID": 20422021, + "WorldLevel": 0, + "StageID": 204220210 + }, + { + "EventID": 20422021, + "WorldLevel": 1, + "StageID": 204220211 + }, + { + "EventID": 20422021, + "WorldLevel": 2, + "StageID": 204220212 + }, + { + "EventID": 20422021, + "WorldLevel": 3, + "StageID": 204220213 + }, + { + "EventID": 20422021, + "WorldLevel": 4, + "StageID": 204220214 + }, + { + "EventID": 20422021, + "WorldLevel": 5, + "StageID": 204220215 + }, + { + "EventID": 20422021, + "WorldLevel": 6, + "StageID": 204220216 + }, + { + "EventID": 20422022, + "WorldLevel": 0, + "StageID": 204220220 + }, + { + "EventID": 20422022, + "WorldLevel": 1, + "StageID": 204220221 + }, + { + "EventID": 20422022, + "WorldLevel": 2, + "StageID": 204220222 + }, + { + "EventID": 20422022, + "WorldLevel": 3, + "StageID": 204220223 + }, + { + "EventID": 20422022, + "WorldLevel": 4, + "StageID": 204220224 + }, + { + "EventID": 20422022, + "WorldLevel": 5, + "StageID": 204220225 + }, + { + "EventID": 20422022, + "WorldLevel": 6, + "StageID": 204220226 + }, + { + "EventID": 20422023, + "WorldLevel": 0, + "StageID": 204220230 + }, + { + "EventID": 20422023, + "WorldLevel": 1, + "StageID": 204220231 + }, + { + "EventID": 20422023, + "WorldLevel": 2, + "StageID": 204220232 + }, + { + "EventID": 20422023, + "WorldLevel": 3, + "StageID": 204220233 + }, + { + "EventID": 20422023, + "WorldLevel": 4, + "StageID": 204220234 + }, + { + "EventID": 20422023, + "WorldLevel": 5, + "StageID": 204220235 + }, + { + "EventID": 20422023, + "WorldLevel": 6, + "StageID": 204220236 + }, + { + "EventID": 20422024, + "WorldLevel": 0, + "StageID": 204220240 + }, + { + "EventID": 20422024, + "WorldLevel": 1, + "StageID": 204220241 + }, + { + "EventID": 20422024, + "WorldLevel": 2, + "StageID": 204220242 + }, + { + "EventID": 20422024, + "WorldLevel": 3, + "StageID": 204220243 + }, + { + "EventID": 20422024, + "WorldLevel": 4, + "StageID": 204220244 + }, + { + "EventID": 20422024, + "WorldLevel": 5, + "StageID": 204220245 + }, + { + "EventID": 20422024, + "WorldLevel": 6, + "StageID": 204220246 + }, + { + "EventID": 20422025, + "WorldLevel": 0, + "StageID": 204220250 + }, + { + "EventID": 20422025, + "WorldLevel": 1, + "StageID": 204220251 + }, + { + "EventID": 20422025, + "WorldLevel": 2, + "StageID": 204220252 + }, + { + "EventID": 20422025, + "WorldLevel": 3, + "StageID": 204220253 + }, + { + "EventID": 20422025, + "WorldLevel": 4, + "StageID": 204220254 + }, + { + "EventID": 20422025, + "WorldLevel": 5, + "StageID": 204220255 + }, + { + "EventID": 20422025, + "WorldLevel": 6, + "StageID": 204220256 + }, + { + "EventID": 20422027, + "WorldLevel": 0, + "StageID": 204220270 + }, + { + "EventID": 20422027, + "WorldLevel": 1, + "StageID": 204220271 + }, + { + "EventID": 20422027, + "WorldLevel": 2, + "StageID": 204220272 + }, + { + "EventID": 20422027, + "WorldLevel": 3, + "StageID": 204220273 + }, + { + "EventID": 20422027, + "WorldLevel": 4, + "StageID": 204220274 + }, + { + "EventID": 20422027, + "WorldLevel": 5, + "StageID": 204220275 + }, + { + "EventID": 20422027, + "WorldLevel": 6, + "StageID": 204220276 + }, + { + "EventID": 20422028, + "WorldLevel": 0, + "StageID": 204220280 + }, + { + "EventID": 20422028, + "WorldLevel": 1, + "StageID": 204220281 + }, + { + "EventID": 20422028, + "WorldLevel": 2, + "StageID": 204220282 + }, + { + "EventID": 20422028, + "WorldLevel": 3, + "StageID": 204220283 + }, + { + "EventID": 20422028, + "WorldLevel": 4, + "StageID": 204220284 + }, + { + "EventID": 20422028, + "WorldLevel": 5, + "StageID": 204220285 + }, + { + "EventID": 20422028, + "WorldLevel": 6, + "StageID": 204220286 + }, + { + "EventID": 20422029, + "WorldLevel": 0, + "StageID": 204220290 + }, + { + "EventID": 20422029, + "WorldLevel": 1, + "StageID": 204220291 + }, + { + "EventID": 20422029, + "WorldLevel": 2, + "StageID": 204220292 + }, + { + "EventID": 20422029, + "WorldLevel": 3, + "StageID": 204220293 + }, + { + "EventID": 20422029, + "WorldLevel": 4, + "StageID": 204220294 + }, + { + "EventID": 20422029, + "WorldLevel": 5, + "StageID": 204220295 + }, + { + "EventID": 20422029, + "WorldLevel": 6, + "StageID": 204220296 + }, + { + "EventID": 20422030, + "WorldLevel": 0, + "StageID": 204220300 + }, + { + "EventID": 20422030, + "WorldLevel": 1, + "StageID": 204220301 + }, + { + "EventID": 20422030, + "WorldLevel": 2, + "StageID": 204220302 + }, + { + "EventID": 20422030, + "WorldLevel": 3, + "StageID": 204220303 + }, + { + "EventID": 20422030, + "WorldLevel": 4, + "StageID": 204220304 + }, + { + "EventID": 20422030, + "WorldLevel": 5, + "StageID": 204220305 + }, + { + "EventID": 20422030, + "WorldLevel": 6, + "StageID": 204220306 + }, + { + "EventID": 20422036, + "WorldLevel": 0, + "StageID": 204220360 + }, + { + "EventID": 20422036, + "WorldLevel": 1, + "StageID": 204220361 + }, + { + "EventID": 20422036, + "WorldLevel": 2, + "StageID": 204220362 + }, + { + "EventID": 20422036, + "WorldLevel": 3, + "StageID": 204220363 + }, + { + "EventID": 20422036, + "WorldLevel": 4, + "StageID": 204220364 + }, + { + "EventID": 20422036, + "WorldLevel": 5, + "StageID": 204220365 + }, + { + "EventID": 20422036, + "WorldLevel": 6, + "StageID": 204220366 + }, + { + "EventID": 20422041, + "WorldLevel": 0, + "StageID": 204220410 + }, + { + "EventID": 20422041, + "WorldLevel": 1, + "StageID": 204220411 + }, + { + "EventID": 20422041, + "WorldLevel": 2, + "StageID": 204220412 + }, + { + "EventID": 20422041, + "WorldLevel": 3, + "StageID": 204220413 + }, + { + "EventID": 20422041, + "WorldLevel": 4, + "StageID": 204220414 + }, + { + "EventID": 20422041, + "WorldLevel": 5, + "StageID": 204220415 + }, + { + "EventID": 20422041, + "WorldLevel": 6, + "StageID": 204220416 + }, + { + "EventID": 20422042, + "WorldLevel": 0, + "StageID": 204220420 + }, + { + "EventID": 20422042, + "WorldLevel": 1, + "StageID": 204220421 + }, + { + "EventID": 20422042, + "WorldLevel": 2, + "StageID": 204220422 + }, + { + "EventID": 20422042, + "WorldLevel": 3, + "StageID": 204220423 + }, + { + "EventID": 20422042, + "WorldLevel": 4, + "StageID": 204220424 + }, + { + "EventID": 20422042, + "WorldLevel": 5, + "StageID": 204220425 + }, + { + "EventID": 20422042, + "WorldLevel": 6, + "StageID": 204220426 + }, + { + "EventID": 20422043, + "WorldLevel": 0, + "StageID": 204220430 + }, + { + "EventID": 20422043, + "WorldLevel": 1, + "StageID": 204220431 + }, + { + "EventID": 20422043, + "WorldLevel": 2, + "StageID": 204220432 + }, + { + "EventID": 20422043, + "WorldLevel": 3, + "StageID": 204220433 + }, + { + "EventID": 20422043, + "WorldLevel": 4, + "StageID": 204220434 + }, + { + "EventID": 20422043, + "WorldLevel": 5, + "StageID": 204220435 + }, + { + "EventID": 20422043, + "WorldLevel": 6, + "StageID": 204220436 + }, + { + "EventID": 20422044, + "WorldLevel": 0, + "StageID": 204220440 + }, + { + "EventID": 20422044, + "WorldLevel": 1, + "StageID": 204220441 + }, + { + "EventID": 20422044, + "WorldLevel": 2, + "StageID": 204220442 + }, + { + "EventID": 20422044, + "WorldLevel": 3, + "StageID": 204220443 + }, + { + "EventID": 20422044, + "WorldLevel": 4, + "StageID": 204220444 + }, + { + "EventID": 20422044, + "WorldLevel": 5, + "StageID": 204220445 + }, + { + "EventID": 20422044, + "WorldLevel": 6, + "StageID": 204220446 + }, + { + "EventID": 20422046, + "WorldLevel": 0, + "StageID": 204220460 + }, + { + "EventID": 20422046, + "WorldLevel": 1, + "StageID": 204220461 + }, + { + "EventID": 20422046, + "WorldLevel": 2, + "StageID": 204220462 + }, + { + "EventID": 20422046, + "WorldLevel": 3, + "StageID": 204220463 + }, + { + "EventID": 20422046, + "WorldLevel": 4, + "StageID": 204220464 + }, + { + "EventID": 20422046, + "WorldLevel": 5, + "StageID": 204220465 + }, + { + "EventID": 20422046, + "WorldLevel": 6, + "StageID": 204220466 + }, + { + "EventID": 20422047, + "WorldLevel": 0, + "StageID": 204220470 + }, + { + "EventID": 20422047, + "WorldLevel": 1, + "StageID": 204220471 + }, + { + "EventID": 20422047, + "WorldLevel": 2, + "StageID": 204220472 + }, + { + "EventID": 20422047, + "WorldLevel": 3, + "StageID": 204220473 + }, + { + "EventID": 20422047, + "WorldLevel": 4, + "StageID": 204220474 + }, + { + "EventID": 20422047, + "WorldLevel": 5, + "StageID": 204220475 + }, + { + "EventID": 20422047, + "WorldLevel": 6, + "StageID": 204220476 + }, + { + "EventID": 20422048, + "WorldLevel": 0, + "StageID": 204220480 + }, + { + "EventID": 20422048, + "WorldLevel": 1, + "StageID": 204220481 + }, + { + "EventID": 20422048, + "WorldLevel": 2, + "StageID": 204220482 + }, + { + "EventID": 20422048, + "WorldLevel": 3, + "StageID": 204220483 + }, + { + "EventID": 20422048, + "WorldLevel": 4, + "StageID": 204220484 + }, + { + "EventID": 20422048, + "WorldLevel": 5, + "StageID": 204220485 + }, + { + "EventID": 20422048, + "WorldLevel": 6, + "StageID": 204220486 + }, + { + "EventID": 20422049, + "WorldLevel": 0, + "StageID": 204220490 + }, + { + "EventID": 20422049, + "WorldLevel": 1, + "StageID": 204220491 + }, + { + "EventID": 20422049, + "WorldLevel": 2, + "StageID": 204220492 + }, + { + "EventID": 20422049, + "WorldLevel": 3, + "StageID": 204220493 + }, + { + "EventID": 20422049, + "WorldLevel": 4, + "StageID": 204220494 + }, + { + "EventID": 20422049, + "WorldLevel": 5, + "StageID": 204220495 + }, + { + "EventID": 20422049, + "WorldLevel": 6, + "StageID": 204220496 + }, + { + "EventID": 20422062, + "WorldLevel": 0, + "StageID": 204220620 + }, + { + "EventID": 20422062, + "WorldLevel": 1, + "StageID": 204220621 + }, + { + "EventID": 20422062, + "WorldLevel": 2, + "StageID": 204220622 + }, + { + "EventID": 20422062, + "WorldLevel": 3, + "StageID": 204220623 + }, + { + "EventID": 20422062, + "WorldLevel": 4, + "StageID": 204220624 + }, + { + "EventID": 20422062, + "WorldLevel": 5, + "StageID": 204220625 + }, + { + "EventID": 20422062, + "WorldLevel": 6, + "StageID": 204220626 + }, + { + "EventID": 20422063, + "WorldLevel": 0, + "StageID": 204220630 + }, + { + "EventID": 20422063, + "WorldLevel": 1, + "StageID": 204220631 + }, + { + "EventID": 20422063, + "WorldLevel": 2, + "StageID": 204220632 + }, + { + "EventID": 20422063, + "WorldLevel": 3, + "StageID": 204220633 + }, + { + "EventID": 20422063, + "WorldLevel": 4, + "StageID": 204220634 + }, + { + "EventID": 20422063, + "WorldLevel": 5, + "StageID": 204220635 + }, + { + "EventID": 20422063, + "WorldLevel": 6, + "StageID": 204220636 + }, + { + "EventID": 20422064, + "WorldLevel": 0, + "StageID": 204220640 + }, + { + "EventID": 20422064, + "WorldLevel": 1, + "StageID": 204220641 + }, + { + "EventID": 20422064, + "WorldLevel": 2, + "StageID": 204220642 + }, + { + "EventID": 20422064, + "WorldLevel": 3, + "StageID": 204220643 + }, + { + "EventID": 20422064, + "WorldLevel": 4, + "StageID": 204220644 + }, + { + "EventID": 20422064, + "WorldLevel": 5, + "StageID": 204220645 + }, + { + "EventID": 20422064, + "WorldLevel": 6, + "StageID": 204220646 + }, + { + "EventID": 20422065, + "WorldLevel": 0, + "StageID": 204220650 + }, + { + "EventID": 20422065, + "WorldLevel": 1, + "StageID": 204220651 + }, + { + "EventID": 20422065, + "WorldLevel": 2, + "StageID": 204220652 + }, + { + "EventID": 20422065, + "WorldLevel": 3, + "StageID": 204220653 + }, + { + "EventID": 20422065, + "WorldLevel": 4, + "StageID": 204220654 + }, + { + "EventID": 20422065, + "WorldLevel": 5, + "StageID": 204220655 + }, + { + "EventID": 20422065, + "WorldLevel": 6, + "StageID": 204220656 + }, + { + "EventID": 20422071, + "WorldLevel": 0, + "StageID": 204220710 + }, + { + "EventID": 20422071, + "WorldLevel": 1, + "StageID": 204220711 + }, + { + "EventID": 20422071, + "WorldLevel": 2, + "StageID": 204220712 + }, + { + "EventID": 20422071, + "WorldLevel": 3, + "StageID": 204220713 + }, + { + "EventID": 20422071, + "WorldLevel": 4, + "StageID": 204220714 + }, + { + "EventID": 20422071, + "WorldLevel": 5, + "StageID": 204220715 + }, + { + "EventID": 20422071, + "WorldLevel": 6, + "StageID": 204220716 + }, + { + "EventID": 20422072, + "WorldLevel": 0, + "StageID": 204220720 + }, + { + "EventID": 20422072, + "WorldLevel": 1, + "StageID": 204220721 + }, + { + "EventID": 20422072, + "WorldLevel": 2, + "StageID": 204220722 + }, + { + "EventID": 20422072, + "WorldLevel": 3, + "StageID": 204220723 + }, + { + "EventID": 20422072, + "WorldLevel": 4, + "StageID": 204220724 + }, + { + "EventID": 20422072, + "WorldLevel": 5, + "StageID": 204220725 + }, + { + "EventID": 20422072, + "WorldLevel": 6, + "StageID": 204220726 + }, + { + "EventID": 20422073, + "WorldLevel": 0, + "StageID": 204220730 + }, + { + "EventID": 20422073, + "WorldLevel": 1, + "StageID": 204220731 + }, + { + "EventID": 20422073, + "WorldLevel": 2, + "StageID": 204220732 + }, + { + "EventID": 20422073, + "WorldLevel": 3, + "StageID": 204220733 + }, + { + "EventID": 20422073, + "WorldLevel": 4, + "StageID": 204220734 + }, + { + "EventID": 20422073, + "WorldLevel": 5, + "StageID": 204220735 + }, + { + "EventID": 20422073, + "WorldLevel": 6, + "StageID": 204220736 + }, + { + "EventID": 20422074, + "WorldLevel": 0, + "StageID": 204220740 + }, + { + "EventID": 20422074, + "WorldLevel": 1, + "StageID": 204220741 + }, + { + "EventID": 20422074, + "WorldLevel": 2, + "StageID": 204220742 + }, + { + "EventID": 20422074, + "WorldLevel": 3, + "StageID": 204220743 + }, + { + "EventID": 20422074, + "WorldLevel": 4, + "StageID": 204220744 + }, + { + "EventID": 20422074, + "WorldLevel": 5, + "StageID": 204220745 + }, + { + "EventID": 20422074, + "WorldLevel": 6, + "StageID": 204220746 + }, + { + "EventID": 20422075, + "WorldLevel": 0, + "StageID": 204220750 + }, + { + "EventID": 20422075, + "WorldLevel": 1, + "StageID": 204220751 + }, + { + "EventID": 20422075, + "WorldLevel": 2, + "StageID": 204220752 + }, + { + "EventID": 20422075, + "WorldLevel": 3, + "StageID": 204220753 + }, + { + "EventID": 20422075, + "WorldLevel": 4, + "StageID": 204220754 + }, + { + "EventID": 20422075, + "WorldLevel": 5, + "StageID": 204220755 + }, + { + "EventID": 20422075, + "WorldLevel": 6, + "StageID": 204220756 + }, + { + "EventID": 20422076, + "WorldLevel": 0, + "StageID": 204220760 + }, + { + "EventID": 20422076, + "WorldLevel": 1, + "StageID": 204220761 + }, + { + "EventID": 20422076, + "WorldLevel": 2, + "StageID": 204220762 + }, + { + "EventID": 20422076, + "WorldLevel": 3, + "StageID": 204220763 + }, + { + "EventID": 20422076, + "WorldLevel": 4, + "StageID": 204220764 + }, + { + "EventID": 20422076, + "WorldLevel": 5, + "StageID": 204220765 + }, + { + "EventID": 20422076, + "WorldLevel": 6, + "StageID": 204220766 + }, + { + "EventID": 20422077, + "WorldLevel": 0, + "StageID": 204220770 + }, + { + "EventID": 20422077, + "WorldLevel": 1, + "StageID": 204220771 + }, + { + "EventID": 20422077, + "WorldLevel": 2, + "StageID": 204220772 + }, + { + "EventID": 20422077, + "WorldLevel": 3, + "StageID": 204220773 + }, + { + "EventID": 20422077, + "WorldLevel": 4, + "StageID": 204220774 + }, + { + "EventID": 20422077, + "WorldLevel": 5, + "StageID": 204220775 + }, + { + "EventID": 20422077, + "WorldLevel": 6, + "StageID": 204220776 + }, + { + "EventID": 20422078, + "WorldLevel": 0, + "StageID": 204220780 + }, + { + "EventID": 20422078, + "WorldLevel": 1, + "StageID": 204220781 + }, + { + "EventID": 20422078, + "WorldLevel": 2, + "StageID": 204220782 + }, + { + "EventID": 20422078, + "WorldLevel": 3, + "StageID": 204220783 + }, + { + "EventID": 20422078, + "WorldLevel": 4, + "StageID": 204220784 + }, + { + "EventID": 20422078, + "WorldLevel": 5, + "StageID": 204220785 + }, + { + "EventID": 20422078, + "WorldLevel": 6, + "StageID": 204220786 + }, + { + "EventID": 20422079, + "WorldLevel": 0, + "StageID": 204220790 + }, + { + "EventID": 20422079, + "WorldLevel": 1, + "StageID": 204220791 + }, + { + "EventID": 20422079, + "WorldLevel": 2, + "StageID": 204220792 + }, + { + "EventID": 20422079, + "WorldLevel": 3, + "StageID": 204220793 + }, + { + "EventID": 20422079, + "WorldLevel": 4, + "StageID": 204220794 + }, + { + "EventID": 20422079, + "WorldLevel": 5, + "StageID": 204220795 + }, + { + "EventID": 20422079, + "WorldLevel": 6, + "StageID": 204220796 + }, + { + "EventID": 20422080, + "WorldLevel": 0, + "StageID": 204220800 + }, + { + "EventID": 20422080, + "WorldLevel": 1, + "StageID": 204220801 + }, + { + "EventID": 20422080, + "WorldLevel": 2, + "StageID": 204220802 + }, + { + "EventID": 20422080, + "WorldLevel": 3, + "StageID": 204220803 + }, + { + "EventID": 20422080, + "WorldLevel": 4, + "StageID": 204220804 + }, + { + "EventID": 20422080, + "WorldLevel": 5, + "StageID": 204220805 + }, + { + "EventID": 20422080, + "WorldLevel": 6, + "StageID": 204220806 + }, + { + "EventID": 20422081, + "WorldLevel": 0, + "StageID": 204220810 + }, + { + "EventID": 20422081, + "WorldLevel": 1, + "StageID": 204220811 + }, + { + "EventID": 20422081, + "WorldLevel": 2, + "StageID": 204220812 + }, + { + "EventID": 20422081, + "WorldLevel": 3, + "StageID": 204220813 + }, + { + "EventID": 20422081, + "WorldLevel": 4, + "StageID": 204220814 + }, + { + "EventID": 20422081, + "WorldLevel": 5, + "StageID": 204220815 + }, + { + "EventID": 20422081, + "WorldLevel": 6, + "StageID": 204220816 + }, + { + "EventID": 20422082, + "WorldLevel": 0, + "StageID": 204220820 + }, + { + "EventID": 20422082, + "WorldLevel": 1, + "StageID": 204220821 + }, + { + "EventID": 20422082, + "WorldLevel": 2, + "StageID": 204220822 + }, + { + "EventID": 20422082, + "WorldLevel": 3, + "StageID": 204220823 + }, + { + "EventID": 20422082, + "WorldLevel": 4, + "StageID": 204220824 + }, + { + "EventID": 20422082, + "WorldLevel": 5, + "StageID": 204220825 + }, + { + "EventID": 20422082, + "WorldLevel": 6, + "StageID": 204220826 + }, + { + "EventID": 20422083, + "WorldLevel": 0, + "StageID": 204220830 + }, + { + "EventID": 20422083, + "WorldLevel": 1, + "StageID": 204220831 + }, + { + "EventID": 20422083, + "WorldLevel": 2, + "StageID": 204220832 + }, + { + "EventID": 20422083, + "WorldLevel": 3, + "StageID": 204220833 + }, + { + "EventID": 20422083, + "WorldLevel": 4, + "StageID": 204220834 + }, + { + "EventID": 20422083, + "WorldLevel": 5, + "StageID": 204220835 + }, + { + "EventID": 20422083, + "WorldLevel": 6, + "StageID": 204220836 + }, + { + "EventID": 20422084, + "WorldLevel": 0, + "StageID": 204220840 + }, + { + "EventID": 20422084, + "WorldLevel": 1, + "StageID": 204220841 + }, + { + "EventID": 20422084, + "WorldLevel": 2, + "StageID": 204220842 + }, + { + "EventID": 20422084, + "WorldLevel": 3, + "StageID": 204220843 + }, + { + "EventID": 20422084, + "WorldLevel": 4, + "StageID": 204220844 + }, + { + "EventID": 20422084, + "WorldLevel": 5, + "StageID": 204220845 + }, + { + "EventID": 20422084, + "WorldLevel": 6, + "StageID": 204220846 + }, + { + "EventID": 20422101, + "WorldLevel": 0, + "StageID": 204221010 + }, + { + "EventID": 20422101, + "WorldLevel": 1, + "StageID": 204221011 + }, + { + "EventID": 20422101, + "WorldLevel": 2, + "StageID": 204221012 + }, + { + "EventID": 20422101, + "WorldLevel": 3, + "StageID": 204221013 + }, + { + "EventID": 20422101, + "WorldLevel": 4, + "StageID": 204221014 + }, + { + "EventID": 20422101, + "WorldLevel": 5, + "StageID": 204221015 + }, + { + "EventID": 20422101, + "WorldLevel": 6, + "StageID": 204221016 + }, + { + "EventID": 20422102, + "WorldLevel": 0, + "StageID": 204221020 + }, + { + "EventID": 20422102, + "WorldLevel": 1, + "StageID": 204221021 + }, + { + "EventID": 20422102, + "WorldLevel": 2, + "StageID": 204221022 + }, + { + "EventID": 20422102, + "WorldLevel": 3, + "StageID": 204221023 + }, + { + "EventID": 20422102, + "WorldLevel": 4, + "StageID": 204221024 + }, + { + "EventID": 20422102, + "WorldLevel": 5, + "StageID": 204221025 + }, + { + "EventID": 20422102, + "WorldLevel": 6, + "StageID": 204221026 + }, + { + "EventID": 20422103, + "WorldLevel": 0, + "StageID": 204221030 + }, + { + "EventID": 20422103, + "WorldLevel": 1, + "StageID": 204221031 + }, + { + "EventID": 20422103, + "WorldLevel": 2, + "StageID": 204221032 + }, + { + "EventID": 20422103, + "WorldLevel": 3, + "StageID": 204221033 + }, + { + "EventID": 20422103, + "WorldLevel": 4, + "StageID": 204221034 + }, + { + "EventID": 20422103, + "WorldLevel": 5, + "StageID": 204221035 + }, + { + "EventID": 20422103, + "WorldLevel": 6, + "StageID": 204221036 + }, + { + "EventID": 20422104, + "WorldLevel": 0, + "StageID": 204221040 + }, + { + "EventID": 20422104, + "WorldLevel": 1, + "StageID": 204221041 + }, + { + "EventID": 20422104, + "WorldLevel": 2, + "StageID": 204221042 + }, + { + "EventID": 20422104, + "WorldLevel": 3, + "StageID": 204221043 + }, + { + "EventID": 20422104, + "WorldLevel": 4, + "StageID": 204221044 + }, + { + "EventID": 20422104, + "WorldLevel": 5, + "StageID": 204221045 + }, + { + "EventID": 20422104, + "WorldLevel": 6, + "StageID": 204221046 + }, + { + "EventID": 20422105, + "WorldLevel": 0, + "StageID": 204221050 + }, + { + "EventID": 20422105, + "WorldLevel": 1, + "StageID": 204221051 + }, + { + "EventID": 20422105, + "WorldLevel": 2, + "StageID": 204221052 + }, + { + "EventID": 20422105, + "WorldLevel": 3, + "StageID": 204221053 + }, + { + "EventID": 20422105, + "WorldLevel": 4, + "StageID": 204221054 + }, + { + "EventID": 20422105, + "WorldLevel": 5, + "StageID": 204221055 + }, + { + "EventID": 20422105, + "WorldLevel": 6, + "StageID": 204221056 + }, + { + "EventID": 20422106, + "WorldLevel": 0, + "StageID": 204221060 + }, + { + "EventID": 20422106, + "WorldLevel": 1, + "StageID": 204221061 + }, + { + "EventID": 20422106, + "WorldLevel": 2, + "StageID": 204221062 + }, + { + "EventID": 20422106, + "WorldLevel": 3, + "StageID": 204221063 + }, + { + "EventID": 20422106, + "WorldLevel": 4, + "StageID": 204221064 + }, + { + "EventID": 20422106, + "WorldLevel": 5, + "StageID": 204221065 + }, + { + "EventID": 20422106, + "WorldLevel": 6, + "StageID": 204221066 + }, + { + "EventID": 20422107, + "WorldLevel": 0, + "StageID": 204221070 + }, + { + "EventID": 20422107, + "WorldLevel": 1, + "StageID": 204221071 + }, + { + "EventID": 20422107, + "WorldLevel": 2, + "StageID": 204221072 + }, + { + "EventID": 20422107, + "WorldLevel": 3, + "StageID": 204221073 + }, + { + "EventID": 20422107, + "WorldLevel": 4, + "StageID": 204221074 + }, + { + "EventID": 20422107, + "WorldLevel": 5, + "StageID": 204221075 + }, + { + "EventID": 20422107, + "WorldLevel": 6, + "StageID": 204221076 + }, + { + "EventID": 20422108, + "WorldLevel": 0, + "StageID": 204221080 + }, + { + "EventID": 20422108, + "WorldLevel": 1, + "StageID": 204221081 + }, + { + "EventID": 20422108, + "WorldLevel": 2, + "StageID": 204221082 + }, + { + "EventID": 20422108, + "WorldLevel": 3, + "StageID": 204221083 + }, + { + "EventID": 20422108, + "WorldLevel": 4, + "StageID": 204221084 + }, + { + "EventID": 20422108, + "WorldLevel": 5, + "StageID": 204221085 + }, + { + "EventID": 20422108, + "WorldLevel": 6, + "StageID": 204221086 + }, + { + "EventID": 20422109, + "WorldLevel": 0, + "StageID": 204221090 + }, + { + "EventID": 20422109, + "WorldLevel": 1, + "StageID": 204221091 + }, + { + "EventID": 20422109, + "WorldLevel": 2, + "StageID": 204221092 + }, + { + "EventID": 20422109, + "WorldLevel": 3, + "StageID": 204221093 + }, + { + "EventID": 20422109, + "WorldLevel": 4, + "StageID": 204221094 + }, + { + "EventID": 20422109, + "WorldLevel": 5, + "StageID": 204221095 + }, + { + "EventID": 20422109, + "WorldLevel": 6, + "StageID": 204221096 + }, + { + "EventID": 20422110, + "WorldLevel": 0, + "StageID": 204221100 + }, + { + "EventID": 20422110, + "WorldLevel": 1, + "StageID": 204221101 + }, + { + "EventID": 20422110, + "WorldLevel": 2, + "StageID": 204221102 + }, + { + "EventID": 20422110, + "WorldLevel": 3, + "StageID": 204221103 + }, + { + "EventID": 20422110, + "WorldLevel": 4, + "StageID": 204221104 + }, + { + "EventID": 20422110, + "WorldLevel": 5, + "StageID": 204221105 + }, + { + "EventID": 20422110, + "WorldLevel": 6, + "StageID": 204221106 + }, + { + "EventID": 20422111, + "WorldLevel": 0, + "StageID": 204221110 + }, + { + "EventID": 20422111, + "WorldLevel": 1, + "StageID": 204221111 + }, + { + "EventID": 20422111, + "WorldLevel": 2, + "StageID": 204221112 + }, + { + "EventID": 20422111, + "WorldLevel": 3, + "StageID": 204221113 + }, + { + "EventID": 20422111, + "WorldLevel": 4, + "StageID": 204221114 + }, + { + "EventID": 20422111, + "WorldLevel": 5, + "StageID": 204221115 + }, + { + "EventID": 20422111, + "WorldLevel": 6, + "StageID": 204221116 + }, + { + "EventID": 20422112, + "WorldLevel": 0, + "StageID": 204221120 + }, + { + "EventID": 20422112, + "WorldLevel": 1, + "StageID": 204221121 + }, + { + "EventID": 20422112, + "WorldLevel": 2, + "StageID": 204221122 + }, + { + "EventID": 20422112, + "WorldLevel": 3, + "StageID": 204221123 + }, + { + "EventID": 20422112, + "WorldLevel": 4, + "StageID": 204221124 + }, + { + "EventID": 20422112, + "WorldLevel": 5, + "StageID": 204221125 + }, + { + "EventID": 20422112, + "WorldLevel": 6, + "StageID": 204221126 + }, + { + "EventID": 20422114, + "WorldLevel": 0, + "StageID": 204221140 + }, + { + "EventID": 20422114, + "WorldLevel": 1, + "StageID": 204221141 + }, + { + "EventID": 20422114, + "WorldLevel": 2, + "StageID": 204221142 + }, + { + "EventID": 20422114, + "WorldLevel": 3, + "StageID": 204221143 + }, + { + "EventID": 20422114, + "WorldLevel": 4, + "StageID": 204221144 + }, + { + "EventID": 20422114, + "WorldLevel": 5, + "StageID": 204221145 + }, + { + "EventID": 20422114, + "WorldLevel": 6, + "StageID": 204221146 + }, + { + "EventID": 20422115, + "WorldLevel": 0, + "StageID": 204221150 + }, + { + "EventID": 20422115, + "WorldLevel": 1, + "StageID": 204221151 + }, + { + "EventID": 20422115, + "WorldLevel": 2, + "StageID": 204221152 + }, + { + "EventID": 20422115, + "WorldLevel": 3, + "StageID": 204221153 + }, + { + "EventID": 20422115, + "WorldLevel": 4, + "StageID": 204221154 + }, + { + "EventID": 20422115, + "WorldLevel": 5, + "StageID": 204221155 + }, + { + "EventID": 20422115, + "WorldLevel": 6, + "StageID": 204221156 + }, + { + "EventID": 20422116, + "WorldLevel": 0, + "StageID": 204221160 + }, + { + "EventID": 20422116, + "WorldLevel": 1, + "StageID": 204221161 + }, + { + "EventID": 20422116, + "WorldLevel": 2, + "StageID": 204221162 + }, + { + "EventID": 20422116, + "WorldLevel": 3, + "StageID": 204221163 + }, + { + "EventID": 20422116, + "WorldLevel": 4, + "StageID": 204221164 + }, + { + "EventID": 20422116, + "WorldLevel": 5, + "StageID": 204221165 + }, + { + "EventID": 20422116, + "WorldLevel": 6, + "StageID": 204221166 + }, + { + "EventID": 20422117, + "WorldLevel": 0, + "StageID": 204221170 + }, + { + "EventID": 20422117, + "WorldLevel": 1, + "StageID": 204221171 + }, + { + "EventID": 20422117, + "WorldLevel": 2, + "StageID": 204221172 + }, + { + "EventID": 20422117, + "WorldLevel": 3, + "StageID": 204221173 + }, + { + "EventID": 20422117, + "WorldLevel": 4, + "StageID": 204221174 + }, + { + "EventID": 20422117, + "WorldLevel": 5, + "StageID": 204221175 + }, + { + "EventID": 20422117, + "WorldLevel": 6, + "StageID": 204221176 + }, + { + "EventID": 20422118, + "WorldLevel": 0, + "StageID": 204221180 + }, + { + "EventID": 20422118, + "WorldLevel": 1, + "StageID": 204221181 + }, + { + "EventID": 20422118, + "WorldLevel": 2, + "StageID": 204221182 + }, + { + "EventID": 20422118, + "WorldLevel": 3, + "StageID": 204221183 + }, + { + "EventID": 20422118, + "WorldLevel": 4, + "StageID": 204221184 + }, + { + "EventID": 20422118, + "WorldLevel": 5, + "StageID": 204221185 + }, + { + "EventID": 20422118, + "WorldLevel": 6, + "StageID": 204221186 + }, + { + "EventID": 20422119, + "WorldLevel": 0, + "StageID": 204221190 + }, + { + "EventID": 20422119, + "WorldLevel": 1, + "StageID": 204221191 + }, + { + "EventID": 20422119, + "WorldLevel": 2, + "StageID": 204221192 + }, + { + "EventID": 20422119, + "WorldLevel": 3, + "StageID": 204221193 + }, + { + "EventID": 20422119, + "WorldLevel": 4, + "StageID": 204221194 + }, + { + "EventID": 20422119, + "WorldLevel": 5, + "StageID": 204221195 + }, + { + "EventID": 20422119, + "WorldLevel": 6, + "StageID": 204221196 + }, + { + "EventID": 20422120, + "WorldLevel": 0, + "StageID": 204221200 + }, + { + "EventID": 20422120, + "WorldLevel": 1, + "StageID": 204221201 + }, + { + "EventID": 20422120, + "WorldLevel": 2, + "StageID": 204221202 + }, + { + "EventID": 20422120, + "WorldLevel": 3, + "StageID": 204221203 + }, + { + "EventID": 20422120, + "WorldLevel": 4, + "StageID": 204221204 + }, + { + "EventID": 20422120, + "WorldLevel": 5, + "StageID": 204221205 + }, + { + "EventID": 20422120, + "WorldLevel": 6, + "StageID": 204221206 + }, + { + "EventID": 20422121, + "WorldLevel": 0, + "StageID": 204221210 + }, + { + "EventID": 20422121, + "WorldLevel": 1, + "StageID": 204221211 + }, + { + "EventID": 20422121, + "WorldLevel": 2, + "StageID": 204221212 + }, + { + "EventID": 20422121, + "WorldLevel": 3, + "StageID": 204221213 + }, + { + "EventID": 20422121, + "WorldLevel": 4, + "StageID": 204221214 + }, + { + "EventID": 20422121, + "WorldLevel": 5, + "StageID": 204221215 + }, + { + "EventID": 20422121, + "WorldLevel": 6, + "StageID": 204221216 + }, + { + "EventID": 20422122, + "WorldLevel": 0, + "StageID": 204221220 + }, + { + "EventID": 20422122, + "WorldLevel": 1, + "StageID": 204221221 + }, + { + "EventID": 20422122, + "WorldLevel": 2, + "StageID": 204221222 + }, + { + "EventID": 20422122, + "WorldLevel": 3, + "StageID": 204221223 + }, + { + "EventID": 20422122, + "WorldLevel": 4, + "StageID": 204221224 + }, + { + "EventID": 20422122, + "WorldLevel": 5, + "StageID": 204221225 + }, + { + "EventID": 20422122, + "WorldLevel": 6, + "StageID": 204221226 + }, + { + "EventID": 20422123, + "WorldLevel": 0, + "StageID": 204221230 + }, + { + "EventID": 20422123, + "WorldLevel": 1, + "StageID": 204221231 + }, + { + "EventID": 20422123, + "WorldLevel": 2, + "StageID": 204221232 + }, + { + "EventID": 20422123, + "WorldLevel": 3, + "StageID": 204221233 + }, + { + "EventID": 20422123, + "WorldLevel": 4, + "StageID": 204221234 + }, + { + "EventID": 20422123, + "WorldLevel": 5, + "StageID": 204221235 + }, + { + "EventID": 20422123, + "WorldLevel": 6, + "StageID": 204221236 + }, + { + "EventID": 20422124, + "WorldLevel": 0, + "StageID": 204221240 + }, + { + "EventID": 20422124, + "WorldLevel": 1, + "StageID": 204221241 + }, + { + "EventID": 20422124, + "WorldLevel": 2, + "StageID": 204221242 + }, + { + "EventID": 20422124, + "WorldLevel": 3, + "StageID": 204221243 + }, + { + "EventID": 20422124, + "WorldLevel": 4, + "StageID": 204221244 + }, + { + "EventID": 20422124, + "WorldLevel": 5, + "StageID": 204221245 + }, + { + "EventID": 20422124, + "WorldLevel": 6, + "StageID": 204221246 + }, + { + "EventID": 20422125, + "WorldLevel": 0, + "StageID": 204221250 + }, + { + "EventID": 20422125, + "WorldLevel": 1, + "StageID": 204221251 + }, + { + "EventID": 20422125, + "WorldLevel": 2, + "StageID": 204221252 + }, + { + "EventID": 20422125, + "WorldLevel": 3, + "StageID": 204221253 + }, + { + "EventID": 20422125, + "WorldLevel": 4, + "StageID": 204221254 + }, + { + "EventID": 20422125, + "WorldLevel": 5, + "StageID": 204221255 + }, + { + "EventID": 20422125, + "WorldLevel": 6, + "StageID": 204221256 + }, + { + "EventID": 20422127, + "WorldLevel": 0, + "StageID": 204221270 + }, + { + "EventID": 20422127, + "WorldLevel": 1, + "StageID": 204221271 + }, + { + "EventID": 20422127, + "WorldLevel": 2, + "StageID": 204221272 + }, + { + "EventID": 20422127, + "WorldLevel": 3, + "StageID": 204221273 + }, + { + "EventID": 20422127, + "WorldLevel": 4, + "StageID": 204221274 + }, + { + "EventID": 20422127, + "WorldLevel": 5, + "StageID": 204221275 + }, + { + "EventID": 20422127, + "WorldLevel": 6, + "StageID": 204221276 + }, + { + "EventID": 20422128, + "WorldLevel": 0, + "StageID": 204221280 + }, + { + "EventID": 20422128, + "WorldLevel": 1, + "StageID": 204221281 + }, + { + "EventID": 20422128, + "WorldLevel": 2, + "StageID": 204221282 + }, + { + "EventID": 20422128, + "WorldLevel": 3, + "StageID": 204221283 + }, + { + "EventID": 20422128, + "WorldLevel": 4, + "StageID": 204221284 + }, + { + "EventID": 20422128, + "WorldLevel": 5, + "StageID": 204221285 + }, + { + "EventID": 20422128, + "WorldLevel": 6, + "StageID": 204221286 + }, + { + "EventID": 20422129, + "WorldLevel": 0, + "StageID": 204221290 + }, + { + "EventID": 20422129, + "WorldLevel": 1, + "StageID": 204221291 + }, + { + "EventID": 20422129, + "WorldLevel": 2, + "StageID": 204221292 + }, + { + "EventID": 20422129, + "WorldLevel": 3, + "StageID": 204221293 + }, + { + "EventID": 20422129, + "WorldLevel": 4, + "StageID": 204221294 + }, + { + "EventID": 20422129, + "WorldLevel": 5, + "StageID": 204221295 + }, + { + "EventID": 20422129, + "WorldLevel": 6, + "StageID": 204221296 + }, + { + "EventID": 20422130, + "WorldLevel": 0, + "StageID": 204221300 + }, + { + "EventID": 20422130, + "WorldLevel": 1, + "StageID": 204221301 + }, + { + "EventID": 20422130, + "WorldLevel": 2, + "StageID": 204221302 + }, + { + "EventID": 20422130, + "WorldLevel": 3, + "StageID": 204221303 + }, + { + "EventID": 20422130, + "WorldLevel": 4, + "StageID": 204221304 + }, + { + "EventID": 20422130, + "WorldLevel": 5, + "StageID": 204221305 + }, + { + "EventID": 20422130, + "WorldLevel": 6, + "StageID": 204221306 + }, + { + "EventID": 20422131, + "WorldLevel": 0, + "StageID": 204221310 + }, + { + "EventID": 20422131, + "WorldLevel": 1, + "StageID": 204221311 + }, + { + "EventID": 20422131, + "WorldLevel": 2, + "StageID": 204221312 + }, + { + "EventID": 20422131, + "WorldLevel": 3, + "StageID": 204221313 + }, + { + "EventID": 20422131, + "WorldLevel": 4, + "StageID": 204221314 + }, + { + "EventID": 20422131, + "WorldLevel": 5, + "StageID": 204221315 + }, + { + "EventID": 20422131, + "WorldLevel": 6, + "StageID": 204221316 + }, + { + "EventID": 20422132, + "WorldLevel": 0, + "StageID": 204221320 + }, + { + "EventID": 20422132, + "WorldLevel": 1, + "StageID": 204221321 + }, + { + "EventID": 20422132, + "WorldLevel": 2, + "StageID": 204221322 + }, + { + "EventID": 20422132, + "WorldLevel": 3, + "StageID": 204221323 + }, + { + "EventID": 20422132, + "WorldLevel": 4, + "StageID": 204221324 + }, + { + "EventID": 20422132, + "WorldLevel": 5, + "StageID": 204221325 + }, + { + "EventID": 20422132, + "WorldLevel": 6, + "StageID": 204221326 + }, + { + "EventID": 20422133, + "WorldLevel": 0, + "StageID": 204221330 + }, + { + "EventID": 20422133, + "WorldLevel": 1, + "StageID": 204221331 + }, + { + "EventID": 20422133, + "WorldLevel": 2, + "StageID": 204221332 + }, + { + "EventID": 20422133, + "WorldLevel": 3, + "StageID": 204221333 + }, + { + "EventID": 20422133, + "WorldLevel": 4, + "StageID": 204221334 + }, + { + "EventID": 20422133, + "WorldLevel": 5, + "StageID": 204221335 + }, + { + "EventID": 20422133, + "WorldLevel": 6, + "StageID": 204221336 + }, + { + "EventID": 20422134, + "WorldLevel": 0, + "StageID": 204221340 + }, + { + "EventID": 20422134, + "WorldLevel": 1, + "StageID": 204221341 + }, + { + "EventID": 20422134, + "WorldLevel": 2, + "StageID": 204221342 + }, + { + "EventID": 20422134, + "WorldLevel": 3, + "StageID": 204221343 + }, + { + "EventID": 20422134, + "WorldLevel": 4, + "StageID": 204221344 + }, + { + "EventID": 20422134, + "WorldLevel": 5, + "StageID": 204221345 + }, + { + "EventID": 20422134, + "WorldLevel": 6, + "StageID": 204221346 + }, + { + "EventID": 20422136, + "WorldLevel": 0, + "StageID": 204221360 + }, + { + "EventID": 20422136, + "WorldLevel": 1, + "StageID": 204221361 + }, + { + "EventID": 20422136, + "WorldLevel": 2, + "StageID": 204221362 + }, + { + "EventID": 20422136, + "WorldLevel": 3, + "StageID": 204221363 + }, + { + "EventID": 20422136, + "WorldLevel": 4, + "StageID": 204221364 + }, + { + "EventID": 20422136, + "WorldLevel": 5, + "StageID": 204221365 + }, + { + "EventID": 20422136, + "WorldLevel": 6, + "StageID": 204221366 + }, + { + "EventID": 20422141, + "WorldLevel": 0, + "StageID": 204221410 + }, + { + "EventID": 20422141, + "WorldLevel": 1, + "StageID": 204221411 + }, + { + "EventID": 20422141, + "WorldLevel": 2, + "StageID": 204221412 + }, + { + "EventID": 20422141, + "WorldLevel": 3, + "StageID": 204221413 + }, + { + "EventID": 20422141, + "WorldLevel": 4, + "StageID": 204221414 + }, + { + "EventID": 20422141, + "WorldLevel": 5, + "StageID": 204221415 + }, + { + "EventID": 20422141, + "WorldLevel": 6, + "StageID": 204221416 + }, + { + "EventID": 20422142, + "WorldLevel": 0, + "StageID": 204221420 + }, + { + "EventID": 20422142, + "WorldLevel": 1, + "StageID": 204221421 + }, + { + "EventID": 20422142, + "WorldLevel": 2, + "StageID": 204221422 + }, + { + "EventID": 20422142, + "WorldLevel": 3, + "StageID": 204221423 + }, + { + "EventID": 20422142, + "WorldLevel": 4, + "StageID": 204221424 + }, + { + "EventID": 20422142, + "WorldLevel": 5, + "StageID": 204221425 + }, + { + "EventID": 20422142, + "WorldLevel": 6, + "StageID": 204221426 + }, + { + "EventID": 20422143, + "WorldLevel": 0, + "StageID": 204221430 + }, + { + "EventID": 20422143, + "WorldLevel": 1, + "StageID": 204221431 + }, + { + "EventID": 20422143, + "WorldLevel": 2, + "StageID": 204221432 + }, + { + "EventID": 20422143, + "WorldLevel": 3, + "StageID": 204221433 + }, + { + "EventID": 20422143, + "WorldLevel": 4, + "StageID": 204221434 + }, + { + "EventID": 20422143, + "WorldLevel": 5, + "StageID": 204221435 + }, + { + "EventID": 20422143, + "WorldLevel": 6, + "StageID": 204221436 + }, + { + "EventID": 20422144, + "WorldLevel": 0, + "StageID": 204221440 + }, + { + "EventID": 20422144, + "WorldLevel": 1, + "StageID": 204221441 + }, + { + "EventID": 20422144, + "WorldLevel": 2, + "StageID": 204221442 + }, + { + "EventID": 20422144, + "WorldLevel": 3, + "StageID": 204221443 + }, + { + "EventID": 20422144, + "WorldLevel": 4, + "StageID": 204221444 + }, + { + "EventID": 20422144, + "WorldLevel": 5, + "StageID": 204221445 + }, + { + "EventID": 20422144, + "WorldLevel": 6, + "StageID": 204221446 + }, + { + "EventID": 20422146, + "WorldLevel": 0, + "StageID": 204221460 + }, + { + "EventID": 20422146, + "WorldLevel": 1, + "StageID": 204221461 + }, + { + "EventID": 20422146, + "WorldLevel": 2, + "StageID": 204221462 + }, + { + "EventID": 20422146, + "WorldLevel": 3, + "StageID": 204221463 + }, + { + "EventID": 20422146, + "WorldLevel": 4, + "StageID": 204221464 + }, + { + "EventID": 20422146, + "WorldLevel": 5, + "StageID": 204221465 + }, + { + "EventID": 20422146, + "WorldLevel": 6, + "StageID": 204221466 + }, + { + "EventID": 20422147, + "WorldLevel": 0, + "StageID": 204221470 + }, + { + "EventID": 20422147, + "WorldLevel": 1, + "StageID": 204221471 + }, + { + "EventID": 20422147, + "WorldLevel": 2, + "StageID": 204221472 + }, + { + "EventID": 20422147, + "WorldLevel": 3, + "StageID": 204221473 + }, + { + "EventID": 20422147, + "WorldLevel": 4, + "StageID": 204221474 + }, + { + "EventID": 20422147, + "WorldLevel": 5, + "StageID": 204221475 + }, + { + "EventID": 20422147, + "WorldLevel": 6, + "StageID": 204221476 + }, + { + "EventID": 20422148, + "WorldLevel": 0, + "StageID": 204221480 + }, + { + "EventID": 20422148, + "WorldLevel": 1, + "StageID": 204221481 + }, + { + "EventID": 20422148, + "WorldLevel": 2, + "StageID": 204221482 + }, + { + "EventID": 20422148, + "WorldLevel": 3, + "StageID": 204221483 + }, + { + "EventID": 20422148, + "WorldLevel": 4, + "StageID": 204221484 + }, + { + "EventID": 20422148, + "WorldLevel": 5, + "StageID": 204221485 + }, + { + "EventID": 20422148, + "WorldLevel": 6, + "StageID": 204221486 + }, + { + "EventID": 20422149, + "WorldLevel": 0, + "StageID": 204221490 + }, + { + "EventID": 20422149, + "WorldLevel": 1, + "StageID": 204221491 + }, + { + "EventID": 20422149, + "WorldLevel": 2, + "StageID": 204221492 + }, + { + "EventID": 20422149, + "WorldLevel": 3, + "StageID": 204221493 + }, + { + "EventID": 20422149, + "WorldLevel": 4, + "StageID": 204221494 + }, + { + "EventID": 20422149, + "WorldLevel": 5, + "StageID": 204221495 + }, + { + "EventID": 20422149, + "WorldLevel": 6, + "StageID": 204221496 + }, + { + "EventID": 20422231, + "WorldLevel": 0, + "StageID": 204222310 + }, + { + "EventID": 20422231, + "WorldLevel": 1, + "StageID": 204222311 + }, + { + "EventID": 20422231, + "WorldLevel": 2, + "StageID": 204222312 + }, + { + "EventID": 20422231, + "WorldLevel": 3, + "StageID": 204222313 + }, + { + "EventID": 20422231, + "WorldLevel": 4, + "StageID": 204222314 + }, + { + "EventID": 20422231, + "WorldLevel": 5, + "StageID": 204222315 + }, + { + "EventID": 20422231, + "WorldLevel": 6, + "StageID": 204222316 + }, + { + "EventID": 20423001, + "WorldLevel": 0, + "StageID": 204230010 + }, + { + "EventID": 20423001, + "WorldLevel": 1, + "StageID": 204230011 + }, + { + "EventID": 20423001, + "WorldLevel": 2, + "StageID": 204230012 + }, + { + "EventID": 20423001, + "WorldLevel": 3, + "StageID": 204230013 + }, + { + "EventID": 20423001, + "WorldLevel": 4, + "StageID": 204230014 + }, + { + "EventID": 20423001, + "WorldLevel": 5, + "StageID": 204230015 + }, + { + "EventID": 20423001, + "WorldLevel": 6, + "StageID": 204230016 + }, + { + "EventID": 20423002, + "WorldLevel": 0, + "StageID": 204230020 + }, + { + "EventID": 20423002, + "WorldLevel": 1, + "StageID": 204230021 + }, + { + "EventID": 20423002, + "WorldLevel": 2, + "StageID": 204230022 + }, + { + "EventID": 20423002, + "WorldLevel": 3, + "StageID": 204230023 + }, + { + "EventID": 20423002, + "WorldLevel": 4, + "StageID": 204230024 + }, + { + "EventID": 20423002, + "WorldLevel": 5, + "StageID": 204230025 + }, + { + "EventID": 20423002, + "WorldLevel": 6, + "StageID": 204230026 + }, + { + "EventID": 20423003, + "WorldLevel": 0, + "StageID": 204230030 + }, + { + "EventID": 20423003, + "WorldLevel": 1, + "StageID": 204230031 + }, + { + "EventID": 20423003, + "WorldLevel": 2, + "StageID": 204230032 + }, + { + "EventID": 20423003, + "WorldLevel": 3, + "StageID": 204230033 + }, + { + "EventID": 20423003, + "WorldLevel": 4, + "StageID": 204230034 + }, + { + "EventID": 20423003, + "WorldLevel": 5, + "StageID": 204230035 + }, + { + "EventID": 20423003, + "WorldLevel": 6, + "StageID": 204230036 + }, + { + "EventID": 20423004, + "WorldLevel": 0, + "StageID": 204230040 + }, + { + "EventID": 20423004, + "WorldLevel": 1, + "StageID": 204230041 + }, + { + "EventID": 20423004, + "WorldLevel": 2, + "StageID": 204230042 + }, + { + "EventID": 20423004, + "WorldLevel": 3, + "StageID": 204230043 + }, + { + "EventID": 20423004, + "WorldLevel": 4, + "StageID": 204230044 + }, + { + "EventID": 20423004, + "WorldLevel": 5, + "StageID": 204230045 + }, + { + "EventID": 20423004, + "WorldLevel": 6, + "StageID": 204230046 + }, + { + "EventID": 20423005, + "WorldLevel": 0, + "StageID": 204230050 + }, + { + "EventID": 20423005, + "WorldLevel": 1, + "StageID": 204230051 + }, + { + "EventID": 20423005, + "WorldLevel": 2, + "StageID": 204230052 + }, + { + "EventID": 20423005, + "WorldLevel": 3, + "StageID": 204230053 + }, + { + "EventID": 20423005, + "WorldLevel": 4, + "StageID": 204230054 + }, + { + "EventID": 20423005, + "WorldLevel": 5, + "StageID": 204230055 + }, + { + "EventID": 20423005, + "WorldLevel": 6, + "StageID": 204230056 + }, + { + "EventID": 20423011, + "WorldLevel": 0, + "StageID": 204230110 + }, + { + "EventID": 20423011, + "WorldLevel": 1, + "StageID": 204230111 + }, + { + "EventID": 20423011, + "WorldLevel": 2, + "StageID": 204230112 + }, + { + "EventID": 20423011, + "WorldLevel": 3, + "StageID": 204230113 + }, + { + "EventID": 20423011, + "WorldLevel": 4, + "StageID": 204230114 + }, + { + "EventID": 20423011, + "WorldLevel": 5, + "StageID": 204230115 + }, + { + "EventID": 20423011, + "WorldLevel": 6, + "StageID": 204230116 + }, + { + "EventID": 20423012, + "WorldLevel": 0, + "StageID": 204230120 + }, + { + "EventID": 20423012, + "WorldLevel": 1, + "StageID": 204230121 + }, + { + "EventID": 20423012, + "WorldLevel": 2, + "StageID": 204230122 + }, + { + "EventID": 20423012, + "WorldLevel": 3, + "StageID": 204230123 + }, + { + "EventID": 20423012, + "WorldLevel": 4, + "StageID": 204230124 + }, + { + "EventID": 20423012, + "WorldLevel": 5, + "StageID": 204230125 + }, + { + "EventID": 20423012, + "WorldLevel": 6, + "StageID": 204230126 + }, + { + "EventID": 20423013, + "WorldLevel": 0, + "StageID": 204230130 + }, + { + "EventID": 20423013, + "WorldLevel": 1, + "StageID": 204230131 + }, + { + "EventID": 20423013, + "WorldLevel": 2, + "StageID": 204230132 + }, + { + "EventID": 20423013, + "WorldLevel": 3, + "StageID": 204230133 + }, + { + "EventID": 20423013, + "WorldLevel": 4, + "StageID": 204230134 + }, + { + "EventID": 20423013, + "WorldLevel": 5, + "StageID": 204230135 + }, + { + "EventID": 20423013, + "WorldLevel": 6, + "StageID": 204230136 + }, + { + "EventID": 20423014, + "WorldLevel": 0, + "StageID": 204230140 + }, + { + "EventID": 20423014, + "WorldLevel": 1, + "StageID": 204230141 + }, + { + "EventID": 20423014, + "WorldLevel": 2, + "StageID": 204230142 + }, + { + "EventID": 20423014, + "WorldLevel": 3, + "StageID": 204230143 + }, + { + "EventID": 20423014, + "WorldLevel": 4, + "StageID": 204230144 + }, + { + "EventID": 20423014, + "WorldLevel": 5, + "StageID": 204230145 + }, + { + "EventID": 20423014, + "WorldLevel": 6, + "StageID": 204230146 + }, + { + "EventID": 20423015, + "WorldLevel": 0, + "StageID": 204230150 + }, + { + "EventID": 20423015, + "WorldLevel": 1, + "StageID": 204230151 + }, + { + "EventID": 20423015, + "WorldLevel": 2, + "StageID": 204230152 + }, + { + "EventID": 20423015, + "WorldLevel": 3, + "StageID": 204230153 + }, + { + "EventID": 20423015, + "WorldLevel": 4, + "StageID": 204230154 + }, + { + "EventID": 20423015, + "WorldLevel": 5, + "StageID": 204230155 + }, + { + "EventID": 20423015, + "WorldLevel": 6, + "StageID": 204230156 + }, + { + "EventID": 20423016, + "WorldLevel": 0, + "StageID": 204230160 + }, + { + "EventID": 20423016, + "WorldLevel": 1, + "StageID": 204230161 + }, + { + "EventID": 20423016, + "WorldLevel": 2, + "StageID": 204230162 + }, + { + "EventID": 20423016, + "WorldLevel": 3, + "StageID": 204230163 + }, + { + "EventID": 20423016, + "WorldLevel": 4, + "StageID": 204230164 + }, + { + "EventID": 20423016, + "WorldLevel": 5, + "StageID": 204230165 + }, + { + "EventID": 20423016, + "WorldLevel": 6, + "StageID": 204230166 + }, + { + "EventID": 20423017, + "WorldLevel": 0, + "StageID": 204230170 + }, + { + "EventID": 20423017, + "WorldLevel": 1, + "StageID": 204230171 + }, + { + "EventID": 20423017, + "WorldLevel": 2, + "StageID": 204230172 + }, + { + "EventID": 20423017, + "WorldLevel": 3, + "StageID": 204230173 + }, + { + "EventID": 20423017, + "WorldLevel": 4, + "StageID": 204230174 + }, + { + "EventID": 20423017, + "WorldLevel": 5, + "StageID": 204230175 + }, + { + "EventID": 20423017, + "WorldLevel": 6, + "StageID": 204230176 + }, + { + "EventID": 20423018, + "WorldLevel": 0, + "StageID": 204230180 + }, + { + "EventID": 20423018, + "WorldLevel": 1, + "StageID": 204230181 + }, + { + "EventID": 20423018, + "WorldLevel": 2, + "StageID": 204230182 + }, + { + "EventID": 20423018, + "WorldLevel": 3, + "StageID": 204230183 + }, + { + "EventID": 20423018, + "WorldLevel": 4, + "StageID": 204230184 + }, + { + "EventID": 20423018, + "WorldLevel": 5, + "StageID": 204230185 + }, + { + "EventID": 20423018, + "WorldLevel": 6, + "StageID": 204230186 + }, + { + "EventID": 20423019, + "WorldLevel": 0, + "StageID": 204230190 + }, + { + "EventID": 20423019, + "WorldLevel": 1, + "StageID": 204230191 + }, + { + "EventID": 20423019, + "WorldLevel": 2, + "StageID": 204230192 + }, + { + "EventID": 20423019, + "WorldLevel": 3, + "StageID": 204230193 + }, + { + "EventID": 20423019, + "WorldLevel": 4, + "StageID": 204230194 + }, + { + "EventID": 20423019, + "WorldLevel": 5, + "StageID": 204230195 + }, + { + "EventID": 20423019, + "WorldLevel": 6, + "StageID": 204230196 + }, + { + "EventID": 20423020, + "WorldLevel": 0, + "StageID": 204230200 + }, + { + "EventID": 20423020, + "WorldLevel": 1, + "StageID": 204230201 + }, + { + "EventID": 20423020, + "WorldLevel": 2, + "StageID": 204230202 + }, + { + "EventID": 20423020, + "WorldLevel": 3, + "StageID": 204230203 + }, + { + "EventID": 20423020, + "WorldLevel": 4, + "StageID": 204230204 + }, + { + "EventID": 20423020, + "WorldLevel": 5, + "StageID": 204230205 + }, + { + "EventID": 20423020, + "WorldLevel": 6, + "StageID": 204230206 + }, + { + "EventID": 20423021, + "WorldLevel": 0, + "StageID": 204230210 + }, + { + "EventID": 20423021, + "WorldLevel": 1, + "StageID": 204230211 + }, + { + "EventID": 20423021, + "WorldLevel": 2, + "StageID": 204230212 + }, + { + "EventID": 20423021, + "WorldLevel": 3, + "StageID": 204230213 + }, + { + "EventID": 20423021, + "WorldLevel": 4, + "StageID": 204230214 + }, + { + "EventID": 20423021, + "WorldLevel": 5, + "StageID": 204230215 + }, + { + "EventID": 20423021, + "WorldLevel": 6, + "StageID": 204230216 + }, + { + "EventID": 20423024, + "WorldLevel": 0, + "StageID": 204230240 + }, + { + "EventID": 20423024, + "WorldLevel": 1, + "StageID": 204230241 + }, + { + "EventID": 20423024, + "WorldLevel": 2, + "StageID": 204230242 + }, + { + "EventID": 20423024, + "WorldLevel": 3, + "StageID": 204230243 + }, + { + "EventID": 20423024, + "WorldLevel": 4, + "StageID": 204230244 + }, + { + "EventID": 20423024, + "WorldLevel": 5, + "StageID": 204230245 + }, + { + "EventID": 20423024, + "WorldLevel": 6, + "StageID": 204230246 + }, + { + "EventID": 20423025, + "WorldLevel": 0, + "StageID": 204230250 + }, + { + "EventID": 20423025, + "WorldLevel": 1, + "StageID": 204230251 + }, + { + "EventID": 20423025, + "WorldLevel": 2, + "StageID": 204230252 + }, + { + "EventID": 20423025, + "WorldLevel": 3, + "StageID": 204230253 + }, + { + "EventID": 20423025, + "WorldLevel": 4, + "StageID": 204230254 + }, + { + "EventID": 20423025, + "WorldLevel": 5, + "StageID": 204230255 + }, + { + "EventID": 20423025, + "WorldLevel": 6, + "StageID": 204230256 + }, + { + "EventID": 20423026, + "WorldLevel": 0, + "StageID": 204230260 + }, + { + "EventID": 20423026, + "WorldLevel": 1, + "StageID": 204230261 + }, + { + "EventID": 20423026, + "WorldLevel": 2, + "StageID": 204230262 + }, + { + "EventID": 20423026, + "WorldLevel": 3, + "StageID": 204230263 + }, + { + "EventID": 20423026, + "WorldLevel": 4, + "StageID": 204230264 + }, + { + "EventID": 20423026, + "WorldLevel": 5, + "StageID": 204230265 + }, + { + "EventID": 20423026, + "WorldLevel": 6, + "StageID": 204230266 + }, + { + "EventID": 20423027, + "WorldLevel": 0, + "StageID": 204230270 + }, + { + "EventID": 20423027, + "WorldLevel": 1, + "StageID": 204230271 + }, + { + "EventID": 20423027, + "WorldLevel": 2, + "StageID": 204230272 + }, + { + "EventID": 20423027, + "WorldLevel": 3, + "StageID": 204230273 + }, + { + "EventID": 20423027, + "WorldLevel": 4, + "StageID": 204230274 + }, + { + "EventID": 20423027, + "WorldLevel": 5, + "StageID": 204230275 + }, + { + "EventID": 20423027, + "WorldLevel": 6, + "StageID": 204230276 + }, + { + "EventID": 20423029, + "WorldLevel": 0, + "StageID": 204230290 + }, + { + "EventID": 20423029, + "WorldLevel": 1, + "StageID": 204230291 + }, + { + "EventID": 20423029, + "WorldLevel": 2, + "StageID": 204230292 + }, + { + "EventID": 20423029, + "WorldLevel": 3, + "StageID": 204230293 + }, + { + "EventID": 20423029, + "WorldLevel": 4, + "StageID": 204230294 + }, + { + "EventID": 20423029, + "WorldLevel": 5, + "StageID": 204230295 + }, + { + "EventID": 20423029, + "WorldLevel": 6, + "StageID": 204230296 + }, + { + "EventID": 20423032, + "WorldLevel": 0, + "StageID": 204230320 + }, + { + "EventID": 20423032, + "WorldLevel": 1, + "StageID": 204230321 + }, + { + "EventID": 20423032, + "WorldLevel": 2, + "StageID": 204230322 + }, + { + "EventID": 20423032, + "WorldLevel": 3, + "StageID": 204230323 + }, + { + "EventID": 20423032, + "WorldLevel": 4, + "StageID": 204230324 + }, + { + "EventID": 20423032, + "WorldLevel": 5, + "StageID": 204230325 + }, + { + "EventID": 20423032, + "WorldLevel": 6, + "StageID": 204230326 + }, + { + "EventID": 20423033, + "WorldLevel": 0, + "StageID": 204230330 + }, + { + "EventID": 20423033, + "WorldLevel": 1, + "StageID": 204230331 + }, + { + "EventID": 20423033, + "WorldLevel": 2, + "StageID": 204230332 + }, + { + "EventID": 20423033, + "WorldLevel": 3, + "StageID": 204230333 + }, + { + "EventID": 20423033, + "WorldLevel": 4, + "StageID": 204230334 + }, + { + "EventID": 20423033, + "WorldLevel": 5, + "StageID": 204230335 + }, + { + "EventID": 20423033, + "WorldLevel": 6, + "StageID": 204230336 + }, + { + "EventID": 20423034, + "WorldLevel": 0, + "StageID": 204230340 + }, + { + "EventID": 20423034, + "WorldLevel": 1, + "StageID": 204230341 + }, + { + "EventID": 20423034, + "WorldLevel": 2, + "StageID": 204230342 + }, + { + "EventID": 20423034, + "WorldLevel": 3, + "StageID": 204230343 + }, + { + "EventID": 20423034, + "WorldLevel": 4, + "StageID": 204230344 + }, + { + "EventID": 20423034, + "WorldLevel": 5, + "StageID": 204230345 + }, + { + "EventID": 20423034, + "WorldLevel": 6, + "StageID": 204230346 + }, + { + "EventID": 20423035, + "WorldLevel": 0, + "StageID": 204230350 + }, + { + "EventID": 20423035, + "WorldLevel": 1, + "StageID": 204230351 + }, + { + "EventID": 20423035, + "WorldLevel": 2, + "StageID": 204230352 + }, + { + "EventID": 20423035, + "WorldLevel": 3, + "StageID": 204230353 + }, + { + "EventID": 20423035, + "WorldLevel": 4, + "StageID": 204230354 + }, + { + "EventID": 20423035, + "WorldLevel": 5, + "StageID": 204230355 + }, + { + "EventID": 20423035, + "WorldLevel": 6, + "StageID": 204230356 + }, + { + "EventID": 20423036, + "WorldLevel": 0, + "StageID": 204230360 + }, + { + "EventID": 20423036, + "WorldLevel": 1, + "StageID": 204230361 + }, + { + "EventID": 20423036, + "WorldLevel": 2, + "StageID": 204230362 + }, + { + "EventID": 20423036, + "WorldLevel": 3, + "StageID": 204230363 + }, + { + "EventID": 20423036, + "WorldLevel": 4, + "StageID": 204230364 + }, + { + "EventID": 20423036, + "WorldLevel": 5, + "StageID": 204230365 + }, + { + "EventID": 20423036, + "WorldLevel": 6, + "StageID": 204230366 + }, + { + "EventID": 20423037, + "WorldLevel": 0, + "StageID": 204230370 + }, + { + "EventID": 20423037, + "WorldLevel": 1, + "StageID": 204230371 + }, + { + "EventID": 20423037, + "WorldLevel": 2, + "StageID": 204230372 + }, + { + "EventID": 20423037, + "WorldLevel": 3, + "StageID": 204230373 + }, + { + "EventID": 20423037, + "WorldLevel": 4, + "StageID": 204230374 + }, + { + "EventID": 20423037, + "WorldLevel": 5, + "StageID": 204230375 + }, + { + "EventID": 20423037, + "WorldLevel": 6, + "StageID": 204230376 + }, + { + "EventID": 20423038, + "WorldLevel": 0, + "StageID": 204230380 + }, + { + "EventID": 20423038, + "WorldLevel": 1, + "StageID": 204230381 + }, + { + "EventID": 20423038, + "WorldLevel": 2, + "StageID": 204230382 + }, + { + "EventID": 20423038, + "WorldLevel": 3, + "StageID": 204230383 + }, + { + "EventID": 20423038, + "WorldLevel": 4, + "StageID": 204230384 + }, + { + "EventID": 20423038, + "WorldLevel": 5, + "StageID": 204230385 + }, + { + "EventID": 20423038, + "WorldLevel": 6, + "StageID": 204230386 + }, + { + "EventID": 20423039, + "WorldLevel": 0, + "StageID": 204230390 + }, + { + "EventID": 20423039, + "WorldLevel": 1, + "StageID": 204230391 + }, + { + "EventID": 20423039, + "WorldLevel": 2, + "StageID": 204230392 + }, + { + "EventID": 20423039, + "WorldLevel": 3, + "StageID": 204230393 + }, + { + "EventID": 20423039, + "WorldLevel": 4, + "StageID": 204230394 + }, + { + "EventID": 20423039, + "WorldLevel": 5, + "StageID": 204230395 + }, + { + "EventID": 20423039, + "WorldLevel": 6, + "StageID": 204230396 + }, + { + "EventID": 20423091, + "WorldLevel": 0, + "StageID": 204230910 + }, + { + "EventID": 20423091, + "WorldLevel": 1, + "StageID": 204230911 + }, + { + "EventID": 20423091, + "WorldLevel": 2, + "StageID": 204230912 + }, + { + "EventID": 20423091, + "WorldLevel": 3, + "StageID": 204230913 + }, + { + "EventID": 20423091, + "WorldLevel": 4, + "StageID": 204230914 + }, + { + "EventID": 20423091, + "WorldLevel": 5, + "StageID": 204230915 + }, + { + "EventID": 20423091, + "WorldLevel": 6, + "StageID": 204230916 + }, + { + "EventID": 20423092, + "WorldLevel": 0, + "StageID": 204230920 + }, + { + "EventID": 20423092, + "WorldLevel": 1, + "StageID": 204230921 + }, + { + "EventID": 20423092, + "WorldLevel": 2, + "StageID": 204230922 + }, + { + "EventID": 20423092, + "WorldLevel": 3, + "StageID": 204230923 + }, + { + "EventID": 20423092, + "WorldLevel": 4, + "StageID": 204230924 + }, + { + "EventID": 20423092, + "WorldLevel": 5, + "StageID": 204230925 + }, + { + "EventID": 20423092, + "WorldLevel": 6, + "StageID": 204230926 + }, + { + "EventID": 20423101, + "WorldLevel": 0, + "StageID": 204231010 + }, + { + "EventID": 20423101, + "WorldLevel": 1, + "StageID": 204231011 + }, + { + "EventID": 20423101, + "WorldLevel": 2, + "StageID": 204231012 + }, + { + "EventID": 20423101, + "WorldLevel": 3, + "StageID": 204231013 + }, + { + "EventID": 20423101, + "WorldLevel": 4, + "StageID": 204231014 + }, + { + "EventID": 20423101, + "WorldLevel": 5, + "StageID": 204231015 + }, + { + "EventID": 20423101, + "WorldLevel": 6, + "StageID": 204231016 + }, + { + "EventID": 20423102, + "WorldLevel": 0, + "StageID": 204231020 + }, + { + "EventID": 20423102, + "WorldLevel": 1, + "StageID": 204231021 + }, + { + "EventID": 20423102, + "WorldLevel": 2, + "StageID": 204231022 + }, + { + "EventID": 20423102, + "WorldLevel": 3, + "StageID": 204231023 + }, + { + "EventID": 20423102, + "WorldLevel": 4, + "StageID": 204231024 + }, + { + "EventID": 20423102, + "WorldLevel": 5, + "StageID": 204231025 + }, + { + "EventID": 20423102, + "WorldLevel": 6, + "StageID": 204231026 + }, + { + "EventID": 20423103, + "WorldLevel": 0, + "StageID": 204231030 + }, + { + "EventID": 20423103, + "WorldLevel": 1, + "StageID": 204231031 + }, + { + "EventID": 20423103, + "WorldLevel": 2, + "StageID": 204231032 + }, + { + "EventID": 20423103, + "WorldLevel": 3, + "StageID": 204231033 + }, + { + "EventID": 20423103, + "WorldLevel": 4, + "StageID": 204231034 + }, + { + "EventID": 20423103, + "WorldLevel": 5, + "StageID": 204231035 + }, + { + "EventID": 20423103, + "WorldLevel": 6, + "StageID": 204231036 + }, + { + "EventID": 20423104, + "WorldLevel": 0, + "StageID": 204231040 + }, + { + "EventID": 20423104, + "WorldLevel": 1, + "StageID": 204231041 + }, + { + "EventID": 20423104, + "WorldLevel": 2, + "StageID": 204231042 + }, + { + "EventID": 20423104, + "WorldLevel": 3, + "StageID": 204231043 + }, + { + "EventID": 20423104, + "WorldLevel": 4, + "StageID": 204231044 + }, + { + "EventID": 20423104, + "WorldLevel": 5, + "StageID": 204231045 + }, + { + "EventID": 20423104, + "WorldLevel": 6, + "StageID": 204231046 + }, + { + "EventID": 20423105, + "WorldLevel": 0, + "StageID": 204231050 + }, + { + "EventID": 20423105, + "WorldLevel": 1, + "StageID": 204231051 + }, + { + "EventID": 20423105, + "WorldLevel": 2, + "StageID": 204231052 + }, + { + "EventID": 20423105, + "WorldLevel": 3, + "StageID": 204231053 + }, + { + "EventID": 20423105, + "WorldLevel": 4, + "StageID": 204231054 + }, + { + "EventID": 20423105, + "WorldLevel": 5, + "StageID": 204231055 + }, + { + "EventID": 20423105, + "WorldLevel": 6, + "StageID": 204231056 + }, + { + "EventID": 20423106, + "WorldLevel": 0, + "StageID": 204231060 + }, + { + "EventID": 20423106, + "WorldLevel": 1, + "StageID": 204231061 + }, + { + "EventID": 20423106, + "WorldLevel": 2, + "StageID": 204231062 + }, + { + "EventID": 20423106, + "WorldLevel": 3, + "StageID": 204231063 + }, + { + "EventID": 20423106, + "WorldLevel": 4, + "StageID": 204231064 + }, + { + "EventID": 20423106, + "WorldLevel": 5, + "StageID": 204231065 + }, + { + "EventID": 20423106, + "WorldLevel": 6, + "StageID": 204231066 + }, + { + "EventID": 20423107, + "WorldLevel": 0, + "StageID": 204231070 + }, + { + "EventID": 20423107, + "WorldLevel": 1, + "StageID": 204231071 + }, + { + "EventID": 20423107, + "WorldLevel": 2, + "StageID": 204231072 + }, + { + "EventID": 20423107, + "WorldLevel": 3, + "StageID": 204231073 + }, + { + "EventID": 20423107, + "WorldLevel": 4, + "StageID": 204231074 + }, + { + "EventID": 20423107, + "WorldLevel": 5, + "StageID": 204231075 + }, + { + "EventID": 20423107, + "WorldLevel": 6, + "StageID": 204231076 + }, + { + "EventID": 20423111, + "WorldLevel": 0, + "StageID": 204231110 + }, + { + "EventID": 20423111, + "WorldLevel": 1, + "StageID": 204231111 + }, + { + "EventID": 20423111, + "WorldLevel": 2, + "StageID": 204231112 + }, + { + "EventID": 20423111, + "WorldLevel": 3, + "StageID": 204231113 + }, + { + "EventID": 20423111, + "WorldLevel": 4, + "StageID": 204231114 + }, + { + "EventID": 20423111, + "WorldLevel": 5, + "StageID": 204231115 + }, + { + "EventID": 20423111, + "WorldLevel": 6, + "StageID": 204231116 + }, + { + "EventID": 20423112, + "WorldLevel": 0, + "StageID": 204231120 + }, + { + "EventID": 20423112, + "WorldLevel": 1, + "StageID": 204231121 + }, + { + "EventID": 20423112, + "WorldLevel": 2, + "StageID": 204231122 + }, + { + "EventID": 20423112, + "WorldLevel": 3, + "StageID": 204231123 + }, + { + "EventID": 20423112, + "WorldLevel": 4, + "StageID": 204231124 + }, + { + "EventID": 20423112, + "WorldLevel": 5, + "StageID": 204231125 + }, + { + "EventID": 20423112, + "WorldLevel": 6, + "StageID": 204231126 + }, + { + "EventID": 20423113, + "WorldLevel": 0, + "StageID": 204231130 + }, + { + "EventID": 20423113, + "WorldLevel": 1, + "StageID": 204231131 + }, + { + "EventID": 20423113, + "WorldLevel": 2, + "StageID": 204231132 + }, + { + "EventID": 20423113, + "WorldLevel": 3, + "StageID": 204231133 + }, + { + "EventID": 20423113, + "WorldLevel": 4, + "StageID": 204231134 + }, + { + "EventID": 20423113, + "WorldLevel": 5, + "StageID": 204231135 + }, + { + "EventID": 20423113, + "WorldLevel": 6, + "StageID": 204231136 + }, + { + "EventID": 20423114, + "WorldLevel": 0, + "StageID": 204231140 + }, + { + "EventID": 20423114, + "WorldLevel": 1, + "StageID": 204231141 + }, + { + "EventID": 20423114, + "WorldLevel": 2, + "StageID": 204231142 + }, + { + "EventID": 20423114, + "WorldLevel": 3, + "StageID": 204231143 + }, + { + "EventID": 20423114, + "WorldLevel": 4, + "StageID": 204231144 + }, + { + "EventID": 20423114, + "WorldLevel": 5, + "StageID": 204231145 + }, + { + "EventID": 20423114, + "WorldLevel": 6, + "StageID": 204231146 + }, + { + "EventID": 20423115, + "WorldLevel": 0, + "StageID": 204231150 + }, + { + "EventID": 20423115, + "WorldLevel": 1, + "StageID": 204231151 + }, + { + "EventID": 20423115, + "WorldLevel": 2, + "StageID": 204231152 + }, + { + "EventID": 20423115, + "WorldLevel": 3, + "StageID": 204231153 + }, + { + "EventID": 20423115, + "WorldLevel": 4, + "StageID": 204231154 + }, + { + "EventID": 20423115, + "WorldLevel": 5, + "StageID": 204231155 + }, + { + "EventID": 20423115, + "WorldLevel": 6, + "StageID": 204231156 + }, + { + "EventID": 20423116, + "WorldLevel": 0, + "StageID": 204231160 + }, + { + "EventID": 20423116, + "WorldLevel": 1, + "StageID": 204231161 + }, + { + "EventID": 20423116, + "WorldLevel": 2, + "StageID": 204231162 + }, + { + "EventID": 20423116, + "WorldLevel": 3, + "StageID": 204231163 + }, + { + "EventID": 20423116, + "WorldLevel": 4, + "StageID": 204231164 + }, + { + "EventID": 20423116, + "WorldLevel": 5, + "StageID": 204231165 + }, + { + "EventID": 20423116, + "WorldLevel": 6, + "StageID": 204231166 + }, + { + "EventID": 20423117, + "WorldLevel": 0, + "StageID": 204231170 + }, + { + "EventID": 20423117, + "WorldLevel": 1, + "StageID": 204231171 + }, + { + "EventID": 20423117, + "WorldLevel": 2, + "StageID": 204231172 + }, + { + "EventID": 20423117, + "WorldLevel": 3, + "StageID": 204231173 + }, + { + "EventID": 20423117, + "WorldLevel": 4, + "StageID": 204231174 + }, + { + "EventID": 20423117, + "WorldLevel": 5, + "StageID": 204231175 + }, + { + "EventID": 20423117, + "WorldLevel": 6, + "StageID": 204231176 + }, + { + "EventID": 20423118, + "WorldLevel": 0, + "StageID": 204231180 + }, + { + "EventID": 20423118, + "WorldLevel": 1, + "StageID": 204231181 + }, + { + "EventID": 20423118, + "WorldLevel": 2, + "StageID": 204231182 + }, + { + "EventID": 20423118, + "WorldLevel": 3, + "StageID": 204231183 + }, + { + "EventID": 20423118, + "WorldLevel": 4, + "StageID": 204231184 + }, + { + "EventID": 20423118, + "WorldLevel": 5, + "StageID": 204231185 + }, + { + "EventID": 20423118, + "WorldLevel": 6, + "StageID": 204231186 + }, + { + "EventID": 20423119, + "WorldLevel": 0, + "StageID": 204231190 + }, + { + "EventID": 20423119, + "WorldLevel": 1, + "StageID": 204231191 + }, + { + "EventID": 20423119, + "WorldLevel": 2, + "StageID": 204231192 + }, + { + "EventID": 20423119, + "WorldLevel": 3, + "StageID": 204231193 + }, + { + "EventID": 20423119, + "WorldLevel": 4, + "StageID": 204231194 + }, + { + "EventID": 20423119, + "WorldLevel": 5, + "StageID": 204231195 + }, + { + "EventID": 20423119, + "WorldLevel": 6, + "StageID": 204231196 + }, + { + "EventID": 20423120, + "WorldLevel": 0, + "StageID": 204231200 + }, + { + "EventID": 20423120, + "WorldLevel": 1, + "StageID": 204231201 + }, + { + "EventID": 20423120, + "WorldLevel": 2, + "StageID": 204231202 + }, + { + "EventID": 20423120, + "WorldLevel": 3, + "StageID": 204231203 + }, + { + "EventID": 20423120, + "WorldLevel": 4, + "StageID": 204231204 + }, + { + "EventID": 20423120, + "WorldLevel": 5, + "StageID": 204231205 + }, + { + "EventID": 20423120, + "WorldLevel": 6, + "StageID": 204231206 + }, + { + "EventID": 20423121, + "WorldLevel": 0, + "StageID": 204231210 + }, + { + "EventID": 20423121, + "WorldLevel": 1, + "StageID": 204231211 + }, + { + "EventID": 20423121, + "WorldLevel": 2, + "StageID": 204231212 + }, + { + "EventID": 20423121, + "WorldLevel": 3, + "StageID": 204231213 + }, + { + "EventID": 20423121, + "WorldLevel": 4, + "StageID": 204231214 + }, + { + "EventID": 20423121, + "WorldLevel": 5, + "StageID": 204231215 + }, + { + "EventID": 20423121, + "WorldLevel": 6, + "StageID": 204231216 + }, + { + "EventID": 20423124, + "WorldLevel": 0, + "StageID": 204231240 + }, + { + "EventID": 20423124, + "WorldLevel": 1, + "StageID": 204231241 + }, + { + "EventID": 20423124, + "WorldLevel": 2, + "StageID": 204231242 + }, + { + "EventID": 20423124, + "WorldLevel": 3, + "StageID": 204231243 + }, + { + "EventID": 20423124, + "WorldLevel": 4, + "StageID": 204231244 + }, + { + "EventID": 20423124, + "WorldLevel": 5, + "StageID": 204231245 + }, + { + "EventID": 20423124, + "WorldLevel": 6, + "StageID": 204231246 + }, + { + "EventID": 20423125, + "WorldLevel": 0, + "StageID": 204231250 + }, + { + "EventID": 20423125, + "WorldLevel": 1, + "StageID": 204231251 + }, + { + "EventID": 20423125, + "WorldLevel": 2, + "StageID": 204231252 + }, + { + "EventID": 20423125, + "WorldLevel": 3, + "StageID": 204231253 + }, + { + "EventID": 20423125, + "WorldLevel": 4, + "StageID": 204231254 + }, + { + "EventID": 20423125, + "WorldLevel": 5, + "StageID": 204231255 + }, + { + "EventID": 20423125, + "WorldLevel": 6, + "StageID": 204231256 + }, + { + "EventID": 20423126, + "WorldLevel": 0, + "StageID": 204231260 + }, + { + "EventID": 20423126, + "WorldLevel": 1, + "StageID": 204231261 + }, + { + "EventID": 20423126, + "WorldLevel": 2, + "StageID": 204231262 + }, + { + "EventID": 20423126, + "WorldLevel": 3, + "StageID": 204231263 + }, + { + "EventID": 20423126, + "WorldLevel": 4, + "StageID": 204231264 + }, + { + "EventID": 20423126, + "WorldLevel": 5, + "StageID": 204231265 + }, + { + "EventID": 20423126, + "WorldLevel": 6, + "StageID": 204231266 + }, + { + "EventID": 20423127, + "WorldLevel": 0, + "StageID": 204231270 + }, + { + "EventID": 20423127, + "WorldLevel": 1, + "StageID": 204231271 + }, + { + "EventID": 20423127, + "WorldLevel": 2, + "StageID": 204231272 + }, + { + "EventID": 20423127, + "WorldLevel": 3, + "StageID": 204231273 + }, + { + "EventID": 20423127, + "WorldLevel": 4, + "StageID": 204231274 + }, + { + "EventID": 20423127, + "WorldLevel": 5, + "StageID": 204231275 + }, + { + "EventID": 20423127, + "WorldLevel": 6, + "StageID": 204231276 + }, + { + "EventID": 20423128, + "WorldLevel": 0, + "StageID": 204231280 + }, + { + "EventID": 20423128, + "WorldLevel": 1, + "StageID": 204231281 + }, + { + "EventID": 20423128, + "WorldLevel": 2, + "StageID": 204231282 + }, + { + "EventID": 20423128, + "WorldLevel": 3, + "StageID": 204231283 + }, + { + "EventID": 20423128, + "WorldLevel": 4, + "StageID": 204231284 + }, + { + "EventID": 20423128, + "WorldLevel": 5, + "StageID": 204231285 + }, + { + "EventID": 20423128, + "WorldLevel": 6, + "StageID": 204231286 + }, + { + "EventID": 20423129, + "WorldLevel": 0, + "StageID": 204231290 + }, + { + "EventID": 20423129, + "WorldLevel": 1, + "StageID": 204231291 + }, + { + "EventID": 20423129, + "WorldLevel": 2, + "StageID": 204231292 + }, + { + "EventID": 20423129, + "WorldLevel": 3, + "StageID": 204231293 + }, + { + "EventID": 20423129, + "WorldLevel": 4, + "StageID": 204231294 + }, + { + "EventID": 20423129, + "WorldLevel": 5, + "StageID": 204231295 + }, + { + "EventID": 20423129, + "WorldLevel": 6, + "StageID": 204231296 + }, + { + "EventID": 20423132, + "WorldLevel": 0, + "StageID": 204231320 + }, + { + "EventID": 20423132, + "WorldLevel": 1, + "StageID": 204231321 + }, + { + "EventID": 20423132, + "WorldLevel": 2, + "StageID": 204231322 + }, + { + "EventID": 20423132, + "WorldLevel": 3, + "StageID": 204231323 + }, + { + "EventID": 20423132, + "WorldLevel": 4, + "StageID": 204231324 + }, + { + "EventID": 20423132, + "WorldLevel": 5, + "StageID": 204231325 + }, + { + "EventID": 20423132, + "WorldLevel": 6, + "StageID": 204231326 + }, + { + "EventID": 20423133, + "WorldLevel": 0, + "StageID": 204231330 + }, + { + "EventID": 20423133, + "WorldLevel": 1, + "StageID": 204231331 + }, + { + "EventID": 20423133, + "WorldLevel": 2, + "StageID": 204231332 + }, + { + "EventID": 20423133, + "WorldLevel": 3, + "StageID": 204231333 + }, + { + "EventID": 20423133, + "WorldLevel": 4, + "StageID": 204231334 + }, + { + "EventID": 20423133, + "WorldLevel": 5, + "StageID": 204231335 + }, + { + "EventID": 20423133, + "WorldLevel": 6, + "StageID": 204231336 + }, + { + "EventID": 20423134, + "WorldLevel": 0, + "StageID": 204231340 + }, + { + "EventID": 20423134, + "WorldLevel": 1, + "StageID": 204231341 + }, + { + "EventID": 20423134, + "WorldLevel": 2, + "StageID": 204231342 + }, + { + "EventID": 20423134, + "WorldLevel": 3, + "StageID": 204231343 + }, + { + "EventID": 20423134, + "WorldLevel": 4, + "StageID": 204231344 + }, + { + "EventID": 20423134, + "WorldLevel": 5, + "StageID": 204231345 + }, + { + "EventID": 20423134, + "WorldLevel": 6, + "StageID": 204231346 + }, + { + "EventID": 20423135, + "WorldLevel": 0, + "StageID": 204231350 + }, + { + "EventID": 20423135, + "WorldLevel": 1, + "StageID": 204231351 + }, + { + "EventID": 20423135, + "WorldLevel": 2, + "StageID": 204231352 + }, + { + "EventID": 20423135, + "WorldLevel": 3, + "StageID": 204231353 + }, + { + "EventID": 20423135, + "WorldLevel": 4, + "StageID": 204231354 + }, + { + "EventID": 20423135, + "WorldLevel": 5, + "StageID": 204231355 + }, + { + "EventID": 20423135, + "WorldLevel": 6, + "StageID": 204231356 + }, + { + "EventID": 20423136, + "WorldLevel": 0, + "StageID": 204231360 + }, + { + "EventID": 20423136, + "WorldLevel": 1, + "StageID": 204231361 + }, + { + "EventID": 20423136, + "WorldLevel": 2, + "StageID": 204231362 + }, + { + "EventID": 20423136, + "WorldLevel": 3, + "StageID": 204231363 + }, + { + "EventID": 20423136, + "WorldLevel": 4, + "StageID": 204231364 + }, + { + "EventID": 20423136, + "WorldLevel": 5, + "StageID": 204231365 + }, + { + "EventID": 20423136, + "WorldLevel": 6, + "StageID": 204231366 + }, + { + "EventID": 20423137, + "WorldLevel": 0, + "StageID": 204231370 + }, + { + "EventID": 20423137, + "WorldLevel": 1, + "StageID": 204231371 + }, + { + "EventID": 20423137, + "WorldLevel": 2, + "StageID": 204231372 + }, + { + "EventID": 20423137, + "WorldLevel": 3, + "StageID": 204231373 + }, + { + "EventID": 20423137, + "WorldLevel": 4, + "StageID": 204231374 + }, + { + "EventID": 20423137, + "WorldLevel": 5, + "StageID": 204231375 + }, + { + "EventID": 20423137, + "WorldLevel": 6, + "StageID": 204231376 + }, + { + "EventID": 20423138, + "WorldLevel": 0, + "StageID": 204231380 + }, + { + "EventID": 20423138, + "WorldLevel": 1, + "StageID": 204231381 + }, + { + "EventID": 20423138, + "WorldLevel": 2, + "StageID": 204231382 + }, + { + "EventID": 20423138, + "WorldLevel": 3, + "StageID": 204231383 + }, + { + "EventID": 20423138, + "WorldLevel": 4, + "StageID": 204231384 + }, + { + "EventID": 20423138, + "WorldLevel": 5, + "StageID": 204231385 + }, + { + "EventID": 20423138, + "WorldLevel": 6, + "StageID": 204231386 + }, + { + "EventID": 20423139, + "WorldLevel": 0, + "StageID": 204231390 + }, + { + "EventID": 20423139, + "WorldLevel": 1, + "StageID": 204231391 + }, + { + "EventID": 20423139, + "WorldLevel": 2, + "StageID": 204231392 + }, + { + "EventID": 20423139, + "WorldLevel": 3, + "StageID": 204231393 + }, + { + "EventID": 20423139, + "WorldLevel": 4, + "StageID": 204231394 + }, + { + "EventID": 20423139, + "WorldLevel": 5, + "StageID": 204231395 + }, + { + "EventID": 20423139, + "WorldLevel": 6, + "StageID": 204231396 + }, + { + "EventID": 20423231, + "WorldLevel": 0, + "StageID": 204232310 + }, + { + "EventID": 20423231, + "WorldLevel": 1, + "StageID": 204232311 + }, + { + "EventID": 20423231, + "WorldLevel": 2, + "StageID": 204232312 + }, + { + "EventID": 20423231, + "WorldLevel": 3, + "StageID": 204232313 + }, + { + "EventID": 20423231, + "WorldLevel": 4, + "StageID": 204232314 + }, + { + "EventID": 20423231, + "WorldLevel": 5, + "StageID": 204232315 + }, + { + "EventID": 20423231, + "WorldLevel": 6, + "StageID": 204232316 + }, + { + "EventID": 20431001, + "WorldLevel": 0, + "StageID": 204310010 + }, + { + "EventID": 20431001, + "WorldLevel": 1, + "StageID": 204310011 + }, + { + "EventID": 20431001, + "WorldLevel": 2, + "StageID": 204310012 + }, + { + "EventID": 20431001, + "WorldLevel": 3, + "StageID": 204310013 + }, + { + "EventID": 20431001, + "WorldLevel": 4, + "StageID": 204310014 + }, + { + "EventID": 20431001, + "WorldLevel": 5, + "StageID": 204310015 + }, + { + "EventID": 20431001, + "WorldLevel": 6, + "StageID": 204310016 + }, + { + "EventID": 20431002, + "WorldLevel": 0, + "StageID": 204310020 + }, + { + "EventID": 20431002, + "WorldLevel": 1, + "StageID": 204310021 + }, + { + "EventID": 20431002, + "WorldLevel": 2, + "StageID": 204310022 + }, + { + "EventID": 20431002, + "WorldLevel": 3, + "StageID": 204310023 + }, + { + "EventID": 20431002, + "WorldLevel": 4, + "StageID": 204310024 + }, + { + "EventID": 20431002, + "WorldLevel": 5, + "StageID": 204310025 + }, + { + "EventID": 20431002, + "WorldLevel": 6, + "StageID": 204310026 + }, + { + "EventID": 20431003, + "WorldLevel": 0, + "StageID": 204310030 + }, + { + "EventID": 20431003, + "WorldLevel": 1, + "StageID": 204310031 + }, + { + "EventID": 20431003, + "WorldLevel": 2, + "StageID": 204310032 + }, + { + "EventID": 20431003, + "WorldLevel": 3, + "StageID": 204310033 + }, + { + "EventID": 20431003, + "WorldLevel": 4, + "StageID": 204310034 + }, + { + "EventID": 20431003, + "WorldLevel": 5, + "StageID": 204310035 + }, + { + "EventID": 20431003, + "WorldLevel": 6, + "StageID": 204310036 + }, + { + "EventID": 20431004, + "WorldLevel": 0, + "StageID": 204310040 + }, + { + "EventID": 20431004, + "WorldLevel": 1, + "StageID": 204310041 + }, + { + "EventID": 20431004, + "WorldLevel": 2, + "StageID": 204310042 + }, + { + "EventID": 20431004, + "WorldLevel": 3, + "StageID": 204310043 + }, + { + "EventID": 20431004, + "WorldLevel": 4, + "StageID": 204310044 + }, + { + "EventID": 20431004, + "WorldLevel": 5, + "StageID": 204310045 + }, + { + "EventID": 20431004, + "WorldLevel": 6, + "StageID": 204310046 + }, + { + "EventID": 20431005, + "WorldLevel": 0, + "StageID": 204310050 + }, + { + "EventID": 20431005, + "WorldLevel": 1, + "StageID": 204310051 + }, + { + "EventID": 20431005, + "WorldLevel": 2, + "StageID": 204310052 + }, + { + "EventID": 20431005, + "WorldLevel": 3, + "StageID": 204310053 + }, + { + "EventID": 20431005, + "WorldLevel": 4, + "StageID": 204310054 + }, + { + "EventID": 20431005, + "WorldLevel": 5, + "StageID": 204310055 + }, + { + "EventID": 20431005, + "WorldLevel": 6, + "StageID": 204310056 + }, + { + "EventID": 20431006, + "WorldLevel": 0, + "StageID": 204310060 + }, + { + "EventID": 20431006, + "WorldLevel": 1, + "StageID": 204310061 + }, + { + "EventID": 20431006, + "WorldLevel": 2, + "StageID": 204310062 + }, + { + "EventID": 20431006, + "WorldLevel": 3, + "StageID": 204310063 + }, + { + "EventID": 20431006, + "WorldLevel": 4, + "StageID": 204310064 + }, + { + "EventID": 20431006, + "WorldLevel": 5, + "StageID": 204310065 + }, + { + "EventID": 20431006, + "WorldLevel": 6, + "StageID": 204310066 + }, + { + "EventID": 20431007, + "WorldLevel": 0, + "StageID": 204310070 + }, + { + "EventID": 20431007, + "WorldLevel": 1, + "StageID": 204310071 + }, + { + "EventID": 20431007, + "WorldLevel": 2, + "StageID": 204310072 + }, + { + "EventID": 20431007, + "WorldLevel": 3, + "StageID": 204310073 + }, + { + "EventID": 20431007, + "WorldLevel": 4, + "StageID": 204310074 + }, + { + "EventID": 20431007, + "WorldLevel": 5, + "StageID": 204310075 + }, + { + "EventID": 20431007, + "WorldLevel": 6, + "StageID": 204310076 + }, + { + "EventID": 20431008, + "WorldLevel": 0, + "StageID": 204310080 + }, + { + "EventID": 20431008, + "WorldLevel": 1, + "StageID": 204310081 + }, + { + "EventID": 20431008, + "WorldLevel": 2, + "StageID": 204310082 + }, + { + "EventID": 20431008, + "WorldLevel": 3, + "StageID": 204310083 + }, + { + "EventID": 20431008, + "WorldLevel": 4, + "StageID": 204310084 + }, + { + "EventID": 20431008, + "WorldLevel": 5, + "StageID": 204310085 + }, + { + "EventID": 20431008, + "WorldLevel": 6, + "StageID": 204310086 + }, + { + "EventID": 20431009, + "WorldLevel": 0, + "StageID": 204310090 + }, + { + "EventID": 20431009, + "WorldLevel": 1, + "StageID": 204310091 + }, + { + "EventID": 20431009, + "WorldLevel": 2, + "StageID": 204310092 + }, + { + "EventID": 20431009, + "WorldLevel": 3, + "StageID": 204310093 + }, + { + "EventID": 20431009, + "WorldLevel": 4, + "StageID": 204310094 + }, + { + "EventID": 20431009, + "WorldLevel": 5, + "StageID": 204310095 + }, + { + "EventID": 20431009, + "WorldLevel": 6, + "StageID": 204310096 + }, + { + "EventID": 20431011, + "WorldLevel": 0, + "StageID": 204310110 + }, + { + "EventID": 20431011, + "WorldLevel": 1, + "StageID": 204310111 + }, + { + "EventID": 20431011, + "WorldLevel": 2, + "StageID": 204310112 + }, + { + "EventID": 20431011, + "WorldLevel": 3, + "StageID": 204310113 + }, + { + "EventID": 20431011, + "WorldLevel": 4, + "StageID": 204310114 + }, + { + "EventID": 20431011, + "WorldLevel": 5, + "StageID": 204310115 + }, + { + "EventID": 20431011, + "WorldLevel": 6, + "StageID": 204310116 + }, + { + "EventID": 20431012, + "WorldLevel": 0, + "StageID": 204310120 + }, + { + "EventID": 20431012, + "WorldLevel": 1, + "StageID": 204310121 + }, + { + "EventID": 20431012, + "WorldLevel": 2, + "StageID": 204310122 + }, + { + "EventID": 20431012, + "WorldLevel": 3, + "StageID": 204310123 + }, + { + "EventID": 20431012, + "WorldLevel": 4, + "StageID": 204310124 + }, + { + "EventID": 20431012, + "WorldLevel": 5, + "StageID": 204310125 + }, + { + "EventID": 20431012, + "WorldLevel": 6, + "StageID": 204310126 + }, + { + "EventID": 20431013, + "WorldLevel": 0, + "StageID": 204310130 + }, + { + "EventID": 20431013, + "WorldLevel": 1, + "StageID": 204310131 + }, + { + "EventID": 20431013, + "WorldLevel": 2, + "StageID": 204310132 + }, + { + "EventID": 20431013, + "WorldLevel": 3, + "StageID": 204310133 + }, + { + "EventID": 20431013, + "WorldLevel": 4, + "StageID": 204310134 + }, + { + "EventID": 20431013, + "WorldLevel": 5, + "StageID": 204310135 + }, + { + "EventID": 20431013, + "WorldLevel": 6, + "StageID": 204310136 + }, + { + "EventID": 20431014, + "WorldLevel": 0, + "StageID": 204310140 + }, + { + "EventID": 20431014, + "WorldLevel": 1, + "StageID": 204310141 + }, + { + "EventID": 20431014, + "WorldLevel": 2, + "StageID": 204310142 + }, + { + "EventID": 20431014, + "WorldLevel": 3, + "StageID": 204310143 + }, + { + "EventID": 20431014, + "WorldLevel": 4, + "StageID": 204310144 + }, + { + "EventID": 20431014, + "WorldLevel": 5, + "StageID": 204310145 + }, + { + "EventID": 20431014, + "WorldLevel": 6, + "StageID": 204310146 + }, + { + "EventID": 20431015, + "WorldLevel": 0, + "StageID": 204310150 + }, + { + "EventID": 20431015, + "WorldLevel": 1, + "StageID": 204310151 + }, + { + "EventID": 20431015, + "WorldLevel": 2, + "StageID": 204310152 + }, + { + "EventID": 20431015, + "WorldLevel": 3, + "StageID": 204310153 + }, + { + "EventID": 20431015, + "WorldLevel": 4, + "StageID": 204310154 + }, + { + "EventID": 20431015, + "WorldLevel": 5, + "StageID": 204310155 + }, + { + "EventID": 20431015, + "WorldLevel": 6, + "StageID": 204310156 + }, + { + "EventID": 20431016, + "WorldLevel": 0, + "StageID": 204310160 + }, + { + "EventID": 20431016, + "WorldLevel": 1, + "StageID": 204310161 + }, + { + "EventID": 20431016, + "WorldLevel": 2, + "StageID": 204310162 + }, + { + "EventID": 20431016, + "WorldLevel": 3, + "StageID": 204310163 + }, + { + "EventID": 20431016, + "WorldLevel": 4, + "StageID": 204310164 + }, + { + "EventID": 20431016, + "WorldLevel": 5, + "StageID": 204310165 + }, + { + "EventID": 20431016, + "WorldLevel": 6, + "StageID": 204310166 + }, + { + "EventID": 20431017, + "WorldLevel": 0, + "StageID": 204310170 + }, + { + "EventID": 20431017, + "WorldLevel": 1, + "StageID": 204310171 + }, + { + "EventID": 20431017, + "WorldLevel": 2, + "StageID": 204310172 + }, + { + "EventID": 20431017, + "WorldLevel": 3, + "StageID": 204310173 + }, + { + "EventID": 20431017, + "WorldLevel": 4, + "StageID": 204310174 + }, + { + "EventID": 20431017, + "WorldLevel": 5, + "StageID": 204310175 + }, + { + "EventID": 20431017, + "WorldLevel": 6, + "StageID": 204310176 + }, + { + "EventID": 20431021, + "WorldLevel": 0, + "StageID": 204310210 + }, + { + "EventID": 20431021, + "WorldLevel": 1, + "StageID": 204310211 + }, + { + "EventID": 20431021, + "WorldLevel": 2, + "StageID": 204310212 + }, + { + "EventID": 20431021, + "WorldLevel": 3, + "StageID": 204310213 + }, + { + "EventID": 20431021, + "WorldLevel": 4, + "StageID": 204310214 + }, + { + "EventID": 20431021, + "WorldLevel": 5, + "StageID": 204310215 + }, + { + "EventID": 20431021, + "WorldLevel": 6, + "StageID": 204310216 + }, + { + "EventID": 20431022, + "WorldLevel": 0, + "StageID": 204310220 + }, + { + "EventID": 20431022, + "WorldLevel": 1, + "StageID": 204310221 + }, + { + "EventID": 20431022, + "WorldLevel": 2, + "StageID": 204310222 + }, + { + "EventID": 20431022, + "WorldLevel": 3, + "StageID": 204310223 + }, + { + "EventID": 20431022, + "WorldLevel": 4, + "StageID": 204310224 + }, + { + "EventID": 20431022, + "WorldLevel": 5, + "StageID": 204310225 + }, + { + "EventID": 20431022, + "WorldLevel": 6, + "StageID": 204310226 + }, + { + "EventID": 20431031, + "WorldLevel": 0, + "StageID": 204310310 + }, + { + "EventID": 20431031, + "WorldLevel": 1, + "StageID": 204310311 + }, + { + "EventID": 20431031, + "WorldLevel": 2, + "StageID": 204310312 + }, + { + "EventID": 20431031, + "WorldLevel": 3, + "StageID": 204310313 + }, + { + "EventID": 20431031, + "WorldLevel": 4, + "StageID": 204310314 + }, + { + "EventID": 20431031, + "WorldLevel": 5, + "StageID": 204310315 + }, + { + "EventID": 20431031, + "WorldLevel": 6, + "StageID": 204310316 + }, + { + "EventID": 20431032, + "WorldLevel": 0, + "StageID": 204310320 + }, + { + "EventID": 20431032, + "WorldLevel": 1, + "StageID": 204310321 + }, + { + "EventID": 20431032, + "WorldLevel": 2, + "StageID": 204310322 + }, + { + "EventID": 20431032, + "WorldLevel": 3, + "StageID": 204310323 + }, + { + "EventID": 20431032, + "WorldLevel": 4, + "StageID": 204310324 + }, + { + "EventID": 20431032, + "WorldLevel": 5, + "StageID": 204310325 + }, + { + "EventID": 20431032, + "WorldLevel": 6, + "StageID": 204310326 + }, + { + "EventID": 20431034, + "WorldLevel": 0, + "StageID": 204310340 + }, + { + "EventID": 20431034, + "WorldLevel": 1, + "StageID": 204310341 + }, + { + "EventID": 20431034, + "WorldLevel": 2, + "StageID": 204310342 + }, + { + "EventID": 20431034, + "WorldLevel": 3, + "StageID": 204310343 + }, + { + "EventID": 20431034, + "WorldLevel": 4, + "StageID": 204310344 + }, + { + "EventID": 20431034, + "WorldLevel": 5, + "StageID": 204310345 + }, + { + "EventID": 20431034, + "WorldLevel": 6, + "StageID": 204310346 + }, + { + "EventID": 20431036, + "WorldLevel": 0, + "StageID": 204310360 + }, + { + "EventID": 20431036, + "WorldLevel": 1, + "StageID": 204310361 + }, + { + "EventID": 20431036, + "WorldLevel": 2, + "StageID": 204310362 + }, + { + "EventID": 20431036, + "WorldLevel": 3, + "StageID": 204310363 + }, + { + "EventID": 20431036, + "WorldLevel": 4, + "StageID": 204310364 + }, + { + "EventID": 20431036, + "WorldLevel": 5, + "StageID": 204310365 + }, + { + "EventID": 20431036, + "WorldLevel": 6, + "StageID": 204310366 + }, + { + "EventID": 20431038, + "WorldLevel": 0, + "StageID": 204310380 + }, + { + "EventID": 20431038, + "WorldLevel": 1, + "StageID": 204310381 + }, + { + "EventID": 20431038, + "WorldLevel": 2, + "StageID": 204310382 + }, + { + "EventID": 20431038, + "WorldLevel": 3, + "StageID": 204310383 + }, + { + "EventID": 20431038, + "WorldLevel": 4, + "StageID": 204310384 + }, + { + "EventID": 20431038, + "WorldLevel": 5, + "StageID": 204310385 + }, + { + "EventID": 20431038, + "WorldLevel": 6, + "StageID": 204310386 + }, + { + "EventID": 20431101, + "WorldLevel": 0, + "StageID": 204311010 + }, + { + "EventID": 20431101, + "WorldLevel": 1, + "StageID": 204311011 + }, + { + "EventID": 20431101, + "WorldLevel": 2, + "StageID": 204311012 + }, + { + "EventID": 20431101, + "WorldLevel": 3, + "StageID": 204311013 + }, + { + "EventID": 20431101, + "WorldLevel": 4, + "StageID": 204311014 + }, + { + "EventID": 20431101, + "WorldLevel": 5, + "StageID": 204311015 + }, + { + "EventID": 20431101, + "WorldLevel": 6, + "StageID": 204311016 + }, + { + "EventID": 20431102, + "WorldLevel": 0, + "StageID": 204311020 + }, + { + "EventID": 20431102, + "WorldLevel": 1, + "StageID": 204311021 + }, + { + "EventID": 20431102, + "WorldLevel": 2, + "StageID": 204311022 + }, + { + "EventID": 20431102, + "WorldLevel": 3, + "StageID": 204311023 + }, + { + "EventID": 20431102, + "WorldLevel": 4, + "StageID": 204311024 + }, + { + "EventID": 20431102, + "WorldLevel": 5, + "StageID": 204311025 + }, + { + "EventID": 20431102, + "WorldLevel": 6, + "StageID": 204311026 + }, + { + "EventID": 20431103, + "WorldLevel": 0, + "StageID": 204311030 + }, + { + "EventID": 20431103, + "WorldLevel": 1, + "StageID": 204311031 + }, + { + "EventID": 20431103, + "WorldLevel": 2, + "StageID": 204311032 + }, + { + "EventID": 20431103, + "WorldLevel": 3, + "StageID": 204311033 + }, + { + "EventID": 20431103, + "WorldLevel": 4, + "StageID": 204311034 + }, + { + "EventID": 20431103, + "WorldLevel": 5, + "StageID": 204311035 + }, + { + "EventID": 20431103, + "WorldLevel": 6, + "StageID": 204311036 + }, + { + "EventID": 20431104, + "WorldLevel": 0, + "StageID": 204311040 + }, + { + "EventID": 20431104, + "WorldLevel": 1, + "StageID": 204311041 + }, + { + "EventID": 20431104, + "WorldLevel": 2, + "StageID": 204311042 + }, + { + "EventID": 20431104, + "WorldLevel": 3, + "StageID": 204311043 + }, + { + "EventID": 20431104, + "WorldLevel": 4, + "StageID": 204311044 + }, + { + "EventID": 20431104, + "WorldLevel": 5, + "StageID": 204311045 + }, + { + "EventID": 20431104, + "WorldLevel": 6, + "StageID": 204311046 + }, + { + "EventID": 20431105, + "WorldLevel": 0, + "StageID": 204311050 + }, + { + "EventID": 20431105, + "WorldLevel": 1, + "StageID": 204311051 + }, + { + "EventID": 20431105, + "WorldLevel": 2, + "StageID": 204311052 + }, + { + "EventID": 20431105, + "WorldLevel": 3, + "StageID": 204311053 + }, + { + "EventID": 20431105, + "WorldLevel": 4, + "StageID": 204311054 + }, + { + "EventID": 20431105, + "WorldLevel": 5, + "StageID": 204311055 + }, + { + "EventID": 20431105, + "WorldLevel": 6, + "StageID": 204311056 + }, + { + "EventID": 20431106, + "WorldLevel": 0, + "StageID": 204311060 + }, + { + "EventID": 20431106, + "WorldLevel": 1, + "StageID": 204311061 + }, + { + "EventID": 20431106, + "WorldLevel": 2, + "StageID": 204311062 + }, + { + "EventID": 20431106, + "WorldLevel": 3, + "StageID": 204311063 + }, + { + "EventID": 20431106, + "WorldLevel": 4, + "StageID": 204311064 + }, + { + "EventID": 20431106, + "WorldLevel": 5, + "StageID": 204311065 + }, + { + "EventID": 20431106, + "WorldLevel": 6, + "StageID": 204311066 + }, + { + "EventID": 20431107, + "WorldLevel": 0, + "StageID": 204311070 + }, + { + "EventID": 20431107, + "WorldLevel": 1, + "StageID": 204311071 + }, + { + "EventID": 20431107, + "WorldLevel": 2, + "StageID": 204311072 + }, + { + "EventID": 20431107, + "WorldLevel": 3, + "StageID": 204311073 + }, + { + "EventID": 20431107, + "WorldLevel": 4, + "StageID": 204311074 + }, + { + "EventID": 20431107, + "WorldLevel": 5, + "StageID": 204311075 + }, + { + "EventID": 20431107, + "WorldLevel": 6, + "StageID": 204311076 + }, + { + "EventID": 20431108, + "WorldLevel": 0, + "StageID": 204311080 + }, + { + "EventID": 20431108, + "WorldLevel": 1, + "StageID": 204311081 + }, + { + "EventID": 20431108, + "WorldLevel": 2, + "StageID": 204311082 + }, + { + "EventID": 20431108, + "WorldLevel": 3, + "StageID": 204311083 + }, + { + "EventID": 20431108, + "WorldLevel": 4, + "StageID": 204311084 + }, + { + "EventID": 20431108, + "WorldLevel": 5, + "StageID": 204311085 + }, + { + "EventID": 20431108, + "WorldLevel": 6, + "StageID": 204311086 + }, + { + "EventID": 20431109, + "WorldLevel": 0, + "StageID": 204311090 + }, + { + "EventID": 20431109, + "WorldLevel": 1, + "StageID": 204311091 + }, + { + "EventID": 20431109, + "WorldLevel": 2, + "StageID": 204311092 + }, + { + "EventID": 20431109, + "WorldLevel": 3, + "StageID": 204311093 + }, + { + "EventID": 20431109, + "WorldLevel": 4, + "StageID": 204311094 + }, + { + "EventID": 20431109, + "WorldLevel": 5, + "StageID": 204311095 + }, + { + "EventID": 20431109, + "WorldLevel": 6, + "StageID": 204311096 + }, + { + "EventID": 20431111, + "WorldLevel": 0, + "StageID": 204311110 + }, + { + "EventID": 20431111, + "WorldLevel": 1, + "StageID": 204311111 + }, + { + "EventID": 20431111, + "WorldLevel": 2, + "StageID": 204311112 + }, + { + "EventID": 20431111, + "WorldLevel": 3, + "StageID": 204311113 + }, + { + "EventID": 20431111, + "WorldLevel": 4, + "StageID": 204311114 + }, + { + "EventID": 20431111, + "WorldLevel": 5, + "StageID": 204311115 + }, + { + "EventID": 20431111, + "WorldLevel": 6, + "StageID": 204311116 + }, + { + "EventID": 20431112, + "WorldLevel": 0, + "StageID": 204311120 + }, + { + "EventID": 20431112, + "WorldLevel": 1, + "StageID": 204311121 + }, + { + "EventID": 20431112, + "WorldLevel": 2, + "StageID": 204311122 + }, + { + "EventID": 20431112, + "WorldLevel": 3, + "StageID": 204311123 + }, + { + "EventID": 20431112, + "WorldLevel": 4, + "StageID": 204311124 + }, + { + "EventID": 20431112, + "WorldLevel": 5, + "StageID": 204311125 + }, + { + "EventID": 20431112, + "WorldLevel": 6, + "StageID": 204311126 + }, + { + "EventID": 20431113, + "WorldLevel": 0, + "StageID": 204311130 + }, + { + "EventID": 20431113, + "WorldLevel": 1, + "StageID": 204311131 + }, + { + "EventID": 20431113, + "WorldLevel": 2, + "StageID": 204311132 + }, + { + "EventID": 20431113, + "WorldLevel": 3, + "StageID": 204311133 + }, + { + "EventID": 20431113, + "WorldLevel": 4, + "StageID": 204311134 + }, + { + "EventID": 20431113, + "WorldLevel": 5, + "StageID": 204311135 + }, + { + "EventID": 20431113, + "WorldLevel": 6, + "StageID": 204311136 + }, + { + "EventID": 20431114, + "WorldLevel": 0, + "StageID": 204311140 + }, + { + "EventID": 20431114, + "WorldLevel": 1, + "StageID": 204311141 + }, + { + "EventID": 20431114, + "WorldLevel": 2, + "StageID": 204311142 + }, + { + "EventID": 20431114, + "WorldLevel": 3, + "StageID": 204311143 + }, + { + "EventID": 20431114, + "WorldLevel": 4, + "StageID": 204311144 + }, + { + "EventID": 20431114, + "WorldLevel": 5, + "StageID": 204311145 + }, + { + "EventID": 20431114, + "WorldLevel": 6, + "StageID": 204311146 + }, + { + "EventID": 20431115, + "WorldLevel": 0, + "StageID": 204311150 + }, + { + "EventID": 20431115, + "WorldLevel": 1, + "StageID": 204311151 + }, + { + "EventID": 20431115, + "WorldLevel": 2, + "StageID": 204311152 + }, + { + "EventID": 20431115, + "WorldLevel": 3, + "StageID": 204311153 + }, + { + "EventID": 20431115, + "WorldLevel": 4, + "StageID": 204311154 + }, + { + "EventID": 20431115, + "WorldLevel": 5, + "StageID": 204311155 + }, + { + "EventID": 20431115, + "WorldLevel": 6, + "StageID": 204311156 + }, + { + "EventID": 20431116, + "WorldLevel": 0, + "StageID": 204311160 + }, + { + "EventID": 20431116, + "WorldLevel": 1, + "StageID": 204311161 + }, + { + "EventID": 20431116, + "WorldLevel": 2, + "StageID": 204311162 + }, + { + "EventID": 20431116, + "WorldLevel": 3, + "StageID": 204311163 + }, + { + "EventID": 20431116, + "WorldLevel": 4, + "StageID": 204311164 + }, + { + "EventID": 20431116, + "WorldLevel": 5, + "StageID": 204311165 + }, + { + "EventID": 20431116, + "WorldLevel": 6, + "StageID": 204311166 + }, + { + "EventID": 20431117, + "WorldLevel": 0, + "StageID": 204311170 + }, + { + "EventID": 20431117, + "WorldLevel": 1, + "StageID": 204311171 + }, + { + "EventID": 20431117, + "WorldLevel": 2, + "StageID": 204311172 + }, + { + "EventID": 20431117, + "WorldLevel": 3, + "StageID": 204311173 + }, + { + "EventID": 20431117, + "WorldLevel": 4, + "StageID": 204311174 + }, + { + "EventID": 20431117, + "WorldLevel": 5, + "StageID": 204311175 + }, + { + "EventID": 20431117, + "WorldLevel": 6, + "StageID": 204311176 + }, + { + "EventID": 20431121, + "WorldLevel": 0, + "StageID": 204311210 + }, + { + "EventID": 20431121, + "WorldLevel": 1, + "StageID": 204311211 + }, + { + "EventID": 20431121, + "WorldLevel": 2, + "StageID": 204311212 + }, + { + "EventID": 20431121, + "WorldLevel": 3, + "StageID": 204311213 + }, + { + "EventID": 20431121, + "WorldLevel": 4, + "StageID": 204311214 + }, + { + "EventID": 20431121, + "WorldLevel": 5, + "StageID": 204311215 + }, + { + "EventID": 20431121, + "WorldLevel": 6, + "StageID": 204311216 + }, + { + "EventID": 20431122, + "WorldLevel": 0, + "StageID": 204311220 + }, + { + "EventID": 20431122, + "WorldLevel": 1, + "StageID": 204311221 + }, + { + "EventID": 20431122, + "WorldLevel": 2, + "StageID": 204311222 + }, + { + "EventID": 20431122, + "WorldLevel": 3, + "StageID": 204311223 + }, + { + "EventID": 20431122, + "WorldLevel": 4, + "StageID": 204311224 + }, + { + "EventID": 20431122, + "WorldLevel": 5, + "StageID": 204311225 + }, + { + "EventID": 20431122, + "WorldLevel": 6, + "StageID": 204311226 + }, + { + "EventID": 20431131, + "WorldLevel": 0, + "StageID": 204311310 + }, + { + "EventID": 20431131, + "WorldLevel": 1, + "StageID": 204311311 + }, + { + "EventID": 20431131, + "WorldLevel": 2, + "StageID": 204311312 + }, + { + "EventID": 20431131, + "WorldLevel": 3, + "StageID": 204311313 + }, + { + "EventID": 20431131, + "WorldLevel": 4, + "StageID": 204311314 + }, + { + "EventID": 20431131, + "WorldLevel": 5, + "StageID": 204311315 + }, + { + "EventID": 20431131, + "WorldLevel": 6, + "StageID": 204311316 + }, + { + "EventID": 20431132, + "WorldLevel": 0, + "StageID": 204311320 + }, + { + "EventID": 20431132, + "WorldLevel": 1, + "StageID": 204311321 + }, + { + "EventID": 20431132, + "WorldLevel": 2, + "StageID": 204311322 + }, + { + "EventID": 20431132, + "WorldLevel": 3, + "StageID": 204311323 + }, + { + "EventID": 20431132, + "WorldLevel": 4, + "StageID": 204311324 + }, + { + "EventID": 20431132, + "WorldLevel": 5, + "StageID": 204311325 + }, + { + "EventID": 20431132, + "WorldLevel": 6, + "StageID": 204311326 + }, + { + "EventID": 20431134, + "WorldLevel": 0, + "StageID": 204311340 + }, + { + "EventID": 20431134, + "WorldLevel": 1, + "StageID": 204311341 + }, + { + "EventID": 20431134, + "WorldLevel": 2, + "StageID": 204311342 + }, + { + "EventID": 20431134, + "WorldLevel": 3, + "StageID": 204311343 + }, + { + "EventID": 20431134, + "WorldLevel": 4, + "StageID": 204311344 + }, + { + "EventID": 20431134, + "WorldLevel": 5, + "StageID": 204311345 + }, + { + "EventID": 20431134, + "WorldLevel": 6, + "StageID": 204311346 + }, + { + "EventID": 20431136, + "WorldLevel": 0, + "StageID": 204311360 + }, + { + "EventID": 20431136, + "WorldLevel": 1, + "StageID": 204311361 + }, + { + "EventID": 20431136, + "WorldLevel": 2, + "StageID": 204311362 + }, + { + "EventID": 20431136, + "WorldLevel": 3, + "StageID": 204311363 + }, + { + "EventID": 20431136, + "WorldLevel": 4, + "StageID": 204311364 + }, + { + "EventID": 20431136, + "WorldLevel": 5, + "StageID": 204311365 + }, + { + "EventID": 20431136, + "WorldLevel": 6, + "StageID": 204311366 + }, + { + "EventID": 20431138, + "WorldLevel": 0, + "StageID": 204311380 + }, + { + "EventID": 20431138, + "WorldLevel": 1, + "StageID": 204311381 + }, + { + "EventID": 20431138, + "WorldLevel": 2, + "StageID": 204311382 + }, + { + "EventID": 20431138, + "WorldLevel": 3, + "StageID": 204311383 + }, + { + "EventID": 20431138, + "WorldLevel": 4, + "StageID": 204311384 + }, + { + "EventID": 20431138, + "WorldLevel": 5, + "StageID": 204311385 + }, + { + "EventID": 20431138, + "WorldLevel": 6, + "StageID": 204311386 + }, + { + "EventID": 20432101, + "WorldLevel": 0, + "StageID": 204321010 + }, + { + "EventID": 20432101, + "WorldLevel": 1, + "StageID": 204321011 + }, + { + "EventID": 20432101, + "WorldLevel": 2, + "StageID": 204321012 + }, + { + "EventID": 20432101, + "WorldLevel": 3, + "StageID": 204321013 + }, + { + "EventID": 20432101, + "WorldLevel": 4, + "StageID": 204321014 + }, + { + "EventID": 20432101, + "WorldLevel": 5, + "StageID": 204321015 + }, + { + "EventID": 20432101, + "WorldLevel": 6, + "StageID": 204321016 + }, + { + "EventID": 20432102, + "WorldLevel": 0, + "StageID": 204321020 + }, + { + "EventID": 20432102, + "WorldLevel": 1, + "StageID": 204321021 + }, + { + "EventID": 20432102, + "WorldLevel": 2, + "StageID": 204321022 + }, + { + "EventID": 20432102, + "WorldLevel": 3, + "StageID": 204321023 + }, + { + "EventID": 20432102, + "WorldLevel": 4, + "StageID": 204321024 + }, + { + "EventID": 20432102, + "WorldLevel": 5, + "StageID": 204321025 + }, + { + "EventID": 20432102, + "WorldLevel": 6, + "StageID": 204321026 + }, + { + "EventID": 20432103, + "WorldLevel": 0, + "StageID": 204321030 + }, + { + "EventID": 20432103, + "WorldLevel": 1, + "StageID": 204321031 + }, + { + "EventID": 20432103, + "WorldLevel": 2, + "StageID": 204321032 + }, + { + "EventID": 20432103, + "WorldLevel": 3, + "StageID": 204321033 + }, + { + "EventID": 20432103, + "WorldLevel": 4, + "StageID": 204321034 + }, + { + "EventID": 20432103, + "WorldLevel": 5, + "StageID": 204321035 + }, + { + "EventID": 20432103, + "WorldLevel": 6, + "StageID": 204321036 + }, + { + "EventID": 20432104, + "WorldLevel": 0, + "StageID": 204321040 + }, + { + "EventID": 20432104, + "WorldLevel": 1, + "StageID": 204321041 + }, + { + "EventID": 20432104, + "WorldLevel": 2, + "StageID": 204321042 + }, + { + "EventID": 20432104, + "WorldLevel": 3, + "StageID": 204321043 + }, + { + "EventID": 20432104, + "WorldLevel": 4, + "StageID": 204321044 + }, + { + "EventID": 20432104, + "WorldLevel": 5, + "StageID": 204321045 + }, + { + "EventID": 20432104, + "WorldLevel": 6, + "StageID": 204321046 + }, + { + "EventID": 20432111, + "WorldLevel": 0, + "StageID": 204321110 + }, + { + "EventID": 20432111, + "WorldLevel": 1, + "StageID": 204321111 + }, + { + "EventID": 20432111, + "WorldLevel": 2, + "StageID": 204321112 + }, + { + "EventID": 20432111, + "WorldLevel": 3, + "StageID": 204321113 + }, + { + "EventID": 20432111, + "WorldLevel": 4, + "StageID": 204321114 + }, + { + "EventID": 20432111, + "WorldLevel": 5, + "StageID": 204321115 + }, + { + "EventID": 20432111, + "WorldLevel": 6, + "StageID": 204321116 + }, + { + "EventID": 20432112, + "WorldLevel": 0, + "StageID": 204321120 + }, + { + "EventID": 20432112, + "WorldLevel": 1, + "StageID": 204321121 + }, + { + "EventID": 20432112, + "WorldLevel": 2, + "StageID": 204321122 + }, + { + "EventID": 20432112, + "WorldLevel": 3, + "StageID": 204321123 + }, + { + "EventID": 20432112, + "WorldLevel": 4, + "StageID": 204321124 + }, + { + "EventID": 20432112, + "WorldLevel": 5, + "StageID": 204321125 + }, + { + "EventID": 20432112, + "WorldLevel": 6, + "StageID": 204321126 + }, + { + "EventID": 20432113, + "WorldLevel": 0, + "StageID": 204321130 + }, + { + "EventID": 20432113, + "WorldLevel": 1, + "StageID": 204321131 + }, + { + "EventID": 20432113, + "WorldLevel": 2, + "StageID": 204321132 + }, + { + "EventID": 20432113, + "WorldLevel": 3, + "StageID": 204321133 + }, + { + "EventID": 20432113, + "WorldLevel": 4, + "StageID": 204321134 + }, + { + "EventID": 20432113, + "WorldLevel": 5, + "StageID": 204321135 + }, + { + "EventID": 20432113, + "WorldLevel": 6, + "StageID": 204321136 + }, + { + "EventID": 20432114, + "WorldLevel": 0, + "StageID": 204321140 + }, + { + "EventID": 20432114, + "WorldLevel": 1, + "StageID": 204321141 + }, + { + "EventID": 20432114, + "WorldLevel": 2, + "StageID": 204321142 + }, + { + "EventID": 20432114, + "WorldLevel": 3, + "StageID": 204321143 + }, + { + "EventID": 20432114, + "WorldLevel": 4, + "StageID": 204321144 + }, + { + "EventID": 20432114, + "WorldLevel": 5, + "StageID": 204321145 + }, + { + "EventID": 20432114, + "WorldLevel": 6, + "StageID": 204321146 + }, + { + "EventID": 20432115, + "WorldLevel": 0, + "StageID": 204321150 + }, + { + "EventID": 20432115, + "WorldLevel": 1, + "StageID": 204321151 + }, + { + "EventID": 20432115, + "WorldLevel": 2, + "StageID": 204321152 + }, + { + "EventID": 20432115, + "WorldLevel": 3, + "StageID": 204321153 + }, + { + "EventID": 20432115, + "WorldLevel": 4, + "StageID": 204321154 + }, + { + "EventID": 20432115, + "WorldLevel": 5, + "StageID": 204321155 + }, + { + "EventID": 20432115, + "WorldLevel": 6, + "StageID": 204321156 + }, + { + "EventID": 20432116, + "WorldLevel": 0, + "StageID": 204321160 + }, + { + "EventID": 20432116, + "WorldLevel": 1, + "StageID": 204321161 + }, + { + "EventID": 20432116, + "WorldLevel": 2, + "StageID": 204321162 + }, + { + "EventID": 20432116, + "WorldLevel": 3, + "StageID": 204321163 + }, + { + "EventID": 20432116, + "WorldLevel": 4, + "StageID": 204321164 + }, + { + "EventID": 20432116, + "WorldLevel": 5, + "StageID": 204321165 + }, + { + "EventID": 20432116, + "WorldLevel": 6, + "StageID": 204321166 + }, + { + "EventID": 20432117, + "WorldLevel": 0, + "StageID": 204321170 + }, + { + "EventID": 20432117, + "WorldLevel": 1, + "StageID": 204321171 + }, + { + "EventID": 20432117, + "WorldLevel": 2, + "StageID": 204321172 + }, + { + "EventID": 20432117, + "WorldLevel": 3, + "StageID": 204321173 + }, + { + "EventID": 20432117, + "WorldLevel": 4, + "StageID": 204321174 + }, + { + "EventID": 20432117, + "WorldLevel": 5, + "StageID": 204321175 + }, + { + "EventID": 20432117, + "WorldLevel": 6, + "StageID": 204321176 + }, + { + "EventID": 20432118, + "WorldLevel": 0, + "StageID": 204321180 + }, + { + "EventID": 20432118, + "WorldLevel": 1, + "StageID": 204321181 + }, + { + "EventID": 20432118, + "WorldLevel": 2, + "StageID": 204321182 + }, + { + "EventID": 20432118, + "WorldLevel": 3, + "StageID": 204321183 + }, + { + "EventID": 20432118, + "WorldLevel": 4, + "StageID": 204321184 + }, + { + "EventID": 20432118, + "WorldLevel": 5, + "StageID": 204321185 + }, + { + "EventID": 20432118, + "WorldLevel": 6, + "StageID": 204321186 + }, + { + "EventID": 20432121, + "WorldLevel": 0, + "StageID": 204321210 + }, + { + "EventID": 20432121, + "WorldLevel": 1, + "StageID": 204321211 + }, + { + "EventID": 20432121, + "WorldLevel": 2, + "StageID": 204321212 + }, + { + "EventID": 20432121, + "WorldLevel": 3, + "StageID": 204321213 + }, + { + "EventID": 20432121, + "WorldLevel": 4, + "StageID": 204321214 + }, + { + "EventID": 20432121, + "WorldLevel": 5, + "StageID": 204321215 + }, + { + "EventID": 20432121, + "WorldLevel": 6, + "StageID": 204321216 + }, + { + "EventID": 20432122, + "WorldLevel": 0, + "StageID": 204321220 + }, + { + "EventID": 20432122, + "WorldLevel": 1, + "StageID": 204321221 + }, + { + "EventID": 20432122, + "WorldLevel": 2, + "StageID": 204321222 + }, + { + "EventID": 20432122, + "WorldLevel": 3, + "StageID": 204321223 + }, + { + "EventID": 20432122, + "WorldLevel": 4, + "StageID": 204321224 + }, + { + "EventID": 20432122, + "WorldLevel": 5, + "StageID": 204321225 + }, + { + "EventID": 20432122, + "WorldLevel": 6, + "StageID": 204321226 + }, + { + "EventID": 20432123, + "WorldLevel": 0, + "StageID": 204321230 + }, + { + "EventID": 20432123, + "WorldLevel": 1, + "StageID": 204321231 + }, + { + "EventID": 20432123, + "WorldLevel": 2, + "StageID": 204321232 + }, + { + "EventID": 20432123, + "WorldLevel": 3, + "StageID": 204321233 + }, + { + "EventID": 20432123, + "WorldLevel": 4, + "StageID": 204321234 + }, + { + "EventID": 20432123, + "WorldLevel": 5, + "StageID": 204321235 + }, + { + "EventID": 20432123, + "WorldLevel": 6, + "StageID": 204321236 + }, + { + "EventID": 20432124, + "WorldLevel": 0, + "StageID": 204321240 + }, + { + "EventID": 20432124, + "WorldLevel": 1, + "StageID": 204321241 + }, + { + "EventID": 20432124, + "WorldLevel": 2, + "StageID": 204321242 + }, + { + "EventID": 20432124, + "WorldLevel": 3, + "StageID": 204321243 + }, + { + "EventID": 20432124, + "WorldLevel": 4, + "StageID": 204321244 + }, + { + "EventID": 20432124, + "WorldLevel": 5, + "StageID": 204321245 + }, + { + "EventID": 20432124, + "WorldLevel": 6, + "StageID": 204321246 + }, + { + "EventID": 20432125, + "WorldLevel": 0, + "StageID": 204321250 + }, + { + "EventID": 20432125, + "WorldLevel": 1, + "StageID": 204321251 + }, + { + "EventID": 20432125, + "WorldLevel": 2, + "StageID": 204321252 + }, + { + "EventID": 20432125, + "WorldLevel": 3, + "StageID": 204321253 + }, + { + "EventID": 20432125, + "WorldLevel": 4, + "StageID": 204321254 + }, + { + "EventID": 20432125, + "WorldLevel": 5, + "StageID": 204321255 + }, + { + "EventID": 20432125, + "WorldLevel": 6, + "StageID": 204321256 + }, + { + "EventID": 20432131, + "WorldLevel": 0, + "StageID": 204321310 + }, + { + "EventID": 20432131, + "WorldLevel": 1, + "StageID": 204321311 + }, + { + "EventID": 20432131, + "WorldLevel": 2, + "StageID": 204321312 + }, + { + "EventID": 20432131, + "WorldLevel": 3, + "StageID": 204321313 + }, + { + "EventID": 20432131, + "WorldLevel": 4, + "StageID": 204321314 + }, + { + "EventID": 20432131, + "WorldLevel": 5, + "StageID": 204321315 + }, + { + "EventID": 20432131, + "WorldLevel": 6, + "StageID": 204321316 + }, + { + "EventID": 20432132, + "WorldLevel": 0, + "StageID": 204321320 + }, + { + "EventID": 20432132, + "WorldLevel": 1, + "StageID": 204321321 + }, + { + "EventID": 20432132, + "WorldLevel": 2, + "StageID": 204321322 + }, + { + "EventID": 20432132, + "WorldLevel": 3, + "StageID": 204321323 + }, + { + "EventID": 20432132, + "WorldLevel": 4, + "StageID": 204321324 + }, + { + "EventID": 20432132, + "WorldLevel": 5, + "StageID": 204321325 + }, + { + "EventID": 20432132, + "WorldLevel": 6, + "StageID": 204321326 + }, + { + "EventID": 20432133, + "WorldLevel": 0, + "StageID": 204321330 + }, + { + "EventID": 20432133, + "WorldLevel": 1, + "StageID": 204321331 + }, + { + "EventID": 20432133, + "WorldLevel": 2, + "StageID": 204321332 + }, + { + "EventID": 20432133, + "WorldLevel": 3, + "StageID": 204321333 + }, + { + "EventID": 20432133, + "WorldLevel": 4, + "StageID": 204321334 + }, + { + "EventID": 20432133, + "WorldLevel": 5, + "StageID": 204321335 + }, + { + "EventID": 20432133, + "WorldLevel": 6, + "StageID": 204321336 + }, + { + "EventID": 20432134, + "WorldLevel": 0, + "StageID": 204321340 + }, + { + "EventID": 20432134, + "WorldLevel": 1, + "StageID": 204321341 + }, + { + "EventID": 20432134, + "WorldLevel": 2, + "StageID": 204321342 + }, + { + "EventID": 20432134, + "WorldLevel": 3, + "StageID": 204321343 + }, + { + "EventID": 20432134, + "WorldLevel": 4, + "StageID": 204321344 + }, + { + "EventID": 20432134, + "WorldLevel": 5, + "StageID": 204321345 + }, + { + "EventID": 20432134, + "WorldLevel": 6, + "StageID": 204321346 + }, + { + "EventID": 20432135, + "WorldLevel": 0, + "StageID": 204321350 + }, + { + "EventID": 20432135, + "WorldLevel": 1, + "StageID": 204321351 + }, + { + "EventID": 20432135, + "WorldLevel": 2, + "StageID": 204321352 + }, + { + "EventID": 20432135, + "WorldLevel": 3, + "StageID": 204321353 + }, + { + "EventID": 20432135, + "WorldLevel": 4, + "StageID": 204321354 + }, + { + "EventID": 20432135, + "WorldLevel": 5, + "StageID": 204321355 + }, + { + "EventID": 20432135, + "WorldLevel": 6, + "StageID": 204321356 + }, + { + "EventID": 20432231, + "WorldLevel": 0, + "StageID": 204322310 + }, + { + "EventID": 20432231, + "WorldLevel": 1, + "StageID": 204322311 + }, + { + "EventID": 20432231, + "WorldLevel": 2, + "StageID": 204322312 + }, + { + "EventID": 20432231, + "WorldLevel": 3, + "StageID": 204322313 + }, + { + "EventID": 20432231, + "WorldLevel": 4, + "StageID": 204322314 + }, + { + "EventID": 20432231, + "WorldLevel": 5, + "StageID": 204322315 + }, + { + "EventID": 20432231, + "WorldLevel": 6, + "StageID": 204322316 + }, + { + "EventID": 20432232, + "WorldLevel": 0, + "StageID": 204322320 + }, + { + "EventID": 20432232, + "WorldLevel": 1, + "StageID": 204322321 + }, + { + "EventID": 20432232, + "WorldLevel": 2, + "StageID": 204322322 + }, + { + "EventID": 20432232, + "WorldLevel": 3, + "StageID": 204322323 + }, + { + "EventID": 20432232, + "WorldLevel": 4, + "StageID": 204322324 + }, + { + "EventID": 20432232, + "WorldLevel": 5, + "StageID": 204322325 + }, + { + "EventID": 20432232, + "WorldLevel": 6, + "StageID": 204322326 + }, + { + "EventID": 20433001, + "WorldLevel": 0, + "StageID": 204330010 + }, + { + "EventID": 20433001, + "WorldLevel": 1, + "StageID": 204330011 + }, + { + "EventID": 20433001, + "WorldLevel": 2, + "StageID": 204330012 + }, + { + "EventID": 20433001, + "WorldLevel": 3, + "StageID": 204330013 + }, + { + "EventID": 20433001, + "WorldLevel": 4, + "StageID": 204330014 + }, + { + "EventID": 20433001, + "WorldLevel": 5, + "StageID": 204330015 + }, + { + "EventID": 20433001, + "WorldLevel": 6, + "StageID": 204330016 + }, + { + "EventID": 20433002, + "WorldLevel": 0, + "StageID": 204330020 + }, + { + "EventID": 20433002, + "WorldLevel": 1, + "StageID": 204330021 + }, + { + "EventID": 20433002, + "WorldLevel": 2, + "StageID": 204330022 + }, + { + "EventID": 20433002, + "WorldLevel": 3, + "StageID": 204330023 + }, + { + "EventID": 20433002, + "WorldLevel": 4, + "StageID": 204330024 + }, + { + "EventID": 20433002, + "WorldLevel": 5, + "StageID": 204330025 + }, + { + "EventID": 20433002, + "WorldLevel": 6, + "StageID": 204330026 + }, + { + "EventID": 20433003, + "WorldLevel": 0, + "StageID": 204330030 + }, + { + "EventID": 20433003, + "WorldLevel": 1, + "StageID": 204330031 + }, + { + "EventID": 20433003, + "WorldLevel": 2, + "StageID": 204330032 + }, + { + "EventID": 20433003, + "WorldLevel": 3, + "StageID": 204330033 + }, + { + "EventID": 20433003, + "WorldLevel": 4, + "StageID": 204330034 + }, + { + "EventID": 20433003, + "WorldLevel": 5, + "StageID": 204330035 + }, + { + "EventID": 20433003, + "WorldLevel": 6, + "StageID": 204330036 + }, + { + "EventID": 20433004, + "WorldLevel": 0, + "StageID": 204330040 + }, + { + "EventID": 20433004, + "WorldLevel": 1, + "StageID": 204330041 + }, + { + "EventID": 20433004, + "WorldLevel": 2, + "StageID": 204330042 + }, + { + "EventID": 20433004, + "WorldLevel": 3, + "StageID": 204330043 + }, + { + "EventID": 20433004, + "WorldLevel": 4, + "StageID": 204330044 + }, + { + "EventID": 20433004, + "WorldLevel": 5, + "StageID": 204330045 + }, + { + "EventID": 20433004, + "WorldLevel": 6, + "StageID": 204330046 + }, + { + "EventID": 20433005, + "WorldLevel": 0, + "StageID": 204330050 + }, + { + "EventID": 20433005, + "WorldLevel": 1, + "StageID": 204330051 + }, + { + "EventID": 20433005, + "WorldLevel": 2, + "StageID": 204330052 + }, + { + "EventID": 20433005, + "WorldLevel": 3, + "StageID": 204330053 + }, + { + "EventID": 20433005, + "WorldLevel": 4, + "StageID": 204330054 + }, + { + "EventID": 20433005, + "WorldLevel": 5, + "StageID": 204330055 + }, + { + "EventID": 20433005, + "WorldLevel": 6, + "StageID": 204330056 + }, + { + "EventID": 20433006, + "WorldLevel": 0, + "StageID": 204330060 + }, + { + "EventID": 20433006, + "WorldLevel": 1, + "StageID": 204330061 + }, + { + "EventID": 20433006, + "WorldLevel": 2, + "StageID": 204330062 + }, + { + "EventID": 20433006, + "WorldLevel": 3, + "StageID": 204330063 + }, + { + "EventID": 20433006, + "WorldLevel": 4, + "StageID": 204330064 + }, + { + "EventID": 20433006, + "WorldLevel": 5, + "StageID": 204330065 + }, + { + "EventID": 20433006, + "WorldLevel": 6, + "StageID": 204330066 + }, + { + "EventID": 20433011, + "WorldLevel": 0, + "StageID": 204330110 + }, + { + "EventID": 20433011, + "WorldLevel": 1, + "StageID": 204330111 + }, + { + "EventID": 20433011, + "WorldLevel": 2, + "StageID": 204330112 + }, + { + "EventID": 20433011, + "WorldLevel": 3, + "StageID": 204330113 + }, + { + "EventID": 20433011, + "WorldLevel": 4, + "StageID": 204330114 + }, + { + "EventID": 20433011, + "WorldLevel": 5, + "StageID": 204330115 + }, + { + "EventID": 20433011, + "WorldLevel": 6, + "StageID": 204330116 + }, + { + "EventID": 20433012, + "WorldLevel": 0, + "StageID": 204330120 + }, + { + "EventID": 20433012, + "WorldLevel": 1, + "StageID": 204330121 + }, + { + "EventID": 20433012, + "WorldLevel": 2, + "StageID": 204330122 + }, + { + "EventID": 20433012, + "WorldLevel": 3, + "StageID": 204330123 + }, + { + "EventID": 20433012, + "WorldLevel": 4, + "StageID": 204330124 + }, + { + "EventID": 20433012, + "WorldLevel": 5, + "StageID": 204330125 + }, + { + "EventID": 20433012, + "WorldLevel": 6, + "StageID": 204330126 + }, + { + "EventID": 20433013, + "WorldLevel": 0, + "StageID": 204330130 + }, + { + "EventID": 20433013, + "WorldLevel": 1, + "StageID": 204330131 + }, + { + "EventID": 20433013, + "WorldLevel": 2, + "StageID": 204330132 + }, + { + "EventID": 20433013, + "WorldLevel": 3, + "StageID": 204330133 + }, + { + "EventID": 20433013, + "WorldLevel": 4, + "StageID": 204330134 + }, + { + "EventID": 20433013, + "WorldLevel": 5, + "StageID": 204330135 + }, + { + "EventID": 20433013, + "WorldLevel": 6, + "StageID": 204330136 + }, + { + "EventID": 20433014, + "WorldLevel": 0, + "StageID": 204330140 + }, + { + "EventID": 20433014, + "WorldLevel": 1, + "StageID": 204330141 + }, + { + "EventID": 20433014, + "WorldLevel": 2, + "StageID": 204330142 + }, + { + "EventID": 20433014, + "WorldLevel": 3, + "StageID": 204330143 + }, + { + "EventID": 20433014, + "WorldLevel": 4, + "StageID": 204330144 + }, + { + "EventID": 20433014, + "WorldLevel": 5, + "StageID": 204330145 + }, + { + "EventID": 20433014, + "WorldLevel": 6, + "StageID": 204330146 + }, + { + "EventID": 20433015, + "WorldLevel": 0, + "StageID": 204330150 + }, + { + "EventID": 20433015, + "WorldLevel": 1, + "StageID": 204330151 + }, + { + "EventID": 20433015, + "WorldLevel": 2, + "StageID": 204330152 + }, + { + "EventID": 20433015, + "WorldLevel": 3, + "StageID": 204330153 + }, + { + "EventID": 20433015, + "WorldLevel": 4, + "StageID": 204330154 + }, + { + "EventID": 20433015, + "WorldLevel": 5, + "StageID": 204330155 + }, + { + "EventID": 20433015, + "WorldLevel": 6, + "StageID": 204330156 + }, + { + "EventID": 20433016, + "WorldLevel": 0, + "StageID": 204330160 + }, + { + "EventID": 20433016, + "WorldLevel": 1, + "StageID": 204330161 + }, + { + "EventID": 20433016, + "WorldLevel": 2, + "StageID": 204330162 + }, + { + "EventID": 20433016, + "WorldLevel": 3, + "StageID": 204330163 + }, + { + "EventID": 20433016, + "WorldLevel": 4, + "StageID": 204330164 + }, + { + "EventID": 20433016, + "WorldLevel": 5, + "StageID": 204330165 + }, + { + "EventID": 20433016, + "WorldLevel": 6, + "StageID": 204330166 + }, + { + "EventID": 20433017, + "WorldLevel": 0, + "StageID": 204330170 + }, + { + "EventID": 20433017, + "WorldLevel": 1, + "StageID": 204330171 + }, + { + "EventID": 20433017, + "WorldLevel": 2, + "StageID": 204330172 + }, + { + "EventID": 20433017, + "WorldLevel": 3, + "StageID": 204330173 + }, + { + "EventID": 20433017, + "WorldLevel": 4, + "StageID": 204330174 + }, + { + "EventID": 20433017, + "WorldLevel": 5, + "StageID": 204330175 + }, + { + "EventID": 20433017, + "WorldLevel": 6, + "StageID": 204330176 + }, + { + "EventID": 20433021, + "WorldLevel": 0, + "StageID": 204330210 + }, + { + "EventID": 20433021, + "WorldLevel": 1, + "StageID": 204330211 + }, + { + "EventID": 20433021, + "WorldLevel": 2, + "StageID": 204330212 + }, + { + "EventID": 20433021, + "WorldLevel": 3, + "StageID": 204330213 + }, + { + "EventID": 20433021, + "WorldLevel": 4, + "StageID": 204330214 + }, + { + "EventID": 20433021, + "WorldLevel": 5, + "StageID": 204330215 + }, + { + "EventID": 20433021, + "WorldLevel": 6, + "StageID": 204330216 + }, + { + "EventID": 20433022, + "WorldLevel": 0, + "StageID": 204330220 + }, + { + "EventID": 20433022, + "WorldLevel": 1, + "StageID": 204330221 + }, + { + "EventID": 20433022, + "WorldLevel": 2, + "StageID": 204330222 + }, + { + "EventID": 20433022, + "WorldLevel": 3, + "StageID": 204330223 + }, + { + "EventID": 20433022, + "WorldLevel": 4, + "StageID": 204330224 + }, + { + "EventID": 20433022, + "WorldLevel": 5, + "StageID": 204330225 + }, + { + "EventID": 20433022, + "WorldLevel": 6, + "StageID": 204330226 + }, + { + "EventID": 20433023, + "WorldLevel": 0, + "StageID": 204330230 + }, + { + "EventID": 20433023, + "WorldLevel": 1, + "StageID": 204330231 + }, + { + "EventID": 20433023, + "WorldLevel": 2, + "StageID": 204330232 + }, + { + "EventID": 20433023, + "WorldLevel": 3, + "StageID": 204330233 + }, + { + "EventID": 20433023, + "WorldLevel": 4, + "StageID": 204330234 + }, + { + "EventID": 20433023, + "WorldLevel": 5, + "StageID": 204330235 + }, + { + "EventID": 20433023, + "WorldLevel": 6, + "StageID": 204330236 + }, + { + "EventID": 20433024, + "WorldLevel": 0, + "StageID": 204330240 + }, + { + "EventID": 20433024, + "WorldLevel": 1, + "StageID": 204330241 + }, + { + "EventID": 20433024, + "WorldLevel": 2, + "StageID": 204330242 + }, + { + "EventID": 20433024, + "WorldLevel": 3, + "StageID": 204330243 + }, + { + "EventID": 20433024, + "WorldLevel": 4, + "StageID": 204330244 + }, + { + "EventID": 20433024, + "WorldLevel": 5, + "StageID": 204330245 + }, + { + "EventID": 20433024, + "WorldLevel": 6, + "StageID": 204330246 + }, + { + "EventID": 20433025, + "WorldLevel": 0, + "StageID": 204330250 + }, + { + "EventID": 20433025, + "WorldLevel": 1, + "StageID": 204330251 + }, + { + "EventID": 20433025, + "WorldLevel": 2, + "StageID": 204330252 + }, + { + "EventID": 20433025, + "WorldLevel": 3, + "StageID": 204330253 + }, + { + "EventID": 20433025, + "WorldLevel": 4, + "StageID": 204330254 + }, + { + "EventID": 20433025, + "WorldLevel": 5, + "StageID": 204330255 + }, + { + "EventID": 20433025, + "WorldLevel": 6, + "StageID": 204330256 + }, + { + "EventID": 20433026, + "WorldLevel": 0, + "StageID": 204330260 + }, + { + "EventID": 20433026, + "WorldLevel": 1, + "StageID": 204330261 + }, + { + "EventID": 20433026, + "WorldLevel": 2, + "StageID": 204330262 + }, + { + "EventID": 20433026, + "WorldLevel": 3, + "StageID": 204330263 + }, + { + "EventID": 20433026, + "WorldLevel": 4, + "StageID": 204330264 + }, + { + "EventID": 20433026, + "WorldLevel": 5, + "StageID": 204330265 + }, + { + "EventID": 20433026, + "WorldLevel": 6, + "StageID": 204330266 + }, + { + "EventID": 20433101, + "WorldLevel": 0, + "StageID": 204331010 + }, + { + "EventID": 20433101, + "WorldLevel": 1, + "StageID": 204331011 + }, + { + "EventID": 20433101, + "WorldLevel": 2, + "StageID": 204331012 + }, + { + "EventID": 20433101, + "WorldLevel": 3, + "StageID": 204331013 + }, + { + "EventID": 20433101, + "WorldLevel": 4, + "StageID": 204331014 + }, + { + "EventID": 20433101, + "WorldLevel": 5, + "StageID": 204331015 + }, + { + "EventID": 20433101, + "WorldLevel": 6, + "StageID": 204331016 + }, + { + "EventID": 20433102, + "WorldLevel": 0, + "StageID": 204331020 + }, + { + "EventID": 20433102, + "WorldLevel": 1, + "StageID": 204331021 + }, + { + "EventID": 20433102, + "WorldLevel": 2, + "StageID": 204331022 + }, + { + "EventID": 20433102, + "WorldLevel": 3, + "StageID": 204331023 + }, + { + "EventID": 20433102, + "WorldLevel": 4, + "StageID": 204331024 + }, + { + "EventID": 20433102, + "WorldLevel": 5, + "StageID": 204331025 + }, + { + "EventID": 20433102, + "WorldLevel": 6, + "StageID": 204331026 + }, + { + "EventID": 20433103, + "WorldLevel": 0, + "StageID": 204331030 + }, + { + "EventID": 20433103, + "WorldLevel": 1, + "StageID": 204331031 + }, + { + "EventID": 20433103, + "WorldLevel": 2, + "StageID": 204331032 + }, + { + "EventID": 20433103, + "WorldLevel": 3, + "StageID": 204331033 + }, + { + "EventID": 20433103, + "WorldLevel": 4, + "StageID": 204331034 + }, + { + "EventID": 20433103, + "WorldLevel": 5, + "StageID": 204331035 + }, + { + "EventID": 20433103, + "WorldLevel": 6, + "StageID": 204331036 + }, + { + "EventID": 20433104, + "WorldLevel": 0, + "StageID": 204331040 + }, + { + "EventID": 20433104, + "WorldLevel": 1, + "StageID": 204331041 + }, + { + "EventID": 20433104, + "WorldLevel": 2, + "StageID": 204331042 + }, + { + "EventID": 20433104, + "WorldLevel": 3, + "StageID": 204331043 + }, + { + "EventID": 20433104, + "WorldLevel": 4, + "StageID": 204331044 + }, + { + "EventID": 20433104, + "WorldLevel": 5, + "StageID": 204331045 + }, + { + "EventID": 20433104, + "WorldLevel": 6, + "StageID": 204331046 + }, + { + "EventID": 20433105, + "WorldLevel": 0, + "StageID": 204331050 + }, + { + "EventID": 20433105, + "WorldLevel": 1, + "StageID": 204331051 + }, + { + "EventID": 20433105, + "WorldLevel": 2, + "StageID": 204331052 + }, + { + "EventID": 20433105, + "WorldLevel": 3, + "StageID": 204331053 + }, + { + "EventID": 20433105, + "WorldLevel": 4, + "StageID": 204331054 + }, + { + "EventID": 20433105, + "WorldLevel": 5, + "StageID": 204331055 + }, + { + "EventID": 20433105, + "WorldLevel": 6, + "StageID": 204331056 + }, + { + "EventID": 20433106, + "WorldLevel": 0, + "StageID": 204331060 + }, + { + "EventID": 20433106, + "WorldLevel": 1, + "StageID": 204331061 + }, + { + "EventID": 20433106, + "WorldLevel": 2, + "StageID": 204331062 + }, + { + "EventID": 20433106, + "WorldLevel": 3, + "StageID": 204331063 + }, + { + "EventID": 20433106, + "WorldLevel": 4, + "StageID": 204331064 + }, + { + "EventID": 20433106, + "WorldLevel": 5, + "StageID": 204331065 + }, + { + "EventID": 20433106, + "WorldLevel": 6, + "StageID": 204331066 + }, + { + "EventID": 20433111, + "WorldLevel": 0, + "StageID": 204331110 + }, + { + "EventID": 20433111, + "WorldLevel": 1, + "StageID": 204331111 + }, + { + "EventID": 20433111, + "WorldLevel": 2, + "StageID": 204331112 + }, + { + "EventID": 20433111, + "WorldLevel": 3, + "StageID": 204331113 + }, + { + "EventID": 20433111, + "WorldLevel": 4, + "StageID": 204331114 + }, + { + "EventID": 20433111, + "WorldLevel": 5, + "StageID": 204331115 + }, + { + "EventID": 20433111, + "WorldLevel": 6, + "StageID": 204331116 + }, + { + "EventID": 20433112, + "WorldLevel": 0, + "StageID": 204331120 + }, + { + "EventID": 20433112, + "WorldLevel": 1, + "StageID": 204331121 + }, + { + "EventID": 20433112, + "WorldLevel": 2, + "StageID": 204331122 + }, + { + "EventID": 20433112, + "WorldLevel": 3, + "StageID": 204331123 + }, + { + "EventID": 20433112, + "WorldLevel": 4, + "StageID": 204331124 + }, + { + "EventID": 20433112, + "WorldLevel": 5, + "StageID": 204331125 + }, + { + "EventID": 20433112, + "WorldLevel": 6, + "StageID": 204331126 + }, + { + "EventID": 20433113, + "WorldLevel": 0, + "StageID": 204331130 + }, + { + "EventID": 20433113, + "WorldLevel": 1, + "StageID": 204331131 + }, + { + "EventID": 20433113, + "WorldLevel": 2, + "StageID": 204331132 + }, + { + "EventID": 20433113, + "WorldLevel": 3, + "StageID": 204331133 + }, + { + "EventID": 20433113, + "WorldLevel": 4, + "StageID": 204331134 + }, + { + "EventID": 20433113, + "WorldLevel": 5, + "StageID": 204331135 + }, + { + "EventID": 20433113, + "WorldLevel": 6, + "StageID": 204331136 + }, + { + "EventID": 20433114, + "WorldLevel": 0, + "StageID": 204331140 + }, + { + "EventID": 20433114, + "WorldLevel": 1, + "StageID": 204331141 + }, + { + "EventID": 20433114, + "WorldLevel": 2, + "StageID": 204331142 + }, + { + "EventID": 20433114, + "WorldLevel": 3, + "StageID": 204331143 + }, + { + "EventID": 20433114, + "WorldLevel": 4, + "StageID": 204331144 + }, + { + "EventID": 20433114, + "WorldLevel": 5, + "StageID": 204331145 + }, + { + "EventID": 20433114, + "WorldLevel": 6, + "StageID": 204331146 + }, + { + "EventID": 20433115, + "WorldLevel": 0, + "StageID": 204331150 + }, + { + "EventID": 20433115, + "WorldLevel": 1, + "StageID": 204331151 + }, + { + "EventID": 20433115, + "WorldLevel": 2, + "StageID": 204331152 + }, + { + "EventID": 20433115, + "WorldLevel": 3, + "StageID": 204331153 + }, + { + "EventID": 20433115, + "WorldLevel": 4, + "StageID": 204331154 + }, + { + "EventID": 20433115, + "WorldLevel": 5, + "StageID": 204331155 + }, + { + "EventID": 20433115, + "WorldLevel": 6, + "StageID": 204331156 + }, + { + "EventID": 20433116, + "WorldLevel": 0, + "StageID": 204331160 + }, + { + "EventID": 20433116, + "WorldLevel": 1, + "StageID": 204331161 + }, + { + "EventID": 20433116, + "WorldLevel": 2, + "StageID": 204331162 + }, + { + "EventID": 20433116, + "WorldLevel": 3, + "StageID": 204331163 + }, + { + "EventID": 20433116, + "WorldLevel": 4, + "StageID": 204331164 + }, + { + "EventID": 20433116, + "WorldLevel": 5, + "StageID": 204331165 + }, + { + "EventID": 20433116, + "WorldLevel": 6, + "StageID": 204331166 + }, + { + "EventID": 20433117, + "WorldLevel": 0, + "StageID": 204331170 + }, + { + "EventID": 20433117, + "WorldLevel": 1, + "StageID": 204331171 + }, + { + "EventID": 20433117, + "WorldLevel": 2, + "StageID": 204331172 + }, + { + "EventID": 20433117, + "WorldLevel": 3, + "StageID": 204331173 + }, + { + "EventID": 20433117, + "WorldLevel": 4, + "StageID": 204331174 + }, + { + "EventID": 20433117, + "WorldLevel": 5, + "StageID": 204331175 + }, + { + "EventID": 20433117, + "WorldLevel": 6, + "StageID": 204331176 + }, + { + "EventID": 20433121, + "WorldLevel": 0, + "StageID": 204331210 + }, + { + "EventID": 20433121, + "WorldLevel": 1, + "StageID": 204331211 + }, + { + "EventID": 20433121, + "WorldLevel": 2, + "StageID": 204331212 + }, + { + "EventID": 20433121, + "WorldLevel": 3, + "StageID": 204331213 + }, + { + "EventID": 20433121, + "WorldLevel": 4, + "StageID": 204331214 + }, + { + "EventID": 20433121, + "WorldLevel": 5, + "StageID": 204331215 + }, + { + "EventID": 20433121, + "WorldLevel": 6, + "StageID": 204331216 + }, + { + "EventID": 20433122, + "WorldLevel": 0, + "StageID": 204331220 + }, + { + "EventID": 20433122, + "WorldLevel": 1, + "StageID": 204331221 + }, + { + "EventID": 20433122, + "WorldLevel": 2, + "StageID": 204331222 + }, + { + "EventID": 20433122, + "WorldLevel": 3, + "StageID": 204331223 + }, + { + "EventID": 20433122, + "WorldLevel": 4, + "StageID": 204331224 + }, + { + "EventID": 20433122, + "WorldLevel": 5, + "StageID": 204331225 + }, + { + "EventID": 20433122, + "WorldLevel": 6, + "StageID": 204331226 + }, + { + "EventID": 20433123, + "WorldLevel": 0, + "StageID": 204331230 + }, + { + "EventID": 20433123, + "WorldLevel": 1, + "StageID": 204331231 + }, + { + "EventID": 20433123, + "WorldLevel": 2, + "StageID": 204331232 + }, + { + "EventID": 20433123, + "WorldLevel": 3, + "StageID": 204331233 + }, + { + "EventID": 20433123, + "WorldLevel": 4, + "StageID": 204331234 + }, + { + "EventID": 20433123, + "WorldLevel": 5, + "StageID": 204331235 + }, + { + "EventID": 20433123, + "WorldLevel": 6, + "StageID": 204331236 + }, + { + "EventID": 20433124, + "WorldLevel": 0, + "StageID": 204331240 + }, + { + "EventID": 20433124, + "WorldLevel": 1, + "StageID": 204331241 + }, + { + "EventID": 20433124, + "WorldLevel": 2, + "StageID": 204331242 + }, + { + "EventID": 20433124, + "WorldLevel": 3, + "StageID": 204331243 + }, + { + "EventID": 20433124, + "WorldLevel": 4, + "StageID": 204331244 + }, + { + "EventID": 20433124, + "WorldLevel": 5, + "StageID": 204331245 + }, + { + "EventID": 20433124, + "WorldLevel": 6, + "StageID": 204331246 + }, + { + "EventID": 20433125, + "WorldLevel": 0, + "StageID": 204331250 + }, + { + "EventID": 20433125, + "WorldLevel": 1, + "StageID": 204331251 + }, + { + "EventID": 20433125, + "WorldLevel": 2, + "StageID": 204331252 + }, + { + "EventID": 20433125, + "WorldLevel": 3, + "StageID": 204331253 + }, + { + "EventID": 20433125, + "WorldLevel": 4, + "StageID": 204331254 + }, + { + "EventID": 20433125, + "WorldLevel": 5, + "StageID": 204331255 + }, + { + "EventID": 20433125, + "WorldLevel": 6, + "StageID": 204331256 + }, + { + "EventID": 20433126, + "WorldLevel": 0, + "StageID": 204331260 + }, + { + "EventID": 20433126, + "WorldLevel": 1, + "StageID": 204331261 + }, + { + "EventID": 20433126, + "WorldLevel": 2, + "StageID": 204331262 + }, + { + "EventID": 20433126, + "WorldLevel": 3, + "StageID": 204331263 + }, + { + "EventID": 20433126, + "WorldLevel": 4, + "StageID": 204331264 + }, + { + "EventID": 20433126, + "WorldLevel": 5, + "StageID": 204331265 + }, + { + "EventID": 20433126, + "WorldLevel": 6, + "StageID": 204331266 + }, + { + "EventID": 20451011, + "WorldLevel": 0, + "StageID": 204510110 + }, + { + "EventID": 20451011, + "WorldLevel": 1, + "StageID": 204510111 + }, + { + "EventID": 20451011, + "WorldLevel": 2, + "StageID": 204510112 + }, + { + "EventID": 20451011, + "WorldLevel": 3, + "StageID": 204510113 + }, + { + "EventID": 20451011, + "WorldLevel": 4, + "StageID": 204510114 + }, + { + "EventID": 20451011, + "WorldLevel": 5, + "StageID": 204510115 + }, + { + "EventID": 20451011, + "WorldLevel": 6, + "StageID": 204510116 + }, + { + "EventID": 20451012, + "WorldLevel": 0, + "StageID": 204510120 + }, + { + "EventID": 20451012, + "WorldLevel": 1, + "StageID": 204510121 + }, + { + "EventID": 20451012, + "WorldLevel": 2, + "StageID": 204510122 + }, + { + "EventID": 20451012, + "WorldLevel": 3, + "StageID": 204510123 + }, + { + "EventID": 20451012, + "WorldLevel": 4, + "StageID": 204510124 + }, + { + "EventID": 20451012, + "WorldLevel": 5, + "StageID": 204510125 + }, + { + "EventID": 20451012, + "WorldLevel": 6, + "StageID": 204510126 + }, + { + "EventID": 20451013, + "WorldLevel": 0, + "StageID": 204510130 + }, + { + "EventID": 20451013, + "WorldLevel": 1, + "StageID": 204510131 + }, + { + "EventID": 20451013, + "WorldLevel": 2, + "StageID": 204510132 + }, + { + "EventID": 20451013, + "WorldLevel": 3, + "StageID": 204510133 + }, + { + "EventID": 20451013, + "WorldLevel": 4, + "StageID": 204510134 + }, + { + "EventID": 20451013, + "WorldLevel": 5, + "StageID": 204510135 + }, + { + "EventID": 20451013, + "WorldLevel": 6, + "StageID": 204510136 + }, + { + "EventID": 20451014, + "WorldLevel": 0, + "StageID": 204510140 + }, + { + "EventID": 20451014, + "WorldLevel": 1, + "StageID": 204510141 + }, + { + "EventID": 20451014, + "WorldLevel": 2, + "StageID": 204510142 + }, + { + "EventID": 20451014, + "WorldLevel": 3, + "StageID": 204510143 + }, + { + "EventID": 20451014, + "WorldLevel": 4, + "StageID": 204510144 + }, + { + "EventID": 20451014, + "WorldLevel": 5, + "StageID": 204510145 + }, + { + "EventID": 20451014, + "WorldLevel": 6, + "StageID": 204510146 + }, + { + "EventID": 20451015, + "WorldLevel": 0, + "StageID": 204510150 + }, + { + "EventID": 20451015, + "WorldLevel": 1, + "StageID": 204510151 + }, + { + "EventID": 20451015, + "WorldLevel": 2, + "StageID": 204510152 + }, + { + "EventID": 20451015, + "WorldLevel": 3, + "StageID": 204510153 + }, + { + "EventID": 20451015, + "WorldLevel": 4, + "StageID": 204510154 + }, + { + "EventID": 20451015, + "WorldLevel": 5, + "StageID": 204510155 + }, + { + "EventID": 20451015, + "WorldLevel": 6, + "StageID": 204510156 + }, + { + "EventID": 20451021, + "WorldLevel": 0, + "StageID": 204510210 + }, + { + "EventID": 20451021, + "WorldLevel": 1, + "StageID": 204510211 + }, + { + "EventID": 20451021, + "WorldLevel": 2, + "StageID": 204510212 + }, + { + "EventID": 20451021, + "WorldLevel": 3, + "StageID": 204510213 + }, + { + "EventID": 20451021, + "WorldLevel": 4, + "StageID": 204510214 + }, + { + "EventID": 20451021, + "WorldLevel": 5, + "StageID": 204510215 + }, + { + "EventID": 20451021, + "WorldLevel": 6, + "StageID": 204510216 + }, + { + "EventID": 20451022, + "WorldLevel": 0, + "StageID": 204510220 + }, + { + "EventID": 20451022, + "WorldLevel": 1, + "StageID": 204510221 + }, + { + "EventID": 20451022, + "WorldLevel": 2, + "StageID": 204510222 + }, + { + "EventID": 20451022, + "WorldLevel": 3, + "StageID": 204510223 + }, + { + "EventID": 20451022, + "WorldLevel": 4, + "StageID": 204510224 + }, + { + "EventID": 20451022, + "WorldLevel": 5, + "StageID": 204510225 + }, + { + "EventID": 20451022, + "WorldLevel": 6, + "StageID": 204510226 + }, + { + "EventID": 20451023, + "WorldLevel": 0, + "StageID": 204510230 + }, + { + "EventID": 20451023, + "WorldLevel": 1, + "StageID": 204510231 + }, + { + "EventID": 20451023, + "WorldLevel": 2, + "StageID": 204510232 + }, + { + "EventID": 20451023, + "WorldLevel": 3, + "StageID": 204510233 + }, + { + "EventID": 20451023, + "WorldLevel": 4, + "StageID": 204510234 + }, + { + "EventID": 20451023, + "WorldLevel": 5, + "StageID": 204510235 + }, + { + "EventID": 20451023, + "WorldLevel": 6, + "StageID": 204510236 + }, + { + "EventID": 20451024, + "WorldLevel": 0, + "StageID": 204510240 + }, + { + "EventID": 20451024, + "WorldLevel": 1, + "StageID": 204510241 + }, + { + "EventID": 20451024, + "WorldLevel": 2, + "StageID": 204510242 + }, + { + "EventID": 20451024, + "WorldLevel": 3, + "StageID": 204510243 + }, + { + "EventID": 20451024, + "WorldLevel": 4, + "StageID": 204510244 + }, + { + "EventID": 20451024, + "WorldLevel": 5, + "StageID": 204510245 + }, + { + "EventID": 20451024, + "WorldLevel": 6, + "StageID": 204510246 + }, + { + "EventID": 20451025, + "WorldLevel": 0, + "StageID": 204510250 + }, + { + "EventID": 20451025, + "WorldLevel": 1, + "StageID": 204510251 + }, + { + "EventID": 20451025, + "WorldLevel": 2, + "StageID": 204510252 + }, + { + "EventID": 20451025, + "WorldLevel": 3, + "StageID": 204510253 + }, + { + "EventID": 20451025, + "WorldLevel": 4, + "StageID": 204510254 + }, + { + "EventID": 20451025, + "WorldLevel": 5, + "StageID": 204510255 + }, + { + "EventID": 20451025, + "WorldLevel": 6, + "StageID": 204510256 + }, + { + "EventID": 20451031, + "WorldLevel": 0, + "StageID": 204510310 + }, + { + "EventID": 20451031, + "WorldLevel": 1, + "StageID": 204510311 + }, + { + "EventID": 20451031, + "WorldLevel": 2, + "StageID": 204510312 + }, + { + "EventID": 20451031, + "WorldLevel": 3, + "StageID": 204510313 + }, + { + "EventID": 20451031, + "WorldLevel": 4, + "StageID": 204510314 + }, + { + "EventID": 20451031, + "WorldLevel": 5, + "StageID": 204510315 + }, + { + "EventID": 20451031, + "WorldLevel": 6, + "StageID": 204510316 + }, + { + "EventID": 20451032, + "WorldLevel": 0, + "StageID": 204510320 + }, + { + "EventID": 20451032, + "WorldLevel": 1, + "StageID": 204510321 + }, + { + "EventID": 20451032, + "WorldLevel": 2, + "StageID": 204510322 + }, + { + "EventID": 20451032, + "WorldLevel": 3, + "StageID": 204510323 + }, + { + "EventID": 20451032, + "WorldLevel": 4, + "StageID": 204510324 + }, + { + "EventID": 20451032, + "WorldLevel": 5, + "StageID": 204510325 + }, + { + "EventID": 20451032, + "WorldLevel": 6, + "StageID": 204510326 + }, + { + "EventID": 20451033, + "WorldLevel": 0, + "StageID": 204510330 + }, + { + "EventID": 20451033, + "WorldLevel": 1, + "StageID": 204510331 + }, + { + "EventID": 20451033, + "WorldLevel": 2, + "StageID": 204510332 + }, + { + "EventID": 20451033, + "WorldLevel": 3, + "StageID": 204510333 + }, + { + "EventID": 20451033, + "WorldLevel": 4, + "StageID": 204510334 + }, + { + "EventID": 20451033, + "WorldLevel": 5, + "StageID": 204510335 + }, + { + "EventID": 20451033, + "WorldLevel": 6, + "StageID": 204510336 + }, + { + "EventID": 20451034, + "WorldLevel": 0, + "StageID": 204510340 + }, + { + "EventID": 20451034, + "WorldLevel": 1, + "StageID": 204510341 + }, + { + "EventID": 20451034, + "WorldLevel": 2, + "StageID": 204510342 + }, + { + "EventID": 20451034, + "WorldLevel": 3, + "StageID": 204510343 + }, + { + "EventID": 20451034, + "WorldLevel": 4, + "StageID": 204510344 + }, + { + "EventID": 20451034, + "WorldLevel": 5, + "StageID": 204510345 + }, + { + "EventID": 20451034, + "WorldLevel": 6, + "StageID": 204510346 + }, + { + "EventID": 20451035, + "WorldLevel": 0, + "StageID": 204510350 + }, + { + "EventID": 20451035, + "WorldLevel": 1, + "StageID": 204510351 + }, + { + "EventID": 20451035, + "WorldLevel": 2, + "StageID": 204510352 + }, + { + "EventID": 20451035, + "WorldLevel": 3, + "StageID": 204510353 + }, + { + "EventID": 20451035, + "WorldLevel": 4, + "StageID": 204510354 + }, + { + "EventID": 20451035, + "WorldLevel": 5, + "StageID": 204510355 + }, + { + "EventID": 20451035, + "WorldLevel": 6, + "StageID": 204510356 + }, + { + "EventID": 20451036, + "WorldLevel": 0, + "StageID": 204510360 + }, + { + "EventID": 20451036, + "WorldLevel": 1, + "StageID": 204510361 + }, + { + "EventID": 20451036, + "WorldLevel": 2, + "StageID": 204510362 + }, + { + "EventID": 20451036, + "WorldLevel": 3, + "StageID": 204510363 + }, + { + "EventID": 20451036, + "WorldLevel": 4, + "StageID": 204510364 + }, + { + "EventID": 20451036, + "WorldLevel": 5, + "StageID": 204510365 + }, + { + "EventID": 20451036, + "WorldLevel": 6, + "StageID": 204510366 + }, + { + "EventID": 20451037, + "WorldLevel": 0, + "StageID": 204510370 + }, + { + "EventID": 20451037, + "WorldLevel": 1, + "StageID": 204510371 + }, + { + "EventID": 20451037, + "WorldLevel": 2, + "StageID": 204510372 + }, + { + "EventID": 20451037, + "WorldLevel": 3, + "StageID": 204510373 + }, + { + "EventID": 20451037, + "WorldLevel": 4, + "StageID": 204510374 + }, + { + "EventID": 20451037, + "WorldLevel": 5, + "StageID": 204510375 + }, + { + "EventID": 20451037, + "WorldLevel": 6, + "StageID": 204510376 + }, + { + "EventID": 20451111, + "WorldLevel": 0, + "StageID": 204511110 + }, + { + "EventID": 20451111, + "WorldLevel": 1, + "StageID": 204511111 + }, + { + "EventID": 20451111, + "WorldLevel": 2, + "StageID": 204511112 + }, + { + "EventID": 20451111, + "WorldLevel": 3, + "StageID": 204511113 + }, + { + "EventID": 20451111, + "WorldLevel": 4, + "StageID": 204511114 + }, + { + "EventID": 20451111, + "WorldLevel": 5, + "StageID": 204511115 + }, + { + "EventID": 20451111, + "WorldLevel": 6, + "StageID": 204511116 + }, + { + "EventID": 20451112, + "WorldLevel": 0, + "StageID": 204511120 + }, + { + "EventID": 20451112, + "WorldLevel": 1, + "StageID": 204511121 + }, + { + "EventID": 20451112, + "WorldLevel": 2, + "StageID": 204511122 + }, + { + "EventID": 20451112, + "WorldLevel": 3, + "StageID": 204511123 + }, + { + "EventID": 20451112, + "WorldLevel": 4, + "StageID": 204511124 + }, + { + "EventID": 20451112, + "WorldLevel": 5, + "StageID": 204511125 + }, + { + "EventID": 20451112, + "WorldLevel": 6, + "StageID": 204511126 + }, + { + "EventID": 20451121, + "WorldLevel": 0, + "StageID": 204511210 + }, + { + "EventID": 20451121, + "WorldLevel": 1, + "StageID": 204511211 + }, + { + "EventID": 20451121, + "WorldLevel": 2, + "StageID": 204511212 + }, + { + "EventID": 20451121, + "WorldLevel": 3, + "StageID": 204511213 + }, + { + "EventID": 20451121, + "WorldLevel": 4, + "StageID": 204511214 + }, + { + "EventID": 20451121, + "WorldLevel": 5, + "StageID": 204511215 + }, + { + "EventID": 20451121, + "WorldLevel": 6, + "StageID": 204511216 + }, + { + "EventID": 20451122, + "WorldLevel": 0, + "StageID": 204511220 + }, + { + "EventID": 20451122, + "WorldLevel": 1, + "StageID": 204511221 + }, + { + "EventID": 20451122, + "WorldLevel": 2, + "StageID": 204511222 + }, + { + "EventID": 20451122, + "WorldLevel": 3, + "StageID": 204511223 + }, + { + "EventID": 20451122, + "WorldLevel": 4, + "StageID": 204511224 + }, + { + "EventID": 20451122, + "WorldLevel": 5, + "StageID": 204511225 + }, + { + "EventID": 20451122, + "WorldLevel": 6, + "StageID": 204511226 + }, + { + "EventID": 20451123, + "WorldLevel": 0, + "StageID": 204511230 + }, + { + "EventID": 20451123, + "WorldLevel": 1, + "StageID": 204511231 + }, + { + "EventID": 20451123, + "WorldLevel": 2, + "StageID": 204511232 + }, + { + "EventID": 20451123, + "WorldLevel": 3, + "StageID": 204511233 + }, + { + "EventID": 20451123, + "WorldLevel": 4, + "StageID": 204511234 + }, + { + "EventID": 20451123, + "WorldLevel": 5, + "StageID": 204511235 + }, + { + "EventID": 20451123, + "WorldLevel": 6, + "StageID": 204511236 + }, + { + "EventID": 20451124, + "WorldLevel": 0, + "StageID": 204511240 + }, + { + "EventID": 20451124, + "WorldLevel": 1, + "StageID": 204511241 + }, + { + "EventID": 20451124, + "WorldLevel": 2, + "StageID": 204511242 + }, + { + "EventID": 20451124, + "WorldLevel": 3, + "StageID": 204511243 + }, + { + "EventID": 20451124, + "WorldLevel": 4, + "StageID": 204511244 + }, + { + "EventID": 20451124, + "WorldLevel": 5, + "StageID": 204511245 + }, + { + "EventID": 20451124, + "WorldLevel": 6, + "StageID": 204511246 + }, + { + "EventID": 20451125, + "WorldLevel": 0, + "StageID": 204511250 + }, + { + "EventID": 20451125, + "WorldLevel": 1, + "StageID": 204511251 + }, + { + "EventID": 20451125, + "WorldLevel": 2, + "StageID": 204511252 + }, + { + "EventID": 20451125, + "WorldLevel": 3, + "StageID": 204511253 + }, + { + "EventID": 20451125, + "WorldLevel": 4, + "StageID": 204511254 + }, + { + "EventID": 20451125, + "WorldLevel": 5, + "StageID": 204511255 + }, + { + "EventID": 20451125, + "WorldLevel": 6, + "StageID": 204511256 + }, + { + "EventID": 20451131, + "WorldLevel": 0, + "StageID": 204511310 + }, + { + "EventID": 20451131, + "WorldLevel": 1, + "StageID": 204511311 + }, + { + "EventID": 20451131, + "WorldLevel": 2, + "StageID": 204511312 + }, + { + "EventID": 20451131, + "WorldLevel": 3, + "StageID": 204511313 + }, + { + "EventID": 20451131, + "WorldLevel": 4, + "StageID": 204511314 + }, + { + "EventID": 20451131, + "WorldLevel": 5, + "StageID": 204511315 + }, + { + "EventID": 20451131, + "WorldLevel": 6, + "StageID": 204511316 + }, + { + "EventID": 20451132, + "WorldLevel": 0, + "StageID": 204511320 + }, + { + "EventID": 20451132, + "WorldLevel": 1, + "StageID": 204511321 + }, + { + "EventID": 20451132, + "WorldLevel": 2, + "StageID": 204511322 + }, + { + "EventID": 20451132, + "WorldLevel": 3, + "StageID": 204511323 + }, + { + "EventID": 20451132, + "WorldLevel": 4, + "StageID": 204511324 + }, + { + "EventID": 20451132, + "WorldLevel": 5, + "StageID": 204511325 + }, + { + "EventID": 20451132, + "WorldLevel": 6, + "StageID": 204511326 + }, + { + "EventID": 20451133, + "WorldLevel": 0, + "StageID": 204511330 + }, + { + "EventID": 20451133, + "WorldLevel": 1, + "StageID": 204511331 + }, + { + "EventID": 20451133, + "WorldLevel": 2, + "StageID": 204511332 + }, + { + "EventID": 20451133, + "WorldLevel": 3, + "StageID": 204511333 + }, + { + "EventID": 20451133, + "WorldLevel": 4, + "StageID": 204511334 + }, + { + "EventID": 20451133, + "WorldLevel": 5, + "StageID": 204511335 + }, + { + "EventID": 20451133, + "WorldLevel": 6, + "StageID": 204511336 + }, + { + "EventID": 20451134, + "WorldLevel": 0, + "StageID": 204511340 + }, + { + "EventID": 20451134, + "WorldLevel": 1, + "StageID": 204511341 + }, + { + "EventID": 20451134, + "WorldLevel": 2, + "StageID": 204511342 + }, + { + "EventID": 20451134, + "WorldLevel": 3, + "StageID": 204511343 + }, + { + "EventID": 20451134, + "WorldLevel": 4, + "StageID": 204511344 + }, + { + "EventID": 20451134, + "WorldLevel": 5, + "StageID": 204511345 + }, + { + "EventID": 20451134, + "WorldLevel": 6, + "StageID": 204511346 + }, + { + "EventID": 20451135, + "WorldLevel": 0, + "StageID": 204511350 + }, + { + "EventID": 20451135, + "WorldLevel": 1, + "StageID": 204511351 + }, + { + "EventID": 20451135, + "WorldLevel": 2, + "StageID": 204511352 + }, + { + "EventID": 20451135, + "WorldLevel": 3, + "StageID": 204511353 + }, + { + "EventID": 20451135, + "WorldLevel": 4, + "StageID": 204511354 + }, + { + "EventID": 20451135, + "WorldLevel": 5, + "StageID": 204511355 + }, + { + "EventID": 20451135, + "WorldLevel": 6, + "StageID": 204511356 + }, + { + "EventID": 20451136, + "WorldLevel": 0, + "StageID": 204511360 + }, + { + "EventID": 20451136, + "WorldLevel": 1, + "StageID": 204511361 + }, + { + "EventID": 20451136, + "WorldLevel": 2, + "StageID": 204511362 + }, + { + "EventID": 20451136, + "WorldLevel": 3, + "StageID": 204511363 + }, + { + "EventID": 20451136, + "WorldLevel": 4, + "StageID": 204511364 + }, + { + "EventID": 20451136, + "WorldLevel": 5, + "StageID": 204511365 + }, + { + "EventID": 20451136, + "WorldLevel": 6, + "StageID": 204511366 + }, + { + "EventID": 20451137, + "WorldLevel": 0, + "StageID": 204511370 + }, + { + "EventID": 20451137, + "WorldLevel": 1, + "StageID": 204511371 + }, + { + "EventID": 20451137, + "WorldLevel": 2, + "StageID": 204511372 + }, + { + "EventID": 20451137, + "WorldLevel": 3, + "StageID": 204511373 + }, + { + "EventID": 20451137, + "WorldLevel": 4, + "StageID": 204511374 + }, + { + "EventID": 20451137, + "WorldLevel": 5, + "StageID": 204511375 + }, + { + "EventID": 20451137, + "WorldLevel": 6, + "StageID": 204511376 + }, + { + "EventID": 20461001, + "WorldLevel": 0, + "StageID": 204610010 + }, + { + "EventID": 20461001, + "WorldLevel": 1, + "StageID": 204610011 + }, + { + "EventID": 20461001, + "WorldLevel": 2, + "StageID": 204610012 + }, + { + "EventID": 20461001, + "WorldLevel": 3, + "StageID": 204610013 + }, + { + "EventID": 20461001, + "WorldLevel": 4, + "StageID": 204610014 + }, + { + "EventID": 20461001, + "WorldLevel": 5, + "StageID": 204610015 + }, + { + "EventID": 20461001, + "WorldLevel": 6, + "StageID": 204610016 + }, + { + "EventID": 20461002, + "WorldLevel": 0, + "StageID": 204610020 + }, + { + "EventID": 20461002, + "WorldLevel": 1, + "StageID": 204610021 + }, + { + "EventID": 20461002, + "WorldLevel": 2, + "StageID": 204610022 + }, + { + "EventID": 20461002, + "WorldLevel": 3, + "StageID": 204610023 + }, + { + "EventID": 20461002, + "WorldLevel": 4, + "StageID": 204610024 + }, + { + "EventID": 20461002, + "WorldLevel": 5, + "StageID": 204610025 + }, + { + "EventID": 20461002, + "WorldLevel": 6, + "StageID": 204610026 + }, + { + "EventID": 20461011, + "WorldLevel": 0, + "StageID": 204610110 + }, + { + "EventID": 20461011, + "WorldLevel": 1, + "StageID": 204610111 + }, + { + "EventID": 20461011, + "WorldLevel": 2, + "StageID": 204610112 + }, + { + "EventID": 20461011, + "WorldLevel": 3, + "StageID": 204610113 + }, + { + "EventID": 20461011, + "WorldLevel": 4, + "StageID": 204610114 + }, + { + "EventID": 20461011, + "WorldLevel": 5, + "StageID": 204610115 + }, + { + "EventID": 20461011, + "WorldLevel": 6, + "StageID": 204610116 + }, + { + "EventID": 20461012, + "WorldLevel": 0, + "StageID": 204610120 + }, + { + "EventID": 20461012, + "WorldLevel": 1, + "StageID": 204610121 + }, + { + "EventID": 20461012, + "WorldLevel": 2, + "StageID": 204610122 + }, + { + "EventID": 20461012, + "WorldLevel": 3, + "StageID": 204610123 + }, + { + "EventID": 20461012, + "WorldLevel": 4, + "StageID": 204610124 + }, + { + "EventID": 20461012, + "WorldLevel": 5, + "StageID": 204610125 + }, + { + "EventID": 20461012, + "WorldLevel": 6, + "StageID": 204610126 + }, + { + "EventID": 20461013, + "WorldLevel": 0, + "StageID": 204610130 + }, + { + "EventID": 20461013, + "WorldLevel": 1, + "StageID": 204610131 + }, + { + "EventID": 20461013, + "WorldLevel": 2, + "StageID": 204610132 + }, + { + "EventID": 20461013, + "WorldLevel": 3, + "StageID": 204610133 + }, + { + "EventID": 20461013, + "WorldLevel": 4, + "StageID": 204610134 + }, + { + "EventID": 20461013, + "WorldLevel": 5, + "StageID": 204610135 + }, + { + "EventID": 20461013, + "WorldLevel": 6, + "StageID": 204610136 + }, + { + "EventID": 20461101, + "WorldLevel": 0, + "StageID": 204611010 + }, + { + "EventID": 20461101, + "WorldLevel": 1, + "StageID": 204611011 + }, + { + "EventID": 20461101, + "WorldLevel": 2, + "StageID": 204611012 + }, + { + "EventID": 20461101, + "WorldLevel": 3, + "StageID": 204611013 + }, + { + "EventID": 20461101, + "WorldLevel": 4, + "StageID": 204611014 + }, + { + "EventID": 20461101, + "WorldLevel": 5, + "StageID": 204611015 + }, + { + "EventID": 20461101, + "WorldLevel": 6, + "StageID": 204611016 + }, + { + "EventID": 20461102, + "WorldLevel": 0, + "StageID": 204611020 + }, + { + "EventID": 20461102, + "WorldLevel": 1, + "StageID": 204611021 + }, + { + "EventID": 20461102, + "WorldLevel": 2, + "StageID": 204611022 + }, + { + "EventID": 20461102, + "WorldLevel": 3, + "StageID": 204611023 + }, + { + "EventID": 20461102, + "WorldLevel": 4, + "StageID": 204611024 + }, + { + "EventID": 20461102, + "WorldLevel": 5, + "StageID": 204611025 + }, + { + "EventID": 20461102, + "WorldLevel": 6, + "StageID": 204611026 + }, + { + "EventID": 20461111, + "WorldLevel": 0, + "StageID": 204611110 + }, + { + "EventID": 20461111, + "WorldLevel": 1, + "StageID": 204611111 + }, + { + "EventID": 20461111, + "WorldLevel": 2, + "StageID": 204611112 + }, + { + "EventID": 20461111, + "WorldLevel": 3, + "StageID": 204611113 + }, + { + "EventID": 20461111, + "WorldLevel": 4, + "StageID": 204611114 + }, + { + "EventID": 20461111, + "WorldLevel": 5, + "StageID": 204611115 + }, + { + "EventID": 20461111, + "WorldLevel": 6, + "StageID": 204611116 + }, + { + "EventID": 20461112, + "WorldLevel": 0, + "StageID": 204611120 + }, + { + "EventID": 20461112, + "WorldLevel": 1, + "StageID": 204611121 + }, + { + "EventID": 20461112, + "WorldLevel": 2, + "StageID": 204611122 + }, + { + "EventID": 20461112, + "WorldLevel": 3, + "StageID": 204611123 + }, + { + "EventID": 20461112, + "WorldLevel": 4, + "StageID": 204611124 + }, + { + "EventID": 20461112, + "WorldLevel": 5, + "StageID": 204611125 + }, + { + "EventID": 20461112, + "WorldLevel": 6, + "StageID": 204611126 + }, + { + "EventID": 20461113, + "WorldLevel": 0, + "StageID": 204611130 + }, + { + "EventID": 20461113, + "WorldLevel": 1, + "StageID": 204611131 + }, + { + "EventID": 20461113, + "WorldLevel": 2, + "StageID": 204611132 + }, + { + "EventID": 20461113, + "WorldLevel": 3, + "StageID": 204611133 + }, + { + "EventID": 20461113, + "WorldLevel": 4, + "StageID": 204611134 + }, + { + "EventID": 20461113, + "WorldLevel": 5, + "StageID": 204611135 + }, + { + "EventID": 20461113, + "WorldLevel": 6, + "StageID": 204611136 + }, + { + "EventID": 20461131, + "WorldLevel": 0, + "StageID": 204611310 + }, + { + "EventID": 20461131, + "WorldLevel": 1, + "StageID": 204611311 + }, + { + "EventID": 20461131, + "WorldLevel": 2, + "StageID": 204611312 + }, + { + "EventID": 20461131, + "WorldLevel": 3, + "StageID": 204611313 + }, + { + "EventID": 20461131, + "WorldLevel": 4, + "StageID": 204611314 + }, + { + "EventID": 20461131, + "WorldLevel": 5, + "StageID": 204611315 + }, + { + "EventID": 20461131, + "WorldLevel": 6, + "StageID": 204611316 + }, + { + "EventID": 20461132, + "WorldLevel": 0, + "StageID": 204611320 + }, + { + "EventID": 20461132, + "WorldLevel": 1, + "StageID": 204611321 + }, + { + "EventID": 20461132, + "WorldLevel": 2, + "StageID": 204611322 + }, + { + "EventID": 20461132, + "WorldLevel": 3, + "StageID": 204611323 + }, + { + "EventID": 20461132, + "WorldLevel": 4, + "StageID": 204611324 + }, + { + "EventID": 20461132, + "WorldLevel": 5, + "StageID": 204611325 + }, + { + "EventID": 20461132, + "WorldLevel": 6, + "StageID": 204611326 + }, + { + "EventID": 20461133, + "WorldLevel": 0, + "StageID": 204611330 + }, + { + "EventID": 20461133, + "WorldLevel": 1, + "StageID": 204611331 + }, + { + "EventID": 20461133, + "WorldLevel": 2, + "StageID": 204611332 + }, + { + "EventID": 20461133, + "WorldLevel": 3, + "StageID": 204611333 + }, + { + "EventID": 20461133, + "WorldLevel": 4, + "StageID": 204611334 + }, + { + "EventID": 20461133, + "WorldLevel": 5, + "StageID": 204611335 + }, + { + "EventID": 20461133, + "WorldLevel": 6, + "StageID": 204611336 + }, + { + "EventID": 20461134, + "WorldLevel": 0, + "StageID": 204611340 + }, + { + "EventID": 20461134, + "WorldLevel": 1, + "StageID": 204611341 + }, + { + "EventID": 20461134, + "WorldLevel": 2, + "StageID": 204611342 + }, + { + "EventID": 20461134, + "WorldLevel": 3, + "StageID": 204611343 + }, + { + "EventID": 20461134, + "WorldLevel": 4, + "StageID": 204611344 + }, + { + "EventID": 20461134, + "WorldLevel": 5, + "StageID": 204611345 + }, + { + "EventID": 20461134, + "WorldLevel": 6, + "StageID": 204611346 + }, + { + "EventID": 20461135, + "WorldLevel": 0, + "StageID": 204611350 + }, + { + "EventID": 20461135, + "WorldLevel": 1, + "StageID": 204611351 + }, + { + "EventID": 20461135, + "WorldLevel": 2, + "StageID": 204611352 + }, + { + "EventID": 20461135, + "WorldLevel": 3, + "StageID": 204611353 + }, + { + "EventID": 20461135, + "WorldLevel": 4, + "StageID": 204611354 + }, + { + "EventID": 20461135, + "WorldLevel": 5, + "StageID": 204611355 + }, + { + "EventID": 20461135, + "WorldLevel": 6, + "StageID": 204611356 + }, + { + "EventID": 20461136, + "WorldLevel": 0, + "StageID": 204611360 + }, + { + "EventID": 20461136, + "WorldLevel": 1, + "StageID": 204611361 + }, + { + "EventID": 20461136, + "WorldLevel": 2, + "StageID": 204611362 + }, + { + "EventID": 20461136, + "WorldLevel": 3, + "StageID": 204611363 + }, + { + "EventID": 20461136, + "WorldLevel": 4, + "StageID": 204611364 + }, + { + "EventID": 20461136, + "WorldLevel": 5, + "StageID": 204611365 + }, + { + "EventID": 20461136, + "WorldLevel": 6, + "StageID": 204611366 + }, + { + "EventID": 20461137, + "WorldLevel": 0, + "StageID": 204611370 + }, + { + "EventID": 20461137, + "WorldLevel": 1, + "StageID": 204611371 + }, + { + "EventID": 20461137, + "WorldLevel": 2, + "StageID": 204611372 + }, + { + "EventID": 20461137, + "WorldLevel": 3, + "StageID": 204611373 + }, + { + "EventID": 20461137, + "WorldLevel": 4, + "StageID": 204611374 + }, + { + "EventID": 20461137, + "WorldLevel": 5, + "StageID": 204611375 + }, + { + "EventID": 20461137, + "WorldLevel": 6, + "StageID": 204611376 + }, + { + "EventID": 20462001, + "WorldLevel": 0, + "StageID": 204620010 + }, + { + "EventID": 20462001, + "WorldLevel": 1, + "StageID": 204620011 + }, + { + "EventID": 20462001, + "WorldLevel": 2, + "StageID": 204620012 + }, + { + "EventID": 20462001, + "WorldLevel": 3, + "StageID": 204620013 + }, + { + "EventID": 20462001, + "WorldLevel": 4, + "StageID": 204620014 + }, + { + "EventID": 20462001, + "WorldLevel": 5, + "StageID": 204620015 + }, + { + "EventID": 20462001, + "WorldLevel": 6, + "StageID": 204620016 + }, + { + "EventID": 20462101, + "WorldLevel": 0, + "StageID": 204621010 + }, + { + "EventID": 20462101, + "WorldLevel": 1, + "StageID": 204621011 + }, + { + "EventID": 20462101, + "WorldLevel": 2, + "StageID": 204621012 + }, + { + "EventID": 20462101, + "WorldLevel": 3, + "StageID": 204621013 + }, + { + "EventID": 20462101, + "WorldLevel": 4, + "StageID": 204621014 + }, + { + "EventID": 20462101, + "WorldLevel": 5, + "StageID": 204621015 + }, + { + "EventID": 20462101, + "WorldLevel": 6, + "StageID": 204621016 + }, + { + "EventID": 20462102, + "WorldLevel": 0, + "StageID": 204621020 + }, + { + "EventID": 20462102, + "WorldLevel": 1, + "StageID": 204621021 + }, + { + "EventID": 20462102, + "WorldLevel": 2, + "StageID": 204621022 + }, + { + "EventID": 20462102, + "WorldLevel": 3, + "StageID": 204621023 + }, + { + "EventID": 20462102, + "WorldLevel": 4, + "StageID": 204621024 + }, + { + "EventID": 20462102, + "WorldLevel": 5, + "StageID": 204621025 + }, + { + "EventID": 20462102, + "WorldLevel": 6, + "StageID": 204621026 + }, + { + "EventID": 20462103, + "WorldLevel": 0, + "StageID": 204621030 + }, + { + "EventID": 20462103, + "WorldLevel": 1, + "StageID": 204621031 + }, + { + "EventID": 20462103, + "WorldLevel": 2, + "StageID": 204621032 + }, + { + "EventID": 20462103, + "WorldLevel": 3, + "StageID": 204621033 + }, + { + "EventID": 20462103, + "WorldLevel": 4, + "StageID": 204621034 + }, + { + "EventID": 20462103, + "WorldLevel": 5, + "StageID": 204621035 + }, + { + "EventID": 20462103, + "WorldLevel": 6, + "StageID": 204621036 + }, + { + "EventID": 20462104, + "WorldLevel": 0, + "StageID": 204621040 + }, + { + "EventID": 20462104, + "WorldLevel": 1, + "StageID": 204621041 + }, + { + "EventID": 20462104, + "WorldLevel": 2, + "StageID": 204621042 + }, + { + "EventID": 20462104, + "WorldLevel": 3, + "StageID": 204621043 + }, + { + "EventID": 20462104, + "WorldLevel": 4, + "StageID": 204621044 + }, + { + "EventID": 20462104, + "WorldLevel": 5, + "StageID": 204621045 + }, + { + "EventID": 20462104, + "WorldLevel": 6, + "StageID": 204621046 + }, + { + "EventID": 20462105, + "WorldLevel": 0, + "StageID": 204621050 + }, + { + "EventID": 20462105, + "WorldLevel": 1, + "StageID": 204621051 + }, + { + "EventID": 20462105, + "WorldLevel": 2, + "StageID": 204621052 + }, + { + "EventID": 20462105, + "WorldLevel": 3, + "StageID": 204621053 + }, + { + "EventID": 20462105, + "WorldLevel": 4, + "StageID": 204621054 + }, + { + "EventID": 20462105, + "WorldLevel": 5, + "StageID": 204621055 + }, + { + "EventID": 20462105, + "WorldLevel": 6, + "StageID": 204621056 + }, + { + "EventID": 20481001, + "WorldLevel": 0, + "StageID": 204810010 + }, + { + "EventID": 20481001, + "WorldLevel": 1, + "StageID": 204810011 + }, + { + "EventID": 20481001, + "WorldLevel": 2, + "StageID": 204810012 + }, + { + "EventID": 20481001, + "WorldLevel": 3, + "StageID": 204810013 + }, + { + "EventID": 20481001, + "WorldLevel": 4, + "StageID": 204810014 + }, + { + "EventID": 20481001, + "WorldLevel": 5, + "StageID": 204810015 + }, + { + "EventID": 20481001, + "WorldLevel": 6, + "StageID": 204810016 + }, + { + "EventID": 20481003, + "WorldLevel": 0, + "StageID": 204810030 + }, + { + "EventID": 20481003, + "WorldLevel": 1, + "StageID": 204810031 + }, + { + "EventID": 20481003, + "WorldLevel": 2, + "StageID": 204810032 + }, + { + "EventID": 20481003, + "WorldLevel": 3, + "StageID": 204810033 + }, + { + "EventID": 20481003, + "WorldLevel": 4, + "StageID": 204810034 + }, + { + "EventID": 20481003, + "WorldLevel": 5, + "StageID": 204810035 + }, + { + "EventID": 20481003, + "WorldLevel": 6, + "StageID": 204810036 + }, + { + "EventID": 20481004, + "WorldLevel": 0, + "StageID": 204810040 + }, + { + "EventID": 20481004, + "WorldLevel": 1, + "StageID": 204810041 + }, + { + "EventID": 20481004, + "WorldLevel": 2, + "StageID": 204810042 + }, + { + "EventID": 20481004, + "WorldLevel": 3, + "StageID": 204810043 + }, + { + "EventID": 20481004, + "WorldLevel": 4, + "StageID": 204810044 + }, + { + "EventID": 20481004, + "WorldLevel": 5, + "StageID": 204810045 + }, + { + "EventID": 20481004, + "WorldLevel": 6, + "StageID": 204810046 + }, + { + "EventID": 20481011, + "WorldLevel": 0, + "StageID": 204810110 + }, + { + "EventID": 20481011, + "WorldLevel": 1, + "StageID": 204810111 + }, + { + "EventID": 20481011, + "WorldLevel": 2, + "StageID": 204810112 + }, + { + "EventID": 20481011, + "WorldLevel": 3, + "StageID": 204810113 + }, + { + "EventID": 20481011, + "WorldLevel": 4, + "StageID": 204810114 + }, + { + "EventID": 20481011, + "WorldLevel": 5, + "StageID": 204810115 + }, + { + "EventID": 20481011, + "WorldLevel": 6, + "StageID": 204810116 + }, + { + "EventID": 20481012, + "WorldLevel": 0, + "StageID": 204810120 + }, + { + "EventID": 20481012, + "WorldLevel": 1, + "StageID": 204810121 + }, + { + "EventID": 20481012, + "WorldLevel": 2, + "StageID": 204810122 + }, + { + "EventID": 20481012, + "WorldLevel": 3, + "StageID": 204810123 + }, + { + "EventID": 20481012, + "WorldLevel": 4, + "StageID": 204810124 + }, + { + "EventID": 20481012, + "WorldLevel": 5, + "StageID": 204810125 + }, + { + "EventID": 20481012, + "WorldLevel": 6, + "StageID": 204810126 + }, + { + "EventID": 20481021, + "WorldLevel": 0, + "StageID": 204810210 + }, + { + "EventID": 20481021, + "WorldLevel": 1, + "StageID": 204810211 + }, + { + "EventID": 20481021, + "WorldLevel": 2, + "StageID": 204810212 + }, + { + "EventID": 20481021, + "WorldLevel": 3, + "StageID": 204810213 + }, + { + "EventID": 20481021, + "WorldLevel": 4, + "StageID": 204810214 + }, + { + "EventID": 20481021, + "WorldLevel": 5, + "StageID": 204810215 + }, + { + "EventID": 20481021, + "WorldLevel": 6, + "StageID": 204810216 + }, + { + "EventID": 20481031, + "WorldLevel": 0, + "StageID": 204810310 + }, + { + "EventID": 20481031, + "WorldLevel": 1, + "StageID": 204810311 + }, + { + "EventID": 20481031, + "WorldLevel": 2, + "StageID": 204810312 + }, + { + "EventID": 20481031, + "WorldLevel": 3, + "StageID": 204810313 + }, + { + "EventID": 20481031, + "WorldLevel": 4, + "StageID": 204810314 + }, + { + "EventID": 20481031, + "WorldLevel": 5, + "StageID": 204810315 + }, + { + "EventID": 20481031, + "WorldLevel": 6, + "StageID": 204810316 + }, + { + "EventID": 20481032, + "WorldLevel": 0, + "StageID": 204810320 + }, + { + "EventID": 20481032, + "WorldLevel": 1, + "StageID": 204810321 + }, + { + "EventID": 20481032, + "WorldLevel": 2, + "StageID": 204810322 + }, + { + "EventID": 20481032, + "WorldLevel": 3, + "StageID": 204810323 + }, + { + "EventID": 20481032, + "WorldLevel": 4, + "StageID": 204810324 + }, + { + "EventID": 20481032, + "WorldLevel": 5, + "StageID": 204810325 + }, + { + "EventID": 20481032, + "WorldLevel": 6, + "StageID": 204810326 + }, + { + "EventID": 20481101, + "WorldLevel": 0, + "StageID": 204811010 + }, + { + "EventID": 20481101, + "WorldLevel": 1, + "StageID": 204811011 + }, + { + "EventID": 20481101, + "WorldLevel": 2, + "StageID": 204811012 + }, + { + "EventID": 20481101, + "WorldLevel": 3, + "StageID": 204811013 + }, + { + "EventID": 20481101, + "WorldLevel": 4, + "StageID": 204811014 + }, + { + "EventID": 20481101, + "WorldLevel": 5, + "StageID": 204811015 + }, + { + "EventID": 20481101, + "WorldLevel": 6, + "StageID": 204811016 + }, + { + "EventID": 20481103, + "WorldLevel": 0, + "StageID": 204811030 + }, + { + "EventID": 20481103, + "WorldLevel": 1, + "StageID": 204811031 + }, + { + "EventID": 20481103, + "WorldLevel": 2, + "StageID": 204811032 + }, + { + "EventID": 20481103, + "WorldLevel": 3, + "StageID": 204811033 + }, + { + "EventID": 20481103, + "WorldLevel": 4, + "StageID": 204811034 + }, + { + "EventID": 20481103, + "WorldLevel": 5, + "StageID": 204811035 + }, + { + "EventID": 20481103, + "WorldLevel": 6, + "StageID": 204811036 + }, + { + "EventID": 20481104, + "WorldLevel": 0, + "StageID": 204811040 + }, + { + "EventID": 20481104, + "WorldLevel": 1, + "StageID": 204811041 + }, + { + "EventID": 20481104, + "WorldLevel": 2, + "StageID": 204811042 + }, + { + "EventID": 20481104, + "WorldLevel": 3, + "StageID": 204811043 + }, + { + "EventID": 20481104, + "WorldLevel": 4, + "StageID": 204811044 + }, + { + "EventID": 20481104, + "WorldLevel": 5, + "StageID": 204811045 + }, + { + "EventID": 20481104, + "WorldLevel": 6, + "StageID": 204811046 + }, + { + "EventID": 20481111, + "WorldLevel": 0, + "StageID": 204811110 + }, + { + "EventID": 20481111, + "WorldLevel": 1, + "StageID": 204811111 + }, + { + "EventID": 20481111, + "WorldLevel": 2, + "StageID": 204811112 + }, + { + "EventID": 20481111, + "WorldLevel": 3, + "StageID": 204811113 + }, + { + "EventID": 20481111, + "WorldLevel": 4, + "StageID": 204811114 + }, + { + "EventID": 20481111, + "WorldLevel": 5, + "StageID": 204811115 + }, + { + "EventID": 20481111, + "WorldLevel": 6, + "StageID": 204811116 + }, + { + "EventID": 20481112, + "WorldLevel": 0, + "StageID": 204811120 + }, + { + "EventID": 20481112, + "WorldLevel": 1, + "StageID": 204811121 + }, + { + "EventID": 20481112, + "WorldLevel": 2, + "StageID": 204811122 + }, + { + "EventID": 20481112, + "WorldLevel": 3, + "StageID": 204811123 + }, + { + "EventID": 20481112, + "WorldLevel": 4, + "StageID": 204811124 + }, + { + "EventID": 20481112, + "WorldLevel": 5, + "StageID": 204811125 + }, + { + "EventID": 20481112, + "WorldLevel": 6, + "StageID": 204811126 + }, + { + "EventID": 20481121, + "WorldLevel": 0, + "StageID": 204811210 + }, + { + "EventID": 20481121, + "WorldLevel": 1, + "StageID": 204811211 + }, + { + "EventID": 20481121, + "WorldLevel": 2, + "StageID": 204811212 + }, + { + "EventID": 20481121, + "WorldLevel": 3, + "StageID": 204811213 + }, + { + "EventID": 20481121, + "WorldLevel": 4, + "StageID": 204811214 + }, + { + "EventID": 20481121, + "WorldLevel": 5, + "StageID": 204811215 + }, + { + "EventID": 20481121, + "WorldLevel": 6, + "StageID": 204811216 + }, + { + "EventID": 20481131, + "WorldLevel": 0, + "StageID": 204811310 + }, + { + "EventID": 20481131, + "WorldLevel": 1, + "StageID": 204811311 + }, + { + "EventID": 20481131, + "WorldLevel": 2, + "StageID": 204811312 + }, + { + "EventID": 20481131, + "WorldLevel": 3, + "StageID": 204811313 + }, + { + "EventID": 20481131, + "WorldLevel": 4, + "StageID": 204811314 + }, + { + "EventID": 20481131, + "WorldLevel": 5, + "StageID": 204811315 + }, + { + "EventID": 20481131, + "WorldLevel": 6, + "StageID": 204811316 + }, + { + "EventID": 20481132, + "WorldLevel": 0, + "StageID": 204811320 + }, + { + "EventID": 20481132, + "WorldLevel": 1, + "StageID": 204811321 + }, + { + "EventID": 20481132, + "WorldLevel": 2, + "StageID": 204811322 + }, + { + "EventID": 20481132, + "WorldLevel": 3, + "StageID": 204811323 + }, + { + "EventID": 20481132, + "WorldLevel": 4, + "StageID": 204811324 + }, + { + "EventID": 20481132, + "WorldLevel": 5, + "StageID": 204811325 + }, + { + "EventID": 20481132, + "WorldLevel": 6, + "StageID": 204811326 + }, + { + "EventID": 20482001, + "WorldLevel": 0, + "StageID": 204820010 + }, + { + "EventID": 20482001, + "WorldLevel": 1, + "StageID": 204820011 + }, + { + "EventID": 20482001, + "WorldLevel": 2, + "StageID": 204820012 + }, + { + "EventID": 20482001, + "WorldLevel": 3, + "StageID": 204820013 + }, + { + "EventID": 20482001, + "WorldLevel": 4, + "StageID": 204820014 + }, + { + "EventID": 20482001, + "WorldLevel": 5, + "StageID": 204820015 + }, + { + "EventID": 20482001, + "WorldLevel": 6, + "StageID": 204820016 + }, + { + "EventID": 20482002, + "WorldLevel": 0, + "StageID": 204820020 + }, + { + "EventID": 20482002, + "WorldLevel": 1, + "StageID": 204820021 + }, + { + "EventID": 20482002, + "WorldLevel": 2, + "StageID": 204820022 + }, + { + "EventID": 20482002, + "WorldLevel": 3, + "StageID": 204820023 + }, + { + "EventID": 20482002, + "WorldLevel": 4, + "StageID": 204820024 + }, + { + "EventID": 20482002, + "WorldLevel": 5, + "StageID": 204820025 + }, + { + "EventID": 20482002, + "WorldLevel": 6, + "StageID": 204820026 + }, + { + "EventID": 20482003, + "WorldLevel": 0, + "StageID": 204820030 + }, + { + "EventID": 20482003, + "WorldLevel": 1, + "StageID": 204820031 + }, + { + "EventID": 20482003, + "WorldLevel": 2, + "StageID": 204820032 + }, + { + "EventID": 20482003, + "WorldLevel": 3, + "StageID": 204820033 + }, + { + "EventID": 20482003, + "WorldLevel": 4, + "StageID": 204820034 + }, + { + "EventID": 20482003, + "WorldLevel": 5, + "StageID": 204820035 + }, + { + "EventID": 20482003, + "WorldLevel": 6, + "StageID": 204820036 + }, + { + "EventID": 20482011, + "WorldLevel": 0, + "StageID": 204820110 + }, + { + "EventID": 20482011, + "WorldLevel": 1, + "StageID": 204820111 + }, + { + "EventID": 20482011, + "WorldLevel": 2, + "StageID": 204820112 + }, + { + "EventID": 20482011, + "WorldLevel": 3, + "StageID": 204820113 + }, + { + "EventID": 20482011, + "WorldLevel": 4, + "StageID": 204820114 + }, + { + "EventID": 20482011, + "WorldLevel": 5, + "StageID": 204820115 + }, + { + "EventID": 20482011, + "WorldLevel": 6, + "StageID": 204820116 + }, + { + "EventID": 20482012, + "WorldLevel": 0, + "StageID": 204820120 + }, + { + "EventID": 20482012, + "WorldLevel": 1, + "StageID": 204820121 + }, + { + "EventID": 20482012, + "WorldLevel": 2, + "StageID": 204820122 + }, + { + "EventID": 20482012, + "WorldLevel": 3, + "StageID": 204820123 + }, + { + "EventID": 20482012, + "WorldLevel": 4, + "StageID": 204820124 + }, + { + "EventID": 20482012, + "WorldLevel": 5, + "StageID": 204820125 + }, + { + "EventID": 20482012, + "WorldLevel": 6, + "StageID": 204820126 + }, + { + "EventID": 20482013, + "WorldLevel": 0, + "StageID": 204820130 + }, + { + "EventID": 20482013, + "WorldLevel": 1, + "StageID": 204820131 + }, + { + "EventID": 20482013, + "WorldLevel": 2, + "StageID": 204820132 + }, + { + "EventID": 20482013, + "WorldLevel": 3, + "StageID": 204820133 + }, + { + "EventID": 20482013, + "WorldLevel": 4, + "StageID": 204820134 + }, + { + "EventID": 20482013, + "WorldLevel": 5, + "StageID": 204820135 + }, + { + "EventID": 20482013, + "WorldLevel": 6, + "StageID": 204820136 + }, + { + "EventID": 20482014, + "WorldLevel": 0, + "StageID": 204820140 + }, + { + "EventID": 20482014, + "WorldLevel": 1, + "StageID": 204820141 + }, + { + "EventID": 20482014, + "WorldLevel": 2, + "StageID": 204820142 + }, + { + "EventID": 20482014, + "WorldLevel": 3, + "StageID": 204820143 + }, + { + "EventID": 20482014, + "WorldLevel": 4, + "StageID": 204820144 + }, + { + "EventID": 20482014, + "WorldLevel": 5, + "StageID": 204820145 + }, + { + "EventID": 20482014, + "WorldLevel": 6, + "StageID": 204820146 + }, + { + "EventID": 20482015, + "WorldLevel": 0, + "StageID": 204820150 + }, + { + "EventID": 20482015, + "WorldLevel": 1, + "StageID": 204820151 + }, + { + "EventID": 20482015, + "WorldLevel": 2, + "StageID": 204820152 + }, + { + "EventID": 20482015, + "WorldLevel": 3, + "StageID": 204820153 + }, + { + "EventID": 20482015, + "WorldLevel": 4, + "StageID": 204820154 + }, + { + "EventID": 20482015, + "WorldLevel": 5, + "StageID": 204820155 + }, + { + "EventID": 20482015, + "WorldLevel": 6, + "StageID": 204820156 + }, + { + "EventID": 20482016, + "WorldLevel": 0, + "StageID": 204820160 + }, + { + "EventID": 20482016, + "WorldLevel": 1, + "StageID": 204820161 + }, + { + "EventID": 20482016, + "WorldLevel": 2, + "StageID": 204820162 + }, + { + "EventID": 20482016, + "WorldLevel": 3, + "StageID": 204820163 + }, + { + "EventID": 20482016, + "WorldLevel": 4, + "StageID": 204820164 + }, + { + "EventID": 20482016, + "WorldLevel": 5, + "StageID": 204820165 + }, + { + "EventID": 20482016, + "WorldLevel": 6, + "StageID": 204820166 + }, + { + "EventID": 20482101, + "WorldLevel": 0, + "StageID": 204821010 + }, + { + "EventID": 20482101, + "WorldLevel": 1, + "StageID": 204821011 + }, + { + "EventID": 20482101, + "WorldLevel": 2, + "StageID": 204821012 + }, + { + "EventID": 20482101, + "WorldLevel": 3, + "StageID": 204821013 + }, + { + "EventID": 20482101, + "WorldLevel": 4, + "StageID": 204821014 + }, + { + "EventID": 20482101, + "WorldLevel": 5, + "StageID": 204821015 + }, + { + "EventID": 20482101, + "WorldLevel": 6, + "StageID": 204821016 + }, + { + "EventID": 20482102, + "WorldLevel": 0, + "StageID": 204821020 + }, + { + "EventID": 20482102, + "WorldLevel": 1, + "StageID": 204821021 + }, + { + "EventID": 20482102, + "WorldLevel": 2, + "StageID": 204821022 + }, + { + "EventID": 20482102, + "WorldLevel": 3, + "StageID": 204821023 + }, + { + "EventID": 20482102, + "WorldLevel": 4, + "StageID": 204821024 + }, + { + "EventID": 20482102, + "WorldLevel": 5, + "StageID": 204821025 + }, + { + "EventID": 20482102, + "WorldLevel": 6, + "StageID": 204821026 + }, + { + "EventID": 20482103, + "WorldLevel": 0, + "StageID": 204821030 + }, + { + "EventID": 20482103, + "WorldLevel": 1, + "StageID": 204821031 + }, + { + "EventID": 20482103, + "WorldLevel": 2, + "StageID": 204821032 + }, + { + "EventID": 20482103, + "WorldLevel": 3, + "StageID": 204821033 + }, + { + "EventID": 20482103, + "WorldLevel": 4, + "StageID": 204821034 + }, + { + "EventID": 20482103, + "WorldLevel": 5, + "StageID": 204821035 + }, + { + "EventID": 20482103, + "WorldLevel": 6, + "StageID": 204821036 + }, + { + "EventID": 20482111, + "WorldLevel": 0, + "StageID": 204821110 + }, + { + "EventID": 20482111, + "WorldLevel": 1, + "StageID": 204821111 + }, + { + "EventID": 20482111, + "WorldLevel": 2, + "StageID": 204821112 + }, + { + "EventID": 20482111, + "WorldLevel": 3, + "StageID": 204821113 + }, + { + "EventID": 20482111, + "WorldLevel": 4, + "StageID": 204821114 + }, + { + "EventID": 20482111, + "WorldLevel": 5, + "StageID": 204821115 + }, + { + "EventID": 20482111, + "WorldLevel": 6, + "StageID": 204821116 + }, + { + "EventID": 20482112, + "WorldLevel": 0, + "StageID": 204821120 + }, + { + "EventID": 20482112, + "WorldLevel": 1, + "StageID": 204821121 + }, + { + "EventID": 20482112, + "WorldLevel": 2, + "StageID": 204821122 + }, + { + "EventID": 20482112, + "WorldLevel": 3, + "StageID": 204821123 + }, + { + "EventID": 20482112, + "WorldLevel": 4, + "StageID": 204821124 + }, + { + "EventID": 20482112, + "WorldLevel": 5, + "StageID": 204821125 + }, + { + "EventID": 20482112, + "WorldLevel": 6, + "StageID": 204821126 + }, + { + "EventID": 20482113, + "WorldLevel": 0, + "StageID": 204821130 + }, + { + "EventID": 20482113, + "WorldLevel": 1, + "StageID": 204821131 + }, + { + "EventID": 20482113, + "WorldLevel": 2, + "StageID": 204821132 + }, + { + "EventID": 20482113, + "WorldLevel": 3, + "StageID": 204821133 + }, + { + "EventID": 20482113, + "WorldLevel": 4, + "StageID": 204821134 + }, + { + "EventID": 20482113, + "WorldLevel": 5, + "StageID": 204821135 + }, + { + "EventID": 20482113, + "WorldLevel": 6, + "StageID": 204821136 + }, + { + "EventID": 20482114, + "WorldLevel": 0, + "StageID": 204821140 + }, + { + "EventID": 20482114, + "WorldLevel": 1, + "StageID": 204821141 + }, + { + "EventID": 20482114, + "WorldLevel": 2, + "StageID": 204821142 + }, + { + "EventID": 20482114, + "WorldLevel": 3, + "StageID": 204821143 + }, + { + "EventID": 20482114, + "WorldLevel": 4, + "StageID": 204821144 + }, + { + "EventID": 20482114, + "WorldLevel": 5, + "StageID": 204821145 + }, + { + "EventID": 20482114, + "WorldLevel": 6, + "StageID": 204821146 + }, + { + "EventID": 20482115, + "WorldLevel": 0, + "StageID": 204821150 + }, + { + "EventID": 20482115, + "WorldLevel": 1, + "StageID": 204821151 + }, + { + "EventID": 20482115, + "WorldLevel": 2, + "StageID": 204821152 + }, + { + "EventID": 20482115, + "WorldLevel": 3, + "StageID": 204821153 + }, + { + "EventID": 20482115, + "WorldLevel": 4, + "StageID": 204821154 + }, + { + "EventID": 20482115, + "WorldLevel": 5, + "StageID": 204821155 + }, + { + "EventID": 20482115, + "WorldLevel": 6, + "StageID": 204821156 + }, + { + "EventID": 20482116, + "WorldLevel": 0, + "StageID": 204821160 + }, + { + "EventID": 20482116, + "WorldLevel": 1, + "StageID": 204821161 + }, + { + "EventID": 20482116, + "WorldLevel": 2, + "StageID": 204821162 + }, + { + "EventID": 20482116, + "WorldLevel": 3, + "StageID": 204821163 + }, + { + "EventID": 20482116, + "WorldLevel": 4, + "StageID": 204821164 + }, + { + "EventID": 20482116, + "WorldLevel": 5, + "StageID": 204821165 + }, + { + "EventID": 20482116, + "WorldLevel": 6, + "StageID": 204821166 + }, + { + "EventID": 20501001, + "WorldLevel": 0, + "StageID": 205010010 + }, + { + "EventID": 20501001, + "WorldLevel": 1, + "StageID": 205010011 + }, + { + "EventID": 20501001, + "WorldLevel": 2, + "StageID": 205010012 + }, + { + "EventID": 20501001, + "WorldLevel": 3, + "StageID": 205010013 + }, + { + "EventID": 20501001, + "WorldLevel": 4, + "StageID": 205010014 + }, + { + "EventID": 20501001, + "WorldLevel": 5, + "StageID": 205010015 + }, + { + "EventID": 20501001, + "WorldLevel": 6, + "StageID": 205010016 + }, + { + "EventID": 20501002, + "WorldLevel": 0, + "StageID": 205010020 + }, + { + "EventID": 20501002, + "WorldLevel": 1, + "StageID": 205010021 + }, + { + "EventID": 20501002, + "WorldLevel": 2, + "StageID": 205010022 + }, + { + "EventID": 20501002, + "WorldLevel": 3, + "StageID": 205010023 + }, + { + "EventID": 20501002, + "WorldLevel": 4, + "StageID": 205010024 + }, + { + "EventID": 20501002, + "WorldLevel": 5, + "StageID": 205010025 + }, + { + "EventID": 20501002, + "WorldLevel": 6, + "StageID": 205010026 + }, + { + "EventID": 20501003, + "WorldLevel": 0, + "StageID": 205010030 + }, + { + "EventID": 20501003, + "WorldLevel": 1, + "StageID": 205010031 + }, + { + "EventID": 20501003, + "WorldLevel": 2, + "StageID": 205010032 + }, + { + "EventID": 20501003, + "WorldLevel": 3, + "StageID": 205010033 + }, + { + "EventID": 20501003, + "WorldLevel": 4, + "StageID": 205010034 + }, + { + "EventID": 20501003, + "WorldLevel": 5, + "StageID": 205010035 + }, + { + "EventID": 20501003, + "WorldLevel": 6, + "StageID": 205010036 + }, + { + "EventID": 20501004, + "WorldLevel": 0, + "StageID": 205010040 + }, + { + "EventID": 20501004, + "WorldLevel": 1, + "StageID": 205010041 + }, + { + "EventID": 20501004, + "WorldLevel": 2, + "StageID": 205010042 + }, + { + "EventID": 20501004, + "WorldLevel": 3, + "StageID": 205010043 + }, + { + "EventID": 20501004, + "WorldLevel": 4, + "StageID": 205010044 + }, + { + "EventID": 20501004, + "WorldLevel": 5, + "StageID": 205010045 + }, + { + "EventID": 20501004, + "WorldLevel": 6, + "StageID": 205010046 + }, + { + "EventID": 20501005, + "WorldLevel": 0, + "StageID": 205010050 + }, + { + "EventID": 20501005, + "WorldLevel": 1, + "StageID": 205010051 + }, + { + "EventID": 20501005, + "WorldLevel": 2, + "StageID": 205010052 + }, + { + "EventID": 20501005, + "WorldLevel": 3, + "StageID": 205010053 + }, + { + "EventID": 20501005, + "WorldLevel": 4, + "StageID": 205010054 + }, + { + "EventID": 20501005, + "WorldLevel": 5, + "StageID": 205010055 + }, + { + "EventID": 20501005, + "WorldLevel": 6, + "StageID": 205010056 + }, + { + "EventID": 20501006, + "WorldLevel": 0, + "StageID": 205010060 + }, + { + "EventID": 20501006, + "WorldLevel": 1, + "StageID": 205010061 + }, + { + "EventID": 20501006, + "WorldLevel": 2, + "StageID": 205010062 + }, + { + "EventID": 20501006, + "WorldLevel": 3, + "StageID": 205010063 + }, + { + "EventID": 20501006, + "WorldLevel": 4, + "StageID": 205010064 + }, + { + "EventID": 20501006, + "WorldLevel": 5, + "StageID": 205010065 + }, + { + "EventID": 20501006, + "WorldLevel": 6, + "StageID": 205010066 + }, + { + "EventID": 20501007, + "WorldLevel": 0, + "StageID": 205010070 + }, + { + "EventID": 20501007, + "WorldLevel": 1, + "StageID": 205010071 + }, + { + "EventID": 20501007, + "WorldLevel": 2, + "StageID": 205010072 + }, + { + "EventID": 20501007, + "WorldLevel": 3, + "StageID": 205010073 + }, + { + "EventID": 20501007, + "WorldLevel": 4, + "StageID": 205010074 + }, + { + "EventID": 20501007, + "WorldLevel": 5, + "StageID": 205010075 + }, + { + "EventID": 20501007, + "WorldLevel": 6, + "StageID": 205010076 + }, + { + "EventID": 20501008, + "WorldLevel": 0, + "StageID": 205010080 + }, + { + "EventID": 20501008, + "WorldLevel": 1, + "StageID": 205010081 + }, + { + "EventID": 20501008, + "WorldLevel": 2, + "StageID": 205010082 + }, + { + "EventID": 20501008, + "WorldLevel": 3, + "StageID": 205010083 + }, + { + "EventID": 20501008, + "WorldLevel": 4, + "StageID": 205010084 + }, + { + "EventID": 20501008, + "WorldLevel": 5, + "StageID": 205010085 + }, + { + "EventID": 20501008, + "WorldLevel": 6, + "StageID": 205010086 + }, + { + "EventID": 20501101, + "WorldLevel": 0, + "StageID": 205011010 + }, + { + "EventID": 20501101, + "WorldLevel": 1, + "StageID": 205011011 + }, + { + "EventID": 20501101, + "WorldLevel": 2, + "StageID": 205011012 + }, + { + "EventID": 20501101, + "WorldLevel": 3, + "StageID": 205011013 + }, + { + "EventID": 20501101, + "WorldLevel": 4, + "StageID": 205011014 + }, + { + "EventID": 20501101, + "WorldLevel": 5, + "StageID": 205011015 + }, + { + "EventID": 20501101, + "WorldLevel": 6, + "StageID": 205011016 + }, + { + "EventID": 20501102, + "WorldLevel": 0, + "StageID": 205011020 + }, + { + "EventID": 20501102, + "WorldLevel": 1, + "StageID": 205011021 + }, + { + "EventID": 20501102, + "WorldLevel": 2, + "StageID": 205011022 + }, + { + "EventID": 20501102, + "WorldLevel": 3, + "StageID": 205011023 + }, + { + "EventID": 20501102, + "WorldLevel": 4, + "StageID": 205011024 + }, + { + "EventID": 20501102, + "WorldLevel": 5, + "StageID": 205011025 + }, + { + "EventID": 20501102, + "WorldLevel": 6, + "StageID": 205011026 + }, + { + "EventID": 20501103, + "WorldLevel": 0, + "StageID": 205011030 + }, + { + "EventID": 20501103, + "WorldLevel": 1, + "StageID": 205011031 + }, + { + "EventID": 20501103, + "WorldLevel": 2, + "StageID": 205011032 + }, + { + "EventID": 20501103, + "WorldLevel": 3, + "StageID": 205011033 + }, + { + "EventID": 20501103, + "WorldLevel": 4, + "StageID": 205011034 + }, + { + "EventID": 20501103, + "WorldLevel": 5, + "StageID": 205011035 + }, + { + "EventID": 20501103, + "WorldLevel": 6, + "StageID": 205011036 + }, + { + "EventID": 20501104, + "WorldLevel": 0, + "StageID": 205011040 + }, + { + "EventID": 20501104, + "WorldLevel": 1, + "StageID": 205011041 + }, + { + "EventID": 20501104, + "WorldLevel": 2, + "StageID": 205011042 + }, + { + "EventID": 20501104, + "WorldLevel": 3, + "StageID": 205011043 + }, + { + "EventID": 20501104, + "WorldLevel": 4, + "StageID": 205011044 + }, + { + "EventID": 20501104, + "WorldLevel": 5, + "StageID": 205011045 + }, + { + "EventID": 20501104, + "WorldLevel": 6, + "StageID": 205011046 + }, + { + "EventID": 20501105, + "WorldLevel": 0, + "StageID": 205011050 + }, + { + "EventID": 20501105, + "WorldLevel": 1, + "StageID": 205011051 + }, + { + "EventID": 20501105, + "WorldLevel": 2, + "StageID": 205011052 + }, + { + "EventID": 20501105, + "WorldLevel": 3, + "StageID": 205011053 + }, + { + "EventID": 20501105, + "WorldLevel": 4, + "StageID": 205011054 + }, + { + "EventID": 20501105, + "WorldLevel": 5, + "StageID": 205011055 + }, + { + "EventID": 20501105, + "WorldLevel": 6, + "StageID": 205011056 + }, + { + "EventID": 20501106, + "WorldLevel": 0, + "StageID": 205011060 + }, + { + "EventID": 20501106, + "WorldLevel": 1, + "StageID": 205011061 + }, + { + "EventID": 20501106, + "WorldLevel": 2, + "StageID": 205011062 + }, + { + "EventID": 20501106, + "WorldLevel": 3, + "StageID": 205011063 + }, + { + "EventID": 20501106, + "WorldLevel": 4, + "StageID": 205011064 + }, + { + "EventID": 20501106, + "WorldLevel": 5, + "StageID": 205011065 + }, + { + "EventID": 20501106, + "WorldLevel": 6, + "StageID": 205011066 + }, + { + "EventID": 20501107, + "WorldLevel": 0, + "StageID": 205011070 + }, + { + "EventID": 20501107, + "WorldLevel": 1, + "StageID": 205011071 + }, + { + "EventID": 20501107, + "WorldLevel": 2, + "StageID": 205011072 + }, + { + "EventID": 20501107, + "WorldLevel": 3, + "StageID": 205011073 + }, + { + "EventID": 20501107, + "WorldLevel": 4, + "StageID": 205011074 + }, + { + "EventID": 20501107, + "WorldLevel": 5, + "StageID": 205011075 + }, + { + "EventID": 20501107, + "WorldLevel": 6, + "StageID": 205011076 + }, + { + "EventID": 20501108, + "WorldLevel": 0, + "StageID": 205011080 + }, + { + "EventID": 20501108, + "WorldLevel": 1, + "StageID": 205011081 + }, + { + "EventID": 20501108, + "WorldLevel": 2, + "StageID": 205011082 + }, + { + "EventID": 20501108, + "WorldLevel": 3, + "StageID": 205011083 + }, + { + "EventID": 20501108, + "WorldLevel": 4, + "StageID": 205011084 + }, + { + "EventID": 20501108, + "WorldLevel": 5, + "StageID": 205011085 + }, + { + "EventID": 20501108, + "WorldLevel": 6, + "StageID": 205011086 + }, + { + "EventID": 20501109, + "WorldLevel": 0, + "StageID": 205011090 + }, + { + "EventID": 20501109, + "WorldLevel": 1, + "StageID": 205011091 + }, + { + "EventID": 20501109, + "WorldLevel": 2, + "StageID": 205011092 + }, + { + "EventID": 20501109, + "WorldLevel": 3, + "StageID": 205011093 + }, + { + "EventID": 20501109, + "WorldLevel": 4, + "StageID": 205011094 + }, + { + "EventID": 20501109, + "WorldLevel": 5, + "StageID": 205011095 + }, + { + "EventID": 20501109, + "WorldLevel": 6, + "StageID": 205011096 + }, + { + "EventID": 20502001, + "WorldLevel": 0, + "StageID": 205020010 + }, + { + "EventID": 20502001, + "WorldLevel": 1, + "StageID": 205020011 + }, + { + "EventID": 20502001, + "WorldLevel": 2, + "StageID": 205020012 + }, + { + "EventID": 20502001, + "WorldLevel": 3, + "StageID": 205020013 + }, + { + "EventID": 20502001, + "WorldLevel": 4, + "StageID": 205020014 + }, + { + "EventID": 20502001, + "WorldLevel": 5, + "StageID": 205020015 + }, + { + "EventID": 20502001, + "WorldLevel": 6, + "StageID": 205020016 + }, + { + "EventID": 20502002, + "WorldLevel": 0, + "StageID": 205020020 + }, + { + "EventID": 20502002, + "WorldLevel": 1, + "StageID": 205020021 + }, + { + "EventID": 20502002, + "WorldLevel": 2, + "StageID": 205020022 + }, + { + "EventID": 20502002, + "WorldLevel": 3, + "StageID": 205020023 + }, + { + "EventID": 20502002, + "WorldLevel": 4, + "StageID": 205020024 + }, + { + "EventID": 20502002, + "WorldLevel": 5, + "StageID": 205020025 + }, + { + "EventID": 20502002, + "WorldLevel": 6, + "StageID": 205020026 + }, + { + "EventID": 20502003, + "WorldLevel": 0, + "StageID": 205020030 + }, + { + "EventID": 20502003, + "WorldLevel": 1, + "StageID": 205020031 + }, + { + "EventID": 20502003, + "WorldLevel": 2, + "StageID": 205020032 + }, + { + "EventID": 20502003, + "WorldLevel": 3, + "StageID": 205020033 + }, + { + "EventID": 20502003, + "WorldLevel": 4, + "StageID": 205020034 + }, + { + "EventID": 20502003, + "WorldLevel": 5, + "StageID": 205020035 + }, + { + "EventID": 20502003, + "WorldLevel": 6, + "StageID": 205020036 + }, + { + "EventID": 20502004, + "WorldLevel": 0, + "StageID": 205020040 + }, + { + "EventID": 20502004, + "WorldLevel": 1, + "StageID": 205020041 + }, + { + "EventID": 20502004, + "WorldLevel": 2, + "StageID": 205020042 + }, + { + "EventID": 20502004, + "WorldLevel": 3, + "StageID": 205020043 + }, + { + "EventID": 20502004, + "WorldLevel": 4, + "StageID": 205020044 + }, + { + "EventID": 20502004, + "WorldLevel": 5, + "StageID": 205020045 + }, + { + "EventID": 20502004, + "WorldLevel": 6, + "StageID": 205020046 + }, + { + "EventID": 20502005, + "WorldLevel": 0, + "StageID": 205020050 + }, + { + "EventID": 20502005, + "WorldLevel": 1, + "StageID": 205020051 + }, + { + "EventID": 20502005, + "WorldLevel": 2, + "StageID": 205020052 + }, + { + "EventID": 20502005, + "WorldLevel": 3, + "StageID": 205020053 + }, + { + "EventID": 20502005, + "WorldLevel": 4, + "StageID": 205020054 + }, + { + "EventID": 20502005, + "WorldLevel": 5, + "StageID": 205020055 + }, + { + "EventID": 20502005, + "WorldLevel": 6, + "StageID": 205020056 + }, + { + "EventID": 20502006, + "WorldLevel": 0, + "StageID": 205020060 + }, + { + "EventID": 20502006, + "WorldLevel": 1, + "StageID": 205020061 + }, + { + "EventID": 20502006, + "WorldLevel": 2, + "StageID": 205020062 + }, + { + "EventID": 20502006, + "WorldLevel": 3, + "StageID": 205020063 + }, + { + "EventID": 20502006, + "WorldLevel": 4, + "StageID": 205020064 + }, + { + "EventID": 20502006, + "WorldLevel": 5, + "StageID": 205020065 + }, + { + "EventID": 20502006, + "WorldLevel": 6, + "StageID": 205020066 + }, + { + "EventID": 20502007, + "WorldLevel": 0, + "StageID": 205020070 + }, + { + "EventID": 20502007, + "WorldLevel": 1, + "StageID": 205020071 + }, + { + "EventID": 20502007, + "WorldLevel": 2, + "StageID": 205020072 + }, + { + "EventID": 20502007, + "WorldLevel": 3, + "StageID": 205020073 + }, + { + "EventID": 20502007, + "WorldLevel": 4, + "StageID": 205020074 + }, + { + "EventID": 20502007, + "WorldLevel": 5, + "StageID": 205020075 + }, + { + "EventID": 20502007, + "WorldLevel": 6, + "StageID": 205020076 + }, + { + "EventID": 20502101, + "WorldLevel": 0, + "StageID": 205021010 + }, + { + "EventID": 20502101, + "WorldLevel": 1, + "StageID": 205021011 + }, + { + "EventID": 20502101, + "WorldLevel": 2, + "StageID": 205021012 + }, + { + "EventID": 20502101, + "WorldLevel": 3, + "StageID": 205021013 + }, + { + "EventID": 20502101, + "WorldLevel": 4, + "StageID": 205021014 + }, + { + "EventID": 20502101, + "WorldLevel": 5, + "StageID": 205021015 + }, + { + "EventID": 20502101, + "WorldLevel": 6, + "StageID": 205021016 + }, + { + "EventID": 20502102, + "WorldLevel": 0, + "StageID": 205021020 + }, + { + "EventID": 20502102, + "WorldLevel": 1, + "StageID": 205021021 + }, + { + "EventID": 20502102, + "WorldLevel": 2, + "StageID": 205021022 + }, + { + "EventID": 20502102, + "WorldLevel": 3, + "StageID": 205021023 + }, + { + "EventID": 20502102, + "WorldLevel": 4, + "StageID": 205021024 + }, + { + "EventID": 20502102, + "WorldLevel": 5, + "StageID": 205021025 + }, + { + "EventID": 20502102, + "WorldLevel": 6, + "StageID": 205021026 + }, + { + "EventID": 20502103, + "WorldLevel": 0, + "StageID": 205021030 + }, + { + "EventID": 20502103, + "WorldLevel": 1, + "StageID": 205021031 + }, + { + "EventID": 20502103, + "WorldLevel": 2, + "StageID": 205021032 + }, + { + "EventID": 20502103, + "WorldLevel": 3, + "StageID": 205021033 + }, + { + "EventID": 20502103, + "WorldLevel": 4, + "StageID": 205021034 + }, + { + "EventID": 20502103, + "WorldLevel": 5, + "StageID": 205021035 + }, + { + "EventID": 20502103, + "WorldLevel": 6, + "StageID": 205021036 + }, + { + "EventID": 20502104, + "WorldLevel": 0, + "StageID": 205021040 + }, + { + "EventID": 20502104, + "WorldLevel": 1, + "StageID": 205021041 + }, + { + "EventID": 20502104, + "WorldLevel": 2, + "StageID": 205021042 + }, + { + "EventID": 20502104, + "WorldLevel": 3, + "StageID": 205021043 + }, + { + "EventID": 20502104, + "WorldLevel": 4, + "StageID": 205021044 + }, + { + "EventID": 20502104, + "WorldLevel": 5, + "StageID": 205021045 + }, + { + "EventID": 20502104, + "WorldLevel": 6, + "StageID": 205021046 + }, + { + "EventID": 20502105, + "WorldLevel": 0, + "StageID": 205021050 + }, + { + "EventID": 20502105, + "WorldLevel": 1, + "StageID": 205021051 + }, + { + "EventID": 20502105, + "WorldLevel": 2, + "StageID": 205021052 + }, + { + "EventID": 20502105, + "WorldLevel": 3, + "StageID": 205021053 + }, + { + "EventID": 20502105, + "WorldLevel": 4, + "StageID": 205021054 + }, + { + "EventID": 20502105, + "WorldLevel": 5, + "StageID": 205021055 + }, + { + "EventID": 20502105, + "WorldLevel": 6, + "StageID": 205021056 + }, + { + "EventID": 20502106, + "WorldLevel": 0, + "StageID": 205021060 + }, + { + "EventID": 20502106, + "WorldLevel": 1, + "StageID": 205021061 + }, + { + "EventID": 20502106, + "WorldLevel": 2, + "StageID": 205021062 + }, + { + "EventID": 20502106, + "WorldLevel": 3, + "StageID": 205021063 + }, + { + "EventID": 20502106, + "WorldLevel": 4, + "StageID": 205021064 + }, + { + "EventID": 20502106, + "WorldLevel": 5, + "StageID": 205021065 + }, + { + "EventID": 20502106, + "WorldLevel": 6, + "StageID": 205021066 + }, + { + "EventID": 20502107, + "WorldLevel": 0, + "StageID": 205021070 + }, + { + "EventID": 20502107, + "WorldLevel": 1, + "StageID": 205021071 + }, + { + "EventID": 20502107, + "WorldLevel": 2, + "StageID": 205021072 + }, + { + "EventID": 20502107, + "WorldLevel": 3, + "StageID": 205021073 + }, + { + "EventID": 20502107, + "WorldLevel": 4, + "StageID": 205021074 + }, + { + "EventID": 20502107, + "WorldLevel": 5, + "StageID": 205021075 + }, + { + "EventID": 20502107, + "WorldLevel": 6, + "StageID": 205021076 + }, + { + "EventID": 20503001, + "WorldLevel": 0, + "StageID": 205030010 + }, + { + "EventID": 20503001, + "WorldLevel": 1, + "StageID": 205030011 + }, + { + "EventID": 20503001, + "WorldLevel": 2, + "StageID": 205030012 + }, + { + "EventID": 20503001, + "WorldLevel": 3, + "StageID": 205030013 + }, + { + "EventID": 20503001, + "WorldLevel": 4, + "StageID": 205030014 + }, + { + "EventID": 20503001, + "WorldLevel": 5, + "StageID": 205030015 + }, + { + "EventID": 20503001, + "WorldLevel": 6, + "StageID": 205030016 + }, + { + "EventID": 20503002, + "WorldLevel": 0, + "StageID": 205030020 + }, + { + "EventID": 20503002, + "WorldLevel": 1, + "StageID": 205030021 + }, + { + "EventID": 20503002, + "WorldLevel": 2, + "StageID": 205030022 + }, + { + "EventID": 20503002, + "WorldLevel": 3, + "StageID": 205030023 + }, + { + "EventID": 20503002, + "WorldLevel": 4, + "StageID": 205030024 + }, + { + "EventID": 20503002, + "WorldLevel": 5, + "StageID": 205030025 + }, + { + "EventID": 20503002, + "WorldLevel": 6, + "StageID": 205030026 + }, + { + "EventID": 20503003, + "WorldLevel": 0, + "StageID": 205030030 + }, + { + "EventID": 20503003, + "WorldLevel": 1, + "StageID": 205030031 + }, + { + "EventID": 20503003, + "WorldLevel": 2, + "StageID": 205030032 + }, + { + "EventID": 20503003, + "WorldLevel": 3, + "StageID": 205030033 + }, + { + "EventID": 20503003, + "WorldLevel": 4, + "StageID": 205030034 + }, + { + "EventID": 20503003, + "WorldLevel": 5, + "StageID": 205030035 + }, + { + "EventID": 20503003, + "WorldLevel": 6, + "StageID": 205030036 + }, + { + "EventID": 20503004, + "WorldLevel": 0, + "StageID": 205030040 + }, + { + "EventID": 20503004, + "WorldLevel": 1, + "StageID": 205030041 + }, + { + "EventID": 20503004, + "WorldLevel": 2, + "StageID": 205030042 + }, + { + "EventID": 20503004, + "WorldLevel": 3, + "StageID": 205030043 + }, + { + "EventID": 20503004, + "WorldLevel": 4, + "StageID": 205030044 + }, + { + "EventID": 20503004, + "WorldLevel": 5, + "StageID": 205030045 + }, + { + "EventID": 20503004, + "WorldLevel": 6, + "StageID": 205030046 + }, + { + "EventID": 20503005, + "WorldLevel": 0, + "StageID": 205030050 + }, + { + "EventID": 20503005, + "WorldLevel": 1, + "StageID": 205030051 + }, + { + "EventID": 20503005, + "WorldLevel": 2, + "StageID": 205030052 + }, + { + "EventID": 20503005, + "WorldLevel": 3, + "StageID": 205030053 + }, + { + "EventID": 20503005, + "WorldLevel": 4, + "StageID": 205030054 + }, + { + "EventID": 20503005, + "WorldLevel": 5, + "StageID": 205030055 + }, + { + "EventID": 20503005, + "WorldLevel": 6, + "StageID": 205030056 + }, + { + "EventID": 20503006, + "WorldLevel": 0, + "StageID": 205030060 + }, + { + "EventID": 20503006, + "WorldLevel": 1, + "StageID": 205030061 + }, + { + "EventID": 20503006, + "WorldLevel": 2, + "StageID": 205030062 + }, + { + "EventID": 20503006, + "WorldLevel": 3, + "StageID": 205030063 + }, + { + "EventID": 20503006, + "WorldLevel": 4, + "StageID": 205030064 + }, + { + "EventID": 20503006, + "WorldLevel": 5, + "StageID": 205030065 + }, + { + "EventID": 20503006, + "WorldLevel": 6, + "StageID": 205030066 + }, + { + "EventID": 20503007, + "WorldLevel": 0, + "StageID": 205030070 + }, + { + "EventID": 20503007, + "WorldLevel": 1, + "StageID": 205030071 + }, + { + "EventID": 20503007, + "WorldLevel": 2, + "StageID": 205030072 + }, + { + "EventID": 20503007, + "WorldLevel": 3, + "StageID": 205030073 + }, + { + "EventID": 20503007, + "WorldLevel": 4, + "StageID": 205030074 + }, + { + "EventID": 20503007, + "WorldLevel": 5, + "StageID": 205030075 + }, + { + "EventID": 20503007, + "WorldLevel": 6, + "StageID": 205030076 + }, + { + "EventID": 20503008, + "WorldLevel": 0, + "StageID": 205030080 + }, + { + "EventID": 20503008, + "WorldLevel": 1, + "StageID": 205030081 + }, + { + "EventID": 20503008, + "WorldLevel": 2, + "StageID": 205030082 + }, + { + "EventID": 20503008, + "WorldLevel": 3, + "StageID": 205030083 + }, + { + "EventID": 20503008, + "WorldLevel": 4, + "StageID": 205030084 + }, + { + "EventID": 20503008, + "WorldLevel": 5, + "StageID": 205030085 + }, + { + "EventID": 20503008, + "WorldLevel": 6, + "StageID": 205030086 + }, + { + "EventID": 20503009, + "WorldLevel": 0, + "StageID": 205030090 + }, + { + "EventID": 20503009, + "WorldLevel": 1, + "StageID": 205030091 + }, + { + "EventID": 20503009, + "WorldLevel": 2, + "StageID": 205030092 + }, + { + "EventID": 20503009, + "WorldLevel": 3, + "StageID": 205030093 + }, + { + "EventID": 20503009, + "WorldLevel": 4, + "StageID": 205030094 + }, + { + "EventID": 20503009, + "WorldLevel": 5, + "StageID": 205030095 + }, + { + "EventID": 20503009, + "WorldLevel": 6, + "StageID": 205030096 + }, + { + "EventID": 20503010, + "WorldLevel": 0, + "StageID": 205030100 + }, + { + "EventID": 20503010, + "WorldLevel": 1, + "StageID": 205030101 + }, + { + "EventID": 20503010, + "WorldLevel": 2, + "StageID": 205030102 + }, + { + "EventID": 20503010, + "WorldLevel": 3, + "StageID": 205030103 + }, + { + "EventID": 20503010, + "WorldLevel": 4, + "StageID": 205030104 + }, + { + "EventID": 20503010, + "WorldLevel": 5, + "StageID": 205030105 + }, + { + "EventID": 20503010, + "WorldLevel": 6, + "StageID": 205030106 + }, + { + "EventID": 20503011, + "WorldLevel": 0, + "StageID": 205030110 + }, + { + "EventID": 20503011, + "WorldLevel": 1, + "StageID": 205030111 + }, + { + "EventID": 20503011, + "WorldLevel": 2, + "StageID": 205030112 + }, + { + "EventID": 20503011, + "WorldLevel": 3, + "StageID": 205030113 + }, + { + "EventID": 20503011, + "WorldLevel": 4, + "StageID": 205030114 + }, + { + "EventID": 20503011, + "WorldLevel": 5, + "StageID": 205030115 + }, + { + "EventID": 20503011, + "WorldLevel": 6, + "StageID": 205030116 + }, + { + "EventID": 20503101, + "WorldLevel": 0, + "StageID": 205031010 + }, + { + "EventID": 20503101, + "WorldLevel": 1, + "StageID": 205031011 + }, + { + "EventID": 20503101, + "WorldLevel": 2, + "StageID": 205031012 + }, + { + "EventID": 20503101, + "WorldLevel": 3, + "StageID": 205031013 + }, + { + "EventID": 20503101, + "WorldLevel": 4, + "StageID": 205031014 + }, + { + "EventID": 20503101, + "WorldLevel": 5, + "StageID": 205031015 + }, + { + "EventID": 20503101, + "WorldLevel": 6, + "StageID": 205031016 + }, + { + "EventID": 20503102, + "WorldLevel": 0, + "StageID": 205031020 + }, + { + "EventID": 20503102, + "WorldLevel": 1, + "StageID": 205031021 + }, + { + "EventID": 20503102, + "WorldLevel": 2, + "StageID": 205031022 + }, + { + "EventID": 20503102, + "WorldLevel": 3, + "StageID": 205031023 + }, + { + "EventID": 20503102, + "WorldLevel": 4, + "StageID": 205031024 + }, + { + "EventID": 20503102, + "WorldLevel": 5, + "StageID": 205031025 + }, + { + "EventID": 20503102, + "WorldLevel": 6, + "StageID": 205031026 + }, + { + "EventID": 20503103, + "WorldLevel": 0, + "StageID": 205031030 + }, + { + "EventID": 20503103, + "WorldLevel": 1, + "StageID": 205031031 + }, + { + "EventID": 20503103, + "WorldLevel": 2, + "StageID": 205031032 + }, + { + "EventID": 20503103, + "WorldLevel": 3, + "StageID": 205031033 + }, + { + "EventID": 20503103, + "WorldLevel": 4, + "StageID": 205031034 + }, + { + "EventID": 20503103, + "WorldLevel": 5, + "StageID": 205031035 + }, + { + "EventID": 20503103, + "WorldLevel": 6, + "StageID": 205031036 + }, + { + "EventID": 20503104, + "WorldLevel": 0, + "StageID": 205031040 + }, + { + "EventID": 20503104, + "WorldLevel": 1, + "StageID": 205031041 + }, + { + "EventID": 20503104, + "WorldLevel": 2, + "StageID": 205031042 + }, + { + "EventID": 20503104, + "WorldLevel": 3, + "StageID": 205031043 + }, + { + "EventID": 20503104, + "WorldLevel": 4, + "StageID": 205031044 + }, + { + "EventID": 20503104, + "WorldLevel": 5, + "StageID": 205031045 + }, + { + "EventID": 20503104, + "WorldLevel": 6, + "StageID": 205031046 + }, + { + "EventID": 20503105, + "WorldLevel": 0, + "StageID": 205031050 + }, + { + "EventID": 20503105, + "WorldLevel": 1, + "StageID": 205031051 + }, + { + "EventID": 20503105, + "WorldLevel": 2, + "StageID": 205031052 + }, + { + "EventID": 20503105, + "WorldLevel": 3, + "StageID": 205031053 + }, + { + "EventID": 20503105, + "WorldLevel": 4, + "StageID": 205031054 + }, + { + "EventID": 20503105, + "WorldLevel": 5, + "StageID": 205031055 + }, + { + "EventID": 20503105, + "WorldLevel": 6, + "StageID": 205031056 + }, + { + "EventID": 20503106, + "WorldLevel": 0, + "StageID": 205031060 + }, + { + "EventID": 20503106, + "WorldLevel": 1, + "StageID": 205031061 + }, + { + "EventID": 20503106, + "WorldLevel": 2, + "StageID": 205031062 + }, + { + "EventID": 20503106, + "WorldLevel": 3, + "StageID": 205031063 + }, + { + "EventID": 20503106, + "WorldLevel": 4, + "StageID": 205031064 + }, + { + "EventID": 20503106, + "WorldLevel": 5, + "StageID": 205031065 + }, + { + "EventID": 20503106, + "WorldLevel": 6, + "StageID": 205031066 + }, + { + "EventID": 20503107, + "WorldLevel": 0, + "StageID": 205031070 + }, + { + "EventID": 20503107, + "WorldLevel": 1, + "StageID": 205031071 + }, + { + "EventID": 20503107, + "WorldLevel": 2, + "StageID": 205031072 + }, + { + "EventID": 20503107, + "WorldLevel": 3, + "StageID": 205031073 + }, + { + "EventID": 20503107, + "WorldLevel": 4, + "StageID": 205031074 + }, + { + "EventID": 20503107, + "WorldLevel": 5, + "StageID": 205031075 + }, + { + "EventID": 20503107, + "WorldLevel": 6, + "StageID": 205031076 + }, + { + "EventID": 20503108, + "WorldLevel": 0, + "StageID": 205031080 + }, + { + "EventID": 20503108, + "WorldLevel": 1, + "StageID": 205031081 + }, + { + "EventID": 20503108, + "WorldLevel": 2, + "StageID": 205031082 + }, + { + "EventID": 20503108, + "WorldLevel": 3, + "StageID": 205031083 + }, + { + "EventID": 20503108, + "WorldLevel": 4, + "StageID": 205031084 + }, + { + "EventID": 20503108, + "WorldLevel": 5, + "StageID": 205031085 + }, + { + "EventID": 20503108, + "WorldLevel": 6, + "StageID": 205031086 + }, + { + "EventID": 20503109, + "WorldLevel": 0, + "StageID": 205031090 + }, + { + "EventID": 20503109, + "WorldLevel": 1, + "StageID": 205031091 + }, + { + "EventID": 20503109, + "WorldLevel": 2, + "StageID": 205031092 + }, + { + "EventID": 20503109, + "WorldLevel": 3, + "StageID": 205031093 + }, + { + "EventID": 20503109, + "WorldLevel": 4, + "StageID": 205031094 + }, + { + "EventID": 20503109, + "WorldLevel": 5, + "StageID": 205031095 + }, + { + "EventID": 20503109, + "WorldLevel": 6, + "StageID": 205031096 + }, + { + "EventID": 20503110, + "WorldLevel": 0, + "StageID": 205031100 + }, + { + "EventID": 20503110, + "WorldLevel": 1, + "StageID": 205031101 + }, + { + "EventID": 20503110, + "WorldLevel": 2, + "StageID": 205031102 + }, + { + "EventID": 20503110, + "WorldLevel": 3, + "StageID": 205031103 + }, + { + "EventID": 20503110, + "WorldLevel": 4, + "StageID": 205031104 + }, + { + "EventID": 20503110, + "WorldLevel": 5, + "StageID": 205031105 + }, + { + "EventID": 20503110, + "WorldLevel": 6, + "StageID": 205031106 + }, + { + "EventID": 20503111, + "WorldLevel": 0, + "StageID": 205031110 + }, + { + "EventID": 20503111, + "WorldLevel": 1, + "StageID": 205031111 + }, + { + "EventID": 20503111, + "WorldLevel": 2, + "StageID": 205031112 + }, + { + "EventID": 20503111, + "WorldLevel": 3, + "StageID": 205031113 + }, + { + "EventID": 20503111, + "WorldLevel": 4, + "StageID": 205031114 + }, + { + "EventID": 20503111, + "WorldLevel": 5, + "StageID": 205031115 + }, + { + "EventID": 20503111, + "WorldLevel": 6, + "StageID": 205031116 + }, + { + "EventID": 20511005, + "WorldLevel": 0, + "StageID": 205110050 + }, + { + "EventID": 20511005, + "WorldLevel": 1, + "StageID": 205110051 + }, + { + "EventID": 20511005, + "WorldLevel": 2, + "StageID": 205110052 + }, + { + "EventID": 20511005, + "WorldLevel": 3, + "StageID": 205110053 + }, + { + "EventID": 20511005, + "WorldLevel": 4, + "StageID": 205110054 + }, + { + "EventID": 20511005, + "WorldLevel": 5, + "StageID": 205110055 + }, + { + "EventID": 20511005, + "WorldLevel": 6, + "StageID": 205110056 + }, + { + "EventID": 20511006, + "WorldLevel": 0, + "StageID": 205110060 + }, + { + "EventID": 20511006, + "WorldLevel": 1, + "StageID": 205110061 + }, + { + "EventID": 20511006, + "WorldLevel": 2, + "StageID": 205110062 + }, + { + "EventID": 20511006, + "WorldLevel": 3, + "StageID": 205110063 + }, + { + "EventID": 20511006, + "WorldLevel": 4, + "StageID": 205110064 + }, + { + "EventID": 20511006, + "WorldLevel": 5, + "StageID": 205110065 + }, + { + "EventID": 20511006, + "WorldLevel": 6, + "StageID": 205110066 + }, + { + "EventID": 20511007, + "WorldLevel": 0, + "StageID": 205110070 + }, + { + "EventID": 20511007, + "WorldLevel": 1, + "StageID": 205110071 + }, + { + "EventID": 20511007, + "WorldLevel": 2, + "StageID": 205110072 + }, + { + "EventID": 20511007, + "WorldLevel": 3, + "StageID": 205110073 + }, + { + "EventID": 20511007, + "WorldLevel": 4, + "StageID": 205110074 + }, + { + "EventID": 20511007, + "WorldLevel": 5, + "StageID": 205110075 + }, + { + "EventID": 20511007, + "WorldLevel": 6, + "StageID": 205110076 + }, + { + "EventID": 20511008, + "WorldLevel": 0, + "StageID": 205110080 + }, + { + "EventID": 20511008, + "WorldLevel": 1, + "StageID": 205110081 + }, + { + "EventID": 20511008, + "WorldLevel": 2, + "StageID": 205110082 + }, + { + "EventID": 20511008, + "WorldLevel": 3, + "StageID": 205110083 + }, + { + "EventID": 20511008, + "WorldLevel": 4, + "StageID": 205110084 + }, + { + "EventID": 20511008, + "WorldLevel": 5, + "StageID": 205110085 + }, + { + "EventID": 20511008, + "WorldLevel": 6, + "StageID": 205110086 + }, + { + "EventID": 20511009, + "WorldLevel": 0, + "StageID": 205110090 + }, + { + "EventID": 20511009, + "WorldLevel": 1, + "StageID": 205110091 + }, + { + "EventID": 20511009, + "WorldLevel": 2, + "StageID": 205110092 + }, + { + "EventID": 20511009, + "WorldLevel": 3, + "StageID": 205110093 + }, + { + "EventID": 20511009, + "WorldLevel": 4, + "StageID": 205110094 + }, + { + "EventID": 20511009, + "WorldLevel": 5, + "StageID": 205110095 + }, + { + "EventID": 20511009, + "WorldLevel": 6, + "StageID": 205110096 + }, + { + "EventID": 20511010, + "WorldLevel": 0, + "StageID": 205110100 + }, + { + "EventID": 20511010, + "WorldLevel": 1, + "StageID": 205110101 + }, + { + "EventID": 20511010, + "WorldLevel": 2, + "StageID": 205110102 + }, + { + "EventID": 20511010, + "WorldLevel": 3, + "StageID": 205110103 + }, + { + "EventID": 20511010, + "WorldLevel": 4, + "StageID": 205110104 + }, + { + "EventID": 20511010, + "WorldLevel": 5, + "StageID": 205110105 + }, + { + "EventID": 20511010, + "WorldLevel": 6, + "StageID": 205110106 + }, + { + "EventID": 20511011, + "WorldLevel": 0, + "StageID": 205110110 + }, + { + "EventID": 20511011, + "WorldLevel": 1, + "StageID": 205110111 + }, + { + "EventID": 20511011, + "WorldLevel": 2, + "StageID": 205110112 + }, + { + "EventID": 20511011, + "WorldLevel": 3, + "StageID": 205110113 + }, + { + "EventID": 20511011, + "WorldLevel": 4, + "StageID": 205110114 + }, + { + "EventID": 20511011, + "WorldLevel": 5, + "StageID": 205110115 + }, + { + "EventID": 20511011, + "WorldLevel": 6, + "StageID": 205110116 + }, + { + "EventID": 20511012, + "WorldLevel": 0, + "StageID": 205110120 + }, + { + "EventID": 20511012, + "WorldLevel": 1, + "StageID": 205110121 + }, + { + "EventID": 20511012, + "WorldLevel": 2, + "StageID": 205110122 + }, + { + "EventID": 20511012, + "WorldLevel": 3, + "StageID": 205110123 + }, + { + "EventID": 20511012, + "WorldLevel": 4, + "StageID": 205110124 + }, + { + "EventID": 20511012, + "WorldLevel": 5, + "StageID": 205110125 + }, + { + "EventID": 20511012, + "WorldLevel": 6, + "StageID": 205110126 + }, + { + "EventID": 20511013, + "WorldLevel": 0, + "StageID": 205110130 + }, + { + "EventID": 20511013, + "WorldLevel": 1, + "StageID": 205110131 + }, + { + "EventID": 20511013, + "WorldLevel": 2, + "StageID": 205110132 + }, + { + "EventID": 20511013, + "WorldLevel": 3, + "StageID": 205110133 + }, + { + "EventID": 20511013, + "WorldLevel": 4, + "StageID": 205110134 + }, + { + "EventID": 20511013, + "WorldLevel": 5, + "StageID": 205110135 + }, + { + "EventID": 20511013, + "WorldLevel": 6, + "StageID": 205110136 + }, + { + "EventID": 20511105, + "WorldLevel": 0, + "StageID": 205111050 + }, + { + "EventID": 20511105, + "WorldLevel": 1, + "StageID": 205111051 + }, + { + "EventID": 20511105, + "WorldLevel": 2, + "StageID": 205111052 + }, + { + "EventID": 20511105, + "WorldLevel": 3, + "StageID": 205111053 + }, + { + "EventID": 20511105, + "WorldLevel": 4, + "StageID": 205111054 + }, + { + "EventID": 20511105, + "WorldLevel": 5, + "StageID": 205111055 + }, + { + "EventID": 20511105, + "WorldLevel": 6, + "StageID": 205111056 + }, + { + "EventID": 20511106, + "WorldLevel": 0, + "StageID": 205111060 + }, + { + "EventID": 20511106, + "WorldLevel": 1, + "StageID": 205111061 + }, + { + "EventID": 20511106, + "WorldLevel": 2, + "StageID": 205111062 + }, + { + "EventID": 20511106, + "WorldLevel": 3, + "StageID": 205111063 + }, + { + "EventID": 20511106, + "WorldLevel": 4, + "StageID": 205111064 + }, + { + "EventID": 20511106, + "WorldLevel": 5, + "StageID": 205111065 + }, + { + "EventID": 20511106, + "WorldLevel": 6, + "StageID": 205111066 + }, + { + "EventID": 20511107, + "WorldLevel": 0, + "StageID": 205111070 + }, + { + "EventID": 20511107, + "WorldLevel": 1, + "StageID": 205111071 + }, + { + "EventID": 20511107, + "WorldLevel": 2, + "StageID": 205111072 + }, + { + "EventID": 20511107, + "WorldLevel": 3, + "StageID": 205111073 + }, + { + "EventID": 20511107, + "WorldLevel": 4, + "StageID": 205111074 + }, + { + "EventID": 20511107, + "WorldLevel": 5, + "StageID": 205111075 + }, + { + "EventID": 20511107, + "WorldLevel": 6, + "StageID": 205111076 + }, + { + "EventID": 20511108, + "WorldLevel": 0, + "StageID": 205111080 + }, + { + "EventID": 20511108, + "WorldLevel": 1, + "StageID": 205111081 + }, + { + "EventID": 20511108, + "WorldLevel": 2, + "StageID": 205111082 + }, + { + "EventID": 20511108, + "WorldLevel": 3, + "StageID": 205111083 + }, + { + "EventID": 20511108, + "WorldLevel": 4, + "StageID": 205111084 + }, + { + "EventID": 20511108, + "WorldLevel": 5, + "StageID": 205111085 + }, + { + "EventID": 20511108, + "WorldLevel": 6, + "StageID": 205111086 + }, + { + "EventID": 20511109, + "WorldLevel": 0, + "StageID": 205111090 + }, + { + "EventID": 20511109, + "WorldLevel": 1, + "StageID": 205111091 + }, + { + "EventID": 20511109, + "WorldLevel": 2, + "StageID": 205111092 + }, + { + "EventID": 20511109, + "WorldLevel": 3, + "StageID": 205111093 + }, + { + "EventID": 20511109, + "WorldLevel": 4, + "StageID": 205111094 + }, + { + "EventID": 20511109, + "WorldLevel": 5, + "StageID": 205111095 + }, + { + "EventID": 20511109, + "WorldLevel": 6, + "StageID": 205111096 + }, + { + "EventID": 20511110, + "WorldLevel": 0, + "StageID": 205111100 + }, + { + "EventID": 20511110, + "WorldLevel": 1, + "StageID": 205111101 + }, + { + "EventID": 20511110, + "WorldLevel": 2, + "StageID": 205111102 + }, + { + "EventID": 20511110, + "WorldLevel": 3, + "StageID": 205111103 + }, + { + "EventID": 20511110, + "WorldLevel": 4, + "StageID": 205111104 + }, + { + "EventID": 20511110, + "WorldLevel": 5, + "StageID": 205111105 + }, + { + "EventID": 20511110, + "WorldLevel": 6, + "StageID": 205111106 + }, + { + "EventID": 20511111, + "WorldLevel": 0, + "StageID": 205111110 + }, + { + "EventID": 20511111, + "WorldLevel": 1, + "StageID": 205111111 + }, + { + "EventID": 20511111, + "WorldLevel": 2, + "StageID": 205111112 + }, + { + "EventID": 20511111, + "WorldLevel": 3, + "StageID": 205111113 + }, + { + "EventID": 20511111, + "WorldLevel": 4, + "StageID": 205111114 + }, + { + "EventID": 20511111, + "WorldLevel": 5, + "StageID": 205111115 + }, + { + "EventID": 20511111, + "WorldLevel": 6, + "StageID": 205111116 + }, + { + "EventID": 20511112, + "WorldLevel": 0, + "StageID": 205111120 + }, + { + "EventID": 20511112, + "WorldLevel": 1, + "StageID": 205111121 + }, + { + "EventID": 20511112, + "WorldLevel": 2, + "StageID": 205111122 + }, + { + "EventID": 20511112, + "WorldLevel": 3, + "StageID": 205111123 + }, + { + "EventID": 20511112, + "WorldLevel": 4, + "StageID": 205111124 + }, + { + "EventID": 20511112, + "WorldLevel": 5, + "StageID": 205111125 + }, + { + "EventID": 20511112, + "WorldLevel": 6, + "StageID": 205111126 + }, + { + "EventID": 20511113, + "WorldLevel": 0, + "StageID": 205111130 + }, + { + "EventID": 20511113, + "WorldLevel": 1, + "StageID": 205111131 + }, + { + "EventID": 20511113, + "WorldLevel": 2, + "StageID": 205111132 + }, + { + "EventID": 20511113, + "WorldLevel": 3, + "StageID": 205111133 + }, + { + "EventID": 20511113, + "WorldLevel": 4, + "StageID": 205111134 + }, + { + "EventID": 20511113, + "WorldLevel": 5, + "StageID": 205111135 + }, + { + "EventID": 20511113, + "WorldLevel": 6, + "StageID": 205111136 + }, + { + "EventID": 20513001, + "WorldLevel": 0, + "StageID": 205130010 + }, + { + "EventID": 20513001, + "WorldLevel": 1, + "StageID": 205130011 + }, + { + "EventID": 20513001, + "WorldLevel": 2, + "StageID": 205130012 + }, + { + "EventID": 20513001, + "WorldLevel": 3, + "StageID": 205130013 + }, + { + "EventID": 20513001, + "WorldLevel": 4, + "StageID": 205130014 + }, + { + "EventID": 20513001, + "WorldLevel": 5, + "StageID": 205130015 + }, + { + "EventID": 20513001, + "WorldLevel": 6, + "StageID": 205130016 + }, + { + "EventID": 20513002, + "WorldLevel": 0, + "StageID": 205130020 + }, + { + "EventID": 20513002, + "WorldLevel": 1, + "StageID": 205130021 + }, + { + "EventID": 20513002, + "WorldLevel": 2, + "StageID": 205130022 + }, + { + "EventID": 20513002, + "WorldLevel": 3, + "StageID": 205130023 + }, + { + "EventID": 20513002, + "WorldLevel": 4, + "StageID": 205130024 + }, + { + "EventID": 20513002, + "WorldLevel": 5, + "StageID": 205130025 + }, + { + "EventID": 20513002, + "WorldLevel": 6, + "StageID": 205130026 + }, + { + "EventID": 20513003, + "WorldLevel": 0, + "StageID": 205130030 + }, + { + "EventID": 20513003, + "WorldLevel": 1, + "StageID": 205130031 + }, + { + "EventID": 20513003, + "WorldLevel": 2, + "StageID": 205130032 + }, + { + "EventID": 20513003, + "WorldLevel": 3, + "StageID": 205130033 + }, + { + "EventID": 20513003, + "WorldLevel": 4, + "StageID": 205130034 + }, + { + "EventID": 20513003, + "WorldLevel": 5, + "StageID": 205130035 + }, + { + "EventID": 20513003, + "WorldLevel": 6, + "StageID": 205130036 + }, + { + "EventID": 20513004, + "WorldLevel": 0, + "StageID": 205130040 + }, + { + "EventID": 20513004, + "WorldLevel": 1, + "StageID": 205130041 + }, + { + "EventID": 20513004, + "WorldLevel": 2, + "StageID": 205130042 + }, + { + "EventID": 20513004, + "WorldLevel": 3, + "StageID": 205130043 + }, + { + "EventID": 20513004, + "WorldLevel": 4, + "StageID": 205130044 + }, + { + "EventID": 20513004, + "WorldLevel": 5, + "StageID": 205130045 + }, + { + "EventID": 20513004, + "WorldLevel": 6, + "StageID": 205130046 + }, + { + "EventID": 20513005, + "WorldLevel": 0, + "StageID": 205130050 + }, + { + "EventID": 20513005, + "WorldLevel": 1, + "StageID": 205130051 + }, + { + "EventID": 20513005, + "WorldLevel": 2, + "StageID": 205130052 + }, + { + "EventID": 20513005, + "WorldLevel": 3, + "StageID": 205130053 + }, + { + "EventID": 20513005, + "WorldLevel": 4, + "StageID": 205130054 + }, + { + "EventID": 20513005, + "WorldLevel": 5, + "StageID": 205130055 + }, + { + "EventID": 20513005, + "WorldLevel": 6, + "StageID": 205130056 + }, + { + "EventID": 20513006, + "WorldLevel": 0, + "StageID": 205130060 + }, + { + "EventID": 20513006, + "WorldLevel": 1, + "StageID": 205130061 + }, + { + "EventID": 20513006, + "WorldLevel": 2, + "StageID": 205130062 + }, + { + "EventID": 20513006, + "WorldLevel": 3, + "StageID": 205130063 + }, + { + "EventID": 20513006, + "WorldLevel": 4, + "StageID": 205130064 + }, + { + "EventID": 20513006, + "WorldLevel": 5, + "StageID": 205130065 + }, + { + "EventID": 20513006, + "WorldLevel": 6, + "StageID": 205130066 + }, + { + "EventID": 20513101, + "WorldLevel": 0, + "StageID": 205131010 + }, + { + "EventID": 20513101, + "WorldLevel": 1, + "StageID": 205131011 + }, + { + "EventID": 20513101, + "WorldLevel": 2, + "StageID": 205131012 + }, + { + "EventID": 20513101, + "WorldLevel": 3, + "StageID": 205131013 + }, + { + "EventID": 20513101, + "WorldLevel": 4, + "StageID": 205131014 + }, + { + "EventID": 20513101, + "WorldLevel": 5, + "StageID": 205131015 + }, + { + "EventID": 20513101, + "WorldLevel": 6, + "StageID": 205131016 + }, + { + "EventID": 20513102, + "WorldLevel": 0, + "StageID": 205131020 + }, + { + "EventID": 20513102, + "WorldLevel": 1, + "StageID": 205131021 + }, + { + "EventID": 20513102, + "WorldLevel": 2, + "StageID": 205131022 + }, + { + "EventID": 20513102, + "WorldLevel": 3, + "StageID": 205131023 + }, + { + "EventID": 20513102, + "WorldLevel": 4, + "StageID": 205131024 + }, + { + "EventID": 20513102, + "WorldLevel": 5, + "StageID": 205131025 + }, + { + "EventID": 20513102, + "WorldLevel": 6, + "StageID": 205131026 + }, + { + "EventID": 20513103, + "WorldLevel": 0, + "StageID": 205131030 + }, + { + "EventID": 20513103, + "WorldLevel": 1, + "StageID": 205131031 + }, + { + "EventID": 20513103, + "WorldLevel": 2, + "StageID": 205131032 + }, + { + "EventID": 20513103, + "WorldLevel": 3, + "StageID": 205131033 + }, + { + "EventID": 20513103, + "WorldLevel": 4, + "StageID": 205131034 + }, + { + "EventID": 20513103, + "WorldLevel": 5, + "StageID": 205131035 + }, + { + "EventID": 20513103, + "WorldLevel": 6, + "StageID": 205131036 + }, + { + "EventID": 20513104, + "WorldLevel": 0, + "StageID": 205131040 + }, + { + "EventID": 20513104, + "WorldLevel": 1, + "StageID": 205131041 + }, + { + "EventID": 20513104, + "WorldLevel": 2, + "StageID": 205131042 + }, + { + "EventID": 20513104, + "WorldLevel": 3, + "StageID": 205131043 + }, + { + "EventID": 20513104, + "WorldLevel": 4, + "StageID": 205131044 + }, + { + "EventID": 20513104, + "WorldLevel": 5, + "StageID": 205131045 + }, + { + "EventID": 20513104, + "WorldLevel": 6, + "StageID": 205131046 + }, + { + "EventID": 20513105, + "WorldLevel": 0, + "StageID": 205131050 + }, + { + "EventID": 20513105, + "WorldLevel": 1, + "StageID": 205131051 + }, + { + "EventID": 20513105, + "WorldLevel": 2, + "StageID": 205131052 + }, + { + "EventID": 20513105, + "WorldLevel": 3, + "StageID": 205131053 + }, + { + "EventID": 20513105, + "WorldLevel": 4, + "StageID": 205131054 + }, + { + "EventID": 20513105, + "WorldLevel": 5, + "StageID": 205131055 + }, + { + "EventID": 20513105, + "WorldLevel": 6, + "StageID": 205131056 + }, + { + "EventID": 20513106, + "WorldLevel": 0, + "StageID": 205131060 + }, + { + "EventID": 20513106, + "WorldLevel": 1, + "StageID": 205131061 + }, + { + "EventID": 20513106, + "WorldLevel": 2, + "StageID": 205131062 + }, + { + "EventID": 20513106, + "WorldLevel": 3, + "StageID": 205131063 + }, + { + "EventID": 20513106, + "WorldLevel": 4, + "StageID": 205131064 + }, + { + "EventID": 20513106, + "WorldLevel": 5, + "StageID": 205131065 + }, + { + "EventID": 20513106, + "WorldLevel": 6, + "StageID": 205131066 + }, + { + "EventID": 20521001, + "WorldLevel": 0, + "StageID": 205210010 + }, + { + "EventID": 20521001, + "WorldLevel": 1, + "StageID": 205210011 + }, + { + "EventID": 20521001, + "WorldLevel": 2, + "StageID": 205210012 + }, + { + "EventID": 20521001, + "WorldLevel": 3, + "StageID": 205210013 + }, + { + "EventID": 20521001, + "WorldLevel": 4, + "StageID": 205210014 + }, + { + "EventID": 20521001, + "WorldLevel": 5, + "StageID": 205210015 + }, + { + "EventID": 20521001, + "WorldLevel": 6, + "StageID": 205210016 + }, + { + "EventID": 20521002, + "WorldLevel": 0, + "StageID": 205210020 + }, + { + "EventID": 20521002, + "WorldLevel": 1, + "StageID": 205210021 + }, + { + "EventID": 20521002, + "WorldLevel": 2, + "StageID": 205210022 + }, + { + "EventID": 20521002, + "WorldLevel": 3, + "StageID": 205210023 + }, + { + "EventID": 20521002, + "WorldLevel": 4, + "StageID": 205210024 + }, + { + "EventID": 20521002, + "WorldLevel": 5, + "StageID": 205210025 + }, + { + "EventID": 20521002, + "WorldLevel": 6, + "StageID": 205210026 + }, + { + "EventID": 20521003, + "WorldLevel": 0, + "StageID": 205210030 + }, + { + "EventID": 20521003, + "WorldLevel": 1, + "StageID": 205210031 + }, + { + "EventID": 20521003, + "WorldLevel": 2, + "StageID": 205210032 + }, + { + "EventID": 20521003, + "WorldLevel": 3, + "StageID": 205210033 + }, + { + "EventID": 20521003, + "WorldLevel": 4, + "StageID": 205210034 + }, + { + "EventID": 20521003, + "WorldLevel": 5, + "StageID": 205210035 + }, + { + "EventID": 20521003, + "WorldLevel": 6, + "StageID": 205210036 + }, + { + "EventID": 20521004, + "WorldLevel": 0, + "StageID": 205210040 + }, + { + "EventID": 20521004, + "WorldLevel": 1, + "StageID": 205210041 + }, + { + "EventID": 20521004, + "WorldLevel": 2, + "StageID": 205210042 + }, + { + "EventID": 20521004, + "WorldLevel": 3, + "StageID": 205210043 + }, + { + "EventID": 20521004, + "WorldLevel": 4, + "StageID": 205210044 + }, + { + "EventID": 20521004, + "WorldLevel": 5, + "StageID": 205210045 + }, + { + "EventID": 20521004, + "WorldLevel": 6, + "StageID": 205210046 + }, + { + "EventID": 20521005, + "WorldLevel": 0, + "StageID": 205210050 + }, + { + "EventID": 20521005, + "WorldLevel": 1, + "StageID": 205210051 + }, + { + "EventID": 20521005, + "WorldLevel": 2, + "StageID": 205210052 + }, + { + "EventID": 20521005, + "WorldLevel": 3, + "StageID": 205210053 + }, + { + "EventID": 20521005, + "WorldLevel": 4, + "StageID": 205210054 + }, + { + "EventID": 20521005, + "WorldLevel": 5, + "StageID": 205210055 + }, + { + "EventID": 20521005, + "WorldLevel": 6, + "StageID": 205210056 + }, + { + "EventID": 20521006, + "WorldLevel": 0, + "StageID": 205210060 + }, + { + "EventID": 20521006, + "WorldLevel": 1, + "StageID": 205210061 + }, + { + "EventID": 20521006, + "WorldLevel": 2, + "StageID": 205210062 + }, + { + "EventID": 20521006, + "WorldLevel": 3, + "StageID": 205210063 + }, + { + "EventID": 20521006, + "WorldLevel": 4, + "StageID": 205210064 + }, + { + "EventID": 20521006, + "WorldLevel": 5, + "StageID": 205210065 + }, + { + "EventID": 20521006, + "WorldLevel": 6, + "StageID": 205210066 + }, + { + "EventID": 20521007, + "WorldLevel": 0, + "StageID": 205210070 + }, + { + "EventID": 20521007, + "WorldLevel": 1, + "StageID": 205210071 + }, + { + "EventID": 20521007, + "WorldLevel": 2, + "StageID": 205210072 + }, + { + "EventID": 20521007, + "WorldLevel": 3, + "StageID": 205210073 + }, + { + "EventID": 20521007, + "WorldLevel": 4, + "StageID": 205210074 + }, + { + "EventID": 20521007, + "WorldLevel": 5, + "StageID": 205210075 + }, + { + "EventID": 20521007, + "WorldLevel": 6, + "StageID": 205210076 + }, + { + "EventID": 20521101, + "WorldLevel": 0, + "StageID": 205211010 + }, + { + "EventID": 20521101, + "WorldLevel": 1, + "StageID": 205211011 + }, + { + "EventID": 20521101, + "WorldLevel": 2, + "StageID": 205211012 + }, + { + "EventID": 20521101, + "WorldLevel": 3, + "StageID": 205211013 + }, + { + "EventID": 20521101, + "WorldLevel": 4, + "StageID": 205211014 + }, + { + "EventID": 20521101, + "WorldLevel": 5, + "StageID": 205211015 + }, + { + "EventID": 20521101, + "WorldLevel": 6, + "StageID": 205211016 + }, + { + "EventID": 20521102, + "WorldLevel": 0, + "StageID": 205211020 + }, + { + "EventID": 20521102, + "WorldLevel": 1, + "StageID": 205211021 + }, + { + "EventID": 20521102, + "WorldLevel": 2, + "StageID": 205211022 + }, + { + "EventID": 20521102, + "WorldLevel": 3, + "StageID": 205211023 + }, + { + "EventID": 20521102, + "WorldLevel": 4, + "StageID": 205211024 + }, + { + "EventID": 20521102, + "WorldLevel": 5, + "StageID": 205211025 + }, + { + "EventID": 20521102, + "WorldLevel": 6, + "StageID": 205211026 + }, + { + "EventID": 20521103, + "WorldLevel": 0, + "StageID": 205211030 + }, + { + "EventID": 20521103, + "WorldLevel": 1, + "StageID": 205211031 + }, + { + "EventID": 20521103, + "WorldLevel": 2, + "StageID": 205211032 + }, + { + "EventID": 20521103, + "WorldLevel": 3, + "StageID": 205211033 + }, + { + "EventID": 20521103, + "WorldLevel": 4, + "StageID": 205211034 + }, + { + "EventID": 20521103, + "WorldLevel": 5, + "StageID": 205211035 + }, + { + "EventID": 20521103, + "WorldLevel": 6, + "StageID": 205211036 + }, + { + "EventID": 20521104, + "WorldLevel": 0, + "StageID": 205211040 + }, + { + "EventID": 20521104, + "WorldLevel": 1, + "StageID": 205211041 + }, + { + "EventID": 20521104, + "WorldLevel": 2, + "StageID": 205211042 + }, + { + "EventID": 20521104, + "WorldLevel": 3, + "StageID": 205211043 + }, + { + "EventID": 20521104, + "WorldLevel": 4, + "StageID": 205211044 + }, + { + "EventID": 20521104, + "WorldLevel": 5, + "StageID": 205211045 + }, + { + "EventID": 20521104, + "WorldLevel": 6, + "StageID": 205211046 + }, + { + "EventID": 20521105, + "WorldLevel": 0, + "StageID": 205211050 + }, + { + "EventID": 20521105, + "WorldLevel": 1, + "StageID": 205211051 + }, + { + "EventID": 20521105, + "WorldLevel": 2, + "StageID": 205211052 + }, + { + "EventID": 20521105, + "WorldLevel": 3, + "StageID": 205211053 + }, + { + "EventID": 20521105, + "WorldLevel": 4, + "StageID": 205211054 + }, + { + "EventID": 20521105, + "WorldLevel": 5, + "StageID": 205211055 + }, + { + "EventID": 20521105, + "WorldLevel": 6, + "StageID": 205211056 + }, + { + "EventID": 20521106, + "WorldLevel": 0, + "StageID": 205211060 + }, + { + "EventID": 20521106, + "WorldLevel": 1, + "StageID": 205211061 + }, + { + "EventID": 20521106, + "WorldLevel": 2, + "StageID": 205211062 + }, + { + "EventID": 20521106, + "WorldLevel": 3, + "StageID": 205211063 + }, + { + "EventID": 20521106, + "WorldLevel": 4, + "StageID": 205211064 + }, + { + "EventID": 20521106, + "WorldLevel": 5, + "StageID": 205211065 + }, + { + "EventID": 20521106, + "WorldLevel": 6, + "StageID": 205211066 + }, + { + "EventID": 20521107, + "WorldLevel": 0, + "StageID": 205211070 + }, + { + "EventID": 20521107, + "WorldLevel": 1, + "StageID": 205211071 + }, + { + "EventID": 20521107, + "WorldLevel": 2, + "StageID": 205211072 + }, + { + "EventID": 20521107, + "WorldLevel": 3, + "StageID": 205211073 + }, + { + "EventID": 20521107, + "WorldLevel": 4, + "StageID": 205211074 + }, + { + "EventID": 20521107, + "WorldLevel": 5, + "StageID": 205211075 + }, + { + "EventID": 20521107, + "WorldLevel": 6, + "StageID": 205211076 + }, + { + "EventID": 20521108, + "WorldLevel": 0, + "StageID": 205211080 + }, + { + "EventID": 20521108, + "WorldLevel": 1, + "StageID": 205211081 + }, + { + "EventID": 20521108, + "WorldLevel": 2, + "StageID": 205211082 + }, + { + "EventID": 20521108, + "WorldLevel": 3, + "StageID": 205211083 + }, + { + "EventID": 20521108, + "WorldLevel": 4, + "StageID": 205211084 + }, + { + "EventID": 20521108, + "WorldLevel": 5, + "StageID": 205211085 + }, + { + "EventID": 20521108, + "WorldLevel": 6, + "StageID": 205211086 + }, + { + "EventID": 20531001, + "WorldLevel": 0, + "StageID": 205310010 + }, + { + "EventID": 20531001, + "WorldLevel": 1, + "StageID": 205310011 + }, + { + "EventID": 20531001, + "WorldLevel": 2, + "StageID": 205310012 + }, + { + "EventID": 20531001, + "WorldLevel": 3, + "StageID": 205310013 + }, + { + "EventID": 20531001, + "WorldLevel": 4, + "StageID": 205310014 + }, + { + "EventID": 20531001, + "WorldLevel": 5, + "StageID": 205310015 + }, + { + "EventID": 20531001, + "WorldLevel": 6, + "StageID": 205310016 + }, + { + "EventID": 20531002, + "WorldLevel": 0, + "StageID": 205310020 + }, + { + "EventID": 20531002, + "WorldLevel": 1, + "StageID": 205310021 + }, + { + "EventID": 20531002, + "WorldLevel": 2, + "StageID": 205310022 + }, + { + "EventID": 20531002, + "WorldLevel": 3, + "StageID": 205310023 + }, + { + "EventID": 20531002, + "WorldLevel": 4, + "StageID": 205310024 + }, + { + "EventID": 20531002, + "WorldLevel": 5, + "StageID": 205310025 + }, + { + "EventID": 20531002, + "WorldLevel": 6, + "StageID": 205310026 + }, + { + "EventID": 20531003, + "WorldLevel": 0, + "StageID": 205310030 + }, + { + "EventID": 20531003, + "WorldLevel": 1, + "StageID": 205310031 + }, + { + "EventID": 20531003, + "WorldLevel": 2, + "StageID": 205310032 + }, + { + "EventID": 20531003, + "WorldLevel": 3, + "StageID": 205310033 + }, + { + "EventID": 20531003, + "WorldLevel": 4, + "StageID": 205310034 + }, + { + "EventID": 20531003, + "WorldLevel": 5, + "StageID": 205310035 + }, + { + "EventID": 20531003, + "WorldLevel": 6, + "StageID": 205310036 + }, + { + "EventID": 20531004, + "WorldLevel": 0, + "StageID": 205310040 + }, + { + "EventID": 20531004, + "WorldLevel": 1, + "StageID": 205310041 + }, + { + "EventID": 20531004, + "WorldLevel": 2, + "StageID": 205310042 + }, + { + "EventID": 20531004, + "WorldLevel": 3, + "StageID": 205310043 + }, + { + "EventID": 20531004, + "WorldLevel": 4, + "StageID": 205310044 + }, + { + "EventID": 20531004, + "WorldLevel": 5, + "StageID": 205310045 + }, + { + "EventID": 20531004, + "WorldLevel": 6, + "StageID": 205310046 + }, + { + "EventID": 20531005, + "WorldLevel": 0, + "StageID": 205310050 + }, + { + "EventID": 20531005, + "WorldLevel": 1, + "StageID": 205310051 + }, + { + "EventID": 20531005, + "WorldLevel": 2, + "StageID": 205310052 + }, + { + "EventID": 20531005, + "WorldLevel": 3, + "StageID": 205310053 + }, + { + "EventID": 20531005, + "WorldLevel": 4, + "StageID": 205310054 + }, + { + "EventID": 20531005, + "WorldLevel": 5, + "StageID": 205310055 + }, + { + "EventID": 20531005, + "WorldLevel": 6, + "StageID": 205310056 + }, + { + "EventID": 20531006, + "WorldLevel": 0, + "StageID": 205310060 + }, + { + "EventID": 20531006, + "WorldLevel": 1, + "StageID": 205310061 + }, + { + "EventID": 20531006, + "WorldLevel": 2, + "StageID": 205310062 + }, + { + "EventID": 20531006, + "WorldLevel": 3, + "StageID": 205310063 + }, + { + "EventID": 20531006, + "WorldLevel": 4, + "StageID": 205310064 + }, + { + "EventID": 20531006, + "WorldLevel": 5, + "StageID": 205310065 + }, + { + "EventID": 20531006, + "WorldLevel": 6, + "StageID": 205310066 + }, + { + "EventID": 20531101, + "WorldLevel": 0, + "StageID": 205311010 + }, + { + "EventID": 20531101, + "WorldLevel": 1, + "StageID": 205311011 + }, + { + "EventID": 20531101, + "WorldLevel": 2, + "StageID": 205311012 + }, + { + "EventID": 20531101, + "WorldLevel": 3, + "StageID": 205311013 + }, + { + "EventID": 20531101, + "WorldLevel": 4, + "StageID": 205311014 + }, + { + "EventID": 20531101, + "WorldLevel": 5, + "StageID": 205311015 + }, + { + "EventID": 20531101, + "WorldLevel": 6, + "StageID": 205311016 + }, + { + "EventID": 20531102, + "WorldLevel": 0, + "StageID": 205311020 + }, + { + "EventID": 20531102, + "WorldLevel": 1, + "StageID": 205311021 + }, + { + "EventID": 20531102, + "WorldLevel": 2, + "StageID": 205311022 + }, + { + "EventID": 20531102, + "WorldLevel": 3, + "StageID": 205311023 + }, + { + "EventID": 20531102, + "WorldLevel": 4, + "StageID": 205311024 + }, + { + "EventID": 20531102, + "WorldLevel": 5, + "StageID": 205311025 + }, + { + "EventID": 20531102, + "WorldLevel": 6, + "StageID": 205311026 + }, + { + "EventID": 20531103, + "WorldLevel": 0, + "StageID": 205311030 + }, + { + "EventID": 20531103, + "WorldLevel": 1, + "StageID": 205311031 + }, + { + "EventID": 20531103, + "WorldLevel": 2, + "StageID": 205311032 + }, + { + "EventID": 20531103, + "WorldLevel": 3, + "StageID": 205311033 + }, + { + "EventID": 20531103, + "WorldLevel": 4, + "StageID": 205311034 + }, + { + "EventID": 20531103, + "WorldLevel": 5, + "StageID": 205311035 + }, + { + "EventID": 20531103, + "WorldLevel": 6, + "StageID": 205311036 + }, + { + "EventID": 20531104, + "WorldLevel": 0, + "StageID": 205311040 + }, + { + "EventID": 20531104, + "WorldLevel": 1, + "StageID": 205311041 + }, + { + "EventID": 20531104, + "WorldLevel": 2, + "StageID": 205311042 + }, + { + "EventID": 20531104, + "WorldLevel": 3, + "StageID": 205311043 + }, + { + "EventID": 20531104, + "WorldLevel": 4, + "StageID": 205311044 + }, + { + "EventID": 20531104, + "WorldLevel": 5, + "StageID": 205311045 + }, + { + "EventID": 20531104, + "WorldLevel": 6, + "StageID": 205311046 + }, + { + "EventID": 20531105, + "WorldLevel": 0, + "StageID": 205311050 + }, + { + "EventID": 20531105, + "WorldLevel": 1, + "StageID": 205311051 + }, + { + "EventID": 20531105, + "WorldLevel": 2, + "StageID": 205311052 + }, + { + "EventID": 20531105, + "WorldLevel": 3, + "StageID": 205311053 + }, + { + "EventID": 20531105, + "WorldLevel": 4, + "StageID": 205311054 + }, + { + "EventID": 20531105, + "WorldLevel": 5, + "StageID": 205311055 + }, + { + "EventID": 20531105, + "WorldLevel": 6, + "StageID": 205311056 + }, + { + "EventID": 20531106, + "WorldLevel": 0, + "StageID": 205311060 + }, + { + "EventID": 20531106, + "WorldLevel": 1, + "StageID": 205311061 + }, + { + "EventID": 20531106, + "WorldLevel": 2, + "StageID": 205311062 + }, + { + "EventID": 20531106, + "WorldLevel": 3, + "StageID": 205311063 + }, + { + "EventID": 20531106, + "WorldLevel": 4, + "StageID": 205311064 + }, + { + "EventID": 20531106, + "WorldLevel": 5, + "StageID": 205311065 + }, + { + "EventID": 20531106, + "WorldLevel": 6, + "StageID": 205311066 + }, + { + "EventID": 20541001, + "WorldLevel": 0, + "StageID": 205410010 + }, + { + "EventID": 20541001, + "WorldLevel": 1, + "StageID": 205410011 + }, + { + "EventID": 20541001, + "WorldLevel": 2, + "StageID": 205410012 + }, + { + "EventID": 20541001, + "WorldLevel": 3, + "StageID": 205410013 + }, + { + "EventID": 20541001, + "WorldLevel": 4, + "StageID": 205410014 + }, + { + "EventID": 20541001, + "WorldLevel": 5, + "StageID": 205410015 + }, + { + "EventID": 20541001, + "WorldLevel": 6, + "StageID": 205410016 + }, + { + "EventID": 20541002, + "WorldLevel": 0, + "StageID": 205410020 + }, + { + "EventID": 20541002, + "WorldLevel": 1, + "StageID": 205410021 + }, + { + "EventID": 20541002, + "WorldLevel": 2, + "StageID": 205410022 + }, + { + "EventID": 20541002, + "WorldLevel": 3, + "StageID": 205410023 + }, + { + "EventID": 20541002, + "WorldLevel": 4, + "StageID": 205410024 + }, + { + "EventID": 20541002, + "WorldLevel": 5, + "StageID": 205410025 + }, + { + "EventID": 20541002, + "WorldLevel": 6, + "StageID": 205410026 + }, + { + "EventID": 20541003, + "WorldLevel": 0, + "StageID": 205410030 + }, + { + "EventID": 20541003, + "WorldLevel": 1, + "StageID": 205410031 + }, + { + "EventID": 20541003, + "WorldLevel": 2, + "StageID": 205410032 + }, + { + "EventID": 20541003, + "WorldLevel": 3, + "StageID": 205410033 + }, + { + "EventID": 20541003, + "WorldLevel": 4, + "StageID": 205410034 + }, + { + "EventID": 20541003, + "WorldLevel": 5, + "StageID": 205410035 + }, + { + "EventID": 20541003, + "WorldLevel": 6, + "StageID": 205410036 + }, + { + "EventID": 20541011, + "WorldLevel": 0, + "StageID": 205410110 + }, + { + "EventID": 20541011, + "WorldLevel": 1, + "StageID": 205410111 + }, + { + "EventID": 20541011, + "WorldLevel": 2, + "StageID": 205410112 + }, + { + "EventID": 20541011, + "WorldLevel": 3, + "StageID": 205410113 + }, + { + "EventID": 20541011, + "WorldLevel": 4, + "StageID": 205410114 + }, + { + "EventID": 20541011, + "WorldLevel": 5, + "StageID": 205410115 + }, + { + "EventID": 20541011, + "WorldLevel": 6, + "StageID": 205410116 + }, + { + "EventID": 20541012, + "WorldLevel": 0, + "StageID": 205410120 + }, + { + "EventID": 20541012, + "WorldLevel": 1, + "StageID": 205410121 + }, + { + "EventID": 20541012, + "WorldLevel": 2, + "StageID": 205410122 + }, + { + "EventID": 20541012, + "WorldLevel": 3, + "StageID": 205410123 + }, + { + "EventID": 20541012, + "WorldLevel": 4, + "StageID": 205410124 + }, + { + "EventID": 20541012, + "WorldLevel": 5, + "StageID": 205410125 + }, + { + "EventID": 20541012, + "WorldLevel": 6, + "StageID": 205410126 + }, + { + "EventID": 20541013, + "WorldLevel": 0, + "StageID": 205410130 + }, + { + "EventID": 20541013, + "WorldLevel": 1, + "StageID": 205410131 + }, + { + "EventID": 20541013, + "WorldLevel": 2, + "StageID": 205410132 + }, + { + "EventID": 20541013, + "WorldLevel": 3, + "StageID": 205410133 + }, + { + "EventID": 20541013, + "WorldLevel": 4, + "StageID": 205410134 + }, + { + "EventID": 20541013, + "WorldLevel": 5, + "StageID": 205410135 + }, + { + "EventID": 20541013, + "WorldLevel": 6, + "StageID": 205410136 + }, + { + "EventID": 20541014, + "WorldLevel": 0, + "StageID": 205410140 + }, + { + "EventID": 20541014, + "WorldLevel": 1, + "StageID": 205410141 + }, + { + "EventID": 20541014, + "WorldLevel": 2, + "StageID": 205410142 + }, + { + "EventID": 20541014, + "WorldLevel": 3, + "StageID": 205410143 + }, + { + "EventID": 20541014, + "WorldLevel": 4, + "StageID": 205410144 + }, + { + "EventID": 20541014, + "WorldLevel": 5, + "StageID": 205410145 + }, + { + "EventID": 20541014, + "WorldLevel": 6, + "StageID": 205410146 + }, + { + "EventID": 20541015, + "WorldLevel": 0, + "StageID": 205410150 + }, + { + "EventID": 20541015, + "WorldLevel": 1, + "StageID": 205410151 + }, + { + "EventID": 20541015, + "WorldLevel": 2, + "StageID": 205410152 + }, + { + "EventID": 20541015, + "WorldLevel": 3, + "StageID": 205410153 + }, + { + "EventID": 20541015, + "WorldLevel": 4, + "StageID": 205410154 + }, + { + "EventID": 20541015, + "WorldLevel": 5, + "StageID": 205410155 + }, + { + "EventID": 20541015, + "WorldLevel": 6, + "StageID": 205410156 + }, + { + "EventID": 20541021, + "WorldLevel": 0, + "StageID": 205410210 + }, + { + "EventID": 20541021, + "WorldLevel": 1, + "StageID": 205410211 + }, + { + "EventID": 20541021, + "WorldLevel": 2, + "StageID": 205410212 + }, + { + "EventID": 20541021, + "WorldLevel": 3, + "StageID": 205410213 + }, + { + "EventID": 20541021, + "WorldLevel": 4, + "StageID": 205410214 + }, + { + "EventID": 20541021, + "WorldLevel": 5, + "StageID": 205410215 + }, + { + "EventID": 20541021, + "WorldLevel": 6, + "StageID": 205410216 + }, + { + "EventID": 20541022, + "WorldLevel": 0, + "StageID": 205410220 + }, + { + "EventID": 20541022, + "WorldLevel": 1, + "StageID": 205410221 + }, + { + "EventID": 20541022, + "WorldLevel": 2, + "StageID": 205410222 + }, + { + "EventID": 20541022, + "WorldLevel": 3, + "StageID": 205410223 + }, + { + "EventID": 20541022, + "WorldLevel": 4, + "StageID": 205410224 + }, + { + "EventID": 20541022, + "WorldLevel": 5, + "StageID": 205410225 + }, + { + "EventID": 20541022, + "WorldLevel": 6, + "StageID": 205410226 + }, + { + "EventID": 20541023, + "WorldLevel": 0, + "StageID": 205410230 + }, + { + "EventID": 20541023, + "WorldLevel": 1, + "StageID": 205410231 + }, + { + "EventID": 20541023, + "WorldLevel": 2, + "StageID": 205410232 + }, + { + "EventID": 20541023, + "WorldLevel": 3, + "StageID": 205410233 + }, + { + "EventID": 20541023, + "WorldLevel": 4, + "StageID": 205410234 + }, + { + "EventID": 20541023, + "WorldLevel": 5, + "StageID": 205410235 + }, + { + "EventID": 20541023, + "WorldLevel": 6, + "StageID": 205410236 + }, + { + "EventID": 20541024, + "WorldLevel": 0, + "StageID": 205410240 + }, + { + "EventID": 20541024, + "WorldLevel": 1, + "StageID": 205410241 + }, + { + "EventID": 20541024, + "WorldLevel": 2, + "StageID": 205410242 + }, + { + "EventID": 20541024, + "WorldLevel": 3, + "StageID": 205410243 + }, + { + "EventID": 20541024, + "WorldLevel": 4, + "StageID": 205410244 + }, + { + "EventID": 20541024, + "WorldLevel": 5, + "StageID": 205410245 + }, + { + "EventID": 20541024, + "WorldLevel": 6, + "StageID": 205410246 + }, + { + "EventID": 20541025, + "WorldLevel": 0, + "StageID": 205410250 + }, + { + "EventID": 20541025, + "WorldLevel": 1, + "StageID": 205410251 + }, + { + "EventID": 20541025, + "WorldLevel": 2, + "StageID": 205410252 + }, + { + "EventID": 20541025, + "WorldLevel": 3, + "StageID": 205410253 + }, + { + "EventID": 20541025, + "WorldLevel": 4, + "StageID": 205410254 + }, + { + "EventID": 20541025, + "WorldLevel": 5, + "StageID": 205410255 + }, + { + "EventID": 20541025, + "WorldLevel": 6, + "StageID": 205410256 + }, + { + "EventID": 20541031, + "WorldLevel": 0, + "StageID": 205410310 + }, + { + "EventID": 20541031, + "WorldLevel": 1, + "StageID": 205410311 + }, + { + "EventID": 20541031, + "WorldLevel": 2, + "StageID": 205410312 + }, + { + "EventID": 20541031, + "WorldLevel": 3, + "StageID": 205410313 + }, + { + "EventID": 20541031, + "WorldLevel": 4, + "StageID": 205410314 + }, + { + "EventID": 20541031, + "WorldLevel": 5, + "StageID": 205410315 + }, + { + "EventID": 20541031, + "WorldLevel": 6, + "StageID": 205410316 + }, + { + "EventID": 20541032, + "WorldLevel": 0, + "StageID": 205410320 + }, + { + "EventID": 20541032, + "WorldLevel": 1, + "StageID": 205410321 + }, + { + "EventID": 20541032, + "WorldLevel": 2, + "StageID": 205410322 + }, + { + "EventID": 20541032, + "WorldLevel": 3, + "StageID": 205410323 + }, + { + "EventID": 20541032, + "WorldLevel": 4, + "StageID": 205410324 + }, + { + "EventID": 20541032, + "WorldLevel": 5, + "StageID": 205410325 + }, + { + "EventID": 20541032, + "WorldLevel": 6, + "StageID": 205410326 + }, + { + "EventID": 20541033, + "WorldLevel": 0, + "StageID": 205410330 + }, + { + "EventID": 20541033, + "WorldLevel": 1, + "StageID": 205410331 + }, + { + "EventID": 20541033, + "WorldLevel": 2, + "StageID": 205410332 + }, + { + "EventID": 20541033, + "WorldLevel": 3, + "StageID": 205410333 + }, + { + "EventID": 20541033, + "WorldLevel": 4, + "StageID": 205410334 + }, + { + "EventID": 20541033, + "WorldLevel": 5, + "StageID": 205410335 + }, + { + "EventID": 20541033, + "WorldLevel": 6, + "StageID": 205410336 + }, + { + "EventID": 20541034, + "WorldLevel": 0, + "StageID": 205410340 + }, + { + "EventID": 20541034, + "WorldLevel": 1, + "StageID": 205410341 + }, + { + "EventID": 20541034, + "WorldLevel": 2, + "StageID": 205410342 + }, + { + "EventID": 20541034, + "WorldLevel": 3, + "StageID": 205410343 + }, + { + "EventID": 20541034, + "WorldLevel": 4, + "StageID": 205410344 + }, + { + "EventID": 20541034, + "WorldLevel": 5, + "StageID": 205410345 + }, + { + "EventID": 20541034, + "WorldLevel": 6, + "StageID": 205410346 + }, + { + "EventID": 20541035, + "WorldLevel": 0, + "StageID": 205410350 + }, + { + "EventID": 20541035, + "WorldLevel": 1, + "StageID": 205410351 + }, + { + "EventID": 20541035, + "WorldLevel": 2, + "StageID": 205410352 + }, + { + "EventID": 20541035, + "WorldLevel": 3, + "StageID": 205410353 + }, + { + "EventID": 20541035, + "WorldLevel": 4, + "StageID": 205410354 + }, + { + "EventID": 20541035, + "WorldLevel": 5, + "StageID": 205410355 + }, + { + "EventID": 20541035, + "WorldLevel": 6, + "StageID": 205410356 + }, + { + "EventID": 20541036, + "WorldLevel": 0, + "StageID": 205410360 + }, + { + "EventID": 20541036, + "WorldLevel": 1, + "StageID": 205410361 + }, + { + "EventID": 20541036, + "WorldLevel": 2, + "StageID": 205410362 + }, + { + "EventID": 20541036, + "WorldLevel": 3, + "StageID": 205410363 + }, + { + "EventID": 20541036, + "WorldLevel": 4, + "StageID": 205410364 + }, + { + "EventID": 20541036, + "WorldLevel": 5, + "StageID": 205410365 + }, + { + "EventID": 20541036, + "WorldLevel": 6, + "StageID": 205410366 + }, + { + "EventID": 20541037, + "WorldLevel": 0, + "StageID": 205410370 + }, + { + "EventID": 20541037, + "WorldLevel": 1, + "StageID": 205410371 + }, + { + "EventID": 20541037, + "WorldLevel": 2, + "StageID": 205410372 + }, + { + "EventID": 20541037, + "WorldLevel": 3, + "StageID": 205410373 + }, + { + "EventID": 20541037, + "WorldLevel": 4, + "StageID": 205410374 + }, + { + "EventID": 20541037, + "WorldLevel": 5, + "StageID": 205410375 + }, + { + "EventID": 20541037, + "WorldLevel": 6, + "StageID": 205410376 + }, + { + "EventID": 20541038, + "WorldLevel": 0, + "StageID": 205410380 + }, + { + "EventID": 20541038, + "WorldLevel": 1, + "StageID": 205410381 + }, + { + "EventID": 20541038, + "WorldLevel": 2, + "StageID": 205410382 + }, + { + "EventID": 20541038, + "WorldLevel": 3, + "StageID": 205410383 + }, + { + "EventID": 20541038, + "WorldLevel": 4, + "StageID": 205410384 + }, + { + "EventID": 20541038, + "WorldLevel": 5, + "StageID": 205410385 + }, + { + "EventID": 20541038, + "WorldLevel": 6, + "StageID": 205410386 + }, + { + "EventID": 20541039, + "WorldLevel": 0, + "StageID": 205410390 + }, + { + "EventID": 20541039, + "WorldLevel": 1, + "StageID": 205410391 + }, + { + "EventID": 20541039, + "WorldLevel": 2, + "StageID": 205410392 + }, + { + "EventID": 20541039, + "WorldLevel": 3, + "StageID": 205410393 + }, + { + "EventID": 20541039, + "WorldLevel": 4, + "StageID": 205410394 + }, + { + "EventID": 20541039, + "WorldLevel": 5, + "StageID": 205410395 + }, + { + "EventID": 20541039, + "WorldLevel": 6, + "StageID": 205410396 + }, + { + "EventID": 20541040, + "WorldLevel": 0, + "StageID": 205410400 + }, + { + "EventID": 20541040, + "WorldLevel": 1, + "StageID": 205410401 + }, + { + "EventID": 20541040, + "WorldLevel": 2, + "StageID": 205410402 + }, + { + "EventID": 20541040, + "WorldLevel": 3, + "StageID": 205410403 + }, + { + "EventID": 20541040, + "WorldLevel": 4, + "StageID": 205410404 + }, + { + "EventID": 20541040, + "WorldLevel": 5, + "StageID": 205410405 + }, + { + "EventID": 20541040, + "WorldLevel": 6, + "StageID": 205410406 + }, + { + "EventID": 20541041, + "WorldLevel": 0, + "StageID": 205410410 + }, + { + "EventID": 20541041, + "WorldLevel": 1, + "StageID": 205410411 + }, + { + "EventID": 20541041, + "WorldLevel": 2, + "StageID": 205410412 + }, + { + "EventID": 20541041, + "WorldLevel": 3, + "StageID": 205410413 + }, + { + "EventID": 20541041, + "WorldLevel": 4, + "StageID": 205410414 + }, + { + "EventID": 20541041, + "WorldLevel": 5, + "StageID": 205410415 + }, + { + "EventID": 20541041, + "WorldLevel": 6, + "StageID": 205410416 + }, + { + "EventID": 20541101, + "WorldLevel": 0, + "StageID": 205411010 + }, + { + "EventID": 20541101, + "WorldLevel": 1, + "StageID": 205411011 + }, + { + "EventID": 20541101, + "WorldLevel": 2, + "StageID": 205411012 + }, + { + "EventID": 20541101, + "WorldLevel": 3, + "StageID": 205411013 + }, + { + "EventID": 20541101, + "WorldLevel": 4, + "StageID": 205411014 + }, + { + "EventID": 20541101, + "WorldLevel": 5, + "StageID": 205411015 + }, + { + "EventID": 20541101, + "WorldLevel": 6, + "StageID": 205411016 + }, + { + "EventID": 20541102, + "WorldLevel": 0, + "StageID": 205411020 + }, + { + "EventID": 20541102, + "WorldLevel": 1, + "StageID": 205411021 + }, + { + "EventID": 20541102, + "WorldLevel": 2, + "StageID": 205411022 + }, + { + "EventID": 20541102, + "WorldLevel": 3, + "StageID": 205411023 + }, + { + "EventID": 20541102, + "WorldLevel": 4, + "StageID": 205411024 + }, + { + "EventID": 20541102, + "WorldLevel": 5, + "StageID": 205411025 + }, + { + "EventID": 20541102, + "WorldLevel": 6, + "StageID": 205411026 + }, + { + "EventID": 20541103, + "WorldLevel": 0, + "StageID": 205411030 + }, + { + "EventID": 20541103, + "WorldLevel": 1, + "StageID": 205411031 + }, + { + "EventID": 20541103, + "WorldLevel": 2, + "StageID": 205411032 + }, + { + "EventID": 20541103, + "WorldLevel": 3, + "StageID": 205411033 + }, + { + "EventID": 20541103, + "WorldLevel": 4, + "StageID": 205411034 + }, + { + "EventID": 20541103, + "WorldLevel": 5, + "StageID": 205411035 + }, + { + "EventID": 20541103, + "WorldLevel": 6, + "StageID": 205411036 + }, + { + "EventID": 20541111, + "WorldLevel": 0, + "StageID": 205411110 + }, + { + "EventID": 20541111, + "WorldLevel": 1, + "StageID": 205411111 + }, + { + "EventID": 20541111, + "WorldLevel": 2, + "StageID": 205411112 + }, + { + "EventID": 20541111, + "WorldLevel": 3, + "StageID": 205411113 + }, + { + "EventID": 20541111, + "WorldLevel": 4, + "StageID": 205411114 + }, + { + "EventID": 20541111, + "WorldLevel": 5, + "StageID": 205411115 + }, + { + "EventID": 20541111, + "WorldLevel": 6, + "StageID": 205411116 + }, + { + "EventID": 20541112, + "WorldLevel": 0, + "StageID": 205411120 + }, + { + "EventID": 20541112, + "WorldLevel": 1, + "StageID": 205411121 + }, + { + "EventID": 20541112, + "WorldLevel": 2, + "StageID": 205411122 + }, + { + "EventID": 20541112, + "WorldLevel": 3, + "StageID": 205411123 + }, + { + "EventID": 20541112, + "WorldLevel": 4, + "StageID": 205411124 + }, + { + "EventID": 20541112, + "WorldLevel": 5, + "StageID": 205411125 + }, + { + "EventID": 20541112, + "WorldLevel": 6, + "StageID": 205411126 + }, + { + "EventID": 20541113, + "WorldLevel": 0, + "StageID": 205411130 + }, + { + "EventID": 20541113, + "WorldLevel": 1, + "StageID": 205411131 + }, + { + "EventID": 20541113, + "WorldLevel": 2, + "StageID": 205411132 + }, + { + "EventID": 20541113, + "WorldLevel": 3, + "StageID": 205411133 + }, + { + "EventID": 20541113, + "WorldLevel": 4, + "StageID": 205411134 + }, + { + "EventID": 20541113, + "WorldLevel": 5, + "StageID": 205411135 + }, + { + "EventID": 20541113, + "WorldLevel": 6, + "StageID": 205411136 + }, + { + "EventID": 20541114, + "WorldLevel": 0, + "StageID": 205411140 + }, + { + "EventID": 20541114, + "WorldLevel": 1, + "StageID": 205411141 + }, + { + "EventID": 20541114, + "WorldLevel": 2, + "StageID": 205411142 + }, + { + "EventID": 20541114, + "WorldLevel": 3, + "StageID": 205411143 + }, + { + "EventID": 20541114, + "WorldLevel": 4, + "StageID": 205411144 + }, + { + "EventID": 20541114, + "WorldLevel": 5, + "StageID": 205411145 + }, + { + "EventID": 20541114, + "WorldLevel": 6, + "StageID": 205411146 + }, + { + "EventID": 20541115, + "WorldLevel": 0, + "StageID": 205411150 + }, + { + "EventID": 20541115, + "WorldLevel": 1, + "StageID": 205411151 + }, + { + "EventID": 20541115, + "WorldLevel": 2, + "StageID": 205411152 + }, + { + "EventID": 20541115, + "WorldLevel": 3, + "StageID": 205411153 + }, + { + "EventID": 20541115, + "WorldLevel": 4, + "StageID": 205411154 + }, + { + "EventID": 20541115, + "WorldLevel": 5, + "StageID": 205411155 + }, + { + "EventID": 20541115, + "WorldLevel": 6, + "StageID": 205411156 + }, + { + "EventID": 20541121, + "WorldLevel": 0, + "StageID": 205411210 + }, + { + "EventID": 20541121, + "WorldLevel": 1, + "StageID": 205411211 + }, + { + "EventID": 20541121, + "WorldLevel": 2, + "StageID": 205411212 + }, + { + "EventID": 20541121, + "WorldLevel": 3, + "StageID": 205411213 + }, + { + "EventID": 20541121, + "WorldLevel": 4, + "StageID": 205411214 + }, + { + "EventID": 20541121, + "WorldLevel": 5, + "StageID": 205411215 + }, + { + "EventID": 20541121, + "WorldLevel": 6, + "StageID": 205411216 + }, + { + "EventID": 20541122, + "WorldLevel": 0, + "StageID": 205411220 + }, + { + "EventID": 20541122, + "WorldLevel": 1, + "StageID": 205411221 + }, + { + "EventID": 20541122, + "WorldLevel": 2, + "StageID": 205411222 + }, + { + "EventID": 20541122, + "WorldLevel": 3, + "StageID": 205411223 + }, + { + "EventID": 20541122, + "WorldLevel": 4, + "StageID": 205411224 + }, + { + "EventID": 20541122, + "WorldLevel": 5, + "StageID": 205411225 + }, + { + "EventID": 20541122, + "WorldLevel": 6, + "StageID": 205411226 + }, + { + "EventID": 20541123, + "WorldLevel": 0, + "StageID": 205411230 + }, + { + "EventID": 20541123, + "WorldLevel": 1, + "StageID": 205411231 + }, + { + "EventID": 20541123, + "WorldLevel": 2, + "StageID": 205411232 + }, + { + "EventID": 20541123, + "WorldLevel": 3, + "StageID": 205411233 + }, + { + "EventID": 20541123, + "WorldLevel": 4, + "StageID": 205411234 + }, + { + "EventID": 20541123, + "WorldLevel": 5, + "StageID": 205411235 + }, + { + "EventID": 20541123, + "WorldLevel": 6, + "StageID": 205411236 + }, + { + "EventID": 20541124, + "WorldLevel": 0, + "StageID": 205411240 + }, + { + "EventID": 20541124, + "WorldLevel": 1, + "StageID": 205411241 + }, + { + "EventID": 20541124, + "WorldLevel": 2, + "StageID": 205411242 + }, + { + "EventID": 20541124, + "WorldLevel": 3, + "StageID": 205411243 + }, + { + "EventID": 20541124, + "WorldLevel": 4, + "StageID": 205411244 + }, + { + "EventID": 20541124, + "WorldLevel": 5, + "StageID": 205411245 + }, + { + "EventID": 20541124, + "WorldLevel": 6, + "StageID": 205411246 + }, + { + "EventID": 20541125, + "WorldLevel": 0, + "StageID": 205411250 + }, + { + "EventID": 20541125, + "WorldLevel": 1, + "StageID": 205411251 + }, + { + "EventID": 20541125, + "WorldLevel": 2, + "StageID": 205411252 + }, + { + "EventID": 20541125, + "WorldLevel": 3, + "StageID": 205411253 + }, + { + "EventID": 20541125, + "WorldLevel": 4, + "StageID": 205411254 + }, + { + "EventID": 20541125, + "WorldLevel": 5, + "StageID": 205411255 + }, + { + "EventID": 20541125, + "WorldLevel": 6, + "StageID": 205411256 + }, + { + "EventID": 20541131, + "WorldLevel": 0, + "StageID": 205411310 + }, + { + "EventID": 20541131, + "WorldLevel": 1, + "StageID": 205411311 + }, + { + "EventID": 20541131, + "WorldLevel": 2, + "StageID": 205411312 + }, + { + "EventID": 20541131, + "WorldLevel": 3, + "StageID": 205411313 + }, + { + "EventID": 20541131, + "WorldLevel": 4, + "StageID": 205411314 + }, + { + "EventID": 20541131, + "WorldLevel": 5, + "StageID": 205411315 + }, + { + "EventID": 20541131, + "WorldLevel": 6, + "StageID": 205411316 + }, + { + "EventID": 20541132, + "WorldLevel": 0, + "StageID": 205411320 + }, + { + "EventID": 20541132, + "WorldLevel": 1, + "StageID": 205411321 + }, + { + "EventID": 20541132, + "WorldLevel": 2, + "StageID": 205411322 + }, + { + "EventID": 20541132, + "WorldLevel": 3, + "StageID": 205411323 + }, + { + "EventID": 20541132, + "WorldLevel": 4, + "StageID": 205411324 + }, + { + "EventID": 20541132, + "WorldLevel": 5, + "StageID": 205411325 + }, + { + "EventID": 20541132, + "WorldLevel": 6, + "StageID": 205411326 + }, + { + "EventID": 20541133, + "WorldLevel": 0, + "StageID": 205411330 + }, + { + "EventID": 20541133, + "WorldLevel": 1, + "StageID": 205411331 + }, + { + "EventID": 20541133, + "WorldLevel": 2, + "StageID": 205411332 + }, + { + "EventID": 20541133, + "WorldLevel": 3, + "StageID": 205411333 + }, + { + "EventID": 20541133, + "WorldLevel": 4, + "StageID": 205411334 + }, + { + "EventID": 20541133, + "WorldLevel": 5, + "StageID": 205411335 + }, + { + "EventID": 20541133, + "WorldLevel": 6, + "StageID": 205411336 + }, + { + "EventID": 20541134, + "WorldLevel": 0, + "StageID": 205411340 + }, + { + "EventID": 20541134, + "WorldLevel": 1, + "StageID": 205411341 + }, + { + "EventID": 20541134, + "WorldLevel": 2, + "StageID": 205411342 + }, + { + "EventID": 20541134, + "WorldLevel": 3, + "StageID": 205411343 + }, + { + "EventID": 20541134, + "WorldLevel": 4, + "StageID": 205411344 + }, + { + "EventID": 20541134, + "WorldLevel": 5, + "StageID": 205411345 + }, + { + "EventID": 20541134, + "WorldLevel": 6, + "StageID": 205411346 + }, + { + "EventID": 20541135, + "WorldLevel": 0, + "StageID": 205411350 + }, + { + "EventID": 20541135, + "WorldLevel": 1, + "StageID": 205411351 + }, + { + "EventID": 20541135, + "WorldLevel": 2, + "StageID": 205411352 + }, + { + "EventID": 20541135, + "WorldLevel": 3, + "StageID": 205411353 + }, + { + "EventID": 20541135, + "WorldLevel": 4, + "StageID": 205411354 + }, + { + "EventID": 20541135, + "WorldLevel": 5, + "StageID": 205411355 + }, + { + "EventID": 20541135, + "WorldLevel": 6, + "StageID": 205411356 + }, + { + "EventID": 20541136, + "WorldLevel": 0, + "StageID": 205411360 + }, + { + "EventID": 20541136, + "WorldLevel": 1, + "StageID": 205411361 + }, + { + "EventID": 20541136, + "WorldLevel": 2, + "StageID": 205411362 + }, + { + "EventID": 20541136, + "WorldLevel": 3, + "StageID": 205411363 + }, + { + "EventID": 20541136, + "WorldLevel": 4, + "StageID": 205411364 + }, + { + "EventID": 20541136, + "WorldLevel": 5, + "StageID": 205411365 + }, + { + "EventID": 20541136, + "WorldLevel": 6, + "StageID": 205411366 + }, + { + "EventID": 20541137, + "WorldLevel": 0, + "StageID": 205411370 + }, + { + "EventID": 20541137, + "WorldLevel": 1, + "StageID": 205411371 + }, + { + "EventID": 20541137, + "WorldLevel": 2, + "StageID": 205411372 + }, + { + "EventID": 20541137, + "WorldLevel": 3, + "StageID": 205411373 + }, + { + "EventID": 20541137, + "WorldLevel": 4, + "StageID": 205411374 + }, + { + "EventID": 20541137, + "WorldLevel": 5, + "StageID": 205411375 + }, + { + "EventID": 20541137, + "WorldLevel": 6, + "StageID": 205411376 + }, + { + "EventID": 20541138, + "WorldLevel": 0, + "StageID": 205411380 + }, + { + "EventID": 20541138, + "WorldLevel": 1, + "StageID": 205411381 + }, + { + "EventID": 20541138, + "WorldLevel": 2, + "StageID": 205411382 + }, + { + "EventID": 20541138, + "WorldLevel": 3, + "StageID": 205411383 + }, + { + "EventID": 20541138, + "WorldLevel": 4, + "StageID": 205411384 + }, + { + "EventID": 20541138, + "WorldLevel": 5, + "StageID": 205411385 + }, + { + "EventID": 20541138, + "WorldLevel": 6, + "StageID": 205411386 + }, + { + "EventID": 20541139, + "WorldLevel": 0, + "StageID": 205411390 + }, + { + "EventID": 20541139, + "WorldLevel": 1, + "StageID": 205411391 + }, + { + "EventID": 20541139, + "WorldLevel": 2, + "StageID": 205411392 + }, + { + "EventID": 20541139, + "WorldLevel": 3, + "StageID": 205411393 + }, + { + "EventID": 20541139, + "WorldLevel": 4, + "StageID": 205411394 + }, + { + "EventID": 20541139, + "WorldLevel": 5, + "StageID": 205411395 + }, + { + "EventID": 20541139, + "WorldLevel": 6, + "StageID": 205411396 + }, + { + "EventID": 20541140, + "WorldLevel": 0, + "StageID": 205411400 + }, + { + "EventID": 20541140, + "WorldLevel": 1, + "StageID": 205411401 + }, + { + "EventID": 20541140, + "WorldLevel": 2, + "StageID": 205411402 + }, + { + "EventID": 20541140, + "WorldLevel": 3, + "StageID": 205411403 + }, + { + "EventID": 20541140, + "WorldLevel": 4, + "StageID": 205411404 + }, + { + "EventID": 20541140, + "WorldLevel": 5, + "StageID": 205411405 + }, + { + "EventID": 20541140, + "WorldLevel": 6, + "StageID": 205411406 + }, + { + "EventID": 20541141, + "WorldLevel": 0, + "StageID": 205411410 + }, + { + "EventID": 20541141, + "WorldLevel": 1, + "StageID": 205411411 + }, + { + "EventID": 20541141, + "WorldLevel": 2, + "StageID": 205411412 + }, + { + "EventID": 20541141, + "WorldLevel": 3, + "StageID": 205411413 + }, + { + "EventID": 20541141, + "WorldLevel": 4, + "StageID": 205411414 + }, + { + "EventID": 20541141, + "WorldLevel": 5, + "StageID": 205411415 + }, + { + "EventID": 20541141, + "WorldLevel": 6, + "StageID": 205411416 + }, + { + "EventID": 20551001, + "WorldLevel": 0, + "StageID": 205510010 + }, + { + "EventID": 20551001, + "WorldLevel": 1, + "StageID": 205510011 + }, + { + "EventID": 20551001, + "WorldLevel": 2, + "StageID": 205510012 + }, + { + "EventID": 20551001, + "WorldLevel": 3, + "StageID": 205510013 + }, + { + "EventID": 20551001, + "WorldLevel": 4, + "StageID": 205510014 + }, + { + "EventID": 20551001, + "WorldLevel": 5, + "StageID": 205510015 + }, + { + "EventID": 20551001, + "WorldLevel": 6, + "StageID": 205510016 + }, + { + "EventID": 20551002, + "WorldLevel": 0, + "StageID": 205510020 + }, + { + "EventID": 20551002, + "WorldLevel": 1, + "StageID": 205510021 + }, + { + "EventID": 20551002, + "WorldLevel": 2, + "StageID": 205510022 + }, + { + "EventID": 20551002, + "WorldLevel": 3, + "StageID": 205510023 + }, + { + "EventID": 20551002, + "WorldLevel": 4, + "StageID": 205510024 + }, + { + "EventID": 20551002, + "WorldLevel": 5, + "StageID": 205510025 + }, + { + "EventID": 20551002, + "WorldLevel": 6, + "StageID": 205510026 + }, + { + "EventID": 20551003, + "WorldLevel": 0, + "StageID": 205510030 + }, + { + "EventID": 20551003, + "WorldLevel": 1, + "StageID": 205510031 + }, + { + "EventID": 20551003, + "WorldLevel": 2, + "StageID": 205510032 + }, + { + "EventID": 20551003, + "WorldLevel": 3, + "StageID": 205510033 + }, + { + "EventID": 20551003, + "WorldLevel": 4, + "StageID": 205510034 + }, + { + "EventID": 20551003, + "WorldLevel": 5, + "StageID": 205510035 + }, + { + "EventID": 20551003, + "WorldLevel": 6, + "StageID": 205510036 + }, + { + "EventID": 20551004, + "WorldLevel": 0, + "StageID": 205510040 + }, + { + "EventID": 20551004, + "WorldLevel": 1, + "StageID": 205510041 + }, + { + "EventID": 20551004, + "WorldLevel": 2, + "StageID": 205510042 + }, + { + "EventID": 20551004, + "WorldLevel": 3, + "StageID": 205510043 + }, + { + "EventID": 20551004, + "WorldLevel": 4, + "StageID": 205510044 + }, + { + "EventID": 20551004, + "WorldLevel": 5, + "StageID": 205510045 + }, + { + "EventID": 20551004, + "WorldLevel": 6, + "StageID": 205510046 + }, + { + "EventID": 20551005, + "WorldLevel": 0, + "StageID": 205510050 + }, + { + "EventID": 20551005, + "WorldLevel": 1, + "StageID": 205510051 + }, + { + "EventID": 20551005, + "WorldLevel": 2, + "StageID": 205510052 + }, + { + "EventID": 20551005, + "WorldLevel": 3, + "StageID": 205510053 + }, + { + "EventID": 20551005, + "WorldLevel": 4, + "StageID": 205510054 + }, + { + "EventID": 20551005, + "WorldLevel": 5, + "StageID": 205510055 + }, + { + "EventID": 20551005, + "WorldLevel": 6, + "StageID": 205510056 + }, + { + "EventID": 20551006, + "WorldLevel": 0, + "StageID": 205510060 + }, + { + "EventID": 20551006, + "WorldLevel": 1, + "StageID": 205510061 + }, + { + "EventID": 20551006, + "WorldLevel": 2, + "StageID": 205510062 + }, + { + "EventID": 20551006, + "WorldLevel": 3, + "StageID": 205510063 + }, + { + "EventID": 20551006, + "WorldLevel": 4, + "StageID": 205510064 + }, + { + "EventID": 20551006, + "WorldLevel": 5, + "StageID": 205510065 + }, + { + "EventID": 20551006, + "WorldLevel": 6, + "StageID": 205510066 + }, + { + "EventID": 20551007, + "WorldLevel": 0, + "StageID": 205510070 + }, + { + "EventID": 20551007, + "WorldLevel": 1, + "StageID": 205510071 + }, + { + "EventID": 20551007, + "WorldLevel": 2, + "StageID": 205510072 + }, + { + "EventID": 20551007, + "WorldLevel": 3, + "StageID": 205510073 + }, + { + "EventID": 20551007, + "WorldLevel": 4, + "StageID": 205510074 + }, + { + "EventID": 20551007, + "WorldLevel": 5, + "StageID": 205510075 + }, + { + "EventID": 20551007, + "WorldLevel": 6, + "StageID": 205510076 + }, + { + "EventID": 20551008, + "WorldLevel": 0, + "StageID": 205510080 + }, + { + "EventID": 20551008, + "WorldLevel": 1, + "StageID": 205510081 + }, + { + "EventID": 20551008, + "WorldLevel": 2, + "StageID": 205510082 + }, + { + "EventID": 20551008, + "WorldLevel": 3, + "StageID": 205510083 + }, + { + "EventID": 20551008, + "WorldLevel": 4, + "StageID": 205510084 + }, + { + "EventID": 20551008, + "WorldLevel": 5, + "StageID": 205510085 + }, + { + "EventID": 20551008, + "WorldLevel": 6, + "StageID": 205510086 + }, + { + "EventID": 20551009, + "WorldLevel": 0, + "StageID": 205510090 + }, + { + "EventID": 20551009, + "WorldLevel": 1, + "StageID": 205510091 + }, + { + "EventID": 20551009, + "WorldLevel": 2, + "StageID": 205510092 + }, + { + "EventID": 20551009, + "WorldLevel": 3, + "StageID": 205510093 + }, + { + "EventID": 20551009, + "WorldLevel": 4, + "StageID": 205510094 + }, + { + "EventID": 20551009, + "WorldLevel": 5, + "StageID": 205510095 + }, + { + "EventID": 20551009, + "WorldLevel": 6, + "StageID": 205510096 + }, + { + "EventID": 20551010, + "WorldLevel": 0, + "StageID": 205510100 + }, + { + "EventID": 20551010, + "WorldLevel": 1, + "StageID": 205510101 + }, + { + "EventID": 20551010, + "WorldLevel": 2, + "StageID": 205510102 + }, + { + "EventID": 20551010, + "WorldLevel": 3, + "StageID": 205510103 + }, + { + "EventID": 20551010, + "WorldLevel": 4, + "StageID": 205510104 + }, + { + "EventID": 20551010, + "WorldLevel": 5, + "StageID": 205510105 + }, + { + "EventID": 20551010, + "WorldLevel": 6, + "StageID": 205510106 + }, + { + "EventID": 20551021, + "WorldLevel": 0, + "StageID": 205510210 + }, + { + "EventID": 20551021, + "WorldLevel": 1, + "StageID": 205510211 + }, + { + "EventID": 20551021, + "WorldLevel": 2, + "StageID": 205510212 + }, + { + "EventID": 20551021, + "WorldLevel": 3, + "StageID": 205510213 + }, + { + "EventID": 20551021, + "WorldLevel": 4, + "StageID": 205510214 + }, + { + "EventID": 20551021, + "WorldLevel": 5, + "StageID": 205510215 + }, + { + "EventID": 20551021, + "WorldLevel": 6, + "StageID": 205510216 + }, + { + "EventID": 20551022, + "WorldLevel": 0, + "StageID": 205510220 + }, + { + "EventID": 20551022, + "WorldLevel": 1, + "StageID": 205510221 + }, + { + "EventID": 20551022, + "WorldLevel": 2, + "StageID": 205510222 + }, + { + "EventID": 20551022, + "WorldLevel": 3, + "StageID": 205510223 + }, + { + "EventID": 20551022, + "WorldLevel": 4, + "StageID": 205510224 + }, + { + "EventID": 20551022, + "WorldLevel": 5, + "StageID": 205510225 + }, + { + "EventID": 20551022, + "WorldLevel": 6, + "StageID": 205510226 + }, + { + "EventID": 20551023, + "WorldLevel": 0, + "StageID": 205510230 + }, + { + "EventID": 20551023, + "WorldLevel": 1, + "StageID": 205510231 + }, + { + "EventID": 20551023, + "WorldLevel": 2, + "StageID": 205510232 + }, + { + "EventID": 20551023, + "WorldLevel": 3, + "StageID": 205510233 + }, + { + "EventID": 20551023, + "WorldLevel": 4, + "StageID": 205510234 + }, + { + "EventID": 20551023, + "WorldLevel": 5, + "StageID": 205510235 + }, + { + "EventID": 20551023, + "WorldLevel": 6, + "StageID": 205510236 + }, + { + "EventID": 20551024, + "WorldLevel": 0, + "StageID": 205510240 + }, + { + "EventID": 20551024, + "WorldLevel": 1, + "StageID": 205510241 + }, + { + "EventID": 20551024, + "WorldLevel": 2, + "StageID": 205510242 + }, + { + "EventID": 20551024, + "WorldLevel": 3, + "StageID": 205510243 + }, + { + "EventID": 20551024, + "WorldLevel": 4, + "StageID": 205510244 + }, + { + "EventID": 20551024, + "WorldLevel": 5, + "StageID": 205510245 + }, + { + "EventID": 20551024, + "WorldLevel": 6, + "StageID": 205510246 + }, + { + "EventID": 20551025, + "WorldLevel": 0, + "StageID": 205510250 + }, + { + "EventID": 20551025, + "WorldLevel": 1, + "StageID": 205510251 + }, + { + "EventID": 20551025, + "WorldLevel": 2, + "StageID": 205510252 + }, + { + "EventID": 20551025, + "WorldLevel": 3, + "StageID": 205510253 + }, + { + "EventID": 20551025, + "WorldLevel": 4, + "StageID": 205510254 + }, + { + "EventID": 20551025, + "WorldLevel": 5, + "StageID": 205510255 + }, + { + "EventID": 20551025, + "WorldLevel": 6, + "StageID": 205510256 + }, + { + "EventID": 20551041, + "WorldLevel": 0, + "StageID": 205510410 + }, + { + "EventID": 20551041, + "WorldLevel": 1, + "StageID": 205510411 + }, + { + "EventID": 20551041, + "WorldLevel": 2, + "StageID": 205510412 + }, + { + "EventID": 20551041, + "WorldLevel": 3, + "StageID": 205510413 + }, + { + "EventID": 20551041, + "WorldLevel": 4, + "StageID": 205510414 + }, + { + "EventID": 20551041, + "WorldLevel": 5, + "StageID": 205510415 + }, + { + "EventID": 20551041, + "WorldLevel": 6, + "StageID": 205510416 + }, + { + "EventID": 20551042, + "WorldLevel": 0, + "StageID": 205510420 + }, + { + "EventID": 20551042, + "WorldLevel": 1, + "StageID": 205510421 + }, + { + "EventID": 20551042, + "WorldLevel": 2, + "StageID": 205510422 + }, + { + "EventID": 20551042, + "WorldLevel": 3, + "StageID": 205510423 + }, + { + "EventID": 20551042, + "WorldLevel": 4, + "StageID": 205510424 + }, + { + "EventID": 20551042, + "WorldLevel": 5, + "StageID": 205510425 + }, + { + "EventID": 20551042, + "WorldLevel": 6, + "StageID": 205510426 + }, + { + "EventID": 20551043, + "WorldLevel": 0, + "StageID": 205510430 + }, + { + "EventID": 20551043, + "WorldLevel": 1, + "StageID": 205510431 + }, + { + "EventID": 20551043, + "WorldLevel": 2, + "StageID": 205510432 + }, + { + "EventID": 20551043, + "WorldLevel": 3, + "StageID": 205510433 + }, + { + "EventID": 20551043, + "WorldLevel": 4, + "StageID": 205510434 + }, + { + "EventID": 20551043, + "WorldLevel": 5, + "StageID": 205510435 + }, + { + "EventID": 20551043, + "WorldLevel": 6, + "StageID": 205510436 + }, + { + "EventID": 20551044, + "WorldLevel": 0, + "StageID": 205510440 + }, + { + "EventID": 20551044, + "WorldLevel": 1, + "StageID": 205510441 + }, + { + "EventID": 20551044, + "WorldLevel": 2, + "StageID": 205510442 + }, + { + "EventID": 20551044, + "WorldLevel": 3, + "StageID": 205510443 + }, + { + "EventID": 20551044, + "WorldLevel": 4, + "StageID": 205510444 + }, + { + "EventID": 20551044, + "WorldLevel": 5, + "StageID": 205510445 + }, + { + "EventID": 20551044, + "WorldLevel": 6, + "StageID": 205510446 + }, + { + "EventID": 20551045, + "WorldLevel": 0, + "StageID": 205510450 + }, + { + "EventID": 20551045, + "WorldLevel": 1, + "StageID": 205510451 + }, + { + "EventID": 20551045, + "WorldLevel": 2, + "StageID": 205510452 + }, + { + "EventID": 20551045, + "WorldLevel": 3, + "StageID": 205510453 + }, + { + "EventID": 20551045, + "WorldLevel": 4, + "StageID": 205510454 + }, + { + "EventID": 20551045, + "WorldLevel": 5, + "StageID": 205510455 + }, + { + "EventID": 20551045, + "WorldLevel": 6, + "StageID": 205510456 + }, + { + "EventID": 20551101, + "WorldLevel": 0, + "StageID": 205511010 + }, + { + "EventID": 20551101, + "WorldLevel": 1, + "StageID": 205511011 + }, + { + "EventID": 20551101, + "WorldLevel": 2, + "StageID": 205511012 + }, + { + "EventID": 20551101, + "WorldLevel": 3, + "StageID": 205511013 + }, + { + "EventID": 20551101, + "WorldLevel": 4, + "StageID": 205511014 + }, + { + "EventID": 20551101, + "WorldLevel": 5, + "StageID": 205511015 + }, + { + "EventID": 20551101, + "WorldLevel": 6, + "StageID": 205511016 + }, + { + "EventID": 20551102, + "WorldLevel": 0, + "StageID": 205511020 + }, + { + "EventID": 20551102, + "WorldLevel": 1, + "StageID": 205511021 + }, + { + "EventID": 20551102, + "WorldLevel": 2, + "StageID": 205511022 + }, + { + "EventID": 20551102, + "WorldLevel": 3, + "StageID": 205511023 + }, + { + "EventID": 20551102, + "WorldLevel": 4, + "StageID": 205511024 + }, + { + "EventID": 20551102, + "WorldLevel": 5, + "StageID": 205511025 + }, + { + "EventID": 20551102, + "WorldLevel": 6, + "StageID": 205511026 + }, + { + "EventID": 20551103, + "WorldLevel": 0, + "StageID": 205511030 + }, + { + "EventID": 20551103, + "WorldLevel": 1, + "StageID": 205511031 + }, + { + "EventID": 20551103, + "WorldLevel": 2, + "StageID": 205511032 + }, + { + "EventID": 20551103, + "WorldLevel": 3, + "StageID": 205511033 + }, + { + "EventID": 20551103, + "WorldLevel": 4, + "StageID": 205511034 + }, + { + "EventID": 20551103, + "WorldLevel": 5, + "StageID": 205511035 + }, + { + "EventID": 20551103, + "WorldLevel": 6, + "StageID": 205511036 + }, + { + "EventID": 20551104, + "WorldLevel": 0, + "StageID": 205511040 + }, + { + "EventID": 20551104, + "WorldLevel": 1, + "StageID": 205511041 + }, + { + "EventID": 20551104, + "WorldLevel": 2, + "StageID": 205511042 + }, + { + "EventID": 20551104, + "WorldLevel": 3, + "StageID": 205511043 + }, + { + "EventID": 20551104, + "WorldLevel": 4, + "StageID": 205511044 + }, + { + "EventID": 20551104, + "WorldLevel": 5, + "StageID": 205511045 + }, + { + "EventID": 20551104, + "WorldLevel": 6, + "StageID": 205511046 + }, + { + "EventID": 20551105, + "WorldLevel": 0, + "StageID": 205511050 + }, + { + "EventID": 20551105, + "WorldLevel": 1, + "StageID": 205511051 + }, + { + "EventID": 20551105, + "WorldLevel": 2, + "StageID": 205511052 + }, + { + "EventID": 20551105, + "WorldLevel": 3, + "StageID": 205511053 + }, + { + "EventID": 20551105, + "WorldLevel": 4, + "StageID": 205511054 + }, + { + "EventID": 20551105, + "WorldLevel": 5, + "StageID": 205511055 + }, + { + "EventID": 20551105, + "WorldLevel": 6, + "StageID": 205511056 + }, + { + "EventID": 20551106, + "WorldLevel": 0, + "StageID": 205511060 + }, + { + "EventID": 20551106, + "WorldLevel": 1, + "StageID": 205511061 + }, + { + "EventID": 20551106, + "WorldLevel": 2, + "StageID": 205511062 + }, + { + "EventID": 20551106, + "WorldLevel": 3, + "StageID": 205511063 + }, + { + "EventID": 20551106, + "WorldLevel": 4, + "StageID": 205511064 + }, + { + "EventID": 20551106, + "WorldLevel": 5, + "StageID": 205511065 + }, + { + "EventID": 20551106, + "WorldLevel": 6, + "StageID": 205511066 + }, + { + "EventID": 20551107, + "WorldLevel": 0, + "StageID": 205511070 + }, + { + "EventID": 20551107, + "WorldLevel": 1, + "StageID": 205511071 + }, + { + "EventID": 20551107, + "WorldLevel": 2, + "StageID": 205511072 + }, + { + "EventID": 20551107, + "WorldLevel": 3, + "StageID": 205511073 + }, + { + "EventID": 20551107, + "WorldLevel": 4, + "StageID": 205511074 + }, + { + "EventID": 20551107, + "WorldLevel": 5, + "StageID": 205511075 + }, + { + "EventID": 20551107, + "WorldLevel": 6, + "StageID": 205511076 + }, + { + "EventID": 20551108, + "WorldLevel": 0, + "StageID": 205511080 + }, + { + "EventID": 20551108, + "WorldLevel": 1, + "StageID": 205511081 + }, + { + "EventID": 20551108, + "WorldLevel": 2, + "StageID": 205511082 + }, + { + "EventID": 20551108, + "WorldLevel": 3, + "StageID": 205511083 + }, + { + "EventID": 20551108, + "WorldLevel": 4, + "StageID": 205511084 + }, + { + "EventID": 20551108, + "WorldLevel": 5, + "StageID": 205511085 + }, + { + "EventID": 20551108, + "WorldLevel": 6, + "StageID": 205511086 + }, + { + "EventID": 20551109, + "WorldLevel": 0, + "StageID": 205511090 + }, + { + "EventID": 20551109, + "WorldLevel": 1, + "StageID": 205511091 + }, + { + "EventID": 20551109, + "WorldLevel": 2, + "StageID": 205511092 + }, + { + "EventID": 20551109, + "WorldLevel": 3, + "StageID": 205511093 + }, + { + "EventID": 20551109, + "WorldLevel": 4, + "StageID": 205511094 + }, + { + "EventID": 20551109, + "WorldLevel": 5, + "StageID": 205511095 + }, + { + "EventID": 20551109, + "WorldLevel": 6, + "StageID": 205511096 + }, + { + "EventID": 20551110, + "WorldLevel": 0, + "StageID": 205511100 + }, + { + "EventID": 20551110, + "WorldLevel": 1, + "StageID": 205511101 + }, + { + "EventID": 20551110, + "WorldLevel": 2, + "StageID": 205511102 + }, + { + "EventID": 20551110, + "WorldLevel": 3, + "StageID": 205511103 + }, + { + "EventID": 20551110, + "WorldLevel": 4, + "StageID": 205511104 + }, + { + "EventID": 20551110, + "WorldLevel": 5, + "StageID": 205511105 + }, + { + "EventID": 20551110, + "WorldLevel": 6, + "StageID": 205511106 + }, + { + "EventID": 20551121, + "WorldLevel": 0, + "StageID": 205511210 + }, + { + "EventID": 20551121, + "WorldLevel": 1, + "StageID": 205511211 + }, + { + "EventID": 20551121, + "WorldLevel": 2, + "StageID": 205511212 + }, + { + "EventID": 20551121, + "WorldLevel": 3, + "StageID": 205511213 + }, + { + "EventID": 20551121, + "WorldLevel": 4, + "StageID": 205511214 + }, + { + "EventID": 20551121, + "WorldLevel": 5, + "StageID": 205511215 + }, + { + "EventID": 20551121, + "WorldLevel": 6, + "StageID": 205511216 + }, + { + "EventID": 20551122, + "WorldLevel": 0, + "StageID": 205511220 + }, + { + "EventID": 20551122, + "WorldLevel": 1, + "StageID": 205511221 + }, + { + "EventID": 20551122, + "WorldLevel": 2, + "StageID": 205511222 + }, + { + "EventID": 20551122, + "WorldLevel": 3, + "StageID": 205511223 + }, + { + "EventID": 20551122, + "WorldLevel": 4, + "StageID": 205511224 + }, + { + "EventID": 20551122, + "WorldLevel": 5, + "StageID": 205511225 + }, + { + "EventID": 20551122, + "WorldLevel": 6, + "StageID": 205511226 + }, + { + "EventID": 20551123, + "WorldLevel": 0, + "StageID": 205511230 + }, + { + "EventID": 20551123, + "WorldLevel": 1, + "StageID": 205511231 + }, + { + "EventID": 20551123, + "WorldLevel": 2, + "StageID": 205511232 + }, + { + "EventID": 20551123, + "WorldLevel": 3, + "StageID": 205511233 + }, + { + "EventID": 20551123, + "WorldLevel": 4, + "StageID": 205511234 + }, + { + "EventID": 20551123, + "WorldLevel": 5, + "StageID": 205511235 + }, + { + "EventID": 20551123, + "WorldLevel": 6, + "StageID": 205511236 + }, + { + "EventID": 20551124, + "WorldLevel": 0, + "StageID": 205511240 + }, + { + "EventID": 20551124, + "WorldLevel": 1, + "StageID": 205511241 + }, + { + "EventID": 20551124, + "WorldLevel": 2, + "StageID": 205511242 + }, + { + "EventID": 20551124, + "WorldLevel": 3, + "StageID": 205511243 + }, + { + "EventID": 20551124, + "WorldLevel": 4, + "StageID": 205511244 + }, + { + "EventID": 20551124, + "WorldLevel": 5, + "StageID": 205511245 + }, + { + "EventID": 20551124, + "WorldLevel": 6, + "StageID": 205511246 + }, + { + "EventID": 20551125, + "WorldLevel": 0, + "StageID": 205511250 + }, + { + "EventID": 20551125, + "WorldLevel": 1, + "StageID": 205511251 + }, + { + "EventID": 20551125, + "WorldLevel": 2, + "StageID": 205511252 + }, + { + "EventID": 20551125, + "WorldLevel": 3, + "StageID": 205511253 + }, + { + "EventID": 20551125, + "WorldLevel": 4, + "StageID": 205511254 + }, + { + "EventID": 20551125, + "WorldLevel": 5, + "StageID": 205511255 + }, + { + "EventID": 20551125, + "WorldLevel": 6, + "StageID": 205511256 + }, + { + "EventID": 20561001, + "WorldLevel": 0, + "StageID": 205610010 + }, + { + "EventID": 20561001, + "WorldLevel": 1, + "StageID": 205610011 + }, + { + "EventID": 20561001, + "WorldLevel": 2, + "StageID": 205610012 + }, + { + "EventID": 20561001, + "WorldLevel": 3, + "StageID": 205610013 + }, + { + "EventID": 20561001, + "WorldLevel": 4, + "StageID": 205610014 + }, + { + "EventID": 20561001, + "WorldLevel": 5, + "StageID": 205610015 + }, + { + "EventID": 20561001, + "WorldLevel": 6, + "StageID": 205610016 + }, + { + "EventID": 20561002, + "WorldLevel": 0, + "StageID": 205610020 + }, + { + "EventID": 20561002, + "WorldLevel": 1, + "StageID": 205610021 + }, + { + "EventID": 20561002, + "WorldLevel": 2, + "StageID": 205610022 + }, + { + "EventID": 20561002, + "WorldLevel": 3, + "StageID": 205610023 + }, + { + "EventID": 20561002, + "WorldLevel": 4, + "StageID": 205610024 + }, + { + "EventID": 20561002, + "WorldLevel": 5, + "StageID": 205610025 + }, + { + "EventID": 20561002, + "WorldLevel": 6, + "StageID": 205610026 + }, + { + "EventID": 20561003, + "WorldLevel": 0, + "StageID": 205610030 + }, + { + "EventID": 20561003, + "WorldLevel": 1, + "StageID": 205610031 + }, + { + "EventID": 20561003, + "WorldLevel": 2, + "StageID": 205610032 + }, + { + "EventID": 20561003, + "WorldLevel": 3, + "StageID": 205610033 + }, + { + "EventID": 20561003, + "WorldLevel": 4, + "StageID": 205610034 + }, + { + "EventID": 20561003, + "WorldLevel": 5, + "StageID": 205610035 + }, + { + "EventID": 20561003, + "WorldLevel": 6, + "StageID": 205610036 + }, + { + "EventID": 20561004, + "WorldLevel": 0, + "StageID": 205610040 + }, + { + "EventID": 20561004, + "WorldLevel": 1, + "StageID": 205610041 + }, + { + "EventID": 20561004, + "WorldLevel": 2, + "StageID": 205610042 + }, + { + "EventID": 20561004, + "WorldLevel": 3, + "StageID": 205610043 + }, + { + "EventID": 20561004, + "WorldLevel": 4, + "StageID": 205610044 + }, + { + "EventID": 20561004, + "WorldLevel": 5, + "StageID": 205610045 + }, + { + "EventID": 20561004, + "WorldLevel": 6, + "StageID": 205610046 + }, + { + "EventID": 20561005, + "WorldLevel": 0, + "StageID": 205610050 + }, + { + "EventID": 20561005, + "WorldLevel": 1, + "StageID": 205610051 + }, + { + "EventID": 20561005, + "WorldLevel": 2, + "StageID": 205610052 + }, + { + "EventID": 20561005, + "WorldLevel": 3, + "StageID": 205610053 + }, + { + "EventID": 20561005, + "WorldLevel": 4, + "StageID": 205610054 + }, + { + "EventID": 20561005, + "WorldLevel": 5, + "StageID": 205610055 + }, + { + "EventID": 20561005, + "WorldLevel": 6, + "StageID": 205610056 + }, + { + "EventID": 20561006, + "WorldLevel": 0, + "StageID": 205610060 + }, + { + "EventID": 20561006, + "WorldLevel": 1, + "StageID": 205610061 + }, + { + "EventID": 20561006, + "WorldLevel": 2, + "StageID": 205610062 + }, + { + "EventID": 20561006, + "WorldLevel": 3, + "StageID": 205610063 + }, + { + "EventID": 20561006, + "WorldLevel": 4, + "StageID": 205610064 + }, + { + "EventID": 20561006, + "WorldLevel": 5, + "StageID": 205610065 + }, + { + "EventID": 20561006, + "WorldLevel": 6, + "StageID": 205610066 + }, + { + "EventID": 20561101, + "WorldLevel": 0, + "StageID": 205611010 + }, + { + "EventID": 20561101, + "WorldLevel": 1, + "StageID": 205611011 + }, + { + "EventID": 20561101, + "WorldLevel": 2, + "StageID": 205611012 + }, + { + "EventID": 20561101, + "WorldLevel": 3, + "StageID": 205611013 + }, + { + "EventID": 20561101, + "WorldLevel": 4, + "StageID": 205611014 + }, + { + "EventID": 20561101, + "WorldLevel": 5, + "StageID": 205611015 + }, + { + "EventID": 20561101, + "WorldLevel": 6, + "StageID": 205611016 + }, + { + "EventID": 20561102, + "WorldLevel": 0, + "StageID": 205611020 + }, + { + "EventID": 20561102, + "WorldLevel": 1, + "StageID": 205611021 + }, + { + "EventID": 20561102, + "WorldLevel": 2, + "StageID": 205611022 + }, + { + "EventID": 20561102, + "WorldLevel": 3, + "StageID": 205611023 + }, + { + "EventID": 20561102, + "WorldLevel": 4, + "StageID": 205611024 + }, + { + "EventID": 20561102, + "WorldLevel": 5, + "StageID": 205611025 + }, + { + "EventID": 20561102, + "WorldLevel": 6, + "StageID": 205611026 + }, + { + "EventID": 20561103, + "WorldLevel": 0, + "StageID": 205611030 + }, + { + "EventID": 20561103, + "WorldLevel": 1, + "StageID": 205611031 + }, + { + "EventID": 20561103, + "WorldLevel": 2, + "StageID": 205611032 + }, + { + "EventID": 20561103, + "WorldLevel": 3, + "StageID": 205611033 + }, + { + "EventID": 20561103, + "WorldLevel": 4, + "StageID": 205611034 + }, + { + "EventID": 20561103, + "WorldLevel": 5, + "StageID": 205611035 + }, + { + "EventID": 20561103, + "WorldLevel": 6, + "StageID": 205611036 + }, + { + "EventID": 20561104, + "WorldLevel": 0, + "StageID": 205611040 + }, + { + "EventID": 20561104, + "WorldLevel": 1, + "StageID": 205611041 + }, + { + "EventID": 20561104, + "WorldLevel": 2, + "StageID": 205611042 + }, + { + "EventID": 20561104, + "WorldLevel": 3, + "StageID": 205611043 + }, + { + "EventID": 20561104, + "WorldLevel": 4, + "StageID": 205611044 + }, + { + "EventID": 20561104, + "WorldLevel": 5, + "StageID": 205611045 + }, + { + "EventID": 20561104, + "WorldLevel": 6, + "StageID": 205611046 + }, + { + "EventID": 20561105, + "WorldLevel": 0, + "StageID": 205611050 + }, + { + "EventID": 20561105, + "WorldLevel": 1, + "StageID": 205611051 + }, + { + "EventID": 20561105, + "WorldLevel": 2, + "StageID": 205611052 + }, + { + "EventID": 20561105, + "WorldLevel": 3, + "StageID": 205611053 + }, + { + "EventID": 20561105, + "WorldLevel": 4, + "StageID": 205611054 + }, + { + "EventID": 20561105, + "WorldLevel": 5, + "StageID": 205611055 + }, + { + "EventID": 20561105, + "WorldLevel": 6, + "StageID": 205611056 + }, + { + "EventID": 20561106, + "WorldLevel": 0, + "StageID": 205611060 + }, + { + "EventID": 20561106, + "WorldLevel": 1, + "StageID": 205611061 + }, + { + "EventID": 20561106, + "WorldLevel": 2, + "StageID": 205611062 + }, + { + "EventID": 20561106, + "WorldLevel": 3, + "StageID": 205611063 + }, + { + "EventID": 20561106, + "WorldLevel": 4, + "StageID": 205611064 + }, + { + "EventID": 20561106, + "WorldLevel": 5, + "StageID": 205611065 + }, + { + "EventID": 20561106, + "WorldLevel": 6, + "StageID": 205611066 + }, + { + "EventID": 20571001, + "WorldLevel": 0, + "StageID": 205710010 + }, + { + "EventID": 20571001, + "WorldLevel": 1, + "StageID": 205710011 + }, + { + "EventID": 20571001, + "WorldLevel": 2, + "StageID": 205710012 + }, + { + "EventID": 20571001, + "WorldLevel": 3, + "StageID": 205710013 + }, + { + "EventID": 20571001, + "WorldLevel": 4, + "StageID": 205710014 + }, + { + "EventID": 20571001, + "WorldLevel": 5, + "StageID": 205710015 + }, + { + "EventID": 20571001, + "WorldLevel": 6, + "StageID": 205710016 + }, + { + "EventID": 20571002, + "WorldLevel": 0, + "StageID": 205710020 + }, + { + "EventID": 20571002, + "WorldLevel": 1, + "StageID": 205710021 + }, + { + "EventID": 20571002, + "WorldLevel": 2, + "StageID": 205710022 + }, + { + "EventID": 20571002, + "WorldLevel": 3, + "StageID": 205710023 + }, + { + "EventID": 20571002, + "WorldLevel": 4, + "StageID": 205710024 + }, + { + "EventID": 20571002, + "WorldLevel": 5, + "StageID": 205710025 + }, + { + "EventID": 20571002, + "WorldLevel": 6, + "StageID": 205710026 + }, + { + "EventID": 20571003, + "WorldLevel": 0, + "StageID": 205710030 + }, + { + "EventID": 20571003, + "WorldLevel": 1, + "StageID": 205710031 + }, + { + "EventID": 20571003, + "WorldLevel": 2, + "StageID": 205710032 + }, + { + "EventID": 20571003, + "WorldLevel": 3, + "StageID": 205710033 + }, + { + "EventID": 20571003, + "WorldLevel": 4, + "StageID": 205710034 + }, + { + "EventID": 20571003, + "WorldLevel": 5, + "StageID": 205710035 + }, + { + "EventID": 20571003, + "WorldLevel": 6, + "StageID": 205710036 + }, + { + "EventID": 20571004, + "WorldLevel": 0, + "StageID": 205710040 + }, + { + "EventID": 20571004, + "WorldLevel": 1, + "StageID": 205710041 + }, + { + "EventID": 20571004, + "WorldLevel": 2, + "StageID": 205710042 + }, + { + "EventID": 20571004, + "WorldLevel": 3, + "StageID": 205710043 + }, + { + "EventID": 20571004, + "WorldLevel": 4, + "StageID": 205710044 + }, + { + "EventID": 20571004, + "WorldLevel": 5, + "StageID": 205710045 + }, + { + "EventID": 20571004, + "WorldLevel": 6, + "StageID": 205710046 + }, + { + "EventID": 20571005, + "WorldLevel": 0, + "StageID": 205710050 + }, + { + "EventID": 20571005, + "WorldLevel": 1, + "StageID": 205710051 + }, + { + "EventID": 20571005, + "WorldLevel": 2, + "StageID": 205710052 + }, + { + "EventID": 20571005, + "WorldLevel": 3, + "StageID": 205710053 + }, + { + "EventID": 20571005, + "WorldLevel": 4, + "StageID": 205710054 + }, + { + "EventID": 20571005, + "WorldLevel": 5, + "StageID": 205710055 + }, + { + "EventID": 20571005, + "WorldLevel": 6, + "StageID": 205710056 + }, + { + "EventID": 20571101, + "WorldLevel": 0, + "StageID": 205711010 + }, + { + "EventID": 20571101, + "WorldLevel": 1, + "StageID": 205711011 + }, + { + "EventID": 20571101, + "WorldLevel": 2, + "StageID": 205711012 + }, + { + "EventID": 20571101, + "WorldLevel": 3, + "StageID": 205711013 + }, + { + "EventID": 20571101, + "WorldLevel": 4, + "StageID": 205711014 + }, + { + "EventID": 20571101, + "WorldLevel": 5, + "StageID": 205711015 + }, + { + "EventID": 20571101, + "WorldLevel": 6, + "StageID": 205711016 + }, + { + "EventID": 20571102, + "WorldLevel": 0, + "StageID": 205711020 + }, + { + "EventID": 20571102, + "WorldLevel": 1, + "StageID": 205711021 + }, + { + "EventID": 20571102, + "WorldLevel": 2, + "StageID": 205711022 + }, + { + "EventID": 20571102, + "WorldLevel": 3, + "StageID": 205711023 + }, + { + "EventID": 20571102, + "WorldLevel": 4, + "StageID": 205711024 + }, + { + "EventID": 20571102, + "WorldLevel": 5, + "StageID": 205711025 + }, + { + "EventID": 20571102, + "WorldLevel": 6, + "StageID": 205711026 + }, + { + "EventID": 20571103, + "WorldLevel": 0, + "StageID": 205711030 + }, + { + "EventID": 20571103, + "WorldLevel": 1, + "StageID": 205711031 + }, + { + "EventID": 20571103, + "WorldLevel": 2, + "StageID": 205711032 + }, + { + "EventID": 20571103, + "WorldLevel": 3, + "StageID": 205711033 + }, + { + "EventID": 20571103, + "WorldLevel": 4, + "StageID": 205711034 + }, + { + "EventID": 20571103, + "WorldLevel": 5, + "StageID": 205711035 + }, + { + "EventID": 20571103, + "WorldLevel": 6, + "StageID": 205711036 + }, + { + "EventID": 20571104, + "WorldLevel": 0, + "StageID": 205711040 + }, + { + "EventID": 20571104, + "WorldLevel": 1, + "StageID": 205711041 + }, + { + "EventID": 20571104, + "WorldLevel": 2, + "StageID": 205711042 + }, + { + "EventID": 20571104, + "WorldLevel": 3, + "StageID": 205711043 + }, + { + "EventID": 20571104, + "WorldLevel": 4, + "StageID": 205711044 + }, + { + "EventID": 20571104, + "WorldLevel": 5, + "StageID": 205711045 + }, + { + "EventID": 20571104, + "WorldLevel": 6, + "StageID": 205711046 + }, + { + "EventID": 20571105, + "WorldLevel": 0, + "StageID": 205711050 + }, + { + "EventID": 20571105, + "WorldLevel": 1, + "StageID": 205711051 + }, + { + "EventID": 20571105, + "WorldLevel": 2, + "StageID": 205711052 + }, + { + "EventID": 20571105, + "WorldLevel": 3, + "StageID": 205711053 + }, + { + "EventID": 20571105, + "WorldLevel": 4, + "StageID": 205711054 + }, + { + "EventID": 20571105, + "WorldLevel": 5, + "StageID": 205711055 + }, + { + "EventID": 20571105, + "WorldLevel": 6, + "StageID": 205711056 + }, + { + "EventID": 20571106, + "WorldLevel": 0, + "StageID": 205711060 + }, + { + "EventID": 20571106, + "WorldLevel": 1, + "StageID": 205711061 + }, + { + "EventID": 20571106, + "WorldLevel": 2, + "StageID": 205711062 + }, + { + "EventID": 20571106, + "WorldLevel": 3, + "StageID": 205711063 + }, + { + "EventID": 20571106, + "WorldLevel": 4, + "StageID": 205711064 + }, + { + "EventID": 20571106, + "WorldLevel": 5, + "StageID": 205711065 + }, + { + "EventID": 20571106, + "WorldLevel": 6, + "StageID": 205711066 + }, + { + "EventID": 20571107, + "WorldLevel": 0, + "StageID": 205711070 + }, + { + "EventID": 20571107, + "WorldLevel": 1, + "StageID": 205711071 + }, + { + "EventID": 20571107, + "WorldLevel": 2, + "StageID": 205711072 + }, + { + "EventID": 20571107, + "WorldLevel": 3, + "StageID": 205711073 + }, + { + "EventID": 20571107, + "WorldLevel": 4, + "StageID": 205711074 + }, + { + "EventID": 20571107, + "WorldLevel": 5, + "StageID": 205711075 + }, + { + "EventID": 20571107, + "WorldLevel": 6, + "StageID": 205711076 + }, + { + "EventID": 20571108, + "WorldLevel": 0, + "StageID": 205711080 + }, + { + "EventID": 20571108, + "WorldLevel": 1, + "StageID": 205711081 + }, + { + "EventID": 20571108, + "WorldLevel": 2, + "StageID": 205711082 + }, + { + "EventID": 20571108, + "WorldLevel": 3, + "StageID": 205711083 + }, + { + "EventID": 20571108, + "WorldLevel": 4, + "StageID": 205711084 + }, + { + "EventID": 20571108, + "WorldLevel": 5, + "StageID": 205711085 + }, + { + "EventID": 20571108, + "WorldLevel": 6, + "StageID": 205711086 + }, + { + "EventID": 40002001, + "WorldLevel": 0, + "StageID": 400020010 + }, + { + "EventID": 40002001, + "WorldLevel": 1, + "StageID": 400020011 + }, + { + "EventID": 40002001, + "WorldLevel": 2, + "StageID": 400020012 + }, + { + "EventID": 40002001, + "WorldLevel": 3, + "StageID": 400020013 + }, + { + "EventID": 40002001, + "WorldLevel": 4, + "StageID": 400020014 + }, + { + "EventID": 40002001, + "WorldLevel": 5, + "StageID": 400020015 + }, + { + "EventID": 40002001, + "WorldLevel": 6, + "StageID": 400020016 + }, + { + "EventID": 40002002, + "WorldLevel": 0, + "StageID": 400020020 + }, + { + "EventID": 40002002, + "WorldLevel": 1, + "StageID": 400020021 + }, + { + "EventID": 40002002, + "WorldLevel": 2, + "StageID": 400020022 + }, + { + "EventID": 40002002, + "WorldLevel": 3, + "StageID": 400020023 + }, + { + "EventID": 40002002, + "WorldLevel": 4, + "StageID": 400020024 + }, + { + "EventID": 40002002, + "WorldLevel": 5, + "StageID": 400020025 + }, + { + "EventID": 40002002, + "WorldLevel": 6, + "StageID": 400020026 + }, + { + "EventID": 40002003, + "WorldLevel": 0, + "StageID": 400020030 + }, + { + "EventID": 40002003, + "WorldLevel": 1, + "StageID": 400020031 + }, + { + "EventID": 40002003, + "WorldLevel": 2, + "StageID": 400020032 + }, + { + "EventID": 40002003, + "WorldLevel": 3, + "StageID": 400020033 + }, + { + "EventID": 40002003, + "WorldLevel": 4, + "StageID": 400020034 + }, + { + "EventID": 40002003, + "WorldLevel": 5, + "StageID": 400020035 + }, + { + "EventID": 40002003, + "WorldLevel": 6, + "StageID": 400020036 + }, + { + "EventID": 40002004, + "WorldLevel": 0, + "StageID": 400020040 + }, + { + "EventID": 40002004, + "WorldLevel": 1, + "StageID": 400020041 + }, + { + "EventID": 40002004, + "WorldLevel": 2, + "StageID": 400020042 + }, + { + "EventID": 40002004, + "WorldLevel": 3, + "StageID": 400020043 + }, + { + "EventID": 40002004, + "WorldLevel": 4, + "StageID": 400020044 + }, + { + "EventID": 40002004, + "WorldLevel": 5, + "StageID": 400020045 + }, + { + "EventID": 40002004, + "WorldLevel": 6, + "StageID": 400020046 + }, + { + "EventID": 40002005, + "WorldLevel": 0, + "StageID": 400020050 + }, + { + "EventID": 40002005, + "WorldLevel": 1, + "StageID": 400020051 + }, + { + "EventID": 40002005, + "WorldLevel": 2, + "StageID": 400020052 + }, + { + "EventID": 40002005, + "WorldLevel": 3, + "StageID": 400020053 + }, + { + "EventID": 40002005, + "WorldLevel": 4, + "StageID": 400020054 + }, + { + "EventID": 40002005, + "WorldLevel": 5, + "StageID": 400020055 + }, + { + "EventID": 40002005, + "WorldLevel": 6, + "StageID": 400020056 + }, + { + "EventID": 40002006, + "WorldLevel": 0, + "StageID": 400020060 + }, + { + "EventID": 40002006, + "WorldLevel": 1, + "StageID": 400020061 + }, + { + "EventID": 40002006, + "WorldLevel": 2, + "StageID": 400020062 + }, + { + "EventID": 40002006, + "WorldLevel": 3, + "StageID": 400020063 + }, + { + "EventID": 40002006, + "WorldLevel": 4, + "StageID": 400020064 + }, + { + "EventID": 40002006, + "WorldLevel": 5, + "StageID": 400020065 + }, + { + "EventID": 40002006, + "WorldLevel": 6, + "StageID": 400020066 + }, + { + "EventID": 40002007, + "WorldLevel": 0, + "StageID": 400020070 + }, + { + "EventID": 40002007, + "WorldLevel": 1, + "StageID": 400020071 + }, + { + "EventID": 40002007, + "WorldLevel": 2, + "StageID": 400020072 + }, + { + "EventID": 40002007, + "WorldLevel": 3, + "StageID": 400020073 + }, + { + "EventID": 40002007, + "WorldLevel": 4, + "StageID": 400020074 + }, + { + "EventID": 40002007, + "WorldLevel": 5, + "StageID": 400020075 + }, + { + "EventID": 40002007, + "WorldLevel": 6, + "StageID": 400020076 + }, + { + "EventID": 40002009, + "WorldLevel": 0, + "StageID": 400020090 + }, + { + "EventID": 40002009, + "WorldLevel": 1, + "StageID": 400020091 + }, + { + "EventID": 40002009, + "WorldLevel": 2, + "StageID": 400020092 + }, + { + "EventID": 40002009, + "WorldLevel": 3, + "StageID": 400020093 + }, + { + "EventID": 40002009, + "WorldLevel": 4, + "StageID": 400020094 + }, + { + "EventID": 40002009, + "WorldLevel": 5, + "StageID": 400020095 + }, + { + "EventID": 40002009, + "WorldLevel": 6, + "StageID": 400020096 + }, + { + "EventID": 40002010, + "WorldLevel": 0, + "StageID": 400020100 + }, + { + "EventID": 40002010, + "WorldLevel": 1, + "StageID": 400020101 + }, + { + "EventID": 40002010, + "WorldLevel": 2, + "StageID": 400020102 + }, + { + "EventID": 40002010, + "WorldLevel": 3, + "StageID": 400020103 + }, + { + "EventID": 40002010, + "WorldLevel": 4, + "StageID": 400020104 + }, + { + "EventID": 40002010, + "WorldLevel": 5, + "StageID": 400020105 + }, + { + "EventID": 40002010, + "WorldLevel": 6, + "StageID": 400020106 + }, + { + "EventID": 40002011, + "WorldLevel": 0, + "StageID": 400020110 + }, + { + "EventID": 40002011, + "WorldLevel": 1, + "StageID": 400020111 + }, + { + "EventID": 40002011, + "WorldLevel": 2, + "StageID": 400020112 + }, + { + "EventID": 40002011, + "WorldLevel": 3, + "StageID": 400020113 + }, + { + "EventID": 40002011, + "WorldLevel": 4, + "StageID": 400020114 + }, + { + "EventID": 40002011, + "WorldLevel": 5, + "StageID": 400020115 + }, + { + "EventID": 40002011, + "WorldLevel": 6, + "StageID": 400020116 + }, + { + "EventID": 40002012, + "WorldLevel": 0, + "StageID": 400020120 + }, + { + "EventID": 40002012, + "WorldLevel": 1, + "StageID": 400020121 + }, + { + "EventID": 40002012, + "WorldLevel": 2, + "StageID": 400020122 + }, + { + "EventID": 40002012, + "WorldLevel": 3, + "StageID": 400020123 + }, + { + "EventID": 40002012, + "WorldLevel": 4, + "StageID": 400020124 + }, + { + "EventID": 40002012, + "WorldLevel": 5, + "StageID": 400020125 + }, + { + "EventID": 40002012, + "WorldLevel": 6, + "StageID": 400020126 + }, + { + "EventID": 40002013, + "WorldLevel": 0, + "StageID": 400020130 + }, + { + "EventID": 40002013, + "WorldLevel": 1, + "StageID": 400020131 + }, + { + "EventID": 40002013, + "WorldLevel": 2, + "StageID": 400020132 + }, + { + "EventID": 40002013, + "WorldLevel": 3, + "StageID": 400020133 + }, + { + "EventID": 40002013, + "WorldLevel": 4, + "StageID": 400020134 + }, + { + "EventID": 40002013, + "WorldLevel": 5, + "StageID": 400020135 + }, + { + "EventID": 40002013, + "WorldLevel": 6, + "StageID": 400020136 + }, + { + "EventID": 40002015, + "WorldLevel": 0, + "StageID": 400020150 + }, + { + "EventID": 40002015, + "WorldLevel": 1, + "StageID": 400020151 + }, + { + "EventID": 40002015, + "WorldLevel": 2, + "StageID": 400020152 + }, + { + "EventID": 40002015, + "WorldLevel": 3, + "StageID": 400020153 + }, + { + "EventID": 40002015, + "WorldLevel": 4, + "StageID": 400020154 + }, + { + "EventID": 40002015, + "WorldLevel": 5, + "StageID": 400020155 + }, + { + "EventID": 40002015, + "WorldLevel": 6, + "StageID": 400020156 + }, + { + "EventID": 40002019, + "WorldLevel": 0, + "StageID": 400020190 + }, + { + "EventID": 40002019, + "WorldLevel": 1, + "StageID": 400020191 + }, + { + "EventID": 40002019, + "WorldLevel": 2, + "StageID": 400020192 + }, + { + "EventID": 40002019, + "WorldLevel": 3, + "StageID": 400020193 + }, + { + "EventID": 40002019, + "WorldLevel": 4, + "StageID": 400020194 + }, + { + "EventID": 40002019, + "WorldLevel": 5, + "StageID": 400020195 + }, + { + "EventID": 40002019, + "WorldLevel": 6, + "StageID": 400020196 + }, + { + "EventID": 40002020, + "WorldLevel": 0, + "StageID": 400020200 + }, + { + "EventID": 40002020, + "WorldLevel": 1, + "StageID": 400020201 + }, + { + "EventID": 40002020, + "WorldLevel": 2, + "StageID": 400020202 + }, + { + "EventID": 40002020, + "WorldLevel": 3, + "StageID": 400020203 + }, + { + "EventID": 40002020, + "WorldLevel": 4, + "StageID": 400020204 + }, + { + "EventID": 40002020, + "WorldLevel": 5, + "StageID": 400020205 + }, + { + "EventID": 40002020, + "WorldLevel": 6, + "StageID": 400020206 + }, + { + "EventID": 40002021, + "WorldLevel": 0, + "StageID": 400020210 + }, + { + "EventID": 40002021, + "WorldLevel": 1, + "StageID": 400020211 + }, + { + "EventID": 40002021, + "WorldLevel": 2, + "StageID": 400020212 + }, + { + "EventID": 40002021, + "WorldLevel": 3, + "StageID": 400020213 + }, + { + "EventID": 40002021, + "WorldLevel": 4, + "StageID": 400020214 + }, + { + "EventID": 40002021, + "WorldLevel": 5, + "StageID": 400020215 + }, + { + "EventID": 40002021, + "WorldLevel": 6, + "StageID": 400020216 + }, + { + "EventID": 40002022, + "WorldLevel": 0, + "StageID": 400020220 + }, + { + "EventID": 40002022, + "WorldLevel": 1, + "StageID": 400020221 + }, + { + "EventID": 40002022, + "WorldLevel": 2, + "StageID": 400020222 + }, + { + "EventID": 40002022, + "WorldLevel": 3, + "StageID": 400020223 + }, + { + "EventID": 40002022, + "WorldLevel": 4, + "StageID": 400020224 + }, + { + "EventID": 40002022, + "WorldLevel": 5, + "StageID": 400020225 + }, + { + "EventID": 40002022, + "WorldLevel": 6, + "StageID": 400020226 + }, + { + "EventID": 40002023, + "WorldLevel": 0, + "StageID": 400020230 + }, + { + "EventID": 40002023, + "WorldLevel": 1, + "StageID": 400020231 + }, + { + "EventID": 40002023, + "WorldLevel": 2, + "StageID": 400020232 + }, + { + "EventID": 40002023, + "WorldLevel": 3, + "StageID": 400020233 + }, + { + "EventID": 40002023, + "WorldLevel": 4, + "StageID": 400020234 + }, + { + "EventID": 40002023, + "WorldLevel": 5, + "StageID": 400020235 + }, + { + "EventID": 40002023, + "WorldLevel": 6, + "StageID": 400020236 + }, + { + "EventID": 40002024, + "WorldLevel": 0, + "StageID": 400020240 + }, + { + "EventID": 40002024, + "WorldLevel": 1, + "StageID": 400020241 + }, + { + "EventID": 40002024, + "WorldLevel": 2, + "StageID": 400020242 + }, + { + "EventID": 40002024, + "WorldLevel": 3, + "StageID": 400020243 + }, + { + "EventID": 40002024, + "WorldLevel": 4, + "StageID": 400020244 + }, + { + "EventID": 40002024, + "WorldLevel": 5, + "StageID": 400020245 + }, + { + "EventID": 40002024, + "WorldLevel": 6, + "StageID": 400020246 + }, + { + "EventID": 40002025, + "WorldLevel": 0, + "StageID": 400020250 + }, + { + "EventID": 40002025, + "WorldLevel": 1, + "StageID": 400020251 + }, + { + "EventID": 40002025, + "WorldLevel": 2, + "StageID": 400020252 + }, + { + "EventID": 40002025, + "WorldLevel": 3, + "StageID": 400020253 + }, + { + "EventID": 40002025, + "WorldLevel": 4, + "StageID": 400020254 + }, + { + "EventID": 40002025, + "WorldLevel": 5, + "StageID": 400020255 + }, + { + "EventID": 40002025, + "WorldLevel": 6, + "StageID": 400020256 + }, + { + "EventID": 40002026, + "WorldLevel": 0, + "StageID": 400020260 + }, + { + "EventID": 40002026, + "WorldLevel": 1, + "StageID": 400020261 + }, + { + "EventID": 40002026, + "WorldLevel": 2, + "StageID": 400020262 + }, + { + "EventID": 40002026, + "WorldLevel": 3, + "StageID": 400020263 + }, + { + "EventID": 40002026, + "WorldLevel": 4, + "StageID": 400020264 + }, + { + "EventID": 40002026, + "WorldLevel": 5, + "StageID": 400020265 + }, + { + "EventID": 40002026, + "WorldLevel": 6, + "StageID": 400020266 + }, + { + "EventID": 40002028, + "WorldLevel": 0, + "StageID": 400020280 + }, + { + "EventID": 40002028, + "WorldLevel": 1, + "StageID": 400020281 + }, + { + "EventID": 40002028, + "WorldLevel": 2, + "StageID": 400020282 + }, + { + "EventID": 40002028, + "WorldLevel": 3, + "StageID": 400020283 + }, + { + "EventID": 40002028, + "WorldLevel": 4, + "StageID": 400020284 + }, + { + "EventID": 40002028, + "WorldLevel": 5, + "StageID": 400020285 + }, + { + "EventID": 40002028, + "WorldLevel": 6, + "StageID": 400020286 + }, + { + "EventID": 40002032, + "WorldLevel": 0, + "StageID": 400020320 + }, + { + "EventID": 40002032, + "WorldLevel": 1, + "StageID": 400020321 + }, + { + "EventID": 40002032, + "WorldLevel": 2, + "StageID": 400020322 + }, + { + "EventID": 40002032, + "WorldLevel": 3, + "StageID": 400020323 + }, + { + "EventID": 40002032, + "WorldLevel": 4, + "StageID": 400020324 + }, + { + "EventID": 40002032, + "WorldLevel": 5, + "StageID": 400020325 + }, + { + "EventID": 40002032, + "WorldLevel": 6, + "StageID": 400020326 + }, + { + "EventID": 40002033, + "WorldLevel": 0, + "StageID": 400020330 + }, + { + "EventID": 40002033, + "WorldLevel": 1, + "StageID": 400020331 + }, + { + "EventID": 40002033, + "WorldLevel": 2, + "StageID": 400020332 + }, + { + "EventID": 40002033, + "WorldLevel": 3, + "StageID": 400020333 + }, + { + "EventID": 40002033, + "WorldLevel": 4, + "StageID": 400020334 + }, + { + "EventID": 40002033, + "WorldLevel": 5, + "StageID": 400020335 + }, + { + "EventID": 40002033, + "WorldLevel": 6, + "StageID": 400020336 + }, + { + "EventID": 40002034, + "WorldLevel": 0, + "StageID": 400020340 + }, + { + "EventID": 40002034, + "WorldLevel": 1, + "StageID": 400020341 + }, + { + "EventID": 40002034, + "WorldLevel": 2, + "StageID": 400020342 + }, + { + "EventID": 40002034, + "WorldLevel": 3, + "StageID": 400020343 + }, + { + "EventID": 40002034, + "WorldLevel": 4, + "StageID": 400020344 + }, + { + "EventID": 40002034, + "WorldLevel": 5, + "StageID": 400020345 + }, + { + "EventID": 40002034, + "WorldLevel": 6, + "StageID": 400020346 + }, + { + "EventID": 40002035, + "WorldLevel": 0, + "StageID": 400020350 + }, + { + "EventID": 40002035, + "WorldLevel": 1, + "StageID": 400020351 + }, + { + "EventID": 40002035, + "WorldLevel": 2, + "StageID": 400020352 + }, + { + "EventID": 40002035, + "WorldLevel": 3, + "StageID": 400020353 + }, + { + "EventID": 40002035, + "WorldLevel": 4, + "StageID": 400020354 + }, + { + "EventID": 40002035, + "WorldLevel": 5, + "StageID": 400020355 + }, + { + "EventID": 40002035, + "WorldLevel": 6, + "StageID": 400020356 + }, + { + "EventID": 40002037, + "WorldLevel": 0, + "StageID": 400020370 + }, + { + "EventID": 40002037, + "WorldLevel": 1, + "StageID": 400020371 + }, + { + "EventID": 40002037, + "WorldLevel": 2, + "StageID": 400020372 + }, + { + "EventID": 40002037, + "WorldLevel": 3, + "StageID": 400020373 + }, + { + "EventID": 40002037, + "WorldLevel": 4, + "StageID": 400020374 + }, + { + "EventID": 40002037, + "WorldLevel": 5, + "StageID": 400020375 + }, + { + "EventID": 40002037, + "WorldLevel": 6, + "StageID": 400020376 + }, + { + "EventID": 40002038, + "WorldLevel": 0, + "StageID": 400020380 + }, + { + "EventID": 40002038, + "WorldLevel": 1, + "StageID": 400020381 + }, + { + "EventID": 40002038, + "WorldLevel": 2, + "StageID": 400020382 + }, + { + "EventID": 40002038, + "WorldLevel": 3, + "StageID": 400020383 + }, + { + "EventID": 40002038, + "WorldLevel": 4, + "StageID": 400020384 + }, + { + "EventID": 40002038, + "WorldLevel": 5, + "StageID": 400020385 + }, + { + "EventID": 40002038, + "WorldLevel": 6, + "StageID": 400020386 + }, + { + "EventID": 40002039, + "WorldLevel": 0, + "StageID": 400020390 + }, + { + "EventID": 40002039, + "WorldLevel": 1, + "StageID": 400020391 + }, + { + "EventID": 40002039, + "WorldLevel": 2, + "StageID": 400020392 + }, + { + "EventID": 40002039, + "WorldLevel": 3, + "StageID": 400020393 + }, + { + "EventID": 40002039, + "WorldLevel": 4, + "StageID": 400020394 + }, + { + "EventID": 40002039, + "WorldLevel": 5, + "StageID": 400020395 + }, + { + "EventID": 40002039, + "WorldLevel": 6, + "StageID": 400020396 + }, + { + "EventID": 40002041, + "WorldLevel": 0, + "StageID": 400020410 + }, + { + "EventID": 40002041, + "WorldLevel": 1, + "StageID": 400020411 + }, + { + "EventID": 40002041, + "WorldLevel": 2, + "StageID": 400020412 + }, + { + "EventID": 40002041, + "WorldLevel": 3, + "StageID": 400020413 + }, + { + "EventID": 40002041, + "WorldLevel": 4, + "StageID": 400020414 + }, + { + "EventID": 40002041, + "WorldLevel": 5, + "StageID": 400020415 + }, + { + "EventID": 40002041, + "WorldLevel": 6, + "StageID": 400020416 + }, + { + "EventID": 40002044, + "WorldLevel": 0, + "StageID": 400020440 + }, + { + "EventID": 40002044, + "WorldLevel": 1, + "StageID": 400020441 + }, + { + "EventID": 40002044, + "WorldLevel": 2, + "StageID": 400020442 + }, + { + "EventID": 40002044, + "WorldLevel": 3, + "StageID": 400020443 + }, + { + "EventID": 40002044, + "WorldLevel": 4, + "StageID": 400020444 + }, + { + "EventID": 40002044, + "WorldLevel": 5, + "StageID": 400020445 + }, + { + "EventID": 40002044, + "WorldLevel": 6, + "StageID": 400020446 + }, + { + "EventID": 40002045, + "WorldLevel": 0, + "StageID": 400020450 + }, + { + "EventID": 40002045, + "WorldLevel": 1, + "StageID": 400020451 + }, + { + "EventID": 40002045, + "WorldLevel": 2, + "StageID": 400020452 + }, + { + "EventID": 40002045, + "WorldLevel": 3, + "StageID": 400020453 + }, + { + "EventID": 40002045, + "WorldLevel": 4, + "StageID": 400020454 + }, + { + "EventID": 40002045, + "WorldLevel": 5, + "StageID": 400020455 + }, + { + "EventID": 40002045, + "WorldLevel": 6, + "StageID": 400020456 + }, + { + "EventID": 40002046, + "WorldLevel": 0, + "StageID": 400020460 + }, + { + "EventID": 40002046, + "WorldLevel": 1, + "StageID": 400020461 + }, + { + "EventID": 40002046, + "WorldLevel": 2, + "StageID": 400020462 + }, + { + "EventID": 40002046, + "WorldLevel": 3, + "StageID": 400020463 + }, + { + "EventID": 40002046, + "WorldLevel": 4, + "StageID": 400020464 + }, + { + "EventID": 40002046, + "WorldLevel": 5, + "StageID": 400020465 + }, + { + "EventID": 40002046, + "WorldLevel": 6, + "StageID": 400020466 + }, + { + "EventID": 40002047, + "WorldLevel": 0, + "StageID": 400020470 + }, + { + "EventID": 40002047, + "WorldLevel": 1, + "StageID": 400020471 + }, + { + "EventID": 40002047, + "WorldLevel": 2, + "StageID": 400020472 + }, + { + "EventID": 40002047, + "WorldLevel": 3, + "StageID": 400020473 + }, + { + "EventID": 40002047, + "WorldLevel": 4, + "StageID": 400020474 + }, + { + "EventID": 40002047, + "WorldLevel": 5, + "StageID": 400020475 + }, + { + "EventID": 40002047, + "WorldLevel": 6, + "StageID": 400020476 + }, + { + "EventID": 40002048, + "WorldLevel": 0, + "StageID": 400020480 + }, + { + "EventID": 40002048, + "WorldLevel": 1, + "StageID": 400020481 + }, + { + "EventID": 40002048, + "WorldLevel": 2, + "StageID": 400020482 + }, + { + "EventID": 40002048, + "WorldLevel": 3, + "StageID": 400020483 + }, + { + "EventID": 40002048, + "WorldLevel": 4, + "StageID": 400020484 + }, + { + "EventID": 40002048, + "WorldLevel": 5, + "StageID": 400020485 + }, + { + "EventID": 40002048, + "WorldLevel": 6, + "StageID": 400020486 + }, + { + "EventID": 40002049, + "WorldLevel": 0, + "StageID": 400020490 + }, + { + "EventID": 40002049, + "WorldLevel": 1, + "StageID": 400020491 + }, + { + "EventID": 40002049, + "WorldLevel": 2, + "StageID": 400020492 + }, + { + "EventID": 40002049, + "WorldLevel": 3, + "StageID": 400020493 + }, + { + "EventID": 40002049, + "WorldLevel": 4, + "StageID": 400020494 + }, + { + "EventID": 40002049, + "WorldLevel": 5, + "StageID": 400020495 + }, + { + "EventID": 40002049, + "WorldLevel": 6, + "StageID": 400020496 + }, + { + "EventID": 40002050, + "WorldLevel": 0, + "StageID": 400020500 + }, + { + "EventID": 40002050, + "WorldLevel": 1, + "StageID": 400020501 + }, + { + "EventID": 40002050, + "WorldLevel": 2, + "StageID": 400020502 + }, + { + "EventID": 40002050, + "WorldLevel": 3, + "StageID": 400020503 + }, + { + "EventID": 40002050, + "WorldLevel": 4, + "StageID": 400020504 + }, + { + "EventID": 40002050, + "WorldLevel": 5, + "StageID": 400020505 + }, + { + "EventID": 40002050, + "WorldLevel": 6, + "StageID": 400020506 + }, + { + "EventID": 40002052, + "WorldLevel": 0, + "StageID": 400020520 + }, + { + "EventID": 40002052, + "WorldLevel": 1, + "StageID": 400020521 + }, + { + "EventID": 40002052, + "WorldLevel": 2, + "StageID": 400020522 + }, + { + "EventID": 40002052, + "WorldLevel": 3, + "StageID": 400020523 + }, + { + "EventID": 40002052, + "WorldLevel": 4, + "StageID": 400020524 + }, + { + "EventID": 40002052, + "WorldLevel": 5, + "StageID": 400020525 + }, + { + "EventID": 40002052, + "WorldLevel": 6, + "StageID": 400020526 + }, + { + "EventID": 40002053, + "WorldLevel": 0, + "StageID": 400020530 + }, + { + "EventID": 40002053, + "WorldLevel": 1, + "StageID": 400020531 + }, + { + "EventID": 40002053, + "WorldLevel": 2, + "StageID": 400020532 + }, + { + "EventID": 40002053, + "WorldLevel": 3, + "StageID": 400020533 + }, + { + "EventID": 40002053, + "WorldLevel": 4, + "StageID": 400020534 + }, + { + "EventID": 40002053, + "WorldLevel": 5, + "StageID": 400020535 + }, + { + "EventID": 40002053, + "WorldLevel": 6, + "StageID": 400020536 + }, + { + "EventID": 40002054, + "WorldLevel": 0, + "StageID": 400020540 + }, + { + "EventID": 40002054, + "WorldLevel": 1, + "StageID": 400020541 + }, + { + "EventID": 40002054, + "WorldLevel": 2, + "StageID": 400020542 + }, + { + "EventID": 40002054, + "WorldLevel": 3, + "StageID": 400020543 + }, + { + "EventID": 40002054, + "WorldLevel": 4, + "StageID": 400020544 + }, + { + "EventID": 40002054, + "WorldLevel": 5, + "StageID": 400020545 + }, + { + "EventID": 40002054, + "WorldLevel": 6, + "StageID": 400020546 + }, + { + "EventID": 40002055, + "WorldLevel": 0, + "StageID": 400020550 + }, + { + "EventID": 40002055, + "WorldLevel": 1, + "StageID": 400020551 + }, + { + "EventID": 40002055, + "WorldLevel": 2, + "StageID": 400020552 + }, + { + "EventID": 40002055, + "WorldLevel": 3, + "StageID": 400020553 + }, + { + "EventID": 40002055, + "WorldLevel": 4, + "StageID": 400020554 + }, + { + "EventID": 40002055, + "WorldLevel": 5, + "StageID": 400020555 + }, + { + "EventID": 40002055, + "WorldLevel": 6, + "StageID": 400020556 + }, + { + "EventID": 40002056, + "WorldLevel": 0, + "StageID": 400020560 + }, + { + "EventID": 40002056, + "WorldLevel": 1, + "StageID": 400020561 + }, + { + "EventID": 40002056, + "WorldLevel": 2, + "StageID": 400020562 + }, + { + "EventID": 40002056, + "WorldLevel": 3, + "StageID": 400020563 + }, + { + "EventID": 40002056, + "WorldLevel": 4, + "StageID": 400020564 + }, + { + "EventID": 40002056, + "WorldLevel": 5, + "StageID": 400020565 + }, + { + "EventID": 40002056, + "WorldLevel": 6, + "StageID": 400020566 + }, + { + "EventID": 40002057, + "WorldLevel": 0, + "StageID": 400020570 + }, + { + "EventID": 40002057, + "WorldLevel": 1, + "StageID": 400020571 + }, + { + "EventID": 40002057, + "WorldLevel": 2, + "StageID": 400020572 + }, + { + "EventID": 40002057, + "WorldLevel": 3, + "StageID": 400020573 + }, + { + "EventID": 40002057, + "WorldLevel": 4, + "StageID": 400020574 + }, + { + "EventID": 40002057, + "WorldLevel": 5, + "StageID": 400020575 + }, + { + "EventID": 40002057, + "WorldLevel": 6, + "StageID": 400020576 + }, + { + "EventID": 40002058, + "WorldLevel": 0, + "StageID": 400020580 + }, + { + "EventID": 40002058, + "WorldLevel": 1, + "StageID": 400020581 + }, + { + "EventID": 40002058, + "WorldLevel": 2, + "StageID": 400020582 + }, + { + "EventID": 40002058, + "WorldLevel": 3, + "StageID": 400020583 + }, + { + "EventID": 40002058, + "WorldLevel": 4, + "StageID": 400020584 + }, + { + "EventID": 40002058, + "WorldLevel": 5, + "StageID": 400020585 + }, + { + "EventID": 40002058, + "WorldLevel": 6, + "StageID": 400020586 + }, + { + "EventID": 40002059, + "WorldLevel": 0, + "StageID": 400020590 + }, + { + "EventID": 40002059, + "WorldLevel": 1, + "StageID": 400020591 + }, + { + "EventID": 40002059, + "WorldLevel": 2, + "StageID": 400020592 + }, + { + "EventID": 40002059, + "WorldLevel": 3, + "StageID": 400020593 + }, + { + "EventID": 40002059, + "WorldLevel": 4, + "StageID": 400020594 + }, + { + "EventID": 40002059, + "WorldLevel": 5, + "StageID": 400020595 + }, + { + "EventID": 40002059, + "WorldLevel": 6, + "StageID": 400020596 + }, + { + "EventID": 40002060, + "WorldLevel": 0, + "StageID": 400020600 + }, + { + "EventID": 40002060, + "WorldLevel": 1, + "StageID": 400020601 + }, + { + "EventID": 40002060, + "WorldLevel": 2, + "StageID": 400020602 + }, + { + "EventID": 40002060, + "WorldLevel": 3, + "StageID": 400020603 + }, + { + "EventID": 40002060, + "WorldLevel": 4, + "StageID": 400020604 + }, + { + "EventID": 40002060, + "WorldLevel": 5, + "StageID": 400020605 + }, + { + "EventID": 40002060, + "WorldLevel": 6, + "StageID": 400020606 + }, + { + "EventID": 40002061, + "WorldLevel": 0, + "StageID": 400020610 + }, + { + "EventID": 40002061, + "WorldLevel": 1, + "StageID": 400020611 + }, + { + "EventID": 40002061, + "WorldLevel": 2, + "StageID": 400020612 + }, + { + "EventID": 40002061, + "WorldLevel": 3, + "StageID": 400020613 + }, + { + "EventID": 40002061, + "WorldLevel": 4, + "StageID": 400020614 + }, + { + "EventID": 40002061, + "WorldLevel": 5, + "StageID": 400020615 + }, + { + "EventID": 40002061, + "WorldLevel": 6, + "StageID": 400020616 + }, + { + "EventID": 40002066, + "WorldLevel": 0, + "StageID": 400020660 + }, + { + "EventID": 40002066, + "WorldLevel": 1, + "StageID": 400020661 + }, + { + "EventID": 40002066, + "WorldLevel": 2, + "StageID": 400020662 + }, + { + "EventID": 40002066, + "WorldLevel": 3, + "StageID": 400020663 + }, + { + "EventID": 40002066, + "WorldLevel": 4, + "StageID": 400020664 + }, + { + "EventID": 40002066, + "WorldLevel": 5, + "StageID": 400020665 + }, + { + "EventID": 40002066, + "WorldLevel": 6, + "StageID": 400020666 + }, + { + "EventID": 40002067, + "WorldLevel": 0, + "StageID": 400020670 + }, + { + "EventID": 40002067, + "WorldLevel": 1, + "StageID": 400020671 + }, + { + "EventID": 40002067, + "WorldLevel": 2, + "StageID": 400020672 + }, + { + "EventID": 40002067, + "WorldLevel": 3, + "StageID": 400020673 + }, + { + "EventID": 40002067, + "WorldLevel": 4, + "StageID": 400020674 + }, + { + "EventID": 40002067, + "WorldLevel": 5, + "StageID": 400020675 + }, + { + "EventID": 40002067, + "WorldLevel": 6, + "StageID": 400020676 + }, + { + "EventID": 40002068, + "WorldLevel": 0, + "StageID": 400020680 + }, + { + "EventID": 40002068, + "WorldLevel": 1, + "StageID": 400020681 + }, + { + "EventID": 40002068, + "WorldLevel": 2, + "StageID": 400020682 + }, + { + "EventID": 40002068, + "WorldLevel": 3, + "StageID": 400020683 + }, + { + "EventID": 40002068, + "WorldLevel": 4, + "StageID": 400020684 + }, + { + "EventID": 40002068, + "WorldLevel": 5, + "StageID": 400020685 + }, + { + "EventID": 40002068, + "WorldLevel": 6, + "StageID": 400020686 + }, + { + "EventID": 40002070, + "WorldLevel": 0, + "StageID": 400020700 + }, + { + "EventID": 40002070, + "WorldLevel": 1, + "StageID": 400020701 + }, + { + "EventID": 40002070, + "WorldLevel": 2, + "StageID": 400020702 + }, + { + "EventID": 40002070, + "WorldLevel": 3, + "StageID": 400020703 + }, + { + "EventID": 40002070, + "WorldLevel": 4, + "StageID": 400020704 + }, + { + "EventID": 40002070, + "WorldLevel": 5, + "StageID": 400020705 + }, + { + "EventID": 40002070, + "WorldLevel": 6, + "StageID": 400020706 + }, + { + "EventID": 40002071, + "WorldLevel": 0, + "StageID": 400020710 + }, + { + "EventID": 40002071, + "WorldLevel": 1, + "StageID": 400020711 + }, + { + "EventID": 40002071, + "WorldLevel": 2, + "StageID": 400020712 + }, + { + "EventID": 40002071, + "WorldLevel": 3, + "StageID": 400020713 + }, + { + "EventID": 40002071, + "WorldLevel": 4, + "StageID": 400020714 + }, + { + "EventID": 40002071, + "WorldLevel": 5, + "StageID": 400020715 + }, + { + "EventID": 40002071, + "WorldLevel": 6, + "StageID": 400020716 + }, + { + "EventID": 40002072, + "WorldLevel": 0, + "StageID": 400020720 + }, + { + "EventID": 40002072, + "WorldLevel": 1, + "StageID": 400020721 + }, + { + "EventID": 40002072, + "WorldLevel": 2, + "StageID": 400020722 + }, + { + "EventID": 40002072, + "WorldLevel": 3, + "StageID": 400020723 + }, + { + "EventID": 40002072, + "WorldLevel": 4, + "StageID": 400020724 + }, + { + "EventID": 40002072, + "WorldLevel": 5, + "StageID": 400020725 + }, + { + "EventID": 40002072, + "WorldLevel": 6, + "StageID": 400020726 + }, + { + "EventID": 40002073, + "WorldLevel": 0, + "StageID": 400020730 + }, + { + "EventID": 40002073, + "WorldLevel": 1, + "StageID": 400020731 + }, + { + "EventID": 40002073, + "WorldLevel": 2, + "StageID": 400020732 + }, + { + "EventID": 40002073, + "WorldLevel": 3, + "StageID": 400020733 + }, + { + "EventID": 40002073, + "WorldLevel": 4, + "StageID": 400020734 + }, + { + "EventID": 40002073, + "WorldLevel": 5, + "StageID": 400020735 + }, + { + "EventID": 40002073, + "WorldLevel": 6, + "StageID": 400020736 + }, + { + "EventID": 40002076, + "WorldLevel": 0, + "StageID": 400020760 + }, + { + "EventID": 40002076, + "WorldLevel": 1, + "StageID": 400020761 + }, + { + "EventID": 40002076, + "WorldLevel": 2, + "StageID": 400020762 + }, + { + "EventID": 40002076, + "WorldLevel": 3, + "StageID": 400020763 + }, + { + "EventID": 40002076, + "WorldLevel": 4, + "StageID": 400020764 + }, + { + "EventID": 40002076, + "WorldLevel": 5, + "StageID": 400020765 + }, + { + "EventID": 40002076, + "WorldLevel": 6, + "StageID": 400020766 + }, + { + "EventID": 40002077, + "WorldLevel": 0, + "StageID": 400020770 + }, + { + "EventID": 40002077, + "WorldLevel": 1, + "StageID": 400020771 + }, + { + "EventID": 40002077, + "WorldLevel": 2, + "StageID": 400020772 + }, + { + "EventID": 40002077, + "WorldLevel": 3, + "StageID": 400020773 + }, + { + "EventID": 40002077, + "WorldLevel": 4, + "StageID": 400020774 + }, + { + "EventID": 40002077, + "WorldLevel": 5, + "StageID": 400020775 + }, + { + "EventID": 40002077, + "WorldLevel": 6, + "StageID": 400020776 + }, + { + "EventID": 40002078, + "WorldLevel": 0, + "StageID": 400020780 + }, + { + "EventID": 40002078, + "WorldLevel": 1, + "StageID": 400020781 + }, + { + "EventID": 40002078, + "WorldLevel": 2, + "StageID": 400020782 + }, + { + "EventID": 40002078, + "WorldLevel": 3, + "StageID": 400020783 + }, + { + "EventID": 40002078, + "WorldLevel": 4, + "StageID": 400020784 + }, + { + "EventID": 40002078, + "WorldLevel": 5, + "StageID": 400020785 + }, + { + "EventID": 40002078, + "WorldLevel": 6, + "StageID": 400020786 + }, + { + "EventID": 40002079, + "WorldLevel": 0, + "StageID": 400020790 + }, + { + "EventID": 40002079, + "WorldLevel": 1, + "StageID": 400020791 + }, + { + "EventID": 40002079, + "WorldLevel": 2, + "StageID": 400020792 + }, + { + "EventID": 40002079, + "WorldLevel": 3, + "StageID": 400020793 + }, + { + "EventID": 40002079, + "WorldLevel": 4, + "StageID": 400020794 + }, + { + "EventID": 40002079, + "WorldLevel": 5, + "StageID": 400020795 + }, + { + "EventID": 40002079, + "WorldLevel": 6, + "StageID": 400020796 + }, + { + "EventID": 40002080, + "WorldLevel": 0, + "StageID": 400020800 + }, + { + "EventID": 40002080, + "WorldLevel": 1, + "StageID": 400020801 + }, + { + "EventID": 40002080, + "WorldLevel": 2, + "StageID": 400020802 + }, + { + "EventID": 40002080, + "WorldLevel": 3, + "StageID": 400020803 + }, + { + "EventID": 40002080, + "WorldLevel": 4, + "StageID": 400020804 + }, + { + "EventID": 40002080, + "WorldLevel": 5, + "StageID": 400020805 + }, + { + "EventID": 40002080, + "WorldLevel": 6, + "StageID": 400020806 + }, + { + "EventID": 40002081, + "WorldLevel": 0, + "StageID": 400020810 + }, + { + "EventID": 40002081, + "WorldLevel": 1, + "StageID": 400020811 + }, + { + "EventID": 40002081, + "WorldLevel": 2, + "StageID": 400020812 + }, + { + "EventID": 40002081, + "WorldLevel": 3, + "StageID": 400020813 + }, + { + "EventID": 40002081, + "WorldLevel": 4, + "StageID": 400020814 + }, + { + "EventID": 40002081, + "WorldLevel": 5, + "StageID": 400020815 + }, + { + "EventID": 40002081, + "WorldLevel": 6, + "StageID": 400020816 + }, + { + "EventID": 40002086, + "WorldLevel": 0, + "StageID": 400020860 + }, + { + "EventID": 40002086, + "WorldLevel": 1, + "StageID": 400020861 + }, + { + "EventID": 40002086, + "WorldLevel": 2, + "StageID": 400020862 + }, + { + "EventID": 40002086, + "WorldLevel": 3, + "StageID": 400020863 + }, + { + "EventID": 40002086, + "WorldLevel": 4, + "StageID": 400020864 + }, + { + "EventID": 40002086, + "WorldLevel": 5, + "StageID": 400020865 + }, + { + "EventID": 40002086, + "WorldLevel": 6, + "StageID": 400020866 + }, + { + "EventID": 40002087, + "WorldLevel": 0, + "StageID": 400020870 + }, + { + "EventID": 40002087, + "WorldLevel": 1, + "StageID": 400020871 + }, + { + "EventID": 40002087, + "WorldLevel": 2, + "StageID": 400020872 + }, + { + "EventID": 40002087, + "WorldLevel": 3, + "StageID": 400020873 + }, + { + "EventID": 40002087, + "WorldLevel": 4, + "StageID": 400020874 + }, + { + "EventID": 40002087, + "WorldLevel": 5, + "StageID": 400020875 + }, + { + "EventID": 40002087, + "WorldLevel": 6, + "StageID": 400020876 + }, + { + "EventID": 40002088, + "WorldLevel": 0, + "StageID": 400020880 + }, + { + "EventID": 40002088, + "WorldLevel": 1, + "StageID": 400020881 + }, + { + "EventID": 40002088, + "WorldLevel": 2, + "StageID": 400020882 + }, + { + "EventID": 40002088, + "WorldLevel": 3, + "StageID": 400020883 + }, + { + "EventID": 40002088, + "WorldLevel": 4, + "StageID": 400020884 + }, + { + "EventID": 40002088, + "WorldLevel": 5, + "StageID": 400020885 + }, + { + "EventID": 40002088, + "WorldLevel": 6, + "StageID": 400020886 + }, + { + "EventID": 40002089, + "WorldLevel": 0, + "StageID": 400020890 + }, + { + "EventID": 40002089, + "WorldLevel": 1, + "StageID": 400020891 + }, + { + "EventID": 40002089, + "WorldLevel": 2, + "StageID": 400020892 + }, + { + "EventID": 40002089, + "WorldLevel": 3, + "StageID": 400020893 + }, + { + "EventID": 40002089, + "WorldLevel": 4, + "StageID": 400020894 + }, + { + "EventID": 40002089, + "WorldLevel": 5, + "StageID": 400020895 + }, + { + "EventID": 40002089, + "WorldLevel": 6, + "StageID": 400020896 + }, + { + "EventID": 40002090, + "WorldLevel": 0, + "StageID": 400020900 + }, + { + "EventID": 40002090, + "WorldLevel": 1, + "StageID": 400020901 + }, + { + "EventID": 40002090, + "WorldLevel": 2, + "StageID": 400020902 + }, + { + "EventID": 40002090, + "WorldLevel": 3, + "StageID": 400020903 + }, + { + "EventID": 40002090, + "WorldLevel": 4, + "StageID": 400020904 + }, + { + "EventID": 40002090, + "WorldLevel": 5, + "StageID": 400020905 + }, + { + "EventID": 40002090, + "WorldLevel": 6, + "StageID": 400020906 + }, + { + "EventID": 40002091, + "WorldLevel": 0, + "StageID": 400020910 + }, + { + "EventID": 40002091, + "WorldLevel": 1, + "StageID": 400020911 + }, + { + "EventID": 40002091, + "WorldLevel": 2, + "StageID": 400020912 + }, + { + "EventID": 40002091, + "WorldLevel": 3, + "StageID": 400020913 + }, + { + "EventID": 40002091, + "WorldLevel": 4, + "StageID": 400020914 + }, + { + "EventID": 40002091, + "WorldLevel": 5, + "StageID": 400020915 + }, + { + "EventID": 40002091, + "WorldLevel": 6, + "StageID": 400020916 + }, + { + "EventID": 40002092, + "WorldLevel": 0, + "StageID": 400020920 + }, + { + "EventID": 40002092, + "WorldLevel": 1, + "StageID": 400020921 + }, + { + "EventID": 40002092, + "WorldLevel": 2, + "StageID": 400020922 + }, + { + "EventID": 40002092, + "WorldLevel": 3, + "StageID": 400020923 + }, + { + "EventID": 40002092, + "WorldLevel": 4, + "StageID": 400020924 + }, + { + "EventID": 40002092, + "WorldLevel": 5, + "StageID": 400020925 + }, + { + "EventID": 40002092, + "WorldLevel": 6, + "StageID": 400020926 + }, + { + "EventID": 40002093, + "WorldLevel": 0, + "StageID": 400020930 + }, + { + "EventID": 40002093, + "WorldLevel": 1, + "StageID": 400020931 + }, + { + "EventID": 40002093, + "WorldLevel": 2, + "StageID": 400020932 + }, + { + "EventID": 40002093, + "WorldLevel": 3, + "StageID": 400020933 + }, + { + "EventID": 40002093, + "WorldLevel": 4, + "StageID": 400020934 + }, + { + "EventID": 40002093, + "WorldLevel": 5, + "StageID": 400020935 + }, + { + "EventID": 40002093, + "WorldLevel": 6, + "StageID": 400020936 + }, + { + "EventID": 40002094, + "WorldLevel": 0, + "StageID": 400020940 + }, + { + "EventID": 40002094, + "WorldLevel": 1, + "StageID": 400020941 + }, + { + "EventID": 40002094, + "WorldLevel": 2, + "StageID": 400020942 + }, + { + "EventID": 40002094, + "WorldLevel": 3, + "StageID": 400020943 + }, + { + "EventID": 40002094, + "WorldLevel": 4, + "StageID": 400020944 + }, + { + "EventID": 40002094, + "WorldLevel": 5, + "StageID": 400020945 + }, + { + "EventID": 40002094, + "WorldLevel": 6, + "StageID": 400020946 + }, + { + "EventID": 40002095, + "WorldLevel": 0, + "StageID": 400020950 + }, + { + "EventID": 40002095, + "WorldLevel": 1, + "StageID": 400020951 + }, + { + "EventID": 40002095, + "WorldLevel": 2, + "StageID": 400020952 + }, + { + "EventID": 40002095, + "WorldLevel": 3, + "StageID": 400020953 + }, + { + "EventID": 40002095, + "WorldLevel": 4, + "StageID": 400020954 + }, + { + "EventID": 40002095, + "WorldLevel": 5, + "StageID": 400020955 + }, + { + "EventID": 40002095, + "WorldLevel": 6, + "StageID": 400020956 + }, + { + "EventID": 40002098, + "WorldLevel": 0, + "StageID": 400020980 + }, + { + "EventID": 40002098, + "WorldLevel": 1, + "StageID": 400020981 + }, + { + "EventID": 40002098, + "WorldLevel": 2, + "StageID": 400020982 + }, + { + "EventID": 40002098, + "WorldLevel": 3, + "StageID": 400020983 + }, + { + "EventID": 40002098, + "WorldLevel": 4, + "StageID": 400020984 + }, + { + "EventID": 40002098, + "WorldLevel": 5, + "StageID": 400020985 + }, + { + "EventID": 40002098, + "WorldLevel": 6, + "StageID": 400020986 + }, + { + "EventID": 40002099, + "WorldLevel": 0, + "StageID": 400020990 + }, + { + "EventID": 40002099, + "WorldLevel": 1, + "StageID": 400020991 + }, + { + "EventID": 40002099, + "WorldLevel": 2, + "StageID": 400020992 + }, + { + "EventID": 40002099, + "WorldLevel": 3, + "StageID": 400020993 + }, + { + "EventID": 40002099, + "WorldLevel": 4, + "StageID": 400020994 + }, + { + "EventID": 40002099, + "WorldLevel": 5, + "StageID": 400020995 + }, + { + "EventID": 40002099, + "WorldLevel": 6, + "StageID": 400020996 + }, + { + "EventID": 40002100, + "WorldLevel": 0, + "StageID": 400021000 + }, + { + "EventID": 40002100, + "WorldLevel": 1, + "StageID": 400021001 + }, + { + "EventID": 40002100, + "WorldLevel": 2, + "StageID": 400021002 + }, + { + "EventID": 40002100, + "WorldLevel": 3, + "StageID": 400021003 + }, + { + "EventID": 40002100, + "WorldLevel": 4, + "StageID": 400021004 + }, + { + "EventID": 40002100, + "WorldLevel": 5, + "StageID": 400021005 + }, + { + "EventID": 40002100, + "WorldLevel": 6, + "StageID": 400021006 + }, + { + "EventID": 40003201, + "WorldLevel": 0, + "StageID": 400032010 + }, + { + "EventID": 40003201, + "WorldLevel": 1, + "StageID": 400032011 + }, + { + "EventID": 40003201, + "WorldLevel": 2, + "StageID": 400032012 + }, + { + "EventID": 40003201, + "WorldLevel": 3, + "StageID": 400032013 + }, + { + "EventID": 40003201, + "WorldLevel": 4, + "StageID": 400032014 + }, + { + "EventID": 40003201, + "WorldLevel": 5, + "StageID": 400032015 + }, + { + "EventID": 40003201, + "WorldLevel": 6, + "StageID": 400032016 + }, + { + "EventID": 40003202, + "WorldLevel": 0, + "StageID": 400032020 + }, + { + "EventID": 40003202, + "WorldLevel": 1, + "StageID": 400032021 + }, + { + "EventID": 40003202, + "WorldLevel": 2, + "StageID": 400032022 + }, + { + "EventID": 40003202, + "WorldLevel": 3, + "StageID": 400032023 + }, + { + "EventID": 40003202, + "WorldLevel": 4, + "StageID": 400032024 + }, + { + "EventID": 40003202, + "WorldLevel": 5, + "StageID": 400032025 + }, + { + "EventID": 40003202, + "WorldLevel": 6, + "StageID": 400032026 + }, + { + "EventID": 40003203, + "WorldLevel": 0, + "StageID": 400032030 + }, + { + "EventID": 40003203, + "WorldLevel": 1, + "StageID": 400032031 + }, + { + "EventID": 40003203, + "WorldLevel": 2, + "StageID": 400032032 + }, + { + "EventID": 40003203, + "WorldLevel": 3, + "StageID": 400032033 + }, + { + "EventID": 40003203, + "WorldLevel": 4, + "StageID": 400032034 + }, + { + "EventID": 40003203, + "WorldLevel": 5, + "StageID": 400032035 + }, + { + "EventID": 40003203, + "WorldLevel": 6, + "StageID": 400032036 + }, + { + "EventID": 40003204, + "WorldLevel": 0, + "StageID": 400032040 + }, + { + "EventID": 40003204, + "WorldLevel": 1, + "StageID": 400032041 + }, + { + "EventID": 40003204, + "WorldLevel": 2, + "StageID": 400032042 + }, + { + "EventID": 40003204, + "WorldLevel": 3, + "StageID": 400032043 + }, + { + "EventID": 40003204, + "WorldLevel": 4, + "StageID": 400032044 + }, + { + "EventID": 40003204, + "WorldLevel": 5, + "StageID": 400032045 + }, + { + "EventID": 40003204, + "WorldLevel": 6, + "StageID": 400032046 + }, + { + "EventID": 40003205, + "WorldLevel": 0, + "StageID": 400032050 + }, + { + "EventID": 40003205, + "WorldLevel": 1, + "StageID": 400032051 + }, + { + "EventID": 40003205, + "WorldLevel": 2, + "StageID": 400032052 + }, + { + "EventID": 40003205, + "WorldLevel": 3, + "StageID": 400032053 + }, + { + "EventID": 40003205, + "WorldLevel": 4, + "StageID": 400032054 + }, + { + "EventID": 40003205, + "WorldLevel": 5, + "StageID": 400032055 + }, + { + "EventID": 40003205, + "WorldLevel": 6, + "StageID": 400032056 + }, + { + "EventID": 40003206, + "WorldLevel": 0, + "StageID": 400032060 + }, + { + "EventID": 40003206, + "WorldLevel": 1, + "StageID": 400032061 + }, + { + "EventID": 40003206, + "WorldLevel": 2, + "StageID": 400032062 + }, + { + "EventID": 40003206, + "WorldLevel": 3, + "StageID": 400032063 + }, + { + "EventID": 40003206, + "WorldLevel": 4, + "StageID": 400032064 + }, + { + "EventID": 40003206, + "WorldLevel": 5, + "StageID": 400032065 + }, + { + "EventID": 40003206, + "WorldLevel": 6, + "StageID": 400032066 + }, + { + "EventID": 40101001, + "WorldLevel": 0, + "StageID": 401010010 + }, + { + "EventID": 40101001, + "WorldLevel": 1, + "StageID": 401010011 + }, + { + "EventID": 40101001, + "WorldLevel": 2, + "StageID": 401010012 + }, + { + "EventID": 40101001, + "WorldLevel": 3, + "StageID": 401010013 + }, + { + "EventID": 40101001, + "WorldLevel": 4, + "StageID": 401010014 + }, + { + "EventID": 40101001, + "WorldLevel": 5, + "StageID": 401010015 + }, + { + "EventID": 40101001, + "WorldLevel": 6, + "StageID": 401010016 + }, + { + "EventID": 40101002, + "WorldLevel": 0, + "StageID": 401010020 + }, + { + "EventID": 40101002, + "WorldLevel": 1, + "StageID": 401010021 + }, + { + "EventID": 40101002, + "WorldLevel": 2, + "StageID": 401010022 + }, + { + "EventID": 40101002, + "WorldLevel": 3, + "StageID": 401010023 + }, + { + "EventID": 40101002, + "WorldLevel": 4, + "StageID": 401010024 + }, + { + "EventID": 40101002, + "WorldLevel": 5, + "StageID": 401010025 + }, + { + "EventID": 40101002, + "WorldLevel": 6, + "StageID": 401010026 + }, + { + "EventID": 40101003, + "WorldLevel": 0, + "StageID": 401010030 + }, + { + "EventID": 40101003, + "WorldLevel": 1, + "StageID": 401010031 + }, + { + "EventID": 40101003, + "WorldLevel": 2, + "StageID": 401010032 + }, + { + "EventID": 40101003, + "WorldLevel": 3, + "StageID": 401010033 + }, + { + "EventID": 40101003, + "WorldLevel": 4, + "StageID": 401010034 + }, + { + "EventID": 40101003, + "WorldLevel": 5, + "StageID": 401010035 + }, + { + "EventID": 40101003, + "WorldLevel": 6, + "StageID": 401010036 + }, + { + "EventID": 40101004, + "WorldLevel": 0, + "StageID": 401010040 + }, + { + "EventID": 40101004, + "WorldLevel": 1, + "StageID": 401010041 + }, + { + "EventID": 40101004, + "WorldLevel": 2, + "StageID": 401010042 + }, + { + "EventID": 40101004, + "WorldLevel": 3, + "StageID": 401010043 + }, + { + "EventID": 40101004, + "WorldLevel": 4, + "StageID": 401010044 + }, + { + "EventID": 40101004, + "WorldLevel": 5, + "StageID": 401010045 + }, + { + "EventID": 40101004, + "WorldLevel": 6, + "StageID": 401010046 + }, + { + "EventID": 40101005, + "WorldLevel": 0, + "StageID": 401010050 + }, + { + "EventID": 40101005, + "WorldLevel": 1, + "StageID": 401010051 + }, + { + "EventID": 40101005, + "WorldLevel": 2, + "StageID": 401010052 + }, + { + "EventID": 40101005, + "WorldLevel": 3, + "StageID": 401010053 + }, + { + "EventID": 40101005, + "WorldLevel": 4, + "StageID": 401010054 + }, + { + "EventID": 40101005, + "WorldLevel": 5, + "StageID": 401010055 + }, + { + "EventID": 40101005, + "WorldLevel": 6, + "StageID": 401010056 + }, + { + "EventID": 40101006, + "WorldLevel": 0, + "StageID": 401010060 + }, + { + "EventID": 40101006, + "WorldLevel": 1, + "StageID": 401010061 + }, + { + "EventID": 40101006, + "WorldLevel": 2, + "StageID": 401010062 + }, + { + "EventID": 40101006, + "WorldLevel": 3, + "StageID": 401010063 + }, + { + "EventID": 40101006, + "WorldLevel": 4, + "StageID": 401010064 + }, + { + "EventID": 40101006, + "WorldLevel": 5, + "StageID": 401010065 + }, + { + "EventID": 40101006, + "WorldLevel": 6, + "StageID": 401010066 + }, + { + "EventID": 40101008, + "WorldLevel": 0, + "StageID": 401010080 + }, + { + "EventID": 40101008, + "WorldLevel": 1, + "StageID": 401010081 + }, + { + "EventID": 40101008, + "WorldLevel": 2, + "StageID": 401010082 + }, + { + "EventID": 40101008, + "WorldLevel": 3, + "StageID": 401010083 + }, + { + "EventID": 40101008, + "WorldLevel": 4, + "StageID": 401010084 + }, + { + "EventID": 40101008, + "WorldLevel": 5, + "StageID": 401010085 + }, + { + "EventID": 40101008, + "WorldLevel": 6, + "StageID": 401010086 + }, + { + "EventID": 40101009, + "WorldLevel": 0, + "StageID": 401010090 + }, + { + "EventID": 40101009, + "WorldLevel": 1, + "StageID": 401010091 + }, + { + "EventID": 40101009, + "WorldLevel": 2, + "StageID": 401010092 + }, + { + "EventID": 40101009, + "WorldLevel": 3, + "StageID": 401010093 + }, + { + "EventID": 40101009, + "WorldLevel": 4, + "StageID": 401010094 + }, + { + "EventID": 40101009, + "WorldLevel": 5, + "StageID": 401010095 + }, + { + "EventID": 40101009, + "WorldLevel": 6, + "StageID": 401010096 + }, + { + "EventID": 40101101, + "WorldLevel": 0, + "StageID": 401011010 + }, + { + "EventID": 40101101, + "WorldLevel": 1, + "StageID": 401011011 + }, + { + "EventID": 40101101, + "WorldLevel": 2, + "StageID": 401011012 + }, + { + "EventID": 40101101, + "WorldLevel": 3, + "StageID": 401011013 + }, + { + "EventID": 40101101, + "WorldLevel": 4, + "StageID": 401011014 + }, + { + "EventID": 40101101, + "WorldLevel": 5, + "StageID": 401011015 + }, + { + "EventID": 40101101, + "WorldLevel": 6, + "StageID": 401011016 + }, + { + "EventID": 40101102, + "WorldLevel": 0, + "StageID": 401011020 + }, + { + "EventID": 40101102, + "WorldLevel": 1, + "StageID": 401011021 + }, + { + "EventID": 40101102, + "WorldLevel": 2, + "StageID": 401011022 + }, + { + "EventID": 40101102, + "WorldLevel": 3, + "StageID": 401011023 + }, + { + "EventID": 40101102, + "WorldLevel": 4, + "StageID": 401011024 + }, + { + "EventID": 40101102, + "WorldLevel": 5, + "StageID": 401011025 + }, + { + "EventID": 40101102, + "WorldLevel": 6, + "StageID": 401011026 + }, + { + "EventID": 40111201, + "WorldLevel": 0, + "StageID": 401112010 + }, + { + "EventID": 40111201, + "WorldLevel": 1, + "StageID": 401112011 + }, + { + "EventID": 40111201, + "WorldLevel": 2, + "StageID": 401112012 + }, + { + "EventID": 40111201, + "WorldLevel": 3, + "StageID": 401112013 + }, + { + "EventID": 40111201, + "WorldLevel": 4, + "StageID": 401112014 + }, + { + "EventID": 40111201, + "WorldLevel": 5, + "StageID": 401112015 + }, + { + "EventID": 40111201, + "WorldLevel": 6, + "StageID": 401112016 + }, + { + "EventID": 40111202, + "WorldLevel": 0, + "StageID": 401112020 + }, + { + "EventID": 40111202, + "WorldLevel": 1, + "StageID": 401112021 + }, + { + "EventID": 40111202, + "WorldLevel": 2, + "StageID": 401112022 + }, + { + "EventID": 40111202, + "WorldLevel": 3, + "StageID": 401112023 + }, + { + "EventID": 40111202, + "WorldLevel": 4, + "StageID": 401112024 + }, + { + "EventID": 40111202, + "WorldLevel": 5, + "StageID": 401112025 + }, + { + "EventID": 40111202, + "WorldLevel": 6, + "StageID": 401112026 + }, + { + "EventID": 40111203, + "WorldLevel": 0, + "StageID": 401112030 + }, + { + "EventID": 40111203, + "WorldLevel": 1, + "StageID": 401112031 + }, + { + "EventID": 40111203, + "WorldLevel": 2, + "StageID": 401112032 + }, + { + "EventID": 40111203, + "WorldLevel": 3, + "StageID": 401112033 + }, + { + "EventID": 40111203, + "WorldLevel": 4, + "StageID": 401112034 + }, + { + "EventID": 40111203, + "WorldLevel": 5, + "StageID": 401112035 + }, + { + "EventID": 40111203, + "WorldLevel": 6, + "StageID": 401112036 + }, + { + "EventID": 40111205, + "WorldLevel": 0, + "StageID": 401112050 + }, + { + "EventID": 40111205, + "WorldLevel": 1, + "StageID": 401112051 + }, + { + "EventID": 40111205, + "WorldLevel": 2, + "StageID": 401112052 + }, + { + "EventID": 40111205, + "WorldLevel": 3, + "StageID": 401112053 + }, + { + "EventID": 40111205, + "WorldLevel": 4, + "StageID": 401112054 + }, + { + "EventID": 40111205, + "WorldLevel": 5, + "StageID": 401112055 + }, + { + "EventID": 40111205, + "WorldLevel": 6, + "StageID": 401112056 + }, + { + "EventID": 40121001, + "WorldLevel": 0, + "StageID": 401210010 + }, + { + "EventID": 40121001, + "WorldLevel": 1, + "StageID": 401210011 + }, + { + "EventID": 40121001, + "WorldLevel": 2, + "StageID": 401210012 + }, + { + "EventID": 40121001, + "WorldLevel": 3, + "StageID": 401210013 + }, + { + "EventID": 40121001, + "WorldLevel": 4, + "StageID": 401210014 + }, + { + "EventID": 40121001, + "WorldLevel": 5, + "StageID": 401210015 + }, + { + "EventID": 40121001, + "WorldLevel": 6, + "StageID": 401210016 + }, + { + "EventID": 40121003, + "WorldLevel": 0, + "StageID": 401210030 + }, + { + "EventID": 40121003, + "WorldLevel": 1, + "StageID": 401210031 + }, + { + "EventID": 40121003, + "WorldLevel": 2, + "StageID": 401210032 + }, + { + "EventID": 40121003, + "WorldLevel": 3, + "StageID": 401210033 + }, + { + "EventID": 40121003, + "WorldLevel": 4, + "StageID": 401210034 + }, + { + "EventID": 40121003, + "WorldLevel": 5, + "StageID": 401210035 + }, + { + "EventID": 40121003, + "WorldLevel": 6, + "StageID": 401210036 + }, + { + "EventID": 40121005, + "WorldLevel": 0, + "StageID": 401210050 + }, + { + "EventID": 40121005, + "WorldLevel": 1, + "StageID": 401210051 + }, + { + "EventID": 40121005, + "WorldLevel": 2, + "StageID": 401210052 + }, + { + "EventID": 40121005, + "WorldLevel": 3, + "StageID": 401210053 + }, + { + "EventID": 40121005, + "WorldLevel": 4, + "StageID": 401210054 + }, + { + "EventID": 40121005, + "WorldLevel": 5, + "StageID": 401210055 + }, + { + "EventID": 40121005, + "WorldLevel": 6, + "StageID": 401210056 + }, + { + "EventID": 40121006, + "WorldLevel": 0, + "StageID": 401210060 + }, + { + "EventID": 40121006, + "WorldLevel": 1, + "StageID": 401210061 + }, + { + "EventID": 40121006, + "WorldLevel": 2, + "StageID": 401210062 + }, + { + "EventID": 40121006, + "WorldLevel": 3, + "StageID": 401210063 + }, + { + "EventID": 40121006, + "WorldLevel": 4, + "StageID": 401210064 + }, + { + "EventID": 40121006, + "WorldLevel": 5, + "StageID": 401210065 + }, + { + "EventID": 40121006, + "WorldLevel": 6, + "StageID": 401210066 + }, + { + "EventID": 40121007, + "WorldLevel": 0, + "StageID": 401210070 + }, + { + "EventID": 40121007, + "WorldLevel": 1, + "StageID": 401210071 + }, + { + "EventID": 40121007, + "WorldLevel": 2, + "StageID": 401210072 + }, + { + "EventID": 40121007, + "WorldLevel": 3, + "StageID": 401210073 + }, + { + "EventID": 40121007, + "WorldLevel": 4, + "StageID": 401210074 + }, + { + "EventID": 40121007, + "WorldLevel": 5, + "StageID": 401210075 + }, + { + "EventID": 40121007, + "WorldLevel": 6, + "StageID": 401210076 + }, + { + "EventID": 40121008, + "WorldLevel": 0, + "StageID": 401210080 + }, + { + "EventID": 40121008, + "WorldLevel": 1, + "StageID": 401210081 + }, + { + "EventID": 40121008, + "WorldLevel": 2, + "StageID": 401210082 + }, + { + "EventID": 40121008, + "WorldLevel": 3, + "StageID": 401210083 + }, + { + "EventID": 40121008, + "WorldLevel": 4, + "StageID": 401210084 + }, + { + "EventID": 40121008, + "WorldLevel": 5, + "StageID": 401210085 + }, + { + "EventID": 40121008, + "WorldLevel": 6, + "StageID": 401210086 + }, + { + "EventID": 40121009, + "WorldLevel": 0, + "StageID": 401210090 + }, + { + "EventID": 40121009, + "WorldLevel": 1, + "StageID": 401210091 + }, + { + "EventID": 40121009, + "WorldLevel": 2, + "StageID": 401210092 + }, + { + "EventID": 40121009, + "WorldLevel": 3, + "StageID": 401210093 + }, + { + "EventID": 40121009, + "WorldLevel": 4, + "StageID": 401210094 + }, + { + "EventID": 40121009, + "WorldLevel": 5, + "StageID": 401210095 + }, + { + "EventID": 40121009, + "WorldLevel": 6, + "StageID": 401210096 + }, + { + "EventID": 40121010, + "WorldLevel": 0, + "StageID": 401210100 + }, + { + "EventID": 40121010, + "WorldLevel": 1, + "StageID": 401210101 + }, + { + "EventID": 40121010, + "WorldLevel": 2, + "StageID": 401210102 + }, + { + "EventID": 40121010, + "WorldLevel": 3, + "StageID": 401210103 + }, + { + "EventID": 40121010, + "WorldLevel": 4, + "StageID": 401210104 + }, + { + "EventID": 40121010, + "WorldLevel": 5, + "StageID": 401210105 + }, + { + "EventID": 40121010, + "WorldLevel": 6, + "StageID": 401210106 + }, + { + "EventID": 40121012, + "WorldLevel": 0, + "StageID": 401210120 + }, + { + "EventID": 40121012, + "WorldLevel": 1, + "StageID": 401210121 + }, + { + "EventID": 40121012, + "WorldLevel": 2, + "StageID": 401210122 + }, + { + "EventID": 40121012, + "WorldLevel": 3, + "StageID": 401210123 + }, + { + "EventID": 40121012, + "WorldLevel": 4, + "StageID": 401210124 + }, + { + "EventID": 40121012, + "WorldLevel": 5, + "StageID": 401210125 + }, + { + "EventID": 40121012, + "WorldLevel": 6, + "StageID": 401210126 + }, + { + "EventID": 40121013, + "WorldLevel": 0, + "StageID": 401210130 + }, + { + "EventID": 40121013, + "WorldLevel": 1, + "StageID": 401210131 + }, + { + "EventID": 40121013, + "WorldLevel": 2, + "StageID": 401210132 + }, + { + "EventID": 40121013, + "WorldLevel": 3, + "StageID": 401210133 + }, + { + "EventID": 40121013, + "WorldLevel": 4, + "StageID": 401210134 + }, + { + "EventID": 40121013, + "WorldLevel": 5, + "StageID": 401210135 + }, + { + "EventID": 40121013, + "WorldLevel": 6, + "StageID": 401210136 + }, + { + "EventID": 40121014, + "WorldLevel": 0, + "StageID": 401210140 + }, + { + "EventID": 40121014, + "WorldLevel": 1, + "StageID": 401210141 + }, + { + "EventID": 40121014, + "WorldLevel": 2, + "StageID": 401210142 + }, + { + "EventID": 40121014, + "WorldLevel": 3, + "StageID": 401210143 + }, + { + "EventID": 40121014, + "WorldLevel": 4, + "StageID": 401210144 + }, + { + "EventID": 40121014, + "WorldLevel": 5, + "StageID": 401210145 + }, + { + "EventID": 40121014, + "WorldLevel": 6, + "StageID": 401210146 + }, + { + "EventID": 40121015, + "WorldLevel": 0, + "StageID": 401210150 + }, + { + "EventID": 40121015, + "WorldLevel": 1, + "StageID": 401210151 + }, + { + "EventID": 40121015, + "WorldLevel": 2, + "StageID": 401210152 + }, + { + "EventID": 40121015, + "WorldLevel": 3, + "StageID": 401210153 + }, + { + "EventID": 40121015, + "WorldLevel": 4, + "StageID": 401210154 + }, + { + "EventID": 40121015, + "WorldLevel": 5, + "StageID": 401210155 + }, + { + "EventID": 40121015, + "WorldLevel": 6, + "StageID": 401210156 + }, + { + "EventID": 40121016, + "WorldLevel": 0, + "StageID": 401210160 + }, + { + "EventID": 40121016, + "WorldLevel": 1, + "StageID": 401210161 + }, + { + "EventID": 40121016, + "WorldLevel": 2, + "StageID": 401210162 + }, + { + "EventID": 40121016, + "WorldLevel": 3, + "StageID": 401210163 + }, + { + "EventID": 40121016, + "WorldLevel": 4, + "StageID": 401210164 + }, + { + "EventID": 40121016, + "WorldLevel": 5, + "StageID": 401210165 + }, + { + "EventID": 40121016, + "WorldLevel": 6, + "StageID": 401210166 + }, + { + "EventID": 40121017, + "WorldLevel": 0, + "StageID": 401210170 + }, + { + "EventID": 40121017, + "WorldLevel": 1, + "StageID": 401210171 + }, + { + "EventID": 40121017, + "WorldLevel": 2, + "StageID": 401210172 + }, + { + "EventID": 40121017, + "WorldLevel": 3, + "StageID": 401210173 + }, + { + "EventID": 40121017, + "WorldLevel": 4, + "StageID": 401210174 + }, + { + "EventID": 40121017, + "WorldLevel": 5, + "StageID": 401210175 + }, + { + "EventID": 40121017, + "WorldLevel": 6, + "StageID": 401210176 + }, + { + "EventID": 40121018, + "WorldLevel": 0, + "StageID": 401210180 + }, + { + "EventID": 40121018, + "WorldLevel": 1, + "StageID": 401210181 + }, + { + "EventID": 40121018, + "WorldLevel": 2, + "StageID": 401210182 + }, + { + "EventID": 40121018, + "WorldLevel": 3, + "StageID": 401210183 + }, + { + "EventID": 40121018, + "WorldLevel": 4, + "StageID": 401210184 + }, + { + "EventID": 40121018, + "WorldLevel": 5, + "StageID": 401210185 + }, + { + "EventID": 40121018, + "WorldLevel": 6, + "StageID": 401210186 + }, + { + "EventID": 40121019, + "WorldLevel": 0, + "StageID": 401210190 + }, + { + "EventID": 40121019, + "WorldLevel": 1, + "StageID": 401210191 + }, + { + "EventID": 40121019, + "WorldLevel": 2, + "StageID": 401210192 + }, + { + "EventID": 40121019, + "WorldLevel": 3, + "StageID": 401210193 + }, + { + "EventID": 40121019, + "WorldLevel": 4, + "StageID": 401210194 + }, + { + "EventID": 40121019, + "WorldLevel": 5, + "StageID": 401210195 + }, + { + "EventID": 40121019, + "WorldLevel": 6, + "StageID": 401210196 + }, + { + "EventID": 40121020, + "WorldLevel": 0, + "StageID": 401210200 + }, + { + "EventID": 40121020, + "WorldLevel": 1, + "StageID": 401210201 + }, + { + "EventID": 40121020, + "WorldLevel": 2, + "StageID": 401210202 + }, + { + "EventID": 40121020, + "WorldLevel": 3, + "StageID": 401210203 + }, + { + "EventID": 40121020, + "WorldLevel": 4, + "StageID": 401210204 + }, + { + "EventID": 40121020, + "WorldLevel": 5, + "StageID": 401210205 + }, + { + "EventID": 40121020, + "WorldLevel": 6, + "StageID": 401210206 + }, + { + "EventID": 40121021, + "WorldLevel": 0, + "StageID": 401210210 + }, + { + "EventID": 40121021, + "WorldLevel": 1, + "StageID": 401210211 + }, + { + "EventID": 40121021, + "WorldLevel": 2, + "StageID": 401210212 + }, + { + "EventID": 40121021, + "WorldLevel": 3, + "StageID": 401210213 + }, + { + "EventID": 40121021, + "WorldLevel": 4, + "StageID": 401210214 + }, + { + "EventID": 40121021, + "WorldLevel": 5, + "StageID": 401210215 + }, + { + "EventID": 40121021, + "WorldLevel": 6, + "StageID": 401210216 + }, + { + "EventID": 40121022, + "WorldLevel": 0, + "StageID": 401210220 + }, + { + "EventID": 40121022, + "WorldLevel": 1, + "StageID": 401210221 + }, + { + "EventID": 40121022, + "WorldLevel": 2, + "StageID": 401210222 + }, + { + "EventID": 40121022, + "WorldLevel": 3, + "StageID": 401210223 + }, + { + "EventID": 40121022, + "WorldLevel": 4, + "StageID": 401210224 + }, + { + "EventID": 40121022, + "WorldLevel": 5, + "StageID": 401210225 + }, + { + "EventID": 40121022, + "WorldLevel": 6, + "StageID": 401210226 + }, + { + "EventID": 40121024, + "WorldLevel": 0, + "StageID": 401210240 + }, + { + "EventID": 40121024, + "WorldLevel": 1, + "StageID": 401210241 + }, + { + "EventID": 40121024, + "WorldLevel": 2, + "StageID": 401210242 + }, + { + "EventID": 40121024, + "WorldLevel": 3, + "StageID": 401210243 + }, + { + "EventID": 40121024, + "WorldLevel": 4, + "StageID": 401210244 + }, + { + "EventID": 40121024, + "WorldLevel": 5, + "StageID": 401210245 + }, + { + "EventID": 40121024, + "WorldLevel": 6, + "StageID": 401210246 + }, + { + "EventID": 40121025, + "WorldLevel": 0, + "StageID": 401210250 + }, + { + "EventID": 40121025, + "WorldLevel": 1, + "StageID": 401210251 + }, + { + "EventID": 40121025, + "WorldLevel": 2, + "StageID": 401210252 + }, + { + "EventID": 40121025, + "WorldLevel": 3, + "StageID": 401210253 + }, + { + "EventID": 40121025, + "WorldLevel": 4, + "StageID": 401210254 + }, + { + "EventID": 40121025, + "WorldLevel": 5, + "StageID": 401210255 + }, + { + "EventID": 40121025, + "WorldLevel": 6, + "StageID": 401210256 + }, + { + "EventID": 40121027, + "WorldLevel": 0, + "StageID": 401210270 + }, + { + "EventID": 40121027, + "WorldLevel": 1, + "StageID": 401210271 + }, + { + "EventID": 40121027, + "WorldLevel": 2, + "StageID": 401210272 + }, + { + "EventID": 40121027, + "WorldLevel": 3, + "StageID": 401210273 + }, + { + "EventID": 40121027, + "WorldLevel": 4, + "StageID": 401210274 + }, + { + "EventID": 40121027, + "WorldLevel": 5, + "StageID": 401210275 + }, + { + "EventID": 40121027, + "WorldLevel": 6, + "StageID": 401210276 + }, + { + "EventID": 40121028, + "WorldLevel": 0, + "StageID": 401210280 + }, + { + "EventID": 40121028, + "WorldLevel": 1, + "StageID": 401210281 + }, + { + "EventID": 40121028, + "WorldLevel": 2, + "StageID": 401210282 + }, + { + "EventID": 40121028, + "WorldLevel": 3, + "StageID": 401210283 + }, + { + "EventID": 40121028, + "WorldLevel": 4, + "StageID": 401210284 + }, + { + "EventID": 40121028, + "WorldLevel": 5, + "StageID": 401210285 + }, + { + "EventID": 40121028, + "WorldLevel": 6, + "StageID": 401210286 + }, + { + "EventID": 40121029, + "WorldLevel": 0, + "StageID": 401210290 + }, + { + "EventID": 40121029, + "WorldLevel": 1, + "StageID": 401210291 + }, + { + "EventID": 40121029, + "WorldLevel": 2, + "StageID": 401210292 + }, + { + "EventID": 40121029, + "WorldLevel": 3, + "StageID": 401210293 + }, + { + "EventID": 40121029, + "WorldLevel": 4, + "StageID": 401210294 + }, + { + "EventID": 40121029, + "WorldLevel": 5, + "StageID": 401210295 + }, + { + "EventID": 40121029, + "WorldLevel": 6, + "StageID": 401210296 + }, + { + "EventID": 40121030, + "WorldLevel": 0, + "StageID": 401210300 + }, + { + "EventID": 40121030, + "WorldLevel": 1, + "StageID": 401210301 + }, + { + "EventID": 40121030, + "WorldLevel": 2, + "StageID": 401210302 + }, + { + "EventID": 40121030, + "WorldLevel": 3, + "StageID": 401210303 + }, + { + "EventID": 40121030, + "WorldLevel": 4, + "StageID": 401210304 + }, + { + "EventID": 40121030, + "WorldLevel": 5, + "StageID": 401210305 + }, + { + "EventID": 40121030, + "WorldLevel": 6, + "StageID": 401210306 + }, + { + "EventID": 40131008, + "WorldLevel": 0, + "StageID": 401310080 + }, + { + "EventID": 40131008, + "WorldLevel": 1, + "StageID": 401310081 + }, + { + "EventID": 40131008, + "WorldLevel": 2, + "StageID": 401310082 + }, + { + "EventID": 40131008, + "WorldLevel": 3, + "StageID": 401310083 + }, + { + "EventID": 40131008, + "WorldLevel": 4, + "StageID": 401310084 + }, + { + "EventID": 40131008, + "WorldLevel": 5, + "StageID": 401310085 + }, + { + "EventID": 40131008, + "WorldLevel": 6, + "StageID": 401310086 + }, + { + "EventID": 40131009, + "WorldLevel": 0, + "StageID": 401310090 + }, + { + "EventID": 40131009, + "WorldLevel": 1, + "StageID": 401310091 + }, + { + "EventID": 40131009, + "WorldLevel": 2, + "StageID": 401310092 + }, + { + "EventID": 40131009, + "WorldLevel": 3, + "StageID": 401310093 + }, + { + "EventID": 40131009, + "WorldLevel": 4, + "StageID": 401310094 + }, + { + "EventID": 40131009, + "WorldLevel": 5, + "StageID": 401310095 + }, + { + "EventID": 40131009, + "WorldLevel": 6, + "StageID": 401310096 + }, + { + "EventID": 40131013, + "WorldLevel": 0, + "StageID": 401310130 + }, + { + "EventID": 40131013, + "WorldLevel": 1, + "StageID": 401310131 + }, + { + "EventID": 40131013, + "WorldLevel": 2, + "StageID": 401310132 + }, + { + "EventID": 40131013, + "WorldLevel": 3, + "StageID": 401310133 + }, + { + "EventID": 40131013, + "WorldLevel": 4, + "StageID": 401310134 + }, + { + "EventID": 40131013, + "WorldLevel": 5, + "StageID": 401310135 + }, + { + "EventID": 40131013, + "WorldLevel": 6, + "StageID": 401310136 + }, + { + "EventID": 40131014, + "WorldLevel": 0, + "StageID": 401310140 + }, + { + "EventID": 40131014, + "WorldLevel": 1, + "StageID": 401310141 + }, + { + "EventID": 40131014, + "WorldLevel": 2, + "StageID": 401310142 + }, + { + "EventID": 40131014, + "WorldLevel": 3, + "StageID": 401310143 + }, + { + "EventID": 40131014, + "WorldLevel": 4, + "StageID": 401310144 + }, + { + "EventID": 40131014, + "WorldLevel": 5, + "StageID": 401310145 + }, + { + "EventID": 40131014, + "WorldLevel": 6, + "StageID": 401310146 + }, + { + "EventID": 40131015, + "WorldLevel": 0, + "StageID": 401310150 + }, + { + "EventID": 40131015, + "WorldLevel": 1, + "StageID": 401310151 + }, + { + "EventID": 40131015, + "WorldLevel": 2, + "StageID": 401310152 + }, + { + "EventID": 40131015, + "WorldLevel": 3, + "StageID": 401310153 + }, + { + "EventID": 40131015, + "WorldLevel": 4, + "StageID": 401310154 + }, + { + "EventID": 40131015, + "WorldLevel": 5, + "StageID": 401310155 + }, + { + "EventID": 40131015, + "WorldLevel": 6, + "StageID": 401310156 + }, + { + "EventID": 40131017, + "WorldLevel": 0, + "StageID": 401310170 + }, + { + "EventID": 40131017, + "WorldLevel": 1, + "StageID": 401310171 + }, + { + "EventID": 40131017, + "WorldLevel": 2, + "StageID": 401310172 + }, + { + "EventID": 40131017, + "WorldLevel": 3, + "StageID": 401310173 + }, + { + "EventID": 40131017, + "WorldLevel": 4, + "StageID": 401310174 + }, + { + "EventID": 40131017, + "WorldLevel": 5, + "StageID": 401310175 + }, + { + "EventID": 40131017, + "WorldLevel": 6, + "StageID": 401310176 + }, + { + "EventID": 40132001, + "WorldLevel": 0, + "StageID": 401320010 + }, + { + "EventID": 40132001, + "WorldLevel": 1, + "StageID": 401320011 + }, + { + "EventID": 40132001, + "WorldLevel": 2, + "StageID": 401320012 + }, + { + "EventID": 40132001, + "WorldLevel": 3, + "StageID": 401320013 + }, + { + "EventID": 40132001, + "WorldLevel": 4, + "StageID": 401320014 + }, + { + "EventID": 40132001, + "WorldLevel": 5, + "StageID": 401320015 + }, + { + "EventID": 40132001, + "WorldLevel": 6, + "StageID": 401320016 + }, + { + "EventID": 40132002, + "WorldLevel": 0, + "StageID": 401320020 + }, + { + "EventID": 40132002, + "WorldLevel": 1, + "StageID": 401320021 + }, + { + "EventID": 40132002, + "WorldLevel": 2, + "StageID": 401320022 + }, + { + "EventID": 40132002, + "WorldLevel": 3, + "StageID": 401320023 + }, + { + "EventID": 40132002, + "WorldLevel": 4, + "StageID": 401320024 + }, + { + "EventID": 40132002, + "WorldLevel": 5, + "StageID": 401320025 + }, + { + "EventID": 40132002, + "WorldLevel": 6, + "StageID": 401320026 + }, + { + "EventID": 40132003, + "WorldLevel": 0, + "StageID": 401320030 + }, + { + "EventID": 40132003, + "WorldLevel": 1, + "StageID": 401320031 + }, + { + "EventID": 40132003, + "WorldLevel": 2, + "StageID": 401320032 + }, + { + "EventID": 40132003, + "WorldLevel": 3, + "StageID": 401320033 + }, + { + "EventID": 40132003, + "WorldLevel": 4, + "StageID": 401320034 + }, + { + "EventID": 40132003, + "WorldLevel": 5, + "StageID": 401320035 + }, + { + "EventID": 40132003, + "WorldLevel": 6, + "StageID": 401320036 + }, + { + "EventID": 40132101, + "WorldLevel": 0, + "StageID": 401321010 + }, + { + "EventID": 40132101, + "WorldLevel": 1, + "StageID": 401321011 + }, + { + "EventID": 40132101, + "WorldLevel": 2, + "StageID": 401321012 + }, + { + "EventID": 40132101, + "WorldLevel": 3, + "StageID": 401321013 + }, + { + "EventID": 40132101, + "WorldLevel": 4, + "StageID": 401321014 + }, + { + "EventID": 40132101, + "WorldLevel": 5, + "StageID": 401321015 + }, + { + "EventID": 40132101, + "WorldLevel": 6, + "StageID": 401321016 + }, + { + "EventID": 40132102, + "WorldLevel": 0, + "StageID": 401321020 + }, + { + "EventID": 40132102, + "WorldLevel": 1, + "StageID": 401321021 + }, + { + "EventID": 40132102, + "WorldLevel": 2, + "StageID": 401321022 + }, + { + "EventID": 40132102, + "WorldLevel": 3, + "StageID": 401321023 + }, + { + "EventID": 40132102, + "WorldLevel": 4, + "StageID": 401321024 + }, + { + "EventID": 40132102, + "WorldLevel": 5, + "StageID": 401321025 + }, + { + "EventID": 40132102, + "WorldLevel": 6, + "StageID": 401321026 + }, + { + "EventID": 40132103, + "WorldLevel": 0, + "StageID": 401321030 + }, + { + "EventID": 40132103, + "WorldLevel": 1, + "StageID": 401321031 + }, + { + "EventID": 40132103, + "WorldLevel": 2, + "StageID": 401321032 + }, + { + "EventID": 40132103, + "WorldLevel": 3, + "StageID": 401321033 + }, + { + "EventID": 40132103, + "WorldLevel": 4, + "StageID": 401321034 + }, + { + "EventID": 40132103, + "WorldLevel": 5, + "StageID": 401321035 + }, + { + "EventID": 40132103, + "WorldLevel": 6, + "StageID": 401321036 + }, + { + "EventID": 40132104, + "WorldLevel": 0, + "StageID": 401321040 + }, + { + "EventID": 40132104, + "WorldLevel": 1, + "StageID": 401321041 + }, + { + "EventID": 40132104, + "WorldLevel": 2, + "StageID": 401321042 + }, + { + "EventID": 40132104, + "WorldLevel": 3, + "StageID": 401321043 + }, + { + "EventID": 40132104, + "WorldLevel": 4, + "StageID": 401321044 + }, + { + "EventID": 40132104, + "WorldLevel": 5, + "StageID": 401321045 + }, + { + "EventID": 40132104, + "WorldLevel": 6, + "StageID": 401321046 + }, + { + "EventID": 40132105, + "WorldLevel": 0, + "StageID": 401321050 + }, + { + "EventID": 40132105, + "WorldLevel": 1, + "StageID": 401321051 + }, + { + "EventID": 40132105, + "WorldLevel": 2, + "StageID": 401321052 + }, + { + "EventID": 40132105, + "WorldLevel": 3, + "StageID": 401321053 + }, + { + "EventID": 40132105, + "WorldLevel": 4, + "StageID": 401321054 + }, + { + "EventID": 40132105, + "WorldLevel": 5, + "StageID": 401321055 + }, + { + "EventID": 40132105, + "WorldLevel": 6, + "StageID": 401321056 + }, + { + "EventID": 40132106, + "WorldLevel": 0, + "StageID": 401321060 + }, + { + "EventID": 40132106, + "WorldLevel": 1, + "StageID": 401321061 + }, + { + "EventID": 40132106, + "WorldLevel": 2, + "StageID": 401321062 + }, + { + "EventID": 40132106, + "WorldLevel": 3, + "StageID": 401321063 + }, + { + "EventID": 40132106, + "WorldLevel": 4, + "StageID": 401321064 + }, + { + "EventID": 40132106, + "WorldLevel": 5, + "StageID": 401321065 + }, + { + "EventID": 40132106, + "WorldLevel": 6, + "StageID": 401321066 + }, + { + "EventID": 40132201, + "WorldLevel": 0, + "StageID": 401322010 + }, + { + "EventID": 40132201, + "WorldLevel": 1, + "StageID": 401322011 + }, + { + "EventID": 40132201, + "WorldLevel": 2, + "StageID": 401322012 + }, + { + "EventID": 40132201, + "WorldLevel": 3, + "StageID": 401322013 + }, + { + "EventID": 40132201, + "WorldLevel": 4, + "StageID": 401322014 + }, + { + "EventID": 40132201, + "WorldLevel": 5, + "StageID": 401322015 + }, + { + "EventID": 40132201, + "WorldLevel": 6, + "StageID": 401322016 + }, + { + "EventID": 40132202, + "WorldLevel": 0, + "StageID": 401322020 + }, + { + "EventID": 40132202, + "WorldLevel": 1, + "StageID": 401322021 + }, + { + "EventID": 40132202, + "WorldLevel": 2, + "StageID": 401322022 + }, + { + "EventID": 40132202, + "WorldLevel": 3, + "StageID": 401322023 + }, + { + "EventID": 40132202, + "WorldLevel": 4, + "StageID": 401322024 + }, + { + "EventID": 40132202, + "WorldLevel": 5, + "StageID": 401322025 + }, + { + "EventID": 40132202, + "WorldLevel": 6, + "StageID": 401322026 + }, + { + "EventID": 40132203, + "WorldLevel": 0, + "StageID": 401322030 + }, + { + "EventID": 40132203, + "WorldLevel": 1, + "StageID": 401322031 + }, + { + "EventID": 40132203, + "WorldLevel": 2, + "StageID": 401322032 + }, + { + "EventID": 40132203, + "WorldLevel": 3, + "StageID": 401322033 + }, + { + "EventID": 40132203, + "WorldLevel": 4, + "StageID": 401322034 + }, + { + "EventID": 40132203, + "WorldLevel": 5, + "StageID": 401322035 + }, + { + "EventID": 40132203, + "WorldLevel": 6, + "StageID": 401322036 + }, + { + "EventID": 40132204, + "WorldLevel": 0, + "StageID": 401322040 + }, + { + "EventID": 40132204, + "WorldLevel": 1, + "StageID": 401322041 + }, + { + "EventID": 40132204, + "WorldLevel": 2, + "StageID": 401322042 + }, + { + "EventID": 40132204, + "WorldLevel": 3, + "StageID": 401322043 + }, + { + "EventID": 40132204, + "WorldLevel": 4, + "StageID": 401322044 + }, + { + "EventID": 40132204, + "WorldLevel": 5, + "StageID": 401322045 + }, + { + "EventID": 40132204, + "WorldLevel": 6, + "StageID": 401322046 + }, + { + "EventID": 40132205, + "WorldLevel": 0, + "StageID": 401322050 + }, + { + "EventID": 40132205, + "WorldLevel": 1, + "StageID": 401322051 + }, + { + "EventID": 40132205, + "WorldLevel": 2, + "StageID": 401322052 + }, + { + "EventID": 40132205, + "WorldLevel": 3, + "StageID": 401322053 + }, + { + "EventID": 40132205, + "WorldLevel": 4, + "StageID": 401322054 + }, + { + "EventID": 40132205, + "WorldLevel": 5, + "StageID": 401322055 + }, + { + "EventID": 40132205, + "WorldLevel": 6, + "StageID": 401322056 + }, + { + "EventID": 40211211, + "WorldLevel": 0, + "StageID": 402112110 + }, + { + "EventID": 40211211, + "WorldLevel": 1, + "StageID": 402112111 + }, + { + "EventID": 40211211, + "WorldLevel": 2, + "StageID": 402112112 + }, + { + "EventID": 40211211, + "WorldLevel": 3, + "StageID": 402112113 + }, + { + "EventID": 40211211, + "WorldLevel": 4, + "StageID": 402112114 + }, + { + "EventID": 40211211, + "WorldLevel": 5, + "StageID": 402112115 + }, + { + "EventID": 40211211, + "WorldLevel": 6, + "StageID": 402112116 + }, + { + "EventID": 40211212, + "WorldLevel": 0, + "StageID": 402112120 + }, + { + "EventID": 40211212, + "WorldLevel": 1, + "StageID": 402112121 + }, + { + "EventID": 40211212, + "WorldLevel": 2, + "StageID": 402112122 + }, + { + "EventID": 40211212, + "WorldLevel": 3, + "StageID": 402112123 + }, + { + "EventID": 40211212, + "WorldLevel": 4, + "StageID": 402112124 + }, + { + "EventID": 40211212, + "WorldLevel": 5, + "StageID": 402112125 + }, + { + "EventID": 40211212, + "WorldLevel": 6, + "StageID": 402112126 + }, + { + "EventID": 40211213, + "WorldLevel": 0, + "StageID": 402112130 + }, + { + "EventID": 40211213, + "WorldLevel": 1, + "StageID": 402112131 + }, + { + "EventID": 40211213, + "WorldLevel": 2, + "StageID": 402112132 + }, + { + "EventID": 40211213, + "WorldLevel": 3, + "StageID": 402112133 + }, + { + "EventID": 40211213, + "WorldLevel": 4, + "StageID": 402112134 + }, + { + "EventID": 40211213, + "WorldLevel": 5, + "StageID": 402112135 + }, + { + "EventID": 40211213, + "WorldLevel": 6, + "StageID": 402112136 + }, + { + "EventID": 40211214, + "WorldLevel": 0, + "StageID": 402112140 + }, + { + "EventID": 40211214, + "WorldLevel": 1, + "StageID": 402112141 + }, + { + "EventID": 40211214, + "WorldLevel": 2, + "StageID": 402112142 + }, + { + "EventID": 40211214, + "WorldLevel": 3, + "StageID": 402112143 + }, + { + "EventID": 40211214, + "WorldLevel": 4, + "StageID": 402112144 + }, + { + "EventID": 40211214, + "WorldLevel": 5, + "StageID": 402112145 + }, + { + "EventID": 40211214, + "WorldLevel": 6, + "StageID": 402112146 + }, + { + "EventID": 40211215, + "WorldLevel": 0, + "StageID": 402112150 + }, + { + "EventID": 40211215, + "WorldLevel": 1, + "StageID": 402112151 + }, + { + "EventID": 40211215, + "WorldLevel": 2, + "StageID": 402112152 + }, + { + "EventID": 40211215, + "WorldLevel": 3, + "StageID": 402112153 + }, + { + "EventID": 40211215, + "WorldLevel": 4, + "StageID": 402112154 + }, + { + "EventID": 40211215, + "WorldLevel": 5, + "StageID": 402112155 + }, + { + "EventID": 40211215, + "WorldLevel": 6, + "StageID": 402112156 + }, + { + "EventID": 40211216, + "WorldLevel": 0, + "StageID": 402112160 + }, + { + "EventID": 40211216, + "WorldLevel": 1, + "StageID": 402112161 + }, + { + "EventID": 40211216, + "WorldLevel": 2, + "StageID": 402112162 + }, + { + "EventID": 40211216, + "WorldLevel": 3, + "StageID": 402112163 + }, + { + "EventID": 40211216, + "WorldLevel": 4, + "StageID": 402112164 + }, + { + "EventID": 40211216, + "WorldLevel": 5, + "StageID": 402112165 + }, + { + "EventID": 40211216, + "WorldLevel": 6, + "StageID": 402112166 + }, + { + "EventID": 40211217, + "WorldLevel": 0, + "StageID": 402112170 + }, + { + "EventID": 40211217, + "WorldLevel": 1, + "StageID": 402112171 + }, + { + "EventID": 40211217, + "WorldLevel": 2, + "StageID": 402112172 + }, + { + "EventID": 40211217, + "WorldLevel": 3, + "StageID": 402112173 + }, + { + "EventID": 40211217, + "WorldLevel": 4, + "StageID": 402112174 + }, + { + "EventID": 40211217, + "WorldLevel": 5, + "StageID": 402112175 + }, + { + "EventID": 40211217, + "WorldLevel": 6, + "StageID": 402112176 + }, + { + "EventID": 40211218, + "WorldLevel": 0, + "StageID": 402112180 + }, + { + "EventID": 40211218, + "WorldLevel": 1, + "StageID": 402112181 + }, + { + "EventID": 40211218, + "WorldLevel": 2, + "StageID": 402112182 + }, + { + "EventID": 40211218, + "WorldLevel": 3, + "StageID": 402112183 + }, + { + "EventID": 40211218, + "WorldLevel": 4, + "StageID": 402112184 + }, + { + "EventID": 40211218, + "WorldLevel": 5, + "StageID": 402112185 + }, + { + "EventID": 40211218, + "WorldLevel": 6, + "StageID": 402112186 + }, + { + "EventID": 40211219, + "WorldLevel": 0, + "StageID": 402112190 + }, + { + "EventID": 40211219, + "WorldLevel": 1, + "StageID": 402112191 + }, + { + "EventID": 40211219, + "WorldLevel": 2, + "StageID": 402112192 + }, + { + "EventID": 40211219, + "WorldLevel": 3, + "StageID": 402112193 + }, + { + "EventID": 40211219, + "WorldLevel": 4, + "StageID": 402112194 + }, + { + "EventID": 40211219, + "WorldLevel": 5, + "StageID": 402112195 + }, + { + "EventID": 40211219, + "WorldLevel": 6, + "StageID": 402112196 + }, + { + "EventID": 40212003, + "WorldLevel": 0, + "StageID": 402120030 + }, + { + "EventID": 40212003, + "WorldLevel": 1, + "StageID": 402120031 + }, + { + "EventID": 40212003, + "WorldLevel": 2, + "StageID": 402120032 + }, + { + "EventID": 40212003, + "WorldLevel": 3, + "StageID": 402120033 + }, + { + "EventID": 40212003, + "WorldLevel": 4, + "StageID": 402120034 + }, + { + "EventID": 40212003, + "WorldLevel": 5, + "StageID": 402120035 + }, + { + "EventID": 40212003, + "WorldLevel": 6, + "StageID": 402120036 + }, + { + "EventID": 40212004, + "WorldLevel": 0, + "StageID": 402120040 + }, + { + "EventID": 40212004, + "WorldLevel": 1, + "StageID": 402120041 + }, + { + "EventID": 40212004, + "WorldLevel": 2, + "StageID": 402120042 + }, + { + "EventID": 40212004, + "WorldLevel": 3, + "StageID": 402120043 + }, + { + "EventID": 40212004, + "WorldLevel": 4, + "StageID": 402120044 + }, + { + "EventID": 40212004, + "WorldLevel": 5, + "StageID": 402120045 + }, + { + "EventID": 40212004, + "WorldLevel": 6, + "StageID": 402120046 + }, + { + "EventID": 40212005, + "WorldLevel": 0, + "StageID": 402120050 + }, + { + "EventID": 40212005, + "WorldLevel": 1, + "StageID": 402120051 + }, + { + "EventID": 40212005, + "WorldLevel": 2, + "StageID": 402120052 + }, + { + "EventID": 40212005, + "WorldLevel": 3, + "StageID": 402120053 + }, + { + "EventID": 40212005, + "WorldLevel": 4, + "StageID": 402120054 + }, + { + "EventID": 40212005, + "WorldLevel": 5, + "StageID": 402120055 + }, + { + "EventID": 40212005, + "WorldLevel": 6, + "StageID": 402120056 + }, + { + "EventID": 40212006, + "WorldLevel": 0, + "StageID": 402120060 + }, + { + "EventID": 40212006, + "WorldLevel": 1, + "StageID": 402120061 + }, + { + "EventID": 40212006, + "WorldLevel": 2, + "StageID": 402120062 + }, + { + "EventID": 40212006, + "WorldLevel": 3, + "StageID": 402120063 + }, + { + "EventID": 40212006, + "WorldLevel": 4, + "StageID": 402120064 + }, + { + "EventID": 40212006, + "WorldLevel": 5, + "StageID": 402120065 + }, + { + "EventID": 40212006, + "WorldLevel": 6, + "StageID": 402120066 + }, + { + "EventID": 40212010, + "WorldLevel": 0, + "StageID": 402120100 + }, + { + "EventID": 40212010, + "WorldLevel": 1, + "StageID": 402120101 + }, + { + "EventID": 40212010, + "WorldLevel": 2, + "StageID": 402120102 + }, + { + "EventID": 40212010, + "WorldLevel": 3, + "StageID": 402120103 + }, + { + "EventID": 40212010, + "WorldLevel": 4, + "StageID": 402120104 + }, + { + "EventID": 40212010, + "WorldLevel": 5, + "StageID": 402120105 + }, + { + "EventID": 40212010, + "WorldLevel": 6, + "StageID": 402120106 + }, + { + "EventID": 40212011, + "WorldLevel": 0, + "StageID": 402120110 + }, + { + "EventID": 40212011, + "WorldLevel": 1, + "StageID": 402120111 + }, + { + "EventID": 40212011, + "WorldLevel": 2, + "StageID": 402120112 + }, + { + "EventID": 40212011, + "WorldLevel": 3, + "StageID": 402120113 + }, + { + "EventID": 40212011, + "WorldLevel": 4, + "StageID": 402120114 + }, + { + "EventID": 40212011, + "WorldLevel": 5, + "StageID": 402120115 + }, + { + "EventID": 40212011, + "WorldLevel": 6, + "StageID": 402120116 + }, + { + "EventID": 40212012, + "WorldLevel": 0, + "StageID": 402120120 + }, + { + "EventID": 40212012, + "WorldLevel": 1, + "StageID": 402120121 + }, + { + "EventID": 40212012, + "WorldLevel": 2, + "StageID": 402120122 + }, + { + "EventID": 40212012, + "WorldLevel": 3, + "StageID": 402120123 + }, + { + "EventID": 40212012, + "WorldLevel": 4, + "StageID": 402120124 + }, + { + "EventID": 40212012, + "WorldLevel": 5, + "StageID": 402120125 + }, + { + "EventID": 40212012, + "WorldLevel": 6, + "StageID": 402120126 + }, + { + "EventID": 40212015, + "WorldLevel": 0, + "StageID": 402120150 + }, + { + "EventID": 40212015, + "WorldLevel": 1, + "StageID": 402120151 + }, + { + "EventID": 40212015, + "WorldLevel": 2, + "StageID": 402120152 + }, + { + "EventID": 40212015, + "WorldLevel": 3, + "StageID": 402120153 + }, + { + "EventID": 40212015, + "WorldLevel": 4, + "StageID": 402120154 + }, + { + "EventID": 40212015, + "WorldLevel": 5, + "StageID": 402120155 + }, + { + "EventID": 40212015, + "WorldLevel": 6, + "StageID": 402120156 + }, + { + "EventID": 40212016, + "WorldLevel": 0, + "StageID": 402120160 + }, + { + "EventID": 40212016, + "WorldLevel": 1, + "StageID": 402120161 + }, + { + "EventID": 40212016, + "WorldLevel": 2, + "StageID": 402120162 + }, + { + "EventID": 40212016, + "WorldLevel": 3, + "StageID": 402120163 + }, + { + "EventID": 40212016, + "WorldLevel": 4, + "StageID": 402120164 + }, + { + "EventID": 40212016, + "WorldLevel": 5, + "StageID": 402120165 + }, + { + "EventID": 40212016, + "WorldLevel": 6, + "StageID": 402120166 + }, + { + "EventID": 40212017, + "WorldLevel": 0, + "StageID": 402120170 + }, + { + "EventID": 40212017, + "WorldLevel": 1, + "StageID": 402120171 + }, + { + "EventID": 40212017, + "WorldLevel": 2, + "StageID": 402120172 + }, + { + "EventID": 40212017, + "WorldLevel": 3, + "StageID": 402120173 + }, + { + "EventID": 40212017, + "WorldLevel": 4, + "StageID": 402120174 + }, + { + "EventID": 40212017, + "WorldLevel": 5, + "StageID": 402120175 + }, + { + "EventID": 40212017, + "WorldLevel": 6, + "StageID": 402120176 + }, + { + "EventID": 40212018, + "WorldLevel": 0, + "StageID": 402120180 + }, + { + "EventID": 40212018, + "WorldLevel": 1, + "StageID": 402120181 + }, + { + "EventID": 40212018, + "WorldLevel": 2, + "StageID": 402120182 + }, + { + "EventID": 40212018, + "WorldLevel": 3, + "StageID": 402120183 + }, + { + "EventID": 40212018, + "WorldLevel": 4, + "StageID": 402120184 + }, + { + "EventID": 40212018, + "WorldLevel": 5, + "StageID": 402120185 + }, + { + "EventID": 40212018, + "WorldLevel": 6, + "StageID": 402120186 + }, + { + "EventID": 40212022, + "WorldLevel": 0, + "StageID": 402120220 + }, + { + "EventID": 40212022, + "WorldLevel": 1, + "StageID": 402120221 + }, + { + "EventID": 40212022, + "WorldLevel": 2, + "StageID": 402120222 + }, + { + "EventID": 40212022, + "WorldLevel": 3, + "StageID": 402120223 + }, + { + "EventID": 40212022, + "WorldLevel": 4, + "StageID": 402120224 + }, + { + "EventID": 40212022, + "WorldLevel": 5, + "StageID": 402120225 + }, + { + "EventID": 40212022, + "WorldLevel": 6, + "StageID": 402120226 + }, + { + "EventID": 40212023, + "WorldLevel": 0, + "StageID": 402120230 + }, + { + "EventID": 40212023, + "WorldLevel": 1, + "StageID": 402120231 + }, + { + "EventID": 40212023, + "WorldLevel": 2, + "StageID": 402120232 + }, + { + "EventID": 40212023, + "WorldLevel": 3, + "StageID": 402120233 + }, + { + "EventID": 40212023, + "WorldLevel": 4, + "StageID": 402120234 + }, + { + "EventID": 40212023, + "WorldLevel": 5, + "StageID": 402120235 + }, + { + "EventID": 40212023, + "WorldLevel": 6, + "StageID": 402120236 + }, + { + "EventID": 40212024, + "WorldLevel": 0, + "StageID": 402120240 + }, + { + "EventID": 40212024, + "WorldLevel": 1, + "StageID": 402120241 + }, + { + "EventID": 40212024, + "WorldLevel": 2, + "StageID": 402120242 + }, + { + "EventID": 40212024, + "WorldLevel": 3, + "StageID": 402120243 + }, + { + "EventID": 40212024, + "WorldLevel": 4, + "StageID": 402120244 + }, + { + "EventID": 40212024, + "WorldLevel": 5, + "StageID": 402120245 + }, + { + "EventID": 40212024, + "WorldLevel": 6, + "StageID": 402120246 + }, + { + "EventID": 40212025, + "WorldLevel": 0, + "StageID": 402120250 + }, + { + "EventID": 40212025, + "WorldLevel": 1, + "StageID": 402120251 + }, + { + "EventID": 40212025, + "WorldLevel": 2, + "StageID": 402120252 + }, + { + "EventID": 40212025, + "WorldLevel": 3, + "StageID": 402120253 + }, + { + "EventID": 40212025, + "WorldLevel": 4, + "StageID": 402120254 + }, + { + "EventID": 40212025, + "WorldLevel": 5, + "StageID": 402120255 + }, + { + "EventID": 40212025, + "WorldLevel": 6, + "StageID": 402120256 + }, + { + "EventID": 40212026, + "WorldLevel": 0, + "StageID": 402120260 + }, + { + "EventID": 40212026, + "WorldLevel": 1, + "StageID": 402120261 + }, + { + "EventID": 40212026, + "WorldLevel": 2, + "StageID": 402120262 + }, + { + "EventID": 40212026, + "WorldLevel": 3, + "StageID": 402120263 + }, + { + "EventID": 40212026, + "WorldLevel": 4, + "StageID": 402120264 + }, + { + "EventID": 40212026, + "WorldLevel": 5, + "StageID": 402120265 + }, + { + "EventID": 40212026, + "WorldLevel": 6, + "StageID": 402120266 + }, + { + "EventID": 40212027, + "WorldLevel": 0, + "StageID": 402120270 + }, + { + "EventID": 40212027, + "WorldLevel": 1, + "StageID": 402120271 + }, + { + "EventID": 40212027, + "WorldLevel": 2, + "StageID": 402120272 + }, + { + "EventID": 40212027, + "WorldLevel": 3, + "StageID": 402120273 + }, + { + "EventID": 40212027, + "WorldLevel": 4, + "StageID": 402120274 + }, + { + "EventID": 40212027, + "WorldLevel": 5, + "StageID": 402120275 + }, + { + "EventID": 40212027, + "WorldLevel": 6, + "StageID": 402120276 + }, + { + "EventID": 40212028, + "WorldLevel": 0, + "StageID": 402120280 + }, + { + "EventID": 40212028, + "WorldLevel": 1, + "StageID": 402120281 + }, + { + "EventID": 40212028, + "WorldLevel": 2, + "StageID": 402120282 + }, + { + "EventID": 40212028, + "WorldLevel": 3, + "StageID": 402120283 + }, + { + "EventID": 40212028, + "WorldLevel": 4, + "StageID": 402120284 + }, + { + "EventID": 40212028, + "WorldLevel": 5, + "StageID": 402120285 + }, + { + "EventID": 40212028, + "WorldLevel": 6, + "StageID": 402120286 + }, + { + "EventID": 40212031, + "WorldLevel": 0, + "StageID": 402120310 + }, + { + "EventID": 40212031, + "WorldLevel": 1, + "StageID": 402120311 + }, + { + "EventID": 40212031, + "WorldLevel": 2, + "StageID": 402120312 + }, + { + "EventID": 40212031, + "WorldLevel": 3, + "StageID": 402120313 + }, + { + "EventID": 40212031, + "WorldLevel": 4, + "StageID": 402120314 + }, + { + "EventID": 40212031, + "WorldLevel": 5, + "StageID": 402120315 + }, + { + "EventID": 40212031, + "WorldLevel": 6, + "StageID": 402120316 + }, + { + "EventID": 40212034, + "WorldLevel": 0, + "StageID": 402120340 + }, + { + "EventID": 40212034, + "WorldLevel": 1, + "StageID": 402120341 + }, + { + "EventID": 40212034, + "WorldLevel": 2, + "StageID": 402120342 + }, + { + "EventID": 40212034, + "WorldLevel": 3, + "StageID": 402120343 + }, + { + "EventID": 40212034, + "WorldLevel": 4, + "StageID": 402120344 + }, + { + "EventID": 40212034, + "WorldLevel": 5, + "StageID": 402120345 + }, + { + "EventID": 40212034, + "WorldLevel": 6, + "StageID": 402120346 + }, + { + "EventID": 40212035, + "WorldLevel": 0, + "StageID": 402120350 + }, + { + "EventID": 40212035, + "WorldLevel": 1, + "StageID": 402120351 + }, + { + "EventID": 40212035, + "WorldLevel": 2, + "StageID": 402120352 + }, + { + "EventID": 40212035, + "WorldLevel": 3, + "StageID": 402120353 + }, + { + "EventID": 40212035, + "WorldLevel": 4, + "StageID": 402120354 + }, + { + "EventID": 40212035, + "WorldLevel": 5, + "StageID": 402120355 + }, + { + "EventID": 40212035, + "WorldLevel": 6, + "StageID": 402120356 + }, + { + "EventID": 40212036, + "WorldLevel": 0, + "StageID": 402120360 + }, + { + "EventID": 40212036, + "WorldLevel": 1, + "StageID": 402120361 + }, + { + "EventID": 40212036, + "WorldLevel": 2, + "StageID": 402120362 + }, + { + "EventID": 40212036, + "WorldLevel": 3, + "StageID": 402120363 + }, + { + "EventID": 40212036, + "WorldLevel": 4, + "StageID": 402120364 + }, + { + "EventID": 40212036, + "WorldLevel": 5, + "StageID": 402120365 + }, + { + "EventID": 40212036, + "WorldLevel": 6, + "StageID": 402120366 + }, + { + "EventID": 40212037, + "WorldLevel": 0, + "StageID": 402120370 + }, + { + "EventID": 40212037, + "WorldLevel": 1, + "StageID": 402120371 + }, + { + "EventID": 40212037, + "WorldLevel": 2, + "StageID": 402120372 + }, + { + "EventID": 40212037, + "WorldLevel": 3, + "StageID": 402120373 + }, + { + "EventID": 40212037, + "WorldLevel": 4, + "StageID": 402120374 + }, + { + "EventID": 40212037, + "WorldLevel": 5, + "StageID": 402120375 + }, + { + "EventID": 40212037, + "WorldLevel": 6, + "StageID": 402120376 + }, + { + "EventID": 40212041, + "WorldLevel": 0, + "StageID": 402120410 + }, + { + "EventID": 40212041, + "WorldLevel": 1, + "StageID": 402120411 + }, + { + "EventID": 40212041, + "WorldLevel": 2, + "StageID": 402120412 + }, + { + "EventID": 40212041, + "WorldLevel": 3, + "StageID": 402120413 + }, + { + "EventID": 40212041, + "WorldLevel": 4, + "StageID": 402120414 + }, + { + "EventID": 40212041, + "WorldLevel": 5, + "StageID": 402120415 + }, + { + "EventID": 40212041, + "WorldLevel": 6, + "StageID": 402120416 + }, + { + "EventID": 40212042, + "WorldLevel": 0, + "StageID": 402120420 + }, + { + "EventID": 40212042, + "WorldLevel": 1, + "StageID": 402120421 + }, + { + "EventID": 40212042, + "WorldLevel": 2, + "StageID": 402120422 + }, + { + "EventID": 40212042, + "WorldLevel": 3, + "StageID": 402120423 + }, + { + "EventID": 40212042, + "WorldLevel": 4, + "StageID": 402120424 + }, + { + "EventID": 40212042, + "WorldLevel": 5, + "StageID": 402120425 + }, + { + "EventID": 40212042, + "WorldLevel": 6, + "StageID": 402120426 + }, + { + "EventID": 40212043, + "WorldLevel": 0, + "StageID": 402120430 + }, + { + "EventID": 40212043, + "WorldLevel": 1, + "StageID": 402120431 + }, + { + "EventID": 40212043, + "WorldLevel": 2, + "StageID": 402120432 + }, + { + "EventID": 40212043, + "WorldLevel": 3, + "StageID": 402120433 + }, + { + "EventID": 40212043, + "WorldLevel": 4, + "StageID": 402120434 + }, + { + "EventID": 40212043, + "WorldLevel": 5, + "StageID": 402120435 + }, + { + "EventID": 40212043, + "WorldLevel": 6, + "StageID": 402120436 + }, + { + "EventID": 40212044, + "WorldLevel": 0, + "StageID": 402120440 + }, + { + "EventID": 40212044, + "WorldLevel": 1, + "StageID": 402120441 + }, + { + "EventID": 40212044, + "WorldLevel": 2, + "StageID": 402120442 + }, + { + "EventID": 40212044, + "WorldLevel": 3, + "StageID": 402120443 + }, + { + "EventID": 40212044, + "WorldLevel": 4, + "StageID": 402120444 + }, + { + "EventID": 40212044, + "WorldLevel": 5, + "StageID": 402120445 + }, + { + "EventID": 40212044, + "WorldLevel": 6, + "StageID": 402120446 + }, + { + "EventID": 40212045, + "WorldLevel": 0, + "StageID": 402120450 + }, + { + "EventID": 40212045, + "WorldLevel": 1, + "StageID": 402120451 + }, + { + "EventID": 40212045, + "WorldLevel": 2, + "StageID": 402120452 + }, + { + "EventID": 40212045, + "WorldLevel": 3, + "StageID": 402120453 + }, + { + "EventID": 40212045, + "WorldLevel": 4, + "StageID": 402120454 + }, + { + "EventID": 40212045, + "WorldLevel": 5, + "StageID": 402120455 + }, + { + "EventID": 40212045, + "WorldLevel": 6, + "StageID": 402120456 + }, + { + "EventID": 40212046, + "WorldLevel": 0, + "StageID": 402120460 + }, + { + "EventID": 40212046, + "WorldLevel": 1, + "StageID": 402120461 + }, + { + "EventID": 40212046, + "WorldLevel": 2, + "StageID": 402120462 + }, + { + "EventID": 40212046, + "WorldLevel": 3, + "StageID": 402120463 + }, + { + "EventID": 40212046, + "WorldLevel": 4, + "StageID": 402120464 + }, + { + "EventID": 40212046, + "WorldLevel": 5, + "StageID": 402120465 + }, + { + "EventID": 40212046, + "WorldLevel": 6, + "StageID": 402120466 + }, + { + "EventID": 40212047, + "WorldLevel": 0, + "StageID": 402120470 + }, + { + "EventID": 40212047, + "WorldLevel": 1, + "StageID": 402120471 + }, + { + "EventID": 40212047, + "WorldLevel": 2, + "StageID": 402120472 + }, + { + "EventID": 40212047, + "WorldLevel": 3, + "StageID": 402120473 + }, + { + "EventID": 40212047, + "WorldLevel": 4, + "StageID": 402120474 + }, + { + "EventID": 40212047, + "WorldLevel": 5, + "StageID": 402120475 + }, + { + "EventID": 40212047, + "WorldLevel": 6, + "StageID": 402120476 + }, + { + "EventID": 40222032, + "WorldLevel": 0, + "StageID": 402220320 + }, + { + "EventID": 40222032, + "WorldLevel": 1, + "StageID": 402220321 + }, + { + "EventID": 40222032, + "WorldLevel": 2, + "StageID": 402220322 + }, + { + "EventID": 40222032, + "WorldLevel": 3, + "StageID": 402220323 + }, + { + "EventID": 40222032, + "WorldLevel": 4, + "StageID": 402220324 + }, + { + "EventID": 40222032, + "WorldLevel": 5, + "StageID": 402220325 + }, + { + "EventID": 40222032, + "WorldLevel": 6, + "StageID": 402220326 + }, + { + "EventID": 40222033, + "WorldLevel": 0, + "StageID": 402220330 + }, + { + "EventID": 40222033, + "WorldLevel": 1, + "StageID": 402220331 + }, + { + "EventID": 40222033, + "WorldLevel": 2, + "StageID": 402220332 + }, + { + "EventID": 40222033, + "WorldLevel": 3, + "StageID": 402220333 + }, + { + "EventID": 40222033, + "WorldLevel": 4, + "StageID": 402220334 + }, + { + "EventID": 40222033, + "WorldLevel": 5, + "StageID": 402220335 + }, + { + "EventID": 40222033, + "WorldLevel": 6, + "StageID": 402220336 + }, + { + "EventID": 40222034, + "WorldLevel": 0, + "StageID": 402220340 + }, + { + "EventID": 40222034, + "WorldLevel": 1, + "StageID": 402220341 + }, + { + "EventID": 40222034, + "WorldLevel": 2, + "StageID": 402220342 + }, + { + "EventID": 40222034, + "WorldLevel": 3, + "StageID": 402220343 + }, + { + "EventID": 40222034, + "WorldLevel": 4, + "StageID": 402220344 + }, + { + "EventID": 40222034, + "WorldLevel": 5, + "StageID": 402220345 + }, + { + "EventID": 40222034, + "WorldLevel": 6, + "StageID": 402220346 + }, + { + "EventID": 40222035, + "WorldLevel": 0, + "StageID": 402220350 + }, + { + "EventID": 40222035, + "WorldLevel": 1, + "StageID": 402220351 + }, + { + "EventID": 40222035, + "WorldLevel": 2, + "StageID": 402220352 + }, + { + "EventID": 40222035, + "WorldLevel": 3, + "StageID": 402220353 + }, + { + "EventID": 40222035, + "WorldLevel": 4, + "StageID": 402220354 + }, + { + "EventID": 40222035, + "WorldLevel": 5, + "StageID": 402220355 + }, + { + "EventID": 40222035, + "WorldLevel": 6, + "StageID": 402220356 + }, + { + "EventID": 40222036, + "WorldLevel": 0, + "StageID": 402220360 + }, + { + "EventID": 40222036, + "WorldLevel": 1, + "StageID": 402220361 + }, + { + "EventID": 40222036, + "WorldLevel": 2, + "StageID": 402220362 + }, + { + "EventID": 40222036, + "WorldLevel": 3, + "StageID": 402220363 + }, + { + "EventID": 40222036, + "WorldLevel": 4, + "StageID": 402220364 + }, + { + "EventID": 40222036, + "WorldLevel": 5, + "StageID": 402220365 + }, + { + "EventID": 40222036, + "WorldLevel": 6, + "StageID": 402220366 + }, + { + "EventID": 40222201, + "WorldLevel": 0, + "StageID": 402222010 + }, + { + "EventID": 40222201, + "WorldLevel": 1, + "StageID": 402222011 + }, + { + "EventID": 40222201, + "WorldLevel": 2, + "StageID": 402222012 + }, + { + "EventID": 40222201, + "WorldLevel": 3, + "StageID": 402222013 + }, + { + "EventID": 40222201, + "WorldLevel": 4, + "StageID": 402222014 + }, + { + "EventID": 40222201, + "WorldLevel": 5, + "StageID": 402222015 + }, + { + "EventID": 40222201, + "WorldLevel": 6, + "StageID": 402222016 + }, + { + "EventID": 40222202, + "WorldLevel": 0, + "StageID": 402222020 + }, + { + "EventID": 40222202, + "WorldLevel": 1, + "StageID": 402222021 + }, + { + "EventID": 40222202, + "WorldLevel": 2, + "StageID": 402222022 + }, + { + "EventID": 40222202, + "WorldLevel": 3, + "StageID": 402222023 + }, + { + "EventID": 40222202, + "WorldLevel": 4, + "StageID": 402222024 + }, + { + "EventID": 40222202, + "WorldLevel": 5, + "StageID": 402222025 + }, + { + "EventID": 40222202, + "WorldLevel": 6, + "StageID": 402222026 + }, + { + "EventID": 40222211, + "WorldLevel": 0, + "StageID": 402222110 + }, + { + "EventID": 40222211, + "WorldLevel": 1, + "StageID": 402222111 + }, + { + "EventID": 40222211, + "WorldLevel": 2, + "StageID": 402222112 + }, + { + "EventID": 40222211, + "WorldLevel": 3, + "StageID": 402222113 + }, + { + "EventID": 40222211, + "WorldLevel": 4, + "StageID": 402222114 + }, + { + "EventID": 40222211, + "WorldLevel": 5, + "StageID": 402222115 + }, + { + "EventID": 40222211, + "WorldLevel": 6, + "StageID": 402222116 + }, + { + "EventID": 40232011, + "WorldLevel": 0, + "StageID": 402320110 + }, + { + "EventID": 40232011, + "WorldLevel": 1, + "StageID": 402320111 + }, + { + "EventID": 40232011, + "WorldLevel": 2, + "StageID": 402320112 + }, + { + "EventID": 40232011, + "WorldLevel": 3, + "StageID": 402320113 + }, + { + "EventID": 40232011, + "WorldLevel": 4, + "StageID": 402320114 + }, + { + "EventID": 40232011, + "WorldLevel": 5, + "StageID": 402320115 + }, + { + "EventID": 40232011, + "WorldLevel": 6, + "StageID": 402320116 + }, + { + "EventID": 40232012, + "WorldLevel": 0, + "StageID": 402320120 + }, + { + "EventID": 40232012, + "WorldLevel": 1, + "StageID": 402320121 + }, + { + "EventID": 40232012, + "WorldLevel": 2, + "StageID": 402320122 + }, + { + "EventID": 40232012, + "WorldLevel": 3, + "StageID": 402320123 + }, + { + "EventID": 40232012, + "WorldLevel": 4, + "StageID": 402320124 + }, + { + "EventID": 40232012, + "WorldLevel": 5, + "StageID": 402320125 + }, + { + "EventID": 40232012, + "WorldLevel": 6, + "StageID": 402320126 + }, + { + "EventID": 40232013, + "WorldLevel": 0, + "StageID": 402320130 + }, + { + "EventID": 40232013, + "WorldLevel": 1, + "StageID": 402320131 + }, + { + "EventID": 40232013, + "WorldLevel": 2, + "StageID": 402320132 + }, + { + "EventID": 40232013, + "WorldLevel": 3, + "StageID": 402320133 + }, + { + "EventID": 40232013, + "WorldLevel": 4, + "StageID": 402320134 + }, + { + "EventID": 40232013, + "WorldLevel": 5, + "StageID": 402320135 + }, + { + "EventID": 40232013, + "WorldLevel": 6, + "StageID": 402320136 + }, + { + "EventID": 40232014, + "WorldLevel": 0, + "StageID": 402320140 + }, + { + "EventID": 40232014, + "WorldLevel": 1, + "StageID": 402320141 + }, + { + "EventID": 40232014, + "WorldLevel": 2, + "StageID": 402320142 + }, + { + "EventID": 40232014, + "WorldLevel": 3, + "StageID": 402320143 + }, + { + "EventID": 40232014, + "WorldLevel": 4, + "StageID": 402320144 + }, + { + "EventID": 40232014, + "WorldLevel": 5, + "StageID": 402320145 + }, + { + "EventID": 40232014, + "WorldLevel": 6, + "StageID": 402320146 + }, + { + "EventID": 40232016, + "WorldLevel": 0, + "StageID": 402320160 + }, + { + "EventID": 40232016, + "WorldLevel": 1, + "StageID": 402320161 + }, + { + "EventID": 40232016, + "WorldLevel": 2, + "StageID": 402320162 + }, + { + "EventID": 40232016, + "WorldLevel": 3, + "StageID": 402320163 + }, + { + "EventID": 40232016, + "WorldLevel": 4, + "StageID": 402320164 + }, + { + "EventID": 40232016, + "WorldLevel": 5, + "StageID": 402320165 + }, + { + "EventID": 40232016, + "WorldLevel": 6, + "StageID": 402320166 + }, + { + "EventID": 40232017, + "WorldLevel": 0, + "StageID": 402320170 + }, + { + "EventID": 40232017, + "WorldLevel": 1, + "StageID": 402320171 + }, + { + "EventID": 40232017, + "WorldLevel": 2, + "StageID": 402320172 + }, + { + "EventID": 40232017, + "WorldLevel": 3, + "StageID": 402320173 + }, + { + "EventID": 40232017, + "WorldLevel": 4, + "StageID": 402320174 + }, + { + "EventID": 40232017, + "WorldLevel": 5, + "StageID": 402320175 + }, + { + "EventID": 40232017, + "WorldLevel": 6, + "StageID": 402320176 + }, + { + "EventID": 40232018, + "WorldLevel": 0, + "StageID": 402320180 + }, + { + "EventID": 40232018, + "WorldLevel": 1, + "StageID": 402320181 + }, + { + "EventID": 40232018, + "WorldLevel": 2, + "StageID": 402320182 + }, + { + "EventID": 40232018, + "WorldLevel": 3, + "StageID": 402320183 + }, + { + "EventID": 40232018, + "WorldLevel": 4, + "StageID": 402320184 + }, + { + "EventID": 40232018, + "WorldLevel": 5, + "StageID": 402320185 + }, + { + "EventID": 40232018, + "WorldLevel": 6, + "StageID": 402320186 + }, + { + "EventID": 40232019, + "WorldLevel": 0, + "StageID": 402320190 + }, + { + "EventID": 40232019, + "WorldLevel": 1, + "StageID": 402320191 + }, + { + "EventID": 40232019, + "WorldLevel": 2, + "StageID": 402320192 + }, + { + "EventID": 40232019, + "WorldLevel": 3, + "StageID": 402320193 + }, + { + "EventID": 40232019, + "WorldLevel": 4, + "StageID": 402320194 + }, + { + "EventID": 40232019, + "WorldLevel": 5, + "StageID": 402320195 + }, + { + "EventID": 40232019, + "WorldLevel": 6, + "StageID": 402320196 + }, + { + "EventID": 40232021, + "WorldLevel": 0, + "StageID": 402320210 + }, + { + "EventID": 40232021, + "WorldLevel": 1, + "StageID": 402320211 + }, + { + "EventID": 40232021, + "WorldLevel": 2, + "StageID": 402320212 + }, + { + "EventID": 40232021, + "WorldLevel": 3, + "StageID": 402320213 + }, + { + "EventID": 40232021, + "WorldLevel": 4, + "StageID": 402320214 + }, + { + "EventID": 40232021, + "WorldLevel": 5, + "StageID": 402320215 + }, + { + "EventID": 40232021, + "WorldLevel": 6, + "StageID": 402320216 + }, + { + "EventID": 40232023, + "WorldLevel": 0, + "StageID": 402320230 + }, + { + "EventID": 40232023, + "WorldLevel": 1, + "StageID": 402320231 + }, + { + "EventID": 40232023, + "WorldLevel": 2, + "StageID": 402320232 + }, + { + "EventID": 40232023, + "WorldLevel": 3, + "StageID": 402320233 + }, + { + "EventID": 40232023, + "WorldLevel": 4, + "StageID": 402320234 + }, + { + "EventID": 40232023, + "WorldLevel": 5, + "StageID": 402320235 + }, + { + "EventID": 40232023, + "WorldLevel": 6, + "StageID": 402320236 + }, + { + "EventID": 40232024, + "WorldLevel": 0, + "StageID": 402320240 + }, + { + "EventID": 40232024, + "WorldLevel": 1, + "StageID": 402320241 + }, + { + "EventID": 40232024, + "WorldLevel": 2, + "StageID": 402320242 + }, + { + "EventID": 40232024, + "WorldLevel": 3, + "StageID": 402320243 + }, + { + "EventID": 40232024, + "WorldLevel": 4, + "StageID": 402320244 + }, + { + "EventID": 40232024, + "WorldLevel": 5, + "StageID": 402320245 + }, + { + "EventID": 40232024, + "WorldLevel": 6, + "StageID": 402320246 + }, + { + "EventID": 40232025, + "WorldLevel": 0, + "StageID": 402320250 + }, + { + "EventID": 40232025, + "WorldLevel": 1, + "StageID": 402320251 + }, + { + "EventID": 40232025, + "WorldLevel": 2, + "StageID": 402320252 + }, + { + "EventID": 40232025, + "WorldLevel": 3, + "StageID": 402320253 + }, + { + "EventID": 40232025, + "WorldLevel": 4, + "StageID": 402320254 + }, + { + "EventID": 40232025, + "WorldLevel": 5, + "StageID": 402320255 + }, + { + "EventID": 40232025, + "WorldLevel": 6, + "StageID": 402320256 + }, + { + "EventID": 40232026, + "WorldLevel": 0, + "StageID": 402320260 + }, + { + "EventID": 40232026, + "WorldLevel": 1, + "StageID": 402320261 + }, + { + "EventID": 40232026, + "WorldLevel": 2, + "StageID": 402320262 + }, + { + "EventID": 40232026, + "WorldLevel": 3, + "StageID": 402320263 + }, + { + "EventID": 40232026, + "WorldLevel": 4, + "StageID": 402320264 + }, + { + "EventID": 40232026, + "WorldLevel": 5, + "StageID": 402320265 + }, + { + "EventID": 40232026, + "WorldLevel": 6, + "StageID": 402320266 + }, + { + "EventID": 41221004, + "WorldLevel": 0, + "StageID": 412210040 + }, + { + "EventID": 41221004, + "WorldLevel": 1, + "StageID": 412210041 + }, + { + "EventID": 41221004, + "WorldLevel": 2, + "StageID": 412210042 + }, + { + "EventID": 41221004, + "WorldLevel": 3, + "StageID": 412210043 + }, + { + "EventID": 41221004, + "WorldLevel": 4, + "StageID": 412210044 + }, + { + "EventID": 41221004, + "WorldLevel": 5, + "StageID": 412210045 + }, + { + "EventID": 41221004, + "WorldLevel": 6, + "StageID": 412210046 + }, + { + "EventID": 41221005, + "WorldLevel": 0, + "StageID": 412210050 + }, + { + "EventID": 41221005, + "WorldLevel": 1, + "StageID": 412210051 + }, + { + "EventID": 41221005, + "WorldLevel": 2, + "StageID": 412210052 + }, + { + "EventID": 41221005, + "WorldLevel": 3, + "StageID": 412210053 + }, + { + "EventID": 41221005, + "WorldLevel": 4, + "StageID": 412210054 + }, + { + "EventID": 41221005, + "WorldLevel": 5, + "StageID": 412210055 + }, + { + "EventID": 41221005, + "WorldLevel": 6, + "StageID": 412210056 + }, + { + "EventID": 41221006, + "WorldLevel": 0, + "StageID": 412210060 + }, + { + "EventID": 41221006, + "WorldLevel": 1, + "StageID": 412210061 + }, + { + "EventID": 41221006, + "WorldLevel": 2, + "StageID": 412210062 + }, + { + "EventID": 41221006, + "WorldLevel": 3, + "StageID": 412210063 + }, + { + "EventID": 41221006, + "WorldLevel": 4, + "StageID": 412210064 + }, + { + "EventID": 41221006, + "WorldLevel": 5, + "StageID": 412210065 + }, + { + "EventID": 41221006, + "WorldLevel": 6, + "StageID": 412210066 + }, + { + "EventID": 41221014, + "WorldLevel": 0, + "StageID": 412210140 + }, + { + "EventID": 41221014, + "WorldLevel": 1, + "StageID": 412210141 + }, + { + "EventID": 41221014, + "WorldLevel": 2, + "StageID": 412210142 + }, + { + "EventID": 41221014, + "WorldLevel": 3, + "StageID": 412210143 + }, + { + "EventID": 41221014, + "WorldLevel": 4, + "StageID": 412210144 + }, + { + "EventID": 41221014, + "WorldLevel": 5, + "StageID": 412210145 + }, + { + "EventID": 41221014, + "WorldLevel": 6, + "StageID": 412210146 + }, + { + "EventID": 41221015, + "WorldLevel": 0, + "StageID": 412210150 + }, + { + "EventID": 41221015, + "WorldLevel": 1, + "StageID": 412210151 + }, + { + "EventID": 41221015, + "WorldLevel": 2, + "StageID": 412210152 + }, + { + "EventID": 41221015, + "WorldLevel": 3, + "StageID": 412210153 + }, + { + "EventID": 41221015, + "WorldLevel": 4, + "StageID": 412210154 + }, + { + "EventID": 41221015, + "WorldLevel": 5, + "StageID": 412210155 + }, + { + "EventID": 41221015, + "WorldLevel": 6, + "StageID": 412210156 + }, + { + "EventID": 41221016, + "WorldLevel": 0, + "StageID": 412210160 + }, + { + "EventID": 41221016, + "WorldLevel": 1, + "StageID": 412210161 + }, + { + "EventID": 41221016, + "WorldLevel": 2, + "StageID": 412210162 + }, + { + "EventID": 41221016, + "WorldLevel": 3, + "StageID": 412210163 + }, + { + "EventID": 41221016, + "WorldLevel": 4, + "StageID": 412210164 + }, + { + "EventID": 41221016, + "WorldLevel": 5, + "StageID": 412210165 + }, + { + "EventID": 41221016, + "WorldLevel": 6, + "StageID": 412210166 + }, + { + "EventID": 41221024, + "WorldLevel": 0, + "StageID": 412210240 + }, + { + "EventID": 41221024, + "WorldLevel": 1, + "StageID": 412210241 + }, + { + "EventID": 41221024, + "WorldLevel": 2, + "StageID": 412210242 + }, + { + "EventID": 41221024, + "WorldLevel": 3, + "StageID": 412210243 + }, + { + "EventID": 41221024, + "WorldLevel": 4, + "StageID": 412210244 + }, + { + "EventID": 41221024, + "WorldLevel": 5, + "StageID": 412210245 + }, + { + "EventID": 41221024, + "WorldLevel": 6, + "StageID": 412210246 + }, + { + "EventID": 41221025, + "WorldLevel": 0, + "StageID": 412210250 + }, + { + "EventID": 41221025, + "WorldLevel": 1, + "StageID": 412210251 + }, + { + "EventID": 41221025, + "WorldLevel": 2, + "StageID": 412210252 + }, + { + "EventID": 41221025, + "WorldLevel": 3, + "StageID": 412210253 + }, + { + "EventID": 41221025, + "WorldLevel": 4, + "StageID": 412210254 + }, + { + "EventID": 41221025, + "WorldLevel": 5, + "StageID": 412210255 + }, + { + "EventID": 41221025, + "WorldLevel": 6, + "StageID": 412210256 + }, + { + "EventID": 43002002, + "WorldLevel": 0, + "StageID": 430020020 + }, + { + "EventID": 43002002, + "WorldLevel": 1, + "StageID": 430020021 + }, + { + "EventID": 43002002, + "WorldLevel": 2, + "StageID": 430020022 + }, + { + "EventID": 43002002, + "WorldLevel": 3, + "StageID": 430020023 + }, + { + "EventID": 43002002, + "WorldLevel": 4, + "StageID": 430020024 + }, + { + "EventID": 43002002, + "WorldLevel": 5, + "StageID": 430020025 + }, + { + "EventID": 43002002, + "WorldLevel": 6, + "StageID": 430020026 + }, + { + "EventID": 43002003, + "WorldLevel": 0, + "StageID": 430020030 + }, + { + "EventID": 43002003, + "WorldLevel": 1, + "StageID": 430020031 + }, + { + "EventID": 43002003, + "WorldLevel": 2, + "StageID": 430020032 + }, + { + "EventID": 43002003, + "WorldLevel": 3, + "StageID": 430020033 + }, + { + "EventID": 43002003, + "WorldLevel": 4, + "StageID": 430020034 + }, + { + "EventID": 43002003, + "WorldLevel": 5, + "StageID": 430020035 + }, + { + "EventID": 43002003, + "WorldLevel": 6, + "StageID": 430020036 + }, + { + "EventID": 43003002, + "WorldLevel": 0, + "StageID": 430030020 + }, + { + "EventID": 43003002, + "WorldLevel": 1, + "StageID": 430030021 + }, + { + "EventID": 43003002, + "WorldLevel": 2, + "StageID": 430030022 + }, + { + "EventID": 43003002, + "WorldLevel": 3, + "StageID": 430030023 + }, + { + "EventID": 43003002, + "WorldLevel": 4, + "StageID": 430030024 + }, + { + "EventID": 43003002, + "WorldLevel": 5, + "StageID": 430030025 + }, + { + "EventID": 43003002, + "WorldLevel": 6, + "StageID": 430030026 + }, + { + "EventID": 43003003, + "WorldLevel": 0, + "StageID": 430030030 + }, + { + "EventID": 43003003, + "WorldLevel": 1, + "StageID": 430030031 + }, + { + "EventID": 43003003, + "WorldLevel": 2, + "StageID": 430030032 + }, + { + "EventID": 43003003, + "WorldLevel": 3, + "StageID": 430030033 + }, + { + "EventID": 43003003, + "WorldLevel": 4, + "StageID": 430030034 + }, + { + "EventID": 43003003, + "WorldLevel": 5, + "StageID": 430030035 + }, + { + "EventID": 43003003, + "WorldLevel": 6, + "StageID": 430030036 + }, + { + "EventID": 43003004, + "WorldLevel": 0, + "StageID": 430030040 + }, + { + "EventID": 43003004, + "WorldLevel": 1, + "StageID": 430030041 + }, + { + "EventID": 43003004, + "WorldLevel": 2, + "StageID": 430030042 + }, + { + "EventID": 43003004, + "WorldLevel": 3, + "StageID": 430030043 + }, + { + "EventID": 43003004, + "WorldLevel": 4, + "StageID": 430030044 + }, + { + "EventID": 43003004, + "WorldLevel": 5, + "StageID": 430030045 + }, + { + "EventID": 43003004, + "WorldLevel": 6, + "StageID": 430030046 + }, + { + "EventID": 43003005, + "WorldLevel": 0, + "StageID": 430030050 + }, + { + "EventID": 43003005, + "WorldLevel": 1, + "StageID": 430030051 + }, + { + "EventID": 43003005, + "WorldLevel": 2, + "StageID": 430030052 + }, + { + "EventID": 43003005, + "WorldLevel": 3, + "StageID": 430030053 + }, + { + "EventID": 43003005, + "WorldLevel": 4, + "StageID": 430030054 + }, + { + "EventID": 43003005, + "WorldLevel": 5, + "StageID": 430030055 + }, + { + "EventID": 43003005, + "WorldLevel": 6, + "StageID": 430030056 + }, + { + "EventID": 43003006, + "WorldLevel": 0, + "StageID": 430030060 + }, + { + "EventID": 43003006, + "WorldLevel": 1, + "StageID": 430030061 + }, + { + "EventID": 43003006, + "WorldLevel": 2, + "StageID": 430030062 + }, + { + "EventID": 43003006, + "WorldLevel": 3, + "StageID": 430030063 + }, + { + "EventID": 43003006, + "WorldLevel": 4, + "StageID": 430030064 + }, + { + "EventID": 43003006, + "WorldLevel": 5, + "StageID": 430030065 + }, + { + "EventID": 43003006, + "WorldLevel": 6, + "StageID": 430030066 + }, + { + "EventID": 43003008, + "WorldLevel": 0, + "StageID": 430030080 + }, + { + "EventID": 43003008, + "WorldLevel": 1, + "StageID": 430030081 + }, + { + "EventID": 43003008, + "WorldLevel": 2, + "StageID": 430030082 + }, + { + "EventID": 43003008, + "WorldLevel": 3, + "StageID": 430030083 + }, + { + "EventID": 43003008, + "WorldLevel": 4, + "StageID": 430030084 + }, + { + "EventID": 43003008, + "WorldLevel": 5, + "StageID": 430030085 + }, + { + "EventID": 43003008, + "WorldLevel": 6, + "StageID": 430030086 + }, + { + "EventID": 43101003, + "WorldLevel": 0, + "StageID": 431010030 + }, + { + "EventID": 43101003, + "WorldLevel": 1, + "StageID": 431010031 + }, + { + "EventID": 43101003, + "WorldLevel": 2, + "StageID": 431010032 + }, + { + "EventID": 43101003, + "WorldLevel": 3, + "StageID": 431010033 + }, + { + "EventID": 43101003, + "WorldLevel": 4, + "StageID": 431010034 + }, + { + "EventID": 43101003, + "WorldLevel": 5, + "StageID": 431010035 + }, + { + "EventID": 43101003, + "WorldLevel": 6, + "StageID": 431010036 + }, + { + "EventID": 43101004, + "WorldLevel": 0, + "StageID": 431010040 + }, + { + "EventID": 43101004, + "WorldLevel": 1, + "StageID": 431010041 + }, + { + "EventID": 43101004, + "WorldLevel": 2, + "StageID": 431010042 + }, + { + "EventID": 43101004, + "WorldLevel": 3, + "StageID": 431010043 + }, + { + "EventID": 43101004, + "WorldLevel": 4, + "StageID": 431010044 + }, + { + "EventID": 43101004, + "WorldLevel": 5, + "StageID": 431010045 + }, + { + "EventID": 43101004, + "WorldLevel": 6, + "StageID": 431010046 + }, + { + "EventID": 43103001, + "WorldLevel": 0, + "StageID": 43103001 + }, + { + "EventID": 43103001, + "WorldLevel": 1, + "StageID": 43103001 + }, + { + "EventID": 43103001, + "WorldLevel": 2, + "StageID": 43103001 + }, + { + "EventID": 43103001, + "WorldLevel": 3, + "StageID": 43103001 + }, + { + "EventID": 43103001, + "WorldLevel": 4, + "StageID": 43103001 + }, + { + "EventID": 43103001, + "WorldLevel": 5, + "StageID": 43103001 + }, + { + "EventID": 43103001, + "WorldLevel": 6, + "StageID": 43103001 + }, + { + "EventID": 43103002, + "WorldLevel": 0, + "StageID": 43103002 + }, + { + "EventID": 43103002, + "WorldLevel": 1, + "StageID": 43103002 + }, + { + "EventID": 43103002, + "WorldLevel": 2, + "StageID": 43103002 + }, + { + "EventID": 43103002, + "WorldLevel": 3, + "StageID": 43103002 + }, + { + "EventID": 43103002, + "WorldLevel": 4, + "StageID": 43103002 + }, + { + "EventID": 43103002, + "WorldLevel": 5, + "StageID": 43103002 + }, + { + "EventID": 43103002, + "WorldLevel": 6, + "StageID": 43103002 + }, + { + "EventID": 43103003, + "WorldLevel": 0, + "StageID": 43103003 + }, + { + "EventID": 43103003, + "WorldLevel": 1, + "StageID": 43103003 + }, + { + "EventID": 43103003, + "WorldLevel": 2, + "StageID": 43103003 + }, + { + "EventID": 43103003, + "WorldLevel": 3, + "StageID": 43103003 + }, + { + "EventID": 43103003, + "WorldLevel": 4, + "StageID": 43103003 + }, + { + "EventID": 43103003, + "WorldLevel": 5, + "StageID": 43103003 + }, + { + "EventID": 43103003, + "WorldLevel": 6, + "StageID": 43103003 + }, + { + "EventID": 43103015, + "WorldLevel": 0, + "StageID": 43103015 + }, + { + "EventID": 43103015, + "WorldLevel": 1, + "StageID": 43103015 + }, + { + "EventID": 43103015, + "WorldLevel": 2, + "StageID": 43103015 + }, + { + "EventID": 43103015, + "WorldLevel": 3, + "StageID": 43103015 + }, + { + "EventID": 43103015, + "WorldLevel": 4, + "StageID": 43103015 + }, + { + "EventID": 43103015, + "WorldLevel": 5, + "StageID": 43103015 + }, + { + "EventID": 43103015, + "WorldLevel": 6, + "StageID": 43103015 + }, + { + "EventID": 43103016, + "WorldLevel": 0, + "StageID": 43103016 + }, + { + "EventID": 43103016, + "WorldLevel": 1, + "StageID": 43103016 + }, + { + "EventID": 43103016, + "WorldLevel": 2, + "StageID": 43103016 + }, + { + "EventID": 43103016, + "WorldLevel": 3, + "StageID": 43103016 + }, + { + "EventID": 43103016, + "WorldLevel": 4, + "StageID": 43103016 + }, + { + "EventID": 43103016, + "WorldLevel": 5, + "StageID": 43103016 + }, + { + "EventID": 43103016, + "WorldLevel": 6, + "StageID": 43103016 + }, + { + "EventID": 43103201, + "WorldLevel": 0, + "StageID": 43103201 + }, + { + "EventID": 43103201, + "WorldLevel": 1, + "StageID": 43103201 + }, + { + "EventID": 43103201, + "WorldLevel": 2, + "StageID": 43103201 + }, + { + "EventID": 43103201, + "WorldLevel": 3, + "StageID": 43103201 + }, + { + "EventID": 43103201, + "WorldLevel": 4, + "StageID": 43103201 + }, + { + "EventID": 43103201, + "WorldLevel": 5, + "StageID": 43103201 + }, + { + "EventID": 43103201, + "WorldLevel": 6, + "StageID": 43103201 + }, + { + "EventID": 43103202, + "WorldLevel": 0, + "StageID": 43103202 + }, + { + "EventID": 43103202, + "WorldLevel": 1, + "StageID": 43103202 + }, + { + "EventID": 43103202, + "WorldLevel": 2, + "StageID": 43103202 + }, + { + "EventID": 43103202, + "WorldLevel": 3, + "StageID": 43103202 + }, + { + "EventID": 43103202, + "WorldLevel": 4, + "StageID": 43103202 + }, + { + "EventID": 43103202, + "WorldLevel": 5, + "StageID": 43103202 + }, + { + "EventID": 43103202, + "WorldLevel": 6, + "StageID": 43103202 + }, + { + "EventID": 43103203, + "WorldLevel": 0, + "StageID": 43103203 + }, + { + "EventID": 43103203, + "WorldLevel": 1, + "StageID": 43103203 + }, + { + "EventID": 43103203, + "WorldLevel": 2, + "StageID": 43103203 + }, + { + "EventID": 43103203, + "WorldLevel": 3, + "StageID": 43103203 + }, + { + "EventID": 43103203, + "WorldLevel": 4, + "StageID": 43103203 + }, + { + "EventID": 43103203, + "WorldLevel": 5, + "StageID": 43103203 + }, + { + "EventID": 43103203, + "WorldLevel": 6, + "StageID": 43103203 + }, + { + "EventID": 43103226, + "WorldLevel": 0, + "StageID": 43103226 + }, + { + "EventID": 43103226, + "WorldLevel": 1, + "StageID": 43103226 + }, + { + "EventID": 43103226, + "WorldLevel": 2, + "StageID": 43103226 + }, + { + "EventID": 43103226, + "WorldLevel": 3, + "StageID": 43103226 + }, + { + "EventID": 43103226, + "WorldLevel": 4, + "StageID": 43103226 + }, + { + "EventID": 43103226, + "WorldLevel": 5, + "StageID": 43103226 + }, + { + "EventID": 43103226, + "WorldLevel": 6, + "StageID": 43103226 + }, + { + "EventID": 43103301, + "WorldLevel": 0, + "StageID": 43103301 + }, + { + "EventID": 43103301, + "WorldLevel": 1, + "StageID": 43103301 + }, + { + "EventID": 43103301, + "WorldLevel": 2, + "StageID": 43103301 + }, + { + "EventID": 43103301, + "WorldLevel": 3, + "StageID": 43103301 + }, + { + "EventID": 43103301, + "WorldLevel": 4, + "StageID": 43103301 + }, + { + "EventID": 43103301, + "WorldLevel": 5, + "StageID": 43103301 + }, + { + "EventID": 43103301, + "WorldLevel": 6, + "StageID": 43103301 + }, + { + "EventID": 43103303, + "WorldLevel": 0, + "StageID": 43103303 + }, + { + "EventID": 43103303, + "WorldLevel": 1, + "StageID": 43103303 + }, + { + "EventID": 43103303, + "WorldLevel": 2, + "StageID": 43103303 + }, + { + "EventID": 43103303, + "WorldLevel": 3, + "StageID": 43103303 + }, + { + "EventID": 43103303, + "WorldLevel": 4, + "StageID": 43103303 + }, + { + "EventID": 43103303, + "WorldLevel": 5, + "StageID": 43103303 + }, + { + "EventID": 43103303, + "WorldLevel": 6, + "StageID": 43103303 + }, + { + "EventID": 43103309, + "WorldLevel": 0, + "StageID": 43103309 + }, + { + "EventID": 43103309, + "WorldLevel": 1, + "StageID": 43103309 + }, + { + "EventID": 43103309, + "WorldLevel": 2, + "StageID": 43103309 + }, + { + "EventID": 43103309, + "WorldLevel": 3, + "StageID": 43103309 + }, + { + "EventID": 43103309, + "WorldLevel": 4, + "StageID": 43103309 + }, + { + "EventID": 43103309, + "WorldLevel": 5, + "StageID": 43103309 + }, + { + "EventID": 43103309, + "WorldLevel": 6, + "StageID": 43103309 + }, + { + "EventID": 43103401, + "WorldLevel": 0, + "StageID": 43103401 + }, + { + "EventID": 43103401, + "WorldLevel": 1, + "StageID": 43103401 + }, + { + "EventID": 43103401, + "WorldLevel": 2, + "StageID": 43103401 + }, + { + "EventID": 43103401, + "WorldLevel": 3, + "StageID": 43103401 + }, + { + "EventID": 43103401, + "WorldLevel": 4, + "StageID": 43103401 + }, + { + "EventID": 43103401, + "WorldLevel": 5, + "StageID": 43103401 + }, + { + "EventID": 43103401, + "WorldLevel": 6, + "StageID": 43103401 + }, + { + "EventID": 43103402, + "WorldLevel": 0, + "StageID": 43103402 + }, + { + "EventID": 43103402, + "WorldLevel": 1, + "StageID": 43103402 + }, + { + "EventID": 43103402, + "WorldLevel": 2, + "StageID": 43103402 + }, + { + "EventID": 43103402, + "WorldLevel": 3, + "StageID": 43103402 + }, + { + "EventID": 43103402, + "WorldLevel": 4, + "StageID": 43103402 + }, + { + "EventID": 43103402, + "WorldLevel": 5, + "StageID": 43103402 + }, + { + "EventID": 43103402, + "WorldLevel": 6, + "StageID": 43103402 + }, + { + "EventID": 43103403, + "WorldLevel": 0, + "StageID": 43103403 + }, + { + "EventID": 43103403, + "WorldLevel": 1, + "StageID": 43103403 + }, + { + "EventID": 43103403, + "WorldLevel": 2, + "StageID": 43103403 + }, + { + "EventID": 43103403, + "WorldLevel": 3, + "StageID": 43103403 + }, + { + "EventID": 43103403, + "WorldLevel": 4, + "StageID": 43103403 + }, + { + "EventID": 43103403, + "WorldLevel": 5, + "StageID": 43103403 + }, + { + "EventID": 43103403, + "WorldLevel": 6, + "StageID": 43103403 + }, + { + "EventID": 43103409, + "WorldLevel": 0, + "StageID": 43103409 + }, + { + "EventID": 43103409, + "WorldLevel": 1, + "StageID": 43103409 + }, + { + "EventID": 43103409, + "WorldLevel": 2, + "StageID": 43103409 + }, + { + "EventID": 43103409, + "WorldLevel": 3, + "StageID": 43103409 + }, + { + "EventID": 43103409, + "WorldLevel": 4, + "StageID": 43103409 + }, + { + "EventID": 43103409, + "WorldLevel": 5, + "StageID": 43103409 + }, + { + "EventID": 43103409, + "WorldLevel": 6, + "StageID": 43103409 + }, + { + "EventID": 43312211, + "WorldLevel": 0, + "StageID": 433122110 + }, + { + "EventID": 43312211, + "WorldLevel": 1, + "StageID": 433122111 + }, + { + "EventID": 43312211, + "WorldLevel": 2, + "StageID": 433122112 + }, + { + "EventID": 43312211, + "WorldLevel": 3, + "StageID": 433122113 + }, + { + "EventID": 43312211, + "WorldLevel": 4, + "StageID": 433122114 + }, + { + "EventID": 43312211, + "WorldLevel": 5, + "StageID": 433122115 + }, + { + "EventID": 43312211, + "WorldLevel": 6, + "StageID": 433122116 + }, + { + "EventID": 43312212, + "WorldLevel": 0, + "StageID": 433122120 + }, + { + "EventID": 43312212, + "WorldLevel": 1, + "StageID": 433122121 + }, + { + "EventID": 43312212, + "WorldLevel": 2, + "StageID": 433122122 + }, + { + "EventID": 43312212, + "WorldLevel": 3, + "StageID": 433122123 + }, + { + "EventID": 43312212, + "WorldLevel": 4, + "StageID": 433122124 + }, + { + "EventID": 43312212, + "WorldLevel": 5, + "StageID": 433122125 + }, + { + "EventID": 43312212, + "WorldLevel": 6, + "StageID": 433122126 + }, + { + "EventID": 43312213, + "WorldLevel": 0, + "StageID": 433122130 + }, + { + "EventID": 43312213, + "WorldLevel": 1, + "StageID": 433122131 + }, + { + "EventID": 43312213, + "WorldLevel": 2, + "StageID": 433122132 + }, + { + "EventID": 43312213, + "WorldLevel": 3, + "StageID": 433122133 + }, + { + "EventID": 43312213, + "WorldLevel": 4, + "StageID": 433122134 + }, + { + "EventID": 43312213, + "WorldLevel": 5, + "StageID": 433122135 + }, + { + "EventID": 43312213, + "WorldLevel": 6, + "StageID": 433122136 + }, + { + "EventID": 43312221, + "WorldLevel": 0, + "StageID": 433122210 + }, + { + "EventID": 43312221, + "WorldLevel": 1, + "StageID": 433122211 + }, + { + "EventID": 43312221, + "WorldLevel": 2, + "StageID": 433122212 + }, + { + "EventID": 43312221, + "WorldLevel": 3, + "StageID": 433122213 + }, + { + "EventID": 43312221, + "WorldLevel": 4, + "StageID": 433122214 + }, + { + "EventID": 43312221, + "WorldLevel": 5, + "StageID": 433122215 + }, + { + "EventID": 43312221, + "WorldLevel": 6, + "StageID": 433122216 + }, + { + "EventID": 43312222, + "WorldLevel": 0, + "StageID": 433122220 + }, + { + "EventID": 43312222, + "WorldLevel": 1, + "StageID": 433122221 + }, + { + "EventID": 43312222, + "WorldLevel": 2, + "StageID": 433122222 + }, + { + "EventID": 43312222, + "WorldLevel": 3, + "StageID": 433122223 + }, + { + "EventID": 43312222, + "WorldLevel": 4, + "StageID": 433122224 + }, + { + "EventID": 43312222, + "WorldLevel": 5, + "StageID": 433122225 + }, + { + "EventID": 43312222, + "WorldLevel": 6, + "StageID": 433122226 + }, + { + "EventID": 43322204, + "WorldLevel": 0, + "StageID": 433222040 + }, + { + "EventID": 43322204, + "WorldLevel": 1, + "StageID": 433222041 + }, + { + "EventID": 43322204, + "WorldLevel": 2, + "StageID": 433222042 + }, + { + "EventID": 43322204, + "WorldLevel": 3, + "StageID": 433222043 + }, + { + "EventID": 43322204, + "WorldLevel": 4, + "StageID": 433222044 + }, + { + "EventID": 43322204, + "WorldLevel": 5, + "StageID": 433222045 + }, + { + "EventID": 43322204, + "WorldLevel": 6, + "StageID": 433222046 + }, + { + "EventID": 43322205, + "WorldLevel": 0, + "StageID": 433222050 + }, + { + "EventID": 43322205, + "WorldLevel": 1, + "StageID": 433222051 + }, + { + "EventID": 43322205, + "WorldLevel": 2, + "StageID": 433222052 + }, + { + "EventID": 43322205, + "WorldLevel": 3, + "StageID": 433222053 + }, + { + "EventID": 43322205, + "WorldLevel": 4, + "StageID": 433222054 + }, + { + "EventID": 43322205, + "WorldLevel": 5, + "StageID": 433222055 + }, + { + "EventID": 43322205, + "WorldLevel": 6, + "StageID": 433222056 + }, + { + "EventID": 44202001, + "WorldLevel": 0, + "StageID": 442020010 + }, + { + "EventID": 44202001, + "WorldLevel": 1, + "StageID": 442020011 + }, + { + "EventID": 44202001, + "WorldLevel": 2, + "StageID": 442020012 + }, + { + "EventID": 44202001, + "WorldLevel": 3, + "StageID": 442020013 + }, + { + "EventID": 44202001, + "WorldLevel": 4, + "StageID": 442020014 + }, + { + "EventID": 44202001, + "WorldLevel": 5, + "StageID": 442020015 + }, + { + "EventID": 44202001, + "WorldLevel": 6, + "StageID": 442020016 + }, + { + "EventID": 44202011, + "WorldLevel": 0, + "StageID": 442020110 + }, + { + "EventID": 44202011, + "WorldLevel": 1, + "StageID": 442020111 + }, + { + "EventID": 44202011, + "WorldLevel": 2, + "StageID": 442020112 + }, + { + "EventID": 44202011, + "WorldLevel": 3, + "StageID": 442020113 + }, + { + "EventID": 44202011, + "WorldLevel": 4, + "StageID": 442020114 + }, + { + "EventID": 44202011, + "WorldLevel": 5, + "StageID": 442020115 + }, + { + "EventID": 44202011, + "WorldLevel": 6, + "StageID": 442020116 + }, + { + "EventID": 44202021, + "WorldLevel": 0, + "StageID": 442020210 + }, + { + "EventID": 44202021, + "WorldLevel": 1, + "StageID": 442020211 + }, + { + "EventID": 44202021, + "WorldLevel": 2, + "StageID": 442020212 + }, + { + "EventID": 44202021, + "WorldLevel": 3, + "StageID": 442020213 + }, + { + "EventID": 44202021, + "WorldLevel": 4, + "StageID": 442020214 + }, + { + "EventID": 44202021, + "WorldLevel": 5, + "StageID": 442020215 + }, + { + "EventID": 44202021, + "WorldLevel": 6, + "StageID": 442020216 + }, + { + "EventID": 44202031, + "WorldLevel": 0, + "StageID": 442020310 + }, + { + "EventID": 44202031, + "WorldLevel": 1, + "StageID": 442020311 + }, + { + "EventID": 44202031, + "WorldLevel": 2, + "StageID": 442020312 + }, + { + "EventID": 44202031, + "WorldLevel": 3, + "StageID": 442020313 + }, + { + "EventID": 44202031, + "WorldLevel": 4, + "StageID": 442020314 + }, + { + "EventID": 44202031, + "WorldLevel": 5, + "StageID": 442020315 + }, + { + "EventID": 44202031, + "WorldLevel": 6, + "StageID": 442020316 + }, + { + "EventID": 44301101, + "WorldLevel": 0, + "StageID": 443011010 + }, + { + "EventID": 44301101, + "WorldLevel": 1, + "StageID": 443011011 + }, + { + "EventID": 44301101, + "WorldLevel": 2, + "StageID": 443011012 + }, + { + "EventID": 44301101, + "WorldLevel": 3, + "StageID": 443011013 + }, + { + "EventID": 44301101, + "WorldLevel": 4, + "StageID": 443011014 + }, + { + "EventID": 44301101, + "WorldLevel": 5, + "StageID": 443011015 + }, + { + "EventID": 44301101, + "WorldLevel": 6, + "StageID": 443011016 + }, + { + "EventID": 44301102, + "WorldLevel": 0, + "StageID": 443011020 + }, + { + "EventID": 44301102, + "WorldLevel": 1, + "StageID": 443011021 + }, + { + "EventID": 44301102, + "WorldLevel": 2, + "StageID": 443011022 + }, + { + "EventID": 44301102, + "WorldLevel": 3, + "StageID": 443011023 + }, + { + "EventID": 44301102, + "WorldLevel": 4, + "StageID": 443011024 + }, + { + "EventID": 44301102, + "WorldLevel": 5, + "StageID": 443011025 + }, + { + "EventID": 44301102, + "WorldLevel": 6, + "StageID": 443011026 + }, + { + "EventID": 44301201, + "WorldLevel": 0, + "StageID": 443012010 + }, + { + "EventID": 44301201, + "WorldLevel": 1, + "StageID": 443012011 + }, + { + "EventID": 44301201, + "WorldLevel": 2, + "StageID": 443012012 + }, + { + "EventID": 44301201, + "WorldLevel": 3, + "StageID": 443012013 + }, + { + "EventID": 44301201, + "WorldLevel": 4, + "StageID": 443012014 + }, + { + "EventID": 44301201, + "WorldLevel": 5, + "StageID": 443012015 + }, + { + "EventID": 44301201, + "WorldLevel": 6, + "StageID": 443012016 + }, + { + "EventID": 44301302, + "WorldLevel": 0, + "StageID": 443013020 + }, + { + "EventID": 44301302, + "WorldLevel": 1, + "StageID": 443013021 + }, + { + "EventID": 44301302, + "WorldLevel": 2, + "StageID": 443013022 + }, + { + "EventID": 44301302, + "WorldLevel": 3, + "StageID": 443013023 + }, + { + "EventID": 44301302, + "WorldLevel": 4, + "StageID": 443013024 + }, + { + "EventID": 44301302, + "WorldLevel": 5, + "StageID": 443013025 + }, + { + "EventID": 44301302, + "WorldLevel": 6, + "StageID": 443013026 + }, + { + "EventID": 81312012, + "WorldLevel": 0, + "StageID": 81312012 + }, + { + "EventID": 81312012, + "WorldLevel": 1, + "StageID": 81312012 + }, + { + "EventID": 81312012, + "WorldLevel": 2, + "StageID": 81312012 + }, + { + "EventID": 81312012, + "WorldLevel": 3, + "StageID": 81312012 + }, + { + "EventID": 81312012, + "WorldLevel": 4, + "StageID": 81312012 + }, + { + "EventID": 81312012, + "WorldLevel": 5, + "StageID": 81312012 + }, + { + "EventID": 81312012, + "WorldLevel": 6, + "StageID": 81312012 + }, + { + "EventID": 81312013, + "WorldLevel": 0, + "StageID": 81312013 + }, + { + "EventID": 81312013, + "WorldLevel": 1, + "StageID": 81312013 + }, + { + "EventID": 81312013, + "WorldLevel": 2, + "StageID": 81312013 + }, + { + "EventID": 81312013, + "WorldLevel": 3, + "StageID": 81312013 + }, + { + "EventID": 81312013, + "WorldLevel": 4, + "StageID": 81312013 + }, + { + "EventID": 81312013, + "WorldLevel": 5, + "StageID": 81312013 + }, + { + "EventID": 81312013, + "WorldLevel": 6, + "StageID": 81312013 + }, + { + "EventID": 99999011, + "WorldLevel": 0, + "StageID": 201110020 + }, + { + "EventID": 99999011, + "WorldLevel": 1, + "StageID": 201110020 + }, + { + "EventID": 99999011, + "WorldLevel": 2, + "StageID": 201110020 + }, + { + "EventID": 99999011, + "WorldLevel": 3, + "StageID": 201110020 + }, + { + "EventID": 99999011, + "WorldLevel": 4, + "StageID": 201110020 + }, + { + "EventID": 99999011, + "WorldLevel": 5, + "StageID": 201110020 + }, + { + "EventID": 99999011, + "WorldLevel": 6, + "StageID": 201110020 + } + ], + "cocoons": [ + { + "ID": 1001, + "WorldLevel": 0, + "StageID": 1022010, + "StageIDList": [ + 1022010, + 1022020, + 1022030 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1001, + "WorldLevel": 1, + "StageID": 1022011, + "StageIDList": [ + 1022011, + 1022021, + 1022031 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1001, + "WorldLevel": 2, + "StageID": 1022012, + "StageIDList": [ + 1022012, + 1022022, + 1022032 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1001, + "WorldLevel": 3, + "StageID": 1022013, + "StageIDList": [ + 1022013, + 1022023, + 1022033 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1001, + "WorldLevel": 4, + "StageID": 1022014, + "StageIDList": [ + 1022014, + 1022024, + 1022034 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1001, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1022015, + 1022025, + 1022035 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1001, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1022016, + 1022026, + 1022036 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1002, + "WorldLevel": 0, + "StageID": 1022210, + "StageIDList": [ + 1022210, + 1022220, + 1022230 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1002, + "WorldLevel": 1, + "StageID": 1022211, + "StageIDList": [ + 1022211, + 1022221, + 1022231 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1002, + "WorldLevel": 2, + "StageID": 1022212, + "StageIDList": [ + 1022212, + 1022222, + 1022232 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1002, + "WorldLevel": 3, + "StageID": 1022213, + "StageIDList": [ + 1022213, + 1022223, + 1022233 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1002, + "WorldLevel": 4, + "StageID": 1022214, + "StageIDList": [ + 1022214, + 1022224, + 1022234 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1002, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1022215, + 1022225, + 1022235 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1002, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1022216, + 1022226, + 1022236 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1003, + "WorldLevel": 0, + "StageID": 1022110, + "StageIDList": [ + 1022110, + 1022120, + 1022130 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1003, + "WorldLevel": 1, + "StageID": 1022111, + "StageIDList": [ + 1022111, + 1022121, + 1022131 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1003, + "WorldLevel": 2, + "StageID": 1022112, + "StageIDList": [ + 1022112, + 1022122, + 1022132 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1003, + "WorldLevel": 3, + "StageID": 1022113, + "StageIDList": [ + 1022113, + 1022123, + 1022133 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1003, + "WorldLevel": 4, + "StageID": 1022114, + "StageIDList": [ + 1022114, + 1022124, + 1022134 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1003, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1022115, + 1022125, + 1022135 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1003, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1022116, + 1022126, + 1022136 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1004, + "WorldLevel": 0, + "StageID": 1022310, + "StageIDList": [ + 1022310, + 1022320, + 1022330 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1004, + "WorldLevel": 1, + "StageID": 1022311, + "StageIDList": [ + 1022311, + 1022321, + 1022331 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1004, + "WorldLevel": 2, + "StageID": 1022312, + "StageIDList": [ + 1022312, + 1022322, + 1022332 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1004, + "WorldLevel": 3, + "StageID": 1022313, + "StageIDList": [ + 1022313, + 1022323, + 1022333 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1004, + "WorldLevel": 4, + "StageID": 1022314, + "StageIDList": [ + 1022314, + 1022324, + 1022334 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1004, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1022315, + 1022325, + 1022335 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1004, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1022316, + 1022326, + 1022336 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1005, + "WorldLevel": 0, + "StageID": 1022410, + "StageIDList": [ + 1022410, + 1022420, + 1022430 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1005, + "WorldLevel": 1, + "StageID": 1022411, + "StageIDList": [ + 1022411, + 1022421, + 1022431 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1005, + "WorldLevel": 2, + "StageID": 1022412, + "StageIDList": [ + 1022412, + 1022422, + 1022432 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1005, + "WorldLevel": 3, + "StageID": 1022413, + "StageIDList": [ + 1022413, + 1022423, + 1022433 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1005, + "WorldLevel": 4, + "StageID": 1022414, + "StageIDList": [ + 1022414, + 1022424, + 1022434 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1005, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1022415, + 1022425, + 1022435 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1005, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1022416, + 1022426, + 1022436 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1006, + "WorldLevel": 0, + "StageID": 1022510, + "StageIDList": [ + 1022510, + 1022520, + 1022530 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1006, + "WorldLevel": 1, + "StageID": 1022511, + "StageIDList": [ + 1022511, + 1022521, + 1022531 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1006, + "WorldLevel": 2, + "StageID": 1022512, + "StageIDList": [ + 1022512, + 1022522, + 1022532 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1006, + "WorldLevel": 3, + "StageID": 1022513, + "StageIDList": [ + 1022513, + 1022523, + 1022533 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1006, + "WorldLevel": 4, + "StageID": 1022514, + "StageIDList": [ + 1022514, + 1022524, + 1022534 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1006, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1022515, + 1022525, + 1022535 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1006, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1022516, + 1022526, + 1022536 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1007, + "WorldLevel": 0, + "StageID": 1022610, + "StageIDList": [ + 1022610, + 1022620, + 1022630 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1007, + "WorldLevel": 1, + "StageID": 1022611, + "StageIDList": [ + 1022611, + 1022621, + 1022631 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1007, + "WorldLevel": 2, + "StageID": 1022612, + "StageIDList": [ + 1022612, + 1022622, + 1022632 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1007, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1022613, + 1022623, + 1022633 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1007, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1022614, + 1022624, + 1022634 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1007, + "WorldLevel": 5, + "StageID": 1022615, + "StageIDList": [ + 1022615, + 1022625, + 1022635 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1007, + "WorldLevel": 6, + "StageID": 1022616, + "StageIDList": [ + 1022616, + 1022626, + 1022636 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1008, + "WorldLevel": 0, + "StageID": 1022710, + "StageIDList": [ + 1022710, + 1022720, + 1022730 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1008, + "WorldLevel": 1, + "StageID": 1022711, + "StageIDList": [ + 1022711, + 1022721, + 1022731 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1008, + "WorldLevel": 2, + "StageID": 1022712, + "StageIDList": [ + 1022712, + 1022722, + 1022732 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1008, + "WorldLevel": 3, + "StageID": 1022713, + "StageIDList": [ + 1022713, + 1022723, + 1022733 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1008, + "WorldLevel": 4, + "StageID": 1022714, + "StageIDList": [ + 1022714, + 1022724, + 1022734 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1008, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1022715, + 1022725, + 1022735 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1008, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1022716, + 1022726, + 1022736 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1009, + "WorldLevel": 0, + "StageID": 1022810, + "StageIDList": [ + 1022810, + 1022820, + 1022830 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1009, + "WorldLevel": 1, + "StageID": 1022811, + "StageIDList": [ + 1022811, + 1022821, + 1022831 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1009, + "WorldLevel": 2, + "StageID": 1022812, + "StageIDList": [ + 1022812, + 1022822, + 1022832 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1009, + "WorldLevel": 3, + "StageID": 1022813, + "StageIDList": [ + 1022813, + 1022823, + 1022833 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1009, + "WorldLevel": 4, + "StageID": 1022814, + "StageIDList": [ + 1022814, + 1022824, + 1022834 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1009, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1022815, + 1022825, + 1022835 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1009, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1022816, + 1022826, + 1022836 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1010, + "WorldLevel": 0, + "StageID": 1022910, + "StageIDList": [ + 1022910, + 1022920, + 1022930 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1010, + "WorldLevel": 1, + "StageID": 1022911, + "StageIDList": [ + 1022911, + 1022921, + 1022931 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1010, + "WorldLevel": 2, + "StageID": 1022912, + "StageIDList": [ + 1022912, + 1022922, + 1022932 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1010, + "WorldLevel": 3, + "StageID": 1022913, + "StageIDList": [ + 1022913, + 1022923, + 1022933 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1010, + "WorldLevel": 4, + "StageID": 1022914, + "StageIDList": [ + 1022914, + 1022924, + 1022934 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1010, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1022915, + 1022925, + 1022935 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1010, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1022916, + 1022926, + 1022936 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1011, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1023010, + 1023020, + 1023030 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1011, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1023011, + 1023021, + 1023031 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1011, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1023012, + 1023022, + 1023032 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1011, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1023013, + 1023023, + 1023033 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1011, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1023014, + 1023024, + 1023034 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1011, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1023015, + 1023025, + 1023035 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1011, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1023016, + 1023026, + 1023036 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1012, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1023110, + 1023120, + 1023130 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1012, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1023111, + 1023121, + 1023131 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1012, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1023112, + 1023122, + 1023132 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1012, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1023113, + 1023123, + 1023133 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1012, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1023114, + 1023124, + 1023134 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1012, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1023115, + 1023125, + 1023135 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1012, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1023116, + 1023126, + 1023136 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1013, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1023210, + 1023220, + 1023230 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1013, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1023211, + 1023221, + 1023231 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1013, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1023212, + 1023222, + 1023232 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1013, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1023213, + 1023223, + 1023233 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1013, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1023214, + 1023224, + 1023234 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1013, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1023215, + 1023225, + 1023235 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1013, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1023216, + 1023226, + 1023236 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1014, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1023310, + 1023320, + 1023330 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1014, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1023311, + 1023321, + 1023331 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1014, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1023312, + 1023322, + 1023332 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1014, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1023313, + 1023323, + 1023333 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1014, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1023314, + 1023324, + 1023334 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1014, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1023315, + 1023325, + 1023335 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1014, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1023316, + 1023326, + 1023336 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1015, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1023410, + 1023420, + 1023430 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1015, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1023411, + 1023421, + 1023431 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1015, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1023412, + 1023422, + 1023432 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1015, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1023413, + 1023423, + 1023433 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1015, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1023414, + 1023424, + 1023434 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1015, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1023415, + 1023425, + 1023435 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1015, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1023416, + 1023426, + 1023436 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1016, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1023510, + 1023520, + 1023530 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1016, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1023511, + 1023521, + 1023531 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1016, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1023512, + 1023522, + 1023532 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1016, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1023513, + 1023523, + 1023533 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1016, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1023514, + 1023524, + 1023534 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1016, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1023515, + 1023525, + 1023535 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1016, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1023516, + 1023526, + 1023536 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1017, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1023610, + 1023620, + 1023630 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1017, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1023611, + 1023621, + 1023631 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1017, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1023612, + 1023622, + 1023632 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1017, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1023613, + 1023623, + 1023633 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1017, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1023614, + 1023624, + 1023634 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1017, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1023615, + 1023625, + 1023635 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1017, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1023616, + 1023626, + 1023636 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1018, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1023710, + 1023720, + 1023730 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1018, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1023711, + 1023721, + 1023731 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1018, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1023712, + 1023722, + 1023732 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1018, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1023713, + 1023723, + 1023733 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1018, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1023714, + 1023724, + 1023734 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1018, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1023715, + 1023725, + 1023735 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1018, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1023716, + 1023726, + 1023736 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1019, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1023810, + 1023820, + 1023830 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1019, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1023811, + 1023821, + 1023831 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1019, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1023812, + 1023822, + 1023832 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1019, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1023813, + 1023823, + 1023833 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1019, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1023814, + 1023824, + 1023834 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1019, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1023815, + 1023825, + 1023835 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1019, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1023816, + 1023826, + 1023836 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1020, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1023910, + 1023920, + 1023930 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1020, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1023911, + 1023921, + 1023931 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1020, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1023912, + 1023922, + 1023932 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1020, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1023913, + 1023923, + 1023933 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1020, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1023914, + 1023924, + 1023934 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1020, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1023915, + 1023925, + 1023935 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1020, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1023916, + 1023926, + 1023936 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1021, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1024010, + 1024020, + 1024030 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1021, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1024011, + 1024021, + 1024031 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1021, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1024012, + 1024022, + 1024032 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1021, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1024013, + 1024023, + 1024033 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1021, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1024014, + 1024024, + 1024034 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1021, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1024015, + 1024025, + 1024035 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1021, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1024016, + 1024026, + 1024036 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1022, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1024110, + 1024120, + 1024130 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1022, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1024111, + 1024121, + 1024131 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1022, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1024112, + 1024122, + 1024132 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1022, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1024113, + 1024123, + 1024133 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1022, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1024114, + 1024124, + 1024134 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1022, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1024115, + 1024125, + 1024135 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1022, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1024116, + 1024126, + 1024136 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1023, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1024210, + 1024220, + 1024230 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1023, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1024211, + 1024221, + 1024231 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1023, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1024212, + 1024222, + 1024232 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1023, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1024213, + 1024223, + 1024233 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1023, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1024214, + 1024224, + 1024234 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1023, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1024215, + 1024225, + 1024235 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1023, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1024216, + 1024226, + 1024236 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1024, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1024310, + 1024320, + 1024330 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1024, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1024311, + 1024321, + 1024331 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1024, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1024312, + 1024322, + 1024332 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1024, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1024313, + 1024323, + 1024333 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1024, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1024314, + 1024324, + 1024334 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1024, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1024315, + 1024325, + 1024335 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1024, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1024316, + 1024326, + 1024336 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1025, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1024410, + 1024420, + 1024430 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1025, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1024411, + 1024421, + 1024431 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1025, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1024412, + 1024422, + 1024432 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1025, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1024413, + 1024423, + 1024433 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1025, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1024414, + 1024424, + 1024434 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1025, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1024415, + 1024425, + 1024435 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1025, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1024416, + 1024426, + 1024436 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1026, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1024510, + 1024520, + 1024530 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1026, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1024511, + 1024521, + 1024531 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1026, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1024512, + 1024522, + 1024532 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1026, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1024513, + 1024523, + 1024533 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1026, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1024514, + 1024524, + 1024534 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1026, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1024515, + 1024525, + 1024535 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1026, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1024516, + 1024526, + 1024536 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1027, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1024610, + 1024620, + 1024630 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1027, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1024611, + 1024621, + 1024631 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1027, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1024612, + 1024622, + 1024632 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1027, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1024613, + 1024623, + 1024633 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1027, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1024614, + 1024624, + 1024634 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1027, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1024615, + 1024625, + 1024635 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1027, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1024616, + 1024626, + 1024636 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1028, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1024710, + 1024720, + 1024730 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1028, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1024711, + 1024721, + 1024731 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1028, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1024712, + 1024722, + 1024732 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1028, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1024713, + 1024723, + 1024733 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1028, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1024714, + 1024724, + 1024734 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1028, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1024715, + 1024725, + 1024735 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1028, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1024716, + 1024726, + 1024736 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1029, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1024810, + 1024820, + 1024830 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1029, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1024811, + 1024821, + 1024831 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1029, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1024812, + 1024822, + 1024832 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1029, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1024813, + 1024823, + 1024833 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1029, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1024814, + 1024824, + 1024834 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1029, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1024815, + 1024825, + 1024835 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1029, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1024816, + 1024826, + 1024836 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1030, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1024910, + 1024920, + 1024930 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1030, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1024911, + 1024921, + 1024931 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1030, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1024912, + 1024922, + 1024932 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1030, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1024913, + 1024923, + 1024933 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1030, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1024914, + 1024924, + 1024934 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1030, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1024915, + 1024925, + 1024935 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1030, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1024916, + 1024926, + 1024936 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1031, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1025010, + 1025020, + 1025030 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1031, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1025011, + 1025021, + 1025031 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1031, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1025012, + 1025022, + 1025032 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1031, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1025013, + 1025023, + 1025033 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1031, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1025014, + 1025024, + 1025034 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1031, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1025015, + 1025025, + 1025035 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1031, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1025016, + 1025026, + 1025036 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1032, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1025110, + 1025120, + 1025130 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1032, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1025111, + 1025121, + 1025131 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1032, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1025112, + 1025122, + 1025132 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1032, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1025113, + 1025123, + 1025133 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1032, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1025114, + 1025124, + 1025134 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1032, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1025115, + 1025125, + 1025135 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1032, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1025116, + 1025126, + 1025136 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1033, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1025210, + 1025220, + 1025230 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1033, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1025211, + 1025221, + 1025231 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1033, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1025212, + 1025222, + 1025232 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1033, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1025213, + 1025223, + 1025233 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1033, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1025214, + 1025224, + 1025234 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1033, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1025215, + 1025225, + 1025235 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1033, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1025216, + 1025226, + 1025236 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1034, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1025310, + 1025320, + 1025330 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1034, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1025311, + 1025321, + 1025331 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1034, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1025312, + 1025322, + 1025332 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1034, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1025313, + 1025323, + 1025333 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1034, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1025314, + 1025324, + 1025334 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1034, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1025315, + 1025325, + 1025335 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1034, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1025316, + 1025326, + 1025336 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1035, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1025410, + 1025420, + 1025430 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1035, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1025411, + 1025421, + 1025431 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1035, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1025412, + 1025422, + 1025432 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1035, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1025413, + 1025423, + 1025433 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1035, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1025414, + 1025424, + 1025434 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1035, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1025415, + 1025425, + 1025435 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1035, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1025416, + 1025426, + 1025436 + ], + "MaxChallengeCnt": 24, + "CocoonType": 1 + }, + { + "ID": 1301, + "WorldLevel": 0, + "StageID": 1052010, + "StageIDList": [ + 1052010 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1301, + "WorldLevel": 1, + "StageID": 1052011, + "StageIDList": [ + 1052011 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1301, + "WorldLevel": 2, + "StageID": 1052012, + "StageIDList": [ + 1052012 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1301, + "WorldLevel": 3, + "StageID": 1052013, + "StageIDList": [ + 1052013 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1301, + "WorldLevel": 4, + "StageID": 1052014, + "StageIDList": [ + 1052014 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1301, + "WorldLevel": 5, + "StageID": 1052015, + "StageIDList": [ + 1052015 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1301, + "WorldLevel": 6, + "StageID": 1052016, + "StageIDList": [ + 1052016 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1302, + "WorldLevel": 0, + "StageID": 1052020, + "StageIDList": [ + 1052020 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1302, + "WorldLevel": 1, + "StageID": 1052021, + "StageIDList": [ + 1052021 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1302, + "WorldLevel": 2, + "StageID": 1052022, + "StageIDList": [ + 1052022 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1302, + "WorldLevel": 3, + "StageID": 1052023, + "StageIDList": [ + 1052023 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1302, + "WorldLevel": 4, + "StageID": 1052024, + "StageIDList": [ + 1052024 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1302, + "WorldLevel": 5, + "StageID": 1052025, + "StageIDList": [ + 1052025 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1302, + "WorldLevel": 6, + "StageID": 1052026, + "StageIDList": [ + 1052026 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1303, + "WorldLevel": 0, + "StageID": 1052030, + "StageIDList": [ + 1052030 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1303, + "WorldLevel": 1, + "StageID": 1052031, + "StageIDList": [ + 1052031 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1303, + "WorldLevel": 2, + "StageID": 1052032, + "StageIDList": [ + 1052032 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1303, + "WorldLevel": 3, + "StageID": 1052033, + "StageIDList": [ + 1052033 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1303, + "WorldLevel": 4, + "StageID": 1052034, + "StageIDList": [ + 1052034 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1303, + "WorldLevel": 5, + "StageID": 1052035, + "StageIDList": [ + 1052035 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1303, + "WorldLevel": 6, + "StageID": 1052036, + "StageIDList": [ + 1052036 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1304, + "WorldLevel": 0, + "StageID": 1052040, + "StageIDList": [ + 1052040 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1304, + "WorldLevel": 1, + "StageID": 1052041, + "StageIDList": [ + 1052041 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1304, + "WorldLevel": 2, + "StageID": 1052042, + "StageIDList": [ + 1052042 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1304, + "WorldLevel": 3, + "StageID": 1052043, + "StageIDList": [ + 1052043 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1304, + "WorldLevel": 4, + "StageID": 1052044, + "StageIDList": [ + 1052044 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1304, + "WorldLevel": 5, + "StageID": 1052045, + "StageIDList": [ + 1052045 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1304, + "WorldLevel": 6, + "StageID": 1052046, + "StageIDList": [ + 1052046 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1305, + "WorldLevel": 0, + "StageID": 1052050, + "StageIDList": [ + 1052050 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1305, + "WorldLevel": 1, + "StageID": 1052051, + "StageIDList": [ + 1052051 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1305, + "WorldLevel": 2, + "StageID": 1052052, + "StageIDList": [ + 1052052 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1305, + "WorldLevel": 3, + "StageID": 1052053, + "StageIDList": [ + 1052053 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1305, + "WorldLevel": 4, + "StageID": 1052054, + "StageIDList": [ + 1052054 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1305, + "WorldLevel": 5, + "StageID": 1052055, + "StageIDList": [ + 1052055 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1305, + "WorldLevel": 6, + "StageID": 1052056, + "StageIDList": [ + 1052056 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1306, + "WorldLevel": 0, + "StageID": 1052060, + "StageIDList": [ + 1052060 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1306, + "WorldLevel": 1, + "StageID": 1052061, + "StageIDList": [ + 1052061 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1306, + "WorldLevel": 2, + "StageID": 1052062, + "StageIDList": [ + 1052062 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1306, + "WorldLevel": 3, + "StageID": 1052063, + "StageIDList": [ + 1052063 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1306, + "WorldLevel": 4, + "StageID": 1052064, + "StageIDList": [ + 1052064 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1306, + "WorldLevel": 5, + "StageID": 1052065, + "StageIDList": [ + 1052065 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1306, + "WorldLevel": 6, + "StageID": 1052066, + "StageIDList": [ + 1052066 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1307, + "WorldLevel": 0, + "StageID": 1052070, + "StageIDList": [ + 1052070 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1307, + "WorldLevel": 1, + "StageID": 1052071, + "StageIDList": [ + 1052071 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1307, + "WorldLevel": 2, + "StageID": 1052072, + "StageIDList": [ + 1052072 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1307, + "WorldLevel": 3, + "StageID": 1052073, + "StageIDList": [ + 1052073 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1307, + "WorldLevel": 4, + "StageID": 1052074, + "StageIDList": [ + 1052074 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1307, + "WorldLevel": 5, + "StageID": 1052075, + "StageIDList": [ + 1052075 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1307, + "WorldLevel": 6, + "StageID": 1052076, + "StageIDList": [ + 1052076 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1308, + "WorldLevel": 0, + "StageID": 1052080, + "StageIDList": [ + 1052080 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1308, + "WorldLevel": 1, + "StageID": 1052081, + "StageIDList": [ + 1052081 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1308, + "WorldLevel": 2, + "StageID": 1052082, + "StageIDList": [ + 1052082 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1308, + "WorldLevel": 3, + "StageID": 1052083, + "StageIDList": [ + 1052083 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1308, + "WorldLevel": 4, + "StageID": 1052084, + "StageIDList": [ + 1052084 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1308, + "WorldLevel": 5, + "StageID": 1052085, + "StageIDList": [ + 1052085 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1308, + "WorldLevel": 6, + "StageID": 1052086, + "StageIDList": [ + 1052086 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1309, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1052090 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1309, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1052091 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1309, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1052092 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1309, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1052093 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1309, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1052094 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1309, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1052095 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1309, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1052096 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1310, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1052100 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1310, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1052101 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1310, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1052102 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1310, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1052103 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1310, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1052104 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1310, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1052105 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1310, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1052106 + ], + "MaxChallengeCnt": 3, + "CocoonType": 2 + }, + { + "ID": 1201, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1043010 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1201, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1043011 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1201, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1043012 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1201, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1043013 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1201, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1043014 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1201, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1043015 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1201, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1043016 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1202, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1043020 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1202, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1043021 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1202, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1043022 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1202, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1043023 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1202, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1043024 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1202, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1043025 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1202, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1043026 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1203, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1043030 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1203, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1043031 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1203, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1043032 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1203, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1043033 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1203, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1043034 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1203, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1043035 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1203, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1043036 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1204, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1043040 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1204, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1043041 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1204, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1043042 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1204, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1043043 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1204, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1043044 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1204, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1043045 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1204, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1043046 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1205, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1043050 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1205, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1043051 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1205, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1043052 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1205, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1043053 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1205, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1043054 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1205, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1043055 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1205, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1043056 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1206, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1043060 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1206, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1043061 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1206, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1043062 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1206, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1043063 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1206, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1043064 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1206, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1043065 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1206, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1043066 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1207, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1043070 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1207, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1043071 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1207, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1043072 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1207, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1043073 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1207, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1043074 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1207, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1043075 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1207, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1043076 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1208, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1043080 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1208, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1043081 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1208, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1043082 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1208, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1043083 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1208, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1043084 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1208, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1043085 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1208, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1043086 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1209, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1043090 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1209, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1043091 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1209, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1043092 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1209, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1043093 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1209, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1043094 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1209, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1043095 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1209, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1043096 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1210, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1043100 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1210, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1043101 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1210, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1043102 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1210, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1043103 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1210, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1043104 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1210, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1043105 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1210, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1043106 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1211, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1043110 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1211, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1043111 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1211, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1043112 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1211, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1043113 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1211, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1043114 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1211, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1043115 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1211, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1043116 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1212, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1043120 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1212, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1043121 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1212, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1043122 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1212, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1043123 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1212, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1043124 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1212, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1043125 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1212, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1043126 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1213, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1043130 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1213, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1043131 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1213, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1043132 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1213, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1043133 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1213, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1043134 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1213, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1043135 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1213, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1043136 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1214, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1043140 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1214, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1043141 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1214, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1043142 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1214, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1043143 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1214, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1043144 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1214, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1043145 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1214, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1043146 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1215, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1043150 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1215, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1043151 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1215, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1043152 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1215, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1043153 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1215, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1043154 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1215, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1043155 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1215, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1043156 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1216, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1043160 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1216, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1043161 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1216, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1043162 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1216, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1043163 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1216, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1043164 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1216, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1043165 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1216, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1043166 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1217, + "WorldLevel": 0, + "StageID": 0, + "StageIDList": [ + 1043170 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1217, + "WorldLevel": 1, + "StageID": 0, + "StageIDList": [ + 1043171 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1217, + "WorldLevel": 2, + "StageID": 0, + "StageIDList": [ + 1043172 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1217, + "WorldLevel": 3, + "StageID": 0, + "StageIDList": [ + 1043173 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1217, + "WorldLevel": 4, + "StageID": 0, + "StageIDList": [ + 1043174 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1217, + "WorldLevel": 5, + "StageID": 0, + "StageIDList": [ + 1043175 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + }, + { + "ID": 1217, + "WorldLevel": 6, + "StageID": 0, + "StageIDList": [ + 1043176 + ], + "MaxChallengeCnt": 6, + "CocoonType": 3 + } + ], + "npc_monsters": { + "1002020": { + "rank": 2 + }, + "1002030": { + "rank": 2 + }, + "1002040": { + "rank": 2 + }, + "1002050": { + "rank": 2 + }, + "1003010": { + "rank": 3 + }, + "1004010": { + "rank": 4 + }, + "1012020": { + "rank": 2 + }, + "1012030": { + "rank": 2 + }, + "1013010": { + "rank": 3 + }, + "1013020": { + "rank": 3 + }, + "1013021": { + "rank": 3 + }, + "1013022": { + "rank": 3 + }, + "1014010": { + "rank": 4 + }, + "1022010": { + "rank": 2 + }, + "1022020": { + "rank": 2 + }, + "1023010": { + "rank": 3 + }, + "1023012": { + "rank": 3 + }, + "1023020": { + "rank": 3 + }, + "1023021": { + "rank": 3 + }, + "2002010": { + "rank": 2 + }, + "2002030": { + "rank": 2 + }, + "2011010": { + "rank": 2 + }, + "2011020": { + "rank": 2 + }, + "2012010": { + "rank": 2 + }, + "2013010": { + "rank": 3 + }, + "2013011": { + "rank": 3 + }, + "2013020": { + "rank": 3 + }, + "2013021": { + "rank": 3 + }, + "2022010": { + "rank": 2 + }, + "2022011": { + "rank": 2 + }, + "2022020": { + "rank": 2 + }, + "2022040": { + "rank": 2 + }, + "2022050": { + "rank": 2 + }, + "2022060": { + "rank": 2 + }, + "2022061": { + "rank": 2 + }, + "2022110": { + "rank": 2 + }, + "2023010": { + "rank": 3 + }, + "2023011": { + "rank": 3 + }, + "2023020": { + "rank": 3 + }, + "2023021": { + "rank": 3 + }, + "2023030": { + "rank": 3 + }, + "2023031": { + "rank": 3 + }, + "2032010": { + "rank": 2 + }, + "2032020": { + "rank": 2 + }, + "2033010": { + "rank": 3 + }, + "2033011": { + "rank": 3 + }, + "3001010": { + "rank": 2 + }, + "3001020": { + "rank": 1 + }, + "3001021": { + "rank": 1 + }, + "3002010": { + "rank": 2 + }, + "3002011": { + "rank": 2 + }, + "3002020": { + "rank": 2 + }, + "3002030": { + "rank": 2 + }, + "3002040": { + "rank": 2 + }, + "3002041": { + "rank": 2 + }, + "3002050": { + "rank": 2 + }, + "3003010": { + "rank": 3 + }, + "3003011": { + "rank": 3 + }, + "3003013": { + "rank": 3 + }, + "3003020": { + "rank": 3 + }, + "3003021": { + "rank": 3 + }, + "3003030": { + "rank": 3 + }, + "3003040": { + "rank": 3 + }, + "3003043": { + "rank": 3 + }, + "3003050": { + "rank": 3 + }, + "3003054": { + "rank": 3 + }, + "3011010": { + "rank": 1 + }, + "3012010": { + "rank": 2 + }, + "3012020": { + "rank": 2 + }, + "3012040": { + "rank": 2 + }, + "3013010": { + "rank": 3 + }, + "3013011": { + "rank": 3 + }, + "4012010": { + "rank": 2 + }, + "4012020": { + "rank": 2 + }, + "4012030": { + "rank": 2 + }, + "4012040": { + "rank": 2 + }, + "4013010": { + "rank": 3 + }, + "4013011": { + "rank": 3 + }, + "4022010": { + "rank": 2 + }, + "4023010": { + "rank": 3 + }, + "4023011": { + "rank": 3 + }, + "4023020": { + "rank": 3 + }, + "4023021": { + "rank": 3 + }, + "4032010": { + "rank": 2 + }, + "4032030": { + "rank": 2 + }, + "4032040": { + "rank": 2 + }, + "4032050": { + "rank": 2 + }, + "4033010": { + "rank": 3 + }, + "4033012": { + "rank": 3 + }, + "4033020": { + "rank": 3 + }, + "4033030": { + "rank": 3 + }, + "4033031": { + "rank": 3 + }, + "4043010": { + "rank": 3 + }, + "4052010": { + "rank": 2 + }, + "4052011": { + "rank": 2 + }, + "4052020": { + "rank": 2 + }, + "4053012": { + "rank": 3 + }, + "4062010": { + "rank": 2 + }, + "4062020": { + "rank": 2 + }, + "5012010": { + "rank": 2 + }, + "5012020": { + "rank": 2 + }, + "5012030": { + "rank": 2 + }, + "5012040": { + "rank": 2 + }, + "5012050": { + "rank": 2 + }, + "5012060": { + "rank": 2 + }, + "5012090": { + "rank": 2 + }, + "5012100": { + "rank": 2 + }, + "5012120": { + "rank": 2 + }, + "5013010": { + "rank": 3 + }, + "5013011": { + "rank": 3 + }, + "5013030": { + "rank": 3 + }, + "5022020": { + "rank": 2 + }, + "5023021": { + "rank": 3 + }, + "5032010": { + "rank": 2 + }, + "5032040": { + "rank": 2 + }, + "7010011": { + "rank": 2 + }, + "8001010": { + "rank": 1 + }, + "8001020": { + "rank": 1 + }, + "8001030": { + "rank": 1 + }, + "8001040": { + "rank": 1 + }, + "8001050": { + "rank": 1 + }, + "8002010": { + "rank": 1 + }, + "8002040": { + "rank": 2 + }, + "8002050": { + "rank": 2 + }, + "8002058": { + "rank": 2 + }, + "8002059": { + "rank": 2 + }, + "8003010": { + "rank": 3 + }, + "8003012": { + "rank": 3 + }, + "8003020": { + "rank": 3 + }, + "8003021": { + "rank": 3 + }, + "8003030": { + "rank": 3 + }, + "8003031": { + "rank": 3 + }, + "8003040": { + "rank": 3 + }, + "8003041": { + "rank": 3 + }, + "8003050": { + "rank": 3 + }, + "8003051": { + "rank": 3 + }, + "8011010": { + "rank": 1 + }, + "8011020": { + "rank": 1 + }, + "8012010": { + "rank": 2 + }, + "8012020": { + "rank": 2 + }, + "8012030": { + "rank": 1 + }, + "8012040": { + "rank": 2 + }, + "8013010": { + "rank": 3 + }, + "8013012": { + "rank": 3 + }, + "8013013": { + "rank": 3 + }, + "8022010": { + "rank": 2 + }, + "8032010": { + "rank": 2 + }, + "8032011": { + "rank": 2 + }, + "8032020": { + "rank": 2 + }, + "8032021": { + "rank": 2 + }, + "8032040": { + "rank": 2 + }, + "8033012": { + "rank": 3 + }, + "20220501": { + "rank": 2 + } + }, + "instant_defeat_avatars": [ + 1506, + 1408, + 1308, + 1510 + ], + "instant_defeat_ranks": [ + 1, + 2 + ] +} diff --git a/run.ps1 b/run.ps1 index 9031f8b..3a14f40 100644 --- a/run.ps1 +++ b/run.ps1 @@ -5,6 +5,7 @@ $interactiveMenu = [string]::IsNullOrWhiteSpace($Action) $menuCloseDelaySeconds = 5 $launcherExitCode = 0 Set-Location -LiteralPath $PSScriptRoot +. (Join-Path $PSScriptRoot 'tools/go-toolchain.ps1') function Merge-Settings($Base, $Override) { foreach ($property in $Override.PSObject.Properties) { @@ -38,13 +39,10 @@ function Start-ProjectServer([string]$Name) { Write-Host "Started $Name (PID $($process.Id)) in its own visible console." } function Build-Servers { - $go = $env:GAC_GO_COMMAND - if ([string]::IsNullOrWhiteSpace($go)) { $go = $settings.launcher.go_command } - if ([string]::IsNullOrWhiteSpace($go)) { throw 'Set launcher.go_command or GAC_GO_COMMAND.' } - $command = Get-Command -Name $go -CommandType Application -ErrorAction Stop + $go = Resolve-GoToolchain $settings.launcher foreach ($name in @('gameserver', 'sdkserver')) { $next = Resolve-ProjectPath ($name + '-go.next.exe') - & $command.Source build -o $next ('./cmd/' + $name) + & $go build -o $next ('./cmd/' + $name) if ($LASTEXITCODE -ne 0) { throw "Build failed: $name. Existing binaries were not replaced." } } foreach ($name in @('gameserver-go', 'sdkserver-go')) { @@ -82,6 +80,7 @@ try { Merge-Settings $settings (Get-Content -LiteralPath $localPath -Raw | ConvertFrom-Json) } $variables = @{ + account_name='GAC_ACCOUNT_NAME'; player_uid='GAC_PLAYER_UID'; client_version='GAC_CLIENT_VERSION'; game_host='GAC_GAME_HOST'; game_port='GAC_GAME_PORT'; sdk_host='GAC_SDK_HOST'; sdk_port='GAC_SDK_PORT'; public_game_host='GAC_PUBLIC_GAME_HOST'; public_sdk_url='GAC_PUBLIC_SDK_URL' @@ -90,6 +89,35 @@ try { $value = [Environment]::GetEnvironmentVariable($variables[$key]) if ($null -ne $value) { $settings | Add-Member -MemberType NoteProperty -Name $key -Value $value -Force } } + foreach ($pair in @(@('begin_time','GAC_ACTIVITY_BEGIN_TIME'),@('end_time','GAC_ACTIVITY_END_TIME'))) { + $value = [Environment]::GetEnvironmentVariable($pair[1]) + if ($null -ne $value) { + if (-not $settings.activity_schedule) { $settings | Add-Member -MemberType NoteProperty -Name activity_schedule -Value ([pscustomobject]@{}) } + $settings.activity_schedule | Add-Member -MemberType NoteProperty -Name $pair[0] -Value $value -Force + } + } + $liveStaleSecondsText = [string]$settings.battle_diagnostics.live_report_stale_seconds + $liveStaleSecondsOverride = [Environment]::GetEnvironmentVariable('GAC_LIVE_BATTLE_STALE_SECONDS') + if ($null -ne $liveStaleSecondsOverride) { + if (-not $settings.battle_diagnostics) { + $settings | Add-Member -MemberType NoteProperty -Name battle_diagnostics -Value ([pscustomobject]@{}) + } + $settings.battle_diagnostics | Add-Member -MemberType NoteProperty -Name live_report_stale_seconds -Value $liveStaleSecondsOverride -Force + $liveStaleSecondsText = $liveStaleSecondsOverride + } + $liveStaleSeconds = [uint16]0 + if (-not [uint16]::TryParse($liveStaleSecondsText, [ref]$liveStaleSeconds) -or $liveStaleSeconds -eq 0) { + throw 'battle_diagnostics.live_report_stale_seconds must be an integer between 1 and 65535.' + } + $activityBegin = [long]0 + $activityEnd = [long]0 + if (-not $settings.activity_schedule -or + $null -eq $settings.activity_schedule.begin_time -or $null -eq $settings.activity_schedule.end_time -or + -not [long]::TryParse([string]$settings.activity_schedule.begin_time,[ref]$activityBegin) -or + -not [long]::TryParse([string]$settings.activity_schedule.end_time,[ref]$activityEnd) -or + $activityBegin -lt 0 -or $activityEnd -le $activityBegin) { + throw 'activity_schedule requires nonnegative begin_time and end_time greater than begin_time.' + } $configuredUID = [uint32]0 if (-not [uint32]::TryParse([string]$settings.player_uid, [ref]$configuredUID) -or $configuredUID -eq 0) { throw 'player_uid must be an integer between 1 and 4294967295.' @@ -100,8 +128,8 @@ try { throw "$key must be a port between 1 and $([uint16]::MaxValue)." } } - foreach ($key in @('client_version','game_host','sdk_host','public_game_host','public_sdk_url')) { - if ([string]::IsNullOrWhiteSpace($settings.$key)) { throw "Missing setting: $key" } + foreach ($key in @('account_name','client_version','game_host','sdk_host','public_game_host','public_sdk_url')) { + if ($settings.$key -isnot [string] -or [string]::IsNullOrWhiteSpace($settings.$key)) { throw "Missing or invalid string setting: $key" } } foreach ($key in @('game_host','sdk_host','public_game_host')) { if ([string]$settings.$key -match '[/\\\s]') { throw "Invalid host: $key" } @@ -110,7 +138,17 @@ try { if (-not [Uri]::TryCreate($settings.public_sdk_url, [UriKind]::Absolute, [ref]$uri) -or $uri.Scheme -notin @('http','https') -or $uri.Query -or $uri.Fragment -or $uri.UserInfo) { throw 'public_sdk_url must be an HTTP(S) base URL.' } - if ($Action -eq 'check') { Write-Host 'Configuration valid.'; exit 0 } + $leaseSeconds = [uint32]0 + if ($settings.srtool.lease_file -isnot [string] -or [string]::IsNullOrWhiteSpace($settings.srtool.lease_file) -or -not [uint32]::TryParse([string]$settings.srtool.lease_seconds,[ref]$leaseSeconds) -or $leaseSeconds -eq 0) { throw 'Set srtool.lease_file and positive uint32 srtool.lease_seconds.' } + $install = $settings.launcher.go_install + if ($install -and $install.enabled) { + if ([string]::IsNullOrWhiteSpace($install.directory)) { throw 'Set launcher.go_install.directory.' } + foreach ($key in @('manifest_url','download_url')) { + $uri = $null + if (-not [Uri]::TryCreate($install.$key, [UriKind]::Absolute, [ref]$uri) -or $uri.Scheme -ne 'https' -or $uri.UserInfo -or $uri.Fragment) { throw "launcher.go_install.$key must be an HTTPS URL." } + } + } + if ($Action -eq 'check') { Write-Host "Configuration valid. Activity schedule: $activityBegin -> $activityEnd"; exit 0 } if ([string]::IsNullOrWhiteSpace($Action)) { Write-Host "GaC hkrpg GO | Client $($settings.client_version)" Write-Host "Game UDP $($settings.game_host):$($settings.game_port) | SDK HTTP $($settings.sdk_host):$($settings.sdk_port)" @@ -127,6 +165,7 @@ try { { $_ -in @('4','gs') } { Start-ProjectServer 'gameserver-go'; break } { $_ -in @('5','proxy') } { Start-ProjectServer 'sdkserver-go'; Start-ProjectServer 'gameserver-go'; Start-External 'proxy_path' 'GAC_PROXY_PATH'; break } { $_ -in @('6','build') } { Build-Servers; break } + 'requirements' { $go = Resolve-GoToolchain $settings.launcher; Write-Host "Go ready: $go"; break } '7' { break } { $_ -in @('8','stop') } { Stop-ProjectServer 'sdkserver-go'; Stop-ProjectServer 'gameserver-go'; break } default { throw "Unknown action: $Action" } diff --git a/scripts/damage_analyst_live.lua b/scripts/damage_analyst_live.lua new file mode 100644 index 0000000..daa17d1 --- /dev/null +++ b/scripts/damage_analyst_live.lua @@ -0,0 +1,390 @@ +-- Push current Client battle-statistic snapshots to the configured GaC SDK. +-- Reads one known BattleModule property; no assembly or method enumeration. +-- Keep the corrected reader isolated from earlier callbacks that may still be +-- registered in the Client until its Lua event handlers are refreshed. +-- Older callbacks may survive a script refresh in the same Client session. +if _G.__GAC_DAMAGE_ANALYST_LIVE_V4 then + _G.__GAC_DAMAGE_ANALYST_LIVE_V4.nextSample = math.huge +end +if _G.__GAC_DAMAGE_ANALYST_LIVE_V5 then + _G.__GAC_DAMAGE_ANALYST_LIVE_V5.nextSample = math.huge +end +if _G.__GAC_DAMAGE_ANALYST_LIVE_V6 then + _G.__GAC_DAMAGE_ANALYST_LIVE_V6.nextSample = math.huge +end +local state = _G.__GAC_DAMAGE_ANALYST_LIVE_V7 +if not state then + state = {registered=false, inBattle=false, nextSample=0, pending=nil, queuedBody=nil} + _G.__GAC_DAMAGE_ANALYST_LIVE_V7 = state +end + +local Time = CS.UnityEngine.Time +local Camera = CS.UnityEngine.Camera +if state.sourceRevision ~= 2 then + state.battleWorld = nil + state.sourceRevision = 2 +end +if state.detailsRevision ~= 3 then + state.lastFinalSignature = nil + state.detailsRevision = 3 +end + +local function logOnce(key, message) + if state[key] ~= message then + state[key] = message + CS.UnityEngine.Debug.Log("[GaC Damage Analyst] " .. tostring(message)) + end +end + +local function isBattleActive() + local ok, active = pcall(function() + if not state.phaseField then + local flags = CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags), 60) + state.phaseField = typeof(CS.RPG.Client.GamePhaseManager):GetField("_CurrentPhase", flags) + end + local manager = CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase = manager and state.phaseField:GetValue(manager) + return phase ~= nil and typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase) + end) + if not ok then + logOnce("phaseError", active) + return false + end + return active +end + +local function readKnownField(object, name) + if object == nil then return nil end + if type(object) == "table" then return object[name] end + if not state.fieldCache then state.fieldCache = {} end + local typeName = tostring(object:GetType().FullName) + local key = typeName .. ":" .. name + local field = state.fieldCache[key] + if field == nil then + local flags = CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags), 60) + field = object:GetType():GetField(name, flags) + state.fieldCache[key] = field or false + end + if field == false then return nil end + return field:GetValue(object) +end + +local function breakdownJSON(character) + local function dictionary(name) + local value = readKnownField(character, name) + return value and CS.Newtonsoft.Json.JsonConvert.SerializeObject(value) or '{}' + end + return '{"attack_type_damage":' .. dictionary("FNFFCPLHPGI") .. + ',"attack_type_break_damage":' .. dictionary("HNJNDLEFMBE") .. + ',"attack_type_max_damage":' .. dictionary("KEOOJBHFLFD") .. '}' +end + +local function activeStatistics() + local manager = CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase = state.phaseField:GetValue(manager) + local instance = phase.BattleInstanceRef + if instance == nil then return nil end + local world = readKnownField(instance, "_GameWorld") + if world ~= state.battleWorld then + state.battleWorld = world + state.statComponent = nil + state.componentArray = nil + state.componentIndex = 0 + state.entityIndex = 0 + state.battleInfoBase64 = nil + local info = CS.RPG.Client.GlobalVars.s_ModuleManager.BattleModule:GetBattleInfo() + if info ~= nil then + state.battleInfoBase64 = CS.System.Convert.ToBase64String(CS.Google.Protobuf.MessageExtensions.ToByteArray(info)) + end + end + if not state.statComponent then + if not state.componentArray then + local entities = readKnownField(world, "_EntityList") + for i=state.entityIndex,math.min(state.entityIndex+15,entities.Count-1) do + local entity = entities[i] + state.entityIndex = i+1 + if entity and (entity.RuntimeID == CS.RPG.GameCore.GameWorld.CommonLevelEntityRuntimeID + or entity.RuntimeID == CS.RPG.GameCore.GameWorld.BattleLevelEntityRuntimeID) then + state.componentArray = readKnownField(entity, "_ComponentArray") + state.componentIndex = 0 + break + end + end + if not state.componentArray then return nil end + end + for i=state.componentIndex,math.min(state.componentIndex+31,state.componentArray.Length-1) do + state.componentIndex = i+1 + local component = state.componentArray[i] + if component and typeof(CS.RPG.GameCore.StatisticsComponent):IsInstanceOfType(component) then + state.statComponent = component + break + end + end + if not state.statComponent then + if state.componentIndex >= state.componentArray.Length then state.componentArray = nil end + return nil + end + end + local component = state.statComponent + local characters = readKnownField(component, "_LightTeamStt") + if characters == nil then return nil end + local avatars, breakdowns = {}, {} + for i=0,math.min(characters.Length-1,15) do + local character = characters[i] + if character ~= nil then + avatars[#avatars+1] = character.avatarBattleInfo + -- Native dictionaries are updated during battle; their protobuf + -- lists are populated only by the final snapshot builder. + breakdowns[#breakdowns+1] = breakdownJSON(character) + end + end + local servants, servantBreakdowns = {}, {} + local servantStats = readKnownField(component, "_ServantStt") + if servantStats ~= nil then + local iterator = servantStats:GetEnumerator() + local scanned = 0 + while scanned < 64 and iterator:MoveNext() do + scanned = scanned + 1 + local character = iterator.Current.Value + local info = readKnownField(character, "LJLDPJFOKCE") + if info ~= nil then + servants[#servants+1] = info + servantBreakdowns[#servantBreakdowns+1] = breakdownJSON(character) + end + end + end + return { + servantBattleInfoList=servants, servantBreakdownJSON='[' .. table.concat(servantBreakdowns, ',') .. ']', + lightTeamBattleInfoList=avatars, breakdownJSON='[' .. table.concat(breakdowns, ',') .. ']', + totalBattleTurns=readKnownField(component,"_totalBattleTurns"), + totalAutoTurns=readKnownField(component,"_totalAutoTurns"), + totalBattleRounds=readKnownField(component,"_totalBattleRounds"), + costTime=readKnownField(component,"_lastSimulateTime") + } +end + +local function jsonNumber(value) + local number = tonumber(value) or 0 + if number ~= number or number == math.huge or number == -math.huge then return "0" end + return string.format("%.6f", number) +end + +local function jsonInteger(value) + local number = tonumber(value) or 0 + if number ~= number or number == math.huge or number == -math.huge then return "0" end + return string.format("%.0f", number) +end + +local function buildSnapshot(statistics) + local avatars = readKnownField(statistics, "lightTeamBattleInfoList") + local luaAvatars = type(avatars) == "table" + local avatarCount = avatars and (luaAvatars and #avatars or avatars.Count) or 0 + if avatarCount <= 0 then + -- Keep compatibility with protocol BattleStatistics if the Client + -- changes the type exposed by LastBattleStatistic in a later build. + avatars = statistics.BattleAvatarList + avatarCount = avatars and avatars.Count or 0 + if avatarCount <= 0 then return nil end + local bytes = CS.Google.Protobuf.MessageExtensions.ToByteArray(statistics) + local byteCount = type(bytes) == "string" and #bytes or bytes.Length + if byteCount > 2*1024*1024 then error("live statistics exceed the upload limit") end + local encoded = CS.System.Convert.ToBase64String(bytes) + return { + signature=encoded, + body='{"active":true,"statistics_base64":"' .. encoded .. '"}' + } + end + + local encodedAvatars = {} + local signatureParts = {} + local totalBytes = 0 + for i=0,math.min(avatarCount-1,15) do + local avatar = avatars[luaAvatars and i+1 or i] + if avatar ~= nil then + -- AvatarBattleInfo is a protobuf message even though its containing + -- PVEGameStatistics object is a Client-only type and cannot be serialized. + local bytes = CS.Google.Protobuf.MessageExtensions.ToByteArray(avatar) + local byteCount = type(bytes) == "string" and #bytes or bytes.Length + totalBytes = totalBytes + byteCount + if totalBytes > 2*1024*1024 then error("live avatar statistics exceed the upload limit") end + local encoded = CS.System.Convert.ToBase64String(bytes) + encodedAvatars[#encodedAvatars+1] = '"' .. encoded .. '"' + signatureParts[#signatureParts+1] = encoded + end + end + if #encodedAvatars == 0 then return nil end + + local servants = readKnownField(statistics, "servantBattleInfoList") + local luaServants = type(servants) == "table" + local servantCount = servants and (luaServants and #servants or servants.Count) or 0 + if servantCount > 64 then error("too many native servant statistics") end + local encodedServants = {} + for i=0,servantCount-1 do + local info = servants[luaServants and i+1 or i] + if info ~= nil then + local bytes = CS.Google.Protobuf.MessageExtensions.ToByteArray(info) + totalBytes = totalBytes + (type(bytes) == "string" and #bytes or bytes.Length) + if totalBytes > 2*1024*1024 then error("native statistics exceed the upload limit") end + local encoded = CS.System.Convert.ToBase64String(bytes) + encodedServants[#encodedServants+1] = '"' .. encoded .. '"' + signatureParts[#signatureParts+1] = encoded + end + end + + local totalBattleTurns = readKnownField(statistics, "totalBattleTurns") or statistics.TotalBattleTurns or 0 + local totalAutoTurns = readKnownField(statistics, "totalAutoTurns") or statistics.TotalAutoTurns or 0 + local roundCount = readKnownField(statistics, "totalBattleRounds") or statistics.RoundCnt or 0 + local costTime = readKnownField(statistics, "costTime") or statistics.CostTime or 0 + local breakdown = type(statistics) == "table" and statistics.breakdownJSON or nil + local servantBreakdown = type(statistics) == "table" and statistics.servantBreakdownJSON or nil + local signature = table.concat(signatureParts, "|") .. (breakdown or "") .. (servantBreakdown or "") .. table.concat({ + tostring(totalBattleTurns), tostring(totalAutoTurns), tostring(roundCount), tostring(costTime) + }, ":") + local body = '{"active":true,"avatar_statistics_base64":[' .. table.concat(encodedAvatars, ",") .. + '],"total_battle_turns":' .. jsonInteger(totalBattleTurns) .. + ',"total_auto_turns":' .. jsonInteger(totalAutoTurns) .. + ',"round_cnt":' .. jsonInteger(roundCount) .. + ',"cost_time":' .. jsonNumber(costTime) .. + (breakdown and ',"avatar_breakdowns":' .. breakdown or '') .. + ',"servant_statistics_base64":[' .. table.concat(encodedServants, ',') .. ']' .. + (servantBreakdown and ',"servant_breakdowns":' .. servantBreakdown or '') .. + (state.battleInfoBase64 and ',"battle_info_base64":"' .. state.battleInfoBase64 .. '"' or '') .. '}' + return {signature=signature, body=body} +end + +local function sendBody(body, finalSignature) + if state.pending then + state.queuedBody = body + state.queuedFinalSignature = finalSignature + return + end + local ok, err = pcall(function() + local url = _G.__GAC_SRTOOL_LIVE_URL + if not url or url == "" then error("SDK URL is not configured") end + -- Some client Lua bindings do not expose UnityWebRequest.Post(string, string). + -- Build the request explicitly so the overload resolution is unambiguous. + local request = CS.UnityEngine.Networking.UnityWebRequest(url .. "/api/battle_report/live", "POST") + -- XLua marshals a Lua string directly to byte[]. This body contains + -- ASCII JSON keys/numbers and base64, so it is already UTF-8 bytes. + request.uploadHandler = CS.UnityEngine.Networking.UploadHandlerRaw(body) + request.downloadHandler = CS.UnityEngine.Networking.DownloadHandlerBuffer() + request:SetRequestHeader("Content-Type", "application/json") + state.pending = {request=request, operation=request:SendWebRequest(), finalSignature=finalSignature} + end) + if not ok then logOnce("sendError", err) end +end + +local function finishPendingRequest() + if not state.pending then return end + local ok, done = pcall(function() return state.pending.operation.isDone end) + if not ok or not done then return end + local pending = state.pending + state.pending = nil + pcall(function() + local code = pending.request.responseCode + if code < 200 or code >= 300 then + logOnce("httpError", "SDK live endpoint returned HTTP " .. tostring(code)) + else + state.httpError = nil + if pending.finalSignature then state.lastFinalSignature = pending.finalSignature end + end + pending.request:Dispose() + end) + if state.queuedBody then + local body = state.queuedBody + local finalSignature = state.queuedFinalSignature + state.queuedBody = nil + state.queuedFinalSignature = nil + sendBody(body, finalSignature) + end +end + +local function sample() + if Time.frameCount == state.lastFrame then return end + state.lastFrame = Time.frameCount + local now = tonumber(Time.unscaledTime) + if not now and os and os.clock then now = os.clock() end + if not now then return end + local nextSample = tonumber(state.nextSample) or 0 + if now < nextSample then return end + state.nextSample = now + 0.75 + finishPendingRequest() + + if isBattleActive() then + local ok, result = pcall(function() + local statistics = activeStatistics() + if statistics == nil then return nil end + return {statistics=statistics, snapshot=buildSnapshot(statistics)} + end) + if not ok then + logOnce("statisticsError", result) + return + end + if result == nil then return end + state.statisticsError = nil + if result.snapshot == nil then + logOnce("snapshotError", "Client battle statistics have no avatar snapshots") + return + end + state.snapshotError = nil + if not state.inBattle then + -- Send the first sample immediately to replace any prior report. + state.inBattle = true + state.lastSignature = nil + state.nextHeartbeat = 0 + end + if result.snapshot.signature == state.lastSignature and now < state.nextHeartbeat then return end + state.lastSignature = result.snapshot.signature + state.nextHeartbeat = now + 2.5 + sendBody(result.snapshot.body) + else + state.inBattle = false + state.lastSignature = nil + state.nextHeartbeat = 0 + -- The network result intentionally omits rich per-avatar counters. + -- Upload the completed native snapshot; SDK matches counters/team + -- against the received result before preserving these details. + -- Module access can temporarily be unavailable during login/logout. + local ready, statistics = pcall(function() + local manager = CS.RPG.Client.GlobalVars.s_ModuleManager + local module = manager and manager.BattleModule + return module and module.LastBattleStatistic + end) + if not ready then return end + if statistics ~= nil then + local snapshot = buildSnapshot(statistics) + if snapshot and snapshot.signature ~= state.lastFinalSignature then + local body = snapshot.body:gsub('"active":true', '"active":false,"final":true', 1) + sendBody(body, snapshot.signature) + end + end + end +end + +local function runSampleSafely() + local ok, err = pcall(sample) + if not ok then logOnce("sampleError", err) end +end +state.sample = runSampleSafely +-- Also sample on heartbeat, so a background window or a render pipeline that +-- suppresses a camera event cannot stop delivery altogether. +runSampleSafely() + +local function addHook(target, eventName, callback) + local ok = pcall(function() target[eventName]("+", callback) end) + if ok then return true end + return pcall(function() target[eventName] = target[eventName] + callback end) +end + +if not state.registered then + local function tick() if state.sample then state.sample() end end + local cameraHooked = addHook(Camera, "onPostRender", tick) + local applicationHooked = addHook(CS.UnityEngine.Application, "onBeforeRender", tick) + state.registered = cameraHooked or applicationHooked + if not state.registered then + logOnce("hookError", "Could not register a Unity render callback; will retry") + else + state.hookError = nil + logOnce("hookReady", "Live battle sampling callback registered") + end +end diff --git a/scripts/freecam.lua b/scripts/freecam.lua index e3a71b9..183b151 100644 --- a/scripts/freecam.lua +++ b/scripts/freecam.lua @@ -41,33 +41,28 @@ local function get_active_cam() return nil end +-- Detach only the active camera brain and restore its recorded state. Virtual +-- cameras continue updating animation/effect state; do not scan/disable every +-- virtual camera on each render frame. +_G.__FC_BRAINS = _G.__FC_BRAINS or {} local function set_cinemachine_enabled(cam, enabled) + if enabled then + for id, state in pairs(_G.__FC_BRAINS) do + pcall(function() if state.brain then state.brain.enabled = state.enabled end end) + _G.__FC_BRAINS[id] = nil + end + return + end pcall(function() if not cam then return end local brain = cam:GetComponent(typeof(CS.Cinemachine.CinemachineBrain)) - if brain then brain.enabled = enabled end - local brain2 = cam:GetComponent("CinemachineBrain") - if brain2 then brain2.enabled = enabled end + if not brain then return end + local id = brain:GetInstanceID() + if not _G.__FC_BRAINS[id] then + _G.__FC_BRAINS[id] = {brain=brain, enabled=brain.enabled} + end + brain.enabled = false end) - if not enabled then - pcall(function() - local vcs = GameObject.FindObjectsOfType(typeof(CS.Cinemachine.CinemachineVirtualCamera)) - if vcs and vcs.Length > 0 then - for i = 0, vcs.Length - 1 do - vcs[i].enabled = false - end - end - end) - else - pcall(function() - local vcs = GameObject.FindObjectsOfType(typeof(CS.Cinemachine.CinemachineVirtualCamera)) - if vcs and vcs.Length > 0 then - for i = 0, vcs.Length - 1 do - vcs[i].enabled = true - end - end - end) - end end -- Client inspection: InControlInputModule.allowMouseInput controls UI @@ -94,8 +89,14 @@ end local function update_mouse_gate() local gate = _G.__FC_MOUSE_GATE - local battleHUD = GameObject.Find("UIRoot/Page/BattleGamePhaseUI(Clone)") - local wanted = _G.__FREECAM_ENABLED and battleHUD ~= nil + if not gate.phaseField then + local flags = CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags), 60) + gate.phaseField = typeof(CS.RPG.Client.GamePhaseManager):GetField("_CurrentPhase", flags) + end + local manager = CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase = manager and gate.phaseField:GetValue(manager) + local inBattle = phase and typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase) + local wanted = _G.__FREECAM_ENABLED and inBattle -- Releasing Freecam while holding RMB must not become a battle click. if not wanted then if gate.active and not Input.GetMouseButton(0) and not Input.GetMouseButton(1) then diff --git a/scripts/hide_ui.lua b/scripts/hide_ui.lua index b09ede2..9568b45 100644 --- a/scripts/hide_ui.lua +++ b/scripts/hide_ui.lua @@ -10,11 +10,12 @@ local Camera = CS.UnityEngine.Camera -- Never target an ancestor shared by HUD and character/reward dialogs. local HUD_PATHS = { "UIRoot/Page/MazeMainPage(Clone)", + -- Fallback for clients where the phase's private HudPage field is absent + -- or does not include every battle overlay. "UIRoot/Page/BattleGamePhaseUI(Clone)", "UIRoot/BelowPage/AdventureWaypointsPage(Clone)", "UIRoot/BelowPage/MazeJumpingText(Clone)", "UIRoot/BelowPage/MazeMonsterWarningPage(Clone)", - "UIRoot/AboveDialog/BetaHintDialog(Clone)", -- Character controls observed under AvatarMainPage/Root. Keep RankPanel -- and dialogs intact so Eidolon illustrations are not hidden with menus. "UIRoot/Page/AvatarMainPage(Clone)/Root/AvatarSubMenuPanel_Vertical", @@ -23,12 +24,11 @@ local HUD_PATHS = { "UIRoot/Page/AvatarMainPage(Clone)/Root/AvatarListPanel", "UIRoot/Page/AvatarMainPage(Clone)/Root/BtnClose", "UIRoot/Page/AvatarMainPage(Clone)/Root/TopBarArea", - "VersionText" } -- The old script did not record CanvasGroup state. Undo its blanket hide once -- on live upgrade; a fresh Client session avoids any lost legacy fade state. -if _G.__HIDE_UI_REGISTERED and _G.__HIDE_UI_SCHEMA ~= 2 and _G.__HIDE_UI_ENABLED then +if _G.__HIDE_UI_REGISTERED and (_G.__HIDE_UI_SCHEMA or 0) < 2 and _G.__HIDE_UI_ENABLED then pcall(function() local cams = Camera.allCameras for i = 0, cams.Length - 1 do @@ -54,7 +54,6 @@ if _G.__HIDE_UI_REGISTERED and _G.__HIDE_UI_SCHEMA ~= 2 and _G.__HIDE_UI_ENABLED for i = 0, canvases.Length - 1 do restore(canvases[i].gameObject) end end) end -_G.__HIDE_UI_SCHEMA = 2 _G.__HIDE_UI_ENABLED = _G.__HIDE_UI_ENABLED or false _G.__HIDE_UI_TARGETS = _G.__HIDE_UI_TARGETS or {} @@ -75,26 +74,151 @@ local function restore_hud() end end +local function protected_name(name) + local n = string.lower(tostring(name)) + return string.find(n, "uid", 1, true) ~= nil and string.find(n, "guide", 1, true) == nil + or n == "versiontext" or n == "betahintdialog(clone)" +end + +local function hide_object(obj) + if not obj or protected_name(obj.name) then return end + local id = obj:GetInstanceID() + local state = _G.__HIDE_UI_TARGETS[id] + if not state then + local group = obj:GetComponent(typeof(CanvasGroup)) + local added = not group + if added then group = obj:AddComponent(typeof(CanvasGroup)) end + state = {group=group, added=added, alpha=group.alpha, + raycast=group.blocksRaycasts, interactable=group.interactable} + _G.__HIDE_UI_TARGETS[id] = state + end + state.group.alpha = 0 + state.group.blocksRaycasts = false + state.group.interactable = false +end + +-- Keep UID/branding subtrees visible even if they belong to a HUD container. +local function hide_hud_tree(obj) + if not obj then return end + local protected = {} + local ts = obj:GetComponentsInChildren(typeof(CS.UnityEngine.Transform), true) + for i = 0, ts.Length - 1 do + if protected_name(ts[i].name) then + local t = ts[i] + while t do + protected[t:GetInstanceID()] = true + if t == obj.transform then break end + t = t.parent + end + end + end + local function visit(t) + if protected_name(t.name) then return end + if not protected[t:GetInstanceID()] then + hide_object(t.gameObject) + -- Battle HUD widgets have their own CanvasGroups and some ignore + -- their parent's alpha. Hide those groups too, preserving each + -- original state for restoration when the toggle is disabled. + local groups = t:GetComponentsInChildren(typeof(CanvasGroup), true) + for i = 0, groups.Length - 1 do + hide_object(groups[i].gameObject) + end + return + end + for i = 0, t.childCount - 1 do visit(t:GetChild(i)) end + end + visit(obj.transform) +end + +-- EX/Eidolon artwork is an image. Hide interactive controls and labels, +-- never the page's Canvas/camera or the illustration's parent container. +local function hide_control_components(root, kind) + local ok, controls = pcall(function() + return root:GetComponentsInChildren(kind, true) + end) + if not ok or not controls then return end + for i = 0, controls.Length - 1 do + local component = controls[i] + if component and component.gameObject and not protected_name(component.gameObject.name) then + -- Hiding each control directly avoids rescanning its entire + -- subtree for every Button/LocalizedText pair on the page. + hide_object(component.gameObject) + end + end +end + +local function hide_rank_controls(root) + if not root or not root.activeInHierarchy then return end + hide_control_components(root, typeof(CS.RPG.Client.LocalizedText)) + -- Selectable includes buttons, toggles, sliders, dropdowns and scrollbars; + -- some rank-page controls have no text or Button component of their own. + hide_control_components(root, typeof(CS.UnityEngine.UI.Selectable)) + -- Skill icons use SkillIcon sprites; illustrations use separate portrait + -- assets. Do not hide arbitrary images or the illustration container. + local images = root:GetComponentsInChildren(typeof(CS.UnityEngine.UI.Image), true) + for i = 0, images.Length - 1 do + local sprite = images[i].sprite + if sprite and string.lower(tostring(sprite.name)):find("skillicon",1,true) then + hide_object(images[i].gameObject) + end + end +end + local function hide_hud() for _, path in ipairs(HUD_PATHS) do - pcall(function() - local obj = GameObject.Find(path) - if not obj then return end - local id = obj:GetInstanceID() - local state = _G.__HIDE_UI_TARGETS[id] - if not state then - local group = obj:GetComponent(typeof(CanvasGroup)) - local added = not group - if added then group = obj:AddComponent(typeof(CanvasGroup)) end - state = {group=group, added=added, alpha=group.alpha, - raycast=group.blocksRaycasts, interactable=group.interactable} - _G.__HIDE_UI_TARGETS[id] = state - end - state.group.alpha = 0 - state.group.blocksRaycasts = false - state.group.interactable = false - end) + pcall(function() hide_hud_tree(GameObject.Find(path)) end) end + local ok, err = pcall(function() + local flags = CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags), 60) + _G.__HIDE_UI_PHASE_FIELD = _G.__HIDE_UI_PHASE_FIELD + or typeof(CS.RPG.Client.GamePhaseManager):GetField("_CurrentPhase", flags) + _G.__HIDE_UI_BATTLE_HUD_FIELD = _G.__HIDE_UI_BATTLE_HUD_FIELD + or typeof(CS.RPG.Client.BattleGamePhase):GetField("_HudPage", flags) + local manager = CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase = manager and _G.__HIDE_UI_PHASE_FIELD:GetValue(manager) + if phase and typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase) then + local hud = _G.__HIDE_UI_BATTLE_HUD_FIELD:GetValue(phase) + if hud and hud.Trans then hide_hud_tree(hud.Trans.gameObject) end + if hud and hud.ChildDialogs then + local dialogs = hud.ChildDialogs + for i = 0, dialogs.Count - 1 do + if dialogs[i].Trans then hide_hud_tree(dialogs[i].Trans.gameObject) end + end + end + end + end) + if not ok and _G.__HIDE_UI_LAST_ERROR ~= tostring(err) then + _G.__HIDE_UI_LAST_ERROR = tostring(err) + CS.UnityEngine.Debug.Log("[GaC HideUI] Battle HUD: " .. tostring(err)) + end + pcall(function() + local ui = CS.RPG.Client.GlobalVars.s_UIManager + local pages = ui:GetAllPageNames() + for i = 0, pages.Count - 1 do + local name = tostring(pages[i]); local lower = string.lower(name) + local page = ui:GetPageByName(name) + if page and page.ChildDialogs then + for j = 0, page.ChildDialogs.Count - 1 do + local dialog = page.ChildDialogs[j] + local dialogName = string.lower(tostring(dialog.Name)) + if dialog.Trans and (dialogName:find("rank",1,true) or dialogName:find("eidolon",1,true)) then + hide_rank_controls(dialog.Trans.gameObject) + end + end + end + if lower:find("battle",1,true) then + local page = ui:GetPageByName(name) + if page and page.Trans and page.Trans.gameObject.activeInHierarchy then + hide_hud_tree(page.Trans.gameObject) + end + end + if lower:find("rank",1,true) or lower:find("eidolon",1,true) then + local page = ui:GetPageByName(name) + if page and page.Trans then hide_rank_controls(page.Trans.gameObject) end + end + end + hide_rank_controls(GameObject.Find("UIRoot/Page/AvatarMainPage(Clone)/Root/AvatarRankPanel")) + end) end function _G.__HIDE_UI_TICK() @@ -107,32 +231,49 @@ function _G.__HIDE_UI_TICK() _G.__HIDE_UI_ENABLED = not _G.__HIDE_UI_ENABLED if not _G.__HIDE_UI_ENABLED then restore_hud() end end - -- Only the small named HUD list is checked, four times a second. + -- The page/child scan walks Unity UI trees, so keep it to once a second. -- New pages/dialogs never inherit a hidden UIRoot or UI camera. if _G.__HIDE_UI_ENABLED then local now = Time.unscaledTime if toggled or now >= (_G.__HIDE_UI_NEXT_SCAN or 0) then - _G.__HIDE_UI_NEXT_SCAN = now + 0.25 + _G.__HIDE_UI_NEXT_SCAN = now + 1.0 hide_hud() end end end) end --- Hook into render pipeline -if not _G.__HIDE_UI_REGISTERED then - _G.__HIDE_UI_REGISTERED = true - - local function hook(target, evt) - pcall(function() target[evt]('+', function(c) _G.__HIDE_UI_TICK() end) end) - pcall(function() target[evt] = target[evt] + function(c) _G.__HIDE_UI_TICK() end end) - end - - hook(Camera, "onPreRender") - hook(Camera, "onPreCull") - hook(Camera, "onPostRender") - pcall(function() CS.UnityEngine.Application.onBeforeRender('+', function() _G.__HIDE_UI_TICK() end) end) - pcall(function() CS.UnityEngine.Application.onBeforeRender = CS.UnityEngine.Application.onBeforeRender + function() _G.__HIDE_UI_TICK() end end) - - CS.UnityEngine.Debug.Log("[UI Toggle Script] HUD-only HideUI loaded! Press 'ฃ' to toggle UI.") +-- Restore targets from the previous policy (including VersionText) on upgrade. +if _G.__HIDE_UI_SCHEMA ~= 5 then + restore_hud() + _G.__HIDE_UI_SCHEMA = 5 + _G.__HIDE_UI_NEXT_SCAN = 0 +end + +-- Use one render callback. Registering all camera events plus before-render +-- made the toggle callback run redundantly several times per frame. +if not _G.__HIDE_UI_REGISTERED then + local callback = function() _G.__HIDE_UI_TICK() end + local ok = pcall(function() + CS.UnityEngine.Application.onBeforeRender('+', callback) + end) + if not ok then + ok = pcall(function() + CS.UnityEngine.Application.onBeforeRender = CS.UnityEngine.Application.onBeforeRender + callback + end) + end + if not ok then + ok = pcall(function() + Camera.onPostRender('+', callback) + end) + if not ok then + ok = pcall(function() Camera.onPostRender = Camera.onPostRender + callback end) + end + end + _G.__HIDE_UI_REGISTERED = ok + if ok then + CS.UnityEngine.Debug.Log("[UI Toggle Script] HUD-only HideUI loaded! Press 'ฃ' to toggle UI.") + else + CS.UnityEngine.Debug.Log("[GaC HideUI] Could not register a render callback.") + end end diff --git a/scripts/navigation_profiles.lua b/scripts/navigation_profiles.lua new file mode 100644 index 0000000..37b466d --- /dev/null +++ b/scripts/navigation_profiles.lua @@ -0,0 +1,247 @@ +-- Extend the Client's existing M list. Game IDs/labels arrive from the +-- server-validated NavigationProfiles resource; this script owns no map IDs. +_G.__GAC_NAVIGATION_TICK = function() + local now = CS.UnityEngine.Time.unscaledTime + local state = _G.__GAC_NAVIGATION_STATE + if not state then + state = { next_check = 0, panels = setmetatable({}, { __mode = 'k' }) } + _G.__GAC_NAVIGATION_STATE = state + end + if now >= state.next_check and _G.__GAC_NAVIGATION_PROFILES then + state.next_check = now + 0.25 + local ok, err = pcall(function() + local page = CS.RPG.Client.GlobalVars.s_UIManager:GetPageByName('SwitchAreaPage') + if not page or not page.Trans or not page.Trans.gameObject.activeInHierarchy then return end + local regional = page.LuaTable._regional_detail_panel + local list = regional and regional._map_area_list_panel + if not list or not list._tabs or not list._binder then return end + local installed = state.panels[list] + if not installed then installed = {}; state.panels[list] = installed end + state.step = 'reflection' + if not state.reflection then + -- System.Reflection.BindingFlags: Instance|Static|Public|NonPublic. + local all_members = 60 + local flags = CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags), all_members) + state.reflection = { + flags = flags, + clone_method = typeof(CS.System.Object):GetMethod('MemberwiseClone', flags), + empty_args = CS.System.Array.CreateInstance(typeof(CS.System.Object), 0), + invoke_flags = CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags), 0), + } + end + local flags = state.reflection.flags + local clone_method = state.reflection.clone_method + local empty_args = state.reflection.empty_args + local invoke_flags = state.reflection.invoke_flags + local function clone(value) return clone_method:Invoke(value, invoke_flags, nil, empty_args, nil) end + local function set_entry(sub, id) + -- Copy through a typed array so reflection receives a boxed + -- UInt32 rather than Lua's numeric type. The setter is private + -- and is not included in the generated Lua property wrapper. + local typed = CS.System.Array.CreateInstance(typeof(CS.System.UInt32), 1) + typed[0] = id + local args = CS.System.Array.CreateInstance(typeof(CS.System.Object), 1) + CS.System.Array.Copy(typed, args, 1) + sub:GetType():GetMethod('set_EntryID', flags):Invoke(sub, invoke_flags, nil, args, nil) + if sub.EntryID ~= id then error('EntryID backing field was not updated') end + end + local function apply_teleport_entry() + local sub = list.__gac_selected_variant or page.LuaTable._context.cur_sub_tab + local detail = regional._symbol_detail_panel + local teleport = detail and detail._map_teleport_detail_panel + if not sub or not teleport or teleport.entrance_id == nil then return end + for _, profile in ipairs(_G.__GAC_NAVIGATION_PROFILES) do + if sub.FloorID == profile.floor_id and + (sub.EntryID == profile.town_entry_id or sub.EntryID == profile.story_entry_id) then + if teleport.entrance_id ~= sub.EntryID then + CS.UnityEngine.Debug.Log('[GaC Navigation] Teleport entry '..teleport.entrance_id..' -> '..sub.EntryID) + teleport.entrance_id = sub.EntryID + end + return + end + end + end + local function select_profile(tab) + if not tab then return end + local sub = tab:GetSubTabByIndex(0) + if not sub then return end + for _, profile in ipairs(_G.__GAC_NAVIGATION_PROFILES) do + if sub.FloorID == profile.floor_id then + local id = tab.ID == profile.story_entry_id and profile.story_entry_id or profile.town_entry_id + set_entry(sub, id) + -- Native selection normalizes tabs by FloorID. Restore + -- the selected variant after that callback, so the + -- symbol/teleport panel receives its real EntryID. + page.LuaTable._context.cur_sub_tab = sub + regional._context.cur_sub_tab = sub + regional._cur_sub_tab = sub + list._selected_sub_tab = sub + list.__gac_selected_variant = sub + apply_teleport_entry() + CS.UnityEngine.Debug.Log('[GaC Navigation] Selected entry='..id..' floor='..sub.FloorID) + return + end + end + list.__gac_selected_variant = nil + end + for _, profile in ipairs(_G.__GAC_NAVIGATION_PROFILES) do + local current = installed[profile.floor_id] + if current then + current.id = profile.story_entry_id + current.label = profile.story_label + local found = false + for _, tab in ipairs(list._tabs) do + if tab.ID == profile.story_entry_id then found = true; break end + end + if not found then installed[profile.floor_id] = nil end + end + if not installed[profile.floor_id] then + for index, tab in ipairs(list._tabs) do + if not tab.IsComposedTab and tab.ID ~= profile.story_entry_id then + local sub = tab:GetSubTabByIndex(0) + if sub and sub.FloorID == profile.floor_id then + local row_field = tab:GetType():GetField('_Row', flags) + if not row_field then return end + state.step = 'clone tab' + local story = clone(tab) + state.step = 'clone subtab' + local story_sub = clone(sub) + state.step = 'clone row' + local story_row = clone(row_field:GetValue(tab)) + -- Distinct local list identity, derived from the real entrance. + -- This does not register a new game floor or entrance. + state.step = 'set row' + story_row.ID = profile.story_entry_id + row_field:SetValue(story, story_row) + set_entry(story_sub, profile.story_entry_id) + story_sub:GetType():GetField('k__BackingField', flags):SetValue(story_sub, story) + story:GetType():GetField('SubTabData', flags):SetValue(story, story_sub) + set_entry(sub, profile.town_entry_id) + table.insert(list._tabs, index + 1, story) + if regional._all_tabs ~= list._tabs then + for i, candidate in ipairs(regional._all_tabs or {}) do + if candidate == tab then table.insert(regional._all_tabs, i + 1, story); break end + end + end + installed[profile.floor_id] = { tab = story, id = profile.story_entry_id, label = profile.story_label } + state.step = 'refresh list' + list:refresh_map_area_list() + CS.UnityEngine.Debug.Log('[GaC Navigation] Added Story option for floor ' .. profile.floor_id) + break + end + end + end + end + end + local reordered = false + for _, profile in ipairs(_G.__GAC_NAVIGATION_PROFILES) do + local town_index, story_index + for i, tab in ipairs(list._tabs) do + local sub = tab:GetSubTabByIndex(0) + if sub and sub.FloorID == profile.floor_id then + if tab.ID == profile.story_entry_id then story_index = i else town_index = i end + end + end + if town_index and story_index and story_index ~= town_index + 1 then + local story = table.remove(list._tabs, story_index) + if story_index < town_index then town_index = town_index - 1 end + table.insert(list._tabs, town_index + 1, story) + reordered = true + end + end + if reordered then list:refresh_map_area_list() end + local selected_variant = list.__gac_selected_variant + local current_sub = page.LuaTable._context.cur_sub_tab + if selected_variant and current_sub and current_sub.FloorID == selected_variant.FloorID then + page.LuaTable._context.cur_sub_tab = selected_variant + regional._context.cur_sub_tab = selected_variant + regional._cur_sub_tab = selected_variant + list._selected_sub_tab = selected_variant + end + local detail = regional._symbol_detail_panel + local teleport = detail and detail._map_teleport_detail_panel + if teleport and not teleport.__gac_navigation_transfer_hooked then + teleport.__gac_navigation_transfer_hooked = true + -- The native icon stores its own entrance_id. Synchronize it + -- after view setup and immediately before either transfer path; + -- changing the selected SubTabData alone does not update it. + for _, method in ipairs({'_setup_teleport_view', '_on_btn_transfer_click', '_on_teleport_btn_transfer_click'}) do + local original = teleport[method] + if type(original) == 'function' then + if method == '_setup_teleport_view' then + teleport[method] = function(...) + local result = original(...) + apply_teleport_entry() + return result + end + else + teleport[method] = function(...) + apply_teleport_entry() + return original(...) + end + end + end + end + end + apply_teleport_entry() + -- LoopListView recycles rows. Set the label only on the row bound to + -- our Story object, after the Client has refreshed its localized title. + for _, child in ipairs(list._children or {}) do + if child._callback and (child._callback ~= child.__gac_navigation_callback or child.__gac_navigation_schema ~= 3) then + local row = child + if row._callback ~= row.__gac_navigation_callback then row.__gac_navigation_original = row._callback end + row.__gac_navigation_schema = 3 + row.__gac_navigation_callback = function(...) + local clicked_tab = row._tab + local result = row.__gac_navigation_original(...) + local selected, failure = pcall(select_profile, clicked_tab) + if not selected then CS.UnityEngine.Debug.Log('[GaC Navigation] Selection failed: '..tostring(failure)) end + return result + end + row._callback = row.__gac_navigation_callback + end + for _, item in pairs(installed) do + if child._tab and child._tab.ID == item.id and child._binder and not child._binder.is_destroyed then + if child._binder.text_title then + child._binder.text_title:SetSimpleText(item.label) + end + if child._binder.text_item_title then + child._binder.text_item_title:SetSimpleText(item.label) + end + end + end + if child._tab and child._binder and not child._binder.is_destroyed and _G.__GAC_NAVIGATION_CURRENT_ENTRY then + local sub = child._tab:GetSubTabByIndex(0) + if sub then + for _, profile in ipairs(_G.__GAC_NAVIGATION_PROFILES) do + if sub.FloorID == profile.floor_id and child._binder.node_player_mark then + local id = child._tab.ID == profile.story_entry_id and profile.story_entry_id or profile.town_entry_id + child._binder.node_player_mark.gameObject:SetActive(id == _G.__GAC_NAVIGATION_CURRENT_ENTRY) + if id == profile.town_entry_id then + if child._binder.text_title then child._binder.text_title:SetTextID(child._tab.Name) end + if child._binder.text_item_title then child._binder.text_item_title:SetTextID(child._tab.Name) end + end + end + end + end + end + end + end) + local failure = tostring(state.step) .. ': ' .. tostring(err) + if not ok and state.last_error ~= failure then + state.last_error = failure + CS.UnityEngine.Debug.Log('[GaC Navigation] ' .. failure) + end + if not ok then state.next_check = now + 5 end + end +end + +if not _G.__GAC_NAVIGATION_REGISTERED then + local ok = pcall(function() + CS.UnityEngine.Application.onBeforeRender('+', function() + if _G.__GAC_NAVIGATION_TICK then _G.__GAC_NAVIGATION_TICK() end + end) + end) + _G.__GAC_NAVIGATION_REGISTERED = ok +end +_G.__GAC_NAVIGATION_TICK() diff --git a/server.json b/server.json index 62afb29..c4b1774 100644 --- a/server.json +++ b/server.json @@ -1,5 +1,10 @@ { - "player_uid": 52010, + "activity_schedule": { + "begin_time": 0, + "end_time": 1924992000 + }, + "account_name": "GaCy", + "player_uid": 52022, "client_version": "4.6.53", "game_host": "0.0.0.0", "game_port": 23301, @@ -8,11 +13,22 @@ "public_game_host": "127.0.0.1", "public_sdk_url": "http://127.0.0.1:21000", "battle_diagnostics": { - "client_battle_type": "" + "client_battle_type": "", + "live_report_stale_seconds": 10 }, "launcher": { "client_path": "", "proxy_path": "", - "go_command": "go" + "go_command": "go", + "go_install": { + "enabled": true, + "directory": ".runtime/go-toolchains", + "manifest_url": "https://go.dev/dl/?mode=json", + "download_url": "https://go.dev/dl/" + } + }, + "srtool": { + "lease_file": ".runtime/srtool-session.json", + "lease_seconds": 30 } } diff --git a/tools/__pycache__/export_scene_metadata.cpython-314.pyc b/tools/__pycache__/export_scene_metadata.cpython-314.pyc new file mode 100644 index 0000000..8a03787 Binary files /dev/null and b/tools/__pycache__/export_scene_metadata.cpython-314.pyc differ diff --git a/tools/__pycache__/generate_inventory_item_config.cpython-314.pyc b/tools/__pycache__/generate_inventory_item_config.cpython-314.pyc new file mode 100644 index 0000000..8884d11 Binary files /dev/null and b/tools/__pycache__/generate_inventory_item_config.cpython-314.pyc differ diff --git a/tools/__pycache__/test_export_scene_metadata.cpython-314.pyc b/tools/__pycache__/test_export_scene_metadata.cpython-314.pyc new file mode 100644 index 0000000..00780cd Binary files /dev/null and b/tools/__pycache__/test_export_scene_metadata.cpython-314.pyc differ diff --git a/tools/archived-script-probes/peak_cycle_schema_probe.lua b/tools/archived-script-probes/peak_cycle_schema_probe.lua new file mode 100644 index 0000000..2d1a6a5 --- /dev/null +++ b/tools/archived-script-probes/peak_cycle_schema_probe.lua @@ -0,0 +1,30 @@ +-- Inspect only the named Peak module and configuration loader; no state writes. +do + local s=_G.__gacPeakCycleSchema1 or {phase=0,index=0};_G.__gacPeakCycleSchema1=s + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_CYCLE_SCHEMA] '..tostring(v))end + if s.phase<3 then + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if s.phase==0 then + local m=CS.RPG.Client.GlobalVars.s_ModuleManager.ChallengePeakModule + s.module=m;s.fields=m:GetType():GetFields(flags);log('MODULE '..tostring(m:GetType()));s.phase=1 + end + if s.phase==1 then + for i=s.index,math.min(s.index+15,s.fields.Length-1)do + local f=s.fields[i];log('FIELD '..f.Name..' '..tostring(f.FieldType)) + if not f.IsStatic and (f.Name:lower():find('cycle') or f.Name:lower():find('settle') or f.Name:lower():find('result')) then + local good,v=pcall(function()return f:GetValue(s.module)end);if good then log('VALUE '..f.Name..' '..tostring(v))end + end + end + s.index=s.index+16;if s.index>=s.fields.Length then s.phase=2;s.index=0;s.methods=typeof(CS.RPG.GameCore.GameCoreConfigLoader):GetMethods(flags)end + elseif s.phase==2 then + for i=s.index,math.min(s.index+127,s.methods.Length-1)do + local m=s.methods[i];if m.Name:find('ChallengePeak',1,true)then log('LOADER '..tostring(m))end + end + s.index=s.index+128;if s.index>=s.methods.Length then s.phase=3;log('END')end + end + end) + if not ok then s.phase=3;log('ERROR '..tostring(err))end + end +end + diff --git a/tools/archived-script-probes/peak_native_data_probe.lua b/tools/archived-script-probes/peak_native_data_probe.lua new file mode 100644 index 0000000..f13112a --- /dev/null +++ b/tools/archived-script-probes/peak_native_data_probe.lua @@ -0,0 +1,35 @@ +do + local s=_G.__gacPeakNativeData1 or {phase=1,index=0};_G.__gacPeakNativeData1=s + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_NATIVE_DATA] '..tostring(v))end + if s.phase<=3 then + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if s.phase==1 then + local obj=CS.RPG.Client.GlobalVars.s_ModuleManager.BattleModule.LastBattleStatistic + local methods=obj:GetType():GetMethods(flags) + for i=s.index,math.min(s.index+31,methods.Length-1)do log('STATS_METHOD '..tostring(methods[i]))end + s.index=s.index+32;if s.index>=methods.Length then s.phase=2;s.index=0 end + elseif s.phase==2 then + if not s.obj then + s.obj=CS.RPG.Client.GlobalVars.s_ModuleManager.ChallengePeakModule:GetChallengePeakBoss(104) + s.type=s.obj:GetType();s.fields=s.type:GetFields(flags);log('PEAK_TYPE '..tostring(s.type)) + end + for i=s.index,math.min(s.index+15,s.fields.Length-1)do + local f=s.fields[i];log('PEAK_FIELD '..f.Name..' '..tostring(f.FieldType)) + if not f.IsStatic and (f.Name:lower():find('target')or f.FieldType.IsPrimitive)then + local good,v=pcall(function()return f:GetValue(s.obj)end);if good then log('PEAK_VALUE '..f.Name..' '..tostring(v))end + end + end + s.index=s.index+16;if s.index>=s.fields.Length then + if s.type.BaseType and s.type.BaseType.Name=='ChallengePeak' then s.type=s.type.BaseType;s.fields=s.type:GetFields(flags);s.index=0;log('PEAK_BASE '..tostring(s.type))else s.phase=3;s.index=0 end + end + else + local t=typeof(CS.RPG.GameCore.ChallengePeakTargetConfigRow) + local fields=t:GetFields(flags);for i=0,math.min(fields.Length-1,23)do log('TARGET_FIELD '..fields[i].Name..' '..tostring(fields[i].FieldType))end + s.phase=4;log('END') + end + end) + if not ok then s.phase=4;log('ERROR '..tostring(err))end + end +end + diff --git a/tools/archived-script-probes/peak_target_rows_probe.lua b/tools/archived-script-probes/peak_target_rows_probe.lua new file mode 100644 index 0000000..5cf9363 --- /dev/null +++ b/tools/archived-script-probes/peak_target_rows_probe.lua @@ -0,0 +1,17 @@ +do + if not _G.__gacPeakTargetRows1 then + _G.__gacPeakTargetRows1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_TARGET_ROWS] '..tostring(v))end + local ok,err=pcall(function() + local ids={3000,3001,3002,3003,3004,3005,3007} + for _,id in ipairs(ids)do + local row=CS.RPG.GameCore.BattleTargetExcelTable.dataDict[id] + if row==nil then error('Missing BattleTarget '..id)end + log('ROW '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row)) + end + log('END') + end) + if not ok then log('ERROR '..tostring(err))end + end +end + diff --git a/tools/archived-script-probes/peak_targets_probe.lua b/tools/archived-script-probes/peak_targets_probe.lua new file mode 100644 index 0000000..4f35ee0 --- /dev/null +++ b/tools/archived-script-probes/peak_targets_probe.lua @@ -0,0 +1,24 @@ +do + if not _G.__gacPeakTargetsExport1 then + _G.__gacPeakTargetsExport1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_TARGETS] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local obj=CS.RPG.Client.GlobalVars.s_ModuleManager.ChallengePeakModule:GetChallengePeakBoss(104) + for _,name in ipairs({'_Meta','_BossMeta'})do + local f=obj:GetType():GetField(name,flags);if f then log('META '..name..' '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(f:GetValue(obj)))end + end + local targets=obj:GetType():GetField('_Targets',flags):GetValue(obj) + log('COUNT '..targets.Count) + for i=0,math.min(targets.Count-1,15)do + local target=targets[i];local fields=target:GetType():GetFields(flags) + for j=0,fields.Length-1 do + local f=fields[j];log('FIELD '..f.Name..' '..tostring(f.FieldType)) + if f.Name:find('Meta')then log('ROW '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(f:GetValue(target)))end + end + end + end) + if not ok then log('ERROR '..tostring(err))end + end +end + diff --git a/tools/cw_active_season_probe.lua b/tools/cw_active_season_probe.lua new file mode 100644 index 0000000..6e6c365 --- /dev/null +++ b/tools/cw_active_season_probe.lua @@ -0,0 +1,38 @@ +-- Read-only active-season lookup from the native named constant table. +do + if not _G.__gacCwActiveSeason1 then + _G.__gacCwActiveSeason1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_ACTIVE] '..tostring(v))end + local ok,err=pcall(function() + local constants=CS.RPG.GameCore.ConstValueCommonExcelTable + local seasonID=constants.GetData('GridFight_Season_ID').Value.IntValue + local subSeasonID=constants.GetData('GridFight_Sub_Season_ID').Value.IntValue + log('IDS '..seasonID..' '..subSeasonID) + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule + local season=module:GetSeason(seasonID,subSeasonID) + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local invoke=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),0) + local args=CS.System.Array.CreateInstance(typeof(CS.System.Object),0) + local row=season:GetType():GetMethod('get__Meta',flags):Invoke(season,invoke,nil,args,nil) + log('SEASON_ROW '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row)) + local configs=season.SeasonDivision.SeasonDivisionConfigs + log('DIVISIONS '..configs.Count) + _G.__gacCwActiveDivisionExport={configs=configs,index=0} + end) + if not ok then log('ERROR '..tostring(err))end + end + local state=_G.__gacCwActiveDivisionExport + if state and not state.done then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_ACTIVE_DIVISIONS] '..tostring(v))end + local ok,err=pcall(function() + if state.index==0 then log('BEGIN count='..state.configs.Count)end + for i=state.index,math.min(state.index+7,state.configs.Count-1)do + local row=state.configs[i] + log('ROW {"ID":'..row.ID..',"SeasonID":'..row.SeasonID..',"DivisionLevel":'..row.DivisionLevel..',"Progress":'..row.Progress..',"IsPromotion":'..tostring(row.IsPromotion)..'}') + end + state.index=state.index+8 + if state.index>=state.configs.Count then log('END');state.done=true end + end) + if not ok then log('ERROR '..tostring(err));state.done=true end + end +end diff --git a/tools/cw_active_stage_difficulty.lua b/tools/cw_active_stage_difficulty.lua new file mode 100644 index 0000000..61e5105 --- /dev/null +++ b/tools/cw_active_stage_difficulty.lua @@ -0,0 +1,23 @@ +-- Read the active stage's flat Excel row, not its scene/level graph. +do + if _G.__gacCwActiveStageRow2 then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_ACTIVE_STAGE_ROW] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local session=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule.CurGameSession + if not session then return end + local fields=session:GetType():GetFields(flags) + for i=0,math.min(fields.Length-1,63)do + local field=fields[i] + if field.FieldType.FullName=='RPG.Client.GridFightStage'then + local stage=field:GetValue(session);if not stage or not stage.CurNode then return end + local id=stage.CurNode.StageID + local row=CS.RPG.GameCore.StageExcelTable.GetData(id) + local text=tostring(CS.Newtonsoft.Json.JsonConvert.SerializeObject(row)) + if #text>32768 then error('Stage row exceeds capture bound')end + log('DIFFICULTY base='..stage:GetBaseDiffAddLv()..' all='..stage:GetAllDiffAddLv()..' current='..stage:GetCurrentMonsterDiffAddLv());log('ROW '..id..' '..text);_G.__gacCwActiveStageRow2=true;return + end + end + end) + if not ok then log('ERROR '..tostring(err));_G.__gacCwActiveStageRow2=true end +end diff --git a/tools/cw_active_stage_row.lua b/tools/cw_active_stage_row.lua new file mode 100644 index 0000000..4f2de29 --- /dev/null +++ b/tools/cw_active_stage_row.lua @@ -0,0 +1,23 @@ +-- Read the active stage's flat Excel row, not its scene/level graph. +do + if _G.__gacCwActiveStageRow1 then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_ACTIVE_STAGE_ROW] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local session=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule.CurGameSession + if not session then return end + local fields=session:GetType():GetFields(flags) + for i=0,math.min(fields.Length-1,63)do + local field=fields[i] + if field.FieldType.FullName=='RPG.Client.GridFightStage'then + local stage=field:GetValue(session);if not stage or not stage.CurNode then return end + local id=stage.CurNode.StageID + local row=CS.RPG.GameCore.StageExcelTable.GetData(id) + local text=tostring(CS.Newtonsoft.Json.JsonConvert.SerializeObject(row)) + if #text>32768 then error('Stage row exceeds capture bound')end + log('ROW '..id..' '..text);_G.__gacCwActiveStageRow1=true;return + end + end + end) + if not ok then log('ERROR '..tostring(err));_G.__gacCwActiveStageRow1=true end +end diff --git a/tools/cw_augments_export.lua b/tools/cw_augments_export.lua new file mode 100644 index 0000000..b7fcb25 --- /dev/null +++ b/tools/cw_augments_export.lua @@ -0,0 +1,25 @@ +-- Read existing augment wrappers; one row per heartbeat, no gameplay mutations. +do + _G.__gacCwAugmentsExport1=_G.__gacCwAugmentsExport1 or {index=0} + local s=_G.__gacCwAugmentsExport1;if s.done then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_AUGMENTS] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if not s.rows then s.rows=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule:GetHandBookAllAugmentItemData();if s.rows.Count>1024 then error('augment capture bound exceeded')end;log('BEGIN count='..s.rows.Count)end + for batch=1,4 do + if s.index>=s.rows.Count then s.done=true;log('END');return end + local wrapper=s.rows[s.index];local t=wrapper:GetType();local row=nil + for depth=1,4 do + if not t then break end + local fs=t:GetFields(flags) + for j=0,math.min(fs.Length-1,47)do if fs[j].FieldType.FullName=='RPG.GameCore.GridFightAugmentConfigRow' then row=fs[j]:GetValue(wrapper);break end end + if row then break end;t=t.BaseType + end + if not row then error('augment wrapper row unavailable')end + local text=CS.Newtonsoft.Json.JsonConvert.SerializeObject(row);if #text>32768 then error('augment row exceeds capture bound')end + log('ROW '..text);s.index=s.index+1 + end + end) + if not ok then log('ERROR '..tostring(err));s.done=true end +end + diff --git a/tools/cw_bootstrap_status.lua b/tools/cw_bootstrap_status.lua new file mode 100644 index 0000000..b1b398f --- /dev/null +++ b/tools/cw_bootstrap_status.lua @@ -0,0 +1,15 @@ +-- Read the initialized CW entry state once, without requesting or changing it. +do + if not _G.__gacCwBootstrapStatus1 then + _G.__gacCwBootstrapStatus1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_BOOTSTRAP] '..tostring(v))end + local ok,err=pcall(function() + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule + log('SEASON '..module.SeasonID..' SUBSEASON '..module.SubSeasonID) + log('DIVISION '..module.DivisionInfo.CurDivisionID) + log('CUR_GAME '..tostring(module.CurGameSession)) + log('EXP_LINE '..tostring(module.ExpLineRewardData)) + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/cw_camp_schema.lua b/tools/cw_camp_schema.lua new file mode 100644 index 0000000..7adbd34 --- /dev/null +++ b/tools/cw_camp_schema.lua @@ -0,0 +1,23 @@ +-- Existing handbook wrapper metadata only, one inheritance level per heartbeat. +do + local s=_G.__gacCwCampSchema1 or {};_G.__gacCwCampSchema1=s + if s.done then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_CAMP_SCHEMA] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + if not s.initialized then + local rows=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule:GetAllMonsterCampData() + if not rows or rows.Count==0 then return end + log('COUNT '..rows.Count);s.type=rows[0]:GetType();s.depth=0;s.initialized=true + end + local t=s.type;if not t or s.depth>=4 then s.done=true;log('END');return end + log('TYPE '..t.FullName) + local fs=t:GetFields(flags);for i=0,math.min(fs.Length-1,47)do log('FIELD '..tostring(fs[i]))end + local ps=t:GetProperties(flags);for i=0,math.min(ps.Length-1,47)do log('PROPERTY '..tostring(ps[i]))end + s.type=t.BaseType;s.depth=s.depth+1 + end) + if not ok then log('ERROR '..tostring(err));s.done=true end +end diff --git a/tools/cw_client_probe.lua b/tools/cw_client_probe.lua new file mode 100644 index 0000000..1440f5d --- /dev/null +++ b/tools/cw_client_probe.lua @@ -0,0 +1,32 @@ +-- Read-only CW discovery. Copy into scripts/ only for one capture, then remove. +-- Restrict reflection to ModuleManager and the matching GridFight module. +do + if not _G.__gacCwDiscovery1 then + _G.__gacCwDiscovery1=true + local function log(v) CS.UnityEngine.Debug.Log('[GAC_CW_DISCOVERY] '..tostring(v)) end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_ModuleManager + local fields=manager:GetType():GetFields(flags) + for i=0,fields.Length-1 do + local f=fields[i] + if tostring(f.Name):find('GridFight') or tostring(f.FieldType):find('GridFight') then + log('MODULE '..tostring(f)) + local module=f:GetValue(manager) + if module then + local t=module:GetType() + local fs=t:GetFields(flags) + for j=0,math.min(fs.Length-1,100) do log('FIELD '..tostring(fs[j])) end + local ms=t:GetMethods(flags) + for j=0,math.min(ms.Length-1,180) do + local m=ms[j] + if m.DeclaringType==t then log('METHOD '..tostring(m)) end + end + end + end + end + log('DONE') + end) + if not ok then log('ERROR '..tostring(err)) end + end +end diff --git a/tools/cw_components_probe.lua b/tools/cw_components_probe.lua new file mode 100644 index 0000000..f872d11 --- /dev/null +++ b/tools/cw_components_probe.lua @@ -0,0 +1,18 @@ +-- One named CW component per heartbeat, metadata only. +do + local names={'GridFightDivisionLevelConfig','GridFightDivisionStageConfig','GridFightRoleShop','GridFightStage','GridFightPlayer'} + _G.__gacCwComponents=_G.__gacCwComponents or 1 + local index=_G.__gacCwComponents + if index<=#names then + _G.__gacCwComponents=index+1 + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_COMPONENT] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local t=typeof(CS.RPG.Client[names[index]]) + log('TYPE '..tostring(t)) + local fs=t:GetFields(flags);for i=0,fs.Length-1 do log('FIELD '..tostring(fs[i]))end + local ms=t:GetMethods(flags);for i=0,ms.Length-1 do if ms[i].DeclaringType==t then log('METHOD '..tostring(ms[i]))end end + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/cw_config_constructor_probe.lua b/tools/cw_config_constructor_probe.lua new file mode 100644 index 0000000..4dac254 --- /dev/null +++ b/tools/cw_config_constructor_probe.lua @@ -0,0 +1,19 @@ +-- Named constructors and one known method token; no instances are created. +do + if not _G.__gacCwConfigConstructor1 then + _G.__gacCwConfigConstructor1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_CONFIG_CTOR] '..tostring(v))end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local names={'GridFightRoleConfig','GridFightStageRoute','GridFightStageNode','GridFightPlayer'} + for _,name in ipairs(names)do + local t=typeof(CS.RPG.Client[name]) + local constructors=t:GetConstructors(flags) + for i=0,constructors.Length-1 do log('CTOR '..name..' '..tostring(constructors[i])..' TOKEN '..constructors[i].MetadataToken)end + end + local ok,value=pcall(function() + local token=101276529 -- Previously captured GridFightModule.GetSeason token. + return typeof(CS.RPG.Client.GridFightModule).Module:ResolveMethod(token) + end) + log('RESOLVE_KNOWN '..tostring(ok)..' '..tostring(value)) + end +end diff --git a/tools/cw_config_probe.lua b/tools/cw_config_probe.lua new file mode 100644 index 0000000..ef35718 --- /dev/null +++ b/tools/cw_config_probe.lua @@ -0,0 +1,23 @@ +-- Read-only named CW table discovery, one type per heartbeat. +do + local names={'GridFightSeasonModuleConfigRow','GridFightDivisionConfigRow','GridFightDivisionLevelConfigRow','GridFightTutorialStageConfigRow','GridFightRoleConfigRow','GridFightShopLevelConfigRow','GridFightConstValueRow'} + _G.__gacCwConfigIndex=_G.__gacCwConfigIndex or 1 + local index=_G.__gacCwConfigIndex + if index<=#names then + _G.__gacCwConfigIndex=index+1 + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_CONFIG] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local t=typeof(CS.RPG.GameCore[names[index]]) + log('TYPE '..tostring(t)) + local fields=t:GetFields(flags) + for i=0,fields.Length-1 do log('FIELD '..tostring(fields[i]))end + local methods=t:GetMethods(flags) + for i=0,methods.Length-1 do + local m=methods[i] + if m.DeclaringType==t then log('METHOD '..tostring(m)) end + end + end) + if not ok then log('ERROR '..names[index]..' '..tostring(err))end + end +end diff --git a/tools/cw_config_provider_probe.lua b/tools/cw_config_provider_probe.lua new file mode 100644 index 0000000..64a9faf --- /dev/null +++ b/tools/cw_config_provider_probe.lua @@ -0,0 +1,28 @@ +-- Follow only the known CW wrapper's registered configuration delegate. +-- One delegate's metadata per heartbeat; no delegate or graph is invoked. +do + local names={'GridFightTutorialStageConfig','GridFightDivisionStageConfig'} + _G.__gacCwConfigProvider1=_G.__gacCwConfigProvider1 or 1 + local n=_G.__gacCwConfigProvider1 + if n<=#names then + _G.__gacCwConfigProvider1=n+1 + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_PROVIDER] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local wrapper=typeof(CS.RPG.Client[names[n]]) + local callback=wrapper:GetField('GetConfigImpl',flags):GetValue(nil) + local method=callback.Method + log('DELEGATE '..names[n]..' '..tostring(method)..' TOKEN '..method.MetadataToken) + local owner=method.DeclaringType + log('OWNER '..owner.FullName..' ASSEMBLY '..owner.Assembly.FullName) + local fs=owner:GetFields(flags) + for i=0,math.min(fs.Length-1,47)do log('FIELD '..tostring(fs[i]))end + local ms=owner:GetMethods(flags) + for i=0,math.min(ms.Length-1,47)do + if ms[i].DeclaringType==owner then log('METHOD '..tostring(ms[i]))end + end + end) + if not ok then log('ERROR '..tostring(err))end + if n==#names then log('END')end + end +end diff --git a/tools/cw_config_table_probe.lua b/tools/cw_config_table_probe.lua new file mode 100644 index 0000000..f4504f6 --- /dev/null +++ b/tools/cw_config_table_probe.lua @@ -0,0 +1,24 @@ +-- Exact table names inferred from captured *ConfigRow names and the existing +-- GameCore *ExcelTable naming convention. At most one named type per heartbeat. +do + local names={'GridFightSeasonModuleConfigExcelTable','GridFightRoleConfigExcelTable','GridFightStageRouteConfigExcelTable','GridFightPlayerLevelConfigExcelTable'} + _G.__gacCwConfigTables2=_G.__gacCwConfigTables2 or 1 + local index=_G.__gacCwConfigTables2 + if index<=#names then + _G.__gacCwConfigTables2=index+1 + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_CONFIG_TABLE] '..tostring(v))end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local assembly=typeof(CS.RPG.GameCore.GridFightRoleConfigRow).Assembly + if index==1 then log('ROW_ASSEMBLY '..tostring(assembly));log('MODULE_ASSEMBLY '..tostring(typeof(CS.RPG.Client.GridFightModule).Assembly))end + local t=assembly:GetType('RPG.GameCore.'..names[index]) + log('TYPE '..names[index]..' '..tostring(t)) + if t then + local methods=t:GetMethods(flags) + for i=0,math.min(methods.Length-1,31)do + if methods[i].DeclaringType==t then log('METHOD '..tostring(methods[i]))end + end + local fields=t:GetFields(flags) + for i=0,math.min(fields.Length-1,31)do log('FIELD '..tostring(fields[i]))end + end + end +end diff --git a/tools/cw_constants_export.lua b/tools/cw_constants_export.lua new file mode 100644 index 0000000..6c11e05 --- /dev/null +++ b/tools/cw_constants_export.lua @@ -0,0 +1,22 @@ +-- Read only named constant tables, bounded to 64 rows per heartbeat. +do + _G.__gacCwConstants=_G.__gacCwConstants or {tableIndex=1} + local state=_G.__gacCwConstants + local tables={'ConstValueCommonExcelTable','ConstValueClientExcelTable'} + if state.tableIndex<=#tables then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_CONSTANT] '..tostring(v))end + local ok,err=pcall(function() + if not state.iterator then state.iterator=CS.RPG.GameCore[tables[state.tableIndex]].dataDict:GetEnumerator()end + for i=1,64 do + if not state.iterator:MoveNext()then + log('END '..tables[state.tableIndex]);state.iterator=nil;state.tableIndex=state.tableIndex+1;return + end + local row=state.iterator.Current.Value + if tostring(row.ConstValueName):lower():find('gridfight') then + log('ROW '..tables[state.tableIndex]..' '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row)) + end + end + end) + if not ok then log('ERROR '..tostring(err));state.iterator=nil;state.tableIndex=state.tableIndex+1 end + end +end diff --git a/tools/cw_cycle_reward_probe.lua b/tools/cw_cycle_reward_probe.lua new file mode 100644 index 0000000..5a42286 --- /dev/null +++ b/tools/cw_cycle_reward_probe.lua @@ -0,0 +1,25 @@ +-- Named shared score-reward state used by the CW points timer. +do + if not _G.__gacCwCycleReward1 then + _G.__gacCwCycleReward1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_CYCLE_REWARD] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + for _,name in ipairs({'GridfightExpLineRewardData'})do + local t=typeof(CS.RPG.Client[name]) + log('TYPE '..tostring(t)) + local fields=t:GetFields(flags) + for i=0,fields.Length-1 do log('FIELD '..tostring(fields[i]))end + local methods=t:GetMethods(flags) + for i=0,math.min(methods.Length-1,63)do + local m=methods[i] + if m.DeclaringType==t then log('METHOD '..tostring(m)..' TOKEN '..m.MetadataToken)end + end + end + local t=typeof(CS.GAAMBBFPCHB) + local ps=t:GetProperties(flags) + for i=0,ps.Length-1 do log('WIRE_PROPERTY '..tostring(ps[i]))end + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/cw_division_run_rows.lua b/tools/cw_division_run_rows.lua new file mode 100644 index 0000000..12b6e66 --- /dev/null +++ b/tools/cw_division_run_rows.lua @@ -0,0 +1,54 @@ +-- Capture existing division stage/level rows only; no constructors or loaders. +-- At most two dictionary rows per heartbeat and no work during Battle. +do + _G.__gacCwDivisionRows1=_G.__gacCwDivisionRows1 or {table=1,index=0} + local s=_G.__gacCwDivisionRows1 + if s.done then return end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + local names={'DivisionStageConfigs','DivisionLevelConfigs'} + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_DIVISION_ROWS] '..tostring(v))end + local ok,err=pcall(function() + if not s.iterator then + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule + local rows=module[names[s.table]] + if rows.Count>1024 then error('Division row count exceeds bound')end + s.iterator=rows:GetEnumerator();s.count=0;s.expected=rows.Count + log('BEGIN '..names[s.table]..' count='..rows.Count) + end + for batch=1,2 do + if not s.iterator:MoveNext()then + if s.count~=s.expected then error('Division table changed during capture')end + log('END '..names[s.table]..' count='..s.count) + s.iterator=nil;s.table=s.table+1 + if s.table>#names then s.done=true;log('END')end + return + end + local row=s.iterator.Current.Value + local t=row:GetType() + local fields=t:GetFields(flags) + if s.count==0 then + log('TYPE '..t.FullName) + for i=0,math.min(fields.Length-1,47)do log('FIELD '..tostring(fields[i]))end + end + local captured=0 + for i=0,math.min(fields.Length-1,47)do + local f=fields[i] + if not f.IsStatic and f.FieldType.FullName:find('RPG.GameCore.',1,true)==1 then + local value=f:GetValue(row) + if value then + local encoded=CS.Newtonsoft.Json.JsonConvert.SerializeObject(value) + if #encoded>65536 then error('Raw division row exceeds output bound')end + log('ROW '..names[s.table]..' '..f.FieldType.FullName..' '..encoded) + captured=captured+1 + end + end + end + if captured==0 then log('NO_ROW '..names[s.table]..' '..s.count)end + s.count=s.count+1 + end + end) + if not ok then s.done=true;s.iterator=nil;log('ERROR '..tostring(err))end +end diff --git a/tools/cw_divisions_export.lua b/tools/cw_divisions_export.lua new file mode 100644 index 0000000..0695a2a --- /dev/null +++ b/tools/cw_divisions_export.lua @@ -0,0 +1,23 @@ +-- Export already loaded native CW division configs, eight rows per heartbeat. +do + _G.__gacCwDivisions=_G.__gacCwDivisions or {index=0} + local state=_G.__gacCwDivisions + if not state.done then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_DIVISIONS] '..tostring(v))end + local ok,err=pcall(function() + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local first=typeof(CS.RPG.Client.GridFightModule):GetField('FirstSeasonID',flags):GetValue(nil) + local season=module:GetSeason(first,nil) + local configs=season.SeasonDivision.SeasonDivisionConfigs + if state.index==0 then log('BEGIN count='..configs.Count)end + for i=state.index,math.min(state.index+7,configs.Count-1) do + local row=configs[i] + log('ROW {"ID":'..row.ID..',"SeasonID":'..row.SeasonID..',"DivisionLevel":'..row.DivisionLevel..',"Progress":'..row.Progress..',"IsPromotion":'..tostring(row.IsPromotion)..'}') + end + state.index=state.index+8 + if state.index>=configs.Count then state.done=true;log('END')end + end) + if not ok then log('ERROR '..tostring(err));state.done=true end + end +end diff --git a/tools/cw_entrance_resources_probe.lua b/tools/cw_entrance_resources_probe.lua new file mode 100644 index 0000000..4da406d --- /dev/null +++ b/tools/cw_entrance_resources_probe.lua @@ -0,0 +1,36 @@ +-- Substitute __ENTRANCE_ROW__ from the matching exported MapEntrance row. +-- Read RuntimeFloor/RuntimeGroup data, never load or execute a level graph. +do + local input=__ENTRANCE_ROW__ + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_ENTRANCE_RES] '..tostring(v))end + if not _G.__gacCwEntranceRes1 then + _G.__gacCwEntranceRes1=true + local ok,err=pcall(function() + local nativeID=CS.RPG.GameCore.ConstValueCommonExcelTable.GetData('GridFight_EntranceID').Value.IntValue + if nativeID~=input.ID then error('Entrance row differs from native CW constant')end + local floor=CS.RPG.GameCore.GameCoreConfigLoader.LoadRtLevelFloorInfo(CS.RPG.Client.MapDef.GetRtFloorInfoPath(input.PlaneID,input.FloorID)) + log('BEGIN entry='..input.ID..' groups='..floor.GroupInstanceList.Length..' start_group='..input.StartGroupID..' anchor='..input.StartAnchorID) + _G.__gacCwEntranceResRows={floor=floor,index=0} + end) + if not ok then log('ERROR '..tostring(err))end + end + local state=_G.__gacCwEntranceResRows + if state and not state.done then + local ok,err=pcall(function() + local floor=state.floor + for i=state.index,math.min(state.index+15,floor.GroupInstanceList.Length-1)do + local g=floor.GroupInstanceList[i] + local c=floor.GroupInstanceCommonMap[g.ID] + log('GROUP '..g.ID..' path='..tostring(g.GroupPath)..' deleted='..tostring(g.IsDelete)..' common_deleted='..tostring(c and c.IsDelete)..' side='..tostring(c and c.LoadSide)) + if g.ID==input.StartGroupID then + log('START_TRANSFORM '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(g)) + local r=CS.RPG.GameCore.GameCoreConfigLoader.LoadRtLevelGroupInfo(g.GroupPath) + log('START_GROUP '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(r)) + end + end + state.index=state.index+16 + if state.index>=floor.GroupInstanceList.Length then log('END');state.done=true end + end) + if not ok then log('ERROR '..tostring(err));state.done=true end + end +end diff --git a/tools/cw_entry_handles.lua b/tools/cw_entry_handles.lua new file mode 100644 index 0000000..fa39c14 --- /dev/null +++ b/tools/cw_entry_handles.lua @@ -0,0 +1,24 @@ +-- Exact CW entry methods only, metadata in bounded batches; no game action. +do + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + _G.__gacCwEntryHandles20261020=_G.__gacCwEntryHandles20261020 or {index=0} + local s=_G.__gacCwEntryHandles20261020 + if s.done then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_ENTRY_HANDLE] '..tostring(v))end + local ok,err=pcall(function() + if not s.methods then s.methods=typeof(CS.RPG.Client.GridFightModule):GetMethods(flags)end + for i=s.index,math.min(s.index+23,s.methods.Length-1)do + local m=s.methods[i] + local n=m.Name:lower() + if n:find('startgame') or n:find('resumegame') or n:find('starttutorial') or n:find('preload') then + log('METHOD '..tostring(m)..' HANDLE '..tostring(m.MethodHandle.Value)) + end + end + s.index=s.index+24 + if s.index>=s.methods.Length then s.done=true;log('END')end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end +end diff --git a/tools/cw_entry_lua_export.lua b/tools/cw_entry_lua_export.lua new file mode 100644 index 0000000..018ad6c --- /dev/null +++ b/tools/cw_entry_lua_export.lua @@ -0,0 +1,38 @@ +-- Export bytecode of named, already-loaded Lua UI methods. No function calls. +do + local targets={ + {'Ui.GridFight.Entrance.S2.GridFightS2EntrancePage','_on_load'}, + {'Ui.GridFight.Entrance.S2.GridFightS2EntrancePage','_setup_view'}, + {'Ui.GridFight.Entrance.S2.GridFightS2EntrancePage','_try_show_tutorial'}, + {'Ui.GridFight.Entrance.S2.GridFightS2EntrancePage','_start_action'}, + } + _G.__gacCwEntryLuaExport1=_G.__gacCwEntryLuaExport1 or {index=1} + local state=_G.__gacCwEntryLuaExport1 + if state.index<=#targets then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_ENTRY_LUA] '..tostring(v))end + local target=targets[state.index] + local ok,err=pcall(function() + if not state.bytes then + local class=package.loaded[target[1]] + local fn=class and class[target[2]] + if type(fn)~='function' then error('Named UI method is not loaded')end + local data=string.dump(fn) + if #data>131072 then error('Bytecode exceeds export bound')end + state.bytes=data;state.offset=1 + log('BEGIN '..target[1]..'.'..target[2]..' bytes='..#data) + for i=1,16 do + local name,value=debug.getupvalue(fn,i) + if not name then break end + log('UPVALUE '..name..' '..type(value)) + end + end + local piece=state.bytes:sub(state.offset,state.offset+1023) + local hex={} + for i=1,#piece do hex[i]=string.format('%02x',piece:byte(i))end + log('HEX '..table.concat(hex)) + state.offset=state.offset+#piece + if state.offset>#state.bytes then log('END');state.bytes=nil;state.index=state.index+1 end + end) + if not ok then log('ERROR '..tostring(err));state.bytes=nil;state.index=state.index+1 end + end +end diff --git a/tools/cw_entry_predicates_probe.lua b/tools/cw_entry_predicates_probe.lua new file mode 100644 index 0000000..011bcda --- /dev/null +++ b/tools/cw_entry_predicates_probe.lua @@ -0,0 +1,13 @@ +-- Named read-only UI predicates. No Start/Open/Sync/Set method is invoked. +do + if not _G.__gacCwEntryPredicates1 then + _G.__gacCwEntryPredicates1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_ENTRY_PREDICATE] '..tostring(v))end + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule + for _,name in ipairs({'ShouldStartCurrentSeasonTutorial','IsFinishedTutorialThisSeason','ShouldLatestSeasonUIShowTutorialVersion','ShouldShowDivisionInfo'})do + local ok,value=pcall(function()return module[name](module)end) + log(name..' '..tostring(ok)..' '..tostring(value)) + end + log('LAST_TUTORIAL_SEASON '..module.PlayerProfile.LastTutorialFinishedSeasonID) + end +end diff --git a/tools/cw_entry_state_probe.lua b/tools/cw_entry_state_probe.lua new file mode 100644 index 0000000..d27f173 --- /dev/null +++ b/tools/cw_entry_state_probe.lua @@ -0,0 +1,30 @@ +-- Bounded read-only entry-state inspection. No UI calls or gameplay writes. +do + if not _G.__gacCwEntryState2 then + _G.__gacCwEntryState2=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_ENTRY_STATE] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule + local t=module:GetType() + for _,name in ipairs({'SeasonID','SubSeasonID','CurGame','PlayerProfile','TutorialStageConfigs'})do + local good,value=pcall(function()return module[name]end) + log('VALUE '..name..' '..tostring(good)..' '..tostring(value)) + end + local names={'CheckUnlock','ShouldStartCurrentSeasonTutorial','_ShouldStartFirstSeasonTutorial','IsFinishedTutorialThisSeason','_StartTutorialLevel','_GetTutorialProgressID','StartGame','_GetTutorialStageConfig'} + for _,name in ipairs(names)do + local m=t:GetMethod(name,flags) + log('METHOD '..tostring(m)..' TOKEN '..tostring(m and m.MetadataToken)) + end + local route=typeof(CS.RPG.Client.GridFightStageRoute) + local constructors=route:GetConstructors(flags) + for i=0,constructors.Length-1 do log('ROUTE_CTOR '..tostring(constructors[i])..' TOKEN '..constructors[i].MetadataToken)end + local methods=route:GetMethods(flags) + for i=0,math.min(methods.Length-1,31)do + local m=methods[i] + if m.DeclaringType==route then log('ROUTE_METHOD '..tostring(m)..' TOKEN '..m.MetadataToken)end + end + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/cw_entry_sync_handles.lua b/tools/cw_entry_sync_handles.lua new file mode 100644 index 0000000..dfaf3ec --- /dev/null +++ b/tools/cw_entry_sync_handles.lua @@ -0,0 +1,28 @@ +-- Named CW entry/sync targets only; metadata, no invocation or patching. +do + if _G.__gacCwEntrySyncHandles20261020 then return end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + _G.__gacCwEntrySyncHandles20261020=true + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_ENTRY_SYNC_HANDLE] '..tostring(v))end + local ok,err=pcall(function() + local a=typeof(CS.RPG.Client.GridFightModule).Assembly + local targets={ + {'RPG.Client.GridFightModule','_OnGridFightGetDataScRsp'}, + {'RPG.Client.GridFightModule','_SyncCurGame'}, + {'RPG.Client.GridFightGameSession','Sync'}, + {'RPG.Client.GridFightGameSession','_SyncInternal'}, + {'RPG.Client.GridFightModule','_OnGridFightSyncUpdateResultScNotify'}, + {'RPG.Client.GridFightRoleShop','Sync'}, + {'RPG.Client.GridFightModule','_RecoverOldSession'} + } + for _,item in ipairs(targets)do + local t=a:GetType(item[1]);local m=t and t:GetMethod(item[2],flags) + if m then log(item[1]..' '..item[2]..' '..tostring(m.MethodHandle.Value)..' '..tostring(m))else log('MISSING '..item[1]..' '..item[2])end + end + log('END') + end) + if not ok then log('ERROR '..tostring(err))end +end diff --git a/tools/cw_equipment_config_schema.lua b/tools/cw_equipment_config_schema.lua new file mode 100644 index 0000000..f31d3de --- /dev/null +++ b/tools/cw_equipment_config_schema.lua @@ -0,0 +1,23 @@ +-- Existing handbook wrapper metadata only, one inheritance level per heartbeat. +do + local s=_G.__gacCwEquipmentSchema2 or {};_G.__gacCwEquipmentSchema2=s + if s.done then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_EQUIP_CONFIG_SCHEMA] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + if not s.initialized then + local rows=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule:GetHandBookAllEquipItemData() + if not rows or rows.Count==0 then return end + log('COUNT '..rows.Count);local first=nil;for i=0,math.min(rows.Count-1,255)do if rows[i].IsEquipment then first=rows[i].EquipConfig;break end end;if not first then error('no initialized equipment wrapper')end;s.type=first:GetType();s.depth=0;s.initialized=true + end + local t=s.type;if not t or s.depth>=4 then s.done=true;log('END');return end + log('TYPE '..t.FullName) + local fs=t:GetFields(flags);for i=0,math.min(fs.Length-1,47)do log('FIELD '..tostring(fs[i]))end + local ps=t:GetProperties(flags);for i=0,math.min(ps.Length-1,47)do log('PROPERTY '..tostring(ps[i]))end + s.type=t.BaseType;s.depth=s.depth+1 + end) + if not ok then log('ERROR '..tostring(err));s.done=true end +end diff --git a/tools/cw_equipment_export.lua b/tools/cw_equipment_export.lua new file mode 100644 index 0000000..d706f22 --- /dev/null +++ b/tools/cw_equipment_export.lua @@ -0,0 +1,31 @@ +-- Four initialized handbook entries per heartbeat. Never runs in Battle. +do + local s=_G.__gacCwEquipmentExport1 or {index=0};_G.__gacCwEquipmentExport1=s + if s.done then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_EQUIPMENT] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + if not s.rows then + s.rows=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule:GetHandBookAllEquipItemData() + if not s.rows or s.rows.Count>1024 then error('handbook bound exceeded')end + log('BEGIN '..s.rows.Count) + end + local json=function(v)return tostring(CS.Newtonsoft.Json.JsonConvert.SerializeObject(v))end + for batch=1,4 do + if s.index>=s.rows.Count then s.done=true;log('END');return end + local wrapper=s.rows[s.index];s.index=s.index+1 + if wrapper.IsEquipment then + local c=wrapper.EquipConfig + local text='{"ItemID":'..c.ItemID..',"BaseItemID":'..c.BaseItemID..',"NeedEquipSlot":'..tostring(c.NeedEquipSlot)..',"EquipType":'..CS.System.Convert.ToUInt32(c.EquipType)..',"EquipCategory":'..CS.System.Convert.ToUInt32(c.EquipCategory)..',"EquipFunc":'..CS.System.Convert.ToUInt32(c.EquipFunc)..',"DressRule":'..CS.System.Convert.ToUInt32(c.DressRule)..',"AbilityName":'..json(c.AbilityName)..',"GeneralPropertyList":'..json(c.GeneralPropertyList)..',"AbilityParamList":'..json(c.AbilityParamList)..',"EquipFuncParamList":'..json(c.EquipFuncParamList)..',"DressRuleParamList":'..json(c.DressRuleParamList)..'}' + if #text>32768 then error('equipment row exceeds bound')end + log('ROW '..text) + else + log('OTHER '..s.index..' '..wrapper.ItemConfig:GetType().FullName) + end + end + end) + if not ok then log('ERROR '..tostring(err));s.done=true end +end diff --git a/tools/cw_equipment_schema.lua b/tools/cw_equipment_schema.lua new file mode 100644 index 0000000..2ee74cf --- /dev/null +++ b/tools/cw_equipment_schema.lua @@ -0,0 +1,20 @@ +-- Existing handbook wrapper metadata only, one inheritance level per heartbeat. +do + local s=_G.__gacCwEquipmentSchema1 or {};_G.__gacCwEquipmentSchema1=s + if s.done then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_EQUIP_SCHEMA] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if not s.initialized then + local rows=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule:GetHandBookAllEquipItemData() + if not rows or rows.Count==0 then return end + log('COUNT '..rows.Count);s.type=rows[0]:GetType();s.depth=0;s.initialized=true + end + local t=s.type;if not t or s.depth>=4 then s.done=true;log('END');return end + log('TYPE '..t.FullName) + local fs=t:GetFields(flags);for i=0,math.min(fs.Length-1,47)do log('FIELD '..tostring(fs[i]))end + local ps=t:GetProperties(flags);for i=0,math.min(ps.Length-1,47)do log('PROPERTY '..tostring(ps[i]))end + s.type=t.BaseType;s.depth=s.depth+1 + end) + if not ok then log('ERROR '..tostring(err));s.done=true end +end diff --git a/tools/cw_excel_export.lua b/tools/cw_excel_export.lua new file mode 100644 index 0000000..e2bb717 --- /dev/null +++ b/tools/cw_excel_export.lua @@ -0,0 +1,33 @@ +-- Read named Excel tables from the assembly that owns the captured Row type. +-- At most sixteen plain configuration rows per heartbeat; no graph loads. +do + local names={'GridFightStageRouteConfigExcelTable'} + _G.__gacCwExcelExport1=_G.__gacCwExcelExport1 or {table=1,count=0} + local state=_G.__gacCwExcelExport1 + if state.table<=#names then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_EXCEL] '..tostring(v))end + local ok,err=pcall(function() + if not state.iterator then + local assembly=typeof(CS.RPG.GameCore.GridFightRoleConfigRow).Assembly + local t=assembly:GetType('RPG.GameCore.'..names[state.table]) + if not t then error('Named table missing from Row assembly')end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local getter=t:GetProperty('dataDict',flags):GetGetMethod(true) + local rows=getter:Invoke(nil,CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),0),nil,CS.System.Array.CreateInstance(typeof(CS.System.Object),0),nil) + if rows.Count>20000 then error('Table exceeds capture bound')end + state.iterator=rows:GetEnumerator();state.expected=rows.Count;state.count=0 + log('BEGIN '..names[state.table]..' count='..rows.Count) + end + for i=1,16 do + if not state.iterator:MoveNext()then + if state.count~=state.expected then error('Table changed during capture')end + log('END '..names[state.table]..' count='..state.count) + state.iterator=nil;state.table=state.table+1;return + end + log('ROW '..names[state.table]..' '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(state.iterator.Current.Value)) + state.count=state.count+1 + end + end) + if not ok then log('ERROR '..names[state.table]..' '..tostring(err));state.iterator=nil;state.table=state.table+1 end + end +end diff --git a/tools/cw_firstplay_template_capture.lua b/tools/cw_firstplay_template_capture.lua new file mode 100644 index 0000000..b041007 --- /dev/null +++ b/tools/cw_firstplay_template_capture.lua @@ -0,0 +1,29 @@ +-- Read only the exact CW FirstPlay template through its typed config reader. +-- No level graph loader, task execution, session mutation or HTTP call. +do + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + _G.__gacCwFirstPlayTemplate20261020=_G.__gacCwFirstPlayTemplate20261020 or {index=1} + local s=_G.__gacCwFirstPlayTemplate20261020 + if s.done then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_FIRSTPLAY_TEMPLATE] '..tostring(v))end + local ok,err=pcall(function() + if not s.text then + local rule=CS.RPG.GameCore.ConstValueCommonExcelTable.GetData('GridFight_FirstPlay_JsonPath') + if not rule or not rule.Value.IsString then error('FirstPlay path is absent')end + local value=CS.RPG.GameCore.GameCoreConfigLoader.LoadGridFightStageTemplateConfig(rule.Value.StringValue) + if not value then error('Typed FirstPlay template reader returned nil')end + s.text=tostring(CS.Newtonsoft.Json.JsonConvert.SerializeObject(value)) + if #s.text>1048576 then error('FirstPlay template exceeds capture bound')end + log('BEGIN bytes='..#s.text) + end + if s.index>#s.text then s.done=true;s.text=nil;log('END');return end + local finish=math.min(s.index+4095,#s.text) + while finish<#s.text and string.byte(s.text,finish+1)>=128 and string.byte(s.text,finish+1)<192 do finish=finish-1 end + log('CHUNK '..s.index..' '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(s.text:sub(s.index,finish))) + s.index=finish+1 + end) + if not ok then s.done=true;s.text=nil;log('ERROR '..tostring(err))end +end diff --git a/tools/cw_gameplay_scalar_probe.lua b/tools/cw_gameplay_scalar_probe.lua new file mode 100644 index 0000000..b891c58 --- /dev/null +++ b/tools/cw_gameplay_scalar_probe.lua @@ -0,0 +1,51 @@ +-- Encode isolated protobuf objects to map obfuscated backing fields to tags. +-- No objects are synced into a game module or sent as network responses. +do + local names={'NIHNGPKHEPC','BEEFLEJAOCN','BCCIJHPLJOJ','OHMDHKGAEMM'} + _G.__gacCwGameplayScalar1=_G.__gacCwGameplayScalar1 or {index=1,field=0} + local state=_G.__gacCwGameplayScalar1 + if state.index<=#names then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_SCALAR_WIRE] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local t=typeof(CS[names[state.index]]) + local fields=t:GetFields(flags) + local count=0 + for i=state.field,fields.Length-1 do + state.field=i+1 + local f=fields[i] + if not f.IsStatic and f.FieldType==typeof(CS.System.UInt32) then + local obj=CS.System.Activator.CreateInstance(t) + local typed=CS.System.Array.CreateInstance(typeof(CS.System.UInt32),1);typed[0]=1 + local boxed=CS.System.Array.CreateInstance(typeof(CS.System.Object),2);boxed[0]=obj + CS.System.Array.Copy(typed,0,boxed,1,1) + local setters=f:GetType():GetMethods(flags) + local setter=nil + for j=0,setters.Length-1 do + if setters[j].Name=='SetValue' and setters[j]:GetParameters().Length==2 then setter=setters[j];break end + end + if not setter then error('FieldInfo.SetValue overload missing')end + local invoke=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),0) + setter:Invoke(f,invoke,nil,boxed,nil) + local bytes=CS.Google.Protobuf.MessageExtensions.ToByteArray(obj) + log('FIELD '..names[state.index]..' '..f.Name..' '..CS.System.BitConverter.ToString(bytes)) + local properties=t:GetProperties(flags) + local empty=CS.System.Array.CreateInstance(typeof(CS.System.Object),0) + for j=0,properties.Length-1 do + local p=properties[j] + if p.PropertyType==typeof(CS.System.UInt32) then + local getter=p:GetGetMethod(true) + if getter and not getter.IsStatic and getter:Invoke(obj,invoke,nil,empty,nil)==1 then + log('GETTER '..names[state.index]..' '..f.Name..' '..p.Name..' '..getter.MetadataToken); CS.UnityEngine.Debug.Log('[GAC_CW_METHOD_TOKEN] METHOD '..names[state.index]..' '..getter.Name..' '..getter.MetadataToken) + end + end + end + count=count+1;if count>=2 then return end + end + end + log('END '..names[state.index]);state.index=state.index+1;state.field=0 + end) + if not ok then log('ERROR '..tostring(err));state.index=state.index+1;state.field=0 end + end +end + diff --git a/tools/cw_gameref_schema_probe.lua b/tools/cw_gameref_schema_probe.lua new file mode 100644 index 0000000..485cc5a --- /dev/null +++ b/tools/cw_gameref_schema_probe.lua @@ -0,0 +1,16 @@ +-- Inspect the named CW GameRef configuration API only; never send HTTP calls. +do + if not _G.__gacCwGameRefSchema1 then + _G.__gacCwGameRefSchema1=true + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_GAMEREF_SCHEMA] '..tostring(v))end + local t=typeof(CS.RPG.Client.GridFightGameRef) + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local fs=t:GetFields(flags) + for i=0,math.min(fs.Length-1,47)do log('FIELD '..tostring(fs[i]))end + local ms=t:GetMethods(flags) + for i=0,math.min(ms.Length-1,63)do + if ms[i].DeclaringType==t then log('METHOD '..tostring(ms[i]))end + end + log('END') + end +end diff --git a/tools/cw_guide_probe.lua b/tools/cw_guide_probe.lua new file mode 100644 index 0000000..31fa06b --- /dev/null +++ b/tools/cw_guide_probe.lua @@ -0,0 +1,26 @@ +-- Inspect the active Guide page's Lua state; no UI actions or module writes. +do + if not _G.__gacCwGuide1 then + _G.__gacCwGuide1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_GUIDE] '..tostring(v))end + local ok,err=pcall(function() + local ui=CS.RPG.Client.GlobalVars.s_UIManager + local names=ui:GetAllPageNames() + for i=0,names.Count-1 do + local name=tostring(names[i]) + if name:find('Handbook') or name:find('Guide') or name:find('DailyMission') then + log('PAGE '..name) + local page=ui:GetPageByName(name) + if page then + local lua=page.LuaTable + if type(lua)=='table' then + local n=0 + for k,v in pairs(lua)do log('FIELD '..tostring(k)..' '..type(v)..' '..tostring(v));n=n+1;if n>=60 then break end end + end + end + end + end + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/cw_handbook_read_pulse.lua b/tools/cw_handbook_read_pulse.lua new file mode 100644 index 0000000..fd3fcf6 --- /dev/null +++ b/tools/cw_handbook_read_pulse.lua @@ -0,0 +1,11 @@ +-- Read only the initialized handbook getter, six calls maximum, paused in Battle. +do + _G.__gacCwHandbookPulse5=_G.__gacCwHandbookPulse5 or 0 + if _G.__gacCwHandbookPulse5>=6 then return end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + _G.__gacCwHandbookPulse5=_G.__gacCwHandbookPulse5+1 + CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule:GetHandBookAllRoleConfig() +end diff --git a/tools/cw_handbook_variants_export.lua b/tools/cw_handbook_variants_export.lua new file mode 100644 index 0000000..62bf560 --- /dev/null +++ b/tools/cw_handbook_variants_export.lua @@ -0,0 +1,59 @@ +-- Capture initialized default/OtherRoles wrappers only, after the user's round. +-- Keep outside scripts until capture is requested. Never create roles or alter stars. +-- A BattleGamePhase pauses all table work; queue construction handles four +-- handbook family per heartbeat, then encoding handles at most two roles. +do + _G.__gacCwVariants2=_G.__gacCwVariants2 or {family=0,index=1,queue={}} + local s=_G.__gacCwVariants2 + if not s.done then + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local phaseField=typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and phaseField:GetValue(manager) + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_ROLE_VARIANTS] '..tostring(v))end + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then + if not s.paused then log('WAIT phase='..tostring(phase and phase:GetType().FullName));s.paused=true end + return + end + if s.paused then log('RESUME');s.paused=false end + local ok,err=pcall(function() + if not s.families then + s.families=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule:GetHandBookAllRoleConfig() + if s.families.Count>1024 then error('Handbook family count exceeds capture bound')end + log('QUEUE families='..s.families.Count) + end + if s.family=s.families.Count then break end + local family=s.families[s.family] + s.queue[#s.queue+1]={role=family.DefaultRole,parent=family.ID,origin='DefaultRole'} + local others=family.OtherRoles + if others then + if others.Count>32 then error('Handbook variant count exceeds capture bound')end + for i=0,others.Count-1 do s.queue[#s.queue+1]={role=others[i],parent=family.ID,origin='OtherRoles'}end + end + s.family=s.family+1 + end + return + end + if not s.begun then s.begun=true;log('BEGIN count='..#s.queue)end + for n=1,2 do + local entry=s.queue[s.index] + if not entry then s.done=true;log('END');s.queue=nil;return end + local role=entry.role + local config=role.RoleConfig + local row=config:GetType():GetField('_Row',flags):GetValue(config) + local starConfig=role.StarConfig + local starRow=starConfig:GetType():GetField('_Row',flags):GetValue(starConfig) + local servantRow=starConfig:GetType():GetField('_ServantStarRow',flags):GetValue(starConfig) + local text='ROW {"ParentID":'..entry.parent..',"Origin":"'..entry.origin..'","Config":'..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row) + ..',"Price":'..config.Price..',"MaxStar":'..config.MaxStar..',"Star":'..role.Star..',"SellPrice":'..role.SellPrice + ..',"StarConfig":'..CS.Newtonsoft.Json.JsonConvert.SerializeObject(starRow)..',"ServantStarConfig":'..CS.Newtonsoft.Json.JsonConvert.SerializeObject(servantRow)..'}' + if #text>65536 then error('Role variant row exceeds output bound')end + log(text) + s.index=s.index+1 + end + end) + if not ok then log('ERROR '..tostring(err));s.done=true;s.queue=nil end + end +end diff --git a/tools/cw_initialized_configs_probe.lua b/tools/cw_initialized_configs_probe.lua new file mode 100644 index 0000000..13f770a --- /dev/null +++ b/tools/cw_initialized_configs_probe.lua @@ -0,0 +1,38 @@ +-- Read initialized CW configuration caches, not gameplay actions. +do + if not _G.__gacCwInitializedConfigs1 then + _G.__gacCwInitializedConfigs1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_INITIALIZED] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule + for _,name in ipairs({'_RoleConfigByID','_RoleConfigByAvatarIDAndSeasonID'})do + local dict=module:GetType():GetField(name,flags):GetValue(module) + log('CACHE '..name..' '..dict.Count) + end + local list=module.DivisionInfo:GetStagesShown(false) + log('STAGES '..list.Count) + _G.__gacCwStageConfigsExport={rows=list,index=0} + for _,name in ipairs({'GridFightRoleConfig','GridFightHandbookRole','GridFightStageRoute'})do + local t=typeof(CS.RPG.Client[name]);log('TYPE '..tostring(t)) + local fs=t:GetFields(flags);for i=0,fs.Length-1 do log('FIELD '..tostring(fs[i]))end + local ps=t:GetProperties(flags);for i=0,ps.Length-1 do log('PROPERTY '..tostring(ps[i]))end + end + end) + if not ok then log('ERROR '..tostring(err))end + end + local state=_G.__gacCwStageConfigsExport + if state and not state.done then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_STAGE_CONFIG] '..tostring(v))end + local ok,err=pcall(function() + if state.index==0 then log('BEGIN count='..state.rows.Count)end + for i=state.index,math.min(state.index+1,state.rows.Count-1)do + local r=state.rows[i] + log('ROW {"ID":'..r.ID..',"EnemyHardLevel":'..r.EnemyHardLevel..',"Exp":'..r.Exp..',"WeeklyScore":'..r.WeeklyScore..',"OverChargeExp":'..r.OverChargeExp..',"OverChargeWeeklyScore":'..r.OverChargeWeeklyScore..',"ScoreRule":'..r.ScoreRule..',"OCScoreRule":'..r.OCScoreRule..',"EnvironmentBuffList":'..CS.Newtonsoft.Json.JsonConvert.SerializeObject(r.EnvironmentBuffList)..'}') + end + state.index=state.index+2 + if state.index>=state.rows.Count then log('END');state.done=true end + end) + if not ok then log('ERROR '..tostring(err));state.done=true end + end +end diff --git a/tools/cw_json_serializer_metadata.lua b/tools/cw_json_serializer_metadata.lua new file mode 100644 index 0000000..e093ac8 --- /dev/null +++ b/tools/cw_json_serializer_metadata.lua @@ -0,0 +1,27 @@ +-- One named serializer type, bounded metadata only; no invocation or hooks. +do + _G.__gacCwJsonMethod3=_G.__gacCwJsonMethod3 or {offset=0} + local s=_G.__gacCwJsonMethod3 + if s.done then return end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + local t=typeof(CS.Newtonsoft.Json.JsonConvert) + local methods=t:GetMethods(flags) + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_JSON_METHOD] '..tostring(v))end + for i=s.offset,math.min(s.offset+31,methods.Length-1)do + local m=methods[i] + if m.IsStatic and m.Name=='SerializeObject' then + local ps=m:GetParameters() + if ps.Length==1 and ps[0].ParameterType==typeof(CS.System.Object) then + log('METHOD '..tostring(m)..' TOKEN '..m.MetadataToken) + log('TOKEN_ROW [GAC_CW_METHOD_TOKEN] METHOD Newtonsoft.Json.JsonConvert SerializeObject_OneObject '..m.MetadataToken) + local good,handle=pcall(function()return tostring(m.MethodHandle.Value)end) + log('HANDLE '..tostring(good)..' '..tostring(handle)) + end + end + end + s.offset=s.offset+32 + if s.offset>=methods.Length then s.done=true;log('END')end +end diff --git a/tools/cw_level_config_schema.lua b/tools/cw_level_config_schema.lua new file mode 100644 index 0000000..9c8b108 --- /dev/null +++ b/tools/cw_level_config_schema.lua @@ -0,0 +1,34 @@ +-- Metadata only, one exact CW type per heartbeat, paused during Battle. +do + local names={'RPG.Client.GridFightPlayer','RPG.Client.GridFightPlayerLevelConfig','RPG.GameCore.GridFightPlayerLevelConfig','RPG.Client.GridFightStageNodeTemplateConfig','RPG.GameCore.GridFightStageNodeTemplateConfig'} + _G.__gacCwLevelSchema1=_G.__gacCwLevelSchema1 or {index=1,offset=0} + local s=_G.__gacCwLevelSchema1 + if s.index>#names then return end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase) then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_LEVEL_SCHEMA] '..tostring(v))end + local ok,err=pcall(function() + if not s.type then + local a=typeof(CS.RPG.Client.GridFightModule).Assembly + local b=typeof(CS.RPG.GameCore.GridFightRoleConfigRow).Assembly + s.type=a:GetType(names[s.index]) or b:GetType(names[s.index]) + log('TYPE '..names[s.index]..' '..tostring(s.type)) + if not s.type then s.index=s.index+1;return end + local fs=s.type:GetFields(flags) + for i=0,math.min(fs.Length-1,63) do log('FIELD '..tostring(fs[i]))end + local ctors=s.type:GetConstructors(flags) + for i=0,math.min(ctors.Length-1,15)do log('CTOR '..tostring(ctors[i]))end + s.methods=s.type:GetMethods(flags) + end + for i=s.offset,math.min(s.offset+31,s.methods.Length-1)do + local m=s.methods[i] + if m.DeclaringType==s.type then log('METHOD '..tostring(m)..' TOKEN '..m.MetadataToken)end + end + s.offset=s.offset+32 + if s.offset>=s.methods.Length then s.type=nil;s.methods=nil;s.offset=0;s.index=s.index+1 end + end) + if not ok then log('ERROR '..tostring(err));s.type=nil;s.methods=nil;s.offset=0;s.index=s.index+1 end + if s.index>#names then log('END')end +end diff --git a/tools/cw_live_board_state.lua b/tools/cw_live_board_state.lua new file mode 100644 index 0000000..0d91c8b --- /dev/null +++ b/tools/cw_live_board_state.lua @@ -0,0 +1,39 @@ +-- Bounded, read-only inspection of the active CW team container. +do + if _G.__gacCwBoardState2 then return end + local session=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule.CurGameSession + if not session then return end + _G.__gacCwBoardState2=true + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_BOARD_STATE] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local fields=session:GetType():GetFields(flags) + for i=0,math.min(fields.Length-1,63)do + local field=fields[i] + if field.Name:lower():find('team')then + local team=field:GetValue(session) + if team then + local fs=team:GetType():GetFields(flags) + for j=0,math.min(fs.Length-1,31)do + local f=fs[j];local value=f:GetValue(team) + if f.Name:lower():find('role')then + log('TEAM '..tostring(f)..' = '..tostring(value)) + if value then + local inner=value:GetType():GetFields(flags) + for k=0,math.min(inner.Length-1,15)do local x=inner[k];local v=x:GetValue(value) + log('CONTAINER '..tostring(x)..' = '..tostring(v)) + if v then pcall(function() + local en=v:GetEnumerator();local n=0 + while n<6 and en:MoveNext()do n=n+1;log('ENTRY '..tostring(en.Current))end + end)end + end + pcall(function()local en=value:GetEnumerator();local n=0;while n<6 and en:MoveNext()do n=n+1;log('VALUE '..tostring(en.Current))end end) + end + end + end + end + end + end + end) + if not ok then log('ERROR '..tostring(err))end +end diff --git a/tools/cw_live_role_state.lua b/tools/cw_live_role_state.lua new file mode 100644 index 0000000..4dc7268 --- /dev/null +++ b/tools/cw_live_role_state.lua @@ -0,0 +1,25 @@ +-- Read current CW role/player containers only; no game action. +do + if _G.__gacCwLiveRoleState1 then return end;_G.__gacCwLiveRoleState1=true + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_LIVE_ROLES] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local session=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule.CurGameSession + if not session then log('NO_SESSION');return end + log('SESSION '..session:GetType().FullName) + local t=session:GetType();local fs=t:GetFields(flags) + for i=0,math.min(fs.Length-1,95)do + local f=fs[i];local n=f.Name:lower() + if n:find('role') or n:find('player') or n:find('team') or n:find('shop')then + local v=f:GetValue(session);log('FIELD '..tostring(f)..' VALUE '..tostring(v)) + if v then + local vt=v:GetType();local fields=vt:GetFields(flags) + for j=0,math.min(fields.Length-1,63)do local x=fields[j];local xn=x.Name:lower();if xn:find('role') or xn:find('count') or xn:find('level') or xn:find('gold') then + local z=x:GetValue(v);local count=nil;if z then pcall(function()count=z.Count end)end;log('INNER '..tostring(x)..' VALUE '..tostring(z)..' COUNT '..tostring(count)) + end end + end + end + end + end) + if not ok then log('ERROR '..tostring(err))end +end diff --git a/tools/cw_loaded_lua_probe.lua b/tools/cw_loaded_lua_probe.lua new file mode 100644 index 0000000..96bcb86 --- /dev/null +++ b/tools/cw_loaded_lua_probe.lua @@ -0,0 +1,22 @@ +-- Read loaded CW Lua modules only. Do not require modules or invoke UI code. +do + if not _G.__gacCwLoadedLua1 then + _G.__gacCwLoadedLua1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_LOADED_LUA] '..tostring(v))end + local n=0 + for name,value in pairs(package.loaded)do + if tostring(name):lower():find('gridfight')then + log('MODULE '..tostring(name)..' TYPE '..type(value)) + if tostring(name):lower():find('entrance') and type(value)=='table' then + local count=0 + for k,v in pairs(value)do + if type(v)=='function' then local info=debug.getinfo(v,'S');log('FUNCTION '..tostring(k)..' '..tostring(info and info.source))end + count=count+1;if count>=64 then break end + end + end + n=n+1;if n>=64 then break end + end + end + log('END '..n) + end +end diff --git a/tools/cw_loader_methods_probe.lua b/tools/cw_loader_methods_probe.lua new file mode 100644 index 0000000..7d13410 --- /dev/null +++ b/tools/cw_loader_methods_probe.lua @@ -0,0 +1,20 @@ +-- Inspect only the known GameCoreConfigLoader, bounded method metadata batches. +-- This never invokes a loader, including any level-graph loader. +do + _G.__gacCwLoaderMethods1=_G.__gacCwLoaderMethods1 or {index=0} + local state=_G.__gacCwLoaderMethods1 + if not state.done then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_LOADER_METHOD] '..tostring(v))end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if not state.methods then + state.methods=typeof(CS.RPG.GameCore.GameCoreConfigLoader):GetMethods(flags) + log('BEGIN '..state.methods.Length) + end + for i=state.index,math.min(state.index+63,state.methods.Length-1)do + local m=state.methods[i] + if m.Name:lower():find('gridfight')then log('METHOD '..tostring(m))end + end + state.index=state.index+64 + if state.index>=state.methods.Length then state.done=true;log('END')end + end +end diff --git a/tools/cw_lobby_group_names_probe.lua b/tools/cw_lobby_group_names_probe.lua new file mode 100644 index 0000000..1297af5 --- /dev/null +++ b/tools/cw_lobby_group_names_probe.lua @@ -0,0 +1,24 @@ +-- Loaded floor metadata only, 32 group names per heartbeat. +do + local input=__ENTRANCE_ROW__ + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_LOBBY_NAMES] '..tostring(v))end + _G.__gacCwLobbyNames1=_G.__gacCwLobbyNames1 or {index=0} + local state=_G.__gacCwLobbyNames1 + if not state.done then + local ok,err=pcall(function() + if not state.floor then + local entry=CS.RPG.GameCore.ConstValueCommonExcelTable.GetData('GridFight_EntranceID').Value.IntValue + if entry~=input.ID then error('CW entry mismatch')end + state.floor=CS.RPG.GameCore.GameCoreConfigLoader.LoadRtLevelFloorInfo(CS.RPG.Client.MapDef.GetRtFloorInfoPath(input.PlaneID,input.FloorID)) + log('BEGIN '..state.floor.GroupInstanceList.Length) + end + for i=state.index,math.min(state.index+31,state.floor.GroupInstanceList.Length-1)do + local g=state.floor.GroupInstanceList[i] + log('GROUP '..g.ID..' '..tostring(g.Name)) + end + state.index=state.index+32 + if state.index>=state.floor.GroupInstanceList.Length then state.done=true;log('END')end + end) + if not ok then state.done=true;log('ERROR '..tostring(err))end + end +end diff --git a/tools/cw_map_getter_layout.py b/tools/cw_map_getter_layout.py new file mode 100644 index 0000000..241bf32 --- /dev/null +++ b/tools/cw_map_getter_layout.py @@ -0,0 +1,88 @@ +"""Inspect explicit runtime-resolved getter RVAs, never search an assembly's types.""" +import argparse +import hashlib +import json +import pathlib +import struct +from capstone import Cs, CS_ARCH_X86, CS_MODE_64, CS_OP_MEM, CS_OP_REG + +def main(): + p = argparse.ArgumentParser(description=__doc__) + p.add_argument('--binary', type=pathlib.Path, required=True) + p.add_argument('--handles', type=pathlib.Path, required=True) + p.add_argument('--output', type=pathlib.Path, required=True) + args = p.parse_args() + data = args.binary.read_bytes() + pe = struct.unpack_from('8 or any(x.mnemonic not in ('mov','movzx','movss','ret','nop','endbr64') for x in leaf[:first_ret+1]): + rows.append({**item,'direct_return_loads':[],'limitation':'No exception entry or proven straight-line leaf getter'}) + continue + end = leaf[first_ret].address+leaf[first_ret].size + boundary = 'Runtime method entry, straight-line leaf return' + instructions = list(decoder.disasm(data[offset(rva,end-rva):offset(rva,end-rva)+end-rva],rva)) + loads = [] + aliases = {'rcx'} + for i, ins in enumerate(instructions): + # A later dereference into _NodeParam must not be mistaken for + # an offset on this. Track overwritten registers and call clobbers. + before = set(aliases) + if ins.mnemonic == 'call': + aliases.difference_update({'rax','rcx','rdx','r8','r9','r10','r11'}) + if ins.operands and ins.operands[0].type == CS_OP_REG: + dest = ins.reg_name(ins.operands[0].reg) + if ins.mnemonic == 'mov' and len(ins.operands)==2 and ins.operands[1].type==CS_OP_REG and ins.reg_name(ins.operands[1].reg) in before: + aliases.add(dest) + elif ins.mnemonic not in ('cmp','test','push'): + aliases.discard(dest) + if ins.mnemonic not in ('mov', 'movzx', 'movss') or len(ins.operands) != 2: + continue + src = ins.operands[1] + if src.type != CS_OP_MEM or src.mem.index or ins.reg_name(src.mem.base) not in before: + continue + if ins.reg_name(ins.operands[0].reg) not in ('eax', 'rax', 'xmm0'): + continue + after = instructions[i+1:i+7] + epilogue = [] + for following in after: + epilogue.append(following) + if following.mnemonic == 'ret': + break + if not epilogue or epilogue[-1].mnemonic != 'ret' or any(x.mnemonic not in ('add','pop','ret','nop') for x in epilogue): + continue + loads.append({'offset':src.mem.disp,'size':src.size,'instruction':f'{ins.address:x}: {ins.mnemonic} {ins.op_str}'}) + rows.append({**item,'boundary':boundary,'direct_return_loads':loads}) + args.output.write_text(json.dumps({'assembly_sha256':hashlib.sha256(data).hexdigest(), + 'scope':'Explicit named runtime getter handles; direct baseline return loads only, not computed getter semantics', + 'getters':rows},indent=2)+'\n',encoding='utf-8') + print(f'Inspected {len(rows)} named getters; {sum(len(x["direct_return_loads"])==1 for x in rows)} have a unique direct return load') + +if __name__ == '__main__': main() diff --git a/tools/cw_meta_probe.lua b/tools/cw_meta_probe.lua new file mode 100644 index 0000000..d0dc87d --- /dev/null +++ b/tools/cw_meta_probe.lua @@ -0,0 +1,25 @@ +-- Targeted read-only access to the native season metadata getter. +do + if not _G.__gacCwMeta1 then + _G.__gacCwMeta1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_META] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local invoke=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),0) + local args=CS.System.Array.CreateInstance(typeof(CS.System.Object),0) + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule + local first=typeof(CS.RPG.Client.GridFightModule):GetField('FirstSeasonID',flags):GetValue(nil) + local season=module:GetSeason(first,nil) + local meta=season:GetType():GetMethod('get__Meta',flags):Invoke(season,invoke,nil,args,nil) + log('SEASON_ROW '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(meta)) + local method=module:GetType():GetMethod('_SyncSeason',flags) + local handle=method.MethodHandle + local getter=handle:GetType():GetMethod('GetFunctionPointer',flags) + if getter then + local pointer=getter:Invoke(handle,invoke,nil,args,nil) + log('SYNC_SEASON_POINTER '..tostring(pointer)) + end + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/cw_method_tokens.lua b/tools/cw_method_tokens.lua new file mode 100644 index 0000000..99b2f56 --- /dev/null +++ b/tools/cw_method_tokens.lua @@ -0,0 +1,23 @@ +-- Named CW types only, at most 64 method tokens per heartbeat. +do + local names={'RPG.Client.GridFightModule','AMEEHIIPMFP','CKPOBLIFMGN','MPIMAEMCEFH','RPG.Client.GridFightTalent','RPG.Client.GridFightPlayerProfile','RPG.Client.GridFightGameSession','RPG.Client.GridFightPlayer'} + _G.__gacCwMethodTokens=_G.__gacCwMethodTokens or {index=1,method=0} + local state=_G.__gacCwMethodTokens + if state.index<=#names then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_METHOD_TOKEN] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local assembly=typeof(CS.RPG.Client.GridFightModule).Assembly + local t=assembly:GetType(names[state.index]) + if not t then t=typeof(CS[names[state.index]])end + local methods=t:GetMethods(flags) + for i=state.method,math.min(state.method+63,methods.Length-1)do + local m=methods[i] + if m.DeclaringType==t then log('METHOD '..names[state.index]..' '..m.Name..' '..m.MetadataToken)end + end + state.method=state.method+64 + if state.method>=methods.Length then log('END '..names[state.index]);state.index=state.index+1;state.method=0 end + end) + if not ok then log('ERROR '..names[state.index]..' '..tostring(err));state.index=state.index+1;state.method=0 end + end +end diff --git a/tools/cw_monster_base_schema.lua b/tools/cw_monster_base_schema.lua new file mode 100644 index 0000000..6242d74 --- /dev/null +++ b/tools/cw_monster_base_schema.lua @@ -0,0 +1,34 @@ +-- Read only named CW stage/node metadata, one object per heartbeat. +do + local state=_G.__gacCwNodeBattleSchema5 or {index=1};_G.__gacCwNodeBattleSchema5=state + if state.done then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_MONSTER_BASE] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local session=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule.CurGameSession + if not session then return end + if not state.objects then + local fields=session:GetType():GetFields(flags) + for i=0,math.min(fields.Length-1,63)do + local f=fields[i] + if f.FieldType.FullName=='RPG.Client.GridFightStage'then + local stage=f:GetValue(session) + if stage and stage.CurNode then state.objects={stage.CurMonsterStageData.HighestTierMonster.BaseData};log('COORD '..stage.RouteID..'/'..stage.ChapterID..'/'..stage.SectionID..' LEVEL '..stage.CurMonsterLevel);local row=stage.CurNode:GetType():GetProperty('_PenaltyRuleConfigRow',flags):GetValue(stage.CurNode,nil);if row then log('PENALTY_JSON '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row))end end + end + end + if not state.objects then return end + end + local value=state.objects[state.index];if not value then log('END');state.done=true;return end + state.index=state.index+1 + local t=value:GetType();log('TYPE '..t.FullName) + local fs=t:GetFields(flags) + for i=0,math.min(fs.Length-1,47)do log('FIELD '..tostring(fs[i]))end + local ps=t:GetProperties(flags) + for i=0,math.min(ps.Length-1,47)do log('PROPERTY '..tostring(ps[i]))end + local ms=t:GetMethods(flags) + for i=0,math.min(ms.Length-1,95)do if ms[i].DeclaringType==t then log('METHOD '..tostring(ms[i]))end end + if state.index==2 then log('END');state.done=true end + end) + if not ok then log('ERROR '..tostring(err));state.done=true end +end + diff --git a/tools/cw_monster_camp_export.lua b/tools/cw_monster_camp_export.lua new file mode 100644 index 0000000..00ddddf --- /dev/null +++ b/tools/cw_monster_camp_export.lua @@ -0,0 +1,43 @@ +-- Existing CW handbook monster configurations only, two rows per heartbeat. +-- No battle/level/graph loader, player object, or scene change is invoked. +do + _G.__gacCwCampExport1=_G.__gacCwCampExport1 or {index=0} + local s=_G.__gacCwCampExport1 + if s.done then return end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_MONSTER_CAMP] '..tostring(v))end + local good,err=pcall(function() + if not s.rows then + s.rows=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule:GetAllMonsterCampData() + if s.rows.Count>2048 then error('Monster camp count exceeds capture bound')end + s.expected=s.rows.Count + log('BEGIN count='..s.expected) + if s.expected>0 then + local t=s.rows[0]:GetType() + s.fields=t:GetFields(flags) + log('TYPE '..t.FullName) + for i=0,math.min(s.fields.Length-1,63)do log('FIELD '..tostring(s.fields[i]))end + end + end + for batch=1,2 do + if s.index>=s.expected then s.done=true;s.rows=nil;s.fields=nil;log('END');return end + local object=s.rows[s.index] + local pieces={} + for i=0,math.min(s.fields.Length-1,63)do + local f=s.fields[i] + if not f.IsStatic and (f.FieldType.IsPrimitive or f.FieldType.IsEnum or f.FieldType==typeof(CS.System.String) or f.FieldType.FullName:find('RPG.GameCore.',1,true)==1)then + local value=f:GetValue(object) + pieces[#pieces+1]=CS.Newtonsoft.Json.JsonConvert.SerializeObject(f.Name)..':'..CS.Newtonsoft.Json.JsonConvert.SerializeObject(value) + end + end + local text='{'..table.concat(pieces,',')..'}' + if #text>65536 then error('Monster camp row exceeds capture bound')end + log('ROW '..text) + s.index=s.index+1 + end + end) + if not good then s.done=true;s.rows=nil;s.fields=nil;log('ERROR '..tostring(err))end +end diff --git a/tools/cw_monster_detail_schema.lua b/tools/cw_monster_detail_schema.lua new file mode 100644 index 0000000..f33398a --- /dev/null +++ b/tools/cw_monster_detail_schema.lua @@ -0,0 +1,34 @@ +-- Read only named CW stage/node metadata, one object per heartbeat. +do + local state=_G.__gacCwNodeBattleSchema4 or {index=1};_G.__gacCwNodeBattleSchema4=state + if state.done then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_MONSTER_DETAIL] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local session=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule.CurGameSession + if not session then return end + if not state.objects then + local fields=session:GetType():GetFields(flags) + for i=0,math.min(fields.Length-1,63)do + local f=fields[i] + if f.FieldType.FullName=='RPG.Client.GridFightStage'then + local stage=f:GetValue(session) + if stage and stage.CurNode then state.objects={stage.CurMonsterStageData.HighestTierMonster};log('COORD '..stage.RouteID..'/'..stage.ChapterID..'/'..stage.SectionID..' LEVEL '..stage.CurMonsterLevel);local row=stage.CurNode:GetType():GetProperty('_PenaltyRuleConfigRow',flags):GetValue(stage.CurNode,nil);if row then log('PENALTY_JSON '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row))end end + end + end + if not state.objects then return end + end + local value=state.objects[state.index];if not value then log('END');state.done=true;return end + state.index=state.index+1 + local t=value:GetType();log('TYPE '..t.FullName) + local fs=t:GetFields(flags) + for i=0,math.min(fs.Length-1,47)do log('FIELD '..tostring(fs[i]))end + local ps=t:GetProperties(flags) + for i=0,math.min(ps.Length-1,47)do log('PROPERTY '..tostring(ps[i]))end + local ms=t:GetMethods(flags) + for i=0,math.min(ms.Length-1,95)do if ms[i].DeclaringType==t then log('METHOD '..tostring(ms[i]))end end + if state.index==2 then log('END');state.done=true end + end) + if not ok then log('ERROR '..tostring(err));state.done=true end +end + diff --git a/tools/cw_named_groups_probe.lua b/tools/cw_named_groups_probe.lua new file mode 100644 index 0000000..ce74467 --- /dev/null +++ b/tools/cw_named_groups_probe.lua @@ -0,0 +1,45 @@ +-- Named groups selected from a completed floor-name capture, two per heartbeat. +-- This only reads configuration; graph paths are serialized, never executed. +do + local input=__ENTRANCE_ROW__ + local targets=__GROUP_IDS__ + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_NAMED_GROUPS] '..tostring(v))end + _G.__gacCwNamedGroups3=_G.__gacCwNamedGroups3 or {index=1} + local state=_G.__gacCwNamedGroups3 + if not state.done then + local ok,err=pcall(function() + if not state.floor then + state.floor=CS.RPG.GameCore.GameCoreConfigLoader.LoadRtLevelFloorInfo(CS.RPG.Client.MapDef.GetRtFloorInfoPath(input.PlaneID,input.FloorID)) + log('BEGIN '..#targets) + for i=0,math.min(state.floor.DimensionList.Length-1,3)do + log('SAVED '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(state.floor.DimensionList[i].SavedValues)) + end + end + for j=state.index,math.min(state.index+1,#targets)do + local found=false + for i=0,state.floor.GroupInstanceList.Length-1 do + local g=state.floor.GroupInstanceList[i] + if g.ID==targets[j] then + found=true + local r=CS.RPG.GameCore.GameCoreConfigLoader.LoadRtLevelGroupInfo(g.GroupPath) + local function json(v)return CS.Newtonsoft.Json.JsonConvert.SerializeObject(v)end + local props={} + if r.PropList then for k=0,r.PropList.Length-1 do + local p=r.PropList[k] + local yaw=g.RotY*math.pi/180 + local pos=string.format('{"x":%d,"y":%d,"z":%d}',math.floor((g.PosX+p.PosX*math.cos(yaw)+p.PosZ*math.sin(yaw))*1000+0.5),math.floor((g.PosY+p.PosY)*1000+0.5),math.floor((g.PosZ-p.PosX*math.sin(yaw)+p.PosZ*math.cos(yaw))*1000+0.5)) + local rot=string.format('{"x":0,"y":%d,"z":0}',math.floor((g.RotY+p.RotY)*1000+0.5)) + props[#props+1]='{"id":'..p.ID..',"prop_id":'..p.PropID..',"state":'..CS.System.Convert.ToUInt32(p.State)..',"pos":'..pos..',"rot":'..rot..',"deleted":'..tostring(p.IsDelete)..',"client_only":'..tostring(p.IsClientOnly)..',"initial":'..tostring(p.LoadOnInitial)..',"state_configs":'..json(p.StateConfigs)..',"value_source":'..json(p.ValueSource)..',"init_graph":'..json(p.InitLevelGraph)..'}' + end end + log('GROUP '..g.ID..' {"name":'..json(r.GroupName)..',"initial":'..tostring(r.LoadOnInitial)..',"load_condition":'..json(r.LoadCondition)..',"unload_condition":'..json(r.UnloadCondition)..',"saved_value_condition":'..json(r.SavedValueCondition)..',"system_unlock_condition":'..json(r.SystemUnlockCondition)..',"properties":'..json(r.GroupPropertyMap)..',"graph":'..json(r.LevelGraph)..',"tags":'..json(r.TagContainer)..',"props":['..table.concat(props,',')..']}') + break + end + end + if not found then error('Named group missing: '..targets[j])end + end + state.index=state.index+2 + if state.index>#targets then state.done=true;log('END')end + end) + if not ok then state.done=true;log('ERROR '..tostring(err))end + end +end diff --git a/tools/cw_native_chapter_capture.js b/tools/cw_native_chapter_capture.js new file mode 100644 index 0000000..33915c4 --- /dev/null +++ b/tools/cw_native_chapter_capture.js @@ -0,0 +1,27 @@ +// Native table getter used by GridFightStageNode._RefreshCachedFields with +// the route node's ChapterID. Source hash and function bounds are retained in +// cw-chapter-table-getter.asm. Run only on the managed handbook caller thread. +const ids = globalThis.CW_CHAPTER_IDS; +if (!Array.isArray(ids) || ids.length === 0 || ids.length > 128 || ids.some(x=>!Number.isInteger(x)||x<=0)) throw Error('Supply captured route chapter IDs'); +const m = Process.getModuleByName('GameAssembly.dll'); +const bytes = Array.from(new Uint8Array(m.base.add(0x1de40ce0).readByteArray(5))); +if (bytes.join(',') !== [0x56,0x48,0x83,0xec,0x60].join(',')) throw Error('Chapter getter prefix mismatch'); +const read = new NativeFunction(m.base.add(0x1de40ce0),'pointer',['uint32','pointer']); +const serialize = new NativeFunction(m.base.add(0x1d3efb60),'pointer',['pointer','pointer']); +let index=0, done=false; +Interceptor.attach(m.base.add(0xdb5f860), {onLeave() { + if(done)return; + try { + const key=ids[index++], row=read(key,ptr(0)); + if(row.isNull())throw Error('Missing chapter row '+key); + const encoded=serialize(row,ptr(0)); + if(encoded.isNull())throw Error('Serializer returned null'); + const length=encoded.add(0x10).readS32(); + if(length<2||length>65536)throw Error('Chapter row exceeds capture bound'); + const json=encoded.add(0x14).readUtf16String(length), parsed=JSON.parse(json); + if(parsed.ChapterID!==key && parsed.ID!==key)throw Error('Chapter row identity differs: '+Object.keys(parsed).join(',')); + send({kind:'ROW',key,json,thread:Process.getCurrentThreadId()}); + if(index===ids.length){done=true;send({kind:'END',count:ids.length});} + }catch(e){done=true;send({kind:'ERROR',error:String(e)});} +}}); +send({kind:'BEGIN',count:ids.length}); diff --git a/tools/cw_native_level_capture.js b/tools/cw_native_level_capture.js new file mode 100644 index 0000000..726a3e1 --- /dev/null +++ b/tools/cw_native_level_capture.js @@ -0,0 +1,55 @@ +// Research-only, source assembly SHA256: +// c5e02e6e984f7e5577c78b995a8efeee2d06ee22e67d484ad5e859c8bf21e144. +// PE exception table proves both entry RVAs. No dictionary/schema writes. +// Query one named Excel table on a managed caller's thread, at most two rows +// per handbook call. Its native getter can lazily initialize this Excel table; +// the verified loader only reads table rows, and no level graph is invoked. +const plan = globalThis.CW_CAPTURE_PLAN; +if (!plan || !Number.isInteger(plan.maxLevel) || plan.maxLevel <= 0 || plan.maxLevel > 256) { + throw new Error('Supply the captured default maximum player level'); +} +const module = Process.getModuleByName('GameAssembly.dll'); +const check = (rva, expected) => { + const actual = Array.from(new Uint8Array(module.base.add(rva).readByteArray(expected.length))); + if (actual.some((v, i) => v !== expected[i])) throw new Error('Native entry bytes differ from captured assembly'); +}; +check(0xdb5f860, [0x55,0x41,0x56,0x56,0x57,0x53]); +check(0x1e3a7880, [0x56,0x48,0x83,0xec,0x60,0x89,0xce]); +// RuntimeMethodHandle.Value + 8 resolved this exact serializer entry; the +// earlier metadata-token match was a different function and is not used. +check(0x1d3efb60, [0x56,0x57,0x48,0x83,0xec,0x28]); +let next = 1, done = false; +const readLevel = new NativeFunction(module.base.add(0x1e3a7880), 'pointer', ['uint32', 'pointer']); +const serialize = new NativeFunction(module.base.add(0x1d3efb60), 'pointer', ['pointer', 'pointer']); +const hook = Interceptor.attach(module.base.add(0xdb5f860), { + onLeave() { + if (done) return; + try { + if (next === 1) send({kind:'TABLE_STATE', initiallyLoaded:module.base.add(0x9869370).readU8() === 1}); + for (let n = 0; n < 2 && next <= plan.maxLevel; n++) { + const level = next++; + const row = readLevel(level, ptr(0)); + if (row.isNull()) throw new Error('Native player level row is missing: ' + level); + const record = { + PlayerLevel: row.add(0x2c).readU32(), LevelUpExp: row.add(0x20).readU32(), + Rarity1Weight: row.add(0x1c).readU32(), Rarity2Weight: row.add(0x28).readU32(), + Rarity3Weight: row.add(0x18).readU32(), Rarity4Weight: row.add(0x30).readU32(), + Rarity5Weight: row.add(0x24).readU32(), AvatarMaxNumber: row.add(0x34).readU32() + }; + if (record.PlayerLevel !== level) throw new Error('Row layout/identity mismatch at level ' + level); + const encoded = serialize(row, ptr(0)); + if (encoded.isNull()) throw new Error('Native serializer returned null'); + const length = encoded.add(0x10).readS32(); + if (length < 2 || length > 65536) throw new Error('Serialized level row exceeds capture bound'); + const json = encoded.add(0x14).readUtf16String(length); + const parsed = JSON.parse(json); + for (const key of Object.keys(record)) { + if (parsed[key] !== record[key]) throw new Error('Serialized row disagrees with scalar layout: '+key); + } + send({kind:'ROW', json, thread:Process.getCurrentThreadId()}); + } + if (next > plan.maxLevel) { done = true; send({kind:'END', count:plan.maxLevel}); } + } catch (e) { done = true; send({kind:'ERROR', error:String(e)}); } + } +}); +send({kind:'BEGIN', count:plan.maxLevel, scope:'native player-level full rows serialized on managed caller thread'}); diff --git a/tools/cw_native_token_sites.py b/tools/cw_native_token_sites.py new file mode 100644 index 0000000..7a69f4c --- /dev/null +++ b/tools/cw_native_token_sites.py @@ -0,0 +1,81 @@ +"""Locate named Client method token checks in a supplied PE (read only). + +The correlation was observed for GridFightModule.GetSeason and _SyncSeason in +this Client: the native check loads the low 24 bits of MetadataToken into ECX +before a direct call. Report candidate sites; do not infer function boundaries +or claim that every candidate is a method implementation. +""" +import argparse +import hashlib +import json +import pathlib +import re +import struct + + +def executable_sections(data): + if data[:2] != b"MZ": + raise ValueError("Expected a PE image") + pe = struct.unpack_from(" len(data): + raise ValueError("Truncated executable section") + sections.append((rva, data[raw:raw + raw_size])) + return sections + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--assembly", type=pathlib.Path, required=True) + parser.add_argument("--tokens", type=pathlib.Path, required=True) + parser.add_argument("--output", type=pathlib.Path, required=True) + args = parser.parse_args() + data = args.assembly.read_bytes() + sections = executable_sections(data) + methods, by_check = {}, {} + for line in args.tokens.read_text(encoding="utf-8-sig").splitlines(): + match = re.search(r"\[GAC_CW_METHOD_TOKEN\] METHOD (\S+) (\S+) (\d+)$", line) + if not match: + continue + token = int(match[3]) + name = match[1] + "." + match[2] + "#" + hex(token) + if token & 0xff000000 != 0x06000000: # ECMA-335 MethodDef token table. + raise SystemExit("Not a MethodDef token: " + name) + methods[name] = {"metadata_token": hex(token), "check_id": hex(token & 0x00ffffff), "candidate_sites": []} + by_check.setdefault(token & 0x00ffffff, []).append(name) + if not methods: + raise SystemExit("No captured method tokens found") + # One section pass, rather than rereading a large executable for every + # captured method. The byte pattern is deliberately only a candidate. + pattern = re.compile(rb"(?=\xb9(.{4})\xe8(.{4}))", re.S) + for section_rva, section in sections: + for match in pattern.finditer(section): + check_id = struct.unpack("128 then error('Enum exceeds capture bound')end + log('BEGIN count='..names.Length) + for i=0,names.Length-1 do log('ROW {"name":"'..names[i]..'","value":'..CS.System.Convert.ToInt32(CS.System.Enum.Parse(t,names[i]))..'}')end + log('END') + end) + if not good then log('ERROR '..tostring(err))end + end +end diff --git a/tools/cw_node_property_handles.lua b/tools/cw_node_property_handles.lua new file mode 100644 index 0000000..f3cef3f --- /dev/null +++ b/tools/cw_node_property_handles.lua @@ -0,0 +1,33 @@ +-- Getters on four named CW types only; sixteen metadata entries per heartbeat. +-- No getter invocation, object construction, or gameplay mutation. +do + local names={'OHMDHKGAEMM','BCCIJHPLJOJ','RPG.Client.GridFightStageNode','NIHNGPKHEPC'} + _G.__gacCwNodeHandles1=_G.__gacCwNodeHandles1 or {type=1,offset=0} + local s=_G.__gacCwNodeHandles1 + if s.type>#names then return end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_PROPERTY_HANDLE] '..tostring(v))end + local good,err=pcall(function() + if not s.properties then + local a=typeof(CS.RPG.Client.GridFightModule).Assembly + local t=a:GetType(names[s.type]) + if not t then t=typeof(CS[names[s.type]])end + s.properties=t:GetProperties(flags) + end + for i=s.offset,math.min(s.offset+15,s.properties.Length-1)do + local p=s.properties[i] + local getter=p:GetGetMethod(true) + if getter and not getter.IsStatic and p:GetIndexParameters().Length==0 and + (p.PropertyType.IsPrimitive or p.PropertyType.IsEnum)then + log('GETTER '..names[s.type]..' '..p.Name..' '..tostring(getter.MethodHandle.Value)..' '..p.PropertyType.FullName) + end + end + s.offset=s.offset+16 + if s.offset>=s.properties.Length then s.properties=nil;s.offset=0;s.type=s.type+1 end + end) + if not good then log('ERROR '..tostring(err));s.properties=nil;s.offset=0;s.type=s.type+1 end + if s.type>#names then log('END')end +end diff --git a/tools/cw_node_schema_probe.lua b/tools/cw_node_schema_probe.lua new file mode 100644 index 0000000..84cab52 --- /dev/null +++ b/tools/cw_node_schema_probe.lua @@ -0,0 +1,17 @@ +-- Named stage-node metadata only; no node instances or game sessions created. +do + if not _G.__gacCwNodeSchema1 then + _G.__gacCwNodeSchema1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_NODE_SCHEMA] '..tostring(v))end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local t=typeof(CS.RPG.Client.GridFightStageNode) + local fields=t:GetFields(flags) + for i=0,fields.Length-1 do log('FIELD '..tostring(fields[i]))end + local ps=t:GetProperties(flags) + for i=0,ps.Length-1 do log('PROPERTY '..tostring(ps[i]))end + local methods=t:GetMethods(flags) + for i=0,math.min(methods.Length-1,63)do + if methods[i].DeclaringType==t then log('METHOD '..tostring(methods[i]))end + end + end +end diff --git a/tools/cw_pending_track_schema.lua b/tools/cw_pending_track_schema.lua new file mode 100644 index 0000000..461f6b8 --- /dev/null +++ b/tools/cw_pending_track_schema.lua @@ -0,0 +1,31 @@ +-- Named Spotlight config and active session metadata, no actions/loaders. +do + local s=_G.__gacCwSpotlightSchema3 or {index=1};_G.__gacCwSpotlightSchema3=s + if s.done then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_PENDING_TRACK_SCHEMA] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule + if not s.objects then + local session=module.CurGameSession;if not session then return end;local families=module:GetHandBookAllRoleConfig();s.objects={session.Track.EquipTrackData,families[0].DefaultRole};s.extra=typeof(CS.RPG.Client.GridFightSpotLightSelectAction) + end + local object=s.objects[s.index];if not object and s.index~=3 then s.done=true;log('END');return end + s.index=s.index+1 + local t=object and object:GetType() or s.extra;log('TYPE '..t.FullName) + local fs=t:GetFields(flags) + for i=0,math.min(fs.Length-1,63)do + log('FIELD '..tostring(fs[i])) + if false and tostring(fs[i].FieldType.FullName):find('Row$')then + local row=fs[i]:GetValue(object);if row then log('ROW '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row))end + end + end + local ps=t:GetProperties(flags);for i=0,math.min(ps.Length-1,63)do log('PROPERTY '..tostring(ps[i]))end + local ms=t:GetMethods(flags) + for i=0,math.min(ms.Length-1,127)do if ms[i].DeclaringType==t then log('METHOD '..tostring(ms[i]))end end + if s.index==4 then s.done=true;log('END')end + end) + if not ok then log('ERROR '..tostring(err));s.done=true end +end diff --git a/tools/cw_player_proto_fields_probe.lua b/tools/cw_player_proto_fields_probe.lua new file mode 100644 index 0000000..39e207d --- /dev/null +++ b/tools/cw_player_proto_fields_probe.lua @@ -0,0 +1,15 @@ +-- Field declaration metadata for the one CW player protobuf type. +-- No instances are read or modified. +do + if not _G.__gacCwPlayerProtoFields1 then + _G.__gacCwPlayerProtoFields1=true + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_PLAYER_FIELDS] '..tostring(v))end + local t=typeof(CS.NIHNGPKHEPC) + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local fs=t:GetFields(flags) + for i=0,math.min(fs.Length-1,95)do + if not fs[i].IsStatic then log('FIELD '..i..' '..fs[i].Name..' '..fs[i].FieldType.FullName)end + end + log('END') + end +end diff --git a/tools/cw_portal_schema_probe.lua b/tools/cw_portal_schema_probe.lua new file mode 100644 index 0000000..8c30f3c --- /dev/null +++ b/tools/cw_portal_schema_probe.lua @@ -0,0 +1,15 @@ +-- Bounded metadata for the currently selected CW portal data only. +do + if _G.__gacCwPortalSchema1 then return end + _G.__gacCwPortalSchema1=true + local log=function(s)CS.UnityEngine.Debug.Log('[GAC_CW_PORTAL_SCHEMA] '..tostring(s))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local t=typeof(CS.RPG.Client.GridFightPortalData) + local fs=t:GetFields(flags) + for i=0,math.min(fs.Length-1,31)do log('FIELD '..tostring(fs[i]))end + local ps=t:GetProperties(flags) + for i=0,math.min(ps.Length-1,31)do log('PROPERTY '..tostring(ps[i]))end + end) + if not ok then log('ERROR '..tostring(err))end +end diff --git a/tools/cw_portal_table_probe.lua b/tools/cw_portal_table_probe.lua new file mode 100644 index 0000000..8bc029f --- /dev/null +++ b/tools/cw_portal_table_probe.lua @@ -0,0 +1,14 @@ +-- Explicit CW portal table names only, one metadata target per heartbeat. +do + _G.__gacCwPortalTable1=_G.__gacCwPortalTable1 or 1 + local names={'GridFightPortalBuffExcelTable','GridFightPortalBuffConfigExcelTable','GridFightPortalBuffRow','GridFightPortalBuffConfigRow'} + local i=_G.__gacCwPortalTable1;if i>#names then return end;_G.__gacCwPortalTable1=i+1 + local log=function(s)CS.UnityEngine.Debug.Log('[GAC_CW_PORTAL_TABLE] '..tostring(s))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local a=typeof(CS.RPG.GameCore.GridFightRoleConfigRow).Assembly + local t=a:GetType('RPG.GameCore.'..names[i]);log('TYPE '..names[i]..' '..tostring(t));if not t then return end + local ms=t:GetMethods(flags);for j=0,math.min(ms.Length-1,31)do if ms[j].DeclaringType==t then log('METHOD '..tostring(ms[j]))end end + end) + if not ok then log('ERROR '..tostring(err))end +end diff --git a/tools/cw_portals_export.lua b/tools/cw_portals_export.lua new file mode 100644 index 0000000..2694892 --- /dev/null +++ b/tools/cw_portals_export.lua @@ -0,0 +1,25 @@ +-- Read existing portal wrappers; one row per heartbeat, no gameplay mutations. +do + _G.__gacCwPortalsExport1=_G.__gacCwPortalsExport1 or {index=0} + local s=_G.__gacCwPortalsExport1;if s.done then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_PORTALS] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if not s.rows then s.rows=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule:GetHandBookAllPortalData();if s.rows.Count>1024 then error('portal capture bound exceeded')end;log('BEGIN count='..s.rows.Count)end + for batch=1,4 do + if s.index>=s.rows.Count then s.done=true;log('END');return end + local wrapper=s.rows[s.index];local t=wrapper:GetType();local row=nil + for depth=1,4 do + if not t then break end + local fs=t:GetFields(flags) + for j=0,math.min(fs.Length-1,47)do if fs[j].FieldType.FullName=='RPG.GameCore.GridFightPortalBuffConfigRow' then row=fs[j]:GetValue(wrapper);break end end + if row then break end;t=t.BaseType + end + if not row then error('portal wrapper row unavailable')end + local text=CS.Newtonsoft.Json.JsonConvert.SerializeObject(row);if #text>32768 then error('portal row exceeds capture bound')end + log('ROW '..text);s.index=s.index+1 + end + end) + if not ok then log('ERROR '..tostring(err));s.done=true end +end + diff --git a/tools/cw_preload_provider_metadata.lua b/tools/cw_preload_provider_metadata.lua new file mode 100644 index 0000000..f970cfa --- /dev/null +++ b/tools/cw_preload_provider_metadata.lua @@ -0,0 +1,24 @@ +-- Metadata only on the exact provider type declared by the CW module field. +-- No preload, graph, HTTP or gameplay method is invoked. +do + if not _G.__gacCwPreloadMeta2 then + _G.__gacCwPreloadMeta2=true + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_PRELOAD_META] '..tostring(v))end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local field=typeof(CS.RPG.Client.GridFightModule):GetField('_SessionPreloadProvider',flags) + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule + local object=field:GetValue(module) + if not object then log('OBJECT nil');return end + local t=object:GetType() + log('TYPE '..t.FullName) + local fs=t:GetFields(flags) + for i=0,math.min(fs.Length-1,31)do log('FIELD '..tostring(fs[i]))end + local ms=t:GetMethods(flags) + for i=0,math.min(ms.Length-1,63)do + if ms[i].DeclaringType==t then log('METHOD '..tostring(ms[i]))end + end + local ps=t:GetProperties(flags) + for i=0,math.min(ps.Length-1,31)do log('PROPERTY '..tostring(ps[i]))end + log('END') + end +end diff --git a/tools/cw_resolve_token_probe.lua b/tools/cw_resolve_token_probe.lua new file mode 100644 index 0000000..324122f --- /dev/null +++ b/tools/cw_resolve_token_probe.lua @@ -0,0 +1,25 @@ +-- One previously captured method token through reflection, not a type scan. +do + if not _G.__gacCwResolveToken1 then + _G.__gacCwResolveToken1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_RESOLVE_TOKEN] '..tostring(v))end + local ok,err=pcall(function() + local owner=typeof(CS.RPG.Client.GridFightModule).Module + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local methods=owner:GetType():GetMethods(flags) + local method=nil + for i=0,methods.Length-1 do + local m=methods[i] + if m.Name=='ResolveMethod' and m:GetParameters().Length==1 then method=m;break end + end + if not method then error('ResolveMethod is absent from Module reflection metadata')end + local typed=CS.System.Array.CreateInstance(typeof(CS.System.Int32),1) + typed[0]=101276529 -- Captured GridFightModule.GetSeason. + local args=CS.System.Array.CreateInstance(typeof(CS.System.Object),1) + CS.System.Array.Copy(typed,0,args,0,1) + local result=method:Invoke(owner,CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),0),nil,args,nil) + log('RESULT '..tostring(result)) + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/cw_role_stars_export.lua b/tools/cw_role_stars_export.lua new file mode 100644 index 0000000..1aec983 --- /dev/null +++ b/tools/cw_role_stars_export.lua @@ -0,0 +1,40 @@ +-- Existing handbook role configs; read four star rows per heartbeat. No role +-- creation, Star assignment, gameplay action or scene loader. Pauses in Battle. +do + local s=_G.__gacCwRoleStars1 or {family=0,variant=0,star=1,count=0};_G.__gacCwRoleStars1=s + if s.done then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_ROLE_STARS] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + if not s.families then + s.families=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule:GetHandBookAllRoleConfig() + if s.families.Count>1024 then error('role family bound exceeded')end + log('BEGIN families='..s.families.Count) + end + for batch=1,4 do + if s.family>=s.families.Count then s.done=true;log('END count='..s.count);return end + local family=s.families[s.family] + local role=s.variant==0 and family.DefaultRole or family.OtherRoles[s.variant-1] + local config=role.RoleConfig + if config.MaxStar>16 then error('role star bound exceeded')end + local star=config:GetStarConfig(s.star) + if star then + local row=star:GetType():GetField('_Row',flags):GetValue(star) + local servant=star:GetType():GetField('_ServantStarRow',flags):GetValue(star) + local text='{"ID":'..config.ID..',"Star":'..s.star..',"StarConfig":'..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row)..',"ServantStarConfig":'..CS.Newtonsoft.Json.JsonConvert.SerializeObject(servant)..'}' + if #text>65536 then error('role star row exceeds bound')end + log('ROW '..text);s.count=s.count+1 + else log('MISSING '..config.ID..' '..s.star)end + s.star=s.star+1 + if s.star>config.MaxStar then + s.star=1;s.variant=s.variant+1 + local otherCount=family.OtherRoles and family.OtherRoles.Count or 0 + if s.variant>otherCount then s.variant=0;s.family=s.family+1 end + end + end + end) + if not ok then log('ERROR '..tostring(err));s.done=true end +end diff --git a/tools/cw_roles_export.lua b/tools/cw_roles_export.lua new file mode 100644 index 0000000..7c609e3 --- /dev/null +++ b/tools/cw_roles_export.lua @@ -0,0 +1,25 @@ +-- Read-only native handbook role configs, four rows per heartbeat. +do + _G.__gacCwRolesExport2=_G.__gacCwRolesExport2 or {index=0} + local state=_G.__gacCwRolesExport2 + if not state.done then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_ROLES] '..tostring(v))end + local ok,err=pcall(function() + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule + if not state.rows then + state.rows=module:GetHandBookAllRoleConfig() + log('BEGIN count='..state.rows.Count) + end + for i=state.index,math.min(state.index+3,state.rows.Count-1)do + local r=state.rows[i] + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local config=r.RoleConfig + local row=config:GetType():GetField('_Row',flags):GetValue(config) + log('ROW {"Config":'..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row)..',"Price":'..config.Price..',"MaxStar":'..config.MaxStar..',"DefaultStar":'..r.Star..',"DefaultSellPrice":'..r.SellPrice..'}') + end + state.index=state.index+4 + if state.index>=state.rows.Count then state.done=true;log('END')end + end) + if not ok then log('ERROR '..tostring(err));state.done=true end + end +end diff --git a/tools/cw_row_accessors_probe.lua b/tools/cw_row_accessors_probe.lua new file mode 100644 index 0000000..15a4607 --- /dev/null +++ b/tools/cw_row_accessors_probe.lua @@ -0,0 +1,24 @@ +-- Read only metadata on explicitly identified native row types. +-- One type per heartbeat, capped at 48 members per category. +do + local names={'GridFightRoleConfigRow','GridFightPlayerLevelConfigRow','GridFightSeasonModuleConfigRow','GridFightStageNodeDisplayConfigRow'} + _G.__gacCwRowAccessors1=_G.__gacCwRowAccessors1 or 1 + local index=_G.__gacCwRowAccessors1 + if index<=#names then + _G.__gacCwRowAccessors1=index+1 + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_ROW_ACCESSORS] '..tostring(v))end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local assembly=typeof(CS.RPG.GameCore.GridFightRoleConfigRow).Assembly + local t=assembly:GetType('RPG.GameCore.'..names[index]) + log('TYPE '..names[index]..' '..tostring(t)) + if t then + local fields=t:GetFields(flags) + for i=0,math.min(fields.Length-1,47)do log('FIELD '..tostring(fields[i]))end + local methods=t:GetMethods(flags) + for i=0,math.min(methods.Length-1,47)do + if methods[i].DeclaringType==t then log('METHOD '..tostring(methods[i]))end + end + end + if index==#names then log('END')end + end +end diff --git a/tools/cw_row_attributes_probe.lua b/tools/cw_row_attributes_probe.lua new file mode 100644 index 0000000..31baa6b --- /dev/null +++ b/tools/cw_row_attributes_probe.lua @@ -0,0 +1,18 @@ +-- Named row metadata attributes only; constructors are not executed. +do + local names={'GridFightPlayerLevelConfigRow','GridFightTutorialStageConfigRow'} + _G.__gacCwRowAttributes1=_G.__gacCwRowAttributes1 or 1 + local i=_G.__gacCwRowAttributes1 + if i<=#names then + _G.__gacCwRowAttributes1=i+1 + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_ROW_ATTRIBUTES] '..tostring(v))end + local ok,err=pcall(function() + local t=typeof(CS.RPG.GameCore[names[i]]) + log('TYPE '..t.FullName..' BASE '..tostring(t.BaseType)..' DECLARING '..tostring(t.DeclaringType)) + local attrs=t:GetCustomAttributesData() + for j=0,math.min(attrs.Count-1,15)do log('ATTRIBUTE '..tostring(attrs[j]))end + end) + if not ok then log('ERROR '..tostring(err))end + if i==#names then log('END')end + end +end diff --git a/tools/cw_run_config_schema_probe.lua b/tools/cw_run_config_schema_probe.lua new file mode 100644 index 0000000..3b1bba5 --- /dev/null +++ b/tools/cw_run_config_schema_probe.lua @@ -0,0 +1,25 @@ +-- Metadata only, one explicitly named CW configuration type per heartbeat. +do + local names={'RPG.Client.GridFightRoleStarConfig','RPG.Client.GridFightMonsterBattleStageData','RPG.Client.GridFightMonsterStageData','RPG.Client.GridFightGamePlayResConfig','RPG.GameCore.GridFightStageNodeTemplateConfigRow','RPG.GameCore.GridFightStageNodeConfigRow'} + _G.__gacCwRunConfigSchema1=_G.__gacCwRunConfigSchema1 or 1 + local index=_G.__gacCwRunConfigSchema1 + if index<=#names then + _G.__gacCwRunConfigSchema1=index+1 + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_RUN_CONFIG_SCHEMA] '..tostring(v))end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local assemblies={typeof(CS.RPG.Client.GridFightModule).Assembly,typeof(CS.RPG.GameCore.GridFightRoleConfigRow).Assembly} + local t=assemblies[1]:GetType(names[index]) or assemblies[2]:GetType(names[index]) + log('TYPE '..names[index]..' '..tostring(t)) + if t then + local fs=t:GetFields(flags) + for i=0,math.min(fs.Length-1,47)do log('FIELD '..tostring(fs[i]))end + local ps=t:GetProperties(flags) + for i=0,math.min(ps.Length-1,47)do log('PROPERTY '..tostring(ps[i]))end + local ms=t:GetMethods(flags) + for i=0,math.min(ms.Length-1,47)do + if ms[i].DeclaringType==t then log('METHOD '..tostring(ms[i]))end + end + end + if index==#names then log('END')end + end +end diff --git a/tools/cw_run_method_handles.lua b/tools/cw_run_method_handles.lua new file mode 100644 index 0000000..fc2807d --- /dev/null +++ b/tools/cw_run_method_handles.lua @@ -0,0 +1,32 @@ +-- Named runtime method handles only; one method per heartbeat, no invocation. +do + local targets={ + {'RPG.Client.GridFightModule','_StartTutorialLevel'}, + {'RPG.Client.GridFightStageNode','_RefreshCachedFields'}, + {'RPG.Client.GridFightStageNode','UpdateRouteNode'}, + {'RPG.Client.GridFightGameSession','Sync'}, + {'RPG.GameCore.GameCoreConfigLoader','LoadJsonConfig'}, + {'RPG.GameCore.GameCoreConfigLoader','LoadGridFightStageTemplateConfig'} + } + _G.__gacCwRunHandles1=_G.__gacCwRunHandles1 or 1 + local index=_G.__gacCwRunHandles1 + if index>#targets then return end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + _G.__gacCwRunHandles1=index+1 + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_RUN_HANDLE] '..tostring(v))end + local good,result=pcall(function() + local name,method=targets[index][1],targets[index][2] + local a=typeof(CS.RPG.Client.GridFightModule).Assembly + local b=typeof(CS.RPG.GameCore.GridFightRoleConfigRow).Assembly + local t=a:GetType(name) or b:GetType(name) + if not t then return name..' TYPE_MISSING' end + local m=t:GetMethod(method,flags) + if not m then return name..' '..method..' METHOD_MISSING' end + return name..' '..method..' '..tostring(m.MethodHandle.Value)..' signature='..tostring(m) + end) + log(tostring(good)..' '..tostring(result)) + if index==#targets then log('END')end +end diff --git a/tools/cw_runtime_schema.lua b/tools/cw_runtime_schema.lua new file mode 100644 index 0000000..ea88c79 --- /dev/null +++ b/tools/cw_runtime_schema.lua @@ -0,0 +1,31 @@ +-- Named Spotlight config and active session metadata, no actions/loaders. +do + local s=_G.__gacCwSpotlightSchema2 or {index=1};_G.__gacCwSpotlightSchema2=s + if s.done then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_RUNTIME_SCHEMA] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule + if not s.objects then + local session=module.CurGameSession;if not session then return end;local families=module:GetHandBookAllRoleConfig();local role=families[0].DefaultRole;s.objects={session.SpotLight,session.Track,role.RoleConfig,role.StarConfig} + end + local object=s.objects[s.index];if not object then s.done=true;log('END');return end + s.index=s.index+1 + local t=object:GetType();log('TYPE '..t.FullName) + local fs=t:GetFields(flags) + for i=0,math.min(fs.Length-1,63)do + log('FIELD '..tostring(fs[i])) + if false and tostring(fs[i].FieldType.FullName):find('Row$')then + local row=fs[i]:GetValue(object);if row then log('ROW '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row))end + end + end + local ps=t:GetProperties(flags);for i=0,math.min(ps.Length-1,63)do log('PROPERTY '..tostring(ps[i]))end + local ms=t:GetMethods(flags) + for i=0,math.min(ms.Length-1,127)do if ms[i].DeclaringType==t then log('METHOD '..tostring(ms[i]))end end + if s.index==5 then s.done=true;log('END')end + end) + if not ok then log('ERROR '..tostring(err));s.done=true end +end diff --git a/tools/cw_saved_condition_probe.lua b/tools/cw_saved_condition_probe.lua new file mode 100644 index 0000000..c00f900 --- /dev/null +++ b/tools/cw_saved_condition_probe.lua @@ -0,0 +1,17 @@ +-- Inspect the enum used by a captured CW room condition; no value changes. +do + if not _G.__gacCwSavedCondition1 then + _G.__gacCwSavedCondition1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_SAVED_CONDITION] '..tostring(v))end + local ok,err=pcall(function() + local r=CS.RPG.GameCore.GameCoreConfigLoader.LoadRtLevelGroupInfo(__GROUP_PATH__) + local condition=r.SavedValueCondition.Conditions[0] + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local t=condition:GetType():GetField('Operation',flags).FieldType + log('TYPE '..tostring(t)) + local names=CS.System.Enum.GetNames(t) + for i=0,names.Length-1 do log('ENUM '..names[i]..' '..CS.System.Convert.ToInt32(CS.System.Enum.Parse(t,names[i])))end + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/cw_scalar_wire_probe.lua b/tools/cw_scalar_wire_probe.lua new file mode 100644 index 0000000..c2ede3d --- /dev/null +++ b/tools/cw_scalar_wire_probe.lua @@ -0,0 +1,50 @@ +-- Encode isolated protobuf objects to map obfuscated backing fields to tags. +-- No objects are synced into a game module or sent as network responses. +do + local names={'AMEEHIIPMFP','CKPOBLIFMGN','MPIMAEMCEFH'} + _G.__gacCwScalarWire3=_G.__gacCwScalarWire3 or {index=1,field=0} + local state=_G.__gacCwScalarWire3 + if state.index<=#names then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_SCALAR_WIRE] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local t=typeof(CS[names[state.index]]) + local fields=t:GetFields(flags) + local count=0 + for i=state.field,fields.Length-1 do + state.field=i+1 + local f=fields[i] + if not f.IsStatic and f.FieldType==typeof(CS.System.UInt32) then + local obj=CS.System.Activator.CreateInstance(t) + local typed=CS.System.Array.CreateInstance(typeof(CS.System.UInt32),1);typed[0]=1 + local boxed=CS.System.Array.CreateInstance(typeof(CS.System.Object),2);boxed[0]=obj + CS.System.Array.Copy(typed,0,boxed,1,1) + local setters=f:GetType():GetMethods(flags) + local setter=nil + for j=0,setters.Length-1 do + if setters[j].Name=='SetValue' and setters[j]:GetParameters().Length==2 then setter=setters[j];break end + end + if not setter then error('FieldInfo.SetValue overload missing')end + local invoke=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),0) + setter:Invoke(f,invoke,nil,boxed,nil) + local bytes=CS.Google.Protobuf.MessageExtensions.ToByteArray(obj) + log('FIELD '..names[state.index]..' '..f.Name..' '..CS.System.BitConverter.ToString(bytes)) + local properties=t:GetProperties(flags) + local empty=CS.System.Array.CreateInstance(typeof(CS.System.Object),0) + for j=0,properties.Length-1 do + local p=properties[j] + if p.PropertyType==typeof(CS.System.UInt32) then + local getter=p:GetGetMethod(true) + if getter and not getter.IsStatic and getter:Invoke(obj,invoke,nil,empty,nil)==1 then + log('GETTER '..names[state.index]..' '..f.Name..' '..p.Name..' '..getter.MetadataToken) + end + end + end + count=count+1;if count>=2 then return end + end + end + log('END '..names[state.index]);state.index=state.index+1;state.field=0 + end) + if not ok then log('ERROR '..tostring(err));state.index=state.index+1;state.field=0 end + end +end diff --git a/tools/cw_schema_probe.lua b/tools/cw_schema_probe.lua new file mode 100644 index 0000000..b0b6f96 --- /dev/null +++ b/tools/cw_schema_probe.lua @@ -0,0 +1,28 @@ +-- CW-only, read-only reflection, one named type per heartbeat. +do + local names={'GridFightModule','GridFightPlayerProfile','GridFightDivisionInfo','GridFightSeason','GridFightGameSession','GridFightGameRef','GridFightDivisionConfig','GridFightTutorialStageConfig'} + _G.__gacCwSchemaIndex=_G.__gacCwSchemaIndex or 1 + local index=_G.__gacCwSchemaIndex + if index<=#names then + _G.__gacCwSchemaIndex=index+1 + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_SCHEMA] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local ns=CS.RPG.Client + local t=typeof(ns[names[index]]) + log('TYPE '..tostring(t)) + local fields=t:GetFields(flags) + for i=0,fields.Length-1 do log('FIELD '..tostring(fields[i]))end + local methods=t:GetMethods(flags) + for i=0,methods.Length-1 do + local m=methods[i] + if m.DeclaringType==t then + local n=tostring(m.Name) + if names[index]~='GridFightModule' or n:find('Data') or n:find('Sync') or n:find('Season') or n:find('Config') or n:find('GamePlay') then log('METHOD '..tostring(m)) end + end + end + log('END '..names[index]) + end) + if not ok then log('ERROR '..names[index]..' '..tostring(err))end + end +end diff --git a/tools/cw_season_timer_probe.lua b/tools/cw_season_timer_probe.lua new file mode 100644 index 0000000..eed698c --- /dev/null +++ b/tools/cw_season_timer_probe.lua @@ -0,0 +1,33 @@ +-- Named season/time getters and MonoRemainTimer metadata only. +do + if not _G.__gacCwSeasonTimer1 then + _G.__gacCwSeasonTimer1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_SEASON_TIMER] '..tostring(v))end + local ok,err=pcall(function() + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule + local season=module:GetSeason(module.SeasonID,module.SubSeasonID) + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local t=season:GetType() + local methods=t:GetMethods(flags) + for i=0,methods.Length-1 do + local m=methods[i] + if m.DeclaringType==t then log('METHOD '..tostring(m)..' TOKEN '..m.MetadataToken)end + end + local ps=t:GetProperties(flags) + for i=0,ps.Length-1 do + local p=ps[i] + log('PROPERTY '..tostring(p)) + local scalar=tostring(p.PropertyType.FullName) + if scalar=='System.Int64' or scalar=='System.UInt32' or scalar=='System.Boolean' or scalar=='System.Double' then + local getter=p:GetGetMethod(true) + local good,value=pcall(function()return getter:Invoke(season,CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),0),nil,CS.System.Array.CreateInstance(typeof(CS.System.Object),0),nil)end) + log('VALUE '..p.Name..' '..tostring(good)..' '..tostring(value)) + end + end + local timer=typeof(CS.RPG.Client.MonoRemainTimer) + local fields=timer:GetFields(flags) + for i=0,fields.Length-1 do log('TIMER_FIELD '..tostring(fields[i]))end + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/cw_settlement_rules_export.lua b/tools/cw_settlement_rules_export.lua new file mode 100644 index 0000000..e9ed537 --- /dev/null +++ b/tools/cw_settlement_rules_export.lua @@ -0,0 +1,35 @@ +-- Read only the active CW player's rules and current node's penalty row. +-- No new sessions, scene loaders, game actions or assembly scans. +do + local state=_G.__gacCwSettlementRules1 or {};_G.__gacCwSettlementRules1=state + if state.done then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_SETTLEMENT_RULE] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local session=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule.CurGameSession + if not session then return end + if not state.initialized then + local fields=session:GetType():GetFields(flags) + for i=0,math.min(fields.Length-1,63)do + local f=fields[i];local name=f.FieldType.FullName + if name=='RPG.Client.GridFightPlayer'then + local player=f:GetValue(session);if player then state.rules=player:GetVictoryRules();state.index=0;log('VICTORY_COUNT '..state.rules.Count)end + elseif name=='RPG.Client.GridFightStage'then + local stage=f:GetValue(session);local node=stage and stage.CurNode + if node then + local row=node:GetType():GetProperty('_PenaltyRuleConfigRow',flags):GetValue(node,nil) + if row then log('PENALTY_JSON '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row))end + end + end + end + state.initialized=true + end + if state.rules then + for _=1,2 do + if state.index>=state.rules.Count then log('END');state.done=true;return end + log('VICTORY_JSON '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(state.rules[state.index]));state.index=state.index+1 + end + else log('NO_PLAYER_RULES');state.done=true end + end) + if not ok then log('ERROR '..tostring(err));state.done=true end +end diff --git a/tools/cw_settlement_schema.lua b/tools/cw_settlement_schema.lua new file mode 100644 index 0000000..6efd941 --- /dev/null +++ b/tools/cw_settlement_schema.lua @@ -0,0 +1,26 @@ +-- Named settlement-rule metadata only, one target per heartbeat, no loaders. +do + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local targets={ + {'RPG.GameCore.GridFightPenaltyRuleConfigExcelTable',true}, + {'RPG.GameCore.GridFightPenaltyRuleExcelTable',true}, + {'RPG.GameCore.GridFightPenaltyRuleConfigRow',true}, + {'RPG.GameCore.GridFightPenaltyRuleRow',true}, + {'RPG.Client.GridFightVictoryCountRule',false}, + {'RPG.Client.GridFightPenaltyRule',false} + } + _G.__gacCwSettlementSchema1=_G.__gacCwSettlementSchema1 or 1 + local i=_G.__gacCwSettlementSchema1;if i>#targets then return end;_G.__gacCwSettlementSchema1=i+1 + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_SETTLEMENT_SCHEMA] '..tostring(v))end + local ok,err=pcall(function() + local item=targets[i];local assembly=item[2] and typeof(CS.RPG.GameCore.GridFightRoleConfigRow).Assembly or typeof(CS.RPG.Client.GridFightModule).Assembly + local t=assembly:GetType(item[1]);log('TYPE '..item[1]..' '..tostring(t));if not t then return end + local fs=t:GetFields(flags);for j=0,math.min(fs.Length-1,31)do if i~=6 then log('FIELD '..tostring(fs[j]))end end + local ms=t:GetMethods(flags) + for j=0,math.min(ms.Length-1,31)do local m=ms[j] + if m.DeclaringType==t then log('METHOD '..tostring(m)..' HANDLE '..tostring(m.MethodHandle.Value))end + end + end) + if not ok then log('ERROR '..tostring(err))end + if i==#targets then log('END')end +end diff --git a/tools/cw_shop_good_metadata.lua b/tools/cw_shop_good_metadata.lua new file mode 100644 index 0000000..995abbf --- /dev/null +++ b/tools/cw_shop_good_metadata.lua @@ -0,0 +1,40 @@ +-- Two named shop classes plus primitive protobuf getters; metadata only. +do + local names={'RPG.Client.GridFightShopGood','RPG.Client.GridFightShopRole','POCJDMMANBM','HDEIAANGMDB','BOPHDCKJMMN'} + _G.__gacCwShopGoodMeta1=_G.__gacCwShopGoodMeta1 or 1 + local index=_G.__gacCwShopGoodMeta1 + if index>#names then return end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + _G.__gacCwShopGoodMeta1=index+1 + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_SHOP_GOOD_META] '..tostring(v))end + local good,err=pcall(function() + local a=typeof(CS.RPG.Client.GridFightModule).Assembly + local t=a:GetType(names[index]) + if not t then t=typeof(CS[names[index]])end + log('TYPE '..names[index]) + if index<=2 then + local fields=t:GetFields(flags) + for i=0,math.min(fields.Length-1,47)do log('FIELD '..tostring(fields[i]))end + local ctors=t:GetConstructors(flags) + for i=0,math.min(ctors.Length-1,15)do log('CTOR '..tostring(ctors[i])..' '..tostring(ctors[i].MethodHandle.Value))end + local methods=t:GetMethods(flags) + for i=0,math.min(methods.Length-1,63)do + local m=methods[i] + if m.DeclaringType==t then log('METHOD '..tostring(m)..' '..tostring(m.MethodHandle.Value))end + end + end + local props=t:GetProperties(flags) + for i=0,math.min(props.Length-1,47)do + local p=props[i] + local getter=p:GetGetMethod(true) + if getter and not getter.IsStatic and p:GetIndexParameters().Length==0 and (p.PropertyType.IsPrimitive or p.PropertyType.IsEnum)then + log('GETTER '..names[index]..' '..p.Name..' '..tostring(getter.MethodHandle.Value)..' '..p.PropertyType.FullName) + end + end + end) + if not good then log('ERROR '..tostring(err))end + if index==#names then log('END')end +end diff --git a/tools/cw_shop_handle_export.lua b/tools/cw_shop_handle_export.lua new file mode 100644 index 0000000..1248ddb --- /dev/null +++ b/tools/cw_shop_handle_export.lua @@ -0,0 +1,30 @@ +-- Exact shop/protobuf getters and two named constructors; metadata only. +do + local names={'POCJDMMANBM','HDEIAANGMDB','BOPHDCKJMMN','RPG.Client.GridFightShopGood','RPG.Client.GridFightShopRole','RPG.Client.GridFightRoleShop'} + _G.__gacCwShopHandles1=_G.__gacCwShopHandles1 or {type=1,offset=0} + local s=_G.__gacCwShopHandles1 + if s.type>#names then return end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_SHOP_HANDLE] '..tostring(v))end + local good,err=pcall(function() + if not s.properties then + local t=typeof(CS.RPG.Client.GridFightModule).Assembly:GetType(names[s.type]) + if not t then t=typeof(CS[names[s.type]])end + s.properties=t:GetProperties(flags) + end + for i=s.offset,math.min(s.offset+15,s.properties.Length-1)do + local p=s.properties[i] + local getter=p:GetGetMethod(true) + if getter and not getter.IsStatic and p:GetIndexParameters().Length==0 then + log('GETTER '..names[s.type]..' '..p.Name..' '..tostring(getter.MethodHandle.Value)..' '..p.PropertyType.FullName) + end + end + s.offset=s.offset+16 + if s.offset>=s.properties.Length then s.properties=nil;s.offset=0;s.type=s.type+1 end + end) + if not good then log('ERROR '..tostring(err));s.properties=nil;s.offset=0;s.type=s.type+1 end + if s.type>#names then log('END')end +end diff --git a/tools/cw_shop_schema_probe.lua b/tools/cw_shop_schema_probe.lua new file mode 100644 index 0000000..eee0945 --- /dev/null +++ b/tools/cw_shop_schema_probe.lua @@ -0,0 +1,29 @@ +-- One named shop/protobuf type per heartbeat; metadata only, paused in Battle. +do + local names={'RPG.Client.GridFightRoleShop','POCJDMMANBM','HDEIAANGMDB','BOPHDCKJMMN'} + _G.__gacCwShopSchema1=_G.__gacCwShopSchema1 or 1 + local index=_G.__gacCwShopSchema1 + if index>#names then return end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + _G.__gacCwShopSchema1=index+1 + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_SHOP_SCHEMA] '..tostring(v))end + local good,err=pcall(function() + local a=typeof(CS.RPG.Client.GridFightModule).Assembly + local t=a:GetType(names[index]) + if not t then t=typeof(CS[names[index]])end + log('TYPE '..names[index]) + local fields=t:GetFields(flags) + for i=0,math.min(fields.Length-1,47)do log('FIELD '..tostring(fields[i]))end + local properties=t:GetProperties(flags) + for i=0,math.min(properties.Length-1,47)do log('PROPERTY '..tostring(properties[i]))end + if index==1 then + local m=t:GetMethod('Sync',flags) + if m then log('HANDLE '..names[index]..' Sync '..tostring(m.MethodHandle.Value)..' '..tostring(m))end + end + end) + if not good then log('ERROR '..tostring(err))end + if index==#names then log('END')end +end diff --git a/tools/cw_spotlight_binding_schema.lua b/tools/cw_spotlight_binding_schema.lua new file mode 100644 index 0000000..bb7ac6b --- /dev/null +++ b/tools/cw_spotlight_binding_schema.lua @@ -0,0 +1,19 @@ +-- Named Spotlight types only; metadata and handles, one type per heartbeat. +do + local s=_G.__gacCwBindingSchema1 or {index=1};_G.__gacCwBindingSchema1=s + if s.done then return end + local log=function(x)CS.UnityEngine.Debug.Log('[GAC_CW_SPOT_BINDING] '..tostring(x))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + local names={'ACNDKIFJLJC','RPG.Client.GridFightSpotLightBinding','RPG.GameCore.GridFightSpotLightSelectConfigRow','RPG.GameCore.GridFightSpotLightRefreshConfigRow'} + local name=names[s.index];if not name then s.done=true;log('END');return end;s.index=s.index+1 + local a=typeof(CS.RPG.Client.GridFightModule).Assembly;local b=typeof(CS.RPG.GameCore.GridFightRoleConfigRow).Assembly + local t=a:GetType(name) or b:GetType(name);log('TYPE '..name..' '..tostring(t));if not t then return end + local fields=t:GetFields(flags);for i=0,math.min(fields.Length-1,47)do log('FIELD '..tostring(fields[i]))end + local methods=t:GetMethods(flags);for i=0,math.min(methods.Length-1,95)do local m=methods[i];if m.DeclaringType==t then log('METHOD '..tostring(m)..' HANDLE '..tostring(m.MethodHandle.Value))end end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end +end diff --git a/tools/cw_spotlight_export.lua b/tools/cw_spotlight_export.lua new file mode 100644 index 0000000..217ba00 --- /dev/null +++ b/tools/cw_spotlight_export.lua @@ -0,0 +1,21 @@ +-- Four initialized handbook rows per heartbeat, pauses in Battle. +do + local s=_G.__gacCwSpotRows1 or {index=0};_G.__gacCwSpotRows1=s + if s.done then return end + local log=function(x)CS.UnityEngine.Debug.Log('[GAC_CW_SPOT_ROWS] '..tostring(x))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + if not s.rows then s.rows=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule:GetHandBookAllSpotLightData();if s.rows.Count>512 then error('bound exceeded')end;log('BEGIN '..s.rows.Count)end + for batch=1,4 do + if s.index>=s.rows.Count then s.done=true;log('END');return end + local c=s.rows[s.index];s.index=s.index+1 + local row=c:GetType():GetField('_Row',flags):GetValue(c) + local text=tostring(CS.Newtonsoft.Json.JsonConvert.SerializeObject(row));if #text>32768 then error('row bound exceeded')end + log('ROW '..text) + end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end +end diff --git a/tools/cw_spotlight_getters.lua b/tools/cw_spotlight_getters.lua new file mode 100644 index 0000000..669c0c4 --- /dev/null +++ b/tools/cw_spotlight_getters.lua @@ -0,0 +1,24 @@ +-- Named protobuf/accessor metadata only, maximum 24 getters per heartbeat. +do + local s=_G.__gacCwSpotGetters2 or {index=1,offset=0};_G.__gacCwSpotGetters2=s + if s.done then return end + local log=function(x)CS.UnityEngine.Debug.Log('[GAC_CW_SPOT_GETTER] '..tostring(x))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + local types={typeof(CS.BDLBHJGNCFM),typeof(CS.HLHHLIGPNOM),typeof(CS.FMBACDOFCAL),typeof(CS.RPG.Client.GridFightSpotLightSelectAction)} + local t=types[s.index];if not t then s.done=true;log('END');return end + if s.offset==0 then + log('TYPE '..t.FullName) + if s.index<=3 then local fs=t:GetFields(flags);for i=0,math.min(fs.Length-1,31)do log('FIELD '..tostring(fs[i]))end end + end + local ms=t:GetMethods(flags) + for i=s.offset,math.min(s.offset+23,ms.Length-1)do + local m=ms[i];if (s.index<=3 or m.Name:sub(1,4)=='get_') and m.DeclaringType==t then log('METHOD '..t.FullName..'.'..m.Name..' HANDLE '..tostring(m.MethodHandle.Value)..' SIGNATURE '..tostring(m))end + end + s.offset=s.offset+24;if s.offset>=ms.Length then s.offset=0;s.index=s.index+1 end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end +end diff --git a/tools/cw_spotlight_handles.lua b/tools/cw_spotlight_handles.lua new file mode 100644 index 0000000..2e341f4 --- /dev/null +++ b/tools/cw_spotlight_handles.lua @@ -0,0 +1,23 @@ +-- Named methods only; read metadata, four types at most, no gameplay actions. +do + local s=_G.__gacCwSpotHandles2 or {index=1};_G.__gacCwSpotHandles2=s + if s.done then return end + local log=function(x)CS.UnityEngine.Debug.Log('[GAC_CW_SPOT_HANDLE] '..tostring(x))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + local types={typeof(CS.RPG.Client.GridFightEquipTrackData),typeof(CS.RPG.Client.GridFightSpotLightSelectAction),typeof(CS.RPG.Client.GridFightSpotLightManager)} + local t=types[s.index];if not t then s.done=true;log('END');return end + local methods=t:GetMethods(flags) + for i=0,math.min(methods.Length-1,127)do + local m=methods[i] + if m.DeclaringType==t and (m.Name=='AddEquipTrack' or m.Name=='RemoveEquipTrack' or m.Name=='_AddTrackToLastAndSend' or m.Name=='SelectCandidate' or m.Name=='Select' or m.Name=='ReturnPreparation')then + log('METHOD '..t.FullName..'.'..m.Name..' HANDLE '..tostring(m.MethodHandle.Value)..' TOKEN '..m.MetadataToken) + end + end + s.index=s.index+1 + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end +end diff --git a/tools/cw_spotlight_schema.lua b/tools/cw_spotlight_schema.lua new file mode 100644 index 0000000..3e20a1d --- /dev/null +++ b/tools/cw_spotlight_schema.lua @@ -0,0 +1,33 @@ +-- Named Spotlight config and active session metadata, no actions/loaders. +do + local s=_G.__gacCwSpotlightSchema1 or {index=1};_G.__gacCwSpotlightSchema1=s + if s.done then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_SPOTLIGHT_SCHEMA] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule + if not s.objects then + local rows=module:GetHandBookAllSpotLightData();log('COUNT '..rows.Count) + if rows.Count==0 then error('Spotlight handbook is empty')end + s.objects={rows[0],module.CurGameSession} + end + local object=s.objects[s.index];if not object then s.done=true;log('END');return end + s.index=s.index+1 + local t=object:GetType();log('TYPE '..t.FullName) + local fs=t:GetFields(flags) + for i=0,math.min(fs.Length-1,63)do + log('FIELD '..tostring(fs[i])) + if s.index==2 and tostring(fs[i].FieldType.FullName):find('Row$')then + local row=fs[i]:GetValue(object);if row then log('ROW '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row))end + end + end + local ps=t:GetProperties(flags);for i=0,math.min(ps.Length-1,63)do log('PROPERTY '..tostring(ps[i]))end + local ms=t:GetMethods(flags) + for i=0,math.min(ms.Length-1,127)do if ms[i].DeclaringType==t then log('METHOD '..tostring(ms[i]))end end + if s.index==3 then s.done=true;log('END')end + end) + if not ok then log('ERROR '..tostring(err));s.done=true end +end diff --git a/tools/cw_spotlight_wire.lua b/tools/cw_spotlight_wire.lua new file mode 100644 index 0000000..7e13f93 --- /dev/null +++ b/tools/cw_spotlight_wire.lua @@ -0,0 +1,21 @@ +-- Encode isolated protobuf setters only. Never sync objects into game modules. +do + local s=_G.__gacCwSpotWire1 or {index=1};_G.__gacCwSpotWire1=s + if s.done then return end + local log=function(x)CS.UnityEngine.Debug.Log('[GAC_CW_SPOT_WIRE] '..tostring(x))end + local ok,err=pcall(function() + local cases={ + {'BDLBHJGNCFM','MOCGEAKBAIC',true},{'BDLBHJGNCFM','PBNPEIJAFIH',true},{'BDLBHJGNCFM','JPIFFOMPOHI',1}, + {'BDLBHJGNCFM','GJPPJLCBCCO',1},{'BDLBHJGNCFM','IHLAAFILILO',1},{'BDLBHJGNCFM','NFLMNAJGOHP',1},{'BDLBHJGNCFM','ADDNPPLJGOL',true}, + {'FMBACDOFCAL','NHNGGGEBOAC',1},{'FMBACDOFCAL','CKPDGGDDPLB',1},{'FMBACDOFCAL','EODGHOPFDCJ',1},{'FMBACDOFCAL','APPPOHDNCFL',1},{'FMBACDOFCAL','OKLMNCNNIKF',true} + } + for n=1,2 do + local row=cases[s.index];if not row then s.done=true;log('END');return end + local obj=CS.System.Activator.CreateInstance(typeof(CS[row[1]])) + obj[row[2]](obj,row[3]) + log(row[1]..'.'..row[2]..' '..CS.System.BitConverter.ToString(CS.Google.Protobuf.MessageExtensions.ToByteArray(obj))) + s.index=s.index+1 + end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end +end diff --git a/tools/cw_stage_method_tokens.lua b/tools/cw_stage_method_tokens.lua new file mode 100644 index 0000000..b04333c --- /dev/null +++ b/tools/cw_stage_method_tokens.lua @@ -0,0 +1,24 @@ +-- Named CW types only, at most 64 method tokens per heartbeat. +do + local names={'RPG.Client.GridFightStage','RPG.Client.GridFightStageRoute','RPG.Client.GridFightStageNode'} + _G.__gacCwStageTokens1=_G.__gacCwStageTokens1 or {index=1,method=0} + local state=_G.__gacCwStageTokens1 + if state.index<=#names then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_METHOD_TOKEN] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local assembly=typeof(CS.RPG.Client.GridFightModule).Assembly + local t=assembly:GetType(names[state.index]) + if not t then t=typeof(CS[names[state.index]])end + local methods=t:GetMethods(flags) + for i=state.method,math.min(state.method+63,methods.Length-1)do + local m=methods[i] + if m.DeclaringType==t then log('METHOD '..names[state.index]..' '..m.Name..' '..m.MetadataToken)end + end + state.method=state.method+64 + if state.method>=methods.Length then log('END '..names[state.index]);state.index=state.index+1;state.method=0 end + end) + if not ok then log('ERROR '..names[state.index]..' '..tostring(err));state.index=state.index+1;state.method=0 end + end +end + diff --git a/tools/cw_start_wire_probe.lua b/tools/cw_start_wire_probe.lua new file mode 100644 index 0000000..71a6a9a --- /dev/null +++ b/tools/cw_start_wire_probe.lua @@ -0,0 +1,51 @@ +-- Encode isolated protobuf objects to map obfuscated backing fields to tags. +-- No objects are synced into a game module or sent as network responses. +do + local names={'GridFightStartGamePlayCsReq'} + _G.__gacCwStartWire1=_G.__gacCwStartWire1 or {index=1,field=0} + local state=_G.__gacCwStartWire1 + if state.index<=#names then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_START_WIRE] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local t=typeof(CS[names[state.index]]) + local fields=t:GetFields(flags) + local count=0 + for i=state.field,fields.Length-1 do + state.field=i+1 + local f=fields[i] + if not f.IsStatic and f.FieldType==typeof(CS.System.UInt32) then + local obj=CS.System.Activator.CreateInstance(t) + local typed=CS.System.Array.CreateInstance(typeof(CS.System.UInt32),1);typed[0]=1 + local boxed=CS.System.Array.CreateInstance(typeof(CS.System.Object),2);boxed[0]=obj + CS.System.Array.Copy(typed,0,boxed,1,1) + local setters=f:GetType():GetMethods(flags) + local setter=nil + for j=0,setters.Length-1 do + if setters[j].Name=='SetValue' and setters[j]:GetParameters().Length==2 then setter=setters[j];break end + end + if not setter then error('FieldInfo.SetValue overload missing')end + local invoke=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),0) + setter:Invoke(f,invoke,nil,boxed,nil) + local bytes=CS.Google.Protobuf.MessageExtensions.ToByteArray(obj) + log('FIELD '..names[state.index]..' '..f.Name..' '..CS.System.BitConverter.ToString(bytes)) + local properties=t:GetProperties(flags) + local empty=CS.System.Array.CreateInstance(typeof(CS.System.Object),0) + for j=0,properties.Length-1 do + local p=properties[j] + if p.PropertyType==typeof(CS.System.UInt32) then + local getter=p:GetGetMethod(true) + if getter and not getter.IsStatic and getter:Invoke(obj,invoke,nil,empty,nil)==1 then + log('GETTER '..names[state.index]..' '..f.Name..' '..p.Name..' '..getter.MetadataToken) + end + end + end + count=count+1;if count>=2 then return end + end + end + log('END '..names[state.index]);state.index=state.index+1;state.field=0 + end) + if not ok then log('ERROR '..tostring(err));state.index=state.index+1;state.field=0 end + end +end + diff --git a/tools/cw_table_assembly_lookup.lua b/tools/cw_table_assembly_lookup.lua new file mode 100644 index 0000000..d2a1080 --- /dev/null +++ b/tools/cw_table_assembly_lookup.lua @@ -0,0 +1,29 @@ +-- Look up two exact table names across loaded assemblies, never enumerate types. +-- Eight exact-name lookups per heartbeat; no type enumeration or loader. +do + _G.__gacCwTableAssembly2=_G.__gacCwTableAssembly2 or {index=0} + local s=_G.__gacCwTableAssembly2 + if not s.done then + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager) + if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase) then return end + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_TABLE_ASSEMBLY] '..tostring(v))end + if not s.assemblies then + s.assemblies=CS.System.AppDomain.CurrentDomain:GetAssemblies() + if s.assemblies.Length>256 then log('ERROR Assembly count exceeds capture bound');s.done=true;return end + log('BEGIN count='..s.assemblies.Length) + end + for batch=1,8 do + if s.index=state.rows.Count then state.done=true;log('END hits='..state.hits)end + end) + if not ok then state.done=true;log('ERROR '..tostring(err))end + end +end diff --git a/tools/cw_template_schema_probe.lua b/tools/cw_template_schema_probe.lua new file mode 100644 index 0000000..4931217 --- /dev/null +++ b/tools/cw_template_schema_probe.lua @@ -0,0 +1,27 @@ +-- Metadata of named CW configuration types only, one type per heartbeat. +-- No config loader is invoked and no Client run/module state is changed. +do + local names={'GridFightStageTemplateConfig','GridFightBattleTemplate','GridFightWaveInfo','GridFightWaveMonsterEntry','GridFightWaveMonsterInfo','GridFightStageNodeDisplayConfigExcelTable'} + _G.__gacCwTemplateSchema1=_G.__gacCwTemplateSchema1 or {index=1,assembly=1} + local s=_G.__gacCwTemplateSchema1 + if s.index<=#names then + local log=function(v) CS.UnityEngine.Debug.Log('[GAC_CW_TEMPLATE_SCHEMA] '..tostring(v)) end + local assemblies={typeof(CS.RPG.GameCore.GridFightRoleConfigRow).Assembly,typeof(CS.RPG.GameCore.GameCoreConfigLoader).Assembly} + local t=assemblies[s.assembly]:GetType('RPG.GameCore.'..names[s.index]) + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + log('TYPE '..names[s.index]..' assembly='..s.assembly..' '..tostring(t)) + if t then + local fields=t:GetFields(flags) + for i=0,math.min(fields.Length-1,47) do log('FIELD '..tostring(fields[i])) end + local props=t:GetProperties(flags) + for i=0,math.min(props.Length-1,47) do log('PROPERTY '..tostring(props[i])) end + local methods=t:GetMethods(flags) + for i=0,math.min(methods.Length-1,47) do + if methods[i].DeclaringType==t then log('METHOD '..tostring(methods[i])) end + end + end + s.assembly=s.assembly+1 + if s.assembly>#assemblies then s.assembly=1;s.index=s.index+1 end + if s.index>#names then log('END') end + end +end diff --git a/tools/cw_text_loader_metadata_probe.lua b/tools/cw_text_loader_metadata_probe.lua new file mode 100644 index 0000000..124568c --- /dev/null +++ b/tools/cw_text_loader_metadata_probe.lua @@ -0,0 +1,23 @@ +-- Inspect text/config loader metadata on one known type in bounded batches. +-- No loader or callback is invoked. +do + _G.__gacCwTextLoader1=_G.__gacCwTextLoader1 or {index=0} + local s=_G.__gacCwTextLoader1 + if not s.done then + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_TEXT_LOADER] '..tostring(v))end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if not s.methods then + local t=typeof(CS.RPG.GameCore.GameCoreConfigLoader) + s.methods=t:GetMethods(flags) + local fields=t:GetFields(flags) + for i=0,math.min(fields.Length-1,31)do log('FIELD '..tostring(fields[i]))end + end + for i=s.index,math.min(s.index+63,s.methods.Length-1)do + local m=s.methods[i] + local name=m.Name:lower() + if m.ReturnType==typeof(CS.System.String) or name:find('text') or name:find('json') then log('METHOD '..tostring(m))end + end + s.index=s.index+64 + if s.index>=s.methods.Length then s.done=true;log('END')end + end +end diff --git a/tools/cw_tutorial_config_export.lua b/tools/cw_tutorial_config_export.lua new file mode 100644 index 0000000..a44add3 --- /dev/null +++ b/tools/cw_tutorial_config_export.lua @@ -0,0 +1,32 @@ +-- Export identified scalar tutorial rules from initialized native wrappers. +-- One wrapper per heartbeat. Does not start tutorials or load any JsonPath. +do + _G.__gacCwTutorialConfig1=_G.__gacCwTutorialConfig1 or {count=0} + local s=_G.__gacCwTutorialConfig1 + if not s.done then + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_TUTORIAL_CONFIG] '..tostring(v))end + local ok,err=pcall(function() + if not s.iterator then + local rows=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule.TutorialStageConfigs + if rows.Count>64 then error('Tutorial count exceeds capture bound')end + s.iterator=rows:GetEnumerator();s.expected=rows.Count;log('BEGIN count='..s.expected) + end + if s.iterator:MoveNext()then + local pair=s.iterator.Current + local row=pair.Value + local values={'"ID":'..pair.Key} + for _,name in ipairs({'DivisionID','RewardQuest','ForbiddenBattleFailChapterID','ForbiddenSellRoleBeforeChapterId','ForbiddenSellRoleBeforeSectionId','HasMonsterReveal','HasPortal','HasInitialSupply','HasRouteShow','HasEquipRecommendShow','HasBossToastShow','UseTrialAvatar'})do + values[#values+1]='"'..name..'":'..tostring(row[name]) + end + for _,name in ipairs({'ForbiddenSellRoleDict','ForbiddenAutoOpenShopNodeList'})do + values[#values+1]='"'..name..'":'..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row[name]) + end + log('ROW {'..table.concat(values,',')..'}');s.count=s.count+1 + else + if s.count~=s.expected then error('Tutorial table changed')end + s.done=true;log('END') + end + end) + if not ok then log('ERROR '..tostring(err));s.done=true end + end +end diff --git a/tools/cw_tutorial_json_capture.lua b/tools/cw_tutorial_json_capture.lua new file mode 100644 index 0000000..589b9fb --- /dev/null +++ b/tools/cw_tutorial_json_capture.lua @@ -0,0 +1,32 @@ +-- Parse only the exact native FirstPlay JSON through the plain JSON reader. +-- Does not call LoadLevelGraphConfig, execute tasks, or start a game session. +-- Output is bounded to one 4096-byte JSON-escaped chunk per heartbeat. +do + _G.__gacCwTutorialJson1=_G.__gacCwTutorialJson1 or {index=1} + local s=_G.__gacCwTutorialJson1 + if not s.done then + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_TUTORIAL_JSON] '..tostring(v))end + local ok,err=pcall(function() + if not s.text then + local rule=CS.RPG.GameCore.ConstValueCommonExcelTable.GetData('GridFight_FirstPlay_JsonPath') + if not rule or not rule.Value.IsString then error('Native tutorial JSON path missing')end + s.path=rule.Value.StringValue + local node=CS.RPG.GameCore.GameCoreConfigLoader.LoadJsonConfig(s.path) + if not node then error('Plain JSON reader returned nil')end + s.text=tostring(node:ToString()) + if #s.text>1048576 then error('Tutorial JSON exceeds capture bound')end + log('BEGIN path='..s.path..' bytes='..#s.text) + end + if s.index<=#s.text then + -- JSON configuration is emitted as escaped text to preserve chunk content. + local finish=math.min(s.index+4095,#s.text) + while finish<#s.text and string.byte(s.text,finish+1)>=128 and string.byte(s.text,finish+1)<192 do finish=finish-1 end + log('CHUNK '..s.index..' '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(s.text:sub(s.index,finish))) + s.index=finish+1 + else + log('END bytes='..#s.text);s.text=nil;s.done=true + end + end) + if not ok then log('ERROR '..tostring(err));s.done=true;s.text=nil end + end +end diff --git a/tools/cw_tutorial_rows_probe.lua b/tools/cw_tutorial_rows_probe.lua new file mode 100644 index 0000000..c6630fc --- /dev/null +++ b/tools/cw_tutorial_rows_probe.lua @@ -0,0 +1,48 @@ +-- Read initialized tutorial wrapper rows only; never load their JsonPath. +do + _G.__gacCwTutorialRows3=_G.__gacCwTutorialRows3 or {count=0} + local s=_G.__gacCwTutorialRows3 + if not s.done then + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_TUTORIAL_ROWS] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if not s.iterator then + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule + local rows=module.TutorialStageConfigs + if rows.Count>64 then error('Tutorial table exceeds capture bound')end + s.expected=rows.Count;s.iterator=rows:GetEnumerator();log('BEGIN count='..s.expected) + end + if s.iterator:MoveNext()then + local wrapper=s.iterator.Current.Value + local t=wrapper:GetType() + local row=nil + for depth=1,4 do + if not t then break end + local fields=t:GetFields(flags) + for i=0,math.min(fields.Length-1,47)do + local f=fields[i] + if f.FieldType.FullName=='RPG.GameCore.GridFightTutorialStageConfigRow' then row=f:GetValue(wrapper)end + end + if not row then + local methods=t:GetMethods(flags) + for i=0,math.min(methods.Length-1,63)do + local m=methods[i] + if m.Name:sub(1,4)=='get_' and m.ReturnType.FullName=='RPG.GameCore.GridFightTutorialStageConfigRow' and m:GetParameters().Length==0 then + row=m:Invoke(wrapper,CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),0),nil,CS.System.Array.CreateInstance(typeof(CS.System.Object),0),nil) + end + end + end + if row then break end + t=t.BaseType + end + if not row then error('Tutorial wrapper has no native row field in bounded base chain')end + log('ROW '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row)) + s.count=s.count+1 + else + if s.count~=s.expected then error('Tutorial table changed during capture')end + log('END');s.done=true + end + end) + if not ok then log('ERROR '..tostring(err));s.done=true end + end +end diff --git a/tools/cw_tutorial_schema_probe.lua b/tools/cw_tutorial_schema_probe.lua new file mode 100644 index 0000000..ffba527 --- /dev/null +++ b/tools/cw_tutorial_schema_probe.lua @@ -0,0 +1,14 @@ +-- Metadata on the one initialized tutorial wrapper type; no graph reads. +do + if not _G.__gacCwTutorialSchema1 then + _G.__gacCwTutorialSchema1=true + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_TUTORIAL_SCHEMA] '..tostring(v))end + local t=typeof(CS.RPG.Client.GridFightTutorialStageConfig) + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local fs=t:GetFields(flags) + for i=0,math.min(fs.Length-1,47)do log('FIELD '..tostring(fs[i]))end + local ps=t:GetProperties(flags) + for i=0,math.min(ps.Length-1,47)do log('PROPERTY '..tostring(ps[i]))end + log('END') + end +end diff --git a/tools/cw_ui_state_probe.lua b/tools/cw_ui_state_probe.lua new file mode 100644 index 0000000..1e644e7 --- /dev/null +++ b/tools/cw_ui_state_probe.lua @@ -0,0 +1,34 @@ +-- Read-only CW page and native entry state, bounded to CW-named pages. +do + if not _G.__gacCwUIState1 then + _G.__gacCwUIState1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_UI_STATE] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.GridFightModule + log('AUTO_SHOW '..tostring(module:GetType():GetField('_NeedShowEntrancePage',flags):GetValue(module))) + log('SESSION '..tostring(module.CurGameSession)) + local ui=CS.RPG.Client.GlobalVars.s_UIManager + local names=ui:GetAllPageNames() + for i=0,names.Count-1 do + local name=tostring(names[i]) + if name:lower():find('gridfight')then + log('PAGE '..name) + local page=ui:GetPageByName(name) + local lua=page and page.LuaTable + if type(lua)=='table' then + local n=0 + for k,v in pairs(lua)do + if type(v)=='function' then + local info=debug.getinfo(v,'S') + log('FUNCTION '..tostring(k)..' '..tostring(info and info.source)) + elseif type(v)~='userdata' and type(v)~='table' then log('FIELD '..tostring(k)..' '..tostring(v))end + n=n+1;if n>=96 then break end + end + end + end + end + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/cw_ui_timer_trace.lua b/tools/cw_ui_timer_trace.lua new file mode 100644 index 0000000..40050a6 --- /dev/null +++ b/tools/cw_ui_timer_trace.lua @@ -0,0 +1,52 @@ +-- Temporary observation of timers created by the named CW page. No timer or +-- UI values are changed. Restore the original method after two minutes. +do + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_TIMER_TRACE] '..tostring(v))end + local state=_G.__gacCwTimerTrace1 + if not state then + local class=package.loaded['Ui.GridFight.Entrance.S2.GridFightS2EntrancePage'] + if type(class)=='table' and type(class._refresh_remain_timer)=='function' then + state={class=class,original=class._refresh_remain_timer,deadline=CS.UnityEngine.Time.realtimeSinceStartup+120} + _G.__gacCwTimerTrace1=state + local function pack(...)return {n=select('#',...),...}end + state.wrapped=function(self,...) + local results=pack(state.original(self,...)) + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local timers=CS.UnityEngine.Resources.FindObjectsOfTypeAll(typeof(CS.RPG.Client.MonoRemainTimer)) + log('COUNT '..timers.Length) + for i=0,math.min(timers.Length-1,63)do + local timer=timers[i] + local transform=timer.transform + local path=tostring(transform.name) + for j=1,12 do + transform=transform.parent + if not transform then break end + path=tostring(transform.name)..'/'..path + end + if path:lower():find('gridfight') then + log('PATH '..path) + local target=timer:GetType():GetField('_targetTime',flags):GetValue(timer) + local fields=target:GetType():GetFields(flags) + for j=0,math.min(fields.Length-1,31)do + local f=fields[j] + if not f.IsStatic then + local v=f:GetValue(target) + local good,text=pcall(function()return tostring(v)end) + if good then log('TARGET '..tostring(f)..' '..text)end + end + end + end + end + end) + if not ok then log('ERROR '..tostring(err))end + return (table.unpack or unpack)(results,1,results.n) + end + class._refresh_remain_timer=state.wrapped + log('READY') + end + elseif not state.done and (state.stop or CS.UnityEngine.Time.realtimeSinceStartup>=state.deadline)then + if state.class._refresh_remain_timer==state.wrapped then state.class._refresh_remain_timer=state.original end + state.done=true;log('RESTORED') + end +end diff --git a/tools/cw_ui_trace_probe.lua b/tools/cw_ui_trace_probe.lua new file mode 100644 index 0000000..e0efc9a --- /dev/null +++ b/tools/cw_ui_trace_probe.lua @@ -0,0 +1,34 @@ +-- Temporary observers on the named CW entrance lifecycle only. Preserve every +-- argument/return; restore originals on deadline. No UI/gameplay action calls. +do + local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_UI_TRACE] '..tostring(v))end + local state=_G.__gacCwUiTrace1 + if not state then + local class=package.loaded['Ui.GridFight.Entrance.S2.GridFightS2EntrancePage'] + if type(class)=='table' then + state={class=class,methods={},deadline=CS.UnityEngine.Time.realtimeSinceStartup+120} + _G.__gacCwUiTrace1=state + for _,name in ipairs({'_on_load','_setup_view','_try_show_tutorial','_start_action','_on_entrance_anim_end','_on_dispose','_on_remain_timer_expire'})do + local original=class[name] + if type(original)=='function' then + local methodName=name + local wrapped=function(self,...) + log('ENTER '..methodName) + if methodName=='_on_dispose' or methodName=='_on_remain_timer_expire' then + if debug and debug.traceback then log('STACK '..debug.traceback('',2))end + end + return original(self,...) + end + state.methods[name]={original=original,wrapped=wrapped} + class[name]=wrapped + end + end + log('READY') + end + elseif not state.done and (state.stop or CS.UnityEngine.Time.realtimeSinceStartup>=state.deadline)then + for name,item in pairs(state.methods)do + if state.class[name]==item.wrapped then state.class[name]=item.original end + end + state.done=true;log('RESTORED') + end +end diff --git a/tools/cw_wave_table_schema.lua b/tools/cw_wave_table_schema.lua new file mode 100644 index 0000000..5dba281 --- /dev/null +++ b/tools/cw_wave_table_schema.lua @@ -0,0 +1,18 @@ +-- Named flat-table metadata only. No scene/template loaders or actions. +do + local names={'StageExcelTable','StageConfigExcelTable','GridFightFormationWaveExcelTable','GridFightFormationWaveConfigExcelTable','GridFightEliteGroupExcelTable','GridFightEliteGroupConfigExcelTable'} + local index=_G.__gacCwWaveTables1 or 1 + if index>#names then return end + _G.__gacCwWaveTables1=index+1 + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_CW_WAVE_TABLE] '..tostring(v))end + local ok,err=pcall(function() + local assembly=typeof(CS.RPG.GameCore.GridFightRoleConfigRow).Assembly + local t=assembly:GetType('RPG.GameCore.'..names[index]);log('TYPE '..names[index]..' '..tostring(t)) + if not t then return end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local methods=t:GetMethods(flags) + for i=0,math.min(methods.Length-1,47)do if methods[i].DeclaringType==t then log('METHOD '..tostring(methods[i]))end end + end) + if not ok then log('ERROR '..tostring(err))end + if index==#names then log('END')end +end diff --git a/tools/damage_active_modules_probe.lua b/tools/damage_active_modules_probe.lua new file mode 100644 index 0000000..7b65e22 --- /dev/null +++ b/tools/damage_active_modules_probe.lua @@ -0,0 +1,25 @@ +-- Inspect only modules of the active battle world, at most 16 entries/fields +-- per heartbeat. Never enumerate types/methods from an assembly. +do + local s=_G.__gacDamageActivePlugins1 or {index=0};_G.__gacDamageActivePlugins1=s + if not s.done then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_DAMAGE_ACTIVE] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if not s.modules then + local pm=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(pm) + if not typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + local director=phase:GetType():GetField('_LevelDirector',flags):GetValue(phase) + local world=director:GetType():GetField('_WorldRef',flags):GetValue(director) + log('WORLD '..tostring(world:GetType())) + s.modules=world:GetType():GetField('_PluginsArray',flags):GetValue(world) + if not s.modules then log('NO_PLUGINS');s.done=true;return end + log('PLUGINS '..s.modules.Length) + end + for i=s.index,math.min(s.index+15,s.modules.Length-1)do if s.modules[i]~=nil then log('PLUGIN '..i..' '..tostring(s.modules[i]:GetType()))end end + s.index=s.index+16;if s.index>=s.modules.Length then s.done=true;log('END')end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end + end +end diff --git a/tools/damage_active_stat_field_probe.lua b/tools/damage_active_stat_field_probe.lua new file mode 100644 index 0000000..6cfbd1d --- /dev/null +++ b/tools/damage_active_stat_field_probe.lua @@ -0,0 +1,59 @@ +-- At most 16 metadata fields and 32 empty component slots per rendered frame. +-- Scope is the two native level entities in the active battle world. +do + local s=_G.__gacDamageStatField1 or {entity=0,component=0,field=0};_G.__gacDamageStatField1=s + local function log(v)CS.UnityEngine.Debug.Log('[GAC_DAMAGE_STAT_FIELD] '..tostring(v))end + local function step() + if s.done or s.frame==CS.UnityEngine.Time.frameCount then return end + s.frame=CS.UnityEngine.Time.frameCount + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if not s.entities then + local pm=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(pm) + if not typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + local instance=phase.BattleInstanceRef;if not instance then return end + local world=instance:GetType():GetField('_GameWorld',flags):GetValue(instance) + s.entities=world:GetType():GetField('_EntityList',flags):GetValue(world) + end + if not s.components then + for i=s.entity,math.min(s.entity+15,s.entities.Count-1)do + local e=s.entities[i];s.entity=i+1 + if e and (e.RuntimeID==CS.RPG.GameCore.GameWorld.CommonLevelEntityRuntimeID or e.RuntimeID==CS.RPG.GameCore.GameWorld.BattleLevelEntityRuntimeID)then + s.components=e:GetType():GetField('_ComponentArray',flags):GetValue(e);s.component=0;log('ENTITY '..e.RuntimeID);return + end + end + if s.entity>=s.entities.Count then s.done=true;log('END_NO_FIELD')end + elseif not s.fields then + for i=s.component,math.min(s.component+31,s.components.Length-1)do + s.component=i+1 + local c=s.components[i] + if c then s.owner=c;s.ownerIndex=i;s.fields=c:GetType():GetFields(flags);s.field=0;return end + end + if s.component>=s.components.Length then s.components=nil end + else + for i=s.field,math.min(s.field+15,s.fields.Length-1)do + local f=s.fields[i] + if tostring(f.FieldType.FullName)=='RPG.GameCore.PVEGameStatistics'then + local value=f:GetValue(s.owner) + log('FOUND '..s.ownerIndex..' '..tostring(s.owner:GetType())..' '..f.Name..' '..tostring(value)) + s.stats=value;s.done=true;return + end + end + s.field=s.field+16;if s.field>=s.fields.Length then s.fields=nil end + end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end + end + s.step=step + if not s.registered then + local function tick()if s.step then s.step()end end + local ok=pcall(function()CS.UnityEngine.Camera.onPostRender('+',tick)end) + s.registered=ok + end + if not s.applicationHooked then + local function tick()if s.step then s.step()end end + s.applicationHooked=pcall(function()CS.UnityEngine.Application.onBeforeRender('+',tick)end) + end + step() +end diff --git a/tools/damage_battle_instance_schema.lua b/tools/damage_battle_instance_schema.lua new file mode 100644 index 0000000..c2ecff3 --- /dev/null +++ b/tools/damage_battle_instance_schema.lua @@ -0,0 +1,18 @@ +do + local s=_G.__gacDamageBattleSchema1 or {phase=1,index=0};_G.__gacDamageBattleSchema1=s + if s.phase<=2 then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_DAMAGE_BATTLE_INSTANCE] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local t=typeof(CS.RPG.GameCore.BattleInstance) + local list=s.phase==1 and t:GetFields(flags)or t:GetMethods(flags) + for i=s.index,math.min(s.index+15,list.Length-1)do + local f=list[i] + if s.phase==1 then log('FIELD '..f.Name..' '..tostring(f.FieldType))elseif tostring(f):find('Statistic')or tostring(f):find('Stt')then log('METHOD '..tostring(f))end + end + s.index=s.index+16;if s.index>=list.Length then s.phase=s.phase+1;s.index=0 end + end) + if not ok then log('ERROR '..tostring(err));s.phase=3 end + end +end + diff --git a/tools/damage_cached_proto_probe.lua b/tools/damage_cached_proto_probe.lua new file mode 100644 index 0000000..10dce21 --- /dev/null +++ b/tools/damage_cached_proto_probe.lua @@ -0,0 +1,21 @@ +do + if not _G.__gacDamageCachedProto1 then + _G.__gacDamageCachedProto1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_DAMAGE_CACHED] '..tostring(v))end + local ok,err=pcall(function() + local stat=CS.RPG.Client.GlobalVars.s_ModuleManager.BattleModule.LastBattleStatistic + for i=0,math.min(stat.lightTeamBattleInfoList.Count-1,3)do + local a=stat.lightTeamBattleInfoList[i] + log('LIST '..i..' '..CS.System.Convert.ToBase64String(CS.Google.Protobuf.MessageExtensions.ToByteArray(a))) + end + for i=0,math.min(stat.lightTeamStt.Length-1,3)do + local a=stat.lightTeamStt[i] + log('CHAR '..i..' '..CS.System.Convert.ToBase64String(CS.Google.Protobuf.MessageExtensions.ToByteArray(a.avatarBattleInfo))) + for _,n in ipairs({'HNJNDLEFMBE','EKOIOILEJID','KEOOJBHFLFD','FNFFCPLHPGI','FLDANBDGGLO','GKEEIFGGKHJ','OOKAPAKPFGK','EAPPECOODMI','ENCMPAHMDBN','FLBALEEBHKN'})do + log('VALUE '..i..' '..n..' '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(a[n])) + end + end + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/damage_core_methods.lua b/tools/damage_core_methods.lua new file mode 100644 index 0000000..b75ef77 --- /dev/null +++ b/tools/damage_core_methods.lua @@ -0,0 +1,17 @@ +do + local s=_G.__gacDamageCoreMethods1 or {phase=1,index=0};_G.__gacDamageCoreMethods1=s + if s.phase<=2 then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_DAMAGE_CORE] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local ts={typeof(CS.RPG.GameCore.PVEGameCore),typeof(CS.RPG.GameCore.GameWorld)} + local ms=ts[s.phase]:GetMethods(flags) + for i=s.index,math.min(s.index+23,ms.Length-1)do + local str=tostring(ms[i]) + if str:find('Statistic')or str:find('Stt')or str:find('Component')or str:find('PVE')then log('METHOD '..s.phase..' '..str)end + end + s.index=s.index+24;if s.index>=ms.Length then s.phase=s.phase+1;s.index=0 end + end) + if not ok then log('ERROR '..tostring(err));s.phase=s.phase+1;s.index=0 end + end +end diff --git a/tools/damage_game_context_probe.lua b/tools/damage_game_context_probe.lua new file mode 100644 index 0000000..294c0bb --- /dev/null +++ b/tools/damage_game_context_probe.lua @@ -0,0 +1,23 @@ +do + local s=_G.__gacDamageGameContext1 or {index=0};_G.__gacDamageGameContext1=s + if not s.done then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_DAMAGE_GAME_CONTEXT] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local pm=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(pm) + if not typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + local context=phase.GameContext;local fs=context:GetType():GetFields(flags) + for i=s.index,math.min(s.index+15,fs.Length-1)do log('FIELD '..fs[i].Name..' '..tostring(fs[i].FieldType))end + s.index=s.index+16;if s.index>=fs.Length then + local instance=phase.BattleInstanceRef + local world=instance:GetType():GetField('_GameWorld',flags):GetValue(instance) + local modules=world:GetType():GetField('_Modules',flags):GetValue(world) + log('MODULES '..tostring(modules)) + if modules then for i=0,math.min(modules.Count-1,15)do log('MODULE '..i..' '..tostring(modules[i]:GetType()))end end + s.done=true;log('END') + end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end + end +end diff --git a/tools/damage_level_components_probe.lua b/tools/damage_level_components_probe.lua new file mode 100644 index 0000000..f26fec3 --- /dev/null +++ b/tools/damage_level_components_probe.lua @@ -0,0 +1,33 @@ +do + local s=_G.__gacDamageLevelComponents1 or {index=0,entity=0};_G.__gacDamageLevelComponents1=s + if not s.done then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_DAMAGE_LEVEL_COMPONENT] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if not s.entities then + local pm=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(pm) + if not typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + local instance=phase.BattleInstanceRef + if instance==nil then return end + local world=instance:GetType():GetField('_GameWorld',flags):GetValue(instance) + s.entities=world:GetType():GetField('_EntityList',flags):GetValue(world) + log('ENTITIES '..s.entities.Count) + end + if s.components then + for i=s.index,math.min(s.index+31,s.components.Length-1)do if s.components[i]then log('COMPONENT '..i..' '..tostring(s.components[i]:GetType()))end end + s.index=s.index+32;if s.index>=s.components.Length then s.components=nil;s.index=0 end + else + for i=s.entity,math.min(s.entity+15,s.entities.Count-1)do + local e=s.entities[i];s.entity=i+1 + if e and (e.RuntimeID==CS.RPG.GameCore.GameWorld.CommonLevelEntityRuntimeID or e.RuntimeID==CS.RPG.GameCore.GameWorld.BattleLevelEntityRuntimeID)then + log('ENTITY '..e.RuntimeID) + s.components=e:GetType():GetField('_ComponentArray',flags):GetValue(e);s.index=0;return + end + end + if s.entity>=s.entities.Count then s.done=true;log('END')end + end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end + end +end diff --git a/tools/damage_live_source_probe.lua b/tools/damage_live_source_probe.lua new file mode 100644 index 0000000..cd5d69a --- /dev/null +++ b/tools/damage_live_source_probe.lua @@ -0,0 +1,15 @@ +-- Bounded metadata for the two observed holders of the active battle core. +do + local s=_G.__gacDamageLiveSource1 or {phase=1,index=0};_G.__gacDamageLiveSource1=s + if s.phase<=3 then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_DAMAGE_SOURCE] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local ts={typeof(CS.IBOLNDGHCBB),typeof(CS.RPG.Client.BattleLevelDirector),typeof(CS.RPG.Client.BattleGamePhaseInitParams)} + local fs=ts[s.phase]:GetFields(flags) + for i=s.index,math.min(s.index+15,fs.Length-1)do log('FIELD '..s.phase..' '..fs[i].Name..' '..tostring(fs[i].FieldType))end + s.index=s.index+16;if s.index>=fs.Length then s.index=0;s.phase=s.phase+1 end + end) + if not ok then log('ERROR '..tostring(err));s.phase=4 end + end +end diff --git a/tools/damage_live_values_probe.lua b/tools/damage_live_values_probe.lua new file mode 100644 index 0000000..3338fa6 --- /dev/null +++ b/tools/damage_live_values_probe.lua @@ -0,0 +1,22 @@ +do + if not _G.__gacDamageLiveValues1 then + local source=_G.__gacDamageStatField1 + if source and source.owner then + _G.__gacDamageLiveValues1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_DAMAGE_LIVE_VALUE] '..tostring(v))end + local ok,err=pcall(function() + local owner=source.owner + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + for _,n in ipairs({'_totalBattleTurns','_totalBattleRounds','_lastSimulateTime','_totalSkillPerformTime','_totalAutoTurns'})do + log('VALUE '..n..' '..tostring(owner:GetType():GetField(n,flags):GetValue(owner))) + end + local chars=owner:GetType():GetField('_LightTeamStt',flags):GetValue(owner) + for i=0,math.min(chars.Length-1,3)do + log('AVATAR '..i..' '..CS.System.Convert.ToBase64String(CS.Google.Protobuf.MessageExtensions.ToByteArray(chars[i].avatarBattleInfo))) + log('DAMAGE '..i..' '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(chars[i].FNFFCPLHPGI)) + end + end) + if not ok then log('ERROR '..tostring(err))end + end + end +end diff --git a/tools/damage_logic_stats_probe.lua b/tools/damage_logic_stats_probe.lua new file mode 100644 index 0000000..c360f51 --- /dev/null +++ b/tools/damage_logic_stats_probe.lua @@ -0,0 +1,14 @@ +do + local s=_G.__gacDamageLogicStats1 or {phase=1,index=0};_G.__gacDamageLogicStats1=s + if not s.done then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_DAMAGE_LOGIC] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local t=s.phase==1 and typeof(CS.RPG.GameCore.TurnBasedGameMode)or typeof(CS.RPG.GameCore.GameEntity) + local fs=t:GetFields(flags) + for i=s.index,math.min(s.index+15,fs.Length-1)do log('FIELD '..s.phase..' '..fs[i].Name..' '..tostring(fs[i].FieldType))end + s.index=s.index+16;if s.index>=fs.Length then s.phase=s.phase+1;s.index=0;if s.phase>2 then s.done=true end end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end + end +end diff --git a/tools/damage_native_stats_probe.lua b/tools/damage_native_stats_probe.lua new file mode 100644 index 0000000..021b65f --- /dev/null +++ b/tools/damage_native_stats_probe.lua @@ -0,0 +1,35 @@ +-- Read cached native character statistics; 16 named-type fields per heartbeat. +do + local s=_G.__gacDamageNativeProbe1 or {index=0};_G.__gacDamageNativeProbe1=s + if not s.done then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_DAMAGE_NATIVE] '..tostring(v))end + local ok,err=pcall(function() + local stat=CS.RPG.Client.GlobalVars.s_ModuleManager.BattleModule.LastBattleStatistic + if stat==nil then return end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if not s.obj then + local a=stat.lightTeamStt + log('ARRAY '..type(a)..' '..tostring(a)) + if a==nil then s.done=true;return end + s.obj=a[0];s.fields=s.obj:GetType():GetFields(flags);log('TYPE '..tostring(s.obj:GetType())) + local bytes=CS.Google.Protobuf.MessageExtensions.ToByteArray(stat.lightTeamBattleInfoList[0]) + log('BYTES '..type(bytes)..' len='..tostring(bytes.Length)..' hashlen='..tostring(#bytes)) + end + for i=s.index,math.min(s.index+15,s.fields.Length-1)do + local f=s.fields[i];log('FIELD '..f.Name..' '..tostring(f.FieldType)) + if not f.IsStatic then + local good,v=pcall(function()return f:GetValue(s.obj)end) + if good and v~=nil then + if f.FieldType.IsPrimitive or f.FieldType.IsEnum then log('VALUE '..f.Name..' '..tostring(v)) + elseif f.Name:lower():find('damage')or f.Name:lower():find('skill')then + local success,body=pcall(function()return CS.Newtonsoft.Json.JsonConvert.SerializeObject(v)end) + if success and #body<24000 then log('JSON '..f.Name..' '..body)end + end + end + end + end + s.index=s.index+16;if s.index>=s.fields.Length then s.done=true;log('END')end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end + end +end diff --git a/tools/damage_phase_core_refs.lua b/tools/damage_phase_core_refs.lua new file mode 100644 index 0000000..1cfdad4 --- /dev/null +++ b/tools/damage_phase_core_refs.lua @@ -0,0 +1,24 @@ +do + local s=_G.__gacDamagePhaseRefs1 or {phase=1,index=0};_G.__gacDamagePhaseRefs1=s + if s.phase<=3 then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_DAMAGE_PHASE_REF] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local pm=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(pm) + if not typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end + if s.phase==1 then + local ps=phase:GetType():GetProperties(flags) + for i=s.index,math.min(s.index+15,ps.Length-1)do log('PROPERTY '..ps[i].Name..' '..tostring(ps[i].PropertyType))end + s.index=s.index+16;if s.index>=ps.Length then s.phase=2;s.index=0 end + else + local name=s.phase==2 and '_InputSourceCollection'or 'mcontext' + local obj=phase:GetType():GetField(name,flags):GetValue(phase) + local fs=obj:GetType():GetFields(flags);log('TYPE '..name..' '..tostring(obj:GetType())) + for i=s.index,math.min(s.index+15,fs.Length-1)do log('FIELD '..name..' '..fs[i].Name..' '..tostring(fs[i].FieldType))end + s.index=s.index+16;if s.index>=fs.Length then s.phase=s.phase+1;s.index=0 end + end + end) + if not ok then log('ERROR '..tostring(err));s.phase=4 end + end +end diff --git a/tools/damage_sender_state_probe.lua b/tools/damage_sender_state_probe.lua new file mode 100644 index 0000000..0943173 --- /dev/null +++ b/tools/damage_sender_state_probe.lua @@ -0,0 +1,10 @@ +do + if not _G.__gacDamageSenderState1 then + _G.__gacDamageSenderState1=true + local s=_G.__GAC_DAMAGE_ANALYST_LIVE_V7 + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local m=CS.RPG.Client.GlobalVars.s_GamePhaseManager + local phase=typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(m) + CS.UnityEngine.Debug.Log('[GAC_DAMAGE_SENDER_STATE] phase='..tostring(phase:GetType())..' active='..tostring(s.inBattle)..' entity='..tostring(s.entityIndex)..' component='..tostring(s.componentIndex)..' owner='..tostring(s.statComponent)..' next='..tostring(s.nextSample)..' now='..tostring(CS.UnityEngine.Time.unscaledTime)) + end +end diff --git a/tools/damage_servant_probe.lua b/tools/damage_servant_probe.lua new file mode 100644 index 0000000..817106f --- /dev/null +++ b/tools/damage_servant_probe.lua @@ -0,0 +1,41 @@ +do + local s=_G.__gacServantProbe1 or {phase=0,index=0}; _G.__gacServantProbe1=s + if s.phase<3 then + local function log(v) CS.UnityEngine.Debug.Log('[GAC_SERVANT] '..tostring(v)) end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local live=_G.__GAC_DAMAGE_ANALYST_LIVE_V7 + local owner=live and live.statComponent + if s.phase==0 then + local final=CS.RPG.Client.GlobalVars.s_ModuleManager.BattleModule.LastBattleStatistic + if final then + local field=final:GetType():GetField('servantBattleInfoList',flags) + local list=field and field:GetValue(final) + if list then + log('FINAL_COUNT '..list.Count) + for i=0,math.min(list.Count-1,15) do log('FINAL '..CS.System.Convert.ToBase64String(CS.Google.Protobuf.MessageExtensions.ToByteArray(list[i]))) end + end + end + if not owner then return end + local dict=owner:GetType():GetField('_ServantStt',flags):GetValue(owner) + log('COUNT '..dict.Count) + local it=dict:GetEnumerator() + if it:MoveNext() then s.value=it.Current.Value end + s.type=dict:GetType():GetGenericArguments()[1] + log('TYPE '..tostring(s.type.FullName)) + s.phase=1 + end + local fields=s.type:GetFields(flags) + for i=s.index,math.min(s.index+11,fields.Length-1) do + local f=fields[i]; local v=s.value and f:GetValue(s.value) + log('FIELD '..f.Name..' '..tostring(f.FieldType)..' '..tostring(v)) + if v and tostring(f.FieldType):find('HFALLFOEHKN',1,true) then + log('PROTO '..CS.System.Convert.ToBase64String(CS.Google.Protobuf.MessageExtensions.ToByteArray(v))) + end + end + s.index=s.index+12 + if s.index>=fields.Length then s.phase=3; s.value=nil end + end) + if not ok then log('ERROR '..tostring(err)); s.phase=3 end + end +end diff --git a/tools/damage_servant_values_probe.lua b/tools/damage_servant_values_probe.lua new file mode 100644 index 0000000..329c3b9 --- /dev/null +++ b/tools/damage_servant_values_probe.lua @@ -0,0 +1,22 @@ +do + if not _G.__gacServantValues1 then + local live=_G.__GAC_DAMAGE_ANALYST_LIVE_V7 + local owner=live and live.statComponent + if owner then + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local dict=owner:GetType():GetField('_ServantStt',flags):GetValue(owner) + if dict.Count==0 then return end + _G.__gacServantValues1=true + local it=dict:GetEnumerator(); local count=0 + while count<16 and it:MoveNext() do + count=count+1; local v=it.Current.Value + local p=v:GetType():GetField('LJLDPJFOKCE',flags):GetValue(v) + CS.UnityEngine.Debug.Log('[GAC_SERVANT_VALUE] PROTO '..CS.System.Convert.ToBase64String(CS.Google.Protobuf.MessageExtensions.ToByteArray(p))) + CS.UnityEngine.Debug.Log('[GAC_SERVANT_VALUE] DAMAGE '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(v.FNFFCPLHPGI)) + end + end) + if not ok then _G.__gacServantValues1=true;CS.UnityEngine.Debug.Log('[GAC_SERVANT_VALUE] ERROR '..tostring(err)) end + end + end +end diff --git a/tools/damage_statistics_component_schema.lua b/tools/damage_statistics_component_schema.lua new file mode 100644 index 0000000..d23af38 --- /dev/null +++ b/tools/damage_statistics_component_schema.lua @@ -0,0 +1,17 @@ +do + local s=_G.__gacDamageStatisticsSchema1 or {phase=1,index=0};_G.__gacDamageStatisticsSchema1=s + if s.phase<=2 then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_DAMAGE_STATISTICS_SCHEMA] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local t=typeof(CS.RPG.GameCore.StatisticsComponent) + local fs=s.phase==1 and t:GetFields(flags)or t:GetMethods(flags) + for i=s.index,math.min(s.index+15,fs.Length-1)do + local f=fs[i] + if s.phase==1 then log('FIELD '..f.Name..' '..tostring(f.FieldType))else log('METHOD '..tostring(f)..' '..f.MetadataToken)end + end + s.index=s.index+16;if s.index>=fs.Length then s.phase=s.phase+1;s.index=0 end + end) + if not ok then log('ERROR '..tostring(err));s.phase=3 end + end +end diff --git a/tools/damage_world_schema.lua b/tools/damage_world_schema.lua new file mode 100644 index 0000000..884a2e1 --- /dev/null +++ b/tools/damage_world_schema.lua @@ -0,0 +1,17 @@ +do + local s=_G.__gacDamageWorldSchema1 or {phase=1,index=0};_G.__gacDamageWorldSchema1=s + if s.phase<=2 then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_DAMAGE_WORLD] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local t=typeof(CS.RPG.GameCore.GameWorld) + local list=s.phase==1 and t:GetFields(flags)or t:GetMethods(flags) + for i=s.index,math.min(s.index+15,list.Length-1)do + local f=list[i] + if s.phase==1 then log('FIELD '..f.Name..' '..tostring(f.FieldType))else log('METHOD '..tostring(f))end + end + s.index=s.index+16;if s.index>=list.Length then s.phase=s.phase+1;s.index=0 end + end) + if not ok then log('ERROR '..tostring(err));s.phase=3 end + end +end diff --git a/tools/disassemble_pe_range.py b/tools/disassemble_pe_range.py new file mode 100644 index 0000000..28de7f1 --- /dev/null +++ b/tools/disassemble_pe_range.py @@ -0,0 +1,65 @@ +"""Read-only disassembly of an explicit PE RVA range; no process attachment.""" +import argparse +import hashlib +import pathlib +import struct +from capstone import Cs, CS_ARCH_X86, CS_MODE_64 + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--binary', type=pathlib.Path, required=True) + parser.add_argument('--rva', type=lambda s: int(s, 0), required=True) + parser.add_argument('--size', type=lambda s: int(s, 0), required=True) + parser.add_argument('--output', type=pathlib.Path, required=True) + parser.add_argument('--containing-function', action='store_true', help='Use the AMD64 exception-table bounds containing the selected RVA') + args = parser.parse_args() + if not 0 < args.size <= 65536: + raise SystemExit('Select a range of 1..65536 bytes') + data = args.binary.read_bytes() + if data[:2] != b'MZ': + raise SystemExit('Expected PE image') + pe = struct.unpack_from(' len(data): + raise SystemExit('Truncated section') + decoder = Cs(CS_ARCH_X86, CS_MODE_64) + scope = 'AMD64 exception-table function bounds' if args.containing_function else 'explicit range; function boundaries unproven' + lines = [f'; SHA256 {hashlib.sha256(data).hexdigest()}', + f'; RVA {args.rva:#x}, length {args.size:#x}; {scope}'] + lines += [f'{ins.address:x}: {ins.mnemonic} {ins.op_str}' for ins in decoder.disasm(data[start:start+args.size], args.rva)] + args.output.write_text('\n'.join(lines)+'\n', encoding='utf-8') + print(f'Wrote {len(lines)-2} instructions to {args.output}') + return + raise SystemExit('RVA range is not contained in a raw section') + +if __name__ == '__main__': + main() diff --git a/tools/export_cw_augment_choices.go b/tools/export_cw_augment_choices.go new file mode 100644 index 0000000..edd1458 --- /dev/null +++ b/tools/export_cw_augment_choices.go @@ -0,0 +1,100 @@ +//go:build ignore + +package main + +import ( + "encoding/json" + "flag" + "fmt" + pb "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" + "os" + "strconv" + "strings" +) + +func main() { + prefix := flag.String("prefix", "", "capture prefix before augment ID") + ids := flag.String("ids", "", "comma-separated observed offer IDs") + output := flag.String("output", "", "output resource") + flag.Parse() + read := func(path string) *pb.MPIMAEMCEFH { + raw, e := os.ReadFile(path) + if e != nil { + panic(e) + } + var d pb.GridFightGetDataScRsp + if e = protojson.Unmarshal(raw, &d); e != nil { + panic(e) + } + if d.DHFOFLFCLAH == nil { + panic("run absent") + } + return d.DHFOFLFCLAH + } + type Choice struct { + ID uint32 `json:"augment_id"` + GoldDelta int64 `json:"gold_delta"` + Info []byte `json:"augment_info_wire"` + } + var choices []Choice + for _, idText := range strings.Split(*ids, ",") { + n, e := strconv.ParseUint(idText, 10, 32) + if e != nil || n == 0 { + panic("invalid augment ID") + } + id := uint32(n) + before, after := read(fmt.Sprintf("%s-%d-data-stage-8.json", *prefix, id)), read(fmt.Sprintf("%s-%d-data-stage-12.json", *prefix, id)) + normalizedBefore, normalizedAfter := proto.Clone(before).(*pb.MPIMAEMCEFH), proto.Clone(after).(*pb.MPIMAEMCEFH) + var beforeGold, afterGold uint32 + var info *pb.PPGEBEBPMJC + for _, pair := range []struct { + run *pb.MPIMAEMCEFH + gold *uint32 + }{{normalizedBefore, &beforeGold}, {normalizedAfter, &afterGold}} { + for _, c := range pair.run.NAGDJGMMCBE { + if p := c.GetFAOCFBOFCJP(); p != nil { + *pair.gold = p.Gold + p.Gold = 0 + } + if a := c.GetLLDBOIANGDN(); a != nil { + for _, v := range a.SyncAugmentInfo { + if v.AugmentId == id { + info = proto.Clone(v).(*pb.PPGEBEBPMJC) + } + } + a.SyncAugmentInfo = nil + } + } + } + if !proto.Equal(normalizedBefore, normalizedAfter) || info == nil { + panic("augment changes more than gold/augment ownership; a specific effect processor is required") + } + wire, e := proto.Marshal(info) + if e != nil { + panic(e) + } + choices = append(choices, Choice{id, int64(afterGold) - int64(beforeGold), wire}) + } + raw, e := os.ReadFile("resources/CurrencyWarsInitialRuns.json") + if e != nil { + panic(e) + } + var identity map[string]json.RawMessage + if e = json.Unmarshal(raw, &identity); e != nil { + panic(e) + } + result := map[string]any{"format_version": 1, "scope": "Observed reference outcomes for the three captured initial investment offers only. Validated that only gold and augment ownership change; no party/inventory snapshots copied. Not a general augment effect engine.", "choices": choices} + for _, key := range []string{"target_client_version", "target_assembly_sha256", "source_binary_sha256"} { + result[key] = identity[key] + } + raw, e = json.MarshalIndent(result, "", " ") + if e != nil { + panic(e) + } + if e = os.WriteFile(*output, append(raw, '\n'), 0644); e != nil { + panic(e) + } + fmt.Println("Exported observed augment outcomes", len(choices)) +} diff --git a/tools/export_cw_battle_template.go b/tools/export_cw_battle_template.go new file mode 100644 index 0000000..604766e --- /dev/null +++ b/tools/export_cw_battle_template.go @@ -0,0 +1,59 @@ +//go:build ignore + +// Retain an observed node battle recipe and its exact route identity. Runtime +// construction must replace all role/party data; this is not a universal stage. +package main + +import ( + "encoding/json" + "flag" + "fmt" + pb "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" + "os" +) + +func main() { + capture := flag.String("capture", "", "native EnterBattle response") + output := flag.String("output", "", "resource output") + flag.Parse() + if *capture == "" || *output == "" { + panic("capture/output required") + } + raw, err := os.ReadFile(*capture) + if err != nil { + panic(err) + } + var response pb.GridFightEnterBattleStageScRsp + if err = proto.Unmarshal(raw, &response); err != nil { + panic(err) + } + battle := response.BattleInfo + if response.Retcode != 0 || battle == nil || battle.EIGMKOJOEEI == nil || battle.EIGMKOJOEEI.IOCKDJCDMAH == nil || len(battle.EIGMKOJOEEI.GridGameRoleList) == 0 { + panic("incomplete native CW battle") + } + wire, err := proto.Marshal(battle) + if err != nil { + panic(err) + } + raw, err = os.ReadFile("resources/CurrencyWarsInitialRuns.json") + if err != nil { + panic(err) + } + var identity map[string]json.RawMessage + if err = json.Unmarshal(raw, &identity); err != nil { + panic(err) + } + result := map[string]any{"format_version": 1, "scope": "Captured first-node enemy recipe only. Runtime replaces party, roles, portal, NPC, equipment and player state. Other nodes need their own recipes.", "battle_wire": wire} + for _, key := range []string{"target_client_version", "target_assembly_sha256", "source_binary_sha256"} { + result[key] = identity[key] + } + raw, err = json.MarshalIndent(result, "", " ") + if err != nil { + panic(err) + } + if err = os.WriteFile(*output, append(raw, '\n'), 0644); err != nil { + panic(err) + } + fmt.Println("Captured CW stage", battle.StageId) +} diff --git a/tools/export_cw_catalog.py b/tools/export_cw_catalog.py new file mode 100644 index 0000000..afaa050 --- /dev/null +++ b/tools/export_cw_catalog.py @@ -0,0 +1,419 @@ +"""Export fully captured Client CW division rows without guessing missing IDs.""" +import argparse +import hashlib +import json +import math +import pathlib +import re + + +def completed_rows(path, prefix): + """Use the last complete ROW capture; reject a truncated final capture.""" + batch, expected, complete = [], None, False + pattern = re.compile(r"\[" + re.escape(prefix) + r"\] (.*)$") + for line in path.read_text(encoding="utf-8-sig").splitlines(): + match = pattern.search(line) + if not match: + continue + value = match[1] + if value.startswith("BEGIN count="): + batch, expected, complete = [], int(value.split("=", 1)[1]), False + elif value.startswith("ROW "): + if expected is None or complete: + raise SystemExit(f"{prefix}: row outside active capture") + batch.append(json.loads(value[4:])) + elif value == "END": + complete = True + elif value.startswith("ERROR "): + complete = False + if not complete or not expected or len(batch) != expected: + raise SystemExit(f"{prefix}: incomplete final capture: {len(batch)}/{expected}, end={complete}") + return batch + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--log", type=pathlib.Path, action="append", required=True) + parser.add_argument("--constants-log", type=pathlib.Path) + parser.add_argument("--gameplay-log", type=pathlib.Path) + parser.add_argument("--entrance-log", type=pathlib.Path) + parser.add_argument("--map-entrances", type=pathlib.Path) + parser.add_argument("--room-log", type=pathlib.Path) + parser.add_argument("--compare-enum-log", type=pathlib.Path) + parser.add_argument("--route-log", type=pathlib.Path, required=True) + parser.add_argument("--tutorial-log", type=pathlib.Path, required=True) + parser.add_argument("--variants-log", type=pathlib.Path) + parser.add_argument("--player-level-log", type=pathlib.Path) + parser.add_argument("--chapter-log", type=pathlib.Path) + parser.add_argument("--node-enum-log", type=pathlib.Path) + parser.add_argument("--monster-camp-log", type=pathlib.Path) + parser.add_argument("--assembly", type=pathlib.Path, required=True) + parser.add_argument("--client-version", required=True) + parser.add_argument("--output", type=pathlib.Path, required=True) + args = parser.parse_args() + rows, modules = [], [] + for path in args.log: + batch, expected, complete = [], None, False + for line in path.read_text(encoding="utf-8-sig").splitlines(): + module = re.search(r"\[GAC_CW_ACTIVE\] SEASON_ROW (.*)$", line) + if module: + row = json.loads(module[1]) + if row is not None and row not in modules: + modules.append(row) + match = re.search(r"\[GAC_CW_(?:ACTIVE_)?DIVISIONS\] (.*)$", line) + if not match: + continue + value = match[1] + if value.startswith("BEGIN count="): + batch, complete = [], False + expected = int(value.split("=", 1)[1]) + elif value.startswith("ROW "): + if expected is None or complete: + raise SystemExit("Row outside an active capture") + batch.append(json.loads(value[4:])) + elif value == "END": + complete = True + if not complete or not expected or len(batch) != expected: + raise SystemExit(f"Incomplete capture {path.name}: expected={expected}, received={len(batch)}, end={complete}") + rows.extend(batch) + seen = set() + for row in rows: + for key in ("ID", "SeasonID", "DivisionLevel", "Progress"): + if type(row.get(key)) is not int or row[key] < 0: + raise SystemExit(f"Invalid {key} in row {row}") + if not row["ID"] or not row["SeasonID"] or type(row.get("IsPromotion")) is not bool: + raise SystemExit("Invalid division identity/promotion value") + if row["ID"] in seen: + raise SystemExit(f"Duplicate division ID: {row['ID']}") + seen.add(row["ID"]) + result = { + "client_version": args.client_version, + "provenance": { + "game_assembly_sha256": hashlib.sha256(args.assembly.read_bytes()).hexdigest(), + "captures": [{"sha256": hashlib.sha256(path.read_bytes()).hexdigest()} for path in args.log], + "source": "GridFightModule.GetSeason(native season ID, native subseason ID).SeasonDivision.SeasonDivisionConfigs", + "scope": "Captured division catalog and constants only; not a completed CW ruleset", + }, + "captured_seasons": sorted({row["SeasonID"] for row in rows}), + "season_modules": modules, + "divisions": sorted(rows, key=lambda row: (row["SeasonID"], row["ID"])), + } + if args.constants_log: + constants, ended = {}, set() + for line in args.constants_log.read_text(encoding="utf-8-sig").splitlines(): + match = re.search(r"\[GAC_CW_CONSTANT\] (?:ROW (\w+) (.*)|END (\w+))$", line) + if not match: + continue + if match[3]: + ended.add(match[3]) + continue + table, row = match[1], json.loads(match[2]) + name = row["ConstValueName"] + values = constants.setdefault(table, {}) + if name in values and values[name] != row["Value"]: + raise SystemExit(f"Conflicting captured constant {name}") + values[name] = row["Value"] + required = {"ConstValueCommonExcelTable", "ConstValueClientExcelTable"} + if not required <= ended: + raise SystemExit("Constants capture is incomplete: " + ", ".join(sorted(required - ended))) + common = constants["ConstValueCommonExcelTable"] + season = common["GridFight_Season_ID"]["IntValue"] + sub_season = common["GridFight_Sub_Season_ID"]["IntValue"] + if season not in result["captured_seasons"]: + raise SystemExit("Active season division catalog has not been captured") + result["active_season_id"] = season + result["active_sub_season_id"] = sub_season + if not any(row["SeasonID"] == season and row["SubSeasonID"] == sub_season + and row["OfferingID"] > 0 and row["ActivityModuleID"] > 0 for row in modules): + raise SystemExit("Active season module metadata has not been captured") + result["constants"] = constants + result["provenance"]["constants_capture_sha256"] = hashlib.sha256(args.constants_log.read_bytes()).hexdigest() + if args.gameplay_log: + stages = completed_rows(args.gameplay_log, "GAC_CW_STAGE_CONFIG") + roles = completed_rows(args.gameplay_log, "GAC_CW_ROLES") + active_divisions = {r["ID"] for r in rows if r["SeasonID"] == result.get("active_season_id")} + stage_ids = [r.get("ID") for r in stages] + if len(set(stage_ids)) != len(stage_ids) or set(stage_ids) != active_divisions: + raise SystemExit("Stage wrapper capture must match the active season division catalog") + role_ids = set() + for row in roles: + config = row.get("Config", {}) + if (type(config.get("ID")) is not int or config["ID"] <= 0 + or config["ID"] in role_ids or config.get("SeasonID") != result.get("active_season_id")): + raise SystemExit("Invalid/duplicate role or role from another season") + role_ids.add(config["ID"]) + for key in ("Price", "MaxStar", "DefaultStar", "DefaultSellPrice"): + if type(row.get(key)) is not int or row[key] < 0: + raise SystemExit(f"Invalid role wrapper {key}") + if not 0 < row["DefaultStar"] <= row["MaxStar"]: + raise SystemExit("Invalid default/max role star") + result["active_stage_wrappers"] = sorted(stages, key=lambda r: r["ID"]) + result["active_handbook_default_roles"] = sorted(roles, key=lambda r: r["Config"]["ID"]) + result["provenance"]["gameplay_capture_sha256"] = hashlib.sha256(args.gameplay_log.read_bytes()).hexdigest() + result["provenance"]["gameplay_scope"] = { + "stage_wrappers": "GridFightModule.DivisionInfo.GetStagesShown(false); fresh profile, no enabled talents", + "roles": "GridFightModule.GetHandBookAllRoleConfig default RoleConfig._Row and wrapper getters; does not enumerate OtherRoles, hidden pool entries or variants", + } + result["provenance"]["scope"] = "Captured division catalog, constants, active stage wrappers and default handbook roles; not a completed CW ruleset" + if args.entrance_log: + if not args.map_entrances: + raise SystemExit("Entrance export requires the matching MapEntrance table") + content = args.entrance_log.read_text(encoding="utf-8-sig") + begins = re.findall(r"\[GAC_CW_ENTRANCE_RES\] BEGIN entry=(\d+) groups=(\d+) start_group=(\d+) anchor=(\d+)", content) + transforms = re.findall(r"\[GAC_CW_ENTRANCE_RES\] START_TRANSFORM (.*)", content) + groups = re.findall(r"\[GAC_CW_ENTRANCE_RES\] START_GROUP (.*)", content) + if (len(begins) != 1 or len(transforms) != 1 or len(groups) != 1 + or "[GAC_CW_ENTRANCE_RES] END" not in content + or "[GAC_CW_ENTRANCE_RES] ERROR" in content): + raise SystemExit("Incomplete or ambiguous CW entrance capture") + entry_id, count, group_id, anchor_id = map(int, begins[0]) + if len(re.findall(r"\[GAC_CW_ENTRANCE_RES\] GROUP ", content)) != count: + raise SystemExit("CW entrance group enumeration is incomplete") + if entry_id != result["constants"]["ConstValueCommonExcelTable"]["GridFight_EntranceID"]["IntValue"]: + raise SystemExit("Captured entrance differs from native CW constant") + table = json.loads(args.map_entrances.read_text(encoding="utf-8-sig")) + entries = [r for rows in table.values() if isinstance(rows, list) for r in rows if r.get("ID") == entry_id] + if len(entries) != 1 or entries[0]["StartGroupID"] != group_id or entries[0]["StartAnchorID"] != anchor_id: + raise SystemExit("MapEntrance identity differs from capture") + transform, group = json.loads(transforms[0]), json.loads(groups[0]) + anchors = [a for a in group["AnchorList"] if a["ID"] == anchor_id and not a["IsDelete"]] + if transform["ID"] != group_id or transform["IsDelete"] or len(anchors) != 1: + raise SystemExit("Missing or invalid native CW start anchor") + anchor = anchors[0] + yaw = math.radians(transform["RotY"]) + def units(value): + if not math.isfinite(value): + raise SystemExit("Non-finite CW anchor coordinate") + return round(value * 1000) + result["entrance"] = { + "entry_id": entry_id, "plane_id": entries[0]["PlaneID"], "floor_id": entries[0]["FloorID"], + "start_group_id": group_id, + "anchor": {"ID": anchor_id, + "pos": {"x": units(transform["PosX"] + anchor["PosX"] * math.cos(yaw) + anchor["PosZ"] * math.sin(yaw)), + "y": units(transform["PosY"] + anchor["PosY"]), + "z": units(transform["PosZ"] - anchor["PosX"] * math.sin(yaw) + anchor["PosZ"] * math.cos(yaw))}, + "rot": {"x": 0, "y": units(transform["RotY"] + anchor["RotY"]), "z": 0}}, + } + result["provenance"]["entrance_capture_sha256"] = hashlib.sha256(args.entrance_log.read_bytes()).hexdigest() + result["provenance"]["entrance_source"] = "Native GridFight_EntranceID -> MapEntrance start group/anchor -> RuntimeGroup.AnchorList, world transform; no level graph execution" + if args.room_log: + if not args.compare_enum_log: + raise SystemExit("Room capture requires the native comparison enum capture") + enum_text = args.compare_enum_log.read_text(encoding="utf-8-sig") + compare_names = {int(value): name for name, value in re.findall(r"\[GAC_CW_SAVED_CONDITION\] ENUM (\w+) (\d+)", enum_text)} + room_text = args.room_log.read_text(encoding="utf-8-sig") + room_rows, expected, complete = [], None, False + for line in room_text.splitlines(): + if "[GAC_CW_NAMED_GROUPS] " not in line: + continue + value = line.split("[GAC_CW_NAMED_GROUPS] ", 1)[1] + if value.startswith("BEGIN "): + room_rows, expected, complete = [], int(value.split()[1]), False + elif value.startswith("GROUP "): + _, gid, payload = value.split(" ", 2) + room_rows.append((int(gid), json.loads(payload))) + elif value == "END": + complete = True + elif value.startswith("ERROR "): + complete = False + if not complete or expected != len(room_rows) or len({i for i, _ in room_rows}) != expected: + raise SystemExit("Incomplete/duplicate room group capture") + native_tags = {t["Tag"] for t in group["TagContainer"]} + bindings = [] + for gid, row in room_rows: + if not native_tags.intersection(t["Tag"] for t in (row["tags"] or [])): + continue + props = [p for p in row["props"] if not p["deleted"] and not p["client_only"] and p["initial"]] + if not props: + continue + condition = row["saved_value_condition"] + if (row["load_condition"] is not None or row["unload_condition"] is not None + or row["system_unlock_condition"] is not None + or not condition or len(condition["Conditions"]) != 1): + raise SystemExit("Room group needs additional condition mapping") + c = condition["Conditions"][0] + if compare_names.get(c["Operation"]) != "GreaterEqual": + raise SystemExit("Unmapped room saved-value comparison") + bindings.append({"group_id": gid, + "condition": {"name": c["SavedValueName"], "comparison": compare_names[c["Operation"]], "value": c["Value"]}, + "props": [{"groupId": gid, "instId": p["id"], "propId": p["prop_id"], + "propState": p["state"], "pos": p["pos"], "rot": p["rot"]} for p in props]}) + if not bindings: + raise SystemExit("No active CW-tagged non-client-only room props captured") + result["entrance"]["room_groups"] = bindings + saved_rows = [json.loads(value) for value in re.findall(r"\[GAC_CW_NAMED_GROUPS\] SAVED (.*)", room_text)] + if not saved_rows or any(rows != saved_rows[0] for rows in saved_rows): + raise SystemExit("Missing or inconsistent CW floor saved-value ranges") + saved_by_name = {r["Name"]: r for r in saved_rows[0] if not r["IsDelete"]} + overrides, rules = {}, {} + for binding in bindings: + name = binding["condition"]["name"] + if name not in saved_by_name: + raise SystemExit("CW room condition lacks native saved-value range") + rule = saved_by_name[name] + value = rule["MaxValue"] + if value < binding["condition"]["value"] or (rule["AllowedValues"] and value not in rule["AllowedValues"]): + raise SystemExit("Native maximum does not enable CW room condition") + overrides[name] = value + rules[name] = {k: rule[k] for k in ["DefaultValue", "MinValue", "MaxValue", "AllowedValues"]} + result["entrance"]["saved_values"] = overrides + result["entrance"]["saved_value_rules"] = rules + result["provenance"]["room_unlock_policy"] = "User requested playable CW. On the native CW entrance only, use captured RuntimeDimension MaxValue for the saved-value names referenced by its room activation conditions (PearlSR scene_mgr.zig freeplay policy). This overrides stale inline res.json zeros; not an official quest snapshot. Client-managed groups retain native ownership." + result["provenance"]["room_capture_sha256"] = hashlib.sha256(args.room_log.read_bytes()).hexdigest() + result["provenance"]["comparison_capture_sha256"] = hashlib.sha256(args.compare_enum_log.read_bytes()).hexdigest() + result["provenance"]["room_source"] = "Groups selected by the entrance RuntimeGroup's exact native activity tag. Retain non-deleted, initially loaded, IsClientOnly=false prop metadata and captured saved-value activation condition. Client-managed group graph is not loaded/executed by the exporter. Server applies the saved-value profile, leaving group/prop creation to the Client; room visibility/interaction still needs Client verification." + route_table = "GridFightStageRouteConfigExcelTable" + route_rows, expected, complete = [], None, False + for line in args.route_log.read_text(encoding="utf-8-sig").splitlines(): + match = re.search(r"\[GAC_CW_EXCEL\] (.*)$", line) + if not match: + continue + value = match[1] + if value.startswith(f"BEGIN {route_table} count="): + route_rows, expected, complete = [], int(value.rsplit("=", 1)[1]), False + elif value.startswith(f"ROW {route_table} "): + if expected is None or complete: + raise SystemExit("CW route row outside active capture") + route_rows.append(json.loads(value.split(" ", 2)[2])) + elif value.startswith(f"END {route_table} count="): + complete = expected == int(value.rsplit("=", 1)[1]) + elif value.startswith(f"ERROR {route_table}"): + raise SystemExit("CW route capture contains an error") + if not complete or not expected or len(route_rows) != expected: + raise SystemExit("Incomplete CW route capture") + keys = set() + for row in route_rows: + fields = ("ID", "ChapterID", "SectionID", "NodeTemplateID") + if any(type(row.get(k)) is not int or not 0 < row[k] <= 0xffffffff for k in fields): + raise SystemExit("Invalid CW route identity") + key = tuple(row[k] for k in fields[:3]) + if key in keys: + raise SystemExit(f"Duplicate CW route node {key}") + keys.add(key) + result["stage_routes"] = sorted(route_rows, key=lambda r: (r["ID"], r["ChapterID"], r["SectionID"])) + result["provenance"]["routes_capture_sha256"] = hashlib.sha256(args.route_log.read_bytes()).hexdigest() + result["provenance"]["routes_source"] = "RPG.GameCore.Config GridFightStageRouteConfigExcelTable.dataDict; complete native table, without graph execution" + tutorials = completed_rows(args.tutorial_log, "GAC_CW_TUTORIAL_CONFIG") + tutorial_ids = set() + for row in tutorials: + for key in ("ID", "DivisionID", "RewardQuest", "ForbiddenBattleFailChapterID", + "ForbiddenSellRoleBeforeChapterId", "ForbiddenSellRoleBeforeSectionId"): + if type(row.get(key)) is not int or not 0 <= row[key] <= 0xffffffff: + raise SystemExit(f"Invalid tutorial {key}") + for key in ("HasMonsterReveal", "HasPortal", "HasInitialSupply", "HasRouteShow", + "HasEquipRecommendShow", "HasBossToastShow", "UseTrialAvatar"): + if type(row.get(key)) is not bool: + raise SystemExit(f"Invalid tutorial flag {key}") + if row["ID"] == 0 or row["DivisionID"] == 0 or row["ID"] in tutorial_ids: + raise SystemExit("Invalid or duplicate tutorial identity") + tutorial_ids.add(row["ID"]) + if not isinstance(row.get("ForbiddenSellRoleDict"), dict) or not isinstance(row.get("ForbiddenAutoOpenShopNodeList"), list): + raise SystemExit("Missing tutorial restrictions") + result["tutorials"] = sorted(tutorials, key=lambda r: r["ID"]) + result["provenance"]["tutorials_capture_sha256"] = hashlib.sha256(args.tutorial_log.read_bytes()).hexdigest() + result["provenance"]["tutorials_source"] = "Initialized GridFightModule.TutorialStageConfigs scalar wrapper rules; no tutorial JsonPath loaded; shop node coordinate fields remain obfuscated" + if args.variants_log: + variants = completed_rows(args.variants_log, "GAC_CW_ROLE_VARIANTS") + unique = {} + for row in variants: + config, star_config = row.get("Config", {}), row.get("StarConfig", {}) + for key in ("ID", "AvatarID", "SeasonID", "Rarity"): + if type(config.get(key)) is not int or not 0 < config[key] <= 0xffffffff: + raise SystemExit(f"Invalid role variant {key}") + for key in ("ParentID", "Price", "MaxStar", "Star", "SellPrice"): + if type(row.get(key)) is not int or not 0 <= row[key] <= 0xffffffff: + raise SystemExit(f"Invalid role variant wrapper {key}") + if (config["SeasonID"] != result["active_season_id"] or row["ParentID"] == 0 + or row.get("Origin") not in ("DefaultRole", "OtherRoles") + or not 0 < row["Star"] <= row["MaxStar"] + or not isinstance(star_config, dict) or not star_config + or star_config.get("ID") != config["ID"] or star_config.get("Star") != row["Star"]): + raise SystemExit("Role variant identity/star metadata mismatch") + key = (config["ID"], row["Star"]) + payload = {k: v for k, v in row.items() if k not in ("ParentID", "Origin")} + if key in unique and unique[key] != payload: + raise SystemExit(f"Conflicting native role variant {key}") + unique[key] = payload + result["captured_role_variants"] = sorted(unique.values(), key=lambda r: (r["Config"]["ID"], r["Star"])) + result["provenance"]["variants_capture_sha256"] = hashlib.sha256(args.variants_log.read_bytes()).hexdigest() + result["provenance"]["variants_source"] = "Initialized handbook DefaultRole/OtherRoles wrappers, native role/star/servant rows and price getters; not a claim of complete hidden shop pool" + if args.player_level_log: + levels = completed_rows(args.player_level_log, "GAC_CW_PLAYER_LEVEL") + fields = ("PlayerLevel", "LevelUpExp", "AvatarMaxNumber", + "Rarity1Weight", "Rarity2Weight", "Rarity3Weight", "Rarity4Weight", "Rarity5Weight") + for row in levels: + if any(type(row.get(key)) is not int or not 0 <= row[key] <= 0xffffffff for key in fields): + raise SystemExit("Invalid native CW player-level scalar") + if row["PlayerLevel"] == 0 or row["AvatarMaxNumber"] == 0 or sum(row[key] for key in fields[3:]) == 0: + raise SystemExit("Empty native CW player-level capacity/weights") + if not isinstance(row.get("GeneralPropertyList"), list): + raise SystemExit("Full player-level row is missing GeneralPropertyList") + for prop in row["GeneralPropertyList"]: + if (type(prop.get("PropertyType")) is not int or not 0 < prop["PropertyType"] <= 0xffffffff + or not isinstance(prop.get("Value"), str) or not re.fullmatch(r"[+-]?[0-9]+(?:\.[0-9]+)?", prop["Value"])): + raise SystemExit("Invalid native player-level property value") + levels.sort(key=lambda row: row["PlayerLevel"]) + rule = result["constants"]["ConstValueCommonExcelTable"]["GridFight_DefaultPlayerLevelMax"] + if (not rule.get("IsInt") or [row["PlayerLevel"] for row in levels] != list(range(1, rule["IntValue"] + 1))): + raise SystemExit("Player-level capture does not cover the captured default level range") + result["captured_player_levels"] = levels + result["provenance"]["player_levels_capture_sha256"] = hashlib.sha256(args.player_level_log.read_bytes()).hexdigest() + result["provenance"]["player_levels_source"] = "Native GridFightPlayerLevelConfigRow getter at RVA 0x1e3a7880 and named JsonConvert.SerializeObject via RuntimeMethodHandle on managed Client thread; complete serialized rows including GeneralPropertyList; scalar identity cross-check, no run mutation" + if args.chapter_log or args.node_enum_log: + if not args.chapter_log or not args.node_enum_log: + raise SystemExit("Supply both chapter and node-enum captures") + chapters = completed_rows(args.chapter_log, "GAC_CW_CHAPTER_CONFIG") + for row in chapters: + if (type(row.get("ChapterID")) is not int or not 0 < row["ChapterID"] <= 0xffffffff + or type(row.get("HealNum")) is not int or not 0 <= row["HealNum"] <= 0xffffffff): + raise SystemExit("Invalid native CW chapter row") + if (len({row["ChapterID"] for row in chapters}) != len(chapters) + or {row["ChapterID"] for row in chapters} != {row["ChapterID"] for row in route_rows}): + raise SystemExit("Chapter capture does not cover every route chapter exactly once") + enums = completed_rows(args.node_enum_log, "GAC_CW_NODE_ENUM") + if (any(not isinstance(row.get("name"), str) or not row["name"] or + type(row.get("value")) is not int or not 0 <= row["value"] <= 0xffffffff for row in enums) + or len({row["value"] for row in enums}) != len(enums) + or len({row["name"] for row in enums}) != len(enums)): + raise SystemExit("Invalid/duplicate native CW node type enum") + result["chapters"] = sorted(chapters, key=lambda row: row["ChapterID"]) + result["node_types"] = sorted(enums, key=lambda row: row["value"]) + result["provenance"]["chapters_capture_sha256"] = hashlib.sha256(args.chapter_log.read_bytes()).hexdigest() + result["provenance"]["node_types_capture_sha256"] = hashlib.sha256(args.node_enum_log.read_bytes()).hexdigest() + result["provenance"]["chapters_source"] = "Native table getter used by GridFightStageNode._RefreshCachedFields with route ChapterID, serialized on managed Client thread; complete captured-route chapter coverage" + result["provenance"]["node_types_source"] = "Exact named RPG.GameCore.GridFightNodeType enum metadata" + if args.monster_camp_log: + camps, seen = [], set() + for row in completed_rows(args.monster_camp_log, "GAC_CW_MONSTER_CAMP"): + base, season = row.get("_row"), row.get("_seasonRow") + if not isinstance(base, dict) or not isinstance(season, dict): + raise SystemExit("Missing native camp/season rows") + identity = (season.get("SeasonID"), base.get("ID")) + if (any(type(v) is not int or not 0 < v <= 0xffffffff for v in identity) + or identity[0] != result["active_season_id"] or identity in seen + or season.get("CampID") != identity[1] + or row.get("k__BackingField") != identity[1] + or row.get("k__BackingField") != identity[0]): + raise SystemExit("Invalid or duplicate CW camp identity") + for source in (base, season): + if (not isinstance(source.get("MonsterList"), list) or not source["MonsterList"] + or any(type(v) is not int or not 0 < v <= 0xffffffff for v in source["MonsterList"])): + raise SystemExit("Invalid native camp monster list") + if (not isinstance(base.get("BattleAreaList"), list) or + any(type(v) is not int or not 0 < v <= 0xffffffff for v in base["BattleAreaList"])): + raise SystemExit("Invalid native camp battle area list") + for key in ("BossBattleArea", "InitialRandomCode", "IfRandomEnabled"): + if type(base.get(key)) is not int or not 0 <= base[key] <= 0xffffffff: + raise SystemExit(f"Invalid camp {key}") + seen.add(identity) + camps.append({"ID":identity[1], "SeasonID":identity[0], "Common":base, "Season":season}) + result["captured_monster_camps"] = sorted(camps, key=lambda row:(row["SeasonID"],row["ID"])) + result["provenance"]["monster_camps_capture_sha256"] = hashlib.sha256(args.monster_camp_log.read_bytes()).hexdigest() + result["provenance"]["monster_camps_source"] = "Initialized GetAllMonsterCampData handbook configurations; native common/season rows, no battle-template loader or scene graph; capture does not establish the full hidden camp pool or wave recipes" + args.output.parent.mkdir(parents=True, exist_ok=True) + args.output.write_text(json.dumps(result, ensure_ascii=False, indent=2) + "\n", encoding="utf-8") + print(f"Exported {len(rows)} division rows; seasons={result['captured_seasons']}") + + +if __name__ == "__main__": + main() diff --git a/tools/export_cw_enemy_plan.py b/tools/export_cw_enemy_plan.py new file mode 100644 index 0000000..0111e61 --- /dev/null +++ b/tools/export_cw_enemy_plan.py @@ -0,0 +1,92 @@ +"""Extract a bounded native BattlePlan and join it to a captured Client StageRow. + +MemoryPack record fields follow the public GridFightBattlePlan/WavePlan/MonsterPlan +schemas. This deliberately rejects nonempty drop payloads and ambiguous matches. +It does not deserialize or publish the reference account's full saved run. +""" +import argparse +import hashlib +import json +from pathlib import Path +import struct + + +def extract(data, penalty): + matches = [] + for start in range(max(0, len(data) - 21)): + if data[start] != 5: # BattlePlan: camp, elite, penalty, difficulty, waves. + continue + camp, elite, rule, difficulty, count = struct.unpack_from(' 4 * 1024 * 1024: + raise ValueError('reference run exceeds extraction bound') + start, end, elite, difficulty, waves = extract(data, args.penalty) + rows = [json.loads(line.split(' ROW ', 1)[1].split(' ', 1)[1]) + for line in args.stage_log.read_text(encoding='utf-8-sig').splitlines() + if ' ROW ' in line] + if len(rows) != 1 or not rows[0]['Level'] or not rows[0]['HardLevelGroup']: + raise ValueError('one complete current StageRow required') + row = rows[0] + catalog = json.loads(args.catalog.read_text(encoding='utf-8-sig')) + if not any(n['ID'] == args.route and n['ChapterID'] == args.chapter and + n['SectionID'] == args.section for n in catalog['stage_routes']): + raise ValueError('route coordinates absent from target catalog') + recipe = dict(route_id=args.route, chapter_id=args.chapter, section_id=args.section, + division_id=args.division, is_overclock=False, penalty_id=args.penalty, + stage_id=row['StageID'], level=row['Level'], hard_level_group=row['HardLevelGroup'], + elite_group=elite, extra_difficulty=difficulty, waves=waves) + result = dict(format_version=1, target_client_version=catalog['client_version'], + target_assembly_sha256=catalog['provenance']['game_assembly_sha256'], + source_binary_sha256=hashlib.sha256(args.source_binary.read_bytes()).hexdigest(), + source_snapshot_sha256=hashlib.sha256(data).hexdigest(), + source_plan_range=[start, end], + source_plan_sha256=hashlib.sha256(data[start:end]).hexdigest(), + target_stage_capture_sha256=hashlib.sha256(args.stage_log.read_bytes()).hexdigest(), + scope='Captured native wave parameters joined to current Client stage scalars. ' + 'Monster identities/stars come from the live saved layer; no reference party copied. ' + 'Second-node entry only; complete combat modifiers and later progression remain incomplete.', + entries=[recipe]) + args.output.write_text(json.dumps(result, indent=2) + '\n', encoding='utf-8') + print(f'Exported {len(waves)} wave definitions from native bytes {start}:{end}') + + +if __name__ == '__main__': + main() diff --git a/tools/export_cw_equipment.py b/tools/export_cw_equipment.py new file mode 100644 index 0000000..a498b3d --- /dev/null +++ b/tools/export_cw_equipment.py @@ -0,0 +1,42 @@ +"""Export completed, bounded Client handbook equipment capture without floats.""" +import argparse +import hashlib +import json +from pathlib import Path + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--capture', type=Path, required=True) + parser.add_argument('--catalog', type=Path, required=True) + parser.add_argument('--output', type=Path, required=True) + args = parser.parse_args() + raw = args.capture.read_bytes() + lines = raw.decode('utf-8-sig').splitlines() + if not any(line == '[GAC_CW_EQUIPMENT] END' for line in lines) or any(' ERROR ' in line for line in lines): + raise ValueError('equipment capture did not complete successfully') + rows = [json.loads(line.split(' ROW ', 1)[1]) for line in lines if ' ROW ' in line] + ids = set() + for row in rows: + identity = row['ItemID'] + if not identity or identity in ids: + raise ValueError('missing/duplicate equipment identity') + ids.add(identity) + for prop in row['GeneralPropertyList']: + if not prop['PropertyType'] or not isinstance(prop['Value'], str): + raise ValueError('native property value was not retained as text') + if not rows: + raise ValueError('equipment capture is empty') + c = json.loads(args.catalog.read_text(encoding='utf-8-sig')) + result = dict(format_version=1, target_client_version=c['client_version'], + target_assembly_sha256=c['provenance']['game_assembly_sha256'], + source_capture_sha256=hashlib.sha256(raw).hexdigest(), + scope='Initialized equipment handbook entries; consumables and hidden entries are excluded. ' + 'Read-only native getters, four entries per heartbeat, paused during Battle.', + entries=sorted(rows, key=lambda row: row['ItemID'])) + args.output.write_text(json.dumps(result, indent=2) + '\n', encoding='utf-8') + print(f'Exported {len(rows)} current equipment definitions') + + +if __name__ == '__main__': + main() diff --git a/tools/export_cw_merge_rule.go b/tools/export_cw_merge_rule.go new file mode 100644 index 0000000..e33e600 --- /dev/null +++ b/tools/export_cw_merge_rule.go @@ -0,0 +1,33 @@ +//go:build ignore + +// Export the observed basic merge contract from an isolated native sync. +package main + +import ( + "crypto/sha256" + "encoding/hex" + "encoding/json" + "fmt" + "os" + pb "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" +) + +func main() { + if len(os.Args)!=4 { panic("usage: exporter ") } + raw,e:=os.ReadFile(os.Args[1]);if e!=nil{panic(e)} + var sync pb.GridFightSyncUpdateResultScNotify;if e=proto.Unmarshal(raw,&sync);e!=nil{panic(e)} + var copies int + for _,group:=range sync.GCPNIHHBGGD { + if group.GridUpdateSrc!=pb.JJDFGMMMCMI_JJDFGMMMCMI_NJBMBFFLNGM {continue} + removed:=map[uint32]bool{};var added *pb.CDEAABODKCP + for _,v:=range group.JKPJFKCBIEM {if id:=v.GetHFCBOIOAECK();id!=0{if removed[id]{panic("duplicate removal")};removed[id]=true};if v.GetPIDDDHKPDDM()!=nil{if added!=nil{panic("multiple merged roles")};added=v.GetPIDDDHKPDDM()}} + if added==nil||len(removed)<2||removed[added.UniqueId]||added.RoleStar!=2{panic("not an observed first-star merge")} + if copies!=0&&copies!=len(removed){panic("merge counts differ")};copies=len(removed) + } + if copies==0{panic("merge group missing")} + b,e:=os.ReadFile(os.Args[2]);if e!=nil{panic(e)};var catalog struct{Client string `json:"client_version"`; Provenance struct{Assembly string `json:"game_assembly_sha256"`} `json:"provenance"`};if e=json.Unmarshal(b,&catalog);e!=nil{panic(e)} + digest:=sha256.Sum256(raw) + out:=map[string]any{"format_version":1,"target_client_version":catalog.Client,"target_assembly_sha256":catalog.Provenance.Assembly,"source_capture_sha256":hex.EncodeToString(digest[:]),"copies_required":copies,"ordinary_max_star":3,"scope":"Basic identical-role merges: source native MergeRoles and captured remove/add sync. Ordinary maximum 3 follows the reference implementation; Spotlight/trait higher-star exceptions require their own engine. No ID-specific rules."} + b,e=json.MarshalIndent(out,""," ");if e!=nil{panic(e)};if e=os.WriteFile(os.Args[3],append(b,'\n'),0644);e!=nil{panic(e)};fmt.Println("Exported native copies required:",copies) +} diff --git a/tools/export_cw_node_transition.go b/tools/export_cw_node_transition.go new file mode 100644 index 0000000..2af5ca0 --- /dev/null +++ b/tools/export_cw_node_transition.go @@ -0,0 +1,115 @@ +//go:build ignore + +package main + +import ( + "encoding/json" + "flag" + "fmt" + pb "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" + "os" + "path/filepath" +) + +func main() { + beforePath := flag.String("before", "", "before-battle GetData JSON") + afterPath := flag.String("after", "", "after-battle GetData JSON") + roundPath := flag.String("round", "", "after-next-RoundBegin GetData JSON") + syncGlob := flag.String("sync", "", "native notification capture glob") + output := flag.String("output", "", "resource output") + flag.Parse() + read := func(path string) *pb.MPIMAEMCEFH { + raw, e := os.ReadFile(path) + if e != nil { + panic(e) + } + var d pb.GridFightGetDataScRsp + if e = protojson.Unmarshal(raw, &d); e != nil { + panic(e) + } + if d.DHFOFLFCLAH == nil { + panic("run missing") + } + return d.DHFOFLFCLAH + } + before, after, round := read(*beforePath), read(*afterPath), read(*roundPath) + stageOf := func(r *pb.MPIMAEMCEFH) *pb.BEEFLEJAOCN { + for _, c := range r.NAGDJGMMCBE { + if v := c.GetKLCPAAHDPJF(); v != nil { + return v + } + } + panic("stage missing") + } + b, a := stageOf(before), stageOf(after) + if b.EMOHLJHPOPC != a.EMOHLJHPOPC || after.FMIGOKIDKJL == nil || after.FMIGOKIDKJL.GetNNDGEJFLGGF() == nil { + panic("transition identity differs") + } + var node *pb.OHMDHKGAEMM + for _, n := range b.OOMMIIKPHBC { + if n.DCAHJELNJNP == b.DCAHJELNJNP && n.SectionId == b.SectionId { + node = n.DisplayValue + } + } + if node == nil { + panic("before node absent") + } + files, e := filepath.Glob(*syncGlob) + if e != nil { + panic(e) + } + var level *pb.AINFNFIDGFF + for _, file := range files { + raw, e := os.ReadFile(file) + if e != nil { + panic(e) + } + var n pb.GridFightSyncUpdateResultScNotify + if e = proto.Unmarshal(raw, &n); e != nil { + panic(e) + } + for _, r := range n.GCPNIHHBGGD { + for _, u := range r.JKPJFKCBIEM { + if l := u.GetOOICHLAMNIG(); l != nil && l.DCAHJELNJNP == a.DCAHJELNJNP && l.SectionId == a.SectionId && l.IMPNAHBCADN != nil { + if level != nil && !proto.Equal(level, l) { + panic("conflicting layer recipes") + } + level = l + } + } + } + } + if level == nil { + panic("next layer capture missing") + } + marshal := func(m proto.Message) []byte { + v, e := proto.Marshal(m) + if e != nil { + panic(e) + } + return v + } + entry := map[string]any{"route_id": b.EMOHLJHPOPC, "chapter_id": b.DCAHJELNJNP, "section_id": b.SectionId, "stage_id": node.StageId, "penalty_id": node.IFIIOIIKJHO, "division_id": before.DivisionId, "is_overclock": before.IsOverlock, "next_level_wire": marshal(level), "next_pending_wire": marshal(after.FMIGOKIDKJL), "round_pending_wire": marshal(round.FMIGOKIDKJL)} + raw, e := os.ReadFile("resources/CurrencyWarsInitialRuns.json") + if e != nil { + panic(e) + } + var identity map[string]json.RawMessage + if e = json.Unmarshal(raw, &identity); e != nil { + panic(e) + } + result := map[string]any{"format_version": 1, "scope": "Captured Standard first-node transition only. Reuses enemy layer/pending definitions; never replaces the player's team or inventory.", "entries": []any{entry}} + for _, key := range []string{"target_client_version", "target_assembly_sha256", "source_binary_sha256"} { + result[key] = identity[key] + } + raw, e = json.MarshalIndent(result, "", " ") + if e != nil { + panic(e) + } + if e = os.WriteFile(*output, append(raw, '\n'), 0644); e != nil { + panic(e) + } + fmt.Println("Exported node transition", b.DCAHJELNJNP, b.SectionId, "->", a.DCAHJELNJNP, a.SectionId) +} diff --git a/tools/export_cw_preparation.go b/tools/export_cw_preparation.go new file mode 100644 index 0000000..c5f9bfb --- /dev/null +++ b/tools/export_cw_preparation.go @@ -0,0 +1,61 @@ +//go:build ignore + +// Extract only the pending-state recipe from a controlled native replay. +// Rewards and random shop contents are deliberately not copied into live runs. +package main + +import ( + "encoding/json" + "flag" + "fmt" + pb "gac-hkrpg-go/protocol/proto" + "google.golang.org/protobuf/proto" + "os" +) + +func main() { + input := flag.String("capture", "", "GetData capture after the initial RoundBegin") + output := flag.String("output", "", "output resource") + flag.Parse() + if *input == "" || *output == "" { + panic("capture and output are required") + } + raw, err := os.ReadFile(*input) + if err != nil { + panic(err) + } + var data pb.GridFightGetDataScRsp + if err = proto.Unmarshal(raw, &data); err != nil { + panic(err) + } + pending := data.GetDHFOFLFCLAH().GetFMIGOKIDKJL() + if pending == nil || pending.GetLGNPHHBGKFH() == nil { + panic("capture does not contain ReturnPreparation") + } + wire, err := proto.Marshal(pending) + if err != nil { + panic(err) + } + raw, err = os.ReadFile("resources/CurrencyWarsInitialRuns.json") + if err != nil { + panic(err) + } + var identity map[string]json.RawMessage + if err = json.Unmarshal(raw, &identity); err != nil { + panic(err) + } + result := map[string]any{"format_version": 1, "return_preparation_wire": wire, + "scope": "Initial RoundBegin/ReturnPreparation pending recipe only; no rewards or random inventory copied.", + "shop_draw_policy": "remaining_copies"} + for _, key := range []string{"target_client_version", "target_assembly_sha256", "source_binary_sha256"} { + result[key] = identity[key] + } + raw, err = json.MarshalIndent(result, "", " ") + if err != nil { + panic(err) + } + if err = os.WriteFile(*output, append(raw, '\n'), 0644); err != nil { + panic(err) + } + fmt.Println("Extracted ReturnPreparation recipe queue", pending.QueuePosition) +} diff --git a/tools/export_cw_reference_tables.py b/tools/export_cw_reference_tables.py new file mode 100644 index 0000000..3a13522 --- /dev/null +++ b/tools/export_cw_reference_tables.py @@ -0,0 +1,155 @@ +"""Extract bounded, typed CW dictionaries from a reference MemoryPack cache. + +Other cache schemas need not match. Each candidate must decode every row with +matching dictionary/row IDs, unique keys and bounded arrays. Require catalog +coverage for nodes and reject ambiguous largest candidates. This exports +reference data, not a claim of current Client value compatibility. +""" +import argparse +import gzip +import hashlib +import json +from pathlib import Path +import re +import struct + + +class Reader: + def __init__(self, data, offset): + self.data = data + self.offset = offset + + def uint(self): + value = struct.unpack_from(' 4096: + raise ValueError('array exceeds extraction bound') + values = [] + for _ in range(count): + if fixed and self.byte() != 1: + raise ValueError('fixed-value schema differs') + values.append(self.uint()) + return values + + +def row(reader, kind): + headers = {'portals': 5, 'node_templates': 7, 'penalty_rules': 5, + 'basic_bonuses': 5, 'combination_bonuses': 3} + if reader.byte() != headers[kind]: + raise ValueError('row schema differs') + identity = reader.uint() + result = {'ID': identity} + if kind == 'portals': + flag = reader.byte() + if flag > 1: + raise ValueError('invalid boolean') + result.update(IfInBook=bool(flag), EffectParamList=reader.array(True), + ShowBonusIDList=reader.array(), PortalGameRefTrait=reader.array()) + elif kind == 'node_templates': + result.update(StageID=reader.uint(), NodeType=reader.uint(), + ParamList=reader.array(), PenaltyBonusRuleID=reader.uint(), + IsAugment=reader.uint(), BasicGoldRewardNum=reader.uint()) + if result['NodeType'] not in range(6): + raise ValueError('unknown node enum') + elif kind == 'penalty_rules': + result.update(ThresholdPosition=reader.uint(), + ThresholdFailPlayerHPPenalty=reader.uint(), + ThresholdPassBasicPlayerHPPenalty=reader.uint(), + ProgressPenaltyCoefficient=reader.uint()) + if result['ThresholdPosition'] > 100 or any( + value > 1000000 for key, value in result.items() if key != 'ID'): + raise ValueError('penalty values exceed known schema range') + elif kind == 'basic_bonuses': + result.update(Value=reader.uint(), BonusTypeParam=reader.uint(), + BonusTypeParamList=reader.array(), BonusType=reader.uint()) + # Preserve numeric bonus kinds added after the public source snapshot. + # Consumers must reject kinds they do not implement, not drop rows. + if result['BonusType'] > 255: + raise ValueError('bonus kind exceeds observed schema bound') + else: + result.update(CombinationBonusList=reader.array(), BonusNumberList=reader.array()) + if len(result['CombinationBonusList']) != len(result['BonusNumberList']): + raise ValueError('combination quantities differ') + return result + + +def extract(data, kind, required): + header = {'portals': 5, 'node_templates': 7, 'penalty_rules': 5, + 'basic_bonuses': 5, 'combination_bonuses': 3}[kind] + pattern = re.compile(rb'(?P.{4})' + bytes([header]) + rb'(?P=key)', re.S) + candidates = [] + attempts = 0 + for match in pattern.finditer(data): + start = match.start() - 4 + if start < 0: + continue + count = struct.unpack_from(' 50000: + raise ValueError(f'{kind}: candidate bound exceeded') + reader = Reader(data, start + 4) + rows = {} + try: + for _ in range(count): + key = reader.uint() + value = row(reader, kind) + if key != value['ID'] or key in rows: + raise ValueError('dictionary identity differs') + rows[key] = value + if reader.offset - start > 10000000: + raise ValueError('dictionary exceeds extraction bound') + if required.issubset(rows): + candidates.append((count, start, reader.offset, rows)) + except (ValueError, IndexError, struct.error): + continue + if not candidates: + raise ValueError(f'{kind}: no complete matching dictionary') + largest = max(candidate[0] for candidate in candidates) + winners = [candidate for candidate in candidates if candidate[0] == largest] + if len(winners) != 1: + raise ValueError(f'{kind}: ambiguous full dictionary') + count, start, end, rows = winners[0] + print(f'{kind}: {count} rows, decompressed bytes {start}..{end}') + return {'offset': start, 'length': end-start, 'rows': rows} + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--resource', required=True, type=Path) + parser.add_argument('--catalog', required=True, type=Path) + parser.add_argument('--output', required=True, type=Path) + args = parser.parse_args() + packed = args.resource.read_bytes() + data = gzip.decompress(packed) + if len(data) > 256 * 1024 * 1024: + raise ValueError('decompressed resource exceeds extraction bound') + catalog = json.loads(args.catalog.read_text(encoding='utf-8-sig')) + node_keys = {node['NodeTemplateID'] for node in catalog['stage_routes']} + tables = {} + for kind, required in [('node_templates', node_keys), ('portals', set()), + ('basic_bonuses', set()), ('combination_bonuses', set())]: + tables[kind] = extract(data, kind, required) + penalties = {value['PenaltyBonusRuleID'] + for value in tables['node_templates']['rows'].values() + if value['PenaltyBonusRuleID']} + tables['penalty_rules'] = extract(data, 'penalty_rules', penalties) + output = {'format_version': 1, 'source_sha256': hashlib.sha256(packed).hexdigest(), + 'target_assembly_sha256': catalog['provenance']['game_assembly_sha256'], + 'compatibility': 'Reference dictionaries; target node ID coverage checked, values require Client comparison.', + 'tables': tables} + args.output.write_text(json.dumps(output, indent=2)+'\n', encoding='utf-8') + + +if __name__ == '__main__': + main() diff --git a/tools/export_cw_spotlights.py b/tools/export_cw_spotlights.py new file mode 100644 index 0000000..46fed9a --- /dev/null +++ b/tools/export_cw_spotlights.py @@ -0,0 +1,40 @@ +"""Export native Spotlight handbook rows, retaining fixed-point strings.""" +import argparse +import hashlib +import json +from pathlib import Path + + +def main(): + p = argparse.ArgumentParser(description=__doc__) + p.add_argument('--capture', type=Path, required=True) + p.add_argument('--catalog', type=Path, required=True) + p.add_argument('--output', type=Path, required=True) + a = p.parse_args() + raw = a.capture.read_bytes() + lines = raw.decode('utf-8-sig').splitlines() + if '[GAC_CW_SPOT_ROWS] END' not in lines or any('[GAC_CW_SPOT_ROWS] ERROR' in line for line in lines): + raise ValueError('Spotlight capture did not complete') + rows = [json.loads(line.split(' ROW ', 1)[1]) for line in lines if '[GAC_CW_SPOT_ROWS] ROW ' in line] + count = [int(line.rsplit(' ', 1)[1]) for line in lines if line.startswith('[GAC_CW_SPOT_ROWS] BEGIN ')] + if count != [len(rows)] or len({r['ID'] for r in rows}) != len(rows): + raise ValueError('missing or duplicate Spotlight rows') + for row in rows: + if not row['ID'] or not isinstance(row['IsCarry'], bool) or not isinstance(row['IsOCEffective'], bool): + raise ValueError('invalid Spotlight identity/flags') + if any(type(v) is not int or v <= 0 for v in row['SuitableAvatarList']): + raise ValueError('invalid Spotlight role IDs') + if any(not isinstance(v, str) for v in row['EffectParamList']): + raise ValueError('fixed-point values must remain strings') + c = json.loads(a.catalog.read_text(encoding='utf-8-sig')) + result = dict(format_version=1, target_client_version=c['client_version'], + target_assembly_sha256=c['provenance']['game_assembly_sha256'], + source_capture_sha256=hashlib.sha256(raw).hexdigest(), + scope='Initialized handbook configurations only; this capture does not establish selection weights, reroll costs, grants, or effect execution.', + entries=sorted(rows, key=lambda r: r['ID'])) + a.output.write_text(json.dumps(result, ensure_ascii=False, indent=2) + '\n', encoding='utf-8') + print(f'Exported {len(rows)} current Spotlight configurations') + + +if __name__ == '__main__': + main() diff --git a/tools/export_scene_metadata.py b/tools/export_scene_metadata.py index 9d0d8df..415a831 100644 --- a/tools/export_scene_metadata.py +++ b/tools/export_scene_metadata.py @@ -15,11 +15,30 @@ parser.add_argument("--assembly", type=pathlib.Path, required=True) parser.add_argument("--client-version", required=True) parser.add_argument("--output", type=pathlib.Path, required=True) parser.add_argument("--merge", action="store_true", help="Preserve compatible previously captured floors in output") +parser.add_argument("--dimension-index", type=int, help="Use captured SavedValues defaults from this RuntimeFloor dimension-list index") +parser.add_argument("--omit-start-anchor", action="store_true", help="Keep per-entrance Anchor.json placements; retain the floor anchor only as floor_default_anchor for entries without StartAnchorID") args = parser.parse_args() floors, completed = {}, set() placements = {} placement_completed = set() +props_completed = set() +dimensions = {} +dimension_groups = {} for line in args.log.read_text(encoding="utf-8", errors="replace").splitlines(): + if "[GAC_SCENE_DIMENSION] " in line: + row = line.split("[GAC_SCENE_DIMENSION] ", 1)[1] + groups = re.fullmatch(r"GROUPS (\d+) (\d+) (\d+) (.+)", row) + if groups: + floor, index, identity, raw = groups.groups() + dimension_groups.setdefault(floor, {})[int(index)] = (int(identity), json.loads(raw)) + continue + if "[GAC_SCENE_SAVED] " in line: + row = line.split("[GAC_SCENE_SAVED] ", 1)[1] + dimension = re.fullmatch(r"DIMENSION (\d+) (\d+) (.+)", row) + if dimension: + floor, index, raw = dimension.groups() + dimensions.setdefault(floor, {})[int(index)] = json.loads(raw) + continue if "[GAC_SCENE_PLACEMENT] " in line: row = line.split("[GAC_SCENE_PLACEMENT] ", 1)[1] end_placement = re.fullmatch(r"END (\d+)", row) @@ -37,6 +56,25 @@ for line in args.log.read_text(encoding="utf-8", errors="replace").splitlines(): else: target["monsters"].setdefault(first_id, {})[inst_id] = value continue + if "[GAC_SCENE_PROPS] " in line: + row = line.split("[GAC_SCENE_PROPS] ", 1)[1] + end_props = re.fullmatch(r"END (\d+)", row) + prop = re.fullmatch(r"PROP (\d+) (\d+) (\d+) (\d+) (\d+) pos=([^,]+),([^,]+),([^ ]+) rot=(.+)", row) + if end_props: + props_completed.add(end_props[1]) + elif prop: + floor, group_id, inst_id, prop_id, state, x, y, z, rot = prop.groups() + if floor in floors: + value = { + "pos": {"x": round(float(x) * 1000), "y": round(float(y) * 1000), "z": round(float(z) * 1000)}, + "rot": {"x": 0, "y": round(float(rot) * 1000), "z": 0}, + "groupId": int(group_id), + "instId": int(inst_id), + "propState": int(state), + "propId": int(prop_id), + } + floors[floor].setdefault("props", {}).setdefault(group_id, []).append(value) + continue if "[GAC_SCENE_META]" not in line: continue row = line.split("[GAC_SCENE_META] ", 1)[1] @@ -45,7 +83,7 @@ for line in args.log.read_text(encoding="utf-8", errors="replace").splitlines(): end = re.fullmatch(r"END (\d+)", row) if start: plane, floor, start_group, anchor, count = start.groups() - floors[floor] = {"plane_id": int(plane), "group_count": int(count), "groups": {}} + floors[floor] = {"plane_id": int(plane), "group_count": int(count), "groups": {}, "props": {}} completed.discard(floor) elif group: floor, group_id, side, hoyo, deleted = group.groups() @@ -53,11 +91,40 @@ for line in args.log.read_text(encoding="utf-8", errors="replace").splitlines(): floors[floor]["groups"][group_id] = {"load_side": side, "is_hoyo_group": hoyo == "true", "is_deleted": deleted == "true"} elif end: completed.add(end[1]) -if not floors or any(key not in completed or len(value["groups"]) != value["group_count"] for key, value in floors.items()): +if not floors or any(key not in completed or key not in props_completed or len(value["groups"]) != value["group_count"] for key, value in floors.items()): raise SystemExit("Incomplete scene metadata capture; no output written") for key, value in placements.items(): if key in floors and key in placement_completed: floors[key].update(value) +for key, floor in floors.items(): + if args.omit_start_anchor: + anchor = floor.pop("start_anchor", None) + if anchor is not None: + floor["floor_default_anchor"] = anchor + if args.dimension_index is not None: + rows = dimensions.get(key, {}).get(args.dimension_index) + if not isinstance(rows, list): + raise SystemExit(f"Missing SavedValues capture for floor {key}, dimension index {args.dimension_index}; no output written") + defaults, rules = {}, {} + for row in rows: + if row.get("IsDelete"): + continue + name = row["Name"] + value, minimum, maximum = row["DefaultValue"], row["MinValue"], row["MaxValue"] + allowed = row.get("AllowedValues", []) + if name in defaults or not name or not minimum <= value <= maximum or (allowed and value not in allowed): + raise SystemExit(f"Invalid captured SavedValue {key}/{name}; no output written") + defaults[name] = value + rules[name] = {"DefaultValue": value, "MinValue": minimum, "MaxValue": maximum} + floor["saved_values"], floor["saved_value_rules"] = defaults, rules + selected = dimension_groups.get(key, {}).get(args.dimension_index) + if selected is None: + raise SystemExit(f"Missing dimension group membership for floor {key}; no output written") + identity, ids = selected + if not ids or any(str(group) not in floor["groups"] for group in ids): + raise SystemExit(f"Invalid dimension group membership for floor {key}; no output written") + floor["dimension_id"] = identity + floor["dimension_groups"] = {str(identity): sorted(set(ids))} result = {"client_version": args.client_version, "source": { "kind": "Client GameCoreConfigLoader.LoadRtLevelFloorInfo / GroupInstanceCommonMap", "assembly_sha256": hashlib.file_digest(args.assembly.open("rb"), "sha256").hexdigest(), @@ -69,6 +136,8 @@ if args.merge and args.output.exists(): raise SystemExit("Cannot merge metadata from different Clients") previous["floors"].update(floors) result["floors"] = previous["floors"] + # Keep provenance and policies for untouched floors when adding a capture. + result["source"] = {**previous["source"], **result["source"]} result["source"]["previous_capture_sha256"] = previous["source"].get("previous_capture_sha256", []) + [previous["source"]["capture_sha256"]] args.output.write_text(json.dumps(result, ensure_ascii=False, indent=2) + "\n", encoding="utf-8") print(f"Exported {len(floors)} floors to {args.output}") diff --git a/tools/generate_inventory_item_config.py b/tools/generate_inventory_item_config.py new file mode 100644 index 0000000..26e0294 --- /dev/null +++ b/tools/generate_inventory_item_config.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Regenerate the Relic portion of InventoryItemConfig from game tables. + +Pass a directory containing RelicConfig.json, ItemConfigRelic.json, +RelicMainAffixConfig.json, and RelicSubAffixConfig.json from the revision +recorded in InventoryItemConfig.json. Existing item and Light Cone entries +are preserved; only visible BASIC Relic types from ItemConfigRelic are included. +""" + +from __future__ import annotations + +import argparse +import json +from pathlib import Path +from typing import Any + + +TABLES = ( + "RelicConfig.json", + "ItemConfigRelic.json", + "RelicMainAffixConfig.json", + "RelicSubAffixConfig.json", +) + + +def read_rows(path: Path) -> list[dict[str, Any]]: + with path.open("r", encoding="utf-8") as source: + rows = json.load(source) + if not isinstance(rows, list): + raise ValueError(f"{path.name} must contain a JSON array") + return rows + + +def build_relic_catalog(source_dir: Path) -> list[dict[str, Any]]: + relic_rows = read_rows(source_dir / "RelicConfig.json") + item_rows = read_rows(source_dir / "ItemConfigRelic.json") + main_rows = read_rows(source_dir / "RelicMainAffixConfig.json") + sub_rows = read_rows(source_dir / "RelicSubAffixConfig.json") + + visible_item_ids = { + int(row["ID"]) + for row in item_rows + if row.get("ItemMainType") == "Relic" and row.get("isVisible") is True + } + main_by_group: dict[int, list[dict[str, Any]]] = {} + for row in main_rows: + main_by_group.setdefault(int(row["GroupID"]), []).append(row) + sub_by_group: dict[int, list[dict[str, Any]]] = {} + for row in sub_rows: + sub_by_group.setdefault(int(row["GroupID"]), []).append(row) + for rows in (*main_by_group.values(), *sub_by_group.values()): + rows.sort(key=lambda row: int(row["AffixID"])) + + catalog: list[dict[str, Any]] = [] + seen: set[int] = set() + for relic in sorted(relic_rows, key=lambda row: int(row["ID"])): + relic_id = int(relic["ID"]) + if relic.get("Mode") != "BASIC" or relic_id not in visible_item_ids: + continue + if relic_id in seen: + raise ValueError(f"duplicate Relic ID {relic_id}") + + main_options = main_by_group.get(int(relic["MainAffixGroup"]), []) + if not main_options: + raise ValueError(f"Relic {relic_id} has no MainAffixGroup rows") + main = main_options[0] + + sub_options = [ + row + for row in sub_by_group.get(int(relic["SubAffixGroup"]), []) + if row.get("Property") != main.get("Property") + ] + if len(sub_options) < 4: + raise ValueError(f"Relic {relic_id} has fewer than four valid sub-affixes") + + catalog.append( + { + "relic_id": relic_id, + "relic_set_id": int(relic["SetID"]), + "main_affix_id": int(main["AffixID"]), + "sub_affixes": [ + { + "sub_affix_id": int(row["AffixID"]), + "count": 1, + "step": 0, + } + for row in sub_options[:4] + ], + } + ) + seen.add(relic_id) + + if not catalog: + raise ValueError("no visible BASIC Relics were found in the supplied tables") + return catalog + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--source-dir", type=Path, required=True) + parser.add_argument("--inventory-config", type=Path, required=True) + args = parser.parse_args() + + missing = [name for name in TABLES if not (args.source_dir / name).is_file()] + if missing: + raise SystemExit("Missing source tables: " + ", ".join(missing)) + + with args.inventory_config.open("r", encoding="utf-8") as source: + resource = json.load(source) + resource["relics"] = build_relic_catalog(args.source_dir) + with args.inventory_config.open("w", encoding="utf-8", newline="\n") as output: + json.dump(resource, output, ensure_ascii=False, indent=2) + output.write("\n") + print(f"Wrote {len(resource['relics'])} Client-configured Relic templates") + + +if __name__ == "__main__": + main() diff --git a/tools/go-toolchain.ps1 b/tools/go-toolchain.ps1 new file mode 100644 index 0000000..d8c926c --- /dev/null +++ b/tools/go-toolchain.ps1 @@ -0,0 +1,61 @@ +# Official Go archive bootstrap. URLs and install policy come from runtime config. +function Get-GoVersion([string]$Executable) { + $output = & $Executable version 2>&1 + if ($LASTEXITCODE -ne 0 -or "$output" -notmatch '\bgo(\d+\.\d+(?:\.\d+)?)\b') { return $null } + return [version]$Matches[1] +} +function Resolve-GoToolchain($Config) { + $directive = Select-String -LiteralPath (Resolve-ProjectPath 'go.mod') -Pattern '^go\s+(\d+\.\d+(?:\.\d+)?)\s*$' | Select-Object -First 1 + if (-not $directive) { throw 'go.mod has no valid minimum Go version.' } + $minimum = [version]$directive.Matches[0].Groups[1].Value + $goName = $env:GAC_GO_COMMAND + if ([string]::IsNullOrWhiteSpace($goName)) { $goName = $Config.go_command } + if ([string]::IsNullOrWhiteSpace($goName)) { throw 'Set launcher.go_command or GAC_GO_COMMAND.' } + $found = Get-Command -Name $goName -CommandType Application -ErrorAction SilentlyContinue | Select-Object -First 1 + if ($found) { + $version = Get-GoVersion $found.Source + if ($version -and $version -ge $minimum) { return $found.Source } + Write-Host "Configured Go is older than go.mod requires ($minimum)." + } + $install = $Config.go_install + if (-not $install -or $install.enabled -ne $true) { throw "Go >= $minimum is required. Install it or enable launcher.go_install." } + $root = Resolve-ProjectPath $install.directory + $receiptPath = Join-Path $root 'toolchain.json' + if (Test-Path -LiteralPath $receiptPath -PathType Leaf) { + $receipt = Get-Content -LiteralPath $receiptPath -Raw | ConvertFrom-Json + $cached = [IO.Path]::GetFullPath((Join-Path $root $receipt.executable)) + if (-not $cached.StartsWith($root.TrimEnd('\') + '\', [StringComparison]::OrdinalIgnoreCase)) { throw 'Managed Go receipt points outside its configured directory.' } + if (Test-Path -LiteralPath $cached -PathType Leaf) { + $version = Get-GoVersion $cached + if ($version -and $version -ge $minimum) { return $cached } + } + } + $machineArch = $env:PROCESSOR_ARCHITEW6432 + if (-not $machineArch) { $machineArch = $env:PROCESSOR_ARCHITECTURE } + $arch = switch ($machineArch.ToUpperInvariant()) { 'AMD64' {'amd64'} 'ARM64' {'arm64'} 'X86' {'386'} default {throw "Unsupported Windows architecture: $machineArch"} } + [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12 + Write-Host "Downloading Go release metadata ($($install.manifest_url))..." + $releases = Invoke-RestMethod -Uri $install.manifest_url + $release = $releases | Where-Object { $_.stable -and $_.version -match '^go\d+\.\d+\.\d+$' -and [version]$_.version.Substring(2) -ge $minimum } | Sort-Object { [version]$_.version.Substring(2) } -Descending | Select-Object -First 1 + if (-not $release) { throw "No stable Go >= $minimum in the configured official manifest." } + $archive = $release.files | Where-Object { $_.os -eq 'windows' -and $_.arch -eq $arch -and $_.kind -eq 'archive' -and $_.filename -match '^[a-zA-Z0-9._-]+\.zip$' } | Select-Object -First 1 + if (-not $archive -or $archive.sha256 -notmatch '^[a-fA-F0-9]{64}$') { throw 'Official manifest has no valid Windows ZIP/checksum for this machine.' } + New-Item -ItemType Directory -Path $root -Force | Out-Null + # Always extract to a new directory; never overlay an older Go installation. + $folderName = [Guid]::NewGuid().ToString('N') + $folder = Join-Path $root $folderName + $zip = Join-Path $root ($folderName + '.zip') + $download = $install.download_url.TrimEnd('/') + '/' + $archive.filename + Write-Host "Installing $($release.version) ($arch), without administrator rights..." + Invoke-WebRequest -Uri $download -OutFile $zip -UseBasicParsing + if ((Get-FileHash -LiteralPath $zip -Algorithm SHA256).Hash -ine $archive.sha256) { throw "Go archive checksum mismatch: $zip" } + Expand-Archive -LiteralPath $zip -DestinationPath $folder + $relative = Join-Path $folderName 'go/bin/go.exe' + $executable = Join-Path $root $relative + $version = Get-GoVersion $executable + if (-not $version -or $version -lt $minimum) { throw 'Downloaded Go did not pass its version check.' } + @{executable=$relative; version=$release.version; sha256=$archive.sha256} | ConvertTo-Json | Set-Content -LiteralPath $receiptPath -Encoding UTF8 + Remove-Item -LiteralPath $zip + Write-Host "Go ready: $version" + return $executable +} diff --git a/tools/import_cw_role_stars.py b/tools/import_cw_role_stars.py new file mode 100644 index 0000000..144e468 --- /dev/null +++ b/tools/import_cw_role_stars.py @@ -0,0 +1,63 @@ +"""Extend a CW catalog with identity-checked native star rows (no guessed rows).""" +import argparse +import copy +import hashlib +import json +from pathlib import Path + + +def main(): + p = argparse.ArgumentParser(description=__doc__) + p.add_argument('--capture', type=Path, required=True) + p.add_argument('--catalog', type=Path, required=True) + p.add_argument('--output', type=Path, required=True) + a = p.parse_args() + raw = a.capture.read_bytes() + lines = raw.decode('utf-8-sig').splitlines() + if any('[GAC_CW_ROLE_STARS] ERROR' in line for line in lines): + raise ValueError('capture reports an error') + rows = [json.loads(line.split(' ROW ', 1)[1]) for line in lines if '[GAC_CW_ROLE_STARS] ROW ' in line] + c = json.loads(a.catalog.read_text(encoding='utf-8-sig')) + bases = {} + for r in c['captured_role_variants']: + identity = r['Config']['ID'] + if identity not in bases or r['Star'] < bases[identity]['Star']: + bases[identity] = r + variants = {(r['Config']['ID'], r['Star']): r for r in c['captured_role_variants']} + seen = set() + for row in rows: + key = row['ID'], row['Star'] + star = row['StarConfig'] + if key in seen or (star['ID'], star['Star']) != key: + raise ValueError(f'duplicate or clamped star row: {key}') + seen.add(key) + base = bases.get(key[0]) + if base is None or not 0 < key[1] <= base['MaxStar']: + raise ValueError(f'missing role configuration: {key}') + if key in variants: + if variants[key]['StarConfig'] != star or variants[key]['ServantStarConfig'] != row['ServantStarConfig']: + raise ValueError(f'row differs from earlier capture: {key}') + continue + v = copy.deepcopy(base) + v.update(Star=key[1], StarConfig=star, ServantStarConfig=row['ServantStarConfig'], SellPrice=0, SaleQuoteKnown=False) + # Only ordinary roles whose default quote matches the current rarity + # table can use that table at a higher star. Special quotes stay unknown. + constants = c['constants']['ConstValueCommonExcelTable'] + default = constants.get(f"GridFight_AvatarSnippetSellGoldStar{base['Star']}", {}).get('ArrayValue', []) + target = constants.get(f'GridFight_AvatarSnippetSellGoldStar{key[1]}', {}).get('ArrayValue', []) + rarity = base['Config']['Rarity'] - 1 + if rarity < len(default) and rarity < len(target) and default[rarity]['IntValue'] == base['SellPrice']: + v.update(SellPrice=target[rarity]['IntValue'], SaleQuoteKnown=True) + variants[key] = v + if not rows: + raise ValueError('no native star rows') + c['captured_role_variants'] = [variants[k] for k in sorted(variants)] + c['provenance']['star_rows_capture_sha256'] = hashlib.sha256(raw).hexdigest() + c['provenance']['star_rows_capture_complete'] = any(line.startswith('[GAC_CW_ROLE_STARS] END ') for line in lines) + c['provenance']['star_rows_source'] = 'Initialized RoleConfig.GetStarConfig(star), identity checked; four rows per heartbeat, paused in Battle. Uncaptured variants remain unavailable.' + a.output.write_text(json.dumps(c, ensure_ascii=False, indent=2) + '\n', encoding='utf-8') + print(f'Imported {len(rows)} native rows; catalog contains {len(variants)} variants') + + +if __name__ == '__main__': + main() diff --git a/tools/inventory_cw.py b/tools/inventory_cw.py new file mode 100644 index 0000000..52fbae4 --- /dev/null +++ b/tools/inventory_cw.py @@ -0,0 +1,85 @@ +"""Inventory CW's local protobuf graph and dispatcher coverage (no Client calls). + +This is a discovery artifact, not a gameplay or wire-compatibility test. +Command identity comes from the revision-tagged upstream table. The message +graph retains obfuscated names rather than assigning guessed meanings. +""" +import argparse +import hashlib +import json +import pathlib +import re + + +def declarations(source): + result = {} + for match in re.finditer(r"^\s*(message|enum)\s+(\w+)\s*\{", source, re.M): + depth, end = 1, match.end() + while end < len(source) and depth: + depth += (source[end] == "{") - (source[end] == "}") + end += 1 + if depth: + raise ValueError("Unterminated declaration: " + match[2]) + result[match[2]] = (match[1], source[match.end():end - 1]) + return result + + +def inventory(root): + schema = root / "protocol/proto/StarRail.proto" + upstream = (root / "protocol/proto/upstream_cmdids.go").read_text(encoding="utf-8") + revision = re.search(r'CommandSourceRevision = "([^"]+)"', upstream)[1] + commands = {name: int(number) for name, number in + re.findall(r'^\s*"(\w+)":\s*(\d+),', upstream, re.M)} + types = declarations(schema.read_text(encoding="utf-8")) + family = {name: number for name, number in commands.items() + if name.startswith("GridFight")} + # BuyGoodRsp is the explicitly named response of GridFightBuyGoodsCsReq + # in the current schema. Include the source declaration, without inventing + # a GridFightBuyGoodsScRsp alias or choosing a numeric response here. + seeds = set(family) | {"GridFightGameInfo", "BuyGoodRsp"} + reachable, queue = {}, sorted(seeds) + while queue: + name = queue.pop() + if name in reachable or name not in types: + continue + kind, body = types[name] + deps = sorted(set(re.findall(r"\b\w+\b", body)) & types.keys() - {name}) + reachable[name] = {"kind": kind, "references": deps, "body": body.strip()} + queue.extend(deps) + handlers = {} + for path in sorted((root / "internal/gameserver").glob("*.go")): + text = path.read_text(encoding="utf-8") + for match in re.finditer(r'\b(handleNamed|handle|rawNamed|dummy)\("([^"]+)"', text): + if match[2].startswith("GridFight"): + handlers.setdefault(match[2], []).append({ + "file": path.relative_to(root).as_posix(), "kind": match[1], + "line": text.count("\n", 0, match.start()) + 1, + }) + return { + "command_source_revision": revision, + "schema_sha256": hashlib.sha256(schema.read_bytes()).hexdigest(), + "limitations": [ + "Local schema graph only; field semantics and current Client tags require separate evidence.", + "Handler registration does not establish correct behavior or completed gameplay.", + "Non-GridFight command names used by pending selections require separate mapping.", + ], + "commands": dict(sorted(family.items())), + "registrations": handlers, + "types": dict(sorted(reachable.items())), + } + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--root", type=pathlib.Path, default=pathlib.Path(__file__).resolve().parents[1]) + parser.add_argument("--output", type=pathlib.Path, required=True) + args = parser.parse_args() + result = inventory(args.root.resolve()) + args.output.parent.mkdir(parents=True, exist_ok=True) + args.output.write_text(json.dumps(result, ensure_ascii=False, indent=2) + "\n", encoding="utf-8") + print(f"CW: {len(result['commands'])} commands, {len(result['types'])} reachable declarations, " + f"{len(result['registrations'])} handler registration names") + + +if __name__ == "__main__": + main() diff --git a/tools/peak_battle_cache_probe.lua b/tools/peak_battle_cache_probe.lua new file mode 100644 index 0000000..216de1f --- /dev/null +++ b/tools/peak_battle_cache_probe.lua @@ -0,0 +1,26 @@ +-- Read only named BattleModule field metadata and cached protobuf values. +do + local s=_G.__gacPeakBattleCache1 or {index=0};_G.__gacPeakBattleCache1=s + if not s.done then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_BATTLE_CACHE] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if not s.module then + s.module=CS.RPG.Client.GlobalVars.s_ModuleManager.BattleModule + s.fields=s.module:GetType():GetFields(flags);log('MODULE '..tostring(s.module:GetType())) + end + for i=s.index,math.min(s.index+15,s.fields.Length-1)do + local f=s.fields[i];log('FIELD '..f.Name..' '..tostring(f.FieldType)) + local n=f.Name:lower();local tn=tostring(f.FieldType) + if not f.IsStatic and (n:find('statistic') or n:find('result') or n:find('report') or tn:find('BattleStatistics',1,true))then + local ok,v=pcall(function()return f:GetValue(s.module)end) + if ok and v~=nil then + log('VALUE '..f.Name..' '..tostring(v)) + end + end + end + s.index=s.index+16;if s.index>=s.fields.Length then s.done=true;log('END')end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end + end +end diff --git a/tools/peak_cached_stats_probe.lua b/tools/peak_cached_stats_probe.lua new file mode 100644 index 0000000..a94a7e7 --- /dev/null +++ b/tools/peak_cached_stats_probe.lua @@ -0,0 +1,31 @@ +-- Read cached completed-battle statistics; never change the battle or modules. +do + local s=_G.__gacPeakCachedStats1 or {phase=1,index=0};_G.__gacPeakCachedStats1=s + if s.phase<=2 then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_CACHED_STATS] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if not s.obj then + local m=CS.RPG.Client.GlobalVars.s_ModuleManager.BattleModule + if s.phase==1 then s.obj=m.LastBattleStatistic else s.obj=m:GetType():GetField('_BattleResultInfo',flags):GetValue(m)end + if s.obj==nil then log('NIL '..s.phase);s.phase=s.phase+1;return end + s.fields=s.obj:GetType():GetFields(flags);log('TYPE '..s.phase..' '..tostring(s.obj:GetType())) + end + for i=s.index,math.min(s.index+15,s.fields.Length-1)do + local f=s.fields[i];local tn=tostring(f.FieldType);log('FIELD '..s.phase..' '..f.Name..' '..tn) + if not f.IsStatic then + local good,v=pcall(function()return f:GetValue(s.obj)end) + if good and v~=nil then + if f.FieldType.IsPrimitive or tn:find('System.String',1,true) or f.FieldType.IsEnum then log('VALUE '..s.phase..' '..f.Name..' '..tostring(v)) + elseif f.Name:lower():find('statistic') or f.Name:lower():find('result') then + local encoded,bytes=pcall(function()return CS.Google.Protobuf.MessageExtensions.ToByteArray(v)end) + if encoded then log('PROTO '..f.Name..' '..CS.System.Convert.ToBase64String(bytes))end + end + end + end + end + s.index=s.index+16;if s.index>=s.fields.Length then s.phase=s.phase+1;s.index=0;s.obj=nil;log('END_PHASE')end + end) + if not ok then log('ERROR '..tostring(err));s.phase=3 end + end +end diff --git a/tools/peak_constant_schema.lua b/tools/peak_constant_schema.lua new file mode 100644 index 0000000..8ee8f7d --- /dev/null +++ b/tools/peak_constant_schema.lua @@ -0,0 +1,18 @@ +do + if not _G.__gacPeakConstantSchema1 then + _G.__gacPeakConstantSchema1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_CONST_SCHEMA] '..tostring(v))end + local ok,err=pcall(function() + for _,name in ipairs({'ConstValueCommonExcelTable','ConstValueClientExcelTable'})do + local rows=CS.RPG.GameCore[name].dataDict + local it=rows:GetEnumerator();log('TABLE '..name..' '..rows.Count) + if it:MoveNext()then + local p=it.Current + log('KEY '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(p.Key)) + log('ROW '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(p.Value)) + end + end + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/peak_constants_probe.lua b/tools/peak_constants_probe.lua new file mode 100644 index 0000000..ece56b2 --- /dev/null +++ b/tools/peak_constants_probe.lua @@ -0,0 +1,23 @@ +-- Read only named constant tables, bounded to 64 rows per heartbeat. +do + _G.__gacPeakConstants1=_G.__gacPeakConstants1 or {tableIndex=1} + local state=_G.__gacPeakConstants1 + local tables={'ConstValueCommonExcelTable','ConstValueClientExcelTable'} + if state.tableIndex<=#tables then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_CONSTANT] '..tostring(v))end + local ok,err=pcall(function() + if not state.iterator then state.iterator=CS.RPG.GameCore[tables[state.tableIndex]].dataDict:GetEnumerator()end + for i=1,64 do + if not state.iterator:MoveNext()then + log('END '..tables[state.tableIndex]);state.iterator=nil;state.tableIndex=state.tableIndex+1;return + end + local row=state.iterator.Current.Value + if tostring(row.ConstValueName):lower():find('peak') then + log('ROW '..tables[state.tableIndex]..' '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row)) + end + end + end) + if not ok then log('ERROR '..tostring(err));state.iterator=nil;state.tableIndex=state.tableIndex+1 end + end +end + diff --git a/tools/peak_counter_targets.lua b/tools/peak_counter_targets.lua new file mode 100644 index 0000000..26c6a55 --- /dev/null +++ b/tools/peak_counter_targets.lua @@ -0,0 +1,16 @@ +-- Inspect the known native battle-target table, 32 rows per heartbeat. +do + local s=_G.__gacPeakCounterTargets1 or {};_G.__gacPeakCounterTargets1=s + if not s.done then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_COUNTER_TARGET] '..tostring(v))end + local ok,err=pcall(function() + if not s.it then s.it=CS.RPG.GameCore.BattleTargetConfigExcelTable.dataDict:GetEnumerator()end + for i=1,32 do + if not s.it:MoveNext()then s.done=true;log('END');return end + local row=s.it.Current.Value;local name=tostring(row.AbilityName):lower() + if name:find('peak')or name:find('turn')then log('ROW '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row))end + end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end + end +end diff --git a/tools/peak_custom_stats_probe.lua b/tools/peak_custom_stats_probe.lua new file mode 100644 index 0000000..36f9ec5 --- /dev/null +++ b/tools/peak_custom_stats_probe.lua @@ -0,0 +1,18 @@ +do + if not _G.__gacPeakCustomStats1 then + _G.__gacPeakCustomStats1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_CUSTOM_STATS] '..tostring(v))end + local ok,err=pcall(function() + local s=CS.RPG.Client.GlobalVars.s_ModuleManager.BattleModule.LastBattleStatistic + log('CUSTOM '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(s.customValues)) + log('REPORT '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(s.reportCustomValues)) + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.ChallengePeakModule + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local peak=module:GetCurrentPeakGroup() + log('GROUP_TYPE '..tostring(peak:GetType())) + local fields=peak:GetType():GetFields(flags) + for i=0,math.min(fields.Length-1,23)do log('FIELD '..fields[i].Name..' '..tostring(fields[i].FieldType))end + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/peak_cycle_evidence.lua b/tools/peak_cycle_evidence.lua new file mode 100644 index 0000000..295941a --- /dev/null +++ b/tools/peak_cycle_evidence.lua @@ -0,0 +1,47 @@ +-- Read-only evidence from three named Client types. At most 24 methods or +-- 128 constant rows per heartbeat; never enumerate assembly types. +do + local s=_G.__gacPeakEvidence2 or {phase=1,index=0};_G.__gacPeakEvidence2=s + if s.phase>4 then return end + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_EVIDENCE] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if s.phase==1 then + local m=CS.RPG.Client.GlobalVars.s_ModuleManager.BattleModule + local methods=m:GetType():GetMethods(flags) + for i=s.index,math.min(s.index+23,methods.Length-1)do log('METHOD '..tostring(methods[i])..' '..methods[i].MetadataToken)end + s.index=s.index+24;if s.index>=methods.Length then s.phase=2;s.index=0 end + elseif s.phase==2 then + local module=CS.RPG.Client.GlobalVars.s_ModuleManager.ChallengePeakModule + local obj=module:GetChallengePeakBoss(__PEAK_ID__) + local targets=obj:GetType():GetField('_Targets',flags):GetValue(obj) + for i=0,math.min(targets.Count-1,15)do + local t=targets[i];local f=t:GetType():GetField('_Meta',flags);local row=f:GetValue(t) + log('TARGET '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row)) + if i==0 then + local a=row:GetType().Assembly + for _,name in ipairs({'RPG.GameCore.BattleTargetExcelTable','RPG.GameCore.BattleTargetConfigExcelTable'})do + local ty=a:GetType(name);log('TABLE '..name..' '..tostring(ty)) + if ty then local fs=ty:GetFields(flags);for j=0,math.min(fs.Length-1,15)do log('TABLE_FIELD '..fs[j].Name..' '..tostring(fs[j].FieldType))end end + end + end + end + s.phase=3 + elseif s.phase==3 then + if not s.iterator then s.iterator=CS.RPG.GameCore.ConstValueCommonExcelTable.dataDict:GetEnumerator()end + for i=1,128 do + if not s.iterator:MoveNext()then s.phase=4;log('CONSTANT_END');return end + local pair=s.iterator.Current;local row=pair.Value + local n=tostring(pair.Key):lower() + if n:find('peak') or n:find('turnlimit')then log('CONSTANT '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row))end + end + elseif s.phase==4 then + local stat=CS.RPG.Client.GlobalVars.s_ModuleManager.BattleModule.LastBattleStatistic + if stat then + for _,n in ipairs({'totalBattleRounds','challengeTurnCount','challengeTurnLeft','totalBattleTurns'})do log('STAT '..n..' '..tostring(stat[n]))end + end + s.phase=5;log('END') + end + end) + if not ok then log('ERROR '..s.phase..' '..tostring(err));s.phase=s.phase+1;s.index=0 end +end diff --git a/tools/peak_cycle_schema_probe.lua b/tools/peak_cycle_schema_probe.lua new file mode 100644 index 0000000..bf92632 --- /dev/null +++ b/tools/peak_cycle_schema_probe.lua @@ -0,0 +1,29 @@ +-- Inspect only the named Peak module and configuration loader; no state writes. +do + local s=_G.__gacPeakCycleSchema1 or {phase=0,index=0};_G.__gacPeakCycleSchema1=s + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_CYCLE_SCHEMA] '..tostring(v))end + if s.phase<3 then + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if s.phase==0 then + local m=CS.RPG.Client.GlobalVars.s_ModuleManager.ChallengePeakModule + s.module=m;s.fields=m:GetType():GetFields(flags);log('MODULE '..tostring(m:GetType()));s.phase=1 + end + if s.phase==1 then + for i=s.index,math.min(s.index+15,s.fields.Length-1)do + local f=s.fields[i];log('FIELD '..f.Name..' '..tostring(f.FieldType)) + if not f.IsStatic and (f.Name:lower():find('cycle') or f.Name:lower():find('settle') or f.Name:lower():find('result')) then + local good,v=pcall(function()return f:GetValue(s.module)end);if good then log('VALUE '..f.Name..' '..tostring(v))end + end + end + s.index=s.index+16;if s.index>=s.fields.Length then s.phase=2;s.index=0;s.methods=typeof(CS.RPG.GameCore.GameCoreConfigLoader):GetMethods(flags)end + elseif s.phase==2 then + for i=s.index,math.min(s.index+31,s.methods.Length-1)do + local m=s.methods[i];if m.Name:find('ChallengePeak',1,true)then log('LOADER '..tostring(m))end + end + s.index=s.index+32;if s.index>=s.methods.Length then s.phase=3;log('END')end + end + end) + if not ok then s.phase=3;log('ERROR '..tostring(err))end + end +end diff --git a/tools/peak_end_process_probe.lua b/tools/peak_end_process_probe.lua new file mode 100644 index 0000000..f391019 --- /dev/null +++ b/tools/peak_end_process_probe.lua @@ -0,0 +1,14 @@ +-- The type was observed in BattleGamePhase.EndProcess on the running Client. +do + local s=_G.__gacPeakEndProcess1 or {index=0};_G.__gacPeakEndProcess1=s + if not s.done then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_END_PROCESS] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if not s.methods then s.methods=typeof(CS.IBOLNDGHCBB):GetMethods(flags)end + for i=s.index,math.min(s.index+15,s.methods.Length-1)do log(tostring(s.methods[i])..' '..s.methods[i].MetadataToken)end + s.index=s.index+16;if s.index>=s.methods.Length then s.done=true;log('END')end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end + end +end diff --git a/tools/peak_marshaled_offsets.lua b/tools/peak_marshaled_offsets.lua new file mode 100644 index 0000000..d18b972 --- /dev/null +++ b/tools/peak_marshaled_offsets.lua @@ -0,0 +1,32 @@ +-- Named CLR API reflection only; no raw process memory access. +do + local s=_G.__gacPeakMarshaledOffsets1 or {index=0};_G.__gacPeakMarshaledOffsets1=s + if not s.done then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_MARSHAL_OFFSET] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local zero=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),0) + if not s.ms then + local ty=typeof(CS.System.Object).Assembly:GetType('System.Runtime.InteropServices.Marshal') + s.ms=ty:GetMethods(flags) + end + for i=s.index,math.min(s.index+15,s.ms.Length-1)do + local m=s.ms[i] + if m.Name=='OffsetOf' and not m.IsGenericMethod then + local ps=m:GetParameters() + if ps.Length==2 and tostring(ps[0].ParameterType.FullName)=='System.Type' then + for _,name in ipairs({'totalBattleRounds','challengeTurnCount','challengeTurnLeft','totalBattleTurns'})do + local args=CS.System.Array.CreateInstance(typeof(CS.System.Object),2) + args[0]=typeof(CS.RPG.GameCore.PVEGameStatistics);args[1]=name + local good,v=pcall(function()return m:Invoke(nil,zero,nil,args,nil):ToInt64()end) + log(name..' '..tostring(good)..' '..tostring(v)) + end + s.done=true;return + end + end + end + s.index=s.index+16;if s.index>=s.ms.Length then s.done=true;log('NO_API')end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end + end +end diff --git a/tools/peak_named_methods_probe.lua b/tools/peak_named_methods_probe.lua new file mode 100644 index 0000000..ebdb0b6 --- /dev/null +++ b/tools/peak_named_methods_probe.lua @@ -0,0 +1,12 @@ +do + local s=_G.__gacPeakNamedMethods1 or {index=0};_G.__gacPeakNamedMethods1=s + if not s.done then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_NAMED_METHODS] '..tostring(v))end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if not s.methods then s.methods=CS.RPG.Client.GlobalVars.s_ModuleManager.ChallengePeakModule:GetType():GetMethods(flags)end + for i=s.index,math.min(s.index+31,s.methods.Length-1)do + local m=s.methods[i];if m.Name:find('Target')or m.Name:find('Peak')or m.Name:find('Cycle')then log(tostring(m))end + end + s.index=s.index+32;if s.index>=s.methods.Length then s.done=true;log('END')end + end +end diff --git a/tools/peak_native_data_probe.lua b/tools/peak_native_data_probe.lua new file mode 100644 index 0000000..f3afa10 --- /dev/null +++ b/tools/peak_native_data_probe.lua @@ -0,0 +1,34 @@ +do + local s=_G.__gacPeakNativeData1 or {phase=1,index=0};_G.__gacPeakNativeData1=s + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_NATIVE_DATA] '..tostring(v))end + if s.phase<=3 then + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if s.phase==1 then + local obj=CS.RPG.Client.GlobalVars.s_ModuleManager.BattleModule.LastBattleStatistic + local methods=obj:GetType():GetMethods(flags) + for i=s.index,math.min(s.index+31,methods.Length-1)do log('STATS_METHOD '..tostring(methods[i]))end + s.index=s.index+32;if s.index>=methods.Length then s.phase=2;s.index=0 end + elseif s.phase==2 then + if not s.obj then + s.obj=CS.RPG.Client.GlobalVars.s_ModuleManager.ChallengePeakModule:GetChallengePeakBoss(__PEAK_ID__) + s.type=s.obj:GetType();s.fields=s.type:GetFields(flags);log('PEAK_TYPE '..tostring(s.type)) + end + for i=s.index,math.min(s.index+15,s.fields.Length-1)do + local f=s.fields[i];log('PEAK_FIELD '..f.Name..' '..tostring(f.FieldType)) + if not f.IsStatic and (f.Name:lower():find('target')or f.FieldType.IsPrimitive)then + local good,v=pcall(function()return f:GetValue(s.obj)end);if good then log('PEAK_VALUE '..f.Name..' '..tostring(v))end + end + end + s.index=s.index+16;if s.index>=s.fields.Length then + if s.type.BaseType and s.type.BaseType.Name=='ChallengePeak' then s.type=s.type.BaseType;s.fields=s.type:GetFields(flags);s.index=0;log('PEAK_BASE '..tostring(s.type))else s.phase=3;s.index=0 end + end + else + local t=typeof(CS.RPG.GameCore.ChallengePeakTargetConfigRow) + local fields=t:GetFields(flags);for i=0,math.min(fields.Length-1,23)do log('TARGET_FIELD '..fields[i].Name..' '..tostring(fields[i].FieldType))end + s.phase=4;log('END') + end + end) + if not ok then s.phase=4;log('ERROR '..tostring(err))end + end +end diff --git a/tools/peak_phase_fields.lua b/tools/peak_phase_fields.lua new file mode 100644 index 0000000..48b2d66 --- /dev/null +++ b/tools/peak_phase_fields.lua @@ -0,0 +1,13 @@ +do + local s=_G.__gacPeakPhaseFields1 or {index=0};_G.__gacPeakPhaseFields1=s + if not s.done then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_PHASE_FIELD] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local fs=typeof(CS.RPG.Client.BattleGamePhase):GetFields(flags) + for i=s.index,math.min(s.index+15,fs.Length-1)do log(fs[i].Name..' '..tostring(fs[i].FieldType))end + s.index=s.index+16;if s.index>=fs.Length then s.done=true;log('END')end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end + end +end diff --git a/tools/peak_resolve_converter.lua b/tools/peak_resolve_converter.lua new file mode 100644 index 0000000..fef56ab --- /dev/null +++ b/tools/peak_resolve_converter.lua @@ -0,0 +1,26 @@ +-- One previously captured method token through reflection, not a type scan. +do + if not _G.__gacPeakResolveConverter1 then + _G.__gacPeakResolveConverter1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_CONVERTER] '..tostring(v))end + local ok,err=pcall(function() + local owner=typeof(CS.RPG.Client.BattleModule).Module + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local methods=owner:GetType():GetMethods(flags) + local method=nil + for i=0,methods.Length-1 do + local m=methods[i] + if m.Name=='ResolveMethod' and m:GetParameters().Length==1 then method=m;break end + end + if not method then error('ResolveMethod is absent from Module reflection metadata')end + local typed=CS.System.Array.CreateInstance(typeof(CS.System.Int32),1) + typed[0]=101219446 -- Native converter token check 0x87c76. + local args=CS.System.Array.CreateInstance(typeof(CS.System.Object),1) + CS.System.Array.Copy(typed,0,args,0,1) + local result=method:Invoke(owner,CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),0),nil,args,nil) + log('RESULT '..tostring(result)) + end) + if not ok then log('ERROR '..tostring(err))end + end +end + diff --git a/tools/peak_result_builder_metadata.lua b/tools/peak_result_builder_metadata.lua new file mode 100644 index 0000000..cffc81e --- /dev/null +++ b/tools/peak_result_builder_metadata.lua @@ -0,0 +1,18 @@ +-- Inspect the single observed EndProcess result builder; do not invoke it. +do + if not _G.__gacPeakBuilderMetadata1 then + _G.__gacPeakBuilderMetadata1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_BUILDER] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local m=typeof(CS.IBOLNDGHCBB):GetMethod('BNIBHPOLPAK',flags) + log('METHOD '..tostring(m)) + local good,ptr=pcall(function()return m.MethodHandle:GetFunctionPointer():ToInt64()end) + log('POINTER '..tostring(good)..' '..tostring(ptr)) + local t=m.ReturnType;log('RETURN '..tostring(t)) + local fs=t:GetFields(flags) + for i=0,math.min(fs.Length-1,23)do log('FIELD '..fs[i].Name..' '..tostring(fs[i].FieldType))end + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/peak_result_method_probe.lua b/tools/peak_result_method_probe.lua new file mode 100644 index 0000000..6537537 --- /dev/null +++ b/tools/peak_result_method_probe.lua @@ -0,0 +1,16 @@ +do + local s=_G.__gacPeakResultMethods1 or {index=0};_G.__gacPeakResultMethods1=s + if not s.done then + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_RESULT_METHOD] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + if not s.methods then s.methods=typeof(CS.RPG.Client.BattleGamePhase):GetMethods(flags)end + for i=s.index,math.min(s.index+23,s.methods.Length-1)do + local m=s.methods[i];local str=tostring(m) + if str:find('Result')or str:find('Statistic')or str:find('Report')then log(str..' '..m.MetadataToken)end + end + s.index=s.index+24;if s.index>=s.methods.Length then s.done=true;log('END')end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end + end +end diff --git a/tools/peak_result_snapshot.lua b/tools/peak_result_snapshot.lua new file mode 100644 index 0000000..3c2b1f9 --- /dev/null +++ b/tools/peak_result_snapshot.lua @@ -0,0 +1,23 @@ +-- Bounded, read-only companion to the server's full result packet capture. +-- Remove from scripts/ after the AA reproduction. +do + local s=_G.__gacPeakResultSnapshot1 or {};_G.__gacPeakResultSnapshot1=s + local ok,err=pcall(function() + local stat=CS.RPG.Client.GlobalVars.s_ModuleManager.BattleModule.LastBattleStatistic + if stat==nil then return end + local values={} + for _,name in ipairs({'totalBattleRounds','challengeTurnCount','challengeTurnLeft','totalBattleTurns','totalAvatarTurns','totalMonsterTurns'})do + values[#values+1]=name..'='..tostring(stat[name]) + end + local signature=table.concat(values,' ') + if signature~=s.signature then + s.signature=signature + CS.UnityEngine.Debug.Log('[GAC_PEAK_RESULT_SNAPSHOT] '..signature) + for _,name in ipairs({'battleRaidTargetList','battleScoringList','battleChallengeScoreList'})do + local encoded,body=pcall(function()return CS.Newtonsoft.Json.JsonConvert.SerializeObject(stat[name])end) + if encoded and #body<=16384 then CS.UnityEngine.Debug.Log('[GAC_PEAK_RESULT_SNAPSHOT] '..name..' '..body)end + end + end + end) + if not ok and s.error~=tostring(err)then s.error=tostring(err);CS.UnityEngine.Debug.Log('[GAC_PEAK_RESULT_SNAPSHOT] ERROR '..s.error)end +end diff --git a/tools/peak_stat_offsets.lua b/tools/peak_stat_offsets.lua new file mode 100644 index 0000000..a9e362e --- /dev/null +++ b/tools/peak_stat_offsets.lua @@ -0,0 +1,13 @@ +do + if not _G.__gacPeakStatOffsets1 then + _G.__gacPeakStatOffsets1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_STAT_OFFSET] '..tostring(v))end + local ok,err=pcall(function() + for _,name in ipairs({'totalBattleRounds','challengeTurnCount','challengeTurnLeft','totalBattleTurns'})do + local good,v=pcall(function()return CS.System.Runtime.InteropServices.Marshal.OffsetOf(typeof(CS.RPG.GameCore.PVEGameStatistics),name):ToInt64()end) + log(name..' '..tostring(good)..' '..tostring(v)) + end + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/peak_target_cache_probe.lua b/tools/peak_target_cache_probe.lua new file mode 100644 index 0000000..016cea9 --- /dev/null +++ b/tools/peak_target_cache_probe.lua @@ -0,0 +1,16 @@ +do + if not _G.__gacPeakTargetCache1 then + _G.__gacPeakTargetCache1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_TARGET_CACHE] '..tostring(v))end + local ok,err=pcall(function() + local s=CS.RPG.Client.GlobalVars.s_ModuleManager.BattleModule.LastBattleStatistic + for _,n in ipairs({'battleRaidTargetList','battleScoringList','battleChallengeScoreList'})do log(n..' '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(s[n]))end + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local methods=CS.RPG.Client.GlobalVars.s_ModuleManager.BattleModule:GetType():GetMethods(flags) + for i=0,methods.Length-1 do + local m=methods[i];if m.Name:find('Result')or m.Name:find('Statistic')then log('METHOD '..tostring(m)..' '..m.MetadataToken)end + end + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/peak_target_rows_probe.lua b/tools/peak_target_rows_probe.lua new file mode 100644 index 0000000..418b22e --- /dev/null +++ b/tools/peak_target_rows_probe.lua @@ -0,0 +1,16 @@ +do + if not _G.__gacPeakTargetRows1 then + _G.__gacPeakTargetRows1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_TARGET_ROWS] '..tostring(v))end + local ok,err=pcall(function() + local ids=__TARGET_IDS__ + for _,id in ipairs(ids)do + local row=CS.RPG.GameCore.BattleTargetExcelTable.dataDict[id] + if row==nil then error('Missing BattleTarget '..id)end + log('ROW '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row)) + end + log('END') + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/peak_target_table_export.lua b/tools/peak_target_table_export.lua new file mode 100644 index 0000000..96ef70f --- /dev/null +++ b/tools/peak_target_table_export.lua @@ -0,0 +1,16 @@ +-- Read only the named native table, 32 rows per heartbeat. +do + local s=_G.__gacPeakTargetExport1 or {};_G.__gacPeakTargetExport1=s + if s.done then return end + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_TABLE] '..tostring(v))end + local ok,err=pcall(function() + if not s.it then s.it=CS.RPG.GameCore.BattleTargetConfigExcelTable.dataDict:GetEnumerator()end + local wanted=__TARGET_IDS__ + for i=1,32 do + if not s.it:MoveNext()then s.done=true;log('END');return end + local row=s.it.Current.Value + if wanted[tonumber(row.ID)]then log('ROW '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(row))end + end + end) + if not ok then s.done=true;log('ERROR '..tostring(err))end +end diff --git a/tools/peak_targets_probe.lua b/tools/peak_targets_probe.lua new file mode 100644 index 0000000..34a4dd7 --- /dev/null +++ b/tools/peak_targets_probe.lua @@ -0,0 +1,23 @@ +do + if not _G.__gacPeakTargetsExport1 then + _G.__gacPeakTargetsExport1=true + local function log(v)CS.UnityEngine.Debug.Log('[GAC_PEAK_TARGETS] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local obj=CS.RPG.Client.GlobalVars.s_ModuleManager.ChallengePeakModule:GetChallengePeakBoss(__PEAK_ID__) + for _,name in ipairs({'_Meta','_BossMeta'})do + local f=obj:GetType():GetField(name,flags);if f then log('META '..name..' '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(f:GetValue(obj)))end + end + local targets=obj:GetType():GetField('_Targets',flags):GetValue(obj) + log('COUNT '..targets.Count) + for i=0,math.min(targets.Count-1,15)do + local target=targets[i];local fields=target:GetType():GetFields(flags) + for j=0,fields.Length-1 do + local f=fields[j];log('FIELD '..f.Name..' '..tostring(f.FieldType)) + if f.Name:find('Meta')then log('ROW '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(f:GetValue(target)))end + end + end + end) + if not ok then log('ERROR '..tostring(err))end + end +end diff --git a/tools/scene_metadata_probe.lua b/tools/scene_metadata_probe.lua index 64763ec..71d863e 100644 --- a/tools/scene_metadata_probe.lua +++ b/tools/scene_metadata_probe.lua @@ -1,11 +1,13 @@ --- Read-only template. Replace __FLOOR_INPUTS__ with Lua pairs from the --- installed MapEntrance table, and __CAPTURE_KEY__ with a unique string. --- Read a bounded batch per heartbeat; never enter a map or alter entities. +-- Read-only RuntimeFloor capture template. Substitute __FLOOR_INPUTS__ from +-- the matching Client MapEntrance rows and __CAPTURE_KEY__ with a unique key. +-- Work is bounded per heartbeat; level graphs are serialized, never executed. do local key = '__CAPTURE_KEY__' - _G.__gacSceneExports = _G.__gacSceneExports or {} - local progress = _G.__gacSceneExports[key] or 1 local floors = __FLOOR_INPUTS__ + _G.__gacSceneExports = _G.__gacSceneExports or {} + local state = _G.__gacSceneExports[key] or {floorIndex = 1} + _G.__gacSceneExports[key] = state + local function log(kind, text) CS.UnityEngine.Debug.Log('[GAC_SCENE_' .. kind .. '] ' .. tostring(text)) end @@ -20,55 +22,134 @@ do local x, y, z, rot = world(group, item) log(kind, prefix .. ' pos=' .. tostring(x) .. ',' .. tostring(y) .. ',' .. tostring(z) .. ' rot=' .. tostring(rot)) end - local batchSize = 4 - for index = progress, math.min(progress + batchSize - 1, #floors) do - local pair = floors[index] + + if state.floorIndex <= #floors then + local pair = floors[state.floorIndex] local ok, err = pcall(function() - local path = CS.RPG.Client.MapDef.GetRtFloorInfoPath(pair[1], pair[2]) - local floor = CS.RPG.GameCore.GameCoreConfigLoader.LoadRtLevelFloorInfo(path) - if floor == nil then error('missing RuntimeFloor ' .. path) end + if state.floor == nil then + local path = CS.RPG.Client.MapDef.GetRtFloorInfoPath(pair[1], pair[2]) + state.floor = CS.RPG.GameCore.GameCoreConfigLoader.LoadRtLevelFloorInfo(path) + if state.floor == nil then error('missing RuntimeFloor ' .. path) end + state.floorIndexInGroups = 0 + state.failed = false + log('META', 'FLOOR ' .. tostring(pair[1]) .. ' ' .. tostring(pair[2]) + .. ' startGroup=' .. tostring(state.floor.StartGroupIndex) + .. ' anchor=' .. tostring(state.floor.StartAnchorID) + .. ' count=' .. tostring(state.floor.GroupInstanceCommonMap.Count)) + state.commonEntries = {} + local iterator = state.floor.GroupInstanceCommonMap:GetEnumerator() + while iterator:MoveNext() do + local entry = iterator.Current + state.commonEntries[#state.commonEntries + 1] = entry + end + state.commonIndex = 1 + state.groupIndex = 0 + end + + local floor = state.floor local floorID = tostring(pair[2]) - log('META', 'FLOOR ' .. tostring(pair[1]) .. ' ' .. floorID - .. ' startGroup=' .. tostring(floor.StartGroupIndex) .. ' anchor=' .. tostring(floor.StartAnchorID) - .. ' count=' .. tostring(floor.GroupInstanceCommonMap.Count)) - local iterator = floor.GroupInstanceCommonMap:GetEnumerator() - while iterator:MoveNext() do - local entry = iterator.Current + if not state.savedCaptured then + for index = 0, math.min(floor.DimensionList.Length - 1, 3) do + local dimension = floor.DimensionList[index] + log('SAVED', 'DIMENSION ' .. floorID .. ' ' .. tostring(index) .. ' ' + .. CS.Newtonsoft.Json.JsonConvert.SerializeObject(dimension.SavedValues)) + local ids = {} + for j = 0, dimension.GroupIndexList.Length - 1 do + ids[#ids + 1] = floor.GroupInstanceList[dimension.GroupIndexList[j]].ID + end + log('DIMENSION', 'GROUPS ' .. floorID .. ' ' .. tostring(index) .. ' ' .. tostring(dimension.ID) + .. ' [' .. table.concat(ids, ',') .. ']') + end + state.savedCaptured = true + end + local commonEnd = math.min(state.commonIndex + 15, #state.commonEntries) + for index = state.commonIndex, commonEnd do + local entry = state.commonEntries[index] log('META', 'GROUP ' .. floorID .. ' ' .. tostring(entry.Key) - .. ' side=' .. tostring(entry.Value.LoadSide) .. ' hoyo=' .. tostring(entry.Value.IsHoyoGroup) + .. ' side=' .. tostring(entry.Value.LoadSide) + .. ' hoyo=' .. tostring(entry.Value.IsHoyoGroup) .. ' deleted=' .. tostring(entry.Value.IsDelete)) end - log('META', 'END ' .. floorID) - for i = 0, floor.GroupInstanceList.Length - 1 do - local group = floor.GroupInstanceList[i] - local common = floor.GroupInstanceCommonMap[group.ID] - if not group.IsDelete and common ~= nil and not common.IsDelete - and (i == floor.StartGroupIndex or tostring(common.LoadSide):find('Server', 1, true)) then - local data = CS.RPG.GameCore.GameCoreConfigLoader.LoadRtLevelGroupInfo(group.GroupPath) - if data == nil then error('missing RuntimeGroup ' .. tostring(group.GroupPath)) end - if i == floor.StartGroupIndex and data.AnchorList ~= nil then - for j = 0, data.AnchorList.Length - 1 do - local anchor = data.AnchorList[j] - if not anchor.IsDelete and anchor.ID == floor.StartAnchorID then - position('PLACEMENT', 'ANCHOR ' .. floorID .. ' ' .. tostring(anchor.ID), group, anchor) + state.commonIndex = commonEnd + 1 + + if state.commonIndex > #state.commonEntries then + -- Skip cheap Client-owned instances without spending a whole + -- heartbeat on each four indices; still load at most four groups. + local groupEnd = math.min(state.groupIndex + 31, floor.GroupInstanceList.Length - 1) + local lastIndex = state.groupIndex - 1 + local loadedGroups = 0 + for index = state.groupIndex, groupEnd do + if loadedGroups >= 4 then break end + lastIndex = index + local group = floor.GroupInstanceList[index] + local common = floor.GroupInstanceCommonMap[group.ID] + if not group.IsDelete and common ~= nil and not common.IsDelete + and (index == floor.StartGroupIndex or tostring(common.LoadSide):find('Server', 1, true)) then + loadedGroups = loadedGroups + 1 + local loaded, groupErr = pcall(function() + local data = CS.RPG.GameCore.GameCoreConfigLoader.LoadRtLevelGroupInfo(group.GroupPath) + if data == nil then error('missing RuntimeGroup ' .. tostring(group.GroupPath)) end + if index == floor.StartGroupIndex and data.AnchorList ~= nil then + for j = 0, data.AnchorList.Length - 1 do + local anchor = data.AnchorList[j] + if not anchor.IsDelete and anchor.ID == floor.StartAnchorID then + position('PLACEMENT', 'ANCHOR ' .. floorID .. ' ' .. tostring(anchor.ID), group, anchor) + end + end end - end - end - if data.MonsterList ~= nil then - for j = 0, data.MonsterList.Length - 1 do - local monster = data.MonsterList[j] - if not monster.IsDelete and not monster.IsClientOnly then - position('PLACEMENT', 'MONSTER ' .. floorID .. ' ' .. tostring(group.ID) - .. ' ' .. tostring(monster.ID), group, monster) + if data.MonsterList ~= nil then + for j = 0, data.MonsterList.Length - 1 do + local monster = data.MonsterList[j] + if not monster.IsDelete and not monster.IsClientOnly then + position('PLACEMENT', 'MONSTER ' .. floorID .. ' ' .. tostring(group.ID) + .. ' ' .. tostring(monster.ID), group, monster) + end + end end + if data.PropList ~= nil then + for j = 0, data.PropList.Length - 1 do + local prop = data.PropList[j] + if not prop.IsDelete and not prop.IsClientOnly then + local x, y, z, rot = world(group, prop) + log('PROPS', 'PROP ' .. floorID .. ' ' .. tostring(group.ID) + .. ' ' .. tostring(prop.ID) .. ' ' .. tostring(prop.PropID) + .. ' ' .. tostring(CS.System.Convert.ToUInt32(prop.State)) + .. ' pos=' .. tostring(x) .. ',' .. tostring(y) .. ',' .. tostring(z) + .. ' rot=' .. tostring(rot)) + end + end + end + end) + if not loaded then + state.failed = true + log('META', 'ERROR group=' .. tostring(group.ID) .. ' ' .. tostring(groupErr)) end end end + state.groupIndex = lastIndex + 1 + if state.groupIndex >= floor.GroupInstanceList.Length then + log('META', 'END ' .. floorID) + if not state.failed then + log('PLACEMENT', 'END ' .. floorID) + log('PROPS', 'END ' .. floorID) + end + state.floorIndex = state.floorIndex + 1 + state.floor = nil + state.savedCaptured = nil + state.commonEntries = nil + end end - log('PLACEMENT', 'END ' .. floorID) end) - if not ok then log('META', 'ERROR ' .. tostring(pair[2]) .. ' ' .. tostring(err)) end - progress = index + 1 + if not ok then + state.failed = true + log('META', 'ERROR floor=' .. tostring(pair[2]) .. ' ' .. tostring(err)) + state.floorIndex = state.floorIndex + 1 + state.floor = nil + state.savedCaptured = nil + state.commonEntries = nil + end + elseif not state.done then + state.done = true + log('META', 'CAPTURE_COMPLETE') end - _G.__gacSceneExports[key] = progress end diff --git a/tools/test_export_scene_metadata.py b/tools/test_export_scene_metadata.py new file mode 100644 index 0000000..11303f1 --- /dev/null +++ b/tools/test_export_scene_metadata.py @@ -0,0 +1,64 @@ +"""Exercise capture completeness, native defaults, and provenance merging.""" +import hashlib +import json +import pathlib +import subprocess +import sys +import tempfile +import unittest + + +class SceneMetadataExportTests(unittest.TestCase): + def test_capture_validation_and_merge(self): + script = pathlib.Path(__file__).with_name("export_scene_metadata.py") + with tempfile.TemporaryDirectory() as directory: + root = pathlib.Path(directory) + assembly, log, output = root / "assembly", root / "capture.log", root / "output.json" + assembly.write_bytes(b"test assembly identity") + previous = { + "client_version": "test-revision", + "source": { + "assembly_sha256": hashlib.sha256(assembly.read_bytes()).hexdigest(), + "capture_sha256": "previous-capture", + "entry_saved_values_policy": {"town": "preserve this policy"}, + }, + "floors": {"30": {"saved_values": {"Existing": 7}}}, + } + output.write_text(json.dumps(previous), encoding="utf-8") + rows = [{"Name": "DebugFlag", "DefaultValue": 0, "MinValue": 0, "MaxValue": 1, "AllowedValues": [0, 1]}] + capture = ( + "[GAC_SCENE_META] FLOOR 10 20 startGroup=0 anchor=1 count=1\n" + "[GAC_SCENE_META] GROUP 20 1 side=Server: 1 hoyo=true deleted=false\n" + "[GAC_SCENE_PLACEMENT] ANCHOR 20 1 pos=1,2,3 rot=90\n" + "[GAC_SCENE_PLACEMENT] END 20\n" + "[GAC_SCENE_META] END 20\n" + "[GAC_SCENE_PROPS] END 20\n" + ) + args = [sys.executable, str(script), str(log), "--assembly", str(assembly), + "--client-version", "test-revision", "--output", str(output), + "--merge", "--dimension-index", "0", "--omit-start-anchor"] + + for invalid in (capture, capture + '[GAC_SCENE_SAVED] DIMENSION 20 0 [{"Name":"DebugFlag","DefaultValue":2,"MinValue":0,"MaxValue":1}]\n', + capture + "[GAC_SCENE_SAVED] DIMENSION 20 0 " + json.dumps(rows) + "\n", + capture.replace("[GAC_SCENE_PROPS] END 20\n", "")): + log.write_text(invalid, encoding="utf-8") + result = subprocess.run(args, capture_output=True, text=True) + self.assertNotEqual(result.returncode, 0, result.stdout) + self.assertEqual(json.loads(output.read_text()), previous, "invalid captures must not alter existing output") + + log.write_text(capture + "[GAC_SCENE_SAVED] DIMENSION 20 0 " + json.dumps(rows) + "\n" + + "[GAC_SCENE_DIMENSION] GROUPS 20 0 7 [1]\n", encoding="utf-8") + result = subprocess.run(args, capture_output=True, text=True) + self.assertEqual(result.returncode, 0, result.stderr) + merged = json.loads(output.read_text()) + self.assertEqual(merged["floors"]["20"]["saved_values"]["DebugFlag"], 0) + self.assertNotIn("start_anchor", merged["floors"]["20"]) + self.assertEqual(merged["floors"]["20"]["floor_default_anchor"]["pos"], {"x": 1000, "y": 2000, "z": 3000}) + self.assertEqual(merged["floors"]["20"]["dimension_id"], 7) + self.assertEqual(merged["floors"]["20"]["dimension_groups"], {"7": [1]}) + self.assertEqual(merged["floors"]["30"], previous["floors"]["30"]) + self.assertEqual(merged["source"]["entry_saved_values_policy"], previous["source"]["entry_saved_values_policy"]) + + +if __name__ == "__main__": + unittest.main() diff --git a/tools/train_debug_conditions_probe.lua b/tools/train_debug_conditions_probe.lua new file mode 100644 index 0000000..aeff16f --- /dev/null +++ b/tools/train_debug_conditions_probe.lua @@ -0,0 +1,39 @@ +-- Read only RuntimeGroup conditions on an explicit floor; never load graphs. +do + local input = __ENTRANCE_ROW__ + local state = _G.__gacTrainDebugConditions1 or {index=0} + _G.__gacTrainDebugConditions1 = state + if not state.done then + local function log(v) CS.UnityEngine.Debug.Log('[GAC_TRAIN_DEBUG_CONDITIONS] '..tostring(v)) end + local ok,err=pcall(function() + if not state.floor then + state.floor=CS.RPG.GameCore.GameCoreConfigLoader.LoadRtLevelFloorInfo(CS.RPG.Client.MapDef.GetRtFloorInfoPath(input.PlaneID,input.FloorID)) + end + local count=0 + local started=CS.UnityEngine.Time.realtimeSinceStartup + while state.index0 and CS.UnityEngine.Time.realtimeSinceStartup-started>0.020 then break end + local g=state.floor.GroupInstanceList[state.index] + state.index=state.index+1 + local c=state.floor.GroupInstanceCommonMap[g.ID] + if not g.IsDelete and c~=nil and not c.IsDelete and tostring(c.LoadSide):find('Client',1,true) then + count=count+1 + local r=CS.RPG.GameCore.GameCoreConfigLoader.LoadRtLevelGroupInfo(g.GroupPath) + local condition=CS.Newtonsoft.Json.JsonConvert.SerializeObject(r.SavedValueCondition) + if condition:find('Utility_IsDebug',1,true) then + local props={} + if r.PropList then for j=0,r.PropList.Length-1 do + local p=r.PropList[j] + props[#props+1]={id=p.ID,prop_id=p.PropID,graph=tostring(p.InitLevelGraph)} + end end + log('GROUP '..g.ID..' '..CS.Newtonsoft.Json.JsonConvert.SerializeObject(r.GroupName)..' '..condition) + for _,p in ipairs(props)do log('PROP '..g.ID..' '..p.id..' '..p.prop_id..' '..p.graph)end + end + end + end + if state.index>=state.floor.GroupInstanceList.Length then state.done=true;log('END') end + end) + if not ok then state.done=true;log('ERROR '..tostring(err))end + end +end + diff --git a/tools/unstuck_schema_probe.lua b/tools/unstuck_schema_probe.lua new file mode 100644 index 0000000..1c468ac --- /dev/null +++ b/tools/unstuck_schema_probe.lua @@ -0,0 +1,12 @@ +-- Unstuck discovery: one known GlobalVars type and shallow UIRoot only. +do + if _G.__gacUnstuckSchema1 then return end;_G.__gacUnstuckSchema1=true + local log=function(v)CS.UnityEngine.Debug.Log('[GAC_UNSTUCK_SCHEMA] '..tostring(v))end + local ok,err=pcall(function() + local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) + local fields=typeof(CS.RPG.Client.GlobalVars):GetFields(flags) + for i=0,math.min(fields.Length-1,255)do local f=fields[i];local n=f.Name:lower();if n:find('network') or n:find('uimanager') then log('GLOBAL '..tostring(f));local v=f:GetValue(nil);if v then local ms=v:GetType():GetMethods(flags);local count=0;for j=0,math.min(ms.Length-1,255)do local m=ms[j];local name=m.Name:lower();if name:find('wait') or name:find('pending') or name:find('loading') or name:find('timeout') or name:find('cancel') then log('METHOD '..tostring(m));count=count+1;if count>=24 then break end end end end end end + local root=CS.UnityEngine.GameObject.Find('UIRoot');if root then for i=0,math.min(root.transform.childCount-1,31)do local c=root.transform:GetChild(i);log('ROOT '..c.name);for j=0,math.min(c.childCount-1,31)do local g=c:GetChild(j);if g.gameObject.activeInHierarchy then log('ACTIVE '..c.name..'/'..g.name)end end end end + end) + if not ok then log('ERROR '..tostring(err))end +end diff --git a/tools/update_prydwen_endgame_teams.py b/tools/update_prydwen_endgame_teams.py new file mode 100644 index 0000000..d5c70d3 --- /dev/null +++ b/tools/update_prydwen_endgame_teams.py @@ -0,0 +1,121 @@ +#!/usr/bin/env python3 +"""Refresh the MoC recommendation snapshot from the credited Prydwen dataset.""" + +from __future__ import annotations + +import argparse +import datetime as dt +import json +import pathlib +import urllib.request + + +DATASET_ROOT = "https://huggingface.co/datasets/LvlUrArti/MocDataProcessed/resolve/main" +REPOSITORY_ROOT = pathlib.Path(__file__).resolve().parents[1] +RESOURCE_PATH = REPOSITORY_ROOT / "resources" / "PrydwenEndgameTeams.json" +AVATAR_CONFIG_PATH = REPOSITORY_ROOT / "resources" / "AvatarConfig.json" + + +def fetch_json(path: str) -> object: + request = urllib.request.Request( + f"{DATASET_ROOT}/{path}", headers={"User-Agent": "GaC-hkrpg-go-recommendations/1.0"} + ) + with urllib.request.urlopen(request, timeout=30) as response: + return json.load(response) + + +def normalized(value: str) -> str: + return "".join(char.lower() for char in value if char.isalnum()) + + +def latest_dataset_version(config: dict[str, dict]) -> tuple[str, dict]: + available = [] + for version, metadata in config.items(): + mode = metadata.get("moc") + date_text = metadata.get("collect_date") + if not version[0].isdigit() or not isinstance(mode, dict) or not date_text: + continue + try: + collected = dt.datetime.strptime(date_text, "%d/%m/%Y").date() + except ValueError: + continue + available.append((collected, version, mode)) + if not available: + raise RuntimeError("No dated MoC snapshot found in the source dataset config") + _, version, mode = max(available) + return version, mode + + +def avatar_tags() -> set[str]: + with AVATAR_CONFIG_PATH.open(encoding="utf-8") as source: + config = json.load(source) + return { + normalized(entry["AvatarVOTag"]) + for entry in config.get("avatar_config", []) + if entry.get("AvatarVOTag") + } + + +def stage_team(version: str, floor: int, stage: int, tags: set[str], aliases: dict[str, str]) -> dict: + path = f"{version}/moc/comps/{floor}-{stage}_combined.json" + rows = fetch_json(path) + if not isinstance(rows, list): + raise RuntimeError(f"Unexpected dataset shape in {path}") + top = next((row for row in rows if row.get("rank") == 1), None) + if top is None: + raise RuntimeError(f"No rank-1 lineup found in {path}") + characters = [top.get(f"char_{slot}") for slot in ("one", "two", "three", "four")] + if any(not isinstance(slug, str) or not slug for slug in characters): + raise RuntimeError(f"Incomplete rank-1 lineup in {path}") + unresolved = [slug for slug in characters if normalized(aliases.get(slug, slug)) not in tags] + if unresolved: + raise RuntimeError( + f"Source slugs do not map to this Client's AvatarConfig: {', '.join(unresolved)}; " + "add their source-slug to AvatarVOTag aliases before refreshing" + ) + return {"stage": stage, "rank": 1, "characters": characters} + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--floor", type=int, required=True, help="Prydwen MoC floor shown by the Client") + parser.add_argument("--stage-count", type=int, required=True, help="number of stage teams to fetch") + args = parser.parse_args() + if args.floor <= 0 or args.stage_count <= 0: + parser.error("--floor and --stage-count must be positive") + + config = fetch_json("config.json") + if not isinstance(config, dict): + raise RuntimeError("Unexpected source config shape") + version, cycle = latest_dataset_version(config) + aliases = {} + if RESOURCE_PATH.exists(): + with RESOURCE_PATH.open(encoding="utf-8") as source: + aliases = json.load(source).get("avatar_aliases", {}) + tags = avatar_tags() + stages = [ + stage_team(version, args.floor, stage, tags, aliases) + for stage in range(1, args.stage_count + 1) + ] + output = { + "source": { + "name": "LvlUrArti/MocDataProcessed", + "url": "https://huggingface.co/datasets/LvlUrArti/MocDataProcessed", + "license": "MIT", + "attribution": "Processed data shown on Prydwen; credit LvlUrArti", + "dataset_version": version, + "collect_date": dt.datetime.strptime(config[version]["collect_date"], "%d/%m/%Y").date().isoformat(), + "challenge_version": cycle.get("ver"), + "challenge_name": cycle.get("name"), + }, + "avatar_aliases": aliases, + "mode": "moc", + "floor": args.floor, + "stages": stages, + } + RESOURCE_PATH.write_text(json.dumps(output, ensure_ascii=False, indent=2) + "\n", encoding="utf-8") + print(f"Updated {RESOURCE_PATH.relative_to(REPOSITORY_ROOT)} from dataset {version}: {len(stages)} stages") + + +if __name__ == "__main__": + main()