summaryrefslogtreecommitdiff
path: root/src/pokemon.c
diff options
context:
space:
mode:
authorDeokishisu <edsaletto@gmail.com>2018-10-14 14:22:56 -0400
committerDeokishisu <edsaletto@gmail.com>2018-10-14 14:22:56 -0400
commita8afec762bbcb0da81dda5671be1f9a36792e6f4 (patch)
tree4251e0a8b0a15d9792951ed1f513517e6abe4981 /src/pokemon.c
parentc89b14f5ef16609779f9bd85cf4e4efa090caad7 (diff)
parent02049d52ee5c9416f840d2bbb24f90e479e11f92 (diff)
Merge branch 'master' of https://github.com/pret/pokeemerald into LabelOWsProperly
Diffstat (limited to 'src/pokemon.c')
-rw-r--r--src/pokemon.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/pokemon.c b/src/pokemon.c
index 8e2e3b764..40f7e94b2 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -35,6 +35,7 @@
#include "pokenav.h"
#include "pokemon_storage_system.h"
#include "recorded_battle.h"
+#include "apprentice.h"
struct SpeciesItem
{
@@ -69,7 +70,6 @@ extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[];
extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[];
extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[];
extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
-extern const struct UnknownPokemonStruct3 gUnknown_08610970[];
extern const struct CompressedSpritePalette gMonPaletteTable[];
extern const struct CompressedSpritePalette gMonShinyPaletteTable[];
extern const u8 gTrainerClassNames[][13];
@@ -80,7 +80,6 @@ extern u8 StorageGetCurrentBox(void);
extern void set_unknown_box_id(u8);
extern void sub_803FA70(u8 battlerId);
extern u8 sav1_map_get_name(void);
-extern const u8 *sub_81A1650(u8, u8 language);
extern u8 GetFrontierEnemyMonLevel(u8);
extern bool8 InBattlePyramid(void);
extern bool8 InBattlePike(void);
@@ -2873,27 +2872,27 @@ void sub_8068338(struct Pokemon *mon, struct UnknownPokemonStruct *src, bool8 lv
CalculateMonStats(mon);
}
-void sub_8068528(struct Pokemon *mon, const struct UnknownPokemonStruct2 *src, u8 monId)
+void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 monId)
{
s32 i;
u16 evAmount;
u8 language;
- u32 otId = gUnknown_08610970[src->field_0_0].field_30;
- u32 personality = ((gUnknown_08610970[src->field_0_0].field_30 >> 8) | ((gUnknown_08610970[src->field_0_0].field_30 & 0xFF) << 8))
- + src->mons[monId].species + src->field_2;
+ u32 otId = gApprentices[src->id].otId;
+ u32 personality = ((gApprentices[src->id].otId >> 8) | ((gApprentices[src->id].otId & 0xFF) << 8))
+ + src->monData[monId].species + src->number;
CreateMon(mon,
- src->mons[monId].species,
- GetFrontierEnemyMonLevel(src->field_0_1 - 1),
+ src->monData[monId].species,
+ GetFrontierEnemyMonLevel(src->lvlMode - 1),
0x1F,
TRUE,
personality,
TRUE,
otId);
- SetMonData(mon, MON_DATA_HELD_ITEM, &src->mons[monId].item);
+ SetMonData(mon, MON_DATA_HELD_ITEM, &src->monData[monId].item);
for (i = 0; i < 4; i++)
- SetMonMoveSlot(mon, src->mons[monId].moves[i], i);
+ SetMonMoveSlot(mon, src->monData[monId].moves[i], i);
evAmount = MAX_TOTAL_EVS / NUM_STATS;
for (i = 0; i < NUM_STATS; i++)
@@ -2901,7 +2900,7 @@ void sub_8068528(struct Pokemon *mon, const struct UnknownPokemonStruct2 *src, u
language = src->language;
SetMonData(mon, MON_DATA_LANGUAGE, &language);
- SetMonData(mon, MON_DATA_OT_NAME, sub_81A1650(src->field_0_0, language));
+ SetMonData(mon, MON_DATA_OT_NAME, GetApprenticeNameInLanguage(src->id, language));
CalculateMonStats(mon);
}