diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/apprentice.h | 2 | ||||
-rw-r--r-- | include/constants/apprentice.h | 33 | ||||
-rw-r--r-- | include/constants/global.h | 2 | ||||
-rw-r--r-- | include/constants/pokemon.h | 4 | ||||
-rw-r--r-- | include/global.h | 28 | ||||
-rw-r--r-- | include/strings.h | 4 |
6 files changed, 59 insertions, 14 deletions
diff --git a/include/apprentice.h b/include/apprentice.h index 195106c53..ac7dff886 100644 --- a/include/apprentice.h +++ b/include/apprentice.h @@ -1,7 +1,7 @@ #ifndef GUARD_APPRENTICE_H #define GUARD_APPRENTICE_H -#define APPRENTICE_SPECIES_COUNT 10 +#include "constants/apprentice.h" struct ApprenticeTrainer { diff --git a/include/constants/apprentice.h b/include/constants/apprentice.h index 9db58bb8e..61f257767 100644 --- a/include/constants/apprentice.h +++ b/include/constants/apprentice.h @@ -1,6 +1,39 @@ #ifndef GUARD_CONSTANTS_APPRENTICE_H #define GUARD_CONSTANTS_APPRENTICE_H +#define APPRENTICE_SPECIES_COUNT 10 +#define NUM_APPRENTICES 16 + +#define APPRENTICE_LVL_MODE_50 (FRONTIER_LVL_50 + 1) +#define APPRENTICE_LVL_MODE_OPEN (FRONTIER_LVL_OPEN + 1) + +#define APPRENTICE_FUNC_0 0 +#define APPRENTICE_FUNC_1 1 +#define APPRENTICE_FUNC_2 2 +#define APPRENTICE_FUNC_3 3 +#define APPRENTICE_FUNC_4 4 +#define APPRENTICE_FUNC_5 5 +#define APPRENTICE_FUNC_6 6 +#define APPRENTICE_FUNC_MENU 7 +#define APPRENTICE_FUNC_PRINT_MSG 8 +#define APPRENTICE_FUNC_9 9 +#define APPRENTICE_FUNC_SET_TRUE_1 10 +#define APPRENTICE_FUNC_11 11 +#define APPRENTICE_FUNC_12 12 +#define APPRENTICE_FUNC_13 13 +#define APPRENTICE_FUNC_14 14 +#define APPRENTICE_FUNC_15 15 +#define APPRENTICE_FUNC_16 16 +#define APPRENTICE_FUNC_17 17 +#define APPRENTICE_FUNC_18 18 +#define APPRENTICE_FUNC_19 19 +#define APPRENTICE_FUNC_20 20 +#define APPRENTICE_FUNC_21 21 +#define APPRENTICE_FUNC_22 22 +#define APPRENTICE_FUNC_23 23 +#define APPRENTICE_FUNC_24 24 +#define APPRENTICE_FUNC_25 25 + #define APPRENTICE_ASK_WHICH_LEVEL 0 #define APPRENTICE_ASK_3SPECIES 1 #define APPRENTICE_ASK_2SPECIES 2 diff --git a/include/constants/global.h b/include/constants/global.h index 4ade1c823..c5dc86a12 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -48,6 +48,7 @@ #define EVENT_OBJECT_TEMPLATES_COUNT 64 #define DECOR_MAX_SECRET_BASE 16 #define DECOR_MAX_PLAYERS_HOUSE 12 +#define APPRENTICE_COUNT 4 #define PYRAMID_BAG_ITEMS_COUNT 10 #define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode. @@ -63,6 +64,7 @@ #define POKEMON_NAME_LENGTH 10 #define PLAYER_NAME_LENGTH 7 #define MAIL_WORDS_COUNT 9 +#define EASY_CHAT_BATTLE_WORDS_COUNT 6 #define MOVE_NAME_LENGTH 12 #define MALE 0 diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index b2084f154..5610a470c 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -195,6 +195,10 @@ #define MON_ALREADY_KNOWS_MOVE 0xFFFE #define MON_HAS_MAX_MOVES 0xFFFF +#define LEVEL_UP_MOVE_ID 0x01FF +#define LEVEL_UP_MOVE_LV 0xFE00 +#define LEVEL_UP_END 0xFFFF + #define MON_MALE 0x00 #define MON_FEMALE 0xFE #define MON_GENDERLESS 0xFF diff --git a/include/global.h b/include/global.h index af33f13cb..f067f5bbc 100644 --- a/include/global.h +++ b/include/global.h @@ -214,6 +214,8 @@ struct ApprenticeMon u16 item; }; +// This is for past players Apprentices or Apprentices received via Record Mix. +// For the current Apprentice, see struct PlayersApprentice struct Apprentice { u8 id:5; @@ -221,7 +223,7 @@ struct Apprentice u8 field_1; u8 number; struct ApprenticeMon party[MULTI_PARTY_SIZE]; - u16 easyChatWords[6]; + u16 easyChatWords[EASY_CHAT_BATTLE_WORDS_COUNT]; u8 playerId[TRAINER_ID_LENGTH]; u8 playerName[PLAYER_NAME_LENGTH]; u8 language; @@ -264,9 +266,9 @@ struct EmeraldBattleTowerRecord /*0x02*/ u16 winStreak; /*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1]; /*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH]; - /*0x10*/ u16 greeting[6]; - /*0x1C*/ u16 speechWon[6]; - /*0x28*/ u16 speechLost[6]; + /*0x10*/ u16 greeting[EASY_CHAT_BATTLE_WORDS_COUNT]; + /*0x1C*/ u16 speechWon[EASY_CHAT_BATTLE_WORDS_COUNT]; + /*0x28*/ u16 speechLost[EASY_CHAT_BATTLE_WORDS_COUNT]; /*0x34*/ struct BattleTowerPokemon party[4]; /*0xE4*/ u8 language; /*0xE8*/ u32 checksum; @@ -279,9 +281,9 @@ struct BattleTowerEReaderTrainer /*0x02*/ u16 winStreak; /*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1]; /*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH]; - /*0x10*/ u16 greeting[6]; - /*0x1C*/ u16 farewellPlayerLost[6]; - /*0x28*/ u16 farewellPlayerWon[6]; + /*0x10*/ u16 greeting[EASY_CHAT_BATTLE_WORDS_COUNT]; + /*0x1C*/ u16 farewellPlayerLost[EASY_CHAT_BATTLE_WORDS_COUNT]; + /*0x28*/ u16 farewellPlayerWon[EASY_CHAT_BATTLE_WORDS_COUNT]; /*0x34*/ struct BattleTowerPokemon party[FRONTIER_PARTY_SIZE]; /*0xB8*/ u32 checksum; }; @@ -413,7 +415,7 @@ struct Sav2_B8 struct PlayersApprentice { /*0xB0*/ u8 id; - /*0xB1*/ u8 activeLvlMode:2; // +1, 0 means not active + /*0xB1*/ u8 lvlMode:2; //0: Unassigned, 1: Lv 50, 2: Open Lv /*0xB1*/ u8 field_B1_1:4; /*0xB1*/ u8 field_B1_2:2; /*0xB2*/ u8 field_B2_0:3; @@ -465,7 +467,7 @@ struct SaveBlock2 /*0xA8*/ u32 field_A8; // Written to, but never read. /*0xAC*/ u32 encryptionKey; /*0xB0*/ struct PlayersApprentice playerApprentice; - /*0xDC*/ struct Apprentice apprentices[4]; // From record mixing. + /*0xDC*/ struct Apprentice apprentices[APPRENTICE_COUNT]; /*0x1EC*/ struct BerryCrush berryCrush; /*0x1FC*/ struct PokemonJumpResults pokeJump; /*0x20C*/ struct BerryPickingResults berryPick; @@ -949,10 +951,10 @@ struct SaveBlock1 /*0x2BA1*/ u8 outbreakPokemonProbability; /*0x2BA2*/ u16 outbreakDaysLeft; /*0x2BA4*/ struct GabbyAndTyData gabbyAndTyData; - /*0x2BB0*/ u16 easyChatProfile[6]; - /*0x2BBC*/ u16 easyChatBattleStart[6]; - /*0x2BC8*/ u16 easyChatBattleWon[6]; - /*0x2BD4*/ u16 easyChatBattleLost[6]; + /*0x2BB0*/ u16 easyChatProfile[EASY_CHAT_BATTLE_WORDS_COUNT]; + /*0x2BBC*/ u16 easyChatBattleStart[EASY_CHAT_BATTLE_WORDS_COUNT]; + /*0x2BC8*/ u16 easyChatBattleWon[EASY_CHAT_BATTLE_WORDS_COUNT]; + /*0x2BD4*/ u16 easyChatBattleLost[EASY_CHAT_BATTLE_WORDS_COUNT]; /*0x2BE0*/ struct MailStruct mail[MAIL_COUNT]; /*0x2E20*/ u8 additionalPhrases[8]; // bitfield for 33 additional phrases in easy chat system /*0x2E28*/ OldMan oldMan; diff --git a/include/strings.h b/include/strings.h index 7a477e166..43b87e888 100644 --- a/include/strings.h +++ b/include/strings.h @@ -2400,6 +2400,10 @@ extern const u8 gUnknown_085EDC45[]; extern const u8 gUnknown_085EDB00[]; extern const u8 gUnknown_085EDC84[]; +// Apprentice +extern const u8 gText_Give[]; +extern const u8 gText_NoNeed[]; + // Easy Chat Entry extern const u8 gText_StopGivingPkmnMail[]; extern const u8 gText_LikeToQuitQuiz[]; |