Compare commits

..

4 commits

Author SHA1 Message Date
fa26130700 Merge branch 'Aldemzee-master'
anyway it works now
D
C
2024-05-10 22:24:59 +01:00
6d8e9b70d4 merge 2024-05-10 22:24:33 +01:00
BuildTools
6fad9de97e Added GitIgnore for IDE Setup 2024-05-10 23:17:46 +02:00
BuildTools
687f32bca7 add Inv plus some JSON-ing 2024-05-10 23:13:04 +02:00
7 changed files with 92 additions and 86 deletions

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="EMPTY_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/common/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/dispatch/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/gameserver/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/proto/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/sdkserver/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/xtask/src" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View file

@ -2,7 +2,7 @@
<project version="4"> <project version="4">
<component name="ProjectModuleManager"> <component name="ProjectModuleManager">
<modules> <modules>
<module fileurl="file://$PROJECT_DIR$/.idea/JadeSR-fork.iml" filepath="$PROJECT_DIR$/.idea/JadeSR-fork.iml" /> <module fileurl="file://$PROJECT_DIR$/.idea/JadeSR-WithInventory.iml" filepath="$PROJECT_DIR$/.idea/JadeSR-WithInventory.iml" />
</modules> </modules>
</component> </component>
</project> </project>

View file

@ -6,6 +6,9 @@ version.workspace = true
[dependencies] [dependencies]
common.workspace = true common.workspace = true
serde = "1.0"
serde_json = "1.0"
ansi_term.workspace = true ansi_term.workspace = true
anyhow.workspace = true anyhow.workspace = true
atomic_refcell.workspace = true atomic_refcell.workspace = true

View file

