From 4725519da76b934ba0e17f671e2ea8b8fb29a7ae Mon Sep 17 00:00:00 2001 From: Itred12 Date: Sat, 12 Sep 2026 03:21:08 -0400 Subject: [PATCH 01/14] Added a struct, address, and documentation for the array of starter moves that AddUniqueStarterMoveTo pulls from --- headers/types/common/common.h | 7 +++++++ symbols/arm9.yml | 25 +++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/headers/types/common/common.h b/headers/types/common/common.h index 023156ff..106ce4e7 100644 --- a/headers/types/common/common.h +++ b/headers/types/common/common.h @@ -1758,4 +1758,11 @@ struct effect_control { }; ASSERT_SIZE(struct effect_control, 10148); +// Stores a pair of monster_id_16 to move_id_16, used for granting specific starter pokemon a unique move their line cannot normally learn. +struct unique_starter_move { + struct monster_id_16 starter_id; // The starter whom will learn this move + struct move_id_16 unique_move; // The move to be learned +}; +ASSERT_SIZE(struct unique_starter_move, 4); + #endif diff --git a/symbols/arm9.yml b/symbols/arm9.yml index ba72fb3b..7d0b5494 100644 --- a/symbols/arm9.yml +++ b/symbols/arm9.yml @@ -16997,3 +16997,28 @@ arm9: NA: 0x20B3224 JP: 0x20B4A98 description: "[Runtime] The current PRNG sequence number for the system PRNG. See rand for more information on how the system PRNG works." + - name: STARTER_MOVES_ARRAY + address: + NA: 0x20a3258 + description: |- + An array of eight unique moves given to specific starter pokemon, which their lines cannot normally learn. + + The ninth element is a terminator, containing a blank monster and move ID. + + Notably, all of the listed Pokémon are starters whom have recieved changes in some way in Explorers of Sky. + According to Bulbapedia: Phanphy, Vulpix, Riolu, Eevee, and Shinx are all new hero choices in EoS specifically, + Skitty was modified to be unavalible as a male, + and Meowth and Munchlax were removed from the hero pool altogether, only being partner choices in EoS. + + The moves are as follows: + - Vulpix: Faint Attack + - Eevee: Flail + - Phanphy: Ancient Power + - Shinx: Quick Attack + - Riolu: Bite + - Meowth: Hypnosis + - Munchlax: Zen Headbutt + - Skitty: Zen Headbutt + + + From ba4c3c6353ccbd9936b19fee740bb7b2e21ddbad Mon Sep 17 00:00:00 2001 From: Itred12 Date: Sat, 12 Sep 2026 03:23:19 -0400 Subject: [PATCH 02/14] Fixed formatting in symbols --- symbols/arm9.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/symbols/arm9.yml b/symbols/arm9.yml index 5b13a0a0..fbcde964 100644 --- a/symbols/arm9.yml +++ b/symbols/arm9.yml @@ -17021,14 +17021,9 @@ arm9: NA: 0x20a3258 description: |- An array of eight unique moves given to specific starter pokemon, which their lines cannot normally learn. - + The ninth element is a terminator, containing a blank monster and move ID. - - Notably, all of the listed Pokémon are starters whom have recieved changes in some way in Explorers of Sky. - According to Bulbapedia: Phanphy, Vulpix, Riolu, Eevee, and Shinx are all new hero choices in EoS specifically, - Skitty was modified to be unavalible as a male, - and Meowth and Munchlax were removed from the hero pool altogether, only being partner choices in EoS. - + The moves are as follows: - Vulpix: Faint Attack - Eevee: Flail @@ -17038,6 +17033,13 @@ arm9: - Meowth: Hypnosis - Munchlax: Zen Headbutt - Skitty: Zen Headbutt + + Notably, all of the listed Pokémon are starters whom have recieved changes in some way in Explorers of Sky. + According to Bulbapedia: Phanphy, Vulpix, Riolu, Eevee, and Shinx are all new hero choices in EoS specifically, + Skitty was modified to be unavalible as a male, + and Meowth and Munchlax were removed from the hero pool altogether, only being partner choices in EoS. + + From f48c687041a469b101acb9ab5473dc325d512f0f Mon Sep 17 00:00:00 2001 From: Itred12 Date: Sat, 12 Sep 2026 03:32:06 -0400 Subject: [PATCH 03/14] Moved the symbol to the spot directed by the format check --- symbols/arm9.yml | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/symbols/arm9.yml b/symbols/arm9.yml index fbcde964..f7551f11 100644 --- a/symbols/arm9.yml +++ b/symbols/arm9.yml @@ -15725,6 +15725,28 @@ arm9: NA: 0x4B0 JP: 0x4B0 description: Contains information about the sprite size and sprite file size of each monster + - name: STARTER_MOVES_ARRAY + address: + NA: 0x20a3258 + description: |- + An array of eight unique moves given to specific starter pokemon, which their lines cannot normally learn. + + The ninth element is a terminator, containing a blank monster and move ID. + + The moves are as follows: + - Vulpix: Faint Attack + - Eevee: Flail + - Phanphy: Ancient Power + - Shinx: Quick Attack + - Riolu: Bite + - Meowth: Hypnosis + - Munchlax: Zen Headbutt + - Skitty: Zen Headbutt + + Notably, all of the listed Pokémon are starters whom have recieved changes in some way in Explorers of Sky. + According to Bulbapedia: Phanphy, Vulpix, Riolu, Eevee, and Shinx are all new hero choices in EoS specifically, + Skitty was modified to be unavalible as a male, + and Meowth and Munchlax were removed from the hero pool altogether, only being partner choices in EoS. - name: REMOTE_STRINGS address: EU: 0x20A4140 @@ -17016,28 +17038,6 @@ arm9: NA: 0x20B3224 JP: 0x20B4A98 description: "[Runtime] The current PRNG sequence number for the system PRNG. See rand for more information on how the system PRNG works." - - name: STARTER_MOVES_ARRAY - address: - NA: 0x20a3258 - description: |- - An array of eight unique moves given to specific starter pokemon, which their lines cannot normally learn. - - The ninth element is a terminator, containing a blank monster and move ID. - - The moves are as follows: - - Vulpix: Faint Attack - - Eevee: Flail - - Phanphy: Ancient Power - - Shinx: Quick Attack - - Riolu: Bite - - Meowth: Hypnosis - - Munchlax: Zen Headbutt - - Skitty: Zen Headbutt - - Notably, all of the listed Pokémon are starters whom have recieved changes in some way in Explorers of Sky. - According to Bulbapedia: Phanphy, Vulpix, Riolu, Eevee, and Shinx are all new hero choices in EoS specifically, - Skitty was modified to be unavalible as a male, - and Meowth and Munchlax were removed from the hero pool altogether, only being partner choices in EoS. From b26fa08d1155aa3e0e4effea88382253ec0fa120 Mon Sep 17 00:00:00 2001 From: Itred12 Date: Sat, 12 Sep 2026 03:33:09 -0400 Subject: [PATCH 04/14] Whoops, lol --- symbols/arm9.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/symbols/arm9.yml b/symbols/arm9.yml index f7551f11..915a77a4 100644 --- a/symbols/arm9.yml +++ b/symbols/arm9.yml @@ -15725,7 +15725,7 @@ arm9: NA: 0x4B0 JP: 0x4B0 description: Contains information about the sprite size and sprite file size of each monster - - name: STARTER_MOVES_ARRAY + - name: STARTER_MOVES_ARRAY address: NA: 0x20a3258 description: |- From 1d0832241f3dc0b20182abd236c31c60fde109b4 Mon Sep 17 00:00:00 2001 From: Itred12 Date: Sat, 12 Sep 2026 03:36:55 -0400 Subject: [PATCH 05/14] Not... entirely sure what it means by "clang formatting"...? Does it mean the comments aren't right...? --- headers/types/common/common.h | 6 ++++-- symbols/arm9.yml | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/headers/types/common/common.h b/headers/types/common/common.h index 106ce4e7..a30da6bd 100644 --- a/headers/types/common/common.h +++ b/headers/types/common/common.h @@ -1760,8 +1760,10 @@ ASSERT_SIZE(struct effect_control, 10148); // Stores a pair of monster_id_16 to move_id_16, used for granting specific starter pokemon a unique move their line cannot normally learn. struct unique_starter_move { - struct monster_id_16 starter_id; // The starter whom will learn this move - struct move_id_16 unique_move; // The move to be learned + // 0x0: The starter whom will learn this move + struct monster_id_16 starter_id; + // 0x2: The move to be learned + struct move_id_16 unique_move; }; ASSERT_SIZE(struct unique_starter_move, 4); diff --git a/symbols/arm9.yml b/symbols/arm9.yml index 915a77a4..2aa2df96 100644 --- a/symbols/arm9.yml +++ b/symbols/arm9.yml @@ -15727,7 +15727,7 @@ arm9: description: Contains information about the sprite size and sprite file size of each monster - name: STARTER_MOVES_ARRAY address: - NA: 0x20a3258 + NA: 0x20A3258 description: |- An array of eight unique moves given to specific starter pokemon, which their lines cannot normally learn. From 273562344e062a812c583ad80880e75156aefadd Mon Sep 17 00:00:00 2001 From: Itred12 Date: Sat, 12 Sep 2026 03:37:51 -0400 Subject: [PATCH 06/14] Oh. trailing whitespace. lol. --- headers/types/common/common.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/headers/types/common/common.h b/headers/types/common/common.h index a30da6bd..99b2db69 100644 --- a/headers/types/common/common.h +++ b/headers/types/common/common.h @@ -1761,9 +1761,9 @@ ASSERT_SIZE(struct effect_control, 10148); // Stores a pair of monster_id_16 to move_id_16, used for granting specific starter pokemon a unique move their line cannot normally learn. struct unique_starter_move { // 0x0: The starter whom will learn this move - struct monster_id_16 starter_id; + struct monster_id_16 starter_id; // 0x2: The move to be learned - struct move_id_16 unique_move; + struct move_id_16 unique_move; }; ASSERT_SIZE(struct unique_starter_move, 4); From e21a4e506edcea78d6969399cc8f7f25e2355b3a Mon Sep 17 00:00:00 2001 From: Itred12 Date: Sat, 12 Sep 2026 03:40:50 -0400 Subject: [PATCH 07/14] Actually remembered to give it a header prototype lol --- headers/data/arm9.h | 1 + symbols/arm9.yml | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/headers/data/arm9.h b/headers/data/arm9.h index 6fe662c7..bccc2bfd 100644 --- a/headers/data/arm9.h +++ b/headers/data/arm9.h @@ -187,6 +187,7 @@ extern struct rankup_table_entry RANK_UP_TABLE[13]; extern struct monster_id_16 DS_DOWNLOAD_TEAMS[56]; extern enum monster_id UNOWN_SPECIES_ADDITIONAL_CHARS[28]; extern struct monster_sprite_data_entry MONSTER_SPRITE_DATA[600]; +extern struct unique_starter_move STARTER_MOVES_ARRAY[9]; extern int16_t MISSION_MENU_STRING_IDS_1[8]; extern int16_t MISSION_MENU_STRING_IDS_2[8]; extern struct dungeon_unlock_entry MISSION_DUNGEON_UNLOCK_TABLE[3]; diff --git a/symbols/arm9.yml b/symbols/arm9.yml index 2aa2df96..5e552661 100644 --- a/symbols/arm9.yml +++ b/symbols/arm9.yml @@ -15726,9 +15726,9 @@ arm9: JP: 0x4B0 description: Contains information about the sprite size and sprite file size of each monster - name: STARTER_MOVES_ARRAY - address: + address: NA: 0x20A3258 - description: |- + description: |- An array of eight unique moves given to specific starter pokemon, which their lines cannot normally learn. The ninth element is a terminator, containing a blank monster and move ID. From 5d14963ac05f13dee0f9635f5f115154a5a64e18 Mon Sep 17 00:00:00 2001 From: Itred12 Date: Sat, 12 Sep 2026 03:41:59 -0400 Subject: [PATCH 08/14] Really not too sure what the C header check wants from me --- symbols/arm9.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/symbols/arm9.yml b/symbols/arm9.yml index 5e552661..b13b2294 100644 --- a/symbols/arm9.yml +++ b/symbols/arm9.yml @@ -17037,9 +17037,4 @@ arm9: EU: 0x20B3B68 NA: 0x20B3224 JP: 0x20B4A98 - description: "[Runtime] The current PRNG sequence number for the system PRNG. See rand for more information on how the system PRNG works." - - - - - + description: "[Runtime] The current PRNG sequence number for the system PRNG. See rand for more information on how the system PRNG works." \ No newline at end of file From 3c224b8c72f51d73c0568cd4143205c6dbc7117f Mon Sep 17 00:00:00 2001 From: Itred12 Date: Sat, 12 Sep 2026 03:43:25 -0400 Subject: [PATCH 09/14] Fixed missing newline at the end of arm9.yml --- symbols/arm9.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/symbols/arm9.yml b/symbols/arm9.yml index b13b2294..98367d89 100644 --- a/symbols/arm9.yml +++ b/symbols/arm9.yml @@ -17037,4 +17037,5 @@ arm9: EU: 0x20B3B68 NA: 0x20B3224 JP: 0x20B4A98 - description: "[Runtime] The current PRNG sequence number for the system PRNG. See rand for more information on how the system PRNG works." \ No newline at end of file + description: "[Runtime] The current PRNG sequence number for the system PRNG. See rand for more information on how the system PRNG works." + \ No newline at end of file From 4695886316cee274908837d6f565bf6209cb5744 Mon Sep 17 00:00:00 2001 From: Itred12 Date: Sat, 12 Sep 2026 03:44:17 -0400 Subject: [PATCH 10/14] Ok, DO you or DO YOU NOT want a newline at the end of the yml, make up your mind format-check, lol --- symbols/arm9.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/symbols/arm9.yml b/symbols/arm9.yml index 98367d89..b13b2294 100644 --- a/symbols/arm9.yml +++ b/symbols/arm9.yml @@ -17037,5 +17037,4 @@ arm9: EU: 0x20B3B68 NA: 0x20B3224 JP: 0x20B4A98 - description: "[Runtime] The current PRNG sequence number for the system PRNG. See rand for more information on how the system PRNG works." - \ No newline at end of file + description: "[Runtime] The current PRNG sequence number for the system PRNG. See rand for more information on how the system PRNG works." \ No newline at end of file From d62935b2228de559eff99acb4c051927f794d037 Mon Sep 17 00:00:00 2001 From: Itred12 Date: Sat, 12 Sep 2026 16:50:34 -0400 Subject: [PATCH 11/14] Corrected minor grammatical errors, re-worded the comments on AddUniqueStarterMoveTo and the array it references. --- symbols/arm9.yml | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/symbols/arm9.yml b/symbols/arm9.yml index b13b2294..e6d616ec 100644 --- a/symbols/arm9.yml +++ b/symbols/arm9.yml @@ -11560,21 +11560,15 @@ arm9: address: NA: 0x2053568 description: |- - Grants certain starter Pokemon a unique move that they cannot normally learn. + Grants certain starter pokemon a unique move at the beginning of the game, adding it to the first available slot. - Only called during InitMainTeamAfterQuiz, for both the hero and the partner. + Only called during InitMainTeamAfterQuiz special process, for both the hero and the partner. Will skip granting any move if the target somehow already has four moves. - Gives the following: - - Vulpix: Faint Attack - - Eevee: Flail - - Phanphy: Ancient Power - - Shinx: Quick Attack - - Riolu: Bite - - Meowth: Hypnosis - - Munchlax: Zen Headbutt - - Skitty: Zen Headbutt - r0: pointer to the ground_monster to attempt to grant a move to, as either the hero or the partner. + Most (all?) of the granted moves are "unique" in the sense that they cannot normally be learned by these pokemon. + See pointer to STARTER_MOVES_ARRAY near the end of this function for a full list of the pokemon-move pairs that are used by it. + + r0: pointer to the ground_monster to attempt to grant a move to. Will always be either the hero or the partner. - name: GetLvlUpEntry address: EU: 0x2053B18 @@ -15736,7 +15730,7 @@ arm9: The moves are as follows: - Vulpix: Faint Attack - Eevee: Flail - - Phanphy: Ancient Power + - Phanpy: AncientPower - Shinx: Quick Attack - Riolu: Bite - Meowth: Hypnosis @@ -15747,6 +15741,8 @@ arm9: According to Bulbapedia: Phanphy, Vulpix, Riolu, Eevee, and Shinx are all new hero choices in EoS specifically, Skitty was modified to be unavalible as a male, and Meowth and Munchlax were removed from the hero pool altogether, only being partner choices in EoS. + + NOTE: It's unclear whether these pokemon are able to re-learn these moves at the Electivire link shop if they're forgotten in any way. More research is appreciated. - name: REMOTE_STRINGS address: EU: 0x20A4140 From e9e11f84ce6e188852d6144768785613c2d71a5d Mon Sep 17 00:00:00 2001 From: Itred12 Date: Sat, 12 Sep 2026 16:51:27 -0400 Subject: [PATCH 12/14] the --- symbols/arm9.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/symbols/arm9.yml b/symbols/arm9.yml index e6d616ec..edced168 100644 --- a/symbols/arm9.yml +++ b/symbols/arm9.yml @@ -11562,7 +11562,7 @@ arm9: description: |- Grants certain starter pokemon a unique move at the beginning of the game, adding it to the first available slot. - Only called during InitMainTeamAfterQuiz special process, for both the hero and the partner. + Only called during the InitMainTeamAfterQuiz special process, for both the hero and the partner. Will skip granting any move if the target somehow already has four moves. Most (all?) of the granted moves are "unique" in the sense that they cannot normally be learned by these pokemon. From 065b35c23ae8dcfdd87878310c403a510b07d18d Mon Sep 17 00:00:00 2001 From: Itred12 Date: Sat, 12 Sep 2026 16:58:49 -0400 Subject: [PATCH 13/14] Renamed AddStarterUniqueMove because I'm silly I am quite silly, and only just realized that, indeed, as a few people have told me, these moves are egg moves from the respective pokemon's lines. Clarified comments around the function and the array it references, and re-named the function and the data-type of the array (if that's okay) --- headers/data/arm9.h | 2 +- headers/functions/arm9.h | 2 +- headers/types/common/common.h | 8 ++++---- symbols/arm9.yml | 9 ++++----- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/headers/data/arm9.h b/headers/data/arm9.h index bccc2bfd..d3ab1a7b 100644 --- a/headers/data/arm9.h +++ b/headers/data/arm9.h @@ -187,7 +187,7 @@ extern struct rankup_table_entry RANK_UP_TABLE[13]; extern struct monster_id_16 DS_DOWNLOAD_TEAMS[56]; extern enum monster_id UNOWN_SPECIES_ADDITIONAL_CHARS[28]; extern struct monster_sprite_data_entry MONSTER_SPRITE_DATA[600]; -extern struct unique_starter_move STARTER_MOVES_ARRAY[9]; +extern struct starter_egg_move STARTER_MOVES_ARRAY[9]; extern int16_t MISSION_MENU_STRING_IDS_1[8]; extern int16_t MISSION_MENU_STRING_IDS_2[8]; extern struct dungeon_unlock_entry MISSION_DUNGEON_UNLOCK_TABLE[3]; diff --git a/headers/functions/arm9.h b/headers/functions/arm9.h index bf030462..041f3871 100644 --- a/headers/functions/arm9.h +++ b/headers/functions/arm9.h @@ -1214,7 +1214,7 @@ void SetBaseStatsMovesGroundMonster(struct ground_monster* ground_monster); bool StrcmpMonsterName(char* string, enum monster_id monster_id); void InitializeTeamMemberFromMentry(struct team_member* team_member, struct ground_monster* ground_monster, int32_t slot_index); -void AddUniqueStarterMoveTo(struct ground_monster* ground_monster); +void AddStarterEggMove(struct ground_monster* ground_monster); void GetLvlUpEntry(struct level_up_entry* level_up_entry, enum monster_id monster_id, int level); uint8_t* GetEncodedHalfword(uint8_t* data_ptr, uint16_t* result); int GetEvoFamily(undefined* monster, undefined* evo_family); diff --git a/headers/types/common/common.h b/headers/types/common/common.h index 99b2db69..018fe7f2 100644 --- a/headers/types/common/common.h +++ b/headers/types/common/common.h @@ -1758,13 +1758,13 @@ struct effect_control { }; ASSERT_SIZE(struct effect_control, 10148); -// Stores a pair of monster_id_16 to move_id_16, used for granting specific starter pokemon a unique move their line cannot normally learn. -struct unique_starter_move { +// Stores a pair of monster_id_16 to move_id_16, used for granting specific starter pokemon an egg move from their line. +struct starter_egg_move { // 0x0: The starter whom will learn this move struct monster_id_16 starter_id; // 0x2: The move to be learned - struct move_id_16 unique_move; + struct move_id_16 egg_move_to_grant; }; -ASSERT_SIZE(struct unique_starter_move, 4); +ASSERT_SIZE(struct starter_egg_move, 4); #endif diff --git a/symbols/arm9.yml b/symbols/arm9.yml index edced168..c76ada3b 100644 --- a/symbols/arm9.yml +++ b/symbols/arm9.yml @@ -11556,16 +11556,15 @@ arm9: r0: team_member pointer r1: ground_monster pointer r2: team_member index - - name: AddUniqueStarterMoveTo + - name: AddStarterEggMove address: NA: 0x2053568 description: |- - Grants certain starter pokemon a unique move at the beginning of the game, adding it to the first available slot. + Grants certain starter pokemon an egg move from their line at the beginning of the game, adding it to the first available slot. Only called during the InitMainTeamAfterQuiz special process, for both the hero and the partner. Will skip granting any move if the target somehow already has four moves. - Most (all?) of the granted moves are "unique" in the sense that they cannot normally be learned by these pokemon. See pointer to STARTER_MOVES_ARRAY near the end of this function for a full list of the pokemon-move pairs that are used by it. r0: pointer to the ground_monster to attempt to grant a move to. Will always be either the hero or the partner. @@ -15723,7 +15722,7 @@ arm9: address: NA: 0x20A3258 description: |- - An array of eight unique moves given to specific starter pokemon, which their lines cannot normally learn. + An array of eight egg-moves manually granted to a small handful starter pokemon, used by the function AddStarterEggMove. The ninth element is a terminator, containing a blank monster and move ID. @@ -15742,7 +15741,7 @@ arm9: Skitty was modified to be unavalible as a male, and Meowth and Munchlax were removed from the hero pool altogether, only being partner choices in EoS. - NOTE: It's unclear whether these pokemon are able to re-learn these moves at the Electivire link shop if they're forgotten in any way. More research is appreciated. + MORE RESEARCH REQUIRED: Are these pokemon able to re-learn the egg move they're given if it's forgotten in any way? - name: REMOTE_STRINGS address: EU: 0x20A4140 From 93b604f4f7890cc733674a04305b5b9326ef818a Mon Sep 17 00:00:00 2001 From: Itred12 Date: Sun, 13 Sep 2026 15:11:09 -0400 Subject: [PATCH 14/14] Revised with suggested changes --- headers/types/common/common.h | 3 ++- symbols/arm9.yml | 10 +++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/headers/types/common/common.h b/headers/types/common/common.h index 018fe7f2..6e0a3140 100644 --- a/headers/types/common/common.h +++ b/headers/types/common/common.h @@ -1758,7 +1758,8 @@ struct effect_control { }; ASSERT_SIZE(struct effect_control, 10148); -// Stores a pair of monster_id_16 to move_id_16, used for granting specific starter pokemon an egg move from their line. +// Stores a pair of monster_id_16 to move_id_16. +// Used for granting specific starter pokemon an egg move from their line. struct starter_egg_move { // 0x0: The starter whom will learn this move struct monster_id_16 starter_id; diff --git a/symbols/arm9.yml b/symbols/arm9.yml index c76ada3b..717bf4db 100644 --- a/symbols/arm9.yml +++ b/symbols/arm9.yml @@ -11557,15 +11557,17 @@ arm9: r1: ground_monster pointer r2: team_member index - name: AddStarterEggMove + aliases: + - AddUniqueStarterMoveTo address: NA: 0x2053568 description: |- - Grants certain starter pokemon an egg move from their line at the beginning of the game, adding it to the first available slot. + Grants certain starter Pokemon an egg move from their line at the beginning of the game, adding it to the first available slot. Only called during the InitMainTeamAfterQuiz special process, for both the hero and the partner. Will skip granting any move if the target somehow already has four moves. - See pointer to STARTER_MOVES_ARRAY near the end of this function for a full list of the pokemon-move pairs that are used by it. + See pointer to STARTER_MOVES_ARRAY near the end of this function for a full list of the Pokemon-move pairs that are used by it. r0: pointer to the ground_monster to attempt to grant a move to. Will always be either the hero or the partner. - name: GetLvlUpEntry @@ -15721,6 +15723,8 @@ arm9: - name: STARTER_MOVES_ARRAY address: NA: 0x20A3258 + length: + NA: 0x24 description: |- An array of eight egg-moves manually granted to a small handful starter pokemon, used by the function AddStarterEggMove. @@ -17032,4 +17036,4 @@ arm9: EU: 0x20B3B68 NA: 0x20B3224 JP: 0x20B4A98 - description: "[Runtime] The current PRNG sequence number for the system PRNG. See rand for more information on how the system PRNG works." \ No newline at end of file + description: "[Runtime] The current PRNG sequence number for the system PRNG. See rand for more information on how the system PRNG works."