Begin battle pyramid

This commit is contained in:
DizzyEggg 2018-11-17 15:30:34 +01:00
parent 032dd251e6
commit eb66b60f38
9 changed files with 2913 additions and 3593 deletions

File diff suppressed because it is too large Load Diff

2421
asm/battle_pyramid.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -72,7 +72,7 @@ gUnknown_08613794:: @ 8613794
.byte 0x00, 0x04, 0x09, 0x0e, 0x13, 0x18, 0x1d, 0x00 .byte 0x00, 0x04, 0x09, 0x0e, 0x13, 0x18, 0x1d, 0x00
.align 1 .align 1
gUnknown_0861379C:: @ 861379C sPickupItemsLvl50:: @ 861379C
.2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018 .2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
@ -88,7 +88,7 @@ gUnknown_0861379C:: @ 861379C
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025 .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
.align 1 .align 1
gUnknown_0861392C:: @ 861392C sPickupItemsLvlOpen:: @ 861392C
.2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018 .2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018
.2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
.2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
@ -519,7 +519,7 @@ gUnknown_08613EE0:: @ 8613EE0
.4byte sub_81A917C .4byte sub_81A917C
.4byte sub_81A91FC .4byte sub_81A91FC
.4byte sub_81A9254 .4byte sub_81A9254
.4byte CalculateBattlePyramidItemBallItemId .4byte sub_81A9290
.4byte sub_81A93C8 .4byte sub_81A93C8
.4byte sub_81A9414 .4byte sub_81A9414
.4byte sub_81A9424 .4byte sub_81A9424

View File

@ -34,6 +34,7 @@ struct PyramidBagCursorData
extern struct PyramidBagResources *gPyramidBagResources; extern struct PyramidBagResources *gPyramidBagResources;
extern struct PyramidBagCursorData gPyramidBagCursorData; extern struct PyramidBagCursorData gPyramidBagCursorData;
void sub_81C4EEC(void);
void CB2_PyramidBagMenuFromStartMenu(void); void CB2_PyramidBagMenuFromStartMenu(void);
void sub_81C4F84(void); void sub_81C4F84(void);
void sub_81C5924(void); void sub_81C5924(void);

View File

@ -442,12 +442,14 @@ struct BattleFrontier
/*0xE10*/ u8 field_E10_1:3; /*0xE10*/ u8 field_E10_1:3;
/*0xE10*/ u8 field_E10_2:4; /*0xE10*/ u8 field_E10_2:4;
/*0xE10*/ u8 field_E10_3:1; /*0xE10*/ u8 field_E10_3:1;
/*0xE12*/ u16 field_E12[4]; /*0xE12*/ u16 field_E12[3];
/*0xE18*/ u16 field_E18;
/*0xE1A*/ u16 pyramidWinStreaks[2]; /*0xE1A*/ u16 pyramidWinStreaks[2];
/*0xE1E*/ u16 pyramidRecordStreaks[2]; /*0xE1E*/ u16 pyramidRecordStreaks[2];
/*0xE1E*/ u16 field_E1F[5]; /*0xE22*/ u16 field_E22[4];
/*0xE2A*/ u8 field_E2A;
/*0xE2C*/ struct PyramidBag pyramidBag; /*0xE2C*/ struct PyramidBag pyramidBag;
/*0xE58*/ u16 field_E58; /*0xE68*/ u8 field_E68;
/*0xE6A*/ u16 field_E6A; /*0xE6A*/ u16 field_E6A;
/*0xE6C*/ u16 field_E6C; /*0xE6C*/ u16 field_E6C;
/*0xE6E*/ u16 field_E6E; /*0xE6E*/ u16 field_E6E;

View File

@ -269,6 +269,8 @@ SECTIONS {
src/battle_factory.o(.text); src/battle_factory.o(.text);
src/battle_pike.o(.text); src/battle_pike.o(.text);
asm/battle_frontier_2.o(.text); asm/battle_frontier_2.o(.text);
src/battle_pyramid.o(.text);
asm/battle_pyramid.o(.text);
src/item_menu.o(.text); src/item_menu.o(.text);
src/list_menu.o(.text); src/list_menu.o(.text);
src/dynamic_placeholder_text_util.o(.text); src/dynamic_placeholder_text_util.o(.text);

425
src/battle_pyramid.c Normal file
View File

@ -0,0 +1,425 @@
#include "global.h"
#include "battle_pyramid_bag.h"
#include "event_data.h"
#include "battle.h"
#include "battle_setup.h"
#include "battle_tower.h"
#include "save.h"
#include "fieldmap.h"
#include "palette.h"
#include "field_message_box.h"
#include "random.h"
#include "item.h"
#include "util.h"
#include "sound.h"
#include "task.h"
#include "start_menu.h"
#include "constants/battle_frontier.h"
#include "constants/event_objects.h"
extern void door_upload_tiles(void);
#define PICKUP_ITEMS_SET_COUNT 20
struct Struct_08613650
{
u8 unk0;
u8 unk1;
u8 unk2;
u8 unk3;
u8 unk4;
u8 unk5;
u8 unk6[10];
};
extern const u16 gBattleFrontierHeldItems[];
extern const struct FacilityMon gBattleFrontierMons[];
extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
// This file's functions.
void sub_81AAA7C(u8 lvlMode);
u8 sub_81AA9E4(void);
u16 sub_81A9AA8(u8);
u8 sub_81A9998(s32 *, u8, u8);
u8 sub_81AAA40(void);
bool8 InBattlePyramid(void);
void sub_81A97DC(u8 taskId);
// Const rom data.
extern void (* const gUnknown_08613EE0[])(void);
extern const struct Struct_08613650 gUnknown_08613650[];
extern const u16 sPickupItemsLvl50[PICKUP_ITEMS_SET_COUNT][10];
extern const u16 sPickupItemsLvlOpen[PICKUP_ITEMS_SET_COUNT][10];
extern const u8 gUnknown_08613ABC[63][2];
extern const u8 gUnknown_08613B3A[];
extern const u16 gUnknown_08613F34[9];
extern const u16 gUnknown_08613F28[6];
// code
void sub_81A8E7C(void)
{
gUnknown_08613EE0[gSpecialVar_0x8004]();
}
void sub_81A8E9C(void)
{
bool32 isCurrent;
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
gSaveBlock2Ptr->frontier.field_CA8 = 0;
gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
if (lvlMode != FRONTIER_LVL_50)
isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x2000;
else
isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x1000;
if (!isCurrent)
{
gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] = 0;
sub_81AAA7C(lvlMode);
}
sub_81C4EEC();
gTrainerBattleOpponent_A = 0;
gBattleOutcome = 0;
}
void sub_81A8F38(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
switch (gSpecialVar_0x8005)
{
case 0:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E18;
break;
case 1:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode];
break;
case 2:
if (lvlMode != FRONTIER_LVL_50)
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x2000;
else
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x1000;
break;
case 3:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50];
break;
case 4:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN];
break;
case 5:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x1000;
break;
case 6:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x2000;
break;
}
}
void sub_81A9048(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
switch (gSpecialVar_0x8005)
{
case 0:
gSaveBlock2Ptr->frontier.field_E18 = gSpecialVar_0x8006;
break;
case 1:
gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] = gSpecialVar_0x8006;
break;
case 2:
if (lvlMode != FRONTIER_LVL_50)
{
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= 0x2000;
else
gSaveBlock2Ptr->frontier.field_CDC &= ~(0x2000);
}
else
{
if (gSpecialVar_0x8006)
gSaveBlock2Ptr->frontier.field_CDC |= 0x1000;
else
gSaveBlock2Ptr->frontier.field_CDC &= ~(0x1000);
}
break;
case 7:
gSaveBlock2Ptr->frontier.field_E2A = gSpecialVar_0x8006;
break;
}
}
void sub_81A9134(void)
{
gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
gSaveBlock2Ptr->frontier.field_CA9_a = 1;
save_serialize_map();
TrySavingData(SAVE_LINK);
}
void sub_81A917C(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] > 41)
gSaveBlock2Ptr->frontier.field_E18 = gUnknown_08613F34[Random() % ARRAY_COUNT(gUnknown_08613F34)];
else
gSaveBlock2Ptr->frontier.field_E18 = gUnknown_08613F28[Random() % ARRAY_COUNT(gUnknown_08613F28)];
}
void sub_81A91FC(void)
{
if (AddBagItem(gSaveBlock2Ptr->frontier.field_E18, 1) == TRUE)
{
CopyItemName(gSaveBlock2Ptr->frontier.field_E18, gStringVar1);
gSaveBlock2Ptr->frontier.field_E18 = 0;
gSpecialVar_Result = TRUE;
}
else
{
gSpecialVar_Result = FALSE;
}
}
void sub_81A9254(void)
{
s32 i;
for (i = 0; i < 4; i++)
gSaveBlock2Ptr->frontier.field_E22[i] = Random();
gSaveBlock2Ptr->frontier.field_E2A = 0;
}
void sub_81A9290(void)
{
s32 i;
s32 r7;
s32 rand;
u8 id;
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 floor = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
u32 setId = (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] / 7) % PICKUP_ITEMS_SET_COUNT;
if (setId >= PICKUP_ITEMS_SET_COUNT)
setId = PICKUP_ITEMS_SET_COUNT - 1;
id = sub_81AA9E4();
r7 = (gSpecialVar_LastTalked - gUnknown_08613650[id].unk1) - 1;
rand = gSaveBlock2Ptr->frontier.field_E22[r7 / 2];
SeedRng2(rand);
for (i = 0; i < r7 + 1; i++)
rand = Random2() % 100;
for (i = gUnknown_08613B3A[floor]; i < ARRAY_COUNT(gUnknown_08613ABC); i++)
{
if (rand < gUnknown_08613ABC[i][0])
break;
}
if (lvlMode != FRONTIER_LVL_50)
gSpecialVar_0x8000 = sPickupItemsLvlOpen[setId][gUnknown_08613ABC[i][1]];
else
gSpecialVar_0x8000 = sPickupItemsLvl50[setId][gUnknown_08613ABC[i][1]];
gSpecialVar_0x8001 = 1;
}
void sub_81A93C8(void)
{
struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates;
s32 i = 0;
for (;;)
{
if (events[i].localId == gSpecialVar_LastTalked)
{
events[i].x = 0x7FFF;
events[i].y = 0x7FFF;
break;
}
i++;
if (events[i].localId == 0)
break;
}
}
void sub_81A9414(void)
{
gFacilityTrainers = gBattleFrontierTrainers;
}
extern const u8 gUnknown_08613C1C[50][2];
extern const u8 gUnknown_08613ED8[];
extern const u8 *const *const *const gUnknown_08613EC0[];
void sub_81A9424(void)
{
s32 i;
s32 var_24;
u8 id;
s32 class = 0;
s32 r7 = 0;
struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates;
u16 trainerId = sub_81A9AA8(gEventObjects[gSelectedEventObject].localId);
for (i = 0; i < ARRAY_COUNT(gUnknown_08613C1C); i++)
{
if (gUnknown_08613C1C[i][0] == gFacilityTrainers[trainerId].facilityClass)
{
class = gUnknown_08613C1C[i][1];
break;
}
}
var_24 = gUnknown_08613ED8[gEventObjects[gSelectedEventObject].localId - 1];
i = 0;
while (!i)
{
switch (var_24)
{
case 0:
r7 = sub_81A9998(&var_24, 8, 0);
i = 1;
break;
case 1:
for (i = 0; i < sub_81AAA40(); i++)
{
if (events[i].graphicsId == EVENT_OBJ_GFX_ITEM_BALL && events[i].x != 0x7FFF && events[i].y != 0x7FFF)
r7++;
}
i = 1;
break;
case 2:
id = sub_81AA9E4();
r7 = gUnknown_08613650[id].unk1;
for (i = 0; i < 8; i++)
{
if (gBitTable[i] & gSaveBlock2Ptr->frontier.field_E2A)
r7--;
}
i = 1;
break;
case 3:
sub_81A9998(&var_24, 8, 2);
break;
case 4:
sub_81A9998(&var_24, 8, 1);
break;
case 5:
sub_81A9998(&var_24, 16, 2);
break;
case 6:
sub_81A9998(&var_24, 16, 1);
break;
case 7:
sub_81A9998(&var_24, 24, 2);
break;
case 8:
sub_81A9998(&var_24, 24, 1);
break;
}
}
ShowFieldMessage(gUnknown_08613EC0[class][var_24][r7]);
}
void sub_81A9618(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] < 999)
gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode]++;
if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] > gSaveBlock2Ptr->frontier.pyramidRecordStreaks[lvlMode])
gSaveBlock2Ptr->frontier.pyramidRecordStreaks[lvlMode] = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode];
}
void sub_81A966C(void)
{
gSpecialVar_Result = InBattlePyramid();
}
void sub_81A9684(void)
{
switch (gSpecialVar_0x8006)
{
case 0:
gSaveBlock2Ptr->frontier.field_E68 = gSpecialVar_0x8005;
break;
case 1:
switch (gSpecialVar_Result)
{
case 0:
if (!gPaletteFade.active)
{
if (gSaveBlock2Ptr->frontier.field_E68 >= 120)
gSaveBlock2Ptr->frontier.field_E68 = 120;
else
PlaySE(gSpecialVar_0x8007);
gSpecialVar_Result++;
}
break;
case 1:
if (gSpecialVar_0x8005 != 0)
{
gSpecialVar_0x8005--;
gSaveBlock2Ptr->frontier.field_E68++;
if (gSaveBlock2Ptr->frontier.field_E68 > 120)
{
gSaveBlock2Ptr->frontier.field_E68 = 120;
gSpecialVar_Result++;
}
door_upload_tiles();
}
else
{
gSpecialVar_Result = 2;
}
break;
case 2:
default:
break;
}
break;
}
}
void sub_81A975C(void)
{
s32 i, j;
u16 item = 0;
for (i = 0; i < PARTY_SIZE; i++)
{
for (j = 0; j < 4; j++)
{
if (gSaveBlock2Ptr->frontier.selectedPartyMons[j] != 0 && gSaveBlock2Ptr->frontier.selectedPartyMons[j] - 1 == i)
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &item);
}
}
}
void sub_81A97C8(void)
{
CreateTask(sub_81A97DC, 0);
}
extern const u16 gUnknown_08D856C8[][16];
void sub_81A97DC(u8 taskId)
{
if (gPaletteFade.active)
{
CpuCopy16(gUnknown_08D856C8[gSaveBlock2Ptr->frontier.curChallengeBattleNum], &gPlttBufferUnfaded[96], 32);
DestroyTask(taskId);
}
}
void sub_81A9828(void)
{
sub_809FDD4();
}

View File

@ -9860,71 +9860,72 @@ static void atkE4_getsecretpowereffect(void)
static void atkE5_pickup(void) static void atkE5_pickup(void)
{ {
if (!InBattlePike()) s32 i;
u16 species, heldItem;
u8 ability;
if (InBattlePike())
{ {
s32 i;
u16 species, heldItem;
u8 ability;
if (InBattlePyramid()) }
else if (InBattlePyramid())
{
for (i = 0; i < PARTY_SIZE; i++)
{ {
for (i = 0; i < 6; i++) species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY))
ability = gBaseStats[species].ability2;
else
ability = gBaseStats[species].ability1;
if (ability == ABILITY_PICKUP
&& species != 0
&& species != SPECIES_EGG
&& heldItem == ITEM_NONE
&& (Random() % 10) == 0)
{ {
species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); heldItem = GetBattlePyramidPickupItemId();
heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem);
if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY))
ability = gBaseStats[species].ability2;
else
ability = gBaseStats[species].ability1;
if (ability == ABILITY_PICKUP
&& species != 0
&& species != SPECIES_EGG
&& heldItem == ITEM_NONE
&& (Random() % 10) == 0)
{
heldItem = GetBattlePyramidPickupItemId();
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem);
}
} }
} }
else }
else
{
for (i = 0; i < PARTY_SIZE; i++)
{ {
for (i = 0; i < 6; i++) species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY))
ability = gBaseStats[species].ability2;
else
ability = gBaseStats[species].ability1;
if (ability == ABILITY_PICKUP
&& species != 0
&& species != SPECIES_EGG
&& heldItem == ITEM_NONE
&& (Random() % 10) == 0)
{ {
species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); s32 j;
heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); s32 rand = Random() % 100;
u8 lvlDivBy10 = (GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) - 1) / 10;
if (lvlDivBy10 > 9)
lvlDivBy10 = 9;
if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY)) for (j = 0; j < 9; j++)
ability = gBaseStats[species].ability2;
else
ability = gBaseStats[species].ability1;
if (ability == ABILITY_PICKUP
&& species != 0
&& species != SPECIES_EGG
&& heldItem == ITEM_NONE
&& (Random() % 10) == 0)
{ {
s32 j; if (sPickupProbabilities[j] > rand)
s32 rand = Random() % 100;
u8 lvlDivBy10 = (GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) - 1) / 10;
if (lvlDivBy10 > 9)
lvlDivBy10 = 9;
for (j = 0; j < 9; j++)
{ {
if (sPickupProbabilities[j] > rand) SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &sPickupItems[lvlDivBy10 + j]);
{ break;
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &sPickupItems[lvlDivBy10 + j]); }
break; else if (rand == 99 || rand == 98)
} {
else if (rand == 99 || rand == 98) SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &sRarePickupItems[lvlDivBy10 + (99 - rand)]);
{ break;
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &sRarePickupItems[lvlDivBy10 + (99 - rand)]);
break;
}
} }
} }
} }

View File

@ -1485,7 +1485,7 @@ const u32 gUnknown_08DD4C4C[] = INCBIN_U32("graphics/link/link_winedge.bin.lz");
const u32 gUnknown_08DD4CF8[] = INCBIN_U32("graphics/interface/unk_change_case.4bpp.lz"); const u32 gUnknown_08DD4CF8[] = INCBIN_U32("graphics/interface/unk_change_case.4bpp.lz");
const u16 gTilesetPalettes_General[][16] = const u16 gTilesetPalettes_General[][16] =
{ {
INCBIN_U16("data/tilesets/primary/general/palettes/00.gbapal"), INCBIN_U16("data/tilesets/primary/general/palettes/00.gbapal"),
INCBIN_U16("data/tilesets/primary/general/palettes/01.gbapal"), INCBIN_U16("data/tilesets/primary/general/palettes/01.gbapal"),