Use scene types instead of hardcoding scene ids for checking enter reason

This commit is contained in:
Melledy 2022-05-13 16:35:03 -07:00
parent 82698d5623
commit 248b655f07

View File

@ -10,6 +10,7 @@ import emu.grasscutter.game.player.Player;
import emu.grasscutter.game.player.Player.SceneLoadState; import emu.grasscutter.game.player.Player.SceneLoadState;
import emu.grasscutter.game.props.EnterReason; import emu.grasscutter.game.props.EnterReason;
import emu.grasscutter.game.props.EntityIdType; import emu.grasscutter.game.props.EntityIdType;
import emu.grasscutter.game.props.SceneType;
import emu.grasscutter.data.GameData; import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.DungeonData; import emu.grasscutter.data.def.DungeonData;
import emu.grasscutter.data.def.SceneData; import emu.grasscutter.data.def.SceneData;
@ -267,10 +268,8 @@ public class World implements Iterable<Player> {
enterReason = EnterReason.DungeonEnter; enterReason = EnterReason.DungeonEnter;
} else if (oldScene == newScene) { } else if (oldScene == newScene) {
enterType = EnterType.ENTER_GOTO; enterType = EnterType.ENTER_GOTO;
} } else if (newScene.getSceneType() == SceneType.SCENE_HOME_WORLD) {
// Home // Home
if (2001 <= newScene.getId() && newScene.getId() <= 2004) {
enterType = EnterType.ENTER_SELF_HOME; enterType = EnterType.ENTER_SELF_HOME;
} }