mirror of
https://github.com/EggLinks/DanhengServer-OpenSource.git
synced 2026-01-02 20:26:03 +08:00
fix: cant enter the trial activity when lineup has main character
This commit is contained in:
@@ -24,7 +24,7 @@ public class TrialActivityInstance : BaseActivityInstance
|
||||
if (excel != null)
|
||||
{
|
||||
Data.CurTrialStageId = stageId;
|
||||
player.LineupManager.SetExtraLineup(ExtraLineupType.LineupStageTrial, excel.TrialAvatarList.ToList());
|
||||
player.LineupManager.SetExtraLineup(ExtraLineupType.LineupStageTrial, excel.TrialAvatarList.ToList(), true);
|
||||
await player.EnterScene(excel.MapEntranceID, 0, true);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using EggLink.DanhengServer.Database;
|
||||
using EggLink.DanhengServer.Database.Avatar;
|
||||
using EggLink.DanhengServer.Database.Lineup;
|
||||
using EggLink.DanhengServer.Enums.Avatar;
|
||||
using EggLink.DanhengServer.GameServer.Game.Player;
|
||||
using EggLink.DanhengServer.GameServer.Server.Packet.Send.Lineup;
|
||||
using EggLink.DanhengServer.GameServer.Server.Packet.Send.Scene;
|
||||
@@ -135,7 +136,7 @@ public class LineupManager : BasePlayerManager
|
||||
return true;
|
||||
}
|
||||
|
||||
public void SetExtraLineup(ExtraLineupType type, List<int> baseAvatarIds)
|
||||
public void SetExtraLineup(ExtraLineupType type, List<int> baseAvatarIds, bool refresh = false)
|
||||
{
|
||||
if (type == ExtraLineupType.LineupNone)
|
||||
{
|
||||
@@ -163,9 +164,17 @@ public class LineupManager : BasePlayerManager
|
||||
|
||||
foreach (var avatarId in baseAvatarIds)
|
||||
{
|
||||
var trial = Player.AvatarManager!.GetTrialAvatar(avatarId);
|
||||
var trial = Player.AvatarManager!.GetTrialAvatar(avatarId, refresh);
|
||||
if (trial != null)
|
||||
{
|
||||
if (GameData.MultiplePathAvatarConfigData.TryGetValue(trial.AvatarId, out var pathExcel) && pathExcel.Gender != GenderTypeEnum.GENDER_NONE)
|
||||
{
|
||||
if (pathExcel.Gender != (GenderTypeEnum)Player.Data.CurrentGender)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
trial.CheckLevel(worldLevel);
|
||||
lineup.BaseAvatars!.Add(new LineupAvatarInfo
|
||||
{ BaseAvatarId = trial.BaseAvatarId, SpecialAvatarId = trial.SpecialAvatarId });
|
||||
|
||||
Reference in New Issue
Block a user