I'd like a plugin that can reliably choose the bot path for MvM. This should work for any map, custom and official. The idea is that a menu pops up which lists the name of each path and can be selected to activate the nav prefers/avoids, the holograms, and anything else important. This has been tried before but resulted in issues where bots ignored the forced path and went another. I think this is due to the old nav avoids/prefers not being properly disabled and thus confusing the bots. If the plugin is unable to find paths to display, it should give the option to instead trigger the wave_finished_relay to refresh path selection. An alternative I would be satisfied with is to be able to add maps and the names of their paths in a config file to display when the command is triggered. It should not be able to be accessed when a wave starts or while a wave is in progress.
Some information I have that might help is that in every valve made map (except for mannworks and mannhattan) there is a logic_relay named "wave_finished_relay" that, among other things, triggers a logic case (usually named "bombpath_choose_1_case"). It chooses randomly between 2-4 paths, with some maps (e.g. Quetzal
) having 6. This logic_relay is triggered every time a wave ends by the DoneOutput in a popfile. When a path is chosen, there are func_nav_avoid and func_nav_prefer entities that are activated or deactivated to guide the movement of the bomb carrier. Some maps may have different chances per path by duplicating it in the logic case. The prime example of this is decoy, which has a 20% chance for the top left path, 40% chance for the bottom left path, and 40% for the right path. Mannhattan chooses her path differently, which each wave dictating whether bots will flank on all 3 sides to the hatch or only take the center path. This is decided by the InitWaveOutput in the popfile, which triggers as soon as the wave is loaded. I would not bother with Mannhattan as changing the path would be illegitimate.
Open for discussion and clarification privately; my discord is meatloaf97#1367