add more options in IntegralExpression

This commit is contained in:
Martin Michelsen
2026-06-13 20:07:23 -07:00
parent 554fc5d208
commit 1737d8abc8
13 changed files with 117 additions and 69 deletions
+22 -22
View File
@@ -1338,35 +1338,35 @@
// doesn't have direct access to the client's quest flags from their save file.
// If you use an expression, the format is the same as the AvailableIf and EnabledIf fields in quest JSONs (see
// system/quests/retrieval/q058.json for details). Note that the expression is only evaluated at the time the game is
// created, and the player-specific tokens like C_EpX_YY refer to the player who created the game.
// created, and the player-specific tokens like CC_EpX_YY refer to the player who created the game.
// The UnlockAllAreas option is now gone; if you want the same behavior as if it were enabled, uncomment all the
// "area unlocks" lines below. Note that some late PSOBB client versions (for example, the Tethealla client) open all
// "area unlock" lines below. Note that some late PSOBB client versions (for example, the Tethealla client) open all
// areas by default, so the area unlock flags have no effect for them.
"QuestFlagRewritesV1V2": {
// "F_0017": true, // Ep1 area unlocks
// "F_0020": true, // Ep1 area unlocks
// "F_002A": true, // Ep1 area unlocks
// "F_0017": true, // Ep1 area unlock (Caves)
// "F_0020": true, // Ep1 area unlock (Mines)
// "F_002A": true, // Ep1 area unlock (Ruins)
},
"QuestFlagRewritesV3": {
// "F_0017": true, // Ep1 area unlocks
// "F_0020": true, // Ep1 area unlocks
// "F_002A": true, // Ep1 area unlocks
// "F_004C": true, // Ep2 area unlocks
// "F_004F": true, // Ep2 area unlocks
// "F_0052": true, // Ep2 area unlocks
// "F_0017": true, // Ep1 area unlock (Caves)
// "F_0020": true, // Ep1 area unlock (Mines)
// "F_002A": true, // Ep1 area unlock (Ruins)
// "F_004C": true, // Ep2 area unlock (VR Spaceship)
// "F_004F": true, // Ep2 area unlock (CCA)
// "F_0052": true, // Ep2 area unlock (Seabed)
},
"QuestFlagRewritesV4": {
// "F_01F9": true, // Ep1 area unlocks
// "F_0201": true, // Ep1 area unlocks
// "F_0207": true, // Ep1 area unlocks
// "F_021B": true, // Ep2 area unlocks
// "F_0225": true, // Ep2 area unlocks
// "F_022F": true, // Ep2 area unlocks
// "F_02BD": true, // Ep4 area unlocks
// "F_02BE": true, // Ep4 area unlocks
// "F_02BF": true, // Ep4 area unlocks
// "F_02C0": true, // Ep4 area unlocks
// "F_02C1": true, // Ep4 area unlocks
// "F_01F9": true, // Ep1 area unlock (Caves)
// "F_0201": true, // Ep1 area unlock (Mines)
// "F_0207": true, // Ep1 area unlock (Ruins)
// "F_021B": true, // Ep2 area unlock (VR Spaceship)
// "F_0225": true, // Ep2 area unlock (CCA)
// "F_022F": true, // Ep2 area unlock (Seabed)
// "F_02BD": true, // Ep4 area unlock (Crater West)
// "F_02BE": true, // Ep4 area unlock (Crater South)
// "F_02BF": true, // Ep4 area unlock (Crater North)
// "F_02C0": true, // Ep4 area unlock (Crater Interior)
// "F_02C1": true, // Ep4 area unlock (Desert)
"F_0046": false, // Ep2 CCA door lock fix
"F_0047": false, // Ep2 CCA door lock fix
"F_0048": false, // Ep2 CCA door lock fix
+4 -1
View File
@@ -5,7 +5,10 @@
// Quests that are considered unavailable don't appear in the quest menu at all. To set a condition for a quest to be
// available, you can set AvailableIf in the quest's JSON file. The value for AvailableIf should be an expression
// that tests any of the following:
// F_XXXX: Quest flag specified in hex (e.g. F_014D)
// P_SID: Current effective section ID for the game; see name_to_section_id in StaticGameData.cc for values
// F_XXXX: Quest flag specified in hex (e.g. F_014D) for the difficulty the player is currently playing in
// F_N_XXXX, F_H_XXXX, F_V_XXXX, F_U_XXXX: Same as F_XXXX, but read from a specific difficulty regardless of which
// difficulty the player is currently playing in
// CC_EpX_Y: Whether or not Challenge stage X in Episode Y is complete (e.g. CC_Ep1_7)
// T_ZZZ: Whether or not the player's BB team has reward with key ZZZ (as defined in TeamRewards in config.json)
// V_NumPlayers: The number of players in the current game