some fixes

This commit is contained in:
ghoulslash 2021-11-09 09:06:47 -05:00
parent fdaa979bd6
commit 9c4d5743d8
2 changed files with 21 additions and 16 deletions

View file

@ -141,7 +141,7 @@ static u8 DexNavGetAbilityNum(u16 species, u8 searchLevel);
static u8 DexNavGeneratePotential(u8 searchLevel); static u8 DexNavGeneratePotential(u8 searchLevel);
static u8 DexNavTryGenerateMonLevel(u16 species, u8 environment); static u8 DexNavTryGenerateMonLevel(u16 species, u8 environment);
static u8 GetEncounterLevelFromMapData(u16 species, u8 environment); static u8 GetEncounterLevelFromMapData(u16 species, u8 environment);
static void CreateDexNavWildMon(u16 species, u8 potential, u8 level, u8 abilityNum, u16* moves); static void CreateDexNavWildMon(u16 species, u8 potential, u8 level, u8 abilityNum, u16 item, u16* moves);
static u8 GetPlayerDistance(s16 x, s16 y); static u8 GetPlayerDistance(s16 x, s16 y);
static u8 DexNavPickTile(u8 environment, u8 xSize, u8 ySize, bool8 smallScan); static u8 DexNavPickTile(u8 environment, u8 xSize, u8 ySize, bool8 smallScan);
static void DexNavProximityUpdate(void); static void DexNavProximityUpdate(void);
@ -490,19 +490,19 @@ static void AddSearchWindowText(u16 species, u8 proximity, u8 searchLevel, bool8
if (hidden) if (hidden)
{ {
StringCopy(gStringVar4, sText_ThreeQmarks); StringCopy(gStringVar4, sText_ThreeQmarks);
AddTextPrinterParameterized3(sDexNavSearchDataPtr->windowId, 0, WINDOW_COL_0, 0, sSearchFontColor, TEXT_SPEED_FF, gStringVar4); AddTextPrinterParameterized3(sDexNavSearchDataPtr->windowId, 0, WINDOW_COL_0, 0, sSearchFontColor, TEXT_SKIP_DRAW, gStringVar4);
return; return;
} }
else else
{ {
StringCopy(gStringVar1, gSpeciesNames[species]); StringCopy(gStringVar1, gSpeciesNames[species]);
AddTextPrinterParameterized3(sDexNavSearchDataPtr->windowId, 0, WINDOW_COL_0, 0, sSearchFontColor, TEXT_SPEED_FF, gStringVar1); AddTextPrinterParameterized3(sDexNavSearchDataPtr->windowId, 0, WINDOW_COL_0, 0, sSearchFontColor, TEXT_SKIP_DRAW, gStringVar1);
} }
//level - always present //level - always present
ConvertIntToDecimalStringN(gStringVar1, sDexNavSearchDataPtr->monLevel, STR_CONV_MODE_LEFT_ALIGN, 3); ConvertIntToDecimalStringN(gStringVar1, sDexNavSearchDataPtr->monLevel, STR_CONV_MODE_LEFT_ALIGN, 3);
StringExpandPlaceholders(gStringVar4, sText_MonLevel); StringExpandPlaceholders(gStringVar4, sText_MonLevel);
AddTextPrinterParameterized3(sDexNavSearchDataPtr->windowId, 0, WINDOW_COL_1, 0, sSearchFontColor, TEXT_SPEED_FF, gStringVar4); AddTextPrinterParameterized3(sDexNavSearchDataPtr->windowId, 0, WINDOW_COL_1, 0, sSearchFontColor, TEXT_SKIP_DRAW, gStringVar4);
if (proximity <= SNEAKING_PROXIMITY) if (proximity <= SNEAKING_PROXIMITY)
{ {
@ -512,21 +512,21 @@ static void AddSearchWindowText(u16 species, u8 proximity, u8 searchLevel, bool8
{ {
StringCopy(gStringVar1, gMoveNames[sDexNavSearchDataPtr->moves[0]]); StringCopy(gStringVar1, gMoveNames[sDexNavSearchDataPtr->moves[0]]);
StringExpandPlaceholders(gStringVar4, sText_EggMove); StringExpandPlaceholders(gStringVar4, sText_EggMove);
AddTextPrinterParameterized3(windowId, 0, WINDOW_MOVE_NAME_X, 0, sSearchFontColor, TEXT_SPEED_FF, gStringVar4); AddTextPrinterParameterized3(windowId, 0, WINDOW_MOVE_NAME_X, 0, sSearchFontColor, TEXT_SKIP_DRAW, gStringVar4);
} }
if (searchLevel > 2) if (searchLevel > 2)
{ {
// ability name // ability name
StringCopy(gStringVar1, gAbilityNames[GetAbilityBySpecies(species, sDexNavSearchDataPtr->abilityNum)]); StringCopy(gStringVar1, gAbilityNames[GetAbilityBySpecies(species, sDexNavSearchDataPtr->abilityNum)]);
AddTextPrinterParameterized3(windowId, 0, WINDOW_COL_1 + 16, 12, sSearchFontColor, TEXT_SPEED_FF, gStringVar1); AddTextPrinterParameterized3(windowId, 0, WINDOW_COL_1 + 16, 12, sSearchFontColor, TEXT_SKIP_DRAW, gStringVar1);
// item name // item name
if (sDexNavSearchDataPtr->heldItem) if (sDexNavSearchDataPtr->heldItem)
{ {
CopyItemName(sDexNavSearchDataPtr->heldItem, gStringVar1); CopyItemName(sDexNavSearchDataPtr->heldItem, gStringVar1);
StringExpandPlaceholders(gStringVar4, sText_HeldItem); StringExpandPlaceholders(gStringVar4, sText_HeldItem);
AddTextPrinterParameterized3(windowId, 0, WINDOW_COL_0, 12, sSearchFontColor, TEXT_SPEED_FF, gStringVar4); AddTextPrinterParameterized3(windowId, 0, WINDOW_COL_0, 12, sSearchFontColor, TEXT_SKIP_DRAW, gStringVar4);
} }
} }
} }
@ -537,7 +537,7 @@ static void AddSearchWindowText(u16 species, u8 proximity, u8 searchLevel, bool8
StringExpandPlaceholders(gStringVar4, sText_DexNavChainLong); StringExpandPlaceholders(gStringVar4, sText_DexNavChainLong);
else else
StringExpandPlaceholders(gStringVar4, sText_DexNavChain); StringExpandPlaceholders(gStringVar4, sText_DexNavChain);
AddTextPrinterParameterized3(windowId, 0, SEARCH_ARROW_X - 16, 12, sSearchFontColor, TEXT_SPEED_FF, gStringVar4); AddTextPrinterParameterized3(windowId, 0, SEARCH_ARROW_X - 16, 12, sSearchFontColor, TEXT_SKIP_DRAW, gStringVar4);
CopyWindowToVram(sDexNavSearchDataPtr->windowId, 2); CopyWindowToVram(sDexNavSearchDataPtr->windowId, 2);
} }
@ -937,7 +937,7 @@ static void DexNavUpdateDirectionArrow(void)
str = sText_ArrowDown; //player above str = sText_ArrowDown; //player above
} }
AddTextPrinterParameterized3(windowId, 1, SEARCH_ARROW_X, SEARCH_ARROW_Y, sSearchFontColor, TEXT_SPEED_FF, str); AddTextPrinterParameterized3(windowId, 1, SEARCH_ARROW_X, SEARCH_ARROW_Y, sSearchFontColor, TEXT_SKIP_DRAW, str);
CopyWindowToVram(windowId, 2); CopyWindowToVram(windowId, 2);
} }
@ -1100,7 +1100,7 @@ static void Task_DexNavSearch(u8 taskId)
if (sDexNavSearchDataPtr->proximity < 1) if (sDexNavSearchDataPtr->proximity < 1)
{ {
CreateDexNavWildMon(sDexNavSearchDataPtr->species, sDexNavSearchDataPtr->potential, sDexNavSearchDataPtr->monLevel, CreateDexNavWildMon(sDexNavSearchDataPtr->species, sDexNavSearchDataPtr->potential, sDexNavSearchDataPtr->monLevel,
sDexNavSearchDataPtr->abilityNum, sDexNavSearchDataPtr->moves); sDexNavSearchDataPtr->abilityNum, sDexNavSearchDataPtr->heldItem, sDexNavSearchDataPtr->moves);
FlagClear(FLAG_SYS_DEXNAV_SEARCH); FlagClear(FLAG_SYS_DEXNAV_SEARCH);
gDexnavBattle = TRUE; gDexnavBattle = TRUE;
@ -1209,7 +1209,7 @@ static void DexNavUpdateSearchWindow(u8 proximity, u8 searchLevel)
////////////////////////////// //////////////////////////////
//// DEXNAV MON GENERATOR //// //// DEXNAV MON GENERATOR ////
////////////////////////////// //////////////////////////////
static void CreateDexNavWildMon(u16 species, u8 potential, u8 level, u8 abilityNum, u16* moves) static void CreateDexNavWildMon(u16 species, u8 potential, u8 level, u8 abilityNum, u16 item, u16* moves)
{ {
struct Pokemon* mon = &gEnemyParty[0]; struct Pokemon* mon = &gEnemyParty[0];
u8 iv[3]; u8 iv[3];
@ -1238,6 +1238,10 @@ static void CreateDexNavWildMon(u16 species, u8 potential, u8 level, u8 abilityN
//Set ability //Set ability
SetMonData(mon, MON_DATA_ABILITY_NUM, &abilityNum); SetMonData(mon, MON_DATA_ABILITY_NUM, &abilityNum);
// Set Held Item
if (item)
SetMonData(mon, MON_DATA_HELD_ITEM, &item);
//Set moves //Set moves
for (i = 0; i < MAX_MON_MOVES; i++) for (i = 0; i < MAX_MON_MOVES; i++)
SetMonMoveSlot(mon, moves[i], i); SetMonMoveSlot(mon, moves[i], i);
@ -2205,13 +2209,13 @@ static void PrintSearchableSpecies(u16 species)
PutWindowTilemap(WINDOW_REGISTERED); PutWindowTilemap(WINDOW_REGISTERED);
if (species == SPECIES_NONE) if (species == SPECIES_NONE)
{ {
AddTextPrinterParameterized3(WINDOW_REGISTERED, 1, 0, 0, sFontColor_White, TEXT_SPEED_FF, sText_DexNav_PressRToRegister); AddTextPrinterParameterized3(WINDOW_REGISTERED, 1, 0, 0, sFontColor_White, TEXT_SKIP_DRAW, sText_DexNav_PressRToRegister);
} }
else else
{ {
StringCopy(gStringVar1, gSpeciesNames[species]); StringCopy(gStringVar1, gSpeciesNames[species]);
StringExpandPlaceholders(gStringVar4, sText_DexNav_SearchForRegisteredSpecies); StringExpandPlaceholders(gStringVar4, sText_DexNav_SearchForRegisteredSpecies);
AddTextPrinterParameterized3(WINDOW_REGISTERED, 1, 0, 0, sFontColor_White, TEXT_SPEED_FF, gStringVar4); AddTextPrinterParameterized3(WINDOW_REGISTERED, 1, 0, 0, sFontColor_White, TEXT_SKIP_DRAW, gStringVar4);
} }
PrintMapName(); PrintMapName();
@ -2645,11 +2649,11 @@ static void DrawSearchIcon(void)
static void DrawHiddenSearchWindow(u8 width) static void DrawHiddenSearchWindow(u8 width)
{ {
AddSearchWindow(width); AddSearchWindow(width);
AddTextPrinterParameterized3(sDexNavSearchDataPtr->windowId, 0, SPECIES_ICON_X + 4, 0, sSearchFontColor, TEXT_SPEED_FF, sText_ThreeQmarks); AddTextPrinterParameterized3(sDexNavSearchDataPtr->windowId, 0, SPECIES_ICON_X + 4, 0, sSearchFontColor, TEXT_SKIP_DRAW, sText_ThreeQmarks);
ConvertIntToDecimalStringN(gStringVar1, sDexNavSearchDataPtr->searchLevel, STR_CONV_MODE_LEFT_ALIGN, 2); ConvertIntToDecimalStringN(gStringVar1, sDexNavSearchDataPtr->searchLevel, STR_CONV_MODE_LEFT_ALIGN, 2);
StringExpandPlaceholders(gStringVar4, sText_SearchLevel); StringExpandPlaceholders(gStringVar4, sText_SearchLevel);
AddTextPrinterParameterized3(sDexNavSearchDataPtr->windowId, 0, SPECIES_ICON_X + 4, 12, sSearchFontColor, TEXT_SPEED_FF, gStringVar4); AddTextPrinterParameterized3(sDexNavSearchDataPtr->windowId, 0, SPECIES_ICON_X + 4, 12, sSearchFontColor, TEXT_SKIP_DRAW, gStringVar4);
CopyWindowToVram(sDexNavSearchDataPtr->windowId, 2); CopyWindowToVram(sDexNavSearchDataPtr->windowId, 2);
} }

View file

@ -6565,7 +6565,8 @@ static s32 GetWildMonTableIdInAlteringCave(u16 species)
void SetWildMonHeldItem(void) void SetWildMonHeldItem(void)
{ {
if (!(gBattleTypeFlags & (BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_TRAINER | BATTLE_TYPE_PYRAMID | BATTLE_TYPE_PIKE))) if (!(gBattleTypeFlags & (BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_TRAINER | BATTLE_TYPE_PYRAMID | BATTLE_TYPE_PIKE))
&& !gDexnavBattle)
{ {
u16 rnd = Random() % 100; u16 rnd = Random() % 100;
u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, 0); u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, 0);