GameDataMgr: Difference between revisions
→Reset process
imported>Leoetlino |
imported>Leoetlino |
||
Line 71: | Line 71: | ||
== Reset process == | == Reset process == | ||
All game data flags for which <code>(1 << resetType) & resetFlags</code> is true are reset to their initial values. | |||
TriggerParam::reset processes up to 1024 flags at a time. The function returns the number of remaining flags to reset and flag 0x08 (GameDataMgr::Flags_NeedReset) is only cleared when all flags have been reset. | |||
== bool and s32 flags with reset type 3 == | |||
bool and s32 flags with reset type 3, and with a flag name hash that is listed in ShopAreaInfo (in [[ShopGameDataInfo.byml]]) receive special treatment. | |||
If: | |||
* the player is in none of the shop areas that are associated with the flag (or in the Dealer's area for area-less flags); or if the player is not on MainField | |||
* '''and''', for items with the <code>Arrow</code> tag: if the player has fewer than {itemSaleRevivalCount} arrows in their inventory | |||
Then: | |||
* The flag is reset to its initial value. | |||
* For bool flags: All associated sold out flags are reset to their initial values. | |||
[[Category: Internals]] | [[Category: Internals]] | ||
[[Category: Subsystems (BotW)]] | [[Category: Subsystems (BotW)]] |