ddon-server/Arrowgene.Ddon.GameServer/Handler/JobOrbTreeGetJobOrbTreeStatusListHandler.cs
Paul Campbell 1fecb64ac3 feat: Implement 3.0 HiBO tree and enable Epitaph Road (Rathnite)
- Added support for the 3.0 HiBO tree.
- Enabled Epitaph Road (Rathnite)
  - Updated q60300020.json
  - Moved unlock from MSQ to personal quest
- Reorganized scripts for job orb tree
  - Delete old ones if copy+paste
2025-06-11 21:00:20 -04:00

39 lines
1.5 KiB
C#

using Arrowgene.Ddon.Server;
using Arrowgene.Ddon.Shared.Entity.PacketStructure;
using Arrowgene.Ddon.Shared.Entity.Structure;
using Arrowgene.Ddon.Shared.Model;
using Arrowgene.Logging;
namespace Arrowgene.Ddon.GameServer.Handler
{
public class JobOrbTreeGetJobOrbTreeStatusListHandler : GameRequestPacketHandler<C2SJobOrbTreeGetJobOrbTreeStatusListReq, S2CJobOrbTreeGetJobOrbTreeStatusListRes>
{
private static readonly ServerLogger Logger = LogProvider.Logger<ServerLogger>(typeof(JobOrbTreeGetJobOrbTreeStatusListHandler));
public JobOrbTreeGetJobOrbTreeStatusListHandler(DdonGameServer server) : base(server)
{
}
public override S2CJobOrbTreeGetJobOrbTreeStatusListRes Handle(GameClient client, C2SJobOrbTreeGetJobOrbTreeStatusListReq request)
{
S2CJobOrbTreeGetJobOrbTreeStatusListRes response = new S2CJobOrbTreeGetJobOrbTreeStatusListRes();
foreach (var jobId in (JobId[]) JobId.GetValues(typeof(JobId)))
{
if (jobId == JobId.None)
{
continue;
}
response.TreeStatusList.Add(new CDataJobOrbTreeStatus()
{
JobId = jobId,
IsReleased = client.Character.HasContentReleased(jobId.SkillAugmentationReleaseId()),
Rate = Server.JobOrbUnlockManager.CalculatePercentCompleted(client.Character, request.OrbTreeType, jobId)
});
}
return response;
}
}
}