From 24943e339f5a891a39d683b7f613942a47c26416 Mon Sep 17 00:00:00 2001 From: Itred12 Date: Thu, 10 Sep 2026 23:37:53 -0400 Subject: [PATCH 1/4] Add documentation for AddUniqueStarterMoveTo Add documentation for a function I found while poking around InitMainTeamAfterQuiz. It's seemingly responsible for granting specific starter pokemon a unique move that their line wouldn't normally learn. (First time contributing, hoping I didn't miss anything...) --- CREDITS.txt | 1 + headers/functions/arm9.h | 1 + symbols/arm9.yml | 19 +++++++++++++++++++ 3 files changed, 21 insertions(+) diff --git a/CREDITS.txt b/CREDITS.txt index e340c28f..9de599d6 100644 --- a/CREDITS.txt +++ b/CREDITS.txt @@ -38,6 +38,7 @@ other parts of the project, feel free to add yourself to this file! - Chesyon - Xaklor - Caitemis +- Itred12 - The rest of the contributors to Project Pokémon's technical documentation for the NDS Mystery Dungeon games, which can be found here: https://projectpokemon.org/home/docs/mystery-dungeon-nds/ diff --git a/headers/functions/arm9.h b/headers/functions/arm9.h index da8530fc..183b4d55 100644 --- a/headers/functions/arm9.h +++ b/headers/functions/arm9.h @@ -1214,6 +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 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/symbols/arm9.yml b/symbols/arm9.yml index ba72fb3b..f36e36a8 100644 --- a/symbols/arm9.yml +++ b/symbols/arm9.yml @@ -11556,6 +11556,25 @@ arm9: r0: team_member pointer r1: ground_monster pointer r2: team_member index + - name: AddUniqueStarterMoveTo + address: + NA: 0x02053568 + description: |- + Grants certain starter Pokemon a unique move that they cannot normally learn. + + Only called during InitMainTeamAfterQuiz, 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. - name: GetLvlUpEntry address: EU: 0x2053B18 From 56cf54012e59f7ffdbe15a4144e1b9f8754ae707 Mon Sep 17 00:00:00 2001 From: Itred12 Date: Thu, 10 Sep 2026 23:41:57 -0400 Subject: [PATCH 2/4] Fix leading zero in memory address --- symbols/arm9.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/symbols/arm9.yml b/symbols/arm9.yml index f36e36a8..1a1ddce9 100644 --- a/symbols/arm9.yml +++ b/symbols/arm9.yml @@ -11558,7 +11558,7 @@ arm9: r2: team_member index - name: AddUniqueStarterMoveTo address: - NA: 0x02053568 + NA: 0x2053568 description: |- Grants certain starter Pokemon a unique move that they cannot normally learn. From c5dcca87b20568de51881097af1971770d6ef6aa Mon Sep 17 00:00:00 2001 From: Itred12 Date: Thu, 10 Sep 2026 23:43:21 -0400 Subject: [PATCH 3/4] Indentation issue?? --- symbols/arm9.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/symbols/arm9.yml b/symbols/arm9.yml index 1a1ddce9..12157c84 100644 --- a/symbols/arm9.yml +++ b/symbols/arm9.yml @@ -11573,7 +11573,7 @@ arm9: - 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. - name: GetLvlUpEntry address: From 6cfbf9d5b0b53062fe6734781e13d635b8e6f16f Mon Sep 17 00:00:00 2001 From: Itred12 Date: Thu, 10 Sep 2026 23:44:33 -0400 Subject: [PATCH 4/4] Sorry Visual Studio Code keeps eating my indents --- symbols/arm9.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/symbols/arm9.yml b/symbols/arm9.yml index 12157c84..652d901e 100644 --- a/symbols/arm9.yml +++ b/symbols/arm9.yml @@ -11561,7 +11561,7 @@ arm9: NA: 0x2053568 description: |- Grants certain starter Pokemon a unique move that they cannot normally learn. - + Only called during InitMainTeamAfterQuiz, for both the hero and the partner. Will skip granting any move if the target somehow already has four moves. Gives the following: