ddon-server/Arrowgene.Ddon.GameServer/Handler/SkillLearnAbilityHandler.cs
Paul Campbell f5905e8e7d feat: Add support for "Skill Augmentation"
- Add new scripting module for "Skill Augmentation"
- Locked EM4 skills behind completion of EM4
- Implemented tree layouts for all jobs
- Implemented new REQ, RES and handlers for Skill Augmentation
- Implemented the quest Skill Augmentation Guidance of a Renewed White Dragon
- Implemented augmentation trials for all jobs
- Updated adventure guide logic to handle when to present quests better.
- Adjusted how personal quests for vocation are distributed to remove
  the need to change areas or log out to get them to show.

Thanks for help from multiple players to help us collect the skill tree
data.

Co-authored-by: 𝔢𝔪𝔪𝔞 𝔢𝔳𝔢𝔯𝔤𝔞𝔯𝔡
Co-authored-by: Cold Blood
Co-authored-by: Genzyuro
Co-authored-by: あゆふぁ
Co-authored-by: 鬼頭オパーリン
Co-authored-by: GaethanT
Co-authored-by: Sapphiratelaemara
Co-authored-by: King Flipsta
2025-05-10 15:19:53 -04:00

28 lines
989 B
C#

using Arrowgene.Ddon.Server;
using Arrowgene.Ddon.Server.Network;
using Arrowgene.Ddon.Shared.Entity.PacketStructure;
using Arrowgene.Logging;
namespace Arrowgene.Ddon.GameServer.Handler
{
public class SkillLearnAbilityHandler : GameRequestPacketQueueHandler<C2SSkillLearnAbilityReq, S2CSkillLearnAbilityRes>
{
private static readonly ServerLogger Logger = LogProvider.Logger<ServerLogger>(typeof(SkillLearnAbilityHandler));
public SkillLearnAbilityHandler(DdonGameServer server) : base(server)
{
}
public override PacketQueue Handle(GameClient client, C2SSkillLearnAbilityReq request)
{
var packets = new PacketQueue();
Server.Database.ExecuteInTransaction(connection =>
{
packets = Server.JobManager.UnlockAbility(client, client.Character, request.Job, request.AbilityId, request.AbilityLv, connection);
});
return packets;
}
}
}