Example: SCRIPT constraint https://eternagame.org/scripts/9794456 in puzzle https://eternagame.org/puzzles/9818702
I believe I broke this in #778, which was actually intending to fix this use case. I believe what's happening is that runScriptInternal is adding a new method to the existing context which is being passed in, which means the end_<sid> method is being overridden, so complete for the first script constraint execution is never called, meaning we wind up in an invalid state with an extra context, etc... All sorts of badness. This should be easily fixable by pushing two contexts, first the one which is passed in, and then the second that just has the new method we need.
Example: SCRIPT constraint https://eternagame.org/scripts/9794456 in puzzle https://eternagame.org/puzzles/9818702
I believe I broke this in #778, which was actually intending to fix this use case. I believe what's happening is that runScriptInternal is adding a new method to the existing context which is being passed in, which means the
end_<sid>method is being overridden, socompletefor the first script constraint execution is never called, meaning we wind up in an invalid state with an extra context, etc... All sorts of badness. This should be easily fixable by pushing two contexts, first the one which is passed in, and then the second that just has the new method we need.