Thanks! About the attack selection, the only thing in code that determines which attack will be used is a function that picks randomly from an array and avoids duplicates, but its possible that godot's pick random from array method might have some unintended behavior, because it also provides a dedicated rng object for more advanced behavior.