diff --git a/src/main/java/noppes/npcs/controllers/data/action/Action.java b/src/main/java/noppes/npcs/controllers/data/action/Action.java index 8e3f916f3..9ab3fbf08 100644 --- a/src/main/java/noppes/npcs/controllers/data/action/Action.java +++ b/src/main/java/noppes/npcs/controllers/data/action/Action.java @@ -365,6 +365,9 @@ public class Action implements IAction { } @Override public IAction after(IAction after) { + if (after instanceof IConditionalAction) + return conditional((IConditionalAction) after); + int idx = manager.getIndex(this); if (idx >= 0) manager.scheduleActionAt(idx + 1, after); @@ -403,6 +406,9 @@ public class Action implements IAction { @Override public IAction before(IAction before) { + if (before instanceof IConditionalAction) + return conditional((IConditionalAction) before); + int idx = manager.getIndex(this); if (idx >= 0) manager.scheduleActionAt(Math.max(0, idx), before); diff --git a/src/main/java/noppes/npcs/controllers/data/action/ActionManager.java b/src/main/java/noppes/npcs/controllers/data/action/ActionManager.java index 72ea15555..3e2dc4bc4 100644 --- a/src/main/java/noppes/npcs/controllers/data/action/ActionManager.java +++ b/src/main/java/noppes/npcs/controllers/data/action/ActionManager.java @@ -101,6 +101,9 @@ public class ActionManager implements IActionManager { @Override public IAction schedule(IAction action) { + if (action instanceof IConditionalAction) + return schedule((IConditionalAction) action); + Action act = (Action) action; if (act.unscheduledBefore != null) act.scheduleAllBefore(actionQueue);