Compare commits

...

8 commits
1.0.0 ... main

17 changed files with 450468 additions and 424259 deletions

116
README.md
View file

@ -1,57 +1,61 @@
# JingliuSR
#### Honkai: Star Rail server emulator (3.4 beta) written in Zig.
# Saber who??? trash bin who???
![Screenshot](Screenshot.png)
## Requirements
[Zig 0.13.0 x64](https://ziglang.org/download/0.13.0/zig-windows-x86_64-0.13.0.zip) and
[Proxy](https://git.xeondev.com/YYHEggEgg/FireflySR.Tool.Proxy/releases)
## Running
### From source
Windows:
```
git clone https://git.xeondev.com/HonkaiSlopRail/jingliu-sr
cd jingliu-sr
zig build run-dispatch
zig build run-
```
Then open Proxy then open client
Linux:
```
git clone https://git.xeondev.com/HonkaiSlopRail/jingliu-sr
cd jingliu-sr
zig build run-dispatch & zig build run-gameserver
```
Then open Proxy then open client
### Using Pre-built Binaries
Navigate to the [Releases](https://git.xeondev.com/HonkaiSlopRail/jingliu-sr/releases)
page and download the latest release for your platform.
## Connecting
[Get 3.3.51 client](https://gofile.io/d/tWhXrJ)
## Functionality (work in progress)
- Login and player spawn
- Test battle via calyx
- MOC/PF/AS simulator
- Gacha simulator
- Support command for Sillyism (there are some bugs right now )
## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss
what you would like to change, and why.
## Bug Reports
If you find a bug, please open an issue with as much detail as possible. If you
can, please include steps to reproduce the bug.
Bad issues such as "This doesn't work" will be closed immediately, be _sure_ to
provide exact detailed steps to reproduce your bug. If it's hard to reproduce, try
# JingliuSR
#### Honkai: Star Rail server emulator (3.4 beta) written in Zig.
# Saber who??? trash bin who???
![Screenshot](Screenshot.png)
## Requirements
[Zig 0.13.0 x64](https://ziglang.org/download/0.13.0/zig-windows-x86_64-0.13.0.zip)
## Running
### Replacing mhypbase.dll
Replace [mhypbase.dll](https://git.xeondev.com/HonkaiSlopRail/jingliu-sr/raw/branch/main/mhypbase.dll) file in your game folder.
### From source
Windows:
```
git clone https://git.xeondev.com/HonkaiSlopRail/jingliu-sr
cd jingliu-sr
zig build run-dispatch
zig build run-gameserver
```
Then open your client.
Linux:
```
git clone https://git.xeondev.com/HonkaiSlopRail/jingliu-sr
cd jingliu-sr
zig build run-dispatch & zig build run-gameserver
```
Then open your client.
### Using Pre-built Binaries
Navigate to the [Releases](https://git.xeondev.com/HonkaiSlopRail/jingliu-sr/releases)
page and download the latest release for your platform.
## Connecting
[Get 3.3.51 client](https://gofile.io/d/tWhXrJ)
## Functionality (work in progress)
- Login and player spawn
- Test battle via calyx
- MOC/PF/AS simulator
- Gacha simulator
- Support command for Sillyism (there are some bugs right now )
## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss
what you would like to change, and why.
## Bug Reports
If you find a bug, please open an issue with as much detail as possible. If you
can, please include steps to reproduce the bug.
Bad issues such as "This doesn't work" will be closed immediately, be _sure_ to
provide exact detailed steps to reproduce your bug. If it's hard to reproduce, try
to explain it and write a reproducer as best as you can.

View file

@ -1,328 +1,184 @@
{
"avatar_config": [
{
"name": "Jingliu",
"id": 1212,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 0,
"lightcone": {
"id": 23014,
"rank": 1,
"level": 80,
"promotion": 6
},
"relics": [
"61041,15,1,4,5:1:0,6:3:5,8:1:1,9:4:4",
"61022,15,1,4,3:1:1,6:3:3,8:1:1,9:3:3",
"61043,15,5,4,6:1:1,8:3:3,10:3:3,12:2:1",
"61024,15,4,4,2:1:2,5:1:1,8:4:4,9:3:0",
"63095,15,6,4,2:1:0,3:3:4,8:2:3,11:2:4",
"63096,15,2,4,1:1:0,2:2:4,7:3:1,9:2:3"
],
"use_technique": false
},
{
"name": "Silver Wolf",
"id": 1006,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 0,
"lightcone": {
"id": 23007,
"rank": 1,
"level": 80,
"promotion": 6
},
"relics": [
"61141,15,1,4,2:3:2,4:2:3,7:2:1,11:1:2",
"61142,15,1,4,3:1:0,6:1:1,7:4:4,9:2:0",
"61113,15,7,4,2:1:2,6:3:2,7:3:1,11:1:0",
"61114,15,4,4,3:1:2,4:3:3,10:3:4,11:2:1",
"63125,15,1,4,2:2:4,7:3:1,11:2:2,12:2:3",
"63126,15,2,4,6:1:0,7:2:1,9:3:1,10:2:2"
],
"use_technique": false
},
{
"name": "Kafka",
"id": 1005,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 0,
"lightcone": {
"id": 23006,
"rank": 1,
"level": 80,
"promotion": 6
},
"relics": [
"61161,15,1,4,5:1:1,6:2:2,7:3:1,8:2:2",
"61162,15,1,4,1:2:2,5:2:2,9:2:2,10:2:3",
"61163,15,2,4,7:3:1,8:1:1,10:2:2,11:2:3",
"61164,15,4,4,1:1:0,8:2:0,9:2:1,11:3:4",
"63115,15,7,4,1:3:4,2:1:2,8:1:0,9:3:0",
"63116,15,4,4,1:2:2,8:3:0,11:1:2,12:2:4"
],
"use_technique": false
},
{
"name": "Saber",
"id": 1014,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 6,
"lightcone": {
"id": 23045,
"rank": 5,
"level": 80,
"promotion": 6
},
"relics": [
"61261,15,1,4,5:2:2,7:1:1,8:3:3,9:3:3",
"61262,15,1,4,9:1:1,7:3:3,5:3:3,8:2:2",
"61263,15,5,4,7:2:2,8:3:3,5:3:3,4:1:1",
"61264,15,4,4,8:2:2,9:3:3,5:2:2,4:2:2",
"63095,15,8,4,9:2:2,8:1:1,5:3:3,7:3:3",
"63096,15,4,4,9:2:2,8:2:2,7:3:3,4:2:2"
],
"use_technique": true
},
{
"name": "Archer",
"id": 1015,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 0,
"lightcone": {
"id": 23046,
"rank": 1,
"level": 80,
"promotion": 6
},
"relics": [
"61261,15,1,4,8:2:2,2:3:3,4:1:1,12:3:3",
"61262,15,1,4,10:2:2,11:3:3,12:3:3,6:1:1",
"61263,15,5,4,4:2:2,10:3:3,11:2:2,12:2:2",
"61264,15,2,4,10:2:2,6:2:2,9:4:4,2:1:1",
"63145,15,9,4,4:1:1,6:4:4,9:1:1,5:3:3",
"63146,15,4,4,1:3:3,10:3:3,9:1:1,11:2:2"
],
"use_technique": true
},
{
"name": "Phainon",
"id": 1408,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 0,
"lightcone": {
"id": 23044,
"rank": 1,
"level": 80,
"promotion": 6
},
"relics": [
"61261,15,1,4,6:1:1,9:3:3,12:3:3,4:2:2",
"61262,15,1,4,9:4:4,11:1:1,5:2:2,8:2:2",
"61263,15,5,4,3:2:2,2:2:2,5:4:4,6:1:1",
"61264,15,2,4,10:1:1,12:3:3,8:1:1,4:4:4",
"63225,15,4,4,9:1:1,4:2:2,6:2:2,3:4:4",
"63226,15,4,4,1:3:3,8:2:2,2:2:2,3:2:2"
],
"use_technique": false
},
{
"name": "Hyacine",
"id": 1409,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 0,
"lightcone": {
"id": 23042,
"rank": 1,
"level": 80,
"promotion": 6
},
"relics": [
"61251,15,1,4,3:1:2,4:3:1,7:1:0,9:3:2",
"61252,15,1,4,1:2:4,7:3:1,9:2:0,12:1:2",
"61253,15,6,4,6:2:2,7:3:1,9:1:2,11:2:3",
"61254,15,4,4,1:3:2,5:1:1,9:2:2,11:2:2",
"63205,15,1,4,1:1:0,6:1:2,7:3:1,9:3:2",
"63206,15,3,4,3:1:0,6:2:2,7:4:4,9:1:0"
],
"use_technique": false
},
{
"name": "Castorice",
"id": 1407,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 0,
"lightcone": {
"id": 23040,
"rank": 1,
"level": 80,
"promotion": 6
},
"relics": [
"61241,15,1,4,5:2:3,8:2:1,9:3:3,12:1:0",
"61242,15,1,4,4:3:2,5:1:2,6:1:0,9:3:2",
"61243,15,5,4,1:1:0,4:1:0,8:3:3,10:3:3",
"61244,15,1,4,1:1:1,2:2:3,8:2:0,9:3:5",
"63195,15,1,4,1:3:6,2:1:0,8:2:2,9:2:1",
"63196,15,3,4,3:1:1,8:4:5,9:3:1,10:1:1"
],
"use_technique": false
},
{
"name": "Traiblazer",
"id": 8008,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 6,
"lightcone": {
"id": 24005,
"rank": 5,
"level": 80,
"promotion": 6
},
"relics": [
"61231,15,1,4,3:1:0,7:2:4,9:2:4,10:3:1",
"61232,15,1,4,7:2:1,9:4:2,10:1:1,11:1:2",
"61233,15,5,4,4:2:2,7:4:1,10:1:1,12:2:1",
"61234,15,4,4,3:1:8,4:2:2,9:3:2,11:2:1",
"63085,15,1,4,1:1:2,5:3:1,7:2:1,9:2:2",
"63086,15,2,4,1:3:4,2:2:2,9:1:1,10:2:3"
],
"use_technique": false
},
{
"name": "March 7th",
"id": 1224,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 6,
"lightcone": {
"id": 24001,
"rank": 5,
"level": 80,
"promotion": 6
},
"relics": [
"61021,15,1,4,5:1:0,8:2:4,9:4:6,10:2:2",
"61202,15,1,4,5:3:3,8:2:4,9:1:1,11:2:3",
"61023,15,5,4,2:1:1,7:1:0,8:4:4,10:3:4",
"61204,15,2,4,3:1:0,6:1:0,8:5:2,9:2:1",
"63095,15,2,4,1:2:3,8:2:2,9:2:3,11:3:3",
"63096,15,2,4,5:3:3,6:2:4,9:2:0,11:2:3"
],
"use_technique": false
},
{
"name": "Huohuo",
"id": 1217,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 0,
"lightcone": {
"id": 23017,
"rank": 1,
"level": 80,
"promotion": 6
},
"relics": [
"61141,15,1,4,4:2:3,8:3:1,10:1:1,12:2:2",
"61142,15,1,4,1:2:0,4:1:2,7:3:3,11:2:3",
"61143,15,6,4,1:2:3,4:2:2,9:1:2,10:3:5",
"61144,15,4,4,1:1:1,4:3:4,6:1:0,11:3:2",
"63085,15,1,4,1:3:4,7:2:1,11:3:3,12:1:0",
"63086,15,2,4,2:1:2,3:3:5,11:2:3,12:2:2"
],
"use_technique": false
},
{
"name": "Sunday",
"id": 1313,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 0,
"lightcone": {
"id": 23034,
"rank": 1,
"level": 80,
"promotion": 6
},
"relics": [
"61211,15,1,4,5:3:3,7:3:3,8:1:1,9:2:2",
"61212,15,1,4,9:4:4,7:2:2,5:2:2,8:1:1",
"61213,15,5,4,7:2:2,8:1:1,5:4:4,4:2:2",
"61214,15,4,4,8:3:3,9:2:2,5:2:2,4:2:2",
"63175,15,1,4,9:2:2,8:1:1,5:3:3,7:3:3",
"63176,15,2,4,9:4:4,8:1:1,7:2:2,4:2:2"
],
"use_technique": true
},
{
"name": "Tribbie",
"id": 1403,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 0,
"lightcone": {
"id": 23038,
"rank": 1,
"level": 80,
"promotion": 6
},
"relics": [
"61241,15,1,4,8:2:1,9:2:4,11:2:2,12:2:2",
"61242,15,1,4,3:1:0,4:2:0,6:1:8,9:3:2",
"61243,15,5,4,3:2:4,8:3:2,10:1:0,11:2:3",
"61244,15,1,4,1:2:3,3:2:2,8:2:2,9:2:2",
"63195,15,1,4,1:2:4,5:1:1,8:4:4,9:1:1",
"63196,15,2,4,4:1:1,8:3:5,9:1:2,12:3:3"
],
"use_technique": true
}
],
"battle_config": {
"battle_id": 1,
"stage_id": 201012311,
"cycle_count": 30,
"monster_wave": [
[
4015011
]
],
"monster_level": 95,
"blessings": []
}
"avatar_config": [
{
"name": "Saber",
"id": 1014,
"hp": 100,
"sp": 0,
"level": 80,
"promotion": 6,
"rank": 6,
"lightcone": {
"id": 23045,
"rank": 1,
"level": 80,
"promotion": 6
},
"relics": [
"61261,15,1,4,6:4:4,3:3:3,11:1:1,2:1:1",
"61262,15,1,4,5:1:1,12:2:2,10:4:4,11:2:2",
"61263,15,5,4,8:2:2,6:2:2,5:2:2,10:3:3",
"61264,15,4,4,11:3:3,5:3:3,10:1:1,2:2:2",
"63095,15,8,4,11:2:2,12:3:3,10:3:3,5:1:1",
"63096,15,4,4,6:2:2,3:2:2,8:3:3,11:2:2"
],
"use_technique": true
},
{
"name": "Hyacine",
"id": 1409,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 6,
"lightcone": {
"id": 23042,
"rank": 1,
"level": 80,
"promotion": 6
},
"relics": [
"61251,15,1,4,12:3:3,6:4:4,5:1:1,4:1:1",
"61252,15,1,4,10:2:2,12:2:2,7:3:3,9:2:2",
"61253,15,6,4,1:1:1,5:3:3,3:4:4,6:1:1",
"61254,15,4,4,1:2:2,8:3:3,12:2:2,5:2:2",
"63205,15,1,4,8:3:3,5:2:2,7:2:2,12:2:2",
"63206,15,3,4,6:2:2,7:1:1,8:4:4,3:2:2"
],
"use_technique": true
},
{
"name": "Tribbie",
"id": 1403,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 6,
"lightcone": {
"id": 23038,
"rank": 1,
"level": 80,
"promotion": 6
},
"relics": [
"61241,15,1,4,6:3:3,12:1:1,2:3:3,7:2:2",
"61242,15,1,4,8:2:2,5:2:2,10:1:1,9:4:4",
"61243,15,5,4,5:2:2,12:2:2,2:2:2,6:3:3",
"61244,15,1,4,11:2:2,7:3:3,12:2:2,8:2:2",
"63195,15,1,4,10:4:4,8:1:1,1:2:2,2:2:2",
"63196,15,2,4,5:3:3,12:2:2,3:3:3,7:1:1"
],
"use_technique": true
},
{
"name": "Silver Wolf",
"id": 1006,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 6,
"lightcone": {
"id": 23029,
"rank": 5,
"level": 80,
"promotion": 6
},
"relics": [
"61081,15,1,4,8:2:2,7:2:2,2:2:2,9:3:3",
"61082,15,1,4,10:3:3,1:3:3,11:1:1,6:2:2",
"61083,15,7,4,12:4:4,5:2:2,2:1:1,8:2:2",
"61084,15,4,4,5:1:1,9:1:1,8:3:3,10:4:4",
"63035,15,9,4,12:2:2,8:1:1,3:3:3,11:3:3",
"63036,15,2,4,5:1:1,3:2:2,10:3:3,7:3:3"
],
"use_technique": true
},
{
"name": "Phainon",
"id": 1408,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 0,
"lightcone": {
"id": 23044,
"rank": 1,
"level": 80,
"promotion": 6
},
"relics": [
"61261,15,1,4,5:2:2,2:2:2,3:3:3,9:2:2",
"61262,15,1,4,12:3:3,1:3:3,5:1:1,8:2:2",
"61263,15,5,4,3:1:1,7:3:3,10:4:4,4:1:1",
"61264,15,4,4,8:1:1,12:1:1,1:5:5,3:2:2",
"63215,15,4,4,4:1:1,9:1:1,5:4:4,3:3:3",
"63216,15,4,4,10:3:3,7:2:2,9:3:3,6:1:1"
],
"use_technique": true
},
{
"name": "Kafka",
"id": 1005,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 0,
"lightcone": {
"id": 23006,
"rank": 1,
"level": 80,
"promotion": 6
},
"relics": [
"61161,15,1,4,2:2:2,8:3:3,9:2:2,6:2:2",
"61162,15,1,4,4:2:2,5:2:2,7:3:3,6:2:2",
"61163,15,2,4,10:3:3,11:1:1,8:3:3,9:2:2",
"61164,15,4,4,10:2:2,1:1:1,8:4:4,6:2:2",
"63225,15,7,4,5:2:2,10:2:2,2:3:3,3:2:2",
"63226,15,4,4,2:4:4,7:3:3,3:1:1,1:1:1"
],
"use_technique": true
},
{
"name": "Jingliu",
"id": 1212,
"hp": 100,
"sp": 50,
"level": 80,
"promotion": 6,
"rank": 6,
"lightcone": {
"id": 23014,
"rank": 5,
"level": 80,
"promotion": 6
},
"relics": [
"61261,15,1,4,11:3:3,7:1:1,3:3:3,12:2:2",
"61262,15,1,4,5:3:3,4:2:2,6:3:3,7:1:1",
"61263,15,5,4,8:2:2,6:3:3,7:1:1,10:3:3",
"61264,15,4,4,10:1:1,4:4:4,5:2:2,12:2:2",
"63195,15,6,4,6:3:3,12:1:1,9:2:2,8:3:3",
"63196,15,3,4,10:3:3,8:3:3,7:2:2,6:1:1"
],
"use_technique": true
}
],
"battle_config": {
"battle_id": 1,
"stage_id": 201012311,
"cycle_count": 30,
"monster_wave": [
[
4015011
]
],
"monster_level": 95,
"blessings": []
}
}

View file

@ -23,6 +23,7 @@ fn isInList(id: u32, list: []const u32) bool {
}
pub var max_avatar_list: u32 = 0;
pub var initial_uid: u32 = 0;
fn syncItems(session: *Session, allocator: Allocator, equip_avatar: bool) !void {
resetGlobalUidGens();
@ -61,6 +62,10 @@ fn syncItems(session: *Session, allocator: Allocator, equip_avatar: bool) !void
try sync.relic_list.append(r);
}
}
if (!equip_avatar) {
const getcurrent_uid = getCurrentGlobalId();
initial_uid = getcurrent_uid;
}
try session.send(CmdID.CmdPlayerSyncScNotify, sync);
}
@ -232,7 +237,7 @@ pub fn onSyncMultiPath(session: *Session, _: []const u8, allocator: Allocator) E
pub var global_uid_gen: UidGenerator = undefined;
fn resetGlobalUidGens() void {
global_uid_gen = UidGenerator.init(0);
global_uid_gen = UidGenerator.init(initial_uid);
}
pub fn nextGlobalId() u32 {

View file

@ -88,6 +88,7 @@ const HandlerList = [_]struct { CmdID, Action }{
.{ CmdID.CmdGetTutorialCsReq, mission.onGetTutorialStatus },
.{ CmdID.CmdUnlockTutorialGuideCsReq, mission.onUnlockTutorialGuide },
.{ CmdID.CmdUnlockTutorialCsReq, mission.onUnlockTutorial },
.{ CmdID.CmdFinishTalkMissionCsReq, mission.onFinishTalkMission },
//chat
.{ CmdID.CmdGetFriendListInfoCsReq, chat.onGetFriendListInfo },
.{ CmdID.CmdGetPrivateChatHistoryCsReq, chat.onPrivateChatHistory },

View file

@ -5,6 +5,7 @@ const Packet = @import("../Packet.zig");
const Config = @import("../services/config.zig");
const Data = @import("../data.zig");
const ChallengeData = @import("../services/challenge.zig");
const NodeCheck = @import("../commands/value.zig");
const ArrayList = std.ArrayList;
const Allocator = std.mem.Allocator;
@ -225,19 +226,27 @@ fn addBattleTargets(allocator: Allocator, battle: *protocol.SceneBattleInfo) !vo
// target hardcode
var pfTargetHead = protocol.BattleTargetList{ .battle_target_list = ArrayList(protocol.BattleTarget).init(allocator) };
try pfTargetHead.battle_target_list.append(.{ .id = 10002, .progress = 0, .total_progress = 0 });
if (ChallengeData.on_challenge == true) {
if (NodeCheck.challenge_node == 0) {
try pfTargetHead.battle_target_list.append(.{ .id = 10003, .progress = 0, .total_progress = 80000 });
} else {
try pfTargetHead.battle_target_list.append(.{ .id = 10003, .progress = 40000, .total_progress = 80000 });
}
} else {
try pfTargetHead.battle_target_list.append(.{ .id = 10002, .progress = 0, .total_progress = 80000 });
}
var pfTargetTail = protocol.BattleTargetList{ .battle_target_list = ArrayList(protocol.BattleTarget).init(allocator) };
try pfTargetTail.battle_target_list.append(.{ .id = 2001, .progress = 0, .total_progress = 0 });
try pfTargetTail.battle_target_list.append(.{ .id = 2002, .progress = 0, .total_progress = 0 });
var asTargetHead = protocol.BattleTargetList{ .battle_target_list = ArrayList(protocol.BattleTarget).init(allocator) };
try asTargetHead.battle_target_list.append(.{ .id = 90005, .progress = 0, .total_progress = 0 });
try asTargetHead.battle_target_list.append(.{ .id = 90005, .progress = 2000, .total_progress = 0 });
switch (battle.stage_id) {
// PF
30019000...30019100, 30021000...30021100, 30301000...30319000 => {
try battle.battle_target_info.append(.{ .key = 1, .value = pfTargetHead });
// fill blank target
for (2..5) |i| {
for (2..4) |i| {
try battle.battle_target_info.append(.{ .key = @intCast(i) });
}
try battle.battle_target_info.append(.{ .key = 5, .value = pfTargetTail });

View file

@ -13,6 +13,18 @@ const ArrayList = std.ArrayList;
const Allocator = std.mem.Allocator;
const CmdID = protocol.CmdID;
// Function to check if a list contatin an ID
fn containsAny(list: []const u32, ids: []const u32) bool {
for (ids) |id| {
for (list) |item| {
if (item == id) {
return true;
}
}
}
return false;
}
pub const LineupManager = struct {
allocator: std.mem.Allocator,
pub fn init(allocator: std.mem.Allocator) LineupManager {
@ -32,6 +44,10 @@ pub const LineupManager = struct {
}
var avatar = protocol.LineupAvatar.init(self.allocator);
avatar.id = avatarConf.id;
if (avatarConf.id == 1408) {
lineup.mp = 7;
lineup.max_mp = 7;
}
avatar.slot = @intCast(idx);
avatar.satiety = 0;
avatar.hp = avatarConf.hp * 100;
@ -69,6 +85,10 @@ pub const ChallengeLineupManager = struct {
for (avatar_list.items, 0..) |avatarlist, idx| {
var avatar = protocol.LineupAvatar.init(self.allocator);
avatar.id = avatarlist;
if (avatarlist == 1408) {
lineup.mp = 7;
lineup.max_mp = 7;
}
avatar.slot = @intCast(idx);
avatar.satiety = 0;
avatar.hp = 10000;

View file

@ -33,7 +33,7 @@ pub const SceneManager = struct {
scene_info.plane_id = plane_id;
scene_info.floor_id = floor_id;
scene_info.entry_id = entry_id;
scene_info.leader_entity_id = 100000;
scene_info.leader_entity_id = config.avatar_config.items[0].id + 100000;
scene_info.world_id = 501;
scene_info.client_pos_version = 1;
var group_map = std.AutoHashMap(u32, protocol.SceneEntityGroupInfo).init(self.allocator);
@ -44,10 +44,10 @@ pub const SceneManager = struct {
if (teleConf.teleportId == teleport_id) {
var scene_group = protocol.SceneEntityGroupInfo.init(self.allocator);
scene_group.state = 1;
for (config.avatar_config.items, 0..) |avatarConf, idx| {
for (config.avatar_config.items) |avatarConf| {
try scene_group.entity_list.append(.{
.InstId = 1,
.EntityId = @intCast(idx + 100000),
.EntityId = @intCast(avatarConf.id + 100000),
.entityCase_ = .{ .Actor = .{
.base_avatar_id = avatarConf.id,
.avatar_type = .AVATAR_FORMAL_TYPE,
@ -73,7 +73,7 @@ pub const SceneManager = struct {
.entityCase_ = .{ .Prop = prop_info },
.GroupId = scene_group.group_id,
.InstId = propConf.instId,
.EntityId = generator.nextId(),
.EntityId = 1000 + generator.nextId(),
.Motion = .{
.pos = .{ .x = propConf.pos.x, .y = propConf.pos.y, .z = propConf.pos.z },
.rot = .{ .x = propConf.rot.x, .y = propConf.rot.y, .z = propConf.rot.z },
@ -162,7 +162,7 @@ pub const ChallengeSceneManager = struct {
scene_info.plane_id = plane_id;
scene_info.floor_id = floor_id;
scene_info.entry_id = entry_id;
scene_info.leader_entity_id = 1;
scene_info.leader_entity_id = avatar_list.items[0];
scene_info.world_id = world_id;
try scene_info.group_state_list.append(protocol.SceneGroupState{
.group_id = maze_group_id,
@ -172,11 +172,10 @@ pub const ChallengeSceneManager = struct {
var scene_group = protocol.SceneEntityGroupInfo.init(self.allocator);
scene_group.state = 1;
scene_group.group_id = 0;
for (avatar_list.items, 0..) |avatarConf, idx| {
const newidx = idx + 100000;
for (avatar_list.items) |avatarConf| {
try scene_group.entity_list.append(.{
.InstId = 1,
.EntityId = @intCast(newidx),
.EntityId = @intCast(avatarConf + 100000),
.entityCase_ = .{
.Actor = .{
.base_avatar_id = avatarConf,

View file

@ -69,27 +69,29 @@ pub fn onSceneCastSkill(session: *Session, packet: *const Packet, allocator: All
var challege_mgr = ChallegeStageManager.init(allocator);
const challenge = try challege_mgr.createChallegeStage();
const req = try packet.getProto(protocol.SceneCastSkillCsReq, allocator);
var monster_battle_info_list = ArrayList(protocol.HitMonsterBattleInfo).init(allocator);
try monster_battle_info_list.appendSlice(&[_]protocol.HitMonsterBattleInfo{
.{
.target_monster_entity_id = 0,
.monster_battle_type = protocol.MonsterBattleType.MONSTER_BATTLE_TYPE_TRIGGER_BATTLE,
},
});
var battle_info: ?protocol.SceneBattleInfo = null;
var monster_battle_info_list = ArrayList(protocol.HitMonsterBattleInfo).init(allocator);
std.debug.print("SKILL INDEX: {}\n", .{req.skill_index});
for (req.assist_monster_entity_id_list.items) |id| {
std.debug.print("ASSIST ID: {}\n", .{id});
if ((req.attacked_by_entity_id >= 1 and req.attacked_by_entity_id <= 1000) or
(req.assist_monster_entity_id_list.items.len > 0 and id < 1000))
{
const list = protocol.HitMonsterBattleInfo{
.target_monster_entity_id = id,
.monster_battle_type = protocol.MonsterBattleType.MONSTER_BATTLE_TYPE_TRIGGER_BATTLE,
};
try monster_battle_info_list.append(list);
if (req.assist_monster_entity_id_list.items.len > 0 or
(req.attacked_by_entity_id >= 1 and req.attacked_by_entity_id <= 99))
{
if (ChallengeData.on_challenge) {
battle_info = challenge;
} else {
battle_info = battle;
on_battle = true;
if (ChallengeData.on_challenge) {
battle_info = challenge;
} else {
battle_info = battle;
on_battle = true;
}
}
//TODO: DO IGNORE BATTLE AND SKIP BATTLE
}
try session.send(CmdID.CmdSceneCastSkillScRsp, protocol.SceneCastSkillScRsp{
.retcode = 0,
.cast_entity_id = req.cast_entity_id,

View file

@ -59,7 +59,7 @@ pub fn onPrivateChatHistory(session: *Session, _: *const Packet, allocator: Allo
rsp.contact_side = 2000;
try rsp.chat_message_list.appendSlice(&[_]protocol.ChatMessageData{
.{
.content = .{ .Const = "/sync command is having some issues right now. In order to change gear setup, you need to re-login" },
.content = .{ .Const = "Use https://relic-builder.vercel.app/ to setup config" },
.message_type = .MSG_TYPE_CUSTOM_TEXT,
.create_time = 0,
.sender_id = 2000,

View file

@ -41,6 +41,10 @@ pub fn onReplaceLineup(session: *Session, packet: *const Packet, allocator: Allo
.avatar_type = protocol.AvatarType.AVATAR_FORMAL_TYPE,
.sp_bar = .{ .sp_cur = 10000, .sp_max = 10000 },
};
if (ok.id == 1408) {
lineup.mp = 7;
lineup.max_mp = 7;
}
try lineup.avatar_list.append(avatar);
}

View file

@ -45,7 +45,15 @@ pub fn onGetTutorialStatus(session: *Session, _: *const Packet, allocator: Alloc
}
try session.send(CmdID.CmdGetTutorialScRsp, rsp);
}
pub fn onFinishTalkMission(session: *Session, packet: *const Packet, allocator: Allocator) !void {
const req = try packet.getProto(protocol.FinishTalkMissionCsReq, allocator);
var rsp = protocol.FinishTalkMissionScRsp.init(allocator);
rsp.sub_mission_id = req.sub_mission_id;
rsp.custom_value_list = req.custom_value_list;
rsp.talk_str = req.talk_str;
rsp.retcode = 0;
try session.send(CmdID.CmdFinishTalkMissionScRsp, rsp);
}
// added this to auto detect new tutorial guide id
pub fn onUnlockTutorialGuide(session: *Session, packet: *const Packet, allocator: Allocator) !void {
const req = try packet.getProto(protocol.UnlockTutorialGuideCsReq, allocator);

View file

@ -69,7 +69,6 @@ pub fn onEnterScene(session: *Session, packet: *const Packet, allocator: Allocat
});
}
//TODO FIX CURRENT SCENE MAP DISPLAY
pub fn onGetSceneMapInfo(session: *Session, packet: *const Packet, allocator: Allocator) !void {
const req = try packet.getProto(protocol.GetSceneMapInfoCsReq, allocator);
const res_config = try Res_config.anchorLoader(allocator, "resources/res.json");

View file

@ -30,5 +30,13 @@
"ifix_version": "0",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_10434495_6bff50432edd_1641e3e19f1244",
"lua_version": ""
},
"CNBETAWin3.3.52": {
"asset_bundle_url": "https://autopatchcn.bhsr.com/asb/BetaLive/output_10478982_243ce40577bf_000895ae562404",
"ex_resource_url": "https://autopatchcn.bhsr.com/design_data/BetaLive/output_10508366_85ea4f1c9748_5776e81f3bf4f2",
"ifix_url": "https://autopatchcn.bhsr.com/ifix/BetaLive/output_10489293_ba258955cec6_d8347bc2994eab",
"ifix_version": "0",
"lua_url": "https://autopatchcn.bhsr.com/lua/BetaLive/output_10506685_892409531f16_67592aefeb2f2b",
"lua_version": ""
}
}

BIN
mhypbase.dll Normal file

Binary file not shown.

View file

@ -0,0 +1,697 @@
[
{
"GroupID": 100,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBg_01.png"
},
{
"GroupID": 900,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBg_02.png"
},
{
"GroupID": 101,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 102,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 103,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 104,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 105,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 106,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 107,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 108,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 109,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 116,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 117,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 118,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 113,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 114,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 115,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 119,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 110,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 111,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 112,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 1001,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 1002,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 1003,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 1004,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 1005,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 1006,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 1007,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 1008,
"ThemePosterBgPicPath": ""
},
{
"GroupID": 1009,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBgl_Red_00.png"
},
{
"GroupID": 1010,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBgl_Red_01.png"
},
{
"GroupID": 1011,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBgl_Red_03_02.png"
},
{
"GroupID": 1012,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBgl_Red_03_01.png"
},
{
"GroupID": 1013,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBgl_Red_03_03.png"
},
{
"GroupID": 1014,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBgl_Red_03_01.png"
},
{
"GroupID": 1015,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBgl_Red_05.png"
},
{
"GroupID": 1016,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBgl_Red_03_02.png"
},
{
"GroupID": 1017,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBgl_Red_03_01.png"
},
{
"GroupID": 1018,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBgl_Red_06.png"
},
{
"GroupID": 1019,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBgl_Red_07.png"
},
{
"GroupID": 1020,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBgl_Red_08.png"
},
{
"GroupID": 1021,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBgl_Red_09.png"
},
{
"GroupID": 1022,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBgl_Red_10.png"
},
{
"GroupID": 1023,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBgl_Red_11.png"
},
{
"GroupID": 1024,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBgl_Red_08.png"
},
{
"GroupID": 1025,
"ThemePosterBgPicPath": "SpriteOutput/Abyss/2D_SceneBg/AbyssSenceBgl_Red_03_03.png"
},
{
"GroupID": 2001,
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2001.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeTheme/ThemeIcon/ChallengeThemeIcon_2001.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2001.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2001.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeStoryAlternation_2001.png",
"ThemeID": 1,
"SubMazeBuffList": [],
"StoryType": "Normal",
"BuffList": [
3031301,
3031302,
3031303
]
},
{
"GroupID": 2002,
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2002.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeTheme/ThemeIcon/ChallengeThemeIcon_2002.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2002.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2002.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeStoryAlternation_2002.png",
"ThemeID": 2,
"SubMazeBuffList": [],
"StoryType": "Normal",
"BuffList": [
3031304,
3031305,
3031306
]
},
{
"GroupID": 2003,
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2003.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeTheme/ThemeIcon/ChallengeThemeIcon_2003.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2003.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2003.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeStoryAlternation_2003.png",
"ThemeID": 3,
"SubMazeBuffList": [],
"StoryType": "Normal",
"BuffList": [
3031307,
3031308,
3031309
]
},
{
"GroupID": 2004,
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2004.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeTheme/ThemeIcon/ChallengeThemeIcon_2001.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2004.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2004.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeStoryAlternation_2004.png",
"ThemeID": 1,
"SubMazeBuffList": [],
"StoryType": "Normal",
"BuffList": [
3031310,
3031311,
3031312
]
},
{
"GroupID": 2005,
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2005.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeTheme/ThemeIcon/ChallengeThemeIcon_2004.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2005.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2005.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeStoryAlternation_2005.png",
"ThemeID": 2,
"SubMazeBuffList": [],
"StoryType": "Normal",
"BuffList": [
3031313,
3031314,
3031315
]
},
{
"GroupID": 2006,
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2006.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeTheme/ThemeIcon/ChallengeThemeIcon_2005.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2005.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2006.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeStoryAlternation_2006.png",
"ThemeID": 1,
"SubMazeBuffList": [],
"StoryType": "Normal",
"BuffList": [
3031316,
3031317,
3031318
]
},
{
"GroupID": 2007,
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2007.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeTheme/ThemeIcon/ChallengeThemeIcon_2006.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2007.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2007.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeStoryAlternation_2007.png",
"ThemeID": 3,
"SubMazeBuffList": [],
"StoryType": "Normal",
"BuffList": [
3031319,
3031320,
3031321
]
},
{
"GroupID": 2008,
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2004.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeTheme/ThemeIcon/ChallengeThemeIcon_2001.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2004.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2004.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeStoryAlternation_2004.png",
"ThemeID": 1,
"SubMazeBuffList": [],
"StoryType": "Normal",
"BuffList": [
3031303,
3031322,
3031323
]
},
{
"GroupID": 2009,
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2008.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeTheme/ThemeIcon/ChallengeThemeIcon_2007.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2004.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2008.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeStoryAlternation_2008.png",
"ThemeID": 1,
"SubMazeBuffList": [],
"StoryType": "Normal",
"BuffList": [
3031324,
3031325,
3031326
]
},
{
"GroupID": 2010,
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2009.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeTheme/ThemeIcon/ChallengeThemeIcon_2008.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2004.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2009.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeStoryAlternation_2009.png",
"ThemeID": 1,
"SubMazeBuffList": [],
"StoryType": "Normal",
"BuffList": [
3031330,
3031331,
3031305
]
},
{
"GroupID": 2011,
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2010.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeTheme/ThemeIcon/ChallengeThemeIcon_2006.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2004.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2010.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeStoryAlternation_2010.png",
"ThemeID": 4,
"SubMazeBuffList": [
3031202,
3031203,
3031204
],
"StoryType": "Fever",
"BuffList": [
3031327,
3031328,
3031329
]
},
{
"GroupID": 2012,
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2011.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeTheme/ThemeIcon/ChallengeThemeIcon_2009.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2002.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2011.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeStoryAlternation_2011.png",
"ThemeID": 5,
"SubMazeBuffList": [
3031207,
3031208,
3031209
],
"StoryType": "Fever",
"BuffList": [
3031333,
3031332,
3031334
]
},
{
"GroupID": 2013,
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2012.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeTheme/ThemeIcon/ChallengeThemeIcon_2010.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2004.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2012.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeStoryAlternation_2012.png",
"ThemeID": 4,
"SubMazeBuffList": [
3031212,
3031213,
3031214
],
"StoryType": "Fever",
"BuffList": [
3031335,
3031336,
3031337
]
},
{
"GroupID": 2014,
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2013.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeTheme/ThemeIcon/ChallengeThemeIcon_2011.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2002.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2013.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeStoryAlternation_2013.png",
"ThemeID": 5,
"SubMazeBuffList": [
3031202,
3031203,
3031204
],
"StoryType": "Fever",
"BuffList": [
3031327,
3031338,
3031329
]
},
{
"GroupID": 2015,
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2014.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeTheme/ThemeIcon/ChallengeThemeIcon_2012.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2004.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2014.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeStoryAlternation_2014.png",
"ThemeID": 4,
"SubMazeBuffList": [
3031207,
3031208,
3031209
],
"StoryType": "Fever",
"BuffList": [
3031333,
3031343,
3031339
]
},
{
"GroupID": 2016,
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2015.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeTheme/ThemeIcon/ChallengeThemeIcon_2013.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2004.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2015.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeStoryAlternation_2015.png",
"ThemeID": 6,
"SubMazeBuffList": [
3031217,
3031218,
3031219
],
"StoryType": "Fever",
"BuffList": [
3031340,
3031341,
3031342
]
},
{
"GroupID": 3001,
"BuffList1": [
3111008,
3111010,
3111011
],
"BuffList2": [
3111008,
3111009,
3111012
],
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2001.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeBoss/ChallengeBossIcon_3001.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2001.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2001.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeBoss.png",
"BossPatternPrefabPath": "UI/UI3D/ChallengeBoss/UI3D_ChallengeBossMainEntrStage_2.3.prefab",
"BossPositionPrefabPath1": "UI/UI3D/ChallengeBoss/Widget/CB_SmallBoss_W1_Cocolia_Left.prefab",
"BossPositionPrefabPath2": "UI/UI3D/ChallengeBoss/Widget/CB_SmallBoss_W2_Argenti_Right.prefab"
},
{
"GroupID": 3002,
"BuffList1": [
3111015,
3111013,
3111014
],
"BuffList2": [
3111015,
3111016,
3111017
],
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2001.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeBoss/ChallengeBossIcon_3002.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2001.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2001.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeBoss.png",
"BossPatternPrefabPath": "UI/UI3D/ChallengeBoss/UI3D_ChallengeBossMainEntrStage_2.4.prefab",
"BossPositionPrefabPath1": "UI/UI3D/ChallengeBoss/Widget/CB_SmallBoss_W2_Kafka_Left.prefab",
"BossPositionPrefabPath2": "UI/UI3D/ChallengeBoss/Widget/CB_LargeBoss_AML_Boss_Right.prefab"
},
{
"GroupID": 3003,
"BuffList1": [
3111021,
3111022,
3111023
],
"BuffList2": [
3111018,
3111019,
3111020
],
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2001.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeBoss/ChallengeBossIcon_3003.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2001.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2001.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeBoss.png",
"BossPatternPrefabPath": "UI/UI3D/ChallengeBoss/UI3D_ChallengeBossMainEntrStage_2.5.prefab",
"BossPositionPrefabPath1": "UI/UI3D/ChallengeBoss/Widget/CB_SmallBoss_W3_Aventurine_Left.prefab",
"BossPositionPrefabPath2": "UI/UI3D/ChallengeBoss/Widget/CB_LargeBoss_W2_Huanlong_Right.prefab"
},
{
"GroupID": 3004,
"BuffList1": [
3111028,
3111027,
3111021
],
"BuffList2": [
3111024,
3111025,
3111026
],
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2001.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeBoss/ChallengeBossIcon_3004.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2001.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2001.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeBoss.png",
"BossPatternPrefabPath": "UI/UI3D/ChallengeBoss/UI3D_ChallengeBossMainEntrStage_2.6.prefab",
"BossPositionPrefabPath1": "UI/UI3D/ChallengeBoss/Widget/CB_SmallBoss_W2_Kafka_Left.prefab",
"BossPositionPrefabPath2": "UI/UI3D/ChallengeBoss/Widget/CB_SmallBoss_W3_Sunday_Right.prefab"
},
{
"GroupID": 3005,
"BuffList1": [
3111030,
3111033,
3111034
],
"BuffList2": [
3111029,
3111032,
3111031
],
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2001.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeBoss/ChallengeBossIcon_3005.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2001.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2001.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeBoss.png",
"BossPatternPrefabPath": "UI/UI3D/ChallengeBoss/UI3D_ChallengeBossMainEntrStage_2.7.prefab",
"BossPositionPrefabPath1": "UI/UI3D/ChallengeBoss/Widget/CB_SmallBoss_W1_Cocolia_Left.prefab",
"BossPositionPrefabPath2": "UI/UI3D/ChallengeBoss/Widget/CB_SmallBoss_W3_Theater_Right.prefab"
},
{
"GroupID": 3006,
"BuffList1": [
3111035,
3111036,
3111037
],
"BuffList2": [
3111038,
3111039,
3111040
],
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2001.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeBoss/ChallengeBossIcon_3006.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2001.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2001.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeBoss.png",
"BossPatternPrefabPath": "UI/UI3D/ChallengeBoss/UI3D_ChallengeBossMainEntrStage_3.0.prefab",
"BossPositionPrefabPath1": "UI/UI3D/ChallengeBoss/Widget/CB_SmallBoss_SW_Boss_01_Left.prefab",
"BossPositionPrefabPath2": "UI/UI3D/ChallengeBoss/Widget/CB_LargeBoss_W2_Huanlong_Right.prefab"
},
{
"GroupID": 3007,
"BuffList1": [
3111041,
3111042,
3111043
],
"BuffList2": [
3111044,
3111045,
3111046
],
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2001.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeBoss/ChallengeBossIcon_3007.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2001.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2001.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeBoss.png",
"BossPatternPrefabPath": "UI/UI3D/ChallengeBoss/UI3D_ChallengeBossMainEntrStage_2.7.prefab",
"BossPositionPrefabPath1": "UI/UI3D/ChallengeBoss/Widget/CB_SmallBoss_W3_Aventurine_Left.prefab",
"BossPositionPrefabPath2": "UI/UI3D/ChallengeBoss/Widget/CB_SmallBoss_W3_Theater_Right.prefab"
},
{
"GroupID": 3008,
"BuffList1": [
3111047,
3111048,
3111049
],
"BuffList2": [
3111050,
3111051,
3111052
],
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2001.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeBoss/ChallengeBossIcon_3008.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2001.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2001.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeBoss.png",
"BossPatternPrefabPath": "UI/UI3D/ChallengeBoss/UI3D_ChallengeBossMainEntrStage_3.2.prefab",
"BossPositionPrefabPath1": "UI/UI3D/ChallengeBoss/Widget/CB_SmallBoss_SW_Boss_01_Left.prefab",
"BossPositionPrefabPath2": "UI/UI3D/ChallengeBoss/Widget/CB_LargeBoss_W2_LycanKing_Right.prefab"
},
{
"GroupID": 3009,
"BuffList1": [
3111053,
3111018,
3111020
],
"BuffList2": [
3111055,
3111021,
3111030
],
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2001.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeBoss/ChallengeBossIcon_3009.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2001.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2001.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeBoss.png",
"BossPatternPrefabPath": "UI/UI3D/ChallengeBoss/UI3D_ChallengeBossMainEntrStage_3.3.prefab",
"BossPositionPrefabPath1": "UI/UI3D/ChallengeBoss/Widget/CB_SmallBoss_W1_Cocolia_Left.prefab",
"BossPositionPrefabPath2": "UI/UI3D/ChallengeBoss/Widget/CB_SmallBoss_W2_Kafka_Right.prefab"
},
{
"GroupID": 3010,
"BuffList1": [
3111056,
3111057,
3111058
],
"BuffList2": [
3111046,
3111014,
3111021
],
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2001.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeBoss/ChallengeBossIcon_3010.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2001.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2001.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeBoss.png",
"BossPatternPrefabPath": "UI/UI3D/ChallengeBoss/UI3D_ChallengeBossMainEntrStage_3.4.prefab",
"BossPositionPrefabPath1": "UI/UI3D/ChallengeBoss/Widget/CB_SmallBoss_W4_FireProwler_Left.prefab",
"BossPositionPrefabPath2": "UI/UI3D/ChallengeBoss/Widget/CB_LargeBoss_AML_Boss_Right.prefab"
},
{
"GroupID": 3011,
"BuffList1": [
3111056,
3111057,
3111058
],
"BuffList2": [
3111046,
3111014,
3111021
],
"ThemeToastPicPath": "SpriteOutput/ChallengeTheme/ThemePic/ChallengeThemePic_2001.png",
"ThemeIconPicPath": "SpriteOutput/ChallengeBoss/ChallengeBossIcon_3010.png",
"ThemePosterEffectPrefabPath": "UI/Abyss/ChallengeStoryPosterEffThemePanel/ChallengeStoryAlternationPanelEff_2001.prefab",
"ThemePosterBgPicPath": "SpriteOutput/ChallengeTheme/ThemeBg/ChallengeThemeBg_2001.png",
"ThemePosterTabPicPath": "SpriteOutput/Quest/TabIcon/BtnChallengeBoss.png",
"BossPatternPrefabPath": "UI/UI3D/ChallengeBoss/UI3D_ChallengeBossMainEntrStage_3.4.prefab",
"BossPositionPrefabPath1": "UI/UI3D/ChallengeBoss/Widget/CB_SmallBoss_W4_FireProwler_Left.prefab",
"BossPositionPrefabPath2": "UI/UI3D/ChallengeBoss/Widget/CB_LargeBoss_AML_Boss_Right.prefab"
}
]

View file

@ -28092,7 +28092,7 @@
"EventIDList1": [
420261
],
"MazeGroupID2": 7,
"MazeGroupID2": 6,
"ConfigList2": [
200001
],
@ -28146,7 +28146,7 @@
"EventIDList1": [
420262
],
"MazeGroupID2": 7,
"MazeGroupID2": 6,
"ConfigList2": [
200001
],
@ -28200,7 +28200,7 @@
"EventIDList1": [
420263
],
"MazeGroupID2": 7,
"MazeGroupID2": 6,
"ConfigList2": [
200001
],
@ -28254,7 +28254,7 @@
"EventIDList1": [
420264
],
"MazeGroupID2": 7,
"MazeGroupID2": 6,
"ConfigList2": [
200001
],

File diff suppressed because it is too large Load diff