diff --git a/Arrowgene.Ddon.GameServer/DdonGameServer.cs b/Arrowgene.Ddon.GameServer/DdonGameServer.cs index 679b9ea6a..7aeb9fa42 100644 --- a/Arrowgene.Ddon.GameServer/DdonGameServer.cs +++ b/Arrowgene.Ddon.GameServer/DdonGameServer.cs @@ -60,6 +60,7 @@ private void LoadPacketHandler() AddHandler(new AchievementAchievementGetReceivableRewardListHandler(this)); AddHandler(new AreaGetAreaBaseInfoListHandler(this)); + AddHandler(new AreaGetAreaQuestHintListHandler(this)); AddHandler(new AreaGetLeaderAreaReleaseListHandler(this)); AddHandler(new BattleContentInfoListHandler(this)); @@ -122,10 +123,19 @@ private void LoadPacketHandler() AddHandler(new PawnGetNoraPawnListHandler(this)); AddHandler(new PawnGetRentedPawnListHandler(this)); + AddHandler(new QuestGetAdventureGuideQuestNoticeHandler(this)); + AddHandler(new QuestGetAreaBonusListHandler(this)); AddHandler(new QuestGetCycleContentsStateListHandler(this)); + AddHandler(new QuestGetLevelBonusListHandler(this)); AddHandler(new QuestGetMainQuestListHandler(this)); + AddHandler(new QuestGetPackageQuestListHandler(this)); + AddHandler(new QuestGetPartyQuestProgressInfoHandler(this)); + AddHandler(new QuestGetPriorityQuestHandler(this)); AddHandler(new QuestGetQuestCompletedListHandler(this)); + AddHandler(new QuestGetQuestPartyBonusListHandler(this)); + AddHandler(new QuestGetTutorialQuestListHandler(this)); AddHandler(new QuestGetWorldManageQuestListHandler(this)); + AddHandler(new QuestQuestProgressHandler(this)); AddHandler(new ServerGameTimeGetBaseinfoHandler(this)); AddHandler(new ServerGetGameSettingHandler(this)); diff --git a/Arrowgene.Ddon.GameServer/Handler/AreaGetAreaQuestHintListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/AreaGetAreaQuestHintListHandler.cs new file mode 100644 index 000000000..af9425ccd --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/AreaGetAreaQuestHintListHandler.cs @@ -0,0 +1,24 @@ +using Arrowgene.Ddon.GameServer.Dump; +using Arrowgene.Ddon.Server.Logging; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class AreaGetAreaQuestHintListHandler : PacketHandler + { + private static readonly DdonLogger Logger = LogProvider.Logger(typeof(AreaGetAreaQuestHintListHandler)); + + + public AreaGetAreaQuestHintListHandler(DdonGameServer server) : base(server) + { + } + + public override PacketId Id => PacketId.C2S_AREA_GET_AREA_QUEST_HINT_LIST_REQ; + + public override void Handle(GameClient client, Packet packet) + { + client.Send(GameFull.Dump_148); + } + } +} diff --git a/Arrowgene.Ddon.GameServer/Handler/ConnectionMoveInServerHandler.cs b/Arrowgene.Ddon.GameServer/Handler/ConnectionMoveInServerHandler.cs index 6f15b601c..56fa3cfc7 100644 --- a/Arrowgene.Ddon.GameServer/Handler/ConnectionMoveInServerHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/ConnectionMoveInServerHandler.cs @@ -19,7 +19,14 @@ public ConnectionMoveInServerHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, Packet packet) { - client.Send(InGameDump.Dump_7); + // NTC + client.Send(GameFull.Dump_4); + // client.Send(GameFull.Dump_5); + // client.Send(GameFull.Dump_6); + + client.Send(GameFull.Dump_7); + + } } } diff --git a/Arrowgene.Ddon.GameServer/Handler/ItemGetStorageItemListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/ItemGetStorageItemListHandler.cs index fe0228079..433ac1cf0 100644 --- a/Arrowgene.Ddon.GameServer/Handler/ItemGetStorageItemListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/ItemGetStorageItemListHandler.cs @@ -19,6 +19,8 @@ public ItemGetStorageItemListHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, Packet packet) { client.Send(InGameDump.Dump_40); + client.Send(InGameDump.Dump_42); + client.Send(InGameDump.Dump_44); } } } diff --git a/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyJoinHandler.cs b/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyJoinHandler.cs index f0ca9641e..7899034e1 100644 --- a/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyJoinHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyJoinHandler.cs @@ -20,6 +20,11 @@ public LobbyLobbyJoinHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, Packet packet) { client.Send(InGameDump.Dump_13); + + // NTC + client.Send(GameFull.Dump_14); + client.Send(InGameDump.Dump_15); + client.Send(InGameDump.Dump_16); } } } diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs index 1a67d4104..736976b8e 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs @@ -19,6 +19,7 @@ public PartyPartyCreateHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, Packet packet) { client.Send(InGameDump.Dump_103); + client.Send(InGameDump.Dump_104); client.Send(InGameDump.Dump_105); } } diff --git a/Arrowgene.Ddon.GameServer/Handler/QuestGetAdventureGuideQuestNoticeHandler.cs b/Arrowgene.Ddon.GameServer/Handler/QuestGetAdventureGuideQuestNoticeHandler.cs new file mode 100644 index 000000000..81a06bd0e --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/QuestGetAdventureGuideQuestNoticeHandler.cs @@ -0,0 +1,24 @@ +using Arrowgene.Ddon.GameServer.Dump; +using Arrowgene.Ddon.Server.Logging; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class QuestGetAdventureGuideQuestNoticeHandler : PacketHandler + { + private static readonly DdonLogger Logger = LogProvider.Logger(typeof(QuestGetAdventureGuideQuestNoticeHandler)); + + + public QuestGetAdventureGuideQuestNoticeHandler(DdonGameServer server) : base(server) + { + } + + public override PacketId Id => PacketId.C2S_QUEST_GET_ADVENTURE_GUIDE_QUEST_NOTICE_REQ; + + public override void Handle(GameClient client, Packet packet) + { + client.Send(GameFull.Dump_162); + } + } +} diff --git a/Arrowgene.Ddon.GameServer/Handler/QuestGetAreaBonusListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/QuestGetAreaBonusListHandler.cs new file mode 100644 index 000000000..be471aabf --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/QuestGetAreaBonusListHandler.cs @@ -0,0 +1,24 @@ +using Arrowgene.Ddon.GameServer.Dump; +using Arrowgene.Ddon.Server.Logging; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class QuestGetAreaBonusListHandler : PacketHandler + { + private static readonly DdonLogger Logger = LogProvider.Logger(typeof(QuestGetAreaBonusListHandler)); + + + public QuestGetAreaBonusListHandler(DdonGameServer server) : base(server) + { + } + + public override PacketId Id => PacketId.C2S_QUEST_GET_AREA_BONUS_LIST_REQ; + + public override void Handle(GameClient client, Packet packet) + { + client.Send(GameFull.Dump_284); + } + } +} diff --git a/Arrowgene.Ddon.GameServer/Handler/QuestGetCycleContentsStateListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/QuestGetCycleContentsStateListHandler.cs index 8ab8194e1..a5555b65f 100644 --- a/Arrowgene.Ddon.GameServer/Handler/QuestGetCycleContentsStateListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/QuestGetCycleContentsStateListHandler.cs @@ -6,12 +6,12 @@ namespace Arrowgene.Ddon.GameServer.Handler { - public class WarpGetFavoriteWarpPointListHandler : PacketHandler + public class QuestGetCycleContentsStateListHandler : PacketHandler { - private static readonly DdonLogger Logger = LogProvider.Logger(typeof(WarpGetFavoriteWarpPointListHandler)); + private static readonly DdonLogger Logger = LogProvider.Logger(typeof(QuestGetCycleContentsStateListHandler)); - public WarpGetFavoriteWarpPointListHandler(DdonGameServer server) : base(server) + public QuestGetCycleContentsStateListHandler(DdonGameServer server) : base(server) { } diff --git a/Arrowgene.Ddon.GameServer/Handler/QuestGetLevelBonusListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/QuestGetLevelBonusListHandler.cs new file mode 100644 index 000000000..08111af50 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/QuestGetLevelBonusListHandler.cs @@ -0,0 +1,24 @@ +using Arrowgene.Ddon.GameServer.Dump; +using Arrowgene.Ddon.Server.Logging; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class QuestGetLevelBonusListHandler : PacketHandler + { + private static readonly DdonLogger Logger = LogProvider.Logger(typeof(QuestGetLevelBonusListHandler)); + + + public QuestGetLevelBonusListHandler(DdonGameServer server) : base(server) + { + } + + public override PacketId Id => PacketId.C2S_QUEST_GET_LEVEL_BONUS_LIST_REQ; + + public override void Handle(GameClient client, Packet packet) + { + client.Send(GameFull.Dump_286); + } + } +} diff --git a/Arrowgene.Ddon.GameServer/Handler/QuestGetPackageQuestListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/QuestGetPackageQuestListHandler.cs new file mode 100644 index 000000000..07bbba3a9 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/QuestGetPackageQuestListHandler.cs @@ -0,0 +1,24 @@ +using Arrowgene.Ddon.GameServer.Dump; +using Arrowgene.Ddon.Server.Logging; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class QuestGetPackageQuestListHandler : PacketHandler + { + private static readonly DdonLogger Logger = LogProvider.Logger(typeof(QuestGetPackageQuestListHandler)); + + + public QuestGetPackageQuestListHandler(DdonGameServer server) : base(server) + { + } + + public override PacketId Id => PacketId.C2S_QUEST_GET_PACKAGE_QUEST_LIST_REQ; + + public override void Handle(GameClient client, Packet packet) + { + client.Send(GameFull.Dump_159); + } + } +} diff --git a/Arrowgene.Ddon.GameServer/Handler/QuestGetPartyQuestProgressInfoHandler.cs b/Arrowgene.Ddon.GameServer/Handler/QuestGetPartyQuestProgressInfoHandler.cs new file mode 100644 index 000000000..24b3eab4a --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/QuestGetPartyQuestProgressInfoHandler.cs @@ -0,0 +1,24 @@ +using Arrowgene.Ddon.GameServer.Dump; +using Arrowgene.Ddon.Server.Logging; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class QuestGetPartyQuestProgressInfoHandler : PacketHandler + { + private static readonly DdonLogger Logger = LogProvider.Logger(typeof(QuestGetPartyQuestProgressInfoHandler)); + + + public QuestGetPartyQuestProgressInfoHandler(DdonGameServer server) : base(server) + { + } + + public override PacketId Id => PacketId.C2S_QUEST_GET_PARTY_QUEST_PROGRESS_INFO_REQ; + + public override void Handle(GameClient client, Packet packet) + { + client.Send(GameFull.Dump_142); + } + } +} diff --git a/Arrowgene.Ddon.GameServer/Handler/QuestGetPriorityQuestHandler.cs b/Arrowgene.Ddon.GameServer/Handler/QuestGetPriorityQuestHandler.cs new file mode 100644 index 000000000..3daaf2475 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/QuestGetPriorityQuestHandler.cs @@ -0,0 +1,24 @@ +using Arrowgene.Ddon.GameServer.Dump; +using Arrowgene.Ddon.Server.Logging; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class QuestGetPriorityQuestHandler : PacketHandler + { + private static readonly DdonLogger Logger = LogProvider.Logger(typeof(QuestGetPriorityQuestHandler)); + + + public QuestGetPriorityQuestHandler(DdonGameServer server) : base(server) + { + } + + public override PacketId Id => PacketId.C2S_QUEST_GET_PRIORITY_QUEST_REQ; + + public override void Handle(GameClient client, Packet packet) + { + client.Send(GameFull.Dump_144); + } + } +} diff --git a/Arrowgene.Ddon.GameServer/Handler/QuestGetQuestPartyBonusListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/QuestGetQuestPartyBonusListHandler.cs new file mode 100644 index 000000000..c3f3b6fe6 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/QuestGetQuestPartyBonusListHandler.cs @@ -0,0 +1,24 @@ +using Arrowgene.Ddon.GameServer.Dump; +using Arrowgene.Ddon.Server.Logging; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class QuestGetQuestPartyBonusListHandler : PacketHandler + { + private static readonly DdonLogger Logger = LogProvider.Logger(typeof(QuestGetQuestPartyBonusListHandler)); + + + public QuestGetQuestPartyBonusListHandler(DdonGameServer server) : base(server) + { + } + + public override PacketId Id => PacketId.C2S_QUEST_GET_QUEST_PARTY_BONUS_LIST_REQ; + + public override void Handle(GameClient client, Packet packet) + { + client.Send(GameFull.Dump_164); + } + } +} diff --git a/Arrowgene.Ddon.GameServer/Handler/QuestGetTutorialQuestListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/QuestGetTutorialQuestListHandler.cs new file mode 100644 index 000000000..56ec976e5 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/QuestGetTutorialQuestListHandler.cs @@ -0,0 +1,24 @@ +using Arrowgene.Ddon.GameServer.Dump; +using Arrowgene.Ddon.Server.Logging; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class QuestGetTutorialQuestListHandler : PacketHandler + { + private static readonly DdonLogger Logger = LogProvider.Logger(typeof(QuestGetTutorialQuestListHandler)); + + + public QuestGetTutorialQuestListHandler(DdonGameServer server) : base(server) + { + } + + public override PacketId Id => PacketId.C2S_QUEST_GET_TUTORIAL_QUEST_LIST_REQ; + + public override void Handle(GameClient client, Packet packet) + { + client.Send(GameFull.Dump_157); + } + } +} diff --git a/Arrowgene.Ddon.GameServer/Handler/QuestQuestProgressHandler.cs b/Arrowgene.Ddon.GameServer/Handler/QuestQuestProgressHandler.cs new file mode 100644 index 000000000..abc9c288a --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/QuestQuestProgressHandler.cs @@ -0,0 +1,38 @@ +using Arrowgene.Ddon.GameServer.Dump; +using Arrowgene.Ddon.Server.Logging; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class QuestQuestProgressHandler : PacketHandler + { + private static readonly DdonLogger Logger = LogProvider.Logger(typeof(QuestQuestProgressHandler)); + + + public QuestQuestProgressHandler(DdonGameServer server) : base(server) + { + } + + public override PacketId Id => PacketId.C2S_QUEST_QUEST_PROGRESS_REQ; + + public override void Handle(GameClient client, Packet packet) + { + client.Send(GameFull.Dump_166); + client.Send(GameFull.Dump_168); + client.Send(GameFull.Dump_170); + client.Send(GameFull.Dump_172); + client.Send(GameFull.Dump_175); + client.Send(GameFull.Dump_177); + client.Send(GameFull.Dump_179); + client.Send(GameFull.Dump_181); + client.Send(GameFull.Dump_185); + client.Send(GameFull.Dump_188); + client.Send(GameFull.Dump_190); + client.Send(GameFull.Dump_294); + client.Send(GameFull.Dump_297); + client.Send(GameFull.Dump_299); + client.Send(GameFull.Dump_524); + } + } +} diff --git a/Arrowgene.Ddon.GameServer/Handler/WarpGetFavoriteWarpPointListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/WarpGetFavoriteWarpPointListHandler.cs index e1cbdfc0e..6c905eb9d 100644 --- a/Arrowgene.Ddon.GameServer/Handler/WarpGetFavoriteWarpPointListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/WarpGetFavoriteWarpPointListHandler.cs @@ -5,12 +5,12 @@ namespace Arrowgene.Ddon.GameServer.Handler { - public class QuestGetCycleContentsStateListHandler : PacketHandler + public class WarpGetFavoriteWarpPointListHandler : PacketHandler { - private static readonly DdonLogger Logger = LogProvider.Logger(typeof(QuestGetCycleContentsStateListHandler)); + private static readonly DdonLogger Logger = LogProvider.Logger(typeof(WarpGetFavoriteWarpPointListHandler)); - public QuestGetCycleContentsStateListHandler(DdonGameServer server) : base(server) + public WarpGetFavoriteWarpPointListHandler(DdonGameServer server) : base(server) { } diff --git a/Arrowgene.Ddon.Server/Network/PacketFactory.cs b/Arrowgene.Ddon.Server/Network/PacketFactory.cs index 7882b49c5..b3cb50526 100644 --- a/Arrowgene.Ddon.Server/Network/PacketFactory.cs +++ b/Arrowgene.Ddon.Server/Network/PacketFactory.cs @@ -103,13 +103,16 @@ public byte[] Write(Packet packet) { // temporary solution to attach original packet name to custom packet names PacketId knownPacketId = _packetIdResolver.Get(packet.Id.GroupId, packet.Id.HandlerId, packet.Id.HandlerSubId); - if (knownPacketId != PacketId.UNKNOWN && knownPacketId.Name != packet.Id.Name) + if (knownPacketId != PacketId.UNKNOWN + && !packet.Id.Name.Contains("->") + && knownPacketId.Name != packet.Id.Name + ) { string combinedName = knownPacketId.Name + "->" + packet.Id.Name; packet.Id = new PacketId(packet.Id.GroupId, packet.Id.HandlerId, packet.Id.HandlerSubId, combinedName); } } - + if (packet.Id.HandlerSubId == 16) { // only increase for _NTC packets