OpenFusionProject/OpenFusion

The Pathing Refactor (TM)

yungcomputerchair opened this issue · 0 comments

Per our earlier discussion, the new pathing system is pretty much the only thing in the way of full feature completion.

Here were our general thoughts:

  • We should bring back static NPC IDs, and keep dynamic IDs reserved for things like summoned/instanced NPCs (see this tabledata issue)
  • Regarding paths.json, skyway and slider sections will likely remain unchanged. As for the static NPC paths, I'm thinking the following:
    • Allow linkage to BOTH NPC IDs AND NPC types. Would require two fields. Best of both worlds.
    • Make the identifier fields arrays so you can apply a path to multiple different IDs and types.
    • Add either a flag or a couple fields that
      • mark the path as relative to NPC spawn point or absolute world coordinates
      • mark whether or not the path is a cycle, i.e. should be repeated eternally (always true unless it's an escort path?)
      • mark whether the path is an escort mission path (this might not be necessary if we get creative with stop)
    • Merge npc and mob sections. Those shouldn't be separate since they are virtually identical
  • Add some commands to allow dynamic path construction in-game for stuff like summoned mobs, similar to /mss stuff
  • From what I understand, the NPCs that you escort in escort missions are separate types from the static versions in the game world. If this is true, we can practically plug-and-play a static path to these suckers and call it a day with minimal extra logic. If not.... well, we'll figure it out.

Feel free to add anything I missed. I'll try and knock this out ASAP.