frontier pike and pyramid data

This commit is contained in:
garak
2018-11-27 11:21:48 -05:00
parent 6acf6aed04
commit 091b5194e7
17 changed files with 3106 additions and 2486 deletions
+379 -4
View File
@@ -19,6 +19,7 @@
#include "constants/rgb.h"
#include "constants/trainers.h"
#include "constants/species.h"
#include "constants/moves.h"
#define PIKE_ROOM_SINGLE_BATTLE 0
#define PIKE_ROOM_HEAL_FULL 1
@@ -40,7 +41,7 @@ struct Unk0861231C
u8 unk2;
u8 unk3;
u8 unk4;
u8 unk5;
u8 unk5;//? unused ?
};
struct PikeWildMon
@@ -50,9 +51,6 @@ struct PikeWildMon
u16 moves[4];
};
extern const struct Unk0861231C gUnknown_0861231C[];
extern const struct PikeWildMon *const *const gUnknown_08612314[2];
extern const u16 gUnknown_086123E4[][6];
extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
// IWRAM bss
@@ -106,6 +104,383 @@ static bool8 sub_81A7D8C(struct Task *task);
static bool8 sub_81A7DE8(struct Task *task);
// Const rom data.
// extern const struct PikeWildMon *const *const gUnknown_08612314[2];
const struct PikeWildMon gUnknown_086121D4[] =
{
{
.species = SPECIES_SEVIPER,
.levelDelta = 4,
.moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_BODY_SLAM, MOVE_SLUDGE_BOMB}
},
{
.species = SPECIES_MILOTIC,
.levelDelta = 4,
.moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_SURF}
},
{
.species = SPECIES_DUSCLOPS,
.levelDelta = 5,
.moves = {MOVE_WILL_O_WISP, MOVE_MEAN_LOOK, MOVE_TOXIC, MOVE_SHADOW_PUNCH}
}
};
const struct PikeWildMon gUnknown_086121F8[] =
{
{
.species = SPECIES_SEVIPER,
.levelDelta = 4,
.moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_BODY_SLAM, MOVE_SLUDGE_BOMB}
},
{
.species = SPECIES_MILOTIC,
.levelDelta = 4,
.moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_SURF}
},
{
.species = SPECIES_ELECTRODE,
.levelDelta = 5,
.moves = {MOVE_EXPLOSION, MOVE_SELF_DESTRUCT, MOVE_THUNDER, MOVE_TOXIC}
}
};
const struct PikeWildMon gUnknown_0861221C[] =
{
{
.species = SPECIES_SEVIPER,
.levelDelta = 4,
.moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_BODY_SLAM, MOVE_SLUDGE_BOMB}
},
{
.species = SPECIES_MILOTIC,
.levelDelta = 4,
.moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_SURF}
},
{
.species = SPECIES_BRELOOM,
.levelDelta = 5,
.moves = {MOVE_SPORE, MOVE_STUN_SPORE, MOVE_POISON_POWDER, MOVE_HIDDEN_POWER}
}
};
const struct PikeWildMon gUnknown_08612240[] =
{
{
.species = SPECIES_SEVIPER,
.levelDelta = 4,
.moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_BODY_SLAM, MOVE_SLUDGE_BOMB}
},
{
.species = SPECIES_MILOTIC,
.levelDelta = 4,
.moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_SURF}
},
{
.species = SPECIES_WOBBUFFET,
.levelDelta = 5,
.moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND}
}
};
const struct PikeWildMon *const gUnknown_08612264[] =
{
gUnknown_086121D4,
gUnknown_086121F8,
gUnknown_0861221C,
gUnknown_08612240
};
const struct PikeWildMon gUnknown_08612274[] =
{
{
.species = SPECIES_SEVIPER,
.levelDelta = 4,
.moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SLUDGE_BOMB}
},
{
.species = SPECIES_MILOTIC,
.levelDelta = 4,
.moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_ICE_BEAM}
},
{
.species = SPECIES_DUSCLOPS,
.levelDelta = 5,
.moves = {MOVE_WILL_O_WISP, MOVE_MEAN_LOOK, MOVE_TOXIC, MOVE_ICE_BEAM}
}
};
const struct PikeWildMon gUnknown_08612298[] =
{
{
.species = SPECIES_SEVIPER,
.levelDelta = 4,
.moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SLUDGE_BOMB}
},
{
.species = SPECIES_MILOTIC,
.levelDelta = 4,
.moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_ICE_BEAM}
},
{
.species = SPECIES_ELECTRODE,
.levelDelta = 5,
.moves = {MOVE_EXPLOSION, MOVE_SELF_DESTRUCT, MOVE_THUNDER, MOVE_TOXIC}
}
};
const struct PikeWildMon gUnknown_086122BC[] =
{
{
.species = SPECIES_SEVIPER,
.levelDelta = 4,
.moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SLUDGE_BOMB}
},
{
.species = SPECIES_MILOTIC,
.levelDelta = 4,
.moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_ICE_BEAM}
},
{
.species = SPECIES_BRELOOM,
.levelDelta = 5,
.moves = {MOVE_SPORE, MOVE_STUN_SPORE, MOVE_POISON_POWDER, MOVE_HIDDEN_POWER}
}
};
const struct PikeWildMon gUnknown_086122E0[] =
{
{
.species = SPECIES_SEVIPER,
.levelDelta = 4,
.moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SLUDGE_BOMB}
},
{
.species = SPECIES_MILOTIC,
.levelDelta = 4,
.moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_ICE_BEAM}
},
{
.species = SPECIES_WOBBUFFET,
.levelDelta = 5,
.moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_ENCORE}
}
};
const struct PikeWildMon *const gUnknown_08612304[] =
{
gUnknown_08612274,
gUnknown_08612298,
gUnknown_086122BC,
gUnknown_086122E0
};
const struct PikeWildMon *const *const gUnknown_08612314[2] =
{
gUnknown_08612264,
gUnknown_08612304
};
const struct Unk0861231C gUnknown_0861231C[] =
{
{
.unk0 = 0x0012,
.unk2 = 0x03,
.unk3 = 0x05,
.unk4 = 0x06
},
{
.unk0 = 0x0005,
.unk2 = 0x0d,
.unk3 = 0x20,
.unk4 = 0x25
},
{
.unk0 = 0x0011,
.unk2 = 0x08,
.unk3 = 0x0b,
.unk4 = 0x0c
},
{
.unk0 = 0x0024,
.unk2 = 0x22,
.unk3 = 0x1e,
.unk4 = 0x21
},
{
.unk0 = 0x0015,
.unk2 = 0x00,
.unk3 = 0x00,
.unk4 = 0x00
},
{
.unk0 = 0x001e,
.unk2 = 0x01,
.unk3 = 0x01,
.unk4 = 0x01
},
{
.unk0 = 0x002c,
.unk2 = 0x16,
.unk3 = 0x17,
.unk4 = 0x1b
},
{
.unk0 = 0x0037,
.unk2 = 0x08,
.unk3 = 0x16,
.unk4 = 0x1f
},
{
.unk0 = 0x000e,
.unk2 = 0x0d,
.unk3 = 0x27,
.unk4 = 0x15
},
{
.unk0 = 0x0014,
.unk2 = 0x02,
.unk3 = 0x04,
.unk4 = 0x11
},
{
.unk0 = 0x0038,
.unk2 = 0x1e,
.unk3 = 0x14,
.unk4 = 0x24
},
{
.unk0 = 0x0042,
.unk2 = 0x1c,
.unk3 = 0x22,
.unk4 = 0x19
},
{
.unk0 = 0x0026,
.unk2 = 0x17,
.unk3 = 0x26,
.unk4 = 0x1a
},
{
.unk0 = 0x0032,
.unk2 = 0x17,
.unk3 = 0x1e,
.unk4 = 0x0b
},
{
.unk0 = 0x002f,
.unk2 = 0x0f,
.unk3 = 0x13,
.unk4 = 0x0e
},
{
.unk0 = 0x0027,
.unk2 = 0x02,
.unk3 = 0x1d,
.unk4 = 0x1a
},
{
.unk0 = 0x0033,
.unk2 = 0x25,
.unk3 = 0x0c,
.unk4 = 0x20
},
{
.unk0 = 0x0021,
.unk2 = 0x18,
.unk3 = 0x17,
.unk4 = 0x26
},
{
.unk0 = 0x0018,
.unk2 = 0x05,
.unk3 = 0x16,
.unk4 = 0x04
},
{
.unk0 = 0x000b,
.unk2 = 0x29,
.unk3 = 0x25,
.unk4 = 0x23
},
{
.unk0 = 0x0035,
.unk2 = 0x27,
.unk3 = 0x0e,
.unk4 = 0x0d
},
{
.unk0 = 0x0030,
.unk2 = 0x0a,
.unk3 = 0x07,
.unk4 = 0x09
},
{
.unk0 = 0x000c,
.unk2 = 0x28,
.unk3 = 0x14,
.unk4 = 0x10
},
{
.unk0 = 0x0034,
.unk2 = 0x12,
.unk3 = 0x0d,
.unk4 = 0x15
},
{
.unk0 = 0x0013,
.unk2 = 0x16,
.unk3 = 0x1f,
.unk4 = 0x1b
}
};
const u16 gUnknown_086123E4[][6] =
{
{0x0a29, 0x0630, 0x0a01, 0x140f, 0x1020, 0x270e},
{0x0a2a, 0x081d, 0x061b, 0x1034, 0x1e20, 0x0a29},
{0x1e22, 0x1231, 0x0a01, 0x1018, 0x1c1a, 0x0c03},
{0x1e0f, 0x100b, 0x1039, 0x200f, 0x102b, 0x0a14},
{0x103b, 0x0a02, 0x161e, 0x1020, 0x143e, 0x0c03},
{0x0a31, 0x0e02, 0x0e15, 0x1436, 0x1037, 0x1e0a},
{0x0a29, 0x1025, 0x142a, 0x1034, 0x1e0f, 0x0a1b},
{0x0a01, 0x0e07, 0x122a, 0x1e0f, 0x061f, 0xffff},
{0x1a35, 0x1036, 0x0e0f, 0x0a01, 0x2621, 0x1e0f},
{0x0e25, 0x102f, 0x062d, 0x201e, 0x0c03, 0xffff},
{0x0c1d, 0x081d, 0x0a2b, 0x100f, 0x0a02, 0x0c03},
{0x0a2a, 0x0a3e, 0x2000, 0x1027, 0x1c08, 0x0c04},
{0x0a01, 0x1212, 0x0a01, 0x1000, 0x062d, 0xffff},
{0x1e22, 0x1231, 0x0a01, 0x1018, 0x1c1c, 0x0c03},
{0x0a01, 0x060b, 0x1030, 0x0a28, 0x2549, 0x0624},
{0x1014, 0x0a2c, 0x0415, 0x1642, 0x1e1b, 0x0c03},
{0x0628, 0x1a0f, 0x100b, 0x2017, 0x0c00, 0xffff},
{0x0a01, 0x1015, 0x1647, 0x1e0f, 0x0e39, 0x0e36},
{0x0a01, 0x1017, 0x1620, 0x0e19, 0x0a31, 0x0c38},
{0x0c1d, 0x081d, 0x0c00, 0x1022, 0x1c12, 0x020b},
{0x1029, 0x1404, 0x102f, 0x1006, 0x1e28, 0x1c1c},
{0x1029, 0x0e20, 0x1028, 0x1c16, 0x1e29, 0x0c03},
{0x1e0f, 0x100b, 0x0e2f, 0x0638, 0x100c, 0xffff},
{0x0a29, 0x1408, 0x102f, 0x061e, 0x102c, 0xffff},
{0x1023, 0x100b, 0x081d, 0x062d, 0x1037, 0x0a14},
{0x0a29, 0x1022, 0x1408, 0x102f, 0x161e, 0x1029},
{0x0601, 0x102c, 0x0a01, 0x1015, 0x0e39, 0x0e36},
{0x1020, 0x020b, 0x103f, 0x1c12, 0x0c04, 0xffff},
{0x1018, 0x0a02, 0x103a, 0x0446, 0x020e, 0x0c03},
{0x1e10, 0x020b, 0x1e0a, 0x100b, 0x063a, 0xffff},
{0x0a02, 0x1212, 0x1e0f, 0x100b, 0x0638, 0x0c03},
{0x1e22, 0x1000, 0x161b, 0x103f, 0x1e0f, 0x0c03},
{0x0a29, 0x0e1e, 0x1025, 0x1e26, 0x0c00, 0xffff},
{0x0a01, 0x0e1e, 0x1236, 0x102f, 0x120b, 0x0c04},
{0x2805, 0x1e0f, 0x0a1b, 0x100b, 0x1020, 0x063b},
{0x0a01, 0x101f, 0x0a3e, 0x1037, 0x1020, 0x0628},
{0x1026, 0x0a31, 0x1e29, 0x1c1c, 0x0a01, 0x1212},
{0x0c0a, 0x0c00, 0x1029, 0x101c, 0x1e0f, 0x0c23},
{0x0a28, 0x020e, 0x100f, 0x1039, 0x142a, 0x0c04},
{0x0a28, 0x020e, 0x100f, 0x0620, 0x102f, 0x043c},
{0x0c39, 0x0c39, 0x0c00, 0x0a29, 0x2017, 0x0c39},
{0x265c, 0x100b, 0x1020, 0x1230, 0x1e05, 0x100c},
};
static const u8 gUnknown_086125DC[][4] =
{
{0x23, 0x46, 0x23, 0x01},
-42
View File
@@ -34,33 +34,6 @@ extern void door_upload_tiles(void);
extern const struct MapLayout *const gMapLayouts[];
#define TOTAL_ROUNDS 20
#define PICKUP_ITEMS_PER_ROUND 10
struct Struct_08613650
{
u8 unk0;
u8 unk1;
u8 unk2;
u8 unk3;
u8 runMultiplier;
u8 unk5[8];
};
struct PyramidWildMon
{
u16 species;
u8 lvl;
u8 abilityBit;
u16 moves[4];
};
struct ClassMusic
{
u8 class;
u8 music;
};
extern const u16 gBattleFrontierHeldItems[];
extern const struct FacilityMon gBattleFrontierMons[];
extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
@@ -101,21 +74,6 @@ static bool8 sub_81AA648(u8, u8);
static bool8 sub_81AA760(u8 arg0, u8 *mapNums, u8 whichMap, u8 id);
static bool8 sub_81AA810(u8 arg0, u8 x, u8 y, u8 *mapNums, u8 whichMap, u8 id);
// Const rom data.
extern const struct Struct_08613650 gUnknown_08613650[];
extern const u16 sPickupItemsLvl50[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND];
extern const u16 sPickupItemsLvlOpen[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND];
extern const u8 gUnknown_08613ABC[63][2];
extern const u8 gUnknown_08613B3A[];
extern const u16 gUnknown_08D856C8[][16];
extern const u8 gUnknown_08613C1C[50][2];
extern const u8 *const *const *const gUnknown_08613EC0[];
extern const struct ClassMusic gUnknown_08613B44[54];
extern const struct PyramidWildMon *const gBattlePyramidOpenLevelWildMonPointers[];
extern const struct PyramidWildMon *const gBattlePyramidLevel50WildMonPointers[];
extern const u8 gUnknown_08613794[];
extern const u8 gUnknown_08613750[34][2];
static const u8 gUnknown_08613ED8[] = {3, 4, 5, 6, 7, 8, 3, 4};
static void (* const sBattlePyramidFunctions[])(void) =
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+237
View File
@@ -0,0 +1,237 @@
#include "global.h"
#include "battle_pyramid.h"
#include "constants/moves.h"
#include "constants/species.h"
#include "constants/items.h"
#include "data/battle_frontier/battle_pyramid_level_50_wild_mons.h"
#include "data/battle_frontier/battle_pyramid_open_level_wild_mons.h"
const struct Struct_08613650 gUnknown_08613650[] =
{
{
.unk0 = 0x07,
.unk1 = 0x03,
.unk2 = 0x00,
.unk3 = 0x00,
.runMultiplier = 0x80,
.unk5 = {0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03}
},
{
.unk0 = 0x06,
.unk1 = 0x03,
.unk2 = 0x00,
.unk3 = 0x00,
.runMultiplier = 0x80,
.unk5 = {0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04}
},
{
.unk0 = 0x05,
.unk1 = 0x03,
.unk2 = 0x00,
.unk3 = 0x00,
.runMultiplier = 0x78,
.unk5 = {0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05}
},
{
.unk0 = 0x04,
.unk1 = 0x04,
.unk2 = 0x00,
.unk3 = 0x00,
.runMultiplier = 0x78,
.unk5 = {0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06}
},
{
.unk0 = 0x04,
.unk1 = 0x04,
.unk2 = 0x00,
.unk3 = 0x01,
.runMultiplier = 0x70,
.unk5 = {0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07}
},
{
.unk0 = 0x03,
.unk1 = 0x05,
.unk2 = 0x00,
.unk3 = 0x02,
.runMultiplier = 0x70,
.unk5 = {0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c}
},
{
.unk0 = 0x03,
.unk1 = 0x05,
.unk2 = 0x00,
.unk3 = 0x00,
.runMultiplier = 0x68,
.unk5 = {0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d}
},
{
.unk0 = 0x02,
.unk1 = 0x04,
.unk2 = 0x00,
.unk3 = 0x01,
.runMultiplier = 0x68,
.unk5 = {0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e}
},
{
.unk0 = 0x04,
.unk1 = 0x05,
.unk2 = 0x00,
.unk3 = 0x02,
.runMultiplier = 0x60,
.unk5 = {0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}
},
{
.unk0 = 0x03,
.unk1 = 0x06,
.unk2 = 0x00,
.unk3 = 0x04,
.runMultiplier = 0x60,
.unk5 = {0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}
},
{
.unk0 = 0x02,
.unk1 = 0x03,
.unk2 = 0x00,
.unk3 = 0x00,
.runMultiplier = 0x58,
.unk5 = {0x0c, 0x0d, 0x0e, 0x0c, 0x0d, 0x0e, 0x0c, 0x0d}
},
{
.unk0 = 0x04,
.unk1 = 0x05,
.unk2 = 0x00,
.unk3 = 0x00,
.runMultiplier = 0x58,
.unk5 = {0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}
},
{
.unk0 = 0x03,
.unk1 = 0x07,
.unk2 = 0x00,
.unk3 = 0x00,
.runMultiplier = 0x50,
.unk5 = {0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c}
},
{
.unk0 = 0x02,
.unk1 = 0x04,
.unk2 = 0x00,
.unk3 = 0x00,
.runMultiplier = 0x50,
.unk5 = {0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d}
},
{
.unk0 = 0x03,
.unk1 = 0x06,
.unk2 = 0x00,
.unk3 = 0x00,
.runMultiplier = 0x50,
.unk5 = {0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e}
},
{
.unk0 = 0x03,
.unk1 = 0x08,
.unk2 = 0x00,
.unk3 = 0x00,
.runMultiplier = 0x50,
.unk5 = {0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f}
}
};
const u8 gUnknown_08613750[34][2] =
{
{0x28, 0x00},
{0x46, 0x01},
{0x5a, 0x02},
{0x64, 0x03},
{0x23, 0x01},
{0x37, 0x02},
{0x4b, 0x03},
{0x5a, 0x04},
{0x64, 0x0a},
{0x23, 0x02},
{0x37, 0x03},
{0x4b, 0x04},
{0x5a, 0x05},
{0x64, 0x0b},
{0x23, 0x03},
{0x37, 0x04},
{0x4b, 0x05},
{0x5a, 0x06},
{0x64, 0x0c},
{0x23, 0x04},
{0x37, 0x05},
{0x4b, 0x06},
{0x5a, 0x07},
{0x64, 0x0d},
{0x23, 0x05},
{0x37, 0x06},
{0x4b, 0x07},
{0x5a, 0x08},
{0x64, 0x0e},
{0x23, 0x06},
{0x37, 0x07},
{0x4b, 0x08},
{0x5a, 0x09},
{0x64, 0x0f}
};
const u8 gUnknown_08613794[] =
{
0x00, 0x04, 0x09, 0x0e, 0x13, 0x18, 0x1d, 0x00
};
const u16 sPickupItemsLvl50[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND] =
{
{ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_CHERI_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_PECHA_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_RAWST_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_X_SPEED, ITEM_CHESTO_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_X_ACCURACY, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_X_SPECIAL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_GUARD_SPEC, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_X_SPEED, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_X_ACCURACY, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_X_SPECIAL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_GUARD_SPEC, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
};
const u16 sPickupItemsLvlOpen[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND] =
{
{ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_CHERI_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_PECHA_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_RAWST_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_X_SPEED, ITEM_CHESTO_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_X_ACCURACY, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_X_SPECIAL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_GUARD_SPEC, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_X_SPEED, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_X_ACCURACY, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_X_SPECIAL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_GUARD_SPEC, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
{ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
{ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
};
+134 -12
View File
@@ -49,12 +49,8 @@ struct FrontierBrainMon
};
extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
extern const u8 *const gUnknown_08611D08[];
extern const u8 *const gUnknown_08611CB0[][2];
extern const u8 *const gUnknown_08611D00[];
extern const u8 *const *const gUnknown_08611DB0[];
extern const u8 *const *const gUnknown_08611DB8[];
extern const u16 gFacilityToBrainTrainerId[];
//extern const u8 *const *const gUnknown_08611DB0[];
//extern const u8 *const *const gUnknown_08611DB8[];
extern void sub_81B8558(void);
@@ -689,6 +685,132 @@ const u16 gFrontierBannedSpecies[] =
SPECIES_MEW, SPECIES_MEWTWO, SPECIES_HO_OH, SPECIES_LUGIA, SPECIES_CELEBI,
SPECIES_KYOGRE, SPECIES_GROUDON, SPECIES_RAYQUAZA, SPECIES_JIRACHI, SPECIES_DEOXYS, 0xFFFF
};
const u8 *const gUnknown_08611CB0[][2] =
{
{gText_BattleTower2, gUnknown_085ED164},
{gText_BattleTower2, gUnknown_085ED170},
{gText_BattleTower2, gUnknown_085ED17C},
{gText_BattleDome, gUnknown_085ED164},
{gText_BattlePalace, gUnknown_085ED164},
{gText_BattleArena, gUnknown_085ED190},
{gText_BattleFactory, gUnknown_085ED164},
{gText_BattlePike, gUnknown_085ED190},
{gText_BattlePyramid, gUnknown_085ED190},
{gText_BattleTower2, gUnknown_085ED188},
};
const u8 *const gLevelModeText[] =
{
gText_RecordsLv50,
gText_RecordsOpenLevel,
};
const u8 *const gFacilityToRecordsText[] =
{
gText_FrontierFacilityWinStreak,
gText_FrontierFacilityWinStreak,
gText_FrontierFacilityWinStreak,
gText_FrontierFacilityClearStreak,
gText_FrontierFacilityWinStreak,
gText_FrontierFacilityKOsStreak,
gText_FrontierFacilityWinStreak,
gText_FrontierFacilityRoomsCleared,
gText_FrontierFacilityFloorsCleared,
gText_FrontierFacilityWinStreak,
};
const u16 gFacilityToBrainTrainerId[] =
{
[FRONTIER_FACILITY_TOWER] = TRAINER_ANABEL,
[FRONTIER_FACILITY_DOME] = TRAINER_TUCKER,
[FRONTIER_FACILITY_PALACE] = TRAINER_SPENSER,
[FRONTIER_FACILITY_ARENA] = TRAINER_GRETA,
[FRONTIER_FACILITY_FACTORY] = TRAINER_NOLAND,
[FRONTIER_FACILITY_PIKE] = TRAINER_LUCY,
[FRONTIER_FACILITY_PYRAMID] = TRAINER_BRANDON,
};
const u8 *const gUnknown_08611D40[] =
{
gText_082C843F,
gText_082C848B,
gText_082C8628,
gText_082C85B4,
gText_082C8512,
gText_082C859D,
gText_082C86C3,
};
const u8 *const gUnknown_08611D5C[] =
{
gText_082C8458,
gText_082C84C1,
gText_082C8662,
gText_082C85E3,
gText_082C853B,
gText_082C85A4,
gText_082C86FE,
};
const u8 *const gUnknown_08611D78[] =
{
gText_082C846C,
gText_082C84D0,
gText_082C8682,
gText_082C85F5,
gText_082C8561,
gText_082C85A9,
gText_082C8739,
};
const u8 *const gUnknown_08611D94[] =
{
gText_082C8480,
gText_082C84F7,
gText_082C86B3,
gText_082C8611,
gText_082C8589,
gText_082C85AE,
gText_082C877B,
};
const u8 *const *const gUnknown_08611DB0[] =
{
gUnknown_08611D40,
gUnknown_08611D78,
};
const u8 *const *const gUnknown_08611DB8[] =
{
gUnknown_08611D5C,
gUnknown_08611D94,
};
// code
void CallFrontierUtilFunc(void)
@@ -2129,8 +2251,8 @@ static void Print1PRecord(s32 position, s32 x, s32 y, struct RankingHall1P *hall
if (winStreak > 9999)
winStreak = 9999;
ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, gUnknown_08611D08[hallFacilityId]);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gUnknown_08611D08[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
StringExpandPlaceholders(gStringVar4, gFacilityToRecordsText[hallFacilityId]);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gFacilityToRecordsText[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
}
}
@@ -2156,8 +2278,8 @@ static void Print2PRecord(s32 position, s32 x, s32 y, struct RankingHall2P *hall
if (winStreak > 9999)
winStreak = 9999;
ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringExpandPlaceholders(gStringVar4, gUnknown_08611D08[9]);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gUnknown_08611D08[9], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
StringExpandPlaceholders(gStringVar4, gFacilityToRecordsText[9]);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gFacilityToRecordsText[9], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
}
}
@@ -2239,8 +2361,8 @@ static void PrintHallRecords(s32 hallFacilityId, s32 lvlMode)
StringCopy(gStringVar1, gUnknown_08611CB0[hallFacilityId][0]);
StringExpandPlaceholders(gStringVar4, gUnknown_08611CB0[hallFacilityId][1]);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL);
x = GetStringRightAlignXOffset(1, gUnknown_08611D00[lvlMode], 0xD0);
AddTextPrinterParameterized(gRecordsWindowId, 1, gUnknown_08611D00[lvlMode], x, 1, TEXT_SPEED_FF, NULL);
x = GetStringRightAlignXOffset(1, gLevelModeText[lvlMode], 0xD0);
AddTextPrinterParameterized(gRecordsWindowId, 1, gLevelModeText[lvlMode], x, 1, TEXT_SPEED_FF, NULL);
if (hallFacilityId == HALL_FACILITIES_COUNT)
{
gSaveBlock2Ptr->frontier.field_EE1[0][PLAYER_NAME_LENGTH] = EOS;
+8 -7
View File
@@ -1265,6 +1265,7 @@ const u8 gUnknown_085ED188[] = _("{STR_VAR_1} LINK");
asm(".align 2");
const u8 gUnknown_085ED190[] = _("{STR_VAR_1}");
const u8 gText_Give[] = _("Give");
const u8 gText_NoNeed[] = _("No need");
const u8 gText_ColorLightShadowDarkGrey[] = _("{COLOR LIGHT_GREY}{SHADOW DARK_GREY}");
@@ -1548,25 +1549,25 @@ const u8 gText_TimesVar1[] = _("Times: {STR_VAR_1}");
const u8 gText_FloorsCleared[] = _("Floors cleared: {STR_VAR_1}");
asm(".align 2");
const u8 gUnknown_085EE3B0[] = _("LV. 50");
const u8 gText_RecordsLv50[] = _("LV. 50");
asm(".align 2");
const u8 gUnknown_085EE3B8[] = _("OPEN LEVEL");
const u8 gText_RecordsOpenLevel[] = _("OPEN LEVEL");
asm(".align 2");
const u8 gUnknown_085EE3C4[] = _("Win streak: {STR_VAR_2}");
const u8 gText_FrontierFacilityWinStreak[] = _("Win streak: {STR_VAR_2}");
asm(".align 2");
const u8 gUnknown_085EE3D4[] = _("Clear streak: {STR_VAR_2}");
const u8 gText_FrontierFacilityClearStreak[] = _("Clear streak: {STR_VAR_2}");
asm(".align 2");
const u8 gUnknown_085EE3E8[] = _("Rooms cleared: {STR_VAR_2}");
const u8 gText_FrontierFacilityRoomsCleared[] = _("Rooms cleared: {STR_VAR_2}");
asm(".align 2");
const u8 gUnknown_085EE3FC[] = _("KOs in a row: {STR_VAR_2}");
const u8 gText_FrontierFacilityKOsStreak[] = _("KOs in a row: {STR_VAR_2}");
asm(".align 2");
const u8 gUnknown_085EE410[] = _("Floors cleared: {STR_VAR_2}");
const u8 gText_FrontierFacilityFloorsCleared[] = _("Floors cleared: {STR_VAR_2}");
asm(".align 2");
const u8 gText_123Dot[][3] = {_("1."), _("2."), _("3.")};