Mirror pokeemerald PR#1329 & PR#1335 to pokefirered

The `giftRibbons` field in `SaveBlock1` has been split out into proper subfields. The new ExternalEvent structs deal with interconnectivity between external games/peripherals and FRLG. US & JP Colosseum Bonus Discs', Colosseum and XD's, Pokémon Channel's, and PokémonBox: Ruby & Sapphire's interactions with these fields has been documented.

The `giftRibbon#` fields in `PokemonSubstruct3` have also been renamed to their appropriate ribbons, and commented with distribution info if applicable. The previous `fatefulEncounter` field was actually filler, and relabeled as such, while the `obedient` bit was renamed `eventLegal`. All relevant constants and functions dealing with the Pokémon data structure were renamed with these changes in mind.

I still maintain that `eventLegal` is a misnomer and it should be called `fatefulEncounter` in all three repos.
This commit is contained in:
Deokishisu
2021-02-16 16:56:31 -05:00
parent bc4f88d72c
commit 57e3f5e0f8
20 changed files with 178 additions and 129 deletions
+5 -4
View File
@@ -1394,14 +1394,15 @@
.4byte \value
.endm
@ Makes the Pokemon in the specified slot of the player's party obedient. It will not randomly disobey orders in battle.
.macro setmonobedient slot:req
@ Sets the Pokemon in the specified slot of the player party's eventLegal bit.
.macro setmoneventlegal slot:req
.byte 0xcd
.2byte \slot
.endm
@ Checks if the Pokemon in the specified slot of the player's party is obedient. If the Pokemon is disobedient, VAR_RESULT is TRUE. If the Pokemon is obedient (or if the specified slot is empty or invalid), VAR_RESULT is FALSE.
.macro checkmonobedience slot:req
@ Checks if the Pokemon in the specified slot of the player's party has its eventLegal bit set. If it isn't set,
@ VAR_RESULT is TRUE. If the bit is set (or if the specified slot is empty or invalid), VAR_RESULT is FALSE.
.macro checkmoneventlegal slot:req
.byte 0xce
.2byte \slot
.endm