feat: Add support for version 2.6.5x
This commit is contained in:
@@ -55,6 +55,7 @@ tracing-bunyan-formatter = "0.3.9"
|
|||||||
|
|
||||||
proto = { path = "proto/" }
|
proto = { path = "proto/" }
|
||||||
proto-derive = { path = "proto/proto-derive" }
|
proto-derive = { path = "proto/proto-derive" }
|
||||||
|
mhy-kcp = { path = "kcp/", features = ["tokio"] }
|
||||||
|
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ use crate::net::tools::FreesrData;
|
|||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
static UNLOCKED_AVATARS: [u32; 57] = [
|
static UNLOCKED_AVATARS: [u32; 59] = [
|
||||||
8001, 1001, 1002, 1003, 1004, 1005, 1006, 1008, 1009, 1013, 1101, 1102, 1103, 1104, 1105, 1106,
|
8001, 1001, 1002, 1003, 1004, 1005, 1006, 1008, 1009, 1013, 1101, 1102, 1103, 1104, 1105, 1106,
|
||||||
1107, 1108, 1109, 1110, 1111, 1112, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210,
|
1107, 1108, 1109, 1110, 1111, 1112, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210,
|
||||||
1211, 1212, 1213, 1214, 1215, 1217, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1312,
|
1211, 1212, 1213, 1214, 1215, 1217, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1312,
|
||||||
1315, 1310, 1314, 1218, 1221, 1220, 1222, 1223, 1317,
|
1315, 1310, 1314, 1218, 1221, 1220, 1222, 1223, 1317, 1313, 1225,
|
||||||
];
|
];
|
||||||
|
|
||||||
pub async fn on_get_avatar_data_cs_req(
|
pub async fn on_get_avatar_data_cs_req(
|
||||||
|
|||||||
@@ -254,7 +254,7 @@ async fn create_battle_info(caster_id: u32, skill_index: u32) -> SceneBattleInfo
|
|||||||
max_sp: 10_000,
|
max_sp: 10_000,
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
skill_info: vec![],
|
// skill_info: vec![],
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -267,8 +267,8 @@ async fn create_battle_info(caster_id: u32, skill_index: u32) -> SceneBattleInfo
|
|||||||
player_detail_info: Some(RogueMagicBattleUnitInfo {
|
player_detail_info: Some(RogueMagicBattleUnitInfo {
|
||||||
item: Some(Item::BattleRogueMagicData(BattleRogueMagicData {
|
item: Some(Item::BattleRogueMagicData(BattleRogueMagicData {
|
||||||
round_cnt: Some(BattleRogueMagicRoundCount {
|
round_cnt: Some(BattleRogueMagicRoundCount {
|
||||||
hhfjaibgama: 3,
|
eiganlcjpoi: 3,
|
||||||
mmkolnbikjh: 0,
|
kdjdjompbbh: 0,
|
||||||
}),
|
}),
|
||||||
battle_scepter_list: player
|
battle_scepter_list: player
|
||||||
.battle_config
|
.battle_config
|
||||||
@@ -278,8 +278,8 @@ async fn create_battle_info(caster_id: u32, skill_index: u32) -> SceneBattleInfo
|
|||||||
let mut battle_scepter = BattleRogueMagicScepter {
|
let mut battle_scepter = BattleRogueMagicScepter {
|
||||||
level: scepter.level,
|
level: scepter.level,
|
||||||
scepter_id: scepter.id,
|
scepter_id: scepter.id,
|
||||||
magic_unit_list: Vec::new(),
|
magic_list: Vec::new(),
|
||||||
slot_count_map: HashMap::from([(3, 0), (4, 0), (5, 0)]),
|
trench_count: HashMap::from([(3, 0), (4, 0), (5, 0)]),
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut index = [0u32; 3];
|
let mut index = [0u32; 3];
|
||||||
@@ -292,7 +292,7 @@ async fn create_battle_info(caster_id: u32, skill_index: u32) -> SceneBattleInfo
|
|||||||
};
|
};
|
||||||
|
|
||||||
let slot_index = &mut index[slot_type as usize - 3];
|
let slot_index = &mut index[slot_type as usize - 3];
|
||||||
battle_scepter.magic_unit_list.push(BattleRogueMagicUnit {
|
battle_scepter.magic_list.push(BattleRogueMagicUnit {
|
||||||
level: component.level,
|
level: component.level,
|
||||||
unit_id: component.id,
|
unit_id: component.id,
|
||||||
slot_id: *slot_index,
|
slot_id: *slot_index,
|
||||||
@@ -300,7 +300,7 @@ async fn create_battle_info(caster_id: u32, skill_index: u32) -> SceneBattleInfo
|
|||||||
counter_map: Default::default(),
|
counter_map: Default::default(),
|
||||||
});
|
});
|
||||||
*slot_index += 1;
|
*slot_index += 1;
|
||||||
*battle_scepter.slot_count_map.get_mut(&slot_type).unwrap() += 1;
|
*battle_scepter.trench_count.get_mut(&slot_type).unwrap() += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
battle_scepter
|
battle_scepter
|
||||||
@@ -308,7 +308,7 @@ async fn create_battle_info(caster_id: u32, skill_index: u32) -> SceneBattleInfo
|
|||||||
.collect(),
|
.collect(),
|
||||||
})),
|
})),
|
||||||
}),
|
}),
|
||||||
scepter: Some(Igefngnckog { ojibobnaikh: 5 }),
|
scepter: Some(Cijjendfjlo { kklaobblgce: 5 }),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,8 @@ pub async fn on_player_heart_beat_cs_req(
|
|||||||
res.download_data = Some(ClientDownloadData {
|
res.download_data = Some(ClientDownloadData {
|
||||||
version: 51,
|
version: 51,
|
||||||
time: res.server_time_ms as i64,
|
time: res.server_time_ms as i64,
|
||||||
data: rbase64::decode("bG9jYWwgZnVuY3Rpb24gYmV0YV90ZXh0KG9iaikKICAgIGxvY2FsIGdhbWVPYmplY3QgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0LkZpbmQoIlVJUm9vdC9BYm92ZURpYWxvZy9CZXRhSGludERpYWxvZyhDbG9uZSkiKQoKICAgIGlmIGdhbWVPYmplY3QgdGhlbgogICAgICAgIGxvY2FsIHRleHRDb21wb25lbnQgPSBnYW1lT2JqZWN0OkdldENvbXBvbmVudEluQ2hpbGRyZW4odHlwZW9mKENTLlJQRy5DbGllbnQuTG9jYWxpemVkVGV4dCkpCgogICAgICAgIGlmIHRleHRDb21wb25lbnQgdGhlbgogICAgICAgICAgICB0ZXh0Q29tcG9uZW50LnRleHQgPSAiUm9iaW5TUiBpcyBhIGZyZWUgYW5kIG9wZW4gc291cmNlIHNvZnR3YXJlLiBkaXNjb3JkLmdnL3JldmVyc2Vkcm9vbXMiCiAgICAgICAgZW5kCiAgICBlbHNlCiAgICBlbmQKZW5kCgpiZXRhX3RleHQoKQ==").unwrap()
|
data: rbase64::decode("bG9jYWwgZnVuY3Rpb24gYmV0YV90ZXh0KG9iaikKICAgIGxvY2FsIGdhbWVPYmplY3QgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0LkZpbmQoIlVJUm9vdC9BYm92ZURpYWxvZy9CZXRhSGludERpYWxvZyhDbG9uZSkiKQoKICAgIGlmIGdhbWVPYmplY3QgdGhlbgogICAgICAgIGxvY2FsIHRleHRDb21wb25lbnQgPSBnYW1lT2JqZWN0OkdldENvbXBvbmVudEluQ2hpbGRyZW4odHlwZW9mKENTLlJQRy5DbGllbnQuTG9jYWxpemVkVGV4dCkpCgogICAgICAgIGlmIHRleHRDb21wb25lbnQgdGhlbgogICAgICAgICAgICB0ZXh0Q29tcG9uZW50LnRleHQgPSAiUm9iaW5TUiBpcyBhIGZyZWUgYW5kIG9wZW4gc291cmNlIHNvZnR3YXJlLiBkaXNjb3JkLmdnL3JldmVyc2Vkcm9vbXMiCiAgICAgICAgZW5kCiAgICBlbHNlCiAgICBlbmQKZW5kCgpiZXRhX3RleHQoKQ==").unwrap(),
|
||||||
|
njddjhapnbo: 0
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
use std::collections::HashMap;
|
||||||
|
|
||||||
use lazy_static::lazy_static;
|
use lazy_static::lazy_static;
|
||||||
use scene_entity_info::Entity;
|
use scene_entity_info::Entity;
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
@@ -50,12 +52,12 @@ pub async fn on_enter_scene_cs_req(
|
|||||||
.await
|
.await
|
||||||
.is_err()
|
.is_err()
|
||||||
{
|
{
|
||||||
res.retcode = Nbbhhpnhond::RetSceneEntryIdNotMatch as u32;
|
res.retcode = Retcode::RetSceneEntryIdNotMatch as u32;
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
res.alckpiobhlb = req.alckpiobhlb;
|
res.gfkihhopjdg = req.gfkihhopjdg;
|
||||||
res.gpjeedfjhaj = player.scene.entry_id != req.entry_id;
|
res.ihoaaecihik = player.scene.entry_id != req.entry_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn on_get_scene_map_info_cs_req(
|
pub async fn on_get_scene_map_info_cs_req(
|
||||||
@@ -350,8 +352,6 @@ async fn load_scene(
|
|||||||
|
|
||||||
scene_info.entity_group_list.push(group_info);
|
scene_info.entity_group_list.push(group_info);
|
||||||
|
|
||||||
scene_info.group_id_list.push(*group_id);
|
|
||||||
|
|
||||||
scene_info.group_state_list.push(SceneGroupState {
|
scene_info.group_state_list.push(SceneGroupState {
|
||||||
group_id: *group_id,
|
group_id: *group_id,
|
||||||
is_default: true,
|
is_default: true,
|
||||||
@@ -363,6 +363,7 @@ async fn load_scene(
|
|||||||
scene_info.entity_group_list.push(SceneEntityGroupInfo {
|
scene_info.entity_group_list.push(SceneEntityGroupInfo {
|
||||||
state: 0,
|
state: 0,
|
||||||
group_id: 0,
|
group_id: 0,
|
||||||
|
fjhodibbaan: HashMap::new(),
|
||||||
entity_list: json
|
entity_list: json
|
||||||
.lineups
|
.lineups
|
||||||
.iter()
|
.iter()
|
||||||
|
|||||||
+13889
-48160
File diff suppressed because it is too large
Load Diff
@@ -50,7 +50,6 @@ pub async fn query_gateway(parameters: Query<QueryGatewayParameters>) -> String
|
|||||||
unk5: true,
|
unk5: true,
|
||||||
unk6: true,
|
unk6: true,
|
||||||
unk7: true,
|
unk7: true,
|
||||||
jgciiljehhe: true,
|
|
||||||
|
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-7
@@ -1,11 +1,5 @@
|
|||||||
{
|
{
|
||||||
"CNBETAWin2.5.51": {
|
"OSBETAWin2.6.51": {
|
||||||
"asset_bundle_url": "",
|
|
||||||
"ex_resource_url": "",
|
|
||||||
"lua_url": "",
|
|
||||||
"ifix_url": ""
|
|
||||||
},
|
|
||||||
"CNBETAWin2.5.52": {
|
|
||||||
"asset_bundle_url": "",
|
"asset_bundle_url": "",
|
||||||
"ex_resource_url": "",
|
"ex_resource_url": "",
|
||||||
"lua_url": "",
|
"lua_url": "",
|
||||||
|
|||||||
Reference in New Issue
Block a user