From 0ad79420ac1888e96de7009ea44bbacb502a41e1 Mon Sep 17 00:00:00 2001 From: Tom <167194956+Dreary@users.noreply.github.com> Date: Tue, 20 Jan 2026 02:03:31 +0000 Subject: [PATCH] Reorder trigger and portal initialization in FieldManager Moved the initialization of triggers and portals to occur after player spawn points are set up --- .../Field/FieldManager/FieldManager.cs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Maple2.Server.Game/Manager/Field/FieldManager/FieldManager.cs b/Maple2.Server.Game/Manager/Field/FieldManager/FieldManager.cs index 43b16d09..d6e8f102 100644 --- a/Maple2.Server.Game/Manager/Field/FieldManager/FieldManager.cs +++ b/Maple2.Server.Game/Manager/Field/FieldManager/FieldManager.cs @@ -160,13 +160,6 @@ public virtual void Init() { new UgcMapGroup.Limits(0, 0, 0, 0, 0, 0))); } - foreach (TriggerModel trigger in Entities.TriggerModels.Values) { - AddTrigger(trigger); - } - foreach (Portal portal in Entities.Portals.Values) { - SpawnPortal(portal); - } - foreach ((Guid guid, BreakableActor breakable) in Entities.BreakableActors) { AddBreakable(guid.ToString("N"), breakable); } @@ -185,6 +178,18 @@ public virtual void Init() { fieldPlayerSpawnPoints[id] = new FieldPlayerSpawnPoint(this, NextLocalId(), spawnPoint); } + foreach (TriggerModel trigger in Entities.TriggerModels.Values) { + AddTrigger(trigger); + } + + foreach (Portal portal in Entities.Portals.Values) { + SpawnPortal(portal); + } + + foreach (FieldTrigger trigger in fieldTriggers.Values) { + trigger.Update(FieldTick); + } + IList bonusMaps = MapMetadata.GetMapsByType(Metadata.Property.Continent, MapType.PocketRealm); foreach (MapMetadataSpawn spawn in Metadata.Spawns) { if (!Entities.RegionSpawns.TryGetValue(spawn.Id, out Ms2RegionSpawn? regionSpawn)) {