diff --git a/src/main/java/emu/grasscutter/scripts/SceneScriptManager.java b/src/main/java/emu/grasscutter/scripts/SceneScriptManager.java index 16c322e9a..cb023fc01 100644 --- a/src/main/java/emu/grasscutter/scripts/SceneScriptManager.java +++ b/src/main/java/emu/grasscutter/scripts/SceneScriptManager.java @@ -810,7 +810,8 @@ public class SceneScriptManager { .stream() .filter( t -> - t.getCondition().contains(String.valueOf(params.param1)) + !t.getCondition().isEmpty() && + t.getCondition().substring(29).equals(String.valueOf(params.param1)) && (t.getSource().isEmpty() || t.getSource().equals(params.getEventSource()))) .collect(Collectors.toSet()); diff --git a/src/main/java/emu/grasscutter/scripts/data/SceneTrigger.java b/src/main/java/emu/grasscutter/scripts/data/SceneTrigger.java index e2c50cdb0..f8720dec9 100644 --- a/src/main/java/emu/grasscutter/scripts/data/SceneTrigger.java +++ b/src/main/java/emu/grasscutter/scripts/data/SceneTrigger.java @@ -27,7 +27,7 @@ public final class SceneTrigger { @Override public int hashCode() { - return name.hashCode(); + return (currentGroup.id + name).hashCode(); } @Override