mirror of
https://github.com/EpinelPS/EpinelPS.git
synced 2025-12-14 07:55:01 +01:00
begin gacha system, ch2 fix
This commit is contained in:
@@ -13,7 +13,7 @@ namespace nksrv.LobbyServer.Msgs.Character
|
||||
var response = new ResGetCharacterData();
|
||||
foreach (var item in user.Characters)
|
||||
{
|
||||
response.Character.Add(new NetUserCharacterData() { Default = new() { Csn = item.Csn, Skill1Lv = item.Skill1Lvl, Skill2Lv = item.Skill2Lvl, CostumeId = item.CostumeId, Lv = item.Level, Grade = item.Grade, Tid = item.Tid } });
|
||||
response.Character.Add(new NetUserCharacterData() { Default = new() { Csn = item.Csn, Skill1Lv = item.Skill1Lvl, Skill2Lv = item.Skill2Lvl, CostumeId = item.CostumeId, Lv = item.Level, Grade = item.Grade, Tid = item.Tid, UltiSkillLv = item.UltimateLevel } });
|
||||
}
|
||||
|
||||
WriteData(response);
|
||||
|
||||
26
nksrv/LobbyServer/Msgs/Gacha/CheckGachaDailyEvent.cs
Normal file
26
nksrv/LobbyServer/Msgs/Gacha/CheckGachaDailyEvent.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
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/event/check")]
|
||||
public class CheckGachaDailyEvent : LobbyMsgHandler
|
||||
{
|
||||
protected override async Task HandleAsync()
|
||||
{
|
||||
var req = ReadData<ReqCheckDailyFreeGacha>();
|
||||
|
||||
var response = new ResCheckDailyFreeGacha();
|
||||
|
||||
// TODO implement
|
||||
response.FreeCount = 1000;
|
||||
response.EventData = new NetEventData() { Id = 1 };
|
||||
|
||||
WriteData(response);
|
||||
}
|
||||
}
|
||||
}
|
||||
32
nksrv/LobbyServer/Msgs/Gacha/ExecGacha.cs
Normal file
32
nksrv/LobbyServer/Msgs/Gacha/ExecGacha.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
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 response = new ResExecuteGacha();
|
||||
|
||||
// TODO implement
|
||||
response.Reward = new NetRewardData();
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
response.Gacha.Add(new NetGachaEntityData() { Corporation = 0, PieceCount = 1, CurrencyValue = 5, Sn = 130201, Tid = 2500601, Type = 1 });
|
||||
// response.Characters.Add(new NetUserCharacterDefaultData() { Lv = 1, Skill1Lv = 1, Grade = 0, Csn = 1, Tid = 130201 });
|
||||
|
||||
}
|
||||
|
||||
|
||||
WriteData(response);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -24,6 +24,9 @@ namespace nksrv.LobbyServer.Msgs.Stage
|
||||
|
||||
if (req.BattleResult == 1)
|
||||
{
|
||||
var clearedStage = StaticDataParser.Instance.GetStageData(req.StageId);
|
||||
if (clearedStage == null) throw new Exception("cleared stage cannot be null");
|
||||
|
||||
user.LastStageCleared = req.StageId;
|
||||
|
||||
if (user.FieldInfo.Count == 0)
|
||||
@@ -34,7 +37,7 @@ namespace nksrv.LobbyServer.Msgs.Stage
|
||||
DoQuestSpecificUserOperations(user, req.StageId);
|
||||
|
||||
// TODO: figure out how stageid corresponds to chapter
|
||||
user.FieldInfo[GetChapterForStageId(req.StageId)].CompletedStages.Add(new NetFieldStageData() { StageId = req.StageId });
|
||||
user.FieldInfo[clearedStage.chapter_id - 1].CompletedStages.Add(new NetFieldStageData() { StageId = req.StageId });
|
||||
JsonDb.Save();
|
||||
|
||||
|
||||
@@ -112,21 +115,5 @@ namespace nksrv.LobbyServer.Msgs.Stage
|
||||
user.TeamData.Slots.Add(new NetWholeTeamSlot { Slot = 5, Csn = 47263459, Tid = 301201, Lvl = 1 });
|
||||
}
|
||||
}
|
||||
public static int GetChapterForStageId(int stageId)
|
||||
{
|
||||
if (6000001 <= stageId && stageId <= 6000003)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else if (6001001 <= stageId && stageId <= 6001004)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
Logger.Error("Unknown stage id: " + stageId);
|
||||
return 100;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ namespace nksrv.LobbyServer.Msgs.User
|
||||
}
|
||||
foreach (var item in user.Characters)
|
||||
{
|
||||
response.Character.Add(new NetUserCharacterData() { Default = new() { Csn = item.Csn, Skill1Lv = item.Skill1Lvl, Skill2Lv = item.Skill2Lvl, CostumeId = item.CostumeId, Lv = item.Level, Grade = item.Grade, Tid = item.Tid } });
|
||||
response.Character.Add(new NetUserCharacterData() { Default = new() { Csn = item.Csn, Skill1Lv = item.Skill1Lvl, Skill2Lv = item.Skill2Lvl, CostumeId = item.CostumeId, Lv = item.Level, Grade = item.Grade, Tid = item.Tid, UltiSkillLv = item.UltimateLevel } });
|
||||
}
|
||||
|
||||
if (user.Characters.Count > 0)
|
||||
|
||||
Reference in New Issue
Block a user