mirror of
https://github.com/EggLinks/DanhengServer-OpenSource.git
synced 2026-01-02 20:26:03 +08:00
fix: the client send common avatar id instead of base avatar id
This commit is contained in:
@@ -127,7 +127,7 @@ public class ChallengePeakInstance(PlayerInstance player, ChallengeDataPb data)
|
||||
if (target == null) continue;
|
||||
|
||||
if (target.Progress <= target.TotalProgress)
|
||||
stars++;
|
||||
stars += 1u << targets.IndexOf(targetId);
|
||||
}
|
||||
|
||||
return Math.Min(stars, 7);
|
||||
|
||||
@@ -96,18 +96,27 @@ public class ChallengePeakManager(PlayerInstance player) : BasePlayerManager(pla
|
||||
var datas = Player.ChallengeManager!.ChallengeData.PeakLevelDatas;
|
||||
foreach (var lineup in lineups)
|
||||
{
|
||||
List<uint> avatarIds = [];
|
||||
|
||||
foreach (var avatarId in lineup.PeakLevelLineup.ToList())
|
||||
{
|
||||
var avatar = Player.AvatarManager!.GetFormalAvatar((int)avatarId);
|
||||
if (avatar != null)
|
||||
avatarIds.Add((uint)avatar.BaseAvatarId);
|
||||
}
|
||||
|
||||
if (!datas.TryGetValue((int)lineup.PeakLevelId,
|
||||
out var data))
|
||||
{
|
||||
datas[(int)lineup.PeakLevelId] = new ChallengePeakLevelData
|
||||
{
|
||||
LevelId = (int)lineup.PeakLevelId,
|
||||
BaseAvatarList = lineup.PeakLevelLineup.ToList()
|
||||
BaseAvatarList = avatarIds
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
data.BaseAvatarList = lineup.PeakLevelLineup.ToList();
|
||||
data.BaseAvatarList = avatarIds;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user