Files
DanhengServer-OpenSource/GameServer/Server/Packet/Recv/Lineup/HandlerChangeLineupLeaderCsReq.cs
Somebody a5bf1f751a Add Some Mission Handler & Fix a silly bug
- Fix battle trial avatar
2024-07-10 14:00:08 +08:00

34 lines
1.3 KiB
C#

using EggLink.DanhengServer.Database;
using EggLink.DanhengServer.Enums;
using EggLink.DanhengServer.Proto;
using EggLink.DanhengServer.Server.Packet.Send.Lineup;
namespace EggLink.DanhengServer.Server.Packet.Recv.Lineup
{
[Opcode(CmdIds.ChangeLineupLeaderCsReq)]
public class HandlerChangeLineupLeaderCsReq : Handler
{
public override void OnHandle(Connection connection, byte[] header, byte[] data)
{
var req = ChangeLineupLeaderCsReq.Parser.ParseFrom(data);
var player = connection.Player!;
if (player.LineupManager!.GetCurLineup() == null)
{
connection.SendPacket(new PacketChangeLineupLeaderScRsp());
return;
}
var lineup = player.LineupManager!.GetCurLineup()!;
if (lineup.BaseAvatars?.Count <= (int)req.Slot)
{
connection.SendPacket(new PacketChangeLineupLeaderScRsp());
return;
}
var leaderAvatarId = lineup.BaseAvatars![(int)req.Slot].BaseAvatarId;
lineup.LeaderAvatarId = leaderAvatarId;
player.MissionManager!.HandleFinishType(MissionFinishTypeEnum.TeamLeaderChange);
connection.SendPacket(new PacketChangeLineupLeaderScRsp(req.Slot));
}
}
}