Fix a bug about mission

- Incorrect mission info in SceneInfo
This commit is contained in:
Somebody
2024-07-06 13:35:24 +08:00
parent 3e325e088f
commit da5d60fbb3
7 changed files with 20 additions and 10 deletions

View File

@@ -3,6 +3,8 @@ using EggLink.DanhengServer.Data.Excel;
using EggLink.DanhengServer.Database;
using EggLink.DanhengServer.Database.Avatar;
using EggLink.DanhengServer.Game.Player;
using EggLink.DanhengServer.Proto;
using EggLink.DanhengServer.Server.Packet.Send.Avatar;
using EggLink.DanhengServer.Server.Packet.Send.Player;
using EggLink.DanhengServer.Util;
@@ -22,7 +24,7 @@ namespace EggLink.DanhengServer.Game.Avatar
}
}
public AvatarConfigExcel? AddAvatar(int avatarId, bool sync = true)
public AvatarConfigExcel? AddAvatar(int avatarId, bool sync = true, bool notify = true)
{
GameData.AvatarConfigData.TryGetValue(avatarId, out AvatarConfigExcel? avatarExcel);
if (avatarExcel == null)
@@ -51,6 +53,11 @@ namespace EggLink.DanhengServer.Game.Avatar
if (sync)
Player.SendPacket(new PacketPlayerSyncScNotify(avatar));
if (notify)
{
Player.SendPacket(new PacketAddAvatarScNotify(avatar.GetBaseAvatarId()));
}
return avatarExcel;
}

View File

@@ -141,8 +141,8 @@ namespace EggLink.DanhengServer.Game.Inventory
}
else
{
Player.AddAvatar(itemId, sync);
AddItem(itemId + 200000, 1);
Player.AddAvatar(itemId, sync, notify);
AddItem(itemId + 200000, 1, false);
}
break;
default:

View File

@@ -611,11 +611,15 @@ namespace EggLink.DanhengServer.Game.Mission
{
if (GetMainMissionStatus(mainMission.MainMissionID) == MissionPhaseEnum.Finish)
{
info.SceneMissionInfo.AcceptMainMissionIdList.Add((uint)mainMission.MainMissionID);
info.SceneMissionInfo.MainMissionIdList.Add((uint)mainMission.MainMissionID);
} else if (GetMainMissionStatus(mainMission.MainMissionID) == MissionPhaseEnum.Accept)
{
info.SceneMissionInfo.MainMissionIdList.Add((uint)mainMission.MainMissionID);
info.SceneMissionInfo.AcceptMainMissionIdList.Add((uint)mainMission.MainMissionID);
}
info.SceneMissionInfo.COLDABMKNDH.Add(new Proto.GBGPCCLIIEA()
{
MainMissionId = (uint)mainMission.MainMissionID,
});
break; // only one
}
}

View File

@@ -235,9 +235,9 @@ namespace EggLink.DanhengServer.Game.Player
SendPacket(new PacketPlayerSyncScNotify(AvatarManager!.GetHero()!));
}
public void AddAvatar(int avatarId, bool sync = true)
public void AddAvatar(int avatarId, bool sync = true, bool notify = true)
{
AvatarManager?.AddAvatar(avatarId, sync);
AvatarManager?.AddAvatar(avatarId, sync, notify);
}
public void SpendStamina(int staminaCost)

View File

@@ -44,7 +44,7 @@ namespace EggLink.DanhengServer.Game.Scene.Entity
}
// save
if (Group.SaveType != SaveTypeEnum.Save)
if (Group.SaveType == SaveTypeEnum.Reset)
{
return;
}

View File

@@ -50,7 +50,7 @@ namespace EggLink.DanhengServer.Server.Packet.Recv.Battle
triggerBattle = false;
}
if (triggerBattle)
if (!triggerBattle)
{
// didnt hit any target
if (info != null && req.SkillIndex > 0)

View File

@@ -15,7 +15,6 @@ namespace EggLink.DanhengServer.Server.Packet.Send.Avatar
{
BaseAvatarId = (uint)avatarId,
IsNew = true,
Src = AddAvatarSrcState.AddAvatarSrcGacha,
};
SetData(packet);