Create level scoped event flags for trainers and talkers, and integrate trainer battles in the board engine (#30)

This commit is contained in:
xCrystal
2023-11-28 09:44:10 +01:00
parent 2596e3c93e
commit 34d9877a1f
7 changed files with 106 additions and 8 deletions

View File

@@ -1,7 +1,8 @@
; wEventFlags bit flags
const_def
; The first eight flags are reset upon reloading the map
;; The first eight flags are reset upon reloading the map
const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_3
@@ -11,6 +12,43 @@
const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_7
const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_8
if (const_value % 8) != 0
const_value = const_value + 8 - (const_value % 8)
endc
EVENT_TEMPORARY_UNTIL_MAP_RELOAD_FLAGS_END EQU const_value
;; The next flags are reset upon entering a new level (for e.g. trainers)
EVENT_LEVEL_SCOPED_FLAGS_START EQU EVENT_TEMPORARY_UNTIL_MAP_RELOAD_FLAGS_END
const EVENT_LEVEL_SCOPED_1
const EVENT_LEVEL_SCOPED_2
const EVENT_LEVEL_SCOPED_3
const EVENT_LEVEL_SCOPED_4
const EVENT_LEVEL_SCOPED_5
const EVENT_LEVEL_SCOPED_6
const EVENT_LEVEL_SCOPED_7
const EVENT_LEVEL_SCOPED_8
const EVENT_LEVEL_SCOPED_9
const EVENT_LEVEL_SCOPED_10
const EVENT_LEVEL_SCOPED_11
const EVENT_LEVEL_SCOPED_12
const EVENT_LEVEL_SCOPED_13
const EVENT_LEVEL_SCOPED_14
const EVENT_LEVEL_SCOPED_15
const EVENT_LEVEL_SCOPED_16
const EVENT_LEVEL_SCOPED_17
const EVENT_LEVEL_SCOPED_18
const EVENT_LEVEL_SCOPED_19
const EVENT_LEVEL_SCOPED_20
if (const_value % 8) != 0
const_value = const_value + 8 - (const_value % 8)
endc
EVENT_LEVEL_SCOPED_FLAGS_END EQU const_value
;; The remaining flags are only reset explicitly
EVENT_REGULAR_FLAGS_START EQU EVENT_LEVEL_SCOPED_FLAGS_END
const EVENT_INITIALIZED_EVENTS
; Decorations