fix(scene): unlock teleport pillars on maps missing from mapDefaultEntranceMap

The user report: pillars visible on the map but locked, and clicking a
teleport does nothing (client never sends EnterScene).

Root cause: mapDefaultEntranceMap covers only 115 of 371 floors - the
GetSceneMapInfo reply had no unlocked teleports for the missing floors
(mostly new-region 2xxxxx maps), so the client locked the pillars and
never initiated the teleport.

- findEntryForFloor: resolve entry by searching config names P*_F<floor>
  directly, with mapDefaultEntranceMap as the first chance
- GetSceneMapInfo: use the new resolver and merge teleports.json keys
  into unlocked_teleport_list for every floor
- EnterScene: floor ids resolve through the same path; a teleport id
  arriving via scene_identifier (MDAIDPPKOPO.PLIDNBMCIJH) now also
  resolves the destination entry
- loadScene: exact teleport position from teleports.json when the res
  config has no inline teleport with that id
This commit is contained in:
CAtlas0784 committed 2026-10-07 01:45:56 +07:00
1 parent 72861c3028
commit d364b9616f
4 files changed
+90 -12

No files matched your search

+7 -7
View File
@@ -6,15 +6,15 @@
"3": 1004
},
"position": {
"x": -92,
"y": 4278,
"z": 68083,
"rot_y": 155566
"x": 780,
"y": -153008,
"z": -621450,
"rot_y": 0
},
"scene": {
"plane_id": 10202,
"floor_id": 10202001,
"entry_id": 102020107
"plane_id": 30141,
"floor_id": 30141001,
"entry_id": 3014101
},
"main_character": "FemaleHarmony",
"march_type": "MarchHunt",