Fix StoryLine

This commit is contained in:
Somebody
2024-08-05 10:49:14 +08:00
parent fdd700bc06
commit de9b6db0c5
3 changed files with 10 additions and 4 deletions

View File

@@ -28,7 +28,6 @@ using EggLink.DanhengServer.GameServer.Game.Scene.Entity;
using EggLink.DanhengServer.GameServer.Game.Shop;
using EggLink.DanhengServer.GameServer.Game.Task;
using EggLink.DanhengServer.GameServer.Server;
using EggLink.DanhengServer.GameServer.Server.Packet;
using EggLink.DanhengServer.GameServer.Server.Packet.Send.Avatar;
using EggLink.DanhengServer.GameServer.Server.Packet.Send.Lineup;
using EggLink.DanhengServer.GameServer.Server.Packet.Send.Player;
@@ -471,6 +470,12 @@ public class PlayerInstance(PlayerData data)
var floorSavedKey = prop.PropInfo.Name.Replace("Controller_", "");
var key = $"FSV_ML{floorSavedKey}{(config.TargetState == PropStateEnum.Open ? "Started" : "Complete")}";
if (prop.Group.GroupName.Contains("JigsawPuzzle") && prop.Group.GroupName.Contains("MainLine"))
{
var splits = prop.Group.GroupName.Split('_');
key = $"JG_ML_{splits[3]}_Puzzle{(config.TargetState == PropStateEnum.Open ? "Started" : "Complete")}";
}
if (SceneInstance?.FloorInfo?.SavedValues.Find(x => x.Name == key) != null)
{
// should save

View File

@@ -55,7 +55,8 @@ public class SceneInstance
FloorId = (uint)FloorId,
EntryId = (uint)EntryId,
SceneMissionInfo = new MissionStatusBySceneInfo(),
DimensionId = (uint)(EntityLoader is StoryLineEntityLoader loader ? loader.DimensionId : 0)
DimensionId = (uint)(EntityLoader is StoryLineEntityLoader loader ? loader.DimensionId : 0),
GameStoryLineId = (uint)(Player.StoryLineManager?.StoryLineData.CurStoryLineId ?? 0),
};
var playerGroupInfo = new SceneEntityGroupInfo(); // avatar group

View File

@@ -24,8 +24,8 @@ public class PacketGetSceneMapInfoScRsp : BasePacket
{
EntryId = entry,
EntryStoryLineId = (uint)(player.StoryLineManager?.StoryLineData.CurStoryLineId ?? 0),
DimensionId = (uint)(player.SceneInstance?.EntityLoader is StoryLineEntityLoader loader ? loader.DimensionId
: 0)
//DimensionId = (uint)(player.SceneInstance?.EntityLoader is StoryLineEntityLoader loader ? loader.DimensionId
// : 0)
};
GameData.MapEntranceData.TryGetValue((int)entry, out var mapData);
if (mapData == null)