@ -1,94 +1,76 @@
use anyhow::Result;
use proto::*;
use super::*; use super::*;
use crate::game::globals; use crate::game::globals;
use serde_json::json;
use serde_json::Value;
use std::fs;
pub async fn on_start_cocoon_stage_cs_req( use crate::{net::PlayerSession, util};
session: &PlayerSession,
body: &StartCocoonStageCsReq,
) -> Result<()> {
let player_info = session.player_info();
let rsp = StartCocoonStageScRsp { pub async fn on_get_bag_cs_req(session: &PlayerSession, _: &GetBagCsReq) -> Result<()> {
retcode: 0, let json_data = fs::read_to_string("PATH HERE").expect("Failed to read inventory.json");
prop_entity_id: body.prop_entity_id, let json_value: Value = serde_json::from_str(&json_data).expect("Failed to parse JSON data");
cocoon_id: body.cocoon_id,
wave: body.wave,
battle_info: Some(SceneBattleInfo {
stage_id: 201012311,
logic_random_seed: 4444,
battle_id: 1,
battle_avatar_list: player_info
.lineup
.avatar_list
.iter()
.map(|avatar| BattleAvatar {
index: avatar.slot,
id: if avatar.id == 8001 {
player_info.hero_basic_type as u32
} else {
avatar.id
},
level: 80,
promotion: 6,
rank: 6,
hp: 10000,
avatar_type: 3,
sp: Some(AmountInfo {
cur_amount: 10000,
max_amount: 10000,
}),
..Default::default()
})
.collect(),
monster_wave_list: globals
.monster_wave_list
.iter()
.map(|monster_list| SceneMonsterWave {
monster_list: monster_list
.iter()
.map(|id| SceneMonsterData {
monster_id: *id,
..Default::default()
})
.collect(),
..Default::default()
})
.collect(),
..Default::default()
}),
};
session.send(CMD_START_COCOON_STAGE_SC_RSP, rsp).await // Extract ranks
} let r1: u32 = json_value[0]["rank"].as_i64().expect("Failed to get rank for Equipment1") as u32;
let r2: u32 = json_value[1]["rank"].as_i64().expect("Failed to get rank for Equipment2") as u32;
pub async fn on_get_cur_battle_info_cs_req( let t1: u32 = json_value[0]["tid"].as_i64().expect("Failed") as u32;
session: &PlayerSession, let t2: u32 = json_value[1]["tid"].as_i64().expect("Failed") as u32;
_body: &GetCurBattleInfoCsReq, let l1: u32 = json_value[0]["level"].as_i64().expect("Failed") as u32;
) -> Result<()> { let l2: u32 = json_value[0]["level"].as_i64().expect("Failed") as u32;
//let e_rank3: u32 = json_value[2]["rank"].as_i64().expect("Failed to get rank for Equipment3") as u32;
session session
.send( .send(
CMD_GET_CUR_BATTLE_INFO_SC_RSP, CMD_GET_BAG_SC_RSP,
GetCurBattleInfoScRsp { GetBagScRsp {
battle_info: Some(SceneBattleInfo::default()), kkdobdmaipc: vec![],
ffbpkghgmjm: Some(Fjojkdhlonn::default()), fllcfpejibd: vec![],
..Default::default() lgjeabihdpn: vec![],
},
)
.await
}
pub async fn on_pve_battle_result_cs_req(
session: &PlayerSession,
body: &PveBattleResultCsReq,
) -> Result<()> {
session
.send(
CMD_P_V_E_BATTLE_RESULT_SC_RSP,
PveBattleResultScRsp {
retcode: 0, retcode: 0,
end_status: body.end_status, equipment_list: vec![
battle_id: body.battle_id, Equipment {tid: t1, rank: r1, exp: 0, unique_id: 57, promotion: 6, level: l1, base_avatar_id: 0, is_protected: true, ..Default::default()},
..Default::default() Equipment {tid: t2, rank: r2, exp: 0, unique_id: 58, promotion: 6, level: l2, base_avatar_id: 0, is_protected: true, ..Default::default()},
}, Equipment {tid: 23024, rank: 5, exp: 0, unique_id: 59, promotion: 6, level: 80, base_avatar_id: 0, is_protected: true, ..Default::default()},
Equipment {tid: 23024, rank: 5, exp: 0, unique_id: 60, promotion: 6, level: 80, base_avatar_id: 0, is_protected: true, ..Default::default()},
Equipment {tid: 23024, rank: 5, exp: 0, unique_id: 61, promotion: 6, level: 80, base_avatar_id: 0, is_protected: true, ..Default::default()},
Equipment {tid: 23024, rank: 5, exp: 0, unique_id: 62, promotion: 6, level: 80, base_avatar_id: 0, is_protected: true, ..Default::default()},
Equipment {tid: 23024, rank: 5, exp: 0, unique_id: 63, promotion: 6, level: 80, base_avatar_id: 0, is_protected: true, ..Default::default()},
Equipment {tid: 23024, rank: 5, exp: 0, unique_id: 64, promotion: 6, level: 80, base_avatar_id: 0, is_protected: true, ..Default::default()},
Equipment {tid: 23024, rank: 5, exp: 0, unique_id: 65, promotion: 6, level: 80, base_avatar_id: 0, is_protected: true, ..Default::default()},
Equipment {tid: 23024, rank: 5, exp: 0, unique_id: 66, promotion: 6, level: 80, base_avatar_id: 0, is_protected: true, ..Default::default()},
Equipment {tid: 23024, rank: 1, exp: 0, unique_id: 67, promotion: 0, level: 1, base_avatar_id: 0, is_protected: true, ..Default::default()},
//Equipment {tid: 1, rank: 1, exp: 0, unique_id: 59, promotion: 6, level: 1, base_avatar_id: 0, is_protected: true, ..Default::default()}
],
mbedbdbmekj: 0,
relic_list: vec![
Relic {
unique_id: 1488,
base_avatar_id: 1315, // avatar id
tid: 61202,
level: 15, is_protected: true,
main_affix_id: 1,
sub_affix_list: vec![ RelicAffix { affix_id: 7, cnt: 830, step: 20 }], ..Default::default() }
],
odeefdlejgg: vec![],
niemagjlpdl: vec![],
gddpphikjae: vec![],
macfjibhfad: vec![],
clkjaanbfpp: vec![ 101 ],
// .iter()
// .map(|id| {
// // {
// // tid: *id,
// // num: 500
// // }
// })
// .collect(),
biahmcppikj: vec![],
}
) )
.await .await
// let rsp = GetBagScRsp {
//
// }
} }

View file

@ -0,0 +1,4 @@
[
{"tid": 23002, "rank": 3, "exp": 0, "unique_id": 57, "promotion": 6, "level": 75, "base_avatar_id": 0, "is_protected": true},
{"tid": 23015, "rank": 4, "exp": 0, "unique_id": 58, "promotion": 6, "level": 80, "base_avatar_id": 0, "is_protected": true}
]

View file

@ -105,7 +105,7 @@ dummy! {
GetShareData, GetShareData,
GetTreasureDungeonActivityData, GetTreasureDungeonActivityData,
PlayerReturnInfoQuery, PlayerReturnInfoQuery,
GetBag, //GetBag,
GetPlayerBoardData, GetPlayerBoardData,
GetActivityScheduleConfig, GetActivityScheduleConfig,
GetMissionData, GetMissionData,

View file

@ -118,4 +118,5 @@ trait_handler! {
GetTutorialGuideCsReq 1691; GetTutorialGuideCsReq 1691;
UnlockTutorialGuideCsReq 1630; UnlockTutorialGuideCsReq 1630;
GetTutorialCsReq 1661; GetTutorialCsReq 1661;
GetBagCsReq 561;
} }