From 824714b607b89060972c0ae9c2e39a60053ef632 Mon Sep 17 00:00:00 2001 From: inkursion Date: Tue, 10 Jun 2025 00:26:30 +0000 Subject: [PATCH] Added more hollow quests to the HDD --- gameserver/src/net/handlers/world.rs | 123 ++++++++++++++++++++++++++- 1 file changed, 119 insertions(+), 4 deletions(-) diff --git a/gameserver/src/net/handlers/world.rs b/gameserver/src/net/handlers/world.rs index e36c815..10d648c 100644 --- a/gameserver/src/net/handlers/world.rs +++ b/gameserver/src/net/handlers/world.rs @@ -161,12 +161,27 @@ pub async fn on_rpc_interact_with_unit( pub async fn on_rpc_leave_cur_dungeon( session: &NetworkSession, - _arg: &RpcLeaveCurDungeonArg, + arg: &RpcLeaveCurDungeonArg, ) -> Result { + + tracing::info!("Leaving dungeon: {arg:?}"); + Box::pin(enter_main_city(session)).await?; Ok(RpcLeaveCurDungeonRet::new()) + } +//Unfinished +//pub async fn on_rpc_give_up_dungeon_quest_id( + //session: &NetworkSession, + //_arg: &GiveUpDungeonQuestIdArg, +//) -> Result { + //tracing::warn!("OnRpcGiveUpDungeonQuestId: giving up is not implemented yet, entering world again!"); + //Box::pin(enter_main_city(session)).await? + + //Ok(GiveUpDungeonQuestIdRet::error(ErrorCode::Fail, Vec::new())) +//} + pub async fn on_ptc_player_operation( _session: &NetworkSession, _arg: &PtcPlayerOperationArg, @@ -199,6 +214,7 @@ fn create_player(id: u64) -> PlayerInfo { player.avatar_id.replace(2021); } + player } @@ -267,6 +283,8 @@ pub async fn on_rpc_enter_world( session.context.scene_unit_manager.add_scene_units(2); let quest_manager = session.context.quest_manager.clone(); + + //City Quests: quest_manager.add_world_quest(QuestInfo::MainCity { id: 10020002, finished_count: 0, @@ -280,14 +298,16 @@ pub async fn on_rpc_enter_world( bound_npc_and_interact: phashmap![], }); + //Hollow Quests: + quest_manager.add_world_quest(QuestInfo::Hollow { - id: 10010002, + id: 10010103, finished_count: 0, collection_uid: 3405096459205774, progress: 0, parent_quest_id: 0, state: QuestState::Ready, - sort_id: 1001, + sort_id: 1002, statistics: phashmap![], statistics_ext: pdkhashmap![], acquired_hollow_challenge_reward: 0, @@ -296,10 +316,105 @@ pub async fn on_rpc_enter_world( dungeon_uid: 0, }); + quest_manager.add_world_quest(QuestInfo::Hollow { + id: 10010102, + finished_count: 0, + collection_uid: 3405096459205774, + progress: 0, + parent_quest_id: 0, + state: QuestState::Unlocked, + sort_id: 1003, + statistics: phashmap![], + statistics_ext: pdkhashmap![], + acquired_hollow_challenge_reward: 0, + progress_time: 0, + finish_condition_progress: phashmap![], + dungeon_uid: 0, + }); + + quest_manager.add_world_quest(QuestInfo::Hollow { + id: 10010106, + finished_count: 0, + collection_uid: 3405096459205774, + progress: 0, + parent_quest_id: 0, + state: QuestState::Ready, + sort_id: 1004, + statistics: phashmap![], + statistics_ext: pdkhashmap![], + acquired_hollow_challenge_reward: 0, + progress_time: 0, + finish_condition_progress: phashmap![], + dungeon_uid: 0, + }); + + quest_manager.add_world_quest(QuestInfo::Hollow { + id: 10010112, + finished_count: 0, + collection_uid: 3405096459205774, + progress: 0, + parent_quest_id: 0, + state: QuestState::Ready, + sort_id: 1005, + statistics: phashmap![], + statistics_ext: pdkhashmap![], + acquired_hollow_challenge_reward: 0, + progress_time: 0, + finish_condition_progress: phashmap![], + dungeon_uid: 0, + }); + + + quest_manager.add_world_quest(QuestInfo::Hollow { + id: 1990035, + finished_count: 0, + collection_uid: 3405096459205774, + progress: 0, + parent_quest_id: 0, + state: QuestState::Ready, + sort_id: 1006, + statistics: phashmap![], + statistics_ext: pdkhashmap![], + acquired_hollow_challenge_reward: 0, + progress_time: 0, + finish_condition_progress: phashmap![], + dungeon_uid: 0, + }); + + + //Where Despair Breeds session.context.yorozuya_quest_manager.add_hollow_quest( 102, HollowQuestType::SideQuest, - 10010002, + 10010112, + ); + + //The Light of Day + session.context.yorozuya_quest_manager.add_hollow_quest( + 102, + HollowQuestType::SideQuest, + 10010106, + ); + + //Lost and Found + session.context.yorozuya_quest_manager.add_hollow_quest( + 102, + HollowQuestType::SideQuest, + 10010102, + ); + + //Egulfed by the Hollow + session.context.yorozuya_quest_manager.add_hollow_quest( + 102, + HollowQuestType::SideQuest, + 10010103, + ); + + //High-Risk 1 + session.context.yorozuya_quest_manager.add_hollow_quest( + 101, + HollowQuestType::SideQuest, + 1990035, ); if CONFIGURATION.skip_tutorial {