¡Muy buenas! Como bien te han dicho, con flags y variables puedes hacer que suceda un evento u otro, básicamente una estructura condicional.
Esto es muy usado en los juegos originales y en la programación en general. Cuando eliges a tu pokémon inicial, por ejemplo, ¿has notado que tu rival escoge uno diferente según el que hayas elegido tú? Pues ese tipo de estructuras lógicas puedes aplicarlas a cualquier evento del juego.
Código:
si PLAYER_ELIGIÓ_A_CHARMANDER -> RIVAL_ELIGE_A_SQUIRTLE
si PLAYER_ELIGIÓ_A_SQUIRTLE -> RIVAL_ELIGE_A_BULBASAUR
si PLAYER_ELIGIÓ_A_BULBASAUR -> RIVAL_ELIGE_A_CHARMANDER
Para aprender más sobre scripts, puedes revisar
el tutorial de xabi (variables y flags) o
la wiki de decomp (call_if y goto_if y las secciones de variables y flags)