Flags can be manipulated with the opcode:
Set Flag|[Group], [ID], [State]
Flags may be checked with the op code:
Check Flag A|[Group], [ID], [Comparison], [State]
Verify that flags are always referenced as 0 and 1
Flags operate on a truthy value system, where 0 is false/disabled, and any other value is true/enabled.
Flags seem to be global, so setting a flag in one script will keep it set to that elsewhere.
Checking flags is usually used to ensure a one time event isn't repeated, or that once something is "obtained" that it stays obtained.
To check a flag, use the op code above, followed by a
End Flag Check
There are two forms of comparison currently documented - equal, and not equal.
These do as they say on the tin. The "equal" comparison checks if the current value for the flag equals the value provided for the check, and the "not equal" comparison checks if the value does not equal the provided one.
To signify an equals check, the comparison value should be set to 1, while "not equal" comparisons should use 0.
Important flags to find:
|Needs testing in DR2|
This information has only been researched in Danganronpa: Trigger Happy Havoc and requires testing in Danganronpa 2: Goodbye Despair
|Flag Group||Flag ID||Flag Name||Notes|
|0||4||eHandbook and Transcript||None|
|0||6||Unknown, likely handbook related||None|
|1||0 -> 8||Unlocks different maps in the handbook||None|
|15||32||Unknown||This flag is set to 0 in many places however never gets set to 1. Effects unknown, setting it to 1 doesn't seem to do anything. I think perhaps this flag is automatically set to 1 every something happens and setting it to 0 disables something but I'm not sure.|