Currently Open World is a little limited on the number of event flags available to it. For each check you visited, one flag is needed to track that you did the check so the game doesn't give it to you a second time.
When the Open World randomizer runs out of flags, it starts putting "nothing" at checks, since no event flag is needed for this and it can just give you nothing every time.
See EventFlags.cs for an enumeration of flags and what all they are used for. See also OpenWorldPrizes.cs for the injection of most of these into events w/ open world logic.
These event flags have a valid range of 0x00 to 0x0F, and the majority of them currently are only ever 0 or 1. A relatively quick solution to this problem may be to have individual checks use individual bits in this range instead of occupying an entire flag. A couple new event commands would need to be added to support this:
Set / clear event flag 0xMM bit 0xN
Event logic on event flag 0xMM bit 0xN
Check out SellAllGear.cs (along with CustomEventManager.cs) for an easy way to register new event types.
This would not work for checks that require an associated object to disappear (like chests) since map object visibility is defined by an event flag and value range, and cannot currently check a specific bit. Most of these are currently handled with specific event flags and have special logic to handle the disappearance (see definition of chest locations in OpenWorldLocations.cs).
EventFlags.OPENWORLD_ORB_FLAGS should be safe to split this way since they're only used for weapon orbs and gold at non-chest locations. There are like 30 of them, so dividing them into 4 bits for logic should get us plenty of flags to use.
Currently Open World is a little limited on the number of event flags available to it. For each check you visited, one flag is needed to track that you did the check so the game doesn't give it to you a second time.
When the Open World randomizer runs out of flags, it starts putting "nothing" at checks, since no event flag is needed for this and it can just give you nothing every time.
See EventFlags.cs for an enumeration of flags and what all they are used for. See also OpenWorldPrizes.cs for the injection of most of these into events w/ open world logic.
These event flags have a valid range of 0x00 to 0x0F, and the majority of them currently are only ever 0 or 1. A relatively quick solution to this problem may be to have individual checks use individual bits in this range instead of occupying an entire flag. A couple new event commands would need to be added to support this:
Check out SellAllGear.cs (along with CustomEventManager.cs) for an easy way to register new event types.
This would not work for checks that require an associated object to disappear (like chests) since map object visibility is defined by an event flag and value range, and cannot currently check a specific bit. Most of these are currently handled with specific event flags and have special logic to handle the disappearance (see definition of chest locations in OpenWorldLocations.cs).
EventFlags.OPENWORLD_ORB_FLAGS should be safe to split this way since they're only used for weapon orbs and gold at non-chest locations. There are like 30 of them, so dividing them into 4 bits for logic should get us plenty of flags to use.