mirror of
https://github.com/EggLinks/DanhengServer-OpenSource.git
synced 2026-01-02 20:26:03 +08:00
Fix a bug about mission
- Incorrect mission info in SceneInfo
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace EggLink.DanhengServer.Game.Scene.Entity
|
||||
}
|
||||
|
||||
// save
|
||||
if (Group.SaveType != SaveTypeEnum.Save)
|
||||
if (Group.SaveType == SaveTypeEnum.Reset)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -15,7 +15,6 @@ namespace EggLink.DanhengServer.Server.Packet.Send.Avatar
|
||||
{
|
||||
BaseAvatarId = (uint)avatarId,
|
||||
IsNew = true,
|
||||
Src = AddAvatarSrcState.AddAvatarSrcGacha,
|
||||
};
|
||||
|
||||
SetData(packet);
|
||||
|
||||
Reference in New Issue
Block a user