mirror of
https://github.com/MikuLeaks/KianaBH3.git
synced 2025-12-13 13:24:34 +01:00
fix: valk tutorial stage
This commit is contained in:
@@ -0,0 +1,14 @@
|
|||||||
|
using KianaBH.GameServer.Server.Packet.Send.Activity;
|
||||||
|
using KianaBH.Proto;
|
||||||
|
|
||||||
|
namespace KianaBH.GameServer.Server.Packet.Recv.Activity;
|
||||||
|
|
||||||
|
[Opcode(CmdIds.GeneralActivityGetScoreRewardInfoReq)]
|
||||||
|
public class HandlerGeneralActivityGetScoreRewardInfoReq : Handler
|
||||||
|
{
|
||||||
|
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
|
||||||
|
{
|
||||||
|
var req = GeneralActivityGetScoreRewardInfoReq.Parser.ParseFrom(data);
|
||||||
|
await connection.SendPacket(new PacketGeneralActivityGetScoreRewardInfoRsp(req.ActivityIdList));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@ using Google.Protobuf.Collections;
|
|||||||
using KianaBH.Data;
|
using KianaBH.Data;
|
||||||
using KianaBH.KcpSharp;
|
using KianaBH.KcpSharp;
|
||||||
using KianaBH.Proto;
|
using KianaBH.Proto;
|
||||||
|
using KianaBH.Util.Extensions;
|
||||||
|
|
||||||
namespace KianaBH.GameServer.Server.Packet.Send.Activity;
|
namespace KianaBH.GameServer.Server.Packet.Send.Activity;
|
||||||
|
|
||||||
@@ -19,30 +20,19 @@ public class PacketGeneralActivityGetMainInfoRsp : BasePacket
|
|||||||
GeneralBasicInfo = new GeneralActivityBasicInfo
|
GeneralBasicInfo = new GeneralActivityBasicInfo
|
||||||
{
|
{
|
||||||
ActivityId = activityId,
|
ActivityId = activityId,
|
||||||
ScheduleId = series?.Series ?? 0,
|
//ScheduleId = series?.Series ?? 0,
|
||||||
SeriesActivityId ={ activityId }
|
//SeriesActivityId ={ activityId }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
GameData.GeneralActivityStageGroupData
|
|
||||||
.TryGetValue((int)activityId, out var activityStage);
|
|
||||||
|
|
||||||
if (activityStage != null)
|
|
||||||
{
|
|
||||||
activity.ActivityStage = new GeneralActivityStage
|
activity.ActivityStage = new GeneralActivityStage
|
||||||
{
|
{
|
||||||
StageGroupScheduleList =
|
EnterTimes = 1,
|
||||||
{
|
ExchangeTimes = 1,
|
||||||
activityStage.Select(x => new GeneralActivityStageGroupScheduleInfo
|
|
||||||
{
|
|
||||||
BeginTime = 1593223200,
|
|
||||||
EndTime = 1913140799,
|
|
||||||
StageGroupId = x.StageGroupId
|
|
||||||
})
|
|
||||||
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return activity;
|
return activity;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using System.Security.Cryptography;
|
||||||
using KianaBH.Data;
|
using KianaBH.Data;
|
||||||
using KianaBH.KcpSharp;
|
using KianaBH.KcpSharp;
|
||||||
using KianaBH.Proto;
|
using KianaBH.Proto;
|
||||||
@@ -36,6 +37,13 @@ public class PacketGeneralActivityGetScheduleRsp : BasePacket
|
|||||||
EndTime = time,
|
EndTime = time,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
proto.ScheduleList.Add(new GeneralActivityScheduleInfo
|
||||||
|
{
|
||||||
|
ActivityId = 50000006,
|
||||||
|
SettleTime = time,
|
||||||
|
EndTime = time,
|
||||||
|
EndDayTime = time
|
||||||
|
});
|
||||||
|
|
||||||
SetData(proto);
|
SetData(proto);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
using Google.Protobuf.Collections;
|
||||||
|
using KianaBH.KcpSharp;
|
||||||
|
using KianaBH.Proto;
|
||||||
|
|
||||||
|
namespace KianaBH.GameServer.Server.Packet.Send.Activity;
|
||||||
|
|
||||||
|
public class PacketGeneralActivityGetScoreRewardInfoRsp : BasePacket
|
||||||
|
{
|
||||||
|
public PacketGeneralActivityGetScoreRewardInfoRsp(RepeatedField<uint> ActivityIdList) : base(CmdIds.GeneralActivityGetScoreRewardInfoRsp)
|
||||||
|
{
|
||||||
|
var proto = new GeneralActivityGetScoreRewardInfoRsp
|
||||||
|
{
|
||||||
|
ScoreInfoList =
|
||||||
|
{
|
||||||
|
ActivityIdList?.Select(id => new GeneralActivityScoreRewardInfo
|
||||||
|
{
|
||||||
|
ActivityId = id,
|
||||||
|
CurScore = 0
|
||||||
|
})
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
SetData(proto);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,55 +9,21 @@ public class PacketGetStageDataRsp : BasePacket
|
|||||||
{
|
{
|
||||||
public PacketGetStageDataRsp(RepeatedField<uint> StageIdList) : base(CmdIds.GetStageDataRsp)
|
public PacketGetStageDataRsp(RepeatedField<uint> StageIdList) : base(CmdIds.GetStageDataRsp)
|
||||||
{
|
{
|
||||||
var isAll = StageIdList.Count == 1 && StageIdList[0] == 0;
|
|
||||||
|
|
||||||
var stageData = GameData.StageDataMain;
|
var stageData = GameData.StageDataMain;
|
||||||
|
|
||||||
var stageList = isAll
|
|
||||||
? stageData.Values.Select(stage => new Proto.Stage
|
|
||||||
{
|
|
||||||
Id = stage.LevelId,
|
|
||||||
Progress = 1,
|
|
||||||
ChallengeIndexList =
|
|
||||||
{
|
|
||||||
stage.ChallengeList.Count == 3
|
|
||||||
? new uint[] { 0, 1, 2 }
|
|
||||||
: new uint[] { 0 }
|
|
||||||
},
|
|
||||||
IsDone = true,
|
|
||||||
MaxRank = 1
|
|
||||||
})
|
|
||||||
: stageData.Values
|
|
||||||
.Where(stage => StageIdList.Contains(stage.LevelId))
|
|
||||||
.Select(stage => new Proto.Stage
|
|
||||||
{
|
|
||||||
Id = stage.LevelId,
|
|
||||||
Progress = 1,
|
|
||||||
ChallengeIndexList =
|
|
||||||
{
|
|
||||||
stage.ChallengeList.Count == 3
|
|
||||||
? new uint[] { 0, 1, 2 }
|
|
||||||
: new uint[] { 0 }
|
|
||||||
},
|
|
||||||
IsDone = true,
|
|
||||||
MaxRank = 1
|
|
||||||
});
|
|
||||||
|
|
||||||
var proto = new GetStageDataRsp
|
var proto = new GetStageDataRsp
|
||||||
{
|
{
|
||||||
IsAll = isAll,
|
IsAll = true,
|
||||||
FinishedChapterList = { Enumerable.Range(1, 43).Select(i => (uint)i) },
|
StageList =
|
||||||
EventDataList =
|
|
||||||
{
|
{
|
||||||
new StageEventData
|
stageData.Values.Select(stage => new Proto.Stage
|
||||||
{
|
{
|
||||||
BeginTime = 1729108800,
|
Id = stage.LevelId,
|
||||||
EndTime = 1990911600,
|
Progress = stage.MaxProgress,
|
||||||
ChapterId = 200,
|
EnterTimes = 0,
|
||||||
UnlockLevel = 30
|
ChallengeIndexList = { stage.ChallengeList.Count == 3 ? new uint[] { 0, 1, 2 } : new uint[0] },
|
||||||
|
IsDone = true,
|
||||||
|
}).ToList(),
|
||||||
}
|
}
|
||||||
},
|
|
||||||
StageList = { }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
SetData(proto);
|
SetData(proto);
|
||||||
|
|||||||
Reference in New Issue
Block a user