Skip to content

Commit

Permalink
Fixed deleting PC mon by placing another one on top with B (#3360)
Browse files Browse the repository at this point in the history
  • Loading branch information
AsparagusEduardo authored Sep 30, 2023
1 parent 7b3f72f commit 977860f
Showing 1 changed file with 24 additions and 2 deletions.
26 changes: 24 additions & 2 deletions src/pokemon_storage_system.c
Original file line number Diff line number Diff line change
Expand Up @@ -678,6 +678,7 @@ static void InitSummaryScreenData(void);
static void SetSelectionAfterSummaryScreen(void);
static void SetMonMarkings(u8);
static bool8 IsRemovingLastPartyMon(void);
static bool8 CanPlaceMon(void);
static bool8 CanShiftMon(void);
static bool8 IsMonBeingMoved(void);
static void TryRefreshDisplayMon(void);
Expand Down Expand Up @@ -3690,8 +3691,15 @@ static void Task_OnBPressed(u8 taskId)
PrintMessage(MSG_HOLDING_POKE);
sStorage->state = 1;
#else
PlaySE(SE_SELECT);
SetPokeStorageTask(Task_PlaceMon);
if (CanPlaceMon())
{
PlaySE(SE_SELECT);
SetPokeStorageTask(Task_PlaceMon);
}
else
{
SetPokeStorageTask(Task_PokeStorageMain);
}
#endif
}
else if (IsMovingItem())
Expand Down Expand Up @@ -6826,6 +6834,20 @@ static bool8 IsRemovingLastPartyMon(void)
return FALSE;
}

static bool8 CanPlaceMon(void)
{
if (sIsMonBeingMoved)
{
if (sCursorArea == CURSOR_AREA_IN_PARTY && GetMonData(&gPlayerParty[sCursorPosition], MON_DATA_SPECIES) == SPECIES_NONE)
return TRUE;
else if (sCursorArea == CURSOR_AREA_IN_BOX && GetBoxMonDataAt(StorageGetCurrentBox(), sCursorPosition, MON_DATA_SPECIES_OR_EGG) == SPECIES_NONE)
return TRUE;
else
return FALSE;
}
return FALSE;
}

static bool8 CanShiftMon(void)
{
if (sIsMonBeingMoved)
Expand Down

0 comments on commit 977860f

Please sign in to comment.