Zannick / logic-graph

Tools for video game logic representation and analysis, particularly routing and beatability checks for speedruns and randomizers.
MIT License
3 stars 0 forks source link

Allow setting a max price for movements #165

Open Zannick opened 1 month ago

Zannick commented 1 month ago

Essentially, we want a way to deal with exit movements that have prices with them, and to ignore/drop the exit if its price is larger than the maximum possible. It should be better to not have the exit at all in the graph if it can never be used, but also it doesn't seem great to add the exit, generate the code, check the price, and replace the exit in the yaml with a comment about how it's impossible. So some sort of compromise might be helpful.

Emitting a warning for exceeding the max price and not creating an exit will be useful if the goal is to keep such exits from being defined. This is probably better than silently dropping the exit alone, especially if there are any errors in the exit definition. If we left in the exit, then any error that resulting in the exit being impossible to use can only be tracked down with unittests to explain it, which requires a cargo build and unittests on top of the codegen.