|
@@ -48,7 +48,7 @@ import MapRight from "./map-right.vue";
|
|
|
import { router, setDocTitle } from "@/router";
|
|
|
import { TileType, createMap } from "./";
|
|
|
import { ScenePoint, Scene, scenePoints, scenes } from "@/store/scene";
|
|
|
-import { initRelics, relics } from "@/store/relics";
|
|
|
+import { initRelics, initSelfRelics, relics } from "@/store/relics";
|
|
|
import { computed, onMounted, ref, watchEffect, watch } from "vue";
|
|
|
import { Manage } from "./manage";
|
|
|
|
|
@@ -157,11 +157,15 @@ watch(
|
|
|
([name, rid]) => {
|
|
|
if (["map", "query-map"].includes(name as string)) {
|
|
|
relics.value = undefined;
|
|
|
- initRelics(Number(rid)).finally(() => {
|
|
|
+ const fn = name === "map" ? initSelfRelics : initRelics;
|
|
|
+ fn(Number(rid)).finally(() => {
|
|
|
if (!relics.value) {
|
|
|
router.replace({ name: "relics" });
|
|
|
}
|
|
|
- scenes.value.length && flyScene(scenes.value[0]);
|
|
|
+ const scene = scenes.value.find(
|
|
|
+ (scene) => !scene.scenePos.every((pos) => !pos.pos || pos.pos.length === 0)
|
|
|
+ );
|
|
|
+ scene && flyScene(scene);
|
|
|
});
|
|
|
}
|
|
|
},
|