48 lines
2.8 KiB
C
48 lines
2.8 KiB
C
#ifndef GUARD_CONSTANTS_MAP_SCRIPTS_H
|
|
#define GUARD_CONSTANTS_MAP_SCRIPTS_H
|
|
|
|
/*
|
|
IDs for special scripts that can be run for a particular map.
|
|
For the functions that handle when they are run, see these constants' uses in src/script.c
|
|
|
|
Below describes when a script of this kind will be called, and what it typically does.
|
|
They are numbered in the order that they will be called when entering a map (from a warp or camera transition).
|
|
NOTE: These descriptions are just of what they generally do, not what they always or have to do
|
|
|
|
3. ON_LOAD: Run after the layout is loaded (but not drawn yet).
|
|
Almost exclusively used to set metatiles on the map before it's first drawn
|
|
|
|
6. ON_FRAME_TABLE: Run every frame after the map has faded in, before player input is processed.
|
|
This is a table of scripts; only the first script whose condition is satisfied is run.
|
|
Used to trigger an event, such as the player exiting the cable car or the SS Tidal sailor announcing progress
|
|
|
|
2. ON_TRANSITION: Run during the transition to the map
|
|
Used to set map-specific flags/vars, update object positions/movement types, set weather, etc
|
|
|
|
5. ON_WARP_INTO_MAP_TABLE: Run after the map's objects are loaded.
|
|
This is a table of scripts; only the first script whose condition is satisfied is run.
|
|
Used to add objects to the scene or update something about the player as they warp in (e.g. their facing dir or visibility)
|
|
Note that ON_TRANSITION may also handle object visibility, but would do so by modifying a flag or var
|
|
|
|
4. ON_RESUME: Run at the end of map load, and again any time upon returning to field (e.g. exiting the Bag menu, or finishing a battle)
|
|
Used to hide defeated static pokemon, or maintain some map state (e.g. the Trainer Hill timer, or the cycling road challenge)
|
|
In some maps this takes the metatile setting job of ON_LOAD
|
|
|
|
1. ON_DIVE_WARP: Run after the player chooses to dive/emerge.
|
|
Only used once, to determine whether or not the player should emerge in the Sealed Chamber
|
|
|
|
x. ON_RETURN_TO_FIELD: Run exlusively upon returning to the field, shortly after ON_RESUME (as opposed to ON_RESUME, which also runs once on entering the map)
|
|
Used rarely, when something must only happen on reload (e.g. making sure Mew is above the grass after battling it on Faraway Island)
|
|
|
|
*/
|
|
|
|
#define MAP_SCRIPT_ON_LOAD 1
|
|
#define MAP_SCRIPT_ON_FRAME_TABLE 2
|
|
#define MAP_SCRIPT_ON_TRANSITION 3
|
|
#define MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE 4
|
|
#define MAP_SCRIPT_ON_RESUME 5
|
|
#define MAP_SCRIPT_ON_DIVE_WARP 6
|
|
#define MAP_SCRIPT_ON_RETURN_TO_FIELD 7
|
|
|
|
#endif // GUARD_CONSTANTS_MAP_SCRIPTS_H
|