mirror of
https://github.com/EpinelPS/EpinelPS.git
synced 2025-12-12 23:14:34 +01:00
47 lines
1.5 KiB
C#
47 lines
1.5 KiB
C#
using nksrv.StaticInfo;
|
|
using nksrv.Utils;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace nksrv.LobbyServer.Msgs.Gacha
|
|
{
|
|
[PacketPath("/gacha/execute")]
|
|
public class ExecGacha : LobbyMsgHandler
|
|
{
|
|
protected override async Task HandleAsync()
|
|
{
|
|
var req = await ReadData<ReqExecuteGacha>();
|
|
var user = GetUser();
|
|
|
|
var response = new ResExecuteGacha();
|
|
|
|
// TODO: Pick random character that player does not have unless it supports limit break.
|
|
|
|
// TODO implement reward
|
|
response.Reward = new NetRewardData();
|
|
|
|
if (user.GachaTutorialPlayCount == 0)
|
|
{
|
|
foreach (var c in StaticDataParser.Instance.GetAllCharacterTids())
|
|
{
|
|
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 });
|
|
|
|
}
|
|
user.GachaTutorialPlayCount++;
|
|
}
|
|
|
|
JsonDb.Save();
|
|
|
|
|
|
WriteData(response);
|
|
}
|
|
}
|
|
}
|