Show ability num instead of ability id whn picking ability with debug givemon (#9225)

This commit is contained in:
FosterProgramming 2026-02-17 10:50:02 +01:00 committed by GitHub
parent fa52f33ffa
commit 3fca2dbb6d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2425,10 +2425,11 @@ static void DebugAction_Give_Pokemon_SelectShiny(u8 taskId)
} }
} }
static void Debug_Display_Ability(enum Ability abilityId, u32 digit, u8 windowId)//(u32 natureId, u32 digit, u8 windowId) static void Debug_Display_Ability(u32 abilityNum, u32 digit, u8 windowId)//(u32 natureId, u32 digit, u8 windowId)
{ {
enum Ability abilityId = GetAbilityBySpecies(sDebugMonData->species, abilityNum);
StringCopy(gStringVar2, gText_DigitIndicator[digit]); StringCopy(gStringVar2, gText_DigitIndicator[digit]);
ConvertIntToDecimalStringN(gStringVar3, abilityId, STR_CONV_MODE_LEADING_ZEROS, 2); ConvertIntToDecimalStringN(gStringVar3, abilityNum, STR_CONV_MODE_LEFT_ALIGN, 2);
StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15);
u8 *end = StringCopy(gStringVar1, gAbilitiesInfo[abilityId].name); u8 *end = StringCopy(gStringVar1, gAbilitiesInfo[abilityId].name);
WrapFontIdToFit(gStringVar1, end, DEBUG_MENU_FONT, WindowWidthPx(windowId)); WrapFontIdToFit(gStringVar1, end, DEBUG_MENU_FONT, WindowWidthPx(windowId));
@ -2464,8 +2465,7 @@ static void DebugAction_Give_Pokemon_SelectNature(u8 taskId)
gTasks[taskId].tInput = 0; gTasks[taskId].tInput = 0;
gTasks[taskId].tDigit = 0; gTasks[taskId].tDigit = 0;
enum Ability abilityId = GetAbilityBySpecies(sDebugMonData->species, 0); Debug_Display_Ability(0, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId);
Debug_Display_Ability(abilityId, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId);
gTasks[taskId].func = DebugAction_Give_Pokemon_SelectAbility; gTasks[taskId].func = DebugAction_Give_Pokemon_SelectAbility;
} }
@ -2489,8 +2489,7 @@ static void Debug_Display_TeraType(u32 typeId, u32 digit, u8 windowId)
static void DebugAction_Give_Pokemon_SelectAbility(u8 taskId) static void DebugAction_Give_Pokemon_SelectAbility(u8 taskId)
{ {
u8 abilityCount = NUM_ABILITY_SLOTS - 1; //-1 for proper iteration s32 abilityNum = -1;
u8 i = 0;
if (JOY_NEW(DPAD_ANY)) if (JOY_NEW(DPAD_ANY))
{ {
@ -2498,28 +2497,31 @@ static void DebugAction_Give_Pokemon_SelectAbility(u8 taskId)
if (JOY_NEW(DPAD_UP)) if (JOY_NEW(DPAD_UP))
{ {
gTasks[taskId].tInput += sPowersOfTen[gTasks[taskId].tDigit]; abilityNum = gTasks[taskId].tInput + 1;
if (gTasks[taskId].tInput > abilityCount) while (GetSpeciesAbility(sDebugMonData->species, abilityNum) == ABILITY_NONE && abilityNum < NUM_ABILITY_SLOTS)
gTasks[taskId].tInput = abilityCount; {
abilityNum++;
}
} }
if (JOY_NEW(DPAD_DOWN)) if (JOY_NEW(DPAD_DOWN))
{ {
gTasks[taskId].tInput -= sPowersOfTen[gTasks[taskId].tDigit]; abilityNum = gTasks[taskId].tInput - 1;
if (gTasks[taskId].tInput < 0) while (GetSpeciesAbility(sDebugMonData->species, abilityNum) == ABILITY_NONE && abilityNum >= 0)
gTasks[taskId].tInput = 0; {
abilityNum--;
}
} }
while (GetAbilityBySpecies(sDebugMonData->species, gTasks[taskId].tInput - i) == ABILITY_NONE && gTasks[taskId].tInput - i < NUM_ABILITY_SLOTS) if (abilityNum >= 0 && abilityNum < NUM_ABILITY_SLOTS)
{ {
i++; gTasks[taskId].tInput = abilityNum;
Debug_Display_Ability(abilityNum, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId);
} }
enum Ability abilityId = GetAbilityBySpecies(sDebugMonData->species, gTasks[taskId].tInput - i);
Debug_Display_Ability(abilityId, gTasks[taskId].tDigit, gTasks[taskId].tSubWindowId);
} }
if (JOY_NEW(A_BUTTON)) if (JOY_NEW(A_BUTTON))
{ {
sDebugMonData->abilityNum = gTasks[taskId].tInput - i; sDebugMonData->abilityNum = gTasks[taskId].tInput;
gTasks[taskId].tInput = 0; gTasks[taskId].tInput = 0;
gTasks[taskId].tDigit = 0; gTasks[taskId].tDigit = 0;