Skip to content

Commit

Permalink
merge develop
Browse files Browse the repository at this point in the history
  • Loading branch information
sebastian-heinz committed Mar 18, 2022
2 parents b20a943 + 006740d commit 9a7bb0b
Show file tree
Hide file tree
Showing 59 changed files with 3,406 additions and 85 deletions.
7 changes: 7 additions & 0 deletions Arrowgene.Ddon.GameServer/DdonGameServer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ private void LoadPacketHandler()
AddHandler(new AreaGetLeaderAreaReleaseListHandler(this));

AddHandler(new BattleContentInfoListHandler(this));
AddHandler(new BinarySaveSetCharacterBinSavedataHandler(this));
AddHandler(new BlackListGetBlackListHandler(this));

AddHandler(new ActionSetPlayerActionHistoryHandler(this));
Expand All @@ -129,6 +130,8 @@ private void LoadPacketHandler()
AddHandler(new CharacterCharacterGoldenReviveHandler(this));
AddHandler(new CharacterCharacterPenaltyReviveHandler(this));
AddHandler(new CharacterCharacterPointReviveHandler(this));
AddHandler(new CharacterPawnGoldenReviveHandler(this));
AddHandler(new CharacterPawnPointReviveHandler(this));
AddHandler(new CharacterSetOnlineStatusHandler(this));

AddHandler(new ClanClanGetJoinRequestedListHandler(this));
Expand Down Expand Up @@ -162,13 +165,17 @@ private void LoadPacketHandler()
AddHandler(new InstanceEnemyKillHandler(this));
AddHandler(new InstanceExchangeOmInstantKeyValueHandler(this));
AddHandler(new InstanceGetEnemySetListHandler(this));
AddHandler(new InstanceGetGatheringItemHandler(this));
AddHandler(new InstanceGetGatheringItemListHandler(this));
AddHandler(new InstanceGetItemSetListHandler(this));
AddHandler(new InstanceSetOmInstantKeyValueHandler(this));

AddHandler(new InstanceGetOmInstantKeyValueAllHandler(this));

AddHandler(new ItemGetStorageItemListHandler(this));
AddHandler(new ItemSortGetItemSortDataBinHandler(this));
AddHandler(new ItemSortSetItemSortdataBinHandler(this));
AddHandler(new ItemUseBagItemHandler(this));

AddHandler(new JobChangeJobHandler(this));
AddHandler(new JobGetJobChangeListHandler(this));
Expand Down
19 changes: 15 additions & 4 deletions Arrowgene.Ddon.GameServer/Dump/GameFullDump.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1913,10 +1913,21 @@ public static class GameFull

public static byte[] data_Dump_31 = new byte[] /* 1.8.2 */
{
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5A, 0x0, 0x0, 0x0, 0xC,
0x0, 0x0, 0x0, 0x1E, 0x0, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x1E,
0x0, 0x0, 0x0, 0x0, 0x55, 0xDD, 0xD4, 0x70, 0x0, 0x0, 0x0, 0x2, 0x2C, 0x2E, 0xD0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xB, 0x1, 0x0, 0x0, 0x49,
0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0, 0x5A, // GameTimeOneDayMin
0x0, 0x0, 0x0, 0xC, // GameTimeYearMonth
0x0, 0x0, 0x0, 0x1E, // GameTimeMonthDay
0x0, 0x0, 0x0, 0x18, // GameTimeDayHour
0x0, 0x0, 0x0, 0x7, // GameTimeWeekDay
0x0, 0x0, 0x0, 0x1E, // GameTimeMoonAge
0x0, 0x0, 0x0, 0x0, 0x55, 0xDD, 0xD4, 0x70, // OriginalRealTimeSec (Apparently, a few days before DDOn release)
0x0, 0x0, 0x0, 0x2, 0x2C, 0x2E, 0xD0, 0x0, // OriginalGameTimeSec
0x0, 0x0, 0x0, 0x0, // OriginalWeek
0x0, 0x0, 0x0, 0x0, // OriginalMoonAge

0x0, 0x0, 0x0, 0xB, 0x1, 0x0, 0x0, 0x49,
0xD4, 0x2, 0x0, 0x0, 0xA, 0x8C, 0x3, 0x0, 0x0, 0x15, 0x18, 0x2, 0x0, 0x0, 0xA, 0x8C,
0x1, 0x0, 0x0, 0x7E, 0x90, 0x2, 0x0, 0x0, 0x15, 0x18, 0x1, 0x0, 0x0, 0x3F, 0x48, 0x2,
0x0, 0x0, 0x15, 0x18, 0x3, 0x0, 0x0, 0x15, 0x18, 0x1, 0x0, 0x0, 0x54, 0x60, 0x2, 0x0,
Expand Down
63 changes: 54 additions & 9 deletions Arrowgene.Ddon.GameServer/Dump/InGameDump.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1897,15 +1897,60 @@ public static class InGameDump

public static byte[] data_Dump_29 = new byte[] /* 1.8.2 */
{
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5A, 0x0, 0x0, 0x0, 0xC,
0x0, 0x0, 0x0, 0x1E, 0x0, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x1E,
0x0, 0x0, 0x0, 0x0, 0x55, 0xDD, 0xD4, 0x70, 0x0, 0x0, 0x0, 0x2, 0x2C, 0x2E, 0xD0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xB, 0x1, 0x0, 0x0, 0x49,
0xD4, 0x2, 0x0, 0x0, 0xA, 0x8C, 0x3, 0x0, 0x0, 0x15, 0x18, 0x2, 0x0, 0x0, 0xA, 0x8C,
0x1, 0x0, 0x0, 0x7E, 0x90, 0x2, 0x0, 0x0, 0x15, 0x18, 0x1, 0x0, 0x0, 0x3F, 0x48, 0x2,
0x0, 0x0, 0x15, 0x18, 0x3, 0x0, 0x0, 0x15, 0x18, 0x1, 0x0, 0x0, 0x54, 0x60, 0x2, 0x0,
0x0, 0xA, 0x8C, 0x0, 0x0, 0x0, 0x1, 0x3, 0x0, 0x0, 0x0, 0x0, 0x59, 0x94, 0xEA, 0x90,
0x0, 0x0, 0x0, 0x0, 0x59, 0x96, 0xAC, 0x90, 0x0, 0x12, 0x75, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, // Error
0x0, 0x0, 0x0, 0x0, // Result

// CDataGameTimeBaseInfo
0x0, 0x0, 0x0, 0x5A, // GameTimeOneDayMin
0x0, 0x0, 0x0, 0xC, // GameTimeYearMonth
0x0, 0x0, 0x0, 0x1E, // GameTimeMonthDay
0x0, 0x0, 0x0, 0x18, // GameTimeDayHour
0x0, 0x0, 0x0, 0x7, // GameTimeWeekDay
0x0, 0x0, 0x0, 0x1E, // GameTimeMoonAge
0x0, 0x0, 0x0, 0x0, 0x55, 0xDD, 0xD4, 0x70, // OriginalRealTimeSec (Apparently, a few days before DDOn release)
0x0, 0x0, 0x0, 0x2, 0x2C, 0x2E, 0xD0, 0x0, // OriginalGameTimeSec
0x0, 0x0, 0x0, 0x0, // OriginalWeek
0x0, 0x0, 0x0, 0x0, // OriginalMoonAge

// List of CDataWeatherLoop
0x0, 0x0, 0x0, 0xB, // List size
// CDataWeatherLoop
0x1, // Weather Id
0x0, 0x0, 0x49, 0xD4, // TimeSec
0x2,
0x0, 0x0, 0xA, 0x8C,
0x3,
0x0, 0x0, 0x15, 0x18,
0x2,
0x0, 0x0, 0xA, 0x8C,
0x1,
0x0, 0x0, 0x7E, 0x90,
0x2,
0x0, 0x0, 0x15, 0x18,
0x1,
0x0, 0x0, 0x3F, 0x48,
0x2,
0x0, 0x0, 0x15, 0x18,
0x3,
0x0, 0x0, 0x15, 0x18,
0x1,
0x0, 0x0, 0x54, 0x60,
0x2,
0x0, 0x0, 0xA, 0x8C,

// List of CDataWeatherSchedule
0x0, 0x0, 0x0, 0x1, // List size
// CDataWeatherSchedule
0x0, // WeatherId
0x0, 0x0, 0x0, 0x0, 0x59, 0x94, 0xEA, 0x90, // BeginTimeSec
0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // EndTimeSec

0x0, 0x12, 0x75, 0x0, // MoonAgeLoopSec

// List of CDataMoonSchedule
0x0, 0x0, 0x0, 0x0, // List size

// Padding
0xC0, 0x8F, 0x71, 0x19, 0x20, 0x0, 0x0
};

Expand Down
62 changes: 62 additions & 0 deletions Arrowgene.Ddon.GameServer/Dump/SelectedDump.cs
Original file line number Diff line number Diff line change
Expand Up @@ -384,5 +384,67 @@ class CPacket_S2C_GET_ENEMY_SET_LIST_RES: public CPacketDataBase

public static Packet Dump_LobbyPlayerContext = new Packet(new PacketId(35, 0, 16, "S2C_CONTEXT_GET_LOBBY_PLAYER_CONTEXT_NTC"), data_Dump_LobbyPlayerContext);

public static byte[] data_Dump_32_A = new byte[] /* 8.2.2 */
{
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0xDA, 0x5D, 0x4E,
0x0, 0x0, 0x0, 0x1, 0x0, 0x7, 0x53, 0x65, 0x72, 0x65, 0x6C, 0x69, 0x61, 0x2, 0x0, 0x1,
0x8, 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0, 0xE, 0x0, 0x0, 0x0, 0xA, 0x1, 0x0, 0x0,
0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x3, 0x0, 0x0, 0x0, 0x7, 0x4, 0x0, 0x0, 0x0,
0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x6, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0,
0x8, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0xA, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0,
0x0, 0x75, 0x30, 0x0, 0x0, 0x0, 0x3, 0x0, 0xDA, 0x66, 0x8D, 0x0, 0x0, 0x0, 0x2, 0x0,
0x5, 0x41, 0x7A, 0x75, 0x6C, 0x61, 0x2, 0x0, 0x1, 0x6, 0x0, 0x0, 0x0, 0x78, 0x0, 0x0,
0x0, 0x38, 0x0, 0x0, 0x0, 0xA, 0x1, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x37,
0x3, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x6,
0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0,
0x0, 0x0, 0x0, 0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x5C, 0xE5, 0x6D, 0x7B, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, 0x30, 0x0, 0x0, 0x0, 0x3,
0x0, 0xDA, 0xB2, 0xF3, 0x0, 0x0, 0x0, 0x3, 0x0, 0x6, 0x53, 0x65, 0x65, 0x6C, 0x69, 0x78,
0x2, 0x0, 0x1, 0x6, 0x0, 0x0, 0x0, 0x78, 0x0, 0x0, 0x0, 0x46, 0x0, 0x0, 0x0, 0xA,
0x1, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x45, 0x4,
0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0,
0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, 0xA, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5D, 0x52, 0xD1, 0x79, 0x0, 0x0,
0x0, 0x6, 0x0, 0x0, 0x5, 0x8E, 0x0, 0x0, 0x0, 0x0, 0x0, 0xDA, 0xB2, 0xF3, 0x0, 0x0,
0x0, 0x6, 0x7, 0x0, 0x46, 0xE3, 0x1
};

public static Packet Dump_32_A = new Packet(new PacketId(8, 2, 2, "Dump_32_A"), data_Dump_32_A);

public static byte[] data_Dump_AntiDc9_1_2 = new byte[] /* 9.1.2 */
{
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0,
0x28, 0x1, 0x0, 0x1, 0x0, 0x2, 0x0
};

public static Packet AntiDc9_1_2 = new Packet(new PacketId(9, 1, 2, "S2C_BINARY_SAVE_SET_CHARACTER_BIN_SAVEDATA_RES"), data_Dump_AntiDc9_1_2);

public static byte[] data_Dump_AntiDcSortdataBin = new byte[] /* 50.1.2 */
{
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0,
0x28, 0x1, 0x0, 0x1, 0x0, 0x2, 0x0
};

public static Packet AntiDcSortdataBin = new Packet(new PacketId(50, 1, 2, "S2C_ITEM_SORT_SET_ITEM_SORTDATA_BIN_RES"), data_Dump_AntiDcSortdataBin);

public static byte[] data_Dump_lantern2_27_16 = new byte[] /* 2.27.16 */
{
0x0, 0x0, 0x5, 0xDC, 0x0, 0x0, 0x0
};

public static Packet lantern2_27_16 = new Packet(new PacketId(2, 27, 16, "S2C_CHARACTER_2_27_16_NTC"), data_Dump_lantern2_27_16);

public static byte[] data_Dump_46_A = new byte[] /* 28.2.2 */
{
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0xF,
0x1, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE2, 0x83, 0xEF, 0x0, 0x0, 0x0, 0x40, 0x1, 0x0, 0x0,
0x0, 0x0, 0xFF, 0xB, 0x62, 0x6F, 0x0, 0x0, 0x0, 0x25, 0x1, 0x0, 0x0, 0x0, 0x0, 0xFF,
0x34, 0x40, 0xEF, 0x0, 0x0, 0x0, 0x4, 0x1, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x5A, 0x7C, 0x6F,
0x39, 0x20, 0xFA, 0x7B, 0xC4, 0x74, 0x53
};

public static Packet Dump_46_A = new Packet(new PacketId(28, 2, 2, "Dump_46_A"), data_Dump_46_A);

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
using Arrowgene.Ddon.GameServer.Dump;
using Arrowgene.Ddon.Server;
using Arrowgene.Ddon.Server.Network;
using Arrowgene.Ddon.Shared.Network;
using Arrowgene.Logging;

namespace Arrowgene.Ddon.GameServer.Handler
{
public class BinarySaveSetCharacterBinSavedataHandler : PacketHandler<GameClient>
{
private static readonly ServerLogger Logger = LogProvider.Logger<ServerLogger>(typeof(BinarySaveSetCharacterBinSavedataHandler));


public BinarySaveSetCharacterBinSavedataHandler(DdonGameServer server) : base(server)
{
}

public override PacketId Id => PacketId.C2S_BINARY_SAVE_SET_CHARACTER_BIN_SAVEDATA_REQ;

public override void Handle(GameClient client, IPacket packet)
{
client.Send(SelectedDump.AntiDc9_1_2);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Arrowgene.Buffers;
using Arrowgene.Buffers;
using Arrowgene.Ddon.GameServer.Dump;
using Arrowgene.Ddon.Server;
using Arrowgene.Ddon.Server.Network;
Expand Down Expand Up @@ -26,6 +26,7 @@ public override void Handle(GameClient client, IPacket packet)
res.CharacterId = client.Character.Id;
res.FirstName = client.Character.FirstName;
res.LastName = client.Character.LastName;
res.Visual = client.Character.Visual;
client.Send(res);

// client.Send(GameDump.Dump_13);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
using Arrowgene.Ddon.Server;
using Arrowgene.Ddon.Server.Network;
using Arrowgene.Ddon.Shared.Network;
using Arrowgene.Logging;
using Arrowgene.Ddon.Shared.Entity.PacketStructure;

namespace Arrowgene.Ddon.GameServer.Handler
{
public class CharacterPawnGoldenReviveHandler : StructurePacketHandler<GameClient, C2SCharacterPawnGoldenReviveReq>
{
private static readonly ServerLogger Logger = LogProvider.Logger<ServerLogger>(typeof(CharacterPawnGoldenReviveHandler));


public CharacterPawnGoldenReviveHandler(DdonGameServer server) : base(server)
{
}


public override void Handle(GameClient client, StructurePacket<C2SCharacterPawnGoldenReviveReq> req)
{
S2CCharacterPawnGoldenReviveRes res = new S2CCharacterPawnGoldenReviveRes(req.Structure);
res.GoldenGemstonePoint = 120;
client.Send(res);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
using Arrowgene.Ddon.Server;
using Arrowgene.Ddon.Server.Network;
using Arrowgene.Ddon.Shared.Network;
using Arrowgene.Logging;
using Arrowgene.Ddon.Shared.Entity.PacketStructure;

namespace Arrowgene.Ddon.GameServer.Handler
{
public class CharacterPawnPointReviveHandler : StructurePacketHandler<GameClient, C2SCharacterPawnPointReviveReq>
{
private static readonly ServerLogger Logger = LogProvider.Logger<ServerLogger>(typeof(CharacterPawnPointReviveHandler));


public CharacterPawnPointReviveHandler(DdonGameServer server) : base(server)
{
}


public override void Handle(GameClient client, StructurePacket<C2SCharacterPawnPointReviveReq> req)
{
S2CCharacterPawnPointReviveRes res = new S2CCharacterPawnPointReviveRes(req.Structure);
res.RevivePoint = 3;
client.Send(res);
}
}
}
5 changes: 3 additions & 2 deletions Arrowgene.Ddon.GameServer/Handler/Gp_28_2_1_Handler.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Arrowgene.Ddon.GameServer.Dump;
using Arrowgene.Ddon.GameServer.Dump;
using Arrowgene.Ddon.Server;
using Arrowgene.Ddon.Server.Network;
using Arrowgene.Ddon.Shared.Network;
Expand All @@ -19,7 +19,8 @@ public Gp_28_2_1_Handler(DdonGameServer server) : base(server)

public override void Handle(GameClient client, IPacket packet)
{
client.Send(InGameDump.Dump_46);
//client.Send(InGameDump.Dump_46);
client.Send(SelectedDump.Dump_46_A);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
using Arrowgene.Buffers;
using Arrowgene.Ddon.GameServer.Dump;
using Arrowgene.Ddon.Server;
using Arrowgene.Ddon.Server.Network;
using Arrowgene.Ddon.Shared.Network;
using Arrowgene.Logging;
using Arrowgene.Ddon.Shared.Entity.PacketStructure;

namespace Arrowgene.Ddon.GameServer.Handler
{
public class InstanceExchangeOmInstantKeyValueHandler : PacketHandler<GameClient>
public class InstanceExchangeOmInstantKeyValueHandler : StructurePacketHandler<GameClient, C2SInstanceExchangeOmInstantKeyValueReq>
{
private static readonly ServerLogger Logger = LogProvider.Logger<ServerLogger>(typeof(InstanceExchangeOmInstantKeyValueHandler));

Expand All @@ -16,11 +15,11 @@ public InstanceExchangeOmInstantKeyValueHandler(DdonGameServer server) : base(se
{
}

public override PacketId Id => PacketId.C2S_INSTANCE_EXCHANGE_OM_INSTANT_KEY_VALUE_REQ;

public override void Handle(GameClient client, IPacket packet)
public override void Handle(GameClient client, StructurePacket<C2SInstanceExchangeOmInstantKeyValueReq> stageIdHandler)
{
client.Send(SelectedDump.AntiDC_Test2);
S2CInstanceExchangeOmInstantKeyValueRes res = new S2CInstanceExchangeOmInstantKeyValueRes(stageIdHandler.Structure);
client.Send(res);
}
}
}
Loading

0 comments on commit 9a7bb0b

Please sign in to comment.