Very basic implementation of mission pass

This commit is contained in:
SELEKCJONER
2024-12-25 15:03:57 +01:00
parent 684be1b26a
commit 5ff6264e21
3 changed files with 47 additions and 5 deletions

View File

@@ -10,11 +10,17 @@ namespace EpinelPS.LobbyServer.Pass
var req = await ReadData<ReqGetActivePassData>();
var response = new ResGetActivePassData();
response.PassExist = false; // if true game wont load but wont load pass either this is just broken
response.Pass = new NetPassInfo { PassId = 1000020, PassPoint = 11016, PassSkipCount = 0, PremiumActive = true };
response.Pass.PassRankList.Add(new NetPassRankData { PassRank = 3, IsNormalRewarded = false, IsPremiumRewarded = true });
var missionIds = new[] { 2001701, 2001702, 2001703, 2001704, 2001705, 2001706 };
foreach (var missionId in missionIds) response.Pass.PassMissionList.Add(new NetPassMissionData { PassMissionId = missionId, IsComplete = false });
response.PassExist = true;
response.Pass = new NetPassInfo { PassId = 1027, PassPoint = 490, PassSkipCount = 15, PremiumActive = true };
// Adding PassRankList using a loop
for (int rank = 1; rank <= 15; rank++)
{
response.Pass.PassRankList.Add(new NetPassRankData { PassRank = rank, IsNormalRewarded = true, IsPremiumRewarded = true });
}
var missionIds = new[] { 3001, 3002, 3003, 3004, 3005, 3006,3007 };
foreach (var missionId in missionIds) response.Pass.PassMissionList.Add(new NetPassMissionData { PassMissionId = missionId, IsComplete = true });
await WriteDataAsync(response);
}

View File

@@ -0,0 +1,18 @@
using EpinelPS.Utils;
namespace EpinelPS.LobbyServer.Pass
{
[PacketPath("/pass/buyrank")]
public class BuyPassRank : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqBuyPassRank>(); //fields "PassId", "TargetPassRank"
var response = new ResBuyPassRank(); // fields "PassRank", "PassPoint", "Currencies"
await WriteDataAsync(response);
}
}
}

View File

@@ -0,0 +1,18 @@
using EpinelPS.Utils;
namespace EpinelPS.LobbyServer.Pass
{
[PacketPath("/pass/obtainreward")]
public class ObtainPassReward : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqObtainPassReward>(); //fields "PassId", "PassRank"
var response = new ResObtainPassReward(); // field Reward
await WriteDataAsync(response);
}
}
}