"implemented" gacha system

This commit is contained in:
Mikhail Thompson
2024-07-02 15:11:52 -04:00
parent 76ecf031b5
commit 53dab52b9a
5 changed files with 98 additions and 45 deletions

View File

@@ -1,4 +1,5 @@
using nksrv.Utils;
using nksrv.StaticInfo;
using nksrv.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -12,11 +13,12 @@ namespace nksrv.LobbyServer.Msgs.Character
{
protected override async Task HandleAsync()
{
var req = ReadData<ReqGetCharacterCostumeData>();
var req = await ReadData<ReqGetCharacterCostumeData>();
var response = new ResGetCharacterCostumeData();
// TODO implement
// return all
response.CostumeIds.AddRange(StaticDataParser.Instance.GetAllCostumes());
WriteData(response);
}

View File

@@ -0,0 +1,33 @@
using nksrv.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace nksrv.LobbyServer.Msgs.Character
{
[PacketPath("/character/costume/set")]
public class SetCharacterCostume : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqSetCharacterCostume>();
var user = GetUser();
foreach (var item in user.Characters)
{
if(item.Csn == req.Csn)
{
item.CostumeId = req.CostumeId;
break;
}
}
JsonDb.Save();
var response = new ResSetCharacterCostume();
WriteData(response);
}
}
}

View File

@@ -1,4 +1,5 @@
using nksrv.Utils;
using nksrv.StaticInfo;
using nksrv.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -13,6 +14,7 @@ namespace nksrv.LobbyServer.Msgs.Gacha
protected override async Task HandleAsync()
{
var req = await ReadData<ReqExecuteGacha>();
var user = GetUser();
var response = new ResExecuteGacha();
@@ -21,12 +23,16 @@ namespace nksrv.LobbyServer.Msgs.Gacha
// TODO implement
response.Reward = new NetRewardData();
for (int i = 0; i < 10; i++)
foreach (var c in StaticDataParser.Instance.GetAllCharacterTids())
{
response.Gacha.Add(new NetGachaEntityData() { Corporation = 0, PieceCount = 1, CurrencyValue = 5, Sn = 130201, Tid = 2500601, Type = 1 });
response.Gacha.Add(new NetGachaEntityData() { Corporation = 0, PieceCount = 1, CurrencyValue = 5, Sn = 130201, Tid = c, Type = 1 });
user.Characters.Add(new Utils.Character() { CostumeId = 0, Csn = c, Grade = 0, Level = 1, Skill1Lvl = 1, Skill2Lvl= 1, Tid = c, UltimateLevel = 1 });
// response.Characters.Add(new NetUserCharacterDefaultData() { Lv = 1, Skill1Lv = 1, Grade = 0, Csn = 1, Tid = 130201 });
}
JsonDb.Save();
WriteData(response);