This goes through all rooms and changes "event" nodes to "junction" type, moving their "unlockStrats" into regular strats from the node to itself, using a "setsFlags" strat property to indicate the flags getting set.
The "event" node type is also removed from the schema since this is no longer needed.
A couple related things could be done as a follow-up that aren't included in this PR:
The structure of these rooms could be simplified: in most cases the affected nodes could be deleted, moving their strats to other nodes. But that would require some reworking of the room diagrams and a little more thought room-by-room, whereas this PR is just applying a systematic change.
Strats for gray doors that unlock a flag (e.g. f_ZebesAwake, f_KilledMetroidRoom1) could be migrated in a similar way, allowing us to remove the yields property (which in Map Rando has historically been a big pain point and source of bugs).
This goes through all rooms and changes "event" nodes to "junction" type, moving their "unlockStrats" into regular strats from the node to itself, using a "setsFlags" strat property to indicate the flags getting set.
The "event" node type is also removed from the schema since this is no longer needed.
A couple related things could be done as a follow-up that aren't included in this PR:
f_ZebesAwake
,f_KilledMetroidRoom1
) could be migrated in a similar way, allowing us to remove theyields
property (which in Map Rando has historically been a big pain point and source of bugs).