diff --git a/Campofinale/Game/SceneManager.cs b/Campofinale/Game/SceneManager.cs index 31952cc..b689077 100644 --- a/Campofinale/Game/SceneManager.cs +++ b/Campofinale/Game/SceneManager.cs @@ -358,7 +358,7 @@ namespace Campofinale.Game }); GetEntityExcludingChar().ForEach(e => { - GetOwner().Send(new PacketScObjectEnterView(GetOwner(), new List() { e})); + // GetOwner().Send(new PacketScObjectEnterView(GetOwner(), new List() { e})); }); UpdateShowEntities(); @@ -369,7 +369,7 @@ namespace Campofinale.Game { en.spawned = true; List toSpawn = new List(); - toSpawn.Add(en); + if(en.belongLevelScriptId != 0) if (spawnedCheck) { foreach (Entity e in GetEntityExcludingChar().FindAll(e => e.belongLevelScriptId == en.belongLevelScriptId && e.spawned == false)) @@ -387,17 +387,18 @@ namespace Campofinale.Game } } + toSpawn.Add(en); toSpawn.ForEach(e => { - //GetOwner().Send(new PacketScObjectEnterView(GetOwner(), new List() { e})); + GetOwner().Send(new PacketScObjectEnterView(GetOwner(), new List() { e})); }); - UpdateShowEntities(); + } public void UpdateShowEntities() { foreach(Entity en in GetEntityExcludingChar()) { - if (en.Position.Distance(GetOwner().position) < 250) + if (en.Position.Distance(GetOwner().position) < 100) { if (!en.spawned) { diff --git a/Campofinale/Packets/Cs/HandleCsLogin.cs b/Campofinale/Packets/Cs/HandleCsLogin.cs index 195186d..fe8325c 100644 --- a/Campofinale/Packets/Cs/HandleCsLogin.cs +++ b/Campofinale/Packets/Cs/HandleCsLogin.cs @@ -133,8 +133,8 @@ namespace Campofinale.Packets.Cs m.TrackMissionId = ""; - // session.Send(ScMsgId.ScSyncAllMission, m); - session.Send(ScMsgId.ScSyncAllMission, new ScSyncAllMission() + session.Send(ScMsgId.ScSyncAllMission, m); + /*ession.Send(ScMsgId.ScSyncAllMission, new ScSyncAllMission() { NewMissionTags = { @@ -219,10 +219,37 @@ namespace Campofinale.Packets.Cs QuestObjectives = { + } + } }, + {"e0m0_q#6", new Quest() + { + QuestId="e0m0_q#6", + QuestState=(int)QuestState.Available, + QuestObjectives = + { + + } + } }, + {"e0m0_q#7", new Quest() + { + QuestId="e0m0_q#7", + QuestState=(int)QuestState.Available, + QuestObjectives = + { + + } + } }, + {"e0m0_q#8", new Quest() + { + QuestId="e0m0_q#8", + QuestState=(int)QuestState.Available, + QuestObjectives = + { + } } } } - }); + });*/ session.Send(new PacketScGachaSync(session)); ScSettlementSyncAll settlements = new ScSettlementSyncAll() diff --git a/Campofinale/Packets/Cs/HandleCsSceneSetLevelScriptActive.cs b/Campofinale/Packets/Cs/HandleCsSceneSetLevelScriptActive.cs index 21f2384..daab501 100644 --- a/Campofinale/Packets/Cs/HandleCsSceneSetLevelScriptActive.cs +++ b/Campofinale/Packets/Cs/HandleCsSceneSetLevelScriptActive.cs @@ -95,6 +95,33 @@ namespace Campofinale.Packets.Cs QuestState = (int)QuestState.Processing, }); } + if (req.EventName == "#251df3ad") + { + session.Send(ScMsgId.ScQuestStateUpdate, new ScQuestStateUpdate() + { + QuestId = "e0m0_q#5", + QuestState = (int)QuestState.Completed, + }); + session.Send(ScMsgId.ScQuestStateUpdate, new ScQuestStateUpdate() + { + QuestId = "e0m0_q#6", + QuestState = (int)QuestState.Processing, + }); + } + if (req.EventName == "#e6ac322b") + { + session.Send(ScMsgId.ScQuestStateUpdate, new ScQuestStateUpdate() + { + QuestId = "e0m0_q#6", + QuestState = (int)QuestState.Completed, + }); + session.Send(ScMsgId.ScQuestStateUpdate, new ScQuestStateUpdate() + { + QuestId = "e0m0_q#7", + QuestState = (int)QuestState.Processing, + }); + } + ScSceneUpdateLevelScriptProperty update1 = new() { SceneNumId = req.SceneNumId, diff --git a/Campofinale/Packets/Cs/HandleCsSceneSetSafeZone.cs b/Campofinale/Packets/Cs/HandleCsSceneSetSafeZone.cs index bdb0dbe..777c92e 100644 --- a/Campofinale/Packets/Cs/HandleCsSceneSetSafeZone.cs +++ b/Campofinale/Packets/Cs/HandleCsSceneSetSafeZone.cs @@ -12,7 +12,12 @@ namespace Campofinale.Packets.Cs public static void Handle(Player session, CsMsgId cmdId, Packet packet) { CsSceneSetSafeZone req = packet.DecodeBody(); - + ScSceneSetSafeZone rsp = new() + { + Id = req.Id, + InZone = req.InZone, + }; + session.Send(ScMsgId.ScSceneSetSafeZone, rsp); if (req.InZone) { var entity = session.sceneManager.GetEntity(req.Id) as EntityInteractive;