Document easy chat

This commit is contained in:
GriffinR 2021-02-22 12:12:35 -05:00
parent 1cac608dbe
commit c6141fea83
36 changed files with 3056 additions and 2787 deletions

View File

@ -3,7 +3,6 @@
.include "asm/macros/movement.inc" .include "asm/macros/movement.inc"
.include "asm/macros/window.inc" .include "asm/macros/window.inc"
.include "asm/macros/pokemon_data.inc" .include "asm/macros/pokemon_data.inc"
.include "asm/macros/ec.inc"
.include "asm/macros/map.inc" .include "asm/macros/map.inc"
.include "asm/macros/field_effect_script.inc" .include "asm/macros/field_effect_script.inc"
.include "asm/macros/trainer_hill.inc" .include "asm/macros/trainer_hill.inc"

View File

@ -1,19 +0,0 @@
.macro ec_word word
.2byte EC_WORD_\word
.endm
.macro ec_move1 name
.2byte (EC_GROUP_MOVE_1 << 9) | MOVE_\name
.endm
.macro ec_move2 name
.2byte (EC_GROUP_MOVE_2 << 9) | MOVE_\name
.endm
.macro ec_pokemon1 name
.2byte (EC_GROUP_POKEMON << 9) | SPECIES_\name
.endm
.macro ec_pokemon2 name
.2byte (EC_GROUP_POKEMON2 << 9) | SPECIES_\name
.endm

View File

@ -624,15 +624,15 @@ DewfordTown_EventScript_RejectTrendyPhrase:: @ 81E9952
call Common_ShowEasyChatScreen call Common_ShowEasyChatScreen
lock lock
faceplayer faceplayer
compare VAR_RESULT, 1 compare VAR_RESULT, TRUE
goto_if_eq DewfordTown_EventScript_GiveNewTrendyPhrase goto_if_eq DewfordTown_EventScript_GiveNewTrendyPhrase
compare VAR_RESULT, 0 compare VAR_RESULT, FALSE
goto_if_eq DewfordTown_EventScript_CancelNewTrendyPhrase goto_if_eq DewfordTown_EventScript_CancelNewTrendyPhrase
end end
DewfordTown_EventScript_GiveNewTrendyPhrase:: @ 81E997D DewfordTown_EventScript_GiveNewTrendyPhrase:: @ 81E997D
incrementgamestat GAME_STAT_STARTED_TRENDS incrementgamestat GAME_STAT_STARTED_TRENDS
compare VAR_0x8004, 0 compare VAR_0x8004, FALSE
goto_if_eq DewfordTown_EventScript_PhraseNotTrendyEnough goto_if_eq DewfordTown_EventScript_PhraseNotTrendyEnough
msgbox DewfordTown_Text_OfCourseIKnowAboutThat, MSGBOX_DEFAULT msgbox DewfordTown_Text_OfCourseIKnowAboutThat, MSGBOX_DEFAULT
release release

View File

Before

Width:  |  Height:  |  Size: 419 B

After

Width:  |  Height:  |  Size: 419 B

View File

Before

Width:  |  Height:  |  Size: 199 B

After

Width:  |  Height:  |  Size: 199 B

View File

Before

Width:  |  Height:  |  Size: 260 B

After

Width:  |  Height:  |  Size: 260 B

View File

@ -28,29 +28,29 @@
#define EASY_CHAT_PERSON_BOY 2 #define EASY_CHAT_PERSON_BOY 2
#define EASY_CHAT_PERSON_DISPLAY_NONE 3 #define EASY_CHAT_PERSON_DISPLAY_NONE 3
#define EC_GROUP_POKEMON 0x0 #define EC_GROUP_POKEMON 0
#define EC_GROUP_TRAINER 0x1 #define EC_GROUP_TRAINER 1
#define EC_GROUP_STATUS 0x2 #define EC_GROUP_STATUS 2
#define EC_GROUP_BATTLE 0x3 #define EC_GROUP_BATTLE 3
#define EC_GROUP_GREETINGS 0x4 #define EC_GROUP_GREETINGS 4
#define EC_GROUP_PEOPLE 0x5 #define EC_GROUP_PEOPLE 5
#define EC_GROUP_VOICES 0x6 #define EC_GROUP_VOICES 6
#define EC_GROUP_SPEECH 0x7 #define EC_GROUP_SPEECH 7
#define EC_GROUP_ENDINGS 0x8 #define EC_GROUP_ENDINGS 8
#define EC_GROUP_FEELINGS 0x9 #define EC_GROUP_FEELINGS 9
#define EC_GROUP_CONDITIONS 0xa #define EC_GROUP_CONDITIONS 10
#define EC_GROUP_ACTIONS 0xb #define EC_GROUP_ACTIONS 11
#define EC_GROUP_LIFESTYLE 0xc #define EC_GROUP_LIFESTYLE 12
#define EC_GROUP_HOBBIES 0xd #define EC_GROUP_HOBBIES 13
#define EC_GROUP_TIME 0xe #define EC_GROUP_TIME 14
#define EC_GROUP_MISC 0xf #define EC_GROUP_MISC 15
#define EC_GROUP_ADJECTIVES 0x10 #define EC_GROUP_ADJECTIVES 16
#define EC_GROUP_EVENTS 0x11 #define EC_GROUP_EVENTS 17
#define EC_GROUP_MOVE_1 0x12 #define EC_GROUP_MOVE_1 18
#define EC_GROUP_MOVE_2 0x13 #define EC_GROUP_MOVE_2 19
#define EC_GROUP_TRENDY_SAYING 0x14 #define EC_GROUP_TRENDY_SAYING 20
#define EC_GROUP_POKEMON_2 0x15 #define EC_GROUP_POKEMON_NATIONAL 21
#define EC_NUM_GROUPS 0x16 #define EC_NUM_GROUPS 22
// TRAINER // TRAINER
#define EC_WORD_I_CHOOSE_YOU (EC_GROUP_TRAINER << 9) | 0x0 #define EC_WORD_I_CHOOSE_YOU (EC_GROUP_TRAINER << 9) | 0x0
@ -1105,13 +1105,22 @@
#define PHRASE_COOL_LATIOS 4 #define PHRASE_COOL_LATIOS 4
#define PHRASE_SUPER_HUSTLE 5 #define PHRASE_SUPER_HUSTLE 5
#define EC_NUM_ALPHABET_GROUPS 27 // 26 (1 for each letter) + 1 (Others)
#define EC_MAX_WORDS_IN_GROUP 270 // The closest is words by letter S, at 262
#define EC_MASK_GROUP 0x7F
#define EC_MASK_INDEX 0x1FF
#define EC_POKEMON(mon) ((EC_GROUP_POKEMON << 9) | SPECIES_##mon) #define EC_POKEMON(mon) ((EC_GROUP_POKEMON << 9) | SPECIES_##mon)
#define EC_POKEMON2(mon) ((EC_GROUP_POKEMON_2 << 9) | SPECIES_##mon) #define EC_POKEMON_NATIONAL(mon) ((EC_GROUP_POKEMON_NATIONAL << 9) | SPECIES_##mon)
#define EC_MOVE(move) ((EC_GROUP_MOVE_1 << 9) | MOVE_##move) #define EC_MOVE(move) ((EC_GROUP_MOVE_1 << 9) | MOVE_##move)
#define EC_MOVE2(move) ((EC_GROUP_MOVE_2 << 9) | MOVE_##move) #define EC_MOVE2(move) ((EC_GROUP_MOVE_2 << 9) | MOVE_##move)
#define EC_GROUP(word) ((word) >> 9) #define EC_GROUP(word) ((word) >> 9)
#define EC_INDEX(word) ((word) & 0x1FF) #define EC_INDEX(word) ((word) & EC_MASK_INDEX)
#define EC_WORD(group, index) ((((group) & 0x7F) << 9) | ((index) & 0x1FF)) #define EC_WORD(group, index) ((((group) & EC_MASK_GROUP) << 9) | ((index) & EC_MASK_INDEX))
#define EC_EMPTY_WORD 0xFFFF
#endif // GUARD_CONSTANTS_EASY_CHAT_H #endif // GUARD_CONSTANTS_EASY_CHAT_H

View File

@ -84,6 +84,7 @@
#define MAIL_WORDS_COUNT 9 #define MAIL_WORDS_COUNT 9
#define EASY_CHAT_BATTLE_WORDS_COUNT 6 #define EASY_CHAT_BATTLE_WORDS_COUNT 6
#define MOVE_NAME_LENGTH 12 #define MOVE_NAME_LENGTH 12
#define NUM_QUESTIONNAIRE_WORDS 4
#define MALE 0 #define MALE 0
#define FEMALE 1 #define FEMALE 1

View File

@ -4,7 +4,7 @@
void InitDewfordTrend(void); void InitDewfordTrend(void);
void UpdateDewfordTrendPerDay(u16); void UpdateDewfordTrendPerDay(u16);
void UpdateDewfordTrendPerDay(u16 days); void UpdateDewfordTrendPerDay(u16 days);
bool8 sub_81226D8(u16 *a); bool8 IsPhraseTrendy(u16 *a);
void ReceiveEasyChatPairsData(struct EasyChatPair *a, size_t b, u8 unused); void ReceiveEasyChatPairsData(struct EasyChatPair *a, size_t b, u8 unused);

View File

@ -24,55 +24,55 @@ struct EasyChatScreen
/*0x01*/ u8 templateId; /*0x01*/ u8 templateId;
/*0x02*/ u8 numColumns; /*0x02*/ u8 numColumns;
/*0x03*/ u8 numRows; /*0x03*/ u8 numRows;
/*0x04*/ u8 state; /*0x04*/ u8 inputState;
/*0x05*/ s8 mainCursorColumn; /*0x05*/ s8 mainCursorColumn;
/*0x06*/ s8 mainCursorRow; /*0x06*/ s8 mainCursorRow;
/*0x07*/ u8 unk_07; /*0x07*/ u8 maxWords;
/*0x08*/ u8 stateBackup; /*0x08*/ u8 inputStateBackup;
/*0x09*/ u8 unk_09; /*0x09*/ bool8 inAlphabetMode;
/*0x0A*/ s8 unk_0a; /*0x0A*/ s8 keyboardColumn;
/*0x0B*/ s8 unk_0b; /*0x0B*/ s8 keyboardRow;
/*0x0C*/ u8 unk_0c; /*0x0C*/ u8 keyboardScrollOffset;
/*0x0D*/ u8 unk_0d; /*0x0D*/ u8 keyboardLastRow;
/*0x0E*/ u8 unk_0e; /*0x0E*/ u8 wordSelectScrollOffset;
/*0x0F*/ u8 unk_0f; /*0x0F*/ u8 wordSelectLastRow;
/*0x10*/ s8 unk_10; /*0x10*/ s8 wordSelectColumn;
/*0x11*/ s8 unk_11; /*0x11*/ s8 wordSelectRow;
/*0x12*/ u8 displayedPersonType; /*0x12*/ u8 displayedPersonType;
/*0x13*/ u8 unk_13; /*0x13*/ u8 unused; // Set to 0, never read
/*0x14*/ u8 unk_14[0x20]; /*0x14*/ u8 quizTitle[32];
/*0x34*/ const u8 *titleText; /*0x34*/ const u8 *titleText;
/*0x38*/ u16 *words; /*0x38*/ u16 *savedPhrase;
/*0x3C*/ u16 ecWordBuffer[9]; /*0x3C*/ u16 currentPhrase[9];
}; };
struct Unk203A11C struct EasyChatScreenControl
{ {
u16 unk0; u16 funcState;
u16 windowId; u16 windowId;
u16 unk4; u16 currentFuncId;
u8 unk6; u8 curWindowAnimState;
u8 unk7; u8 destWindowAnimState;
s8 unk8; s8 windowAnimStateDir;
u8 unk9; u8 modeWindowState;
u8 unkA; bool8 fourFooterOptions; // Never read (template is used directly instead)
u8 unkB[0xC1]; u8 phrasePrintBuffer[193];
u8 unkCC[0x202]; u8 wordSelectPrintBuffer[514];
u16 unk2CE; u16 scrollOffset;
int unk2D0; int scrollDest;
int unk2D4; int scrollSpeed;
struct Sprite *unk2D8; struct Sprite *mainCursorSprite;
struct Sprite *unk2DC; struct Sprite *rectangleCursorSpriteRight;
struct Sprite *unk2E0; struct Sprite *rectangleCursorSpriteLeft;
struct Sprite *unk2E4; struct Sprite *wordSelectCursorSprite;
struct Sprite *unk2E8; struct Sprite *buttonWindowSprite;
struct Sprite *unk2EC; struct Sprite *modeWindowSprite;
struct Sprite *unk2F0; struct Sprite *scrollIndicatorUpSprite;
struct Sprite *unk2F4; struct Sprite *scrollIndicatorDownSprite;
struct Sprite *unk2F8; struct Sprite *startButtonSprite;
struct Sprite *unk2FC; struct Sprite *selectButtonSprite;
u16 unk300[BG_SCREEN_SIZE / 2]; u16 bg1TilemapBuffer[BG_SCREEN_SIZE / 2];
u16 unkB00[BG_SCREEN_SIZE / 2]; u16 bg3TilemapBuffer[BG_SCREEN_SIZE / 2];
}; };
struct EasyChatPhraseFrameDimensions struct EasyChatPhraseFrameDimensions
@ -104,15 +104,15 @@ struct EasyChatGroup
u16 numEnabledWords; u16 numEnabledWords;
}; };
struct Unk203A120 struct EasyChatScreenWordData
{ {
u16 unk0; u16 numUnlockedGroups;
u16 unk2[EC_NUM_GROUPS]; u16 unlockedGroupIds[EC_NUM_GROUPS];
u16 unk2E[27]; u16 numUnlockedAlphabetWords[EC_NUM_ALPHABET_GROUPS];
u16 unk64[27][270]; u16 unlockedAlphabetWords[EC_NUM_ALPHABET_GROUPS][EC_MAX_WORDS_IN_GROUP];
u8 filler3958[0x2C]; u8 unused[44];
u16 unk3984[0x10E]; u16 selectedGroupWords[EC_MAX_WORDS_IN_GROUP];
u16 unk3BA0; u16 numSelectedGroupWords;
}; /*size = 0x3BA4*/ }; /*size = 0x3BA4*/
struct EasyChatWordsByLetter struct EasyChatWordsByLetter
@ -124,7 +124,7 @@ struct EasyChatWordsByLetter
void InitEasyChatPhrases(void); void InitEasyChatPhrases(void);
void ShowEasyChatScreen(void); void ShowEasyChatScreen(void);
u8 * CopyEasyChatWord(u8 *dest, u16 word); u8 * CopyEasyChatWord(u8 *dest, u16 word);
bool32 sub_811F8D8(int word); bool32 IsEasyChatAnswerUnlocked(int word);
void InitializeEasyChatWordArray(u16 *words, u16 length); void InitializeEasyChatWordArray(u16 *words, u16 length);
u8 *ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows); u8 *ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows);
bool8 IsBardWordInvalid(u16 word); bool8 IsBardWordInvalid(u16 word);
@ -133,7 +133,7 @@ u16 GetNewHipsterPhraseToTeach(void);
u16 EasyChat_GetNumWordsInGroup(u8); u16 EasyChat_GetNumWordsInGroup(u8);
u16 GetRandomEasyChatWordFromUnlockedGroup(u16); u16 GetRandomEasyChatWordFromUnlockedGroup(u16);
void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback, u8 displayedPersonType); void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback, u8 displayedPersonType);
void sub_811F8BC(void); void InitQuestionnaireWords(void);
void UnlockAdditionalPhrase(u8 additionalPhraseId); void UnlockAdditionalPhrase(u8 additionalPhraseId);
#endif // GUARD_EASYCHAT_H #endif // GUARD_EASYCHAT_H

View File

@ -893,7 +893,7 @@ struct MysteryEventStruct
/*0x000 0x322C*/ struct WonderNewsSaveStruct wonderNews; /*0x000 0x322C*/ struct WonderNewsSaveStruct wonderNews;
/*0x1c0 0x33EC*/ struct WonderCardSaveStruct wonderCard; /*0x1c0 0x33EC*/ struct WonderCardSaveStruct wonderCard;
/*0x310 0x353C*/ struct MEventBuffer_3430 buffer_310; /*0x310 0x353C*/ struct MEventBuffer_3430 buffer_310;
/*0x338 0x3564*/ u16 unk_338[4]; /*0x338 0x3564*/ u16 questionnaireWords[NUM_QUESTIONNAIRE_WORDS];
/*0x340 0x356C*/ struct MysteryEventStruct unk_340; /*0x340 0x356C*/ struct MysteryEventStruct unk_340;
/*0x344 0x3570*/ u32 unk_344[2][5]; /*0x344 0x3570*/ u32 unk_344[2][5];
}; // 0x36C 0x3598 }; // 0x36C 0x3598

View File

@ -4977,10 +4977,10 @@ extern const u32 gEasyChatWindow_Gfx[];
extern const u32 gEasyChatWindow_Tilemap[]; extern const u32 gEasyChatWindow_Tilemap[];
extern const u32 gEasyChatMode_Gfx[]; extern const u32 gEasyChatMode_Gfx[];
extern const u16 gEasyChatMode_Pal[]; extern const u16 gEasyChatMode_Pal[];
extern const u32 gEasyChatCursor_Gfx[]; extern const u32 gEasyChatRectangleCursor_Gfx[];
extern const u16 gEasyChatCursor_Pal[]; extern const u16 gEasyChatRectangleCursor_Pal[];
extern const u32 gEasyChatRightWindow_Gfx[]; extern const u32 gEasyChatButtonWindow_Gfx[];
extern const u16 gEasyChatRightWindow_Pal[]; extern const u16 gEasyChatButtonWindow_Pal[];
// Use Pokeblock // Use Pokeblock
extern const u32 gUsePokeblockCondition_Gfx[]; extern const u32 gUsePokeblockCondition_Gfx[];

View File

@ -21,7 +21,7 @@ struct MEventStruct_Unk1442CC
u16 unk_0C; u16 unk_0C;
u32 unk_10; u32 unk_10;
u16 unk_14; u16 unk_14;
u16 unk_16[4]; u16 unk_16[NUM_QUESTIONNAIRE_WORDS];
struct MEventBuffer_3430_Sub unk_20; struct MEventBuffer_3430_Sub unk_20;
u8 unk_44; u8 unk_44;
u8 unk_45[7]; u8 unk_45[7];
@ -36,7 +36,7 @@ struct WonderNews *GetSavedWonderNews(void);
struct WonderCard *GetSavedWonderCard(void); struct WonderCard *GetSavedWonderCard(void);
struct MEventBuffer_3430_Sub *sav1_get_mevent_buffer_2(void); struct MEventBuffer_3430_Sub *sav1_get_mevent_buffer_2(void);
struct MysteryEventStruct *sub_801B044(void); struct MysteryEventStruct *sub_801B044(void);
u16 *sub_801B058(void); u16 *GetQuestionnaireWordsPtr(void);
void DestroyWonderNews(void); void DestroyWonderNews(void);
bool32 sub_801B078(const struct WonderNews *src); bool32 sub_801B078(const struct WonderNews *src);
bool32 ValidateReceivedWonderNews(void); bool32 ValidateReceivedWonderNews(void);

View File

@ -144,7 +144,7 @@ void ResetApprenticeStruct(struct Apprentice *apprentice)
u8 i; u8 i;
for (i = 0; i < ARRAY_COUNT(apprentice->speechWon); i++) for (i = 0; i < ARRAY_COUNT(apprentice->speechWon); i++)
apprentice->speechWon[i] = 0xFFFF; apprentice->speechWon[i] = EC_EMPTY_WORD;
apprentice->playerName[0] = EOS; apprentice->playerName[0] = EOS;
apprentice->id = NUM_APPRENTICES; apprentice->id = NUM_APPRENTICES;
@ -158,7 +158,7 @@ void ResetAllApprenticeData(void)
for (i = 0; i < APPRENTICE_COUNT; i++) for (i = 0; i < APPRENTICE_COUNT; i++)
{ {
for (j = 0; j < ARRAY_COUNT(gSaveBlock2Ptr->apprentices[i].speechWon); j++) for (j = 0; j < ARRAY_COUNT(gSaveBlock2Ptr->apprentices[i].speechWon); j++)
gSaveBlock2Ptr->apprentices[i].speechWon[j] = 0xFFFF; gSaveBlock2Ptr->apprentices[i].speechWon[j] = EC_EMPTY_WORD;
gSaveBlock2Ptr->apprentices[i].id = NUM_APPRENTICES; gSaveBlock2Ptr->apprentices[i].id = NUM_APPRENTICES;
gSaveBlock2Ptr->apprentices[i].playerName[0] = EOS; gSaveBlock2Ptr->apprentices[i].playerName[0] = EOS;
gSaveBlock2Ptr->apprentices[i].lvlMode = 0; gSaveBlock2Ptr->apprentices[i].lvlMode = 0;

View File

@ -28,7 +28,7 @@ const struct BardSound *GetWordSounds(u16 word)
switch (category) switch (category)
{ {
case EC_GROUP_POKEMON: case EC_GROUP_POKEMON:
case EC_GROUP_POKEMON_2: case EC_GROUP_POKEMON_NATIONAL:
ptr = gBardSounds_Pokemon; ptr = gBardSounds_Pokemon;
break; break;
case EC_GROUP_MOVE_1: case EC_GROUP_MOVE_1:

View File

@ -428,32 +428,32 @@ static const u16 sNPCSpeeches[][EASY_CHAT_BATTLE_WORDS_COUNT] =
{EC_WORD_DID, EC_WORD_YOU, EC_WORD_MAKE, EC_WORD_A, EC_WORD_MISTAKE, EC_WORD_QUES}, {EC_WORD_DID, EC_WORD_YOU, EC_WORD_MAKE, EC_WORD_A, EC_WORD_MISTAKE, EC_WORD_QUES},
{EC_WORD_IT_S, EC_WORD_MEAN, EC_WORD_AND, EC_WORD_AWFUL, EC_WORD_IN, EC_WORD_HERE}, {EC_WORD_IT_S, EC_WORD_MEAN, EC_WORD_AND, EC_WORD_AWFUL, EC_WORD_IN, EC_WORD_HERE},
{EC_WORD_I_AM, EC_WORD_SO, EC_WORD_TIRED, EC_WORD_OF, EC_WORD_THIS, EC_WORD_PLACE}, {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_TIRED, EC_WORD_OF, EC_WORD_THIS, EC_WORD_PLACE},
{EC_WORD_I, EC_WORD_QUITE, EC_WORD_ENJOY, EC_WORD_THIS, EC_WORD_CHALLENGE, 0xFFFF}, {EC_WORD_I, EC_WORD_QUITE, EC_WORD_ENJOY, EC_WORD_THIS, EC_WORD_CHALLENGE, EC_EMPTY_WORD},
{EC_WORD_LOOK, EC_WORD_AT, EC_WORD_HOW, EC_WORD_I, EC_MOVE2(TACKLE), EC_WORD_THIS}, {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_HOW, EC_WORD_I, EC_MOVE2(TACKLE), EC_WORD_THIS},
{EC_WORD_READY, EC_WORD_TO, EC_WORD_GIVE_UP, EC_WORD_YET, EC_WORD_QUES, 0xFFFF}, {EC_WORD_READY, EC_WORD_TO, EC_WORD_GIVE_UP, EC_WORD_YET, EC_WORD_QUES, EC_EMPTY_WORD},
{EC_WORD_OH, EC_WORD_NO, EC_WORD_WHO, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_QUES}, {EC_WORD_OH, EC_WORD_NO, EC_WORD_WHO, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_QUES},
{EC_WORD_I_VE, EC_WORD_BEEN, EC_WORD_WANDERING, EC_WORD_ABOUT, EC_WORD_FOREVER, EC_WORD_ELLIPSIS}, {EC_WORD_I_VE, EC_WORD_BEEN, EC_WORD_WANDERING, EC_WORD_ABOUT, EC_WORD_FOREVER, EC_WORD_ELLIPSIS},
{EC_WORD_I, EC_WORD_THINK, EC_WORD_I, EC_WORD_WILL, EC_WORD_GIVE_UP, 0xFFFF}, {EC_WORD_I, EC_WORD_THINK, EC_WORD_I, EC_WORD_WILL, EC_WORD_GIVE_UP, EC_EMPTY_WORD},
{EC_WORD_WHAT, EC_WORD_SHOULD, EC_WORD_I, EC_WORD_DO, EC_WORD_NEXT, EC_WORD_QUES}, {EC_WORD_WHAT, EC_WORD_SHOULD, EC_WORD_I, EC_WORD_DO, EC_WORD_NEXT, EC_WORD_QUES},
{EC_WORD_I, EC_WORD_CAN_WIN, EC_WORD_WITH, EC_WORD_MY, EC_MOVE(SHEER_COLD), EC_WORD_GENIUS}, {EC_WORD_I, EC_WORD_CAN_WIN, EC_WORD_WITH, EC_WORD_MY, EC_MOVE(SHEER_COLD), EC_WORD_GENIUS},
{EC_WORD_WON_T, EC_WORD_SOMEONE, EC_WORD_COOL, EC_WORD_SHOW, EC_WORD_UP, EC_WORD_QUES}, {EC_WORD_WON_T, EC_WORD_SOMEONE, EC_WORD_COOL, EC_WORD_SHOW, EC_WORD_UP, EC_WORD_QUES},
{EC_WORD_BATTLE, EC_WORD_GAME, EC_WORD_IS, EC_WORD_AWESOME, EC_WORD_EXCL, 0xFFFF}, {EC_WORD_BATTLE, EC_WORD_GAME, EC_WORD_IS, EC_WORD_AWESOME, EC_WORD_EXCL, EC_EMPTY_WORD},
{EC_WORD_I, EC_WORD_CAN_T, EC_WORD_TAKE, EC_WORD_THIS, EC_WORD_ANY, EC_WORD_MORE}, {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_TAKE, EC_WORD_THIS, EC_WORD_ANY, EC_WORD_MORE},
{EC_WORD_I, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_IF, EC_WORD_IT_S, EC_WORD_OKAY}, {EC_WORD_I, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_IF, EC_WORD_IT_S, EC_WORD_OKAY},
{EC_WORD_OH, EC_WORD_NO, EC_WORD_EXCL, EC_WORD_NOT, EC_WORD_ANOTHER, EC_WORD_TRAINER}, {EC_WORD_OH, EC_WORD_NO, EC_WORD_EXCL, EC_WORD_NOT, EC_WORD_ANOTHER, EC_WORD_TRAINER},
{EC_WORD_IT, EC_WORD_HAS, EC_WORD_TO, EC_WORD_BE, EC_WORD_LEFT, EC_WORD_NEXT}, {EC_WORD_IT, EC_WORD_HAS, EC_WORD_TO, EC_WORD_BE, EC_WORD_LEFT, EC_WORD_NEXT},
{EC_WORD_IT, EC_WORD_MUST_BE, EC_WORD_OVER, EC_WORD_SOON, EC_WORD_RIGHT, EC_WORD_QUES}, {EC_WORD_IT, EC_WORD_MUST_BE, EC_WORD_OVER, EC_WORD_SOON, EC_WORD_RIGHT, EC_WORD_QUES},
{EC_WORD_THIS, EC_WORD_IS, EC_WORD_TOTALLY, EC_WORD_EASY, EC_WORD_ISN_T_IT_QUES, 0xFFFF}, {EC_WORD_THIS, EC_WORD_IS, EC_WORD_TOTALLY, EC_WORD_EASY, EC_WORD_ISN_T_IT_QUES, EC_EMPTY_WORD},
{EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_POWER, EC_WORD_ON, 0xFFFF}, {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_POWER, EC_WORD_ON, EC_EMPTY_WORD},
{EC_WORD_THERE, EC_WORD_IS, EC_WORD_NO, EC_WORD_GIVE_UP, EC_WORD_IN, EC_WORD_ME}, {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NO, EC_WORD_GIVE_UP, EC_WORD_IN, EC_WORD_ME},
{EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_GOING, EC_WORD_TO, EC_WORD_MAKE, EC_WORD_IT}, {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_GOING, EC_WORD_TO, EC_WORD_MAKE, EC_WORD_IT},
{EC_WORD_GO, EC_WORD_ON, EC_WORD_I, EC_WORD_CAN_T, EC_WORD_ANY, EC_WORD_MORE}, {EC_WORD_GO, EC_WORD_ON, EC_WORD_I, EC_WORD_CAN_T, EC_WORD_ANY, EC_WORD_MORE},
{EC_WORD_A, EC_WORD_TRAINER, EC_WORD_AFTER, EC_WORD_ANOTHER, EC_WORD_ELLIPSIS, 0xFFFF}, {EC_WORD_A, EC_WORD_TRAINER, EC_WORD_AFTER, EC_WORD_ANOTHER, EC_WORD_ELLIPSIS, EC_EMPTY_WORD},
{EC_WORD_DO, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_STEEL, EC_WORD_POKEMON, EC_WORD_QUES}, {EC_WORD_DO, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_STEEL, EC_WORD_POKEMON, EC_WORD_QUES},
{EC_WORD_EVERY, EC_WORD_TRAINER, EC_WORD_HERE, EC_WORD_IS, EC_WORD_TOO_WEAK, 0xFFFF}, {EC_WORD_EVERY, EC_WORD_TRAINER, EC_WORD_HERE, EC_WORD_IS, EC_WORD_TOO_WEAK, EC_EMPTY_WORD},
{EC_WORD_YOU, EC_WORD_THINK, EC_WORD_THIS, EC_WORD_IS, EC_WORD_EASY, EC_WORD_QUES}, {EC_WORD_YOU, EC_WORD_THINK, EC_WORD_THIS, EC_WORD_IS, EC_WORD_EASY, EC_WORD_QUES},
{EC_WORD_WHAT, EC_WORD_WILL, EC_WORD_COME, EC_WORD_AFTER, EC_WORD_THIS, EC_WORD_QUES}, {EC_WORD_WHAT, EC_WORD_WILL, EC_WORD_COME, EC_WORD_AFTER, EC_WORD_THIS, EC_WORD_QUES},
{EC_WORD_I_AM, EC_WORD_JUST, EC_WORD_SO, EC_WORD_CONFUSED, EC_WORD_EXCL, 0xFFFF}, {EC_WORD_I_AM, EC_WORD_JUST, EC_WORD_SO, EC_WORD_CONFUSED, EC_WORD_EXCL, EC_EMPTY_WORD},
{EC_WORD_I, EC_WORD_JUST, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO_HOME, EC_WORD_ELLIPSIS}, {EC_WORD_I, EC_WORD_JUST, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO_HOME, EC_WORD_ELLIPSIS},
{EC_WORD_YEEHAW_EXCL, EC_WORD_THIS, EC_WORD_PLACE, EC_WORD_IS, EC_WORD_A, EC_WORD_PUSHOVER}, {EC_WORD_YEEHAW_EXCL, EC_WORD_THIS, EC_WORD_PLACE, EC_WORD_IS, EC_WORD_A, EC_WORD_PUSHOVER},
{EC_WORD_I, EC_WORD_HAVEN_T, EC_WORD_BEEN, EC_WORD_IN, EC_WORD_A, EC_WORD_BATTLE}, {EC_WORD_I, EC_WORD_HAVEN_T, EC_WORD_BEEN, EC_WORD_IN, EC_WORD_A, EC_WORD_BATTLE},

View File

@ -25,28 +25,28 @@
#include "trendysaying.h" #include "trendysaying.h"
const struct BardSound (*const gBardSoundsTable[EC_NUM_GROUPS])[6] = { const struct BardSound (*const gBardSoundsTable[EC_NUM_GROUPS])[6] = {
[EC_GROUP_POKEMON] = NULL, // Handled by gBardSounds_Pokemon [EC_GROUP_POKEMON] = NULL, // Handled by gBardSounds_Pokemon
[EC_GROUP_TRAINER] = gBardSounds_Trainer, [EC_GROUP_TRAINER] = gBardSounds_Trainer,
[EC_GROUP_STATUS] = gBardSounds_Status, [EC_GROUP_STATUS] = gBardSounds_Status,
[EC_GROUP_BATTLE] = gBardSounds_Battle, [EC_GROUP_BATTLE] = gBardSounds_Battle,
[EC_GROUP_GREETINGS] = gBardSounds_Greetings, [EC_GROUP_GREETINGS] = gBardSounds_Greetings,
[EC_GROUP_PEOPLE] = gBardSounds_People, [EC_GROUP_PEOPLE] = gBardSounds_People,
[EC_GROUP_VOICES] = gBardSounds_Voices, [EC_GROUP_VOICES] = gBardSounds_Voices,
[EC_GROUP_SPEECH] = gBardSounds_Speech, [EC_GROUP_SPEECH] = gBardSounds_Speech,
[EC_GROUP_ENDINGS] = gBardSounds_Endings, [EC_GROUP_ENDINGS] = gBardSounds_Endings,
[EC_GROUP_FEELINGS] = gBardSounds_Feelings, [EC_GROUP_FEELINGS] = gBardSounds_Feelings,
[EC_GROUP_CONDITIONS] = gBardSounds_Conditions, [EC_GROUP_CONDITIONS] = gBardSounds_Conditions,
[EC_GROUP_ACTIONS] = gBardSounds_Actions, [EC_GROUP_ACTIONS] = gBardSounds_Actions,
[EC_GROUP_LIFESTYLE] = gBardSounds_Lifestyle, [EC_GROUP_LIFESTYLE] = gBardSounds_Lifestyle,
[EC_GROUP_HOBBIES] = gBardSounds_Hobbies, [EC_GROUP_HOBBIES] = gBardSounds_Hobbies,
[EC_GROUP_TIME] = gBardSounds_Time, [EC_GROUP_TIME] = gBardSounds_Time,
[EC_GROUP_MISC] = gBardSounds_Misc, [EC_GROUP_MISC] = gBardSounds_Misc,
[EC_GROUP_ADJECTIVES] = gBardSounds_Adjectives, [EC_GROUP_ADJECTIVES] = gBardSounds_Adjectives,
[EC_GROUP_EVENTS] = gBardSounds_Events, [EC_GROUP_EVENTS] = gBardSounds_Events,
[EC_GROUP_MOVE_1] = NULL, // Handled by gBardSounds_Moves [EC_GROUP_MOVE_1] = NULL, // Handled by gBardSounds_Moves
[EC_GROUP_MOVE_2] = NULL, // Handled by gBardSounds_Moves [EC_GROUP_MOVE_2] = NULL, // Handled by gBardSounds_Moves
[EC_GROUP_TRENDY_SAYING] = gBardSounds_TrendySaying, [EC_GROUP_TRENDY_SAYING] = gBardSounds_TrendySaying,
[EC_GROUP_POKEMON_2] = NULL // Handled by gBardSounds_Pokemon [EC_GROUP_POKEMON_NATIONAL] = NULL // Handled by gBardSounds_Pokemon
}; };
#endif //GUARD_BARD_SOUNDS_TABLE_H #endif //GUARD_BARD_SOUNDS_TABLE_H

View File

@ -326,7 +326,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
.facilityClass = FACILITY_CLASS_LASS, .facilityClass = FACILITY_CLASS_LASS,
.species = {SPECIES_SWALOT, SPECIES_XATU, SPECIES_ALTARIA, SPECIES_GOLDUCK, SPECIES_FLYGON, SPECIES_ALAKAZAM, SPECIES_GARDEVOIR, SPECIES_WAILORD, SPECIES_GRUMPIG, SPECIES_MIGHTYENA}, .species = {SPECIES_SWALOT, SPECIES_XATU, SPECIES_ALTARIA, SPECIES_GOLDUCK, SPECIES_FLYGON, SPECIES_ALAKAZAM, SPECIES_GARDEVOIR, SPECIES_WAILORD, SPECIES_GRUMPIG, SPECIES_MIGHTYENA},
.id = 3, .id = 3,
.speechLost = {EC_WORD_IS, EC_WORD_THIS, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_QUES, 0xFFFF}, .speechLost = {EC_WORD_IS, EC_WORD_THIS, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_QUES, EC_EMPTY_WORD},
}, },
{ {
.name = {_("ヨウカ"), _("MACY"), _("AMELIE"), _("CLEO"), _("MARIA"), _("ELISA")}, .name = {_("ヨウカ"), _("MACY"), _("AMELIE"), _("CLEO"), _("MARIA"), _("ELISA")},
@ -358,7 +358,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
.facilityClass = FACILITY_CLASS_BEAUTY, .facilityClass = FACILITY_CLASS_BEAUTY,
.species = {SPECIES_NINETALES, SPECIES_ALAKAZAM, SPECIES_SCEPTILE, SPECIES_SALAMENCE, SPECIES_GOLDUCK, SPECIES_MAWILE, SPECIES_WEEZING, SPECIES_LANTURN, SPECIES_GARDEVOIR, SPECIES_MILOTIC}, .species = {SPECIES_NINETALES, SPECIES_ALAKAZAM, SPECIES_SCEPTILE, SPECIES_SALAMENCE, SPECIES_GOLDUCK, SPECIES_MAWILE, SPECIES_WEEZING, SPECIES_LANTURN, SPECIES_GARDEVOIR, SPECIES_MILOTIC},
.id = 7, .id = 7,
.speechLost = {EC_WORD_YOU_RE, EC_WORD_STRONG, EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_QUES, 0xFFFF}, .speechLost = {EC_WORD_YOU_RE, EC_WORD_STRONG, EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_QUES, EC_EMPTY_WORD},
}, },
{ {
.name = {_("スミレ"), _("ANNIE"), _("ANNIE"), _("IMELDA"), _("INES"), _("ROSA")}, .name = {_("スミレ"), _("ANNIE"), _("ANNIE"), _("IMELDA"), _("INES"), _("ROSA")},
@ -374,7 +374,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
.facilityClass = FACILITY_CLASS_HIKER, .facilityClass = FACILITY_CLASS_HIKER,
.species = {SPECIES_SKARMORY, SPECIES_GOLEM, SPECIES_BLAZIKEN, SPECIES_CAMERUPT, SPECIES_DONPHAN, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_TROPIUS, SPECIES_SOLROCK, SPECIES_RHYDON}, .species = {SPECIES_SKARMORY, SPECIES_GOLEM, SPECIES_BLAZIKEN, SPECIES_CAMERUPT, SPECIES_DONPHAN, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_TROPIUS, SPECIES_SOLROCK, SPECIES_RHYDON},
.id = 9, .id = 9,
.speechLost = {EC_WORD_WE, EC_WORD_WERE, EC_WORD_JUST, EC_WORD_SHREDDED, EC_WORD_ELLIPSIS, 0xFFFF}, .speechLost = {EC_WORD_WE, EC_WORD_WERE, EC_WORD_JUST, EC_WORD_SHREDDED, EC_WORD_ELLIPSIS, EC_EMPTY_WORD},
}, },
{ {
.name = {_("トウゾウ"), _("DALLAS"), _("BRUNO"), _("LEARCO"), _("ANSGAR"), _("MANOLO")}, .name = {_("トウゾウ"), _("DALLAS"), _("BRUNO"), _("LEARCO"), _("ANSGAR"), _("MANOLO")},
@ -382,7 +382,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
.facilityClass = FACILITY_CLASS_FISHERMAN, .facilityClass = FACILITY_CLASS_FISHERMAN,
.species = {SPECIES_SEAKING, SPECIES_STARMIE, SPECIES_GOLDUCK, SPECIES_TENTACRUEL, SPECIES_OCTILLERY, SPECIES_GOREBYSS, SPECIES_GLALIE, SPECIES_WAILORD, SPECIES_SHARPEDO, SPECIES_KINGDRA}, .species = {SPECIES_SEAKING, SPECIES_STARMIE, SPECIES_GOLDUCK, SPECIES_TENTACRUEL, SPECIES_OCTILLERY, SPECIES_GOREBYSS, SPECIES_GLALIE, SPECIES_WAILORD, SPECIES_SHARPEDO, SPECIES_KINGDRA},
.id = 10, .id = 10,
.speechLost = {EC_WORD_YOUR, EC_WORD_WIN, EC_WORD_ANGERS, EC_WORD_ME, EC_WORD_EXCL, 0xFFFF}, .speechLost = {EC_WORD_YOUR, EC_WORD_WIN, EC_WORD_ANGERS, EC_WORD_ME, EC_WORD_EXCL, EC_EMPTY_WORD},
}, },
{ {
.name = {_("セイヤ"), _("FRANK"), _("FRANK"), _("OLINDO"), _("FRANK"), _("MAURO")}, .name = {_("セイヤ"), _("FRANK"), _("FRANK"), _("OLINDO"), _("FRANK"), _("MAURO")},

File diff suppressed because it is too large Load Diff

View File

@ -616,9 +616,9 @@ const struct BattleFrontierTrainer gSlateportBattleTentTrainers[NUM_BATTLE_TENT_
[SLATEPORT_TENT_TRAINER_MAGGIE] = { [SLATEPORT_TENT_TRAINER_MAGGIE] = {
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F, .facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
.trainerName = _("MAGGIE"), .trainerName = _("MAGGIE"),
.speechBefore = {EC_POKEMON(VULPIX), EC_POKEMON(XATU), EC_POKEMON2(UMBREON), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_WORD_ELLIPSIS}, .speechBefore = {EC_POKEMON(VULPIX), EC_POKEMON(XATU), EC_POKEMON_NATIONAL(UMBREON), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_WORD_ELLIPSIS},
.speechWin = {EC_POKEMON(NOSEPASS), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_POKEMON(SEVIPER), EC_WORD_EXCL, -1}, .speechWin = {EC_POKEMON(NOSEPASS), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_POKEMON(SEVIPER), EC_WORD_EXCL, -1},
.speechLose = {EC_POKEMON(NOSEPASS), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_POKEMON2(SNORLAX), EC_WORD_ELLIPSIS, EC_WORD_UH_OH}, .speechLose = {EC_POKEMON(NOSEPASS), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_POKEMON_NATIONAL(SNORLAX), EC_WORD_ELLIPSIS, EC_WORD_UH_OH},
.monSet = gSlateportBattleTentTrainerMons_Maggie .monSet = gSlateportBattleTentTrainerMons_Maggie
}, },
[SLATEPORT_TENT_TRAINER_STEPHON] = { [SLATEPORT_TENT_TRAINER_STEPHON] = {

View File

@ -314,7 +314,7 @@ static const struct TrHillFloor sDataTagJPDefault_Floors[] = {
.speechBefore = { EC_WORD_SISTER, EC_WORD_ALTHOUGH, EC_WORD_KIND, EC_WORD_MATCH, EC_WORD_PLEASE, EC_WORD_WITHOUT }, .speechBefore = { EC_WORD_SISTER, EC_WORD_ALTHOUGH, EC_WORD_KIND, EC_WORD_MATCH, EC_WORD_PLEASE, EC_WORD_WITHOUT },
.speechWin = { EC_WORD_KIND, EC_WORD_ELLIPSIS, EC_WORD_INSTEAD, EC_WORD_DEEP, EC_WORD_WEAK, EC_WORD_QUES }, .speechWin = { EC_WORD_KIND, EC_WORD_ELLIPSIS, EC_WORD_INSTEAD, EC_WORD_DEEP, EC_WORD_WEAK, EC_WORD_QUES },
.speechLose = { EC_WORD_AWFUL, EC_WORD_GWAH, EC_WORD_HOPELESS, EC_WORD_CAN_T_WIN, EC_WORD_IS, EC_WORD_NONE }, .speechLose = { EC_WORD_AWFUL, EC_WORD_GWAH, EC_WORD_HOPELESS, EC_WORD_CAN_T_WIN, EC_WORD_IS, EC_WORD_NONE },
.speechAfter = { EC_WORD_AWW, 0xFFFF, 0xFFFF, EC_WORD_ALMOST, EC_WORD_GOOD, EC_WORD_ANYWHERE }, .speechAfter = { EC_WORD_AWW, EC_EMPTY_WORD, EC_EMPTY_WORD, EC_WORD_ALMOST, EC_WORD_GOOD, EC_WORD_ANYWHERE },
.mons = { .mons = {
[0] = NULL_BATTLE_TOWER_POKEMON, [0] = NULL_BATTLE_TOWER_POKEMON,
[1] = NULL_BATTLE_TOWER_POKEMON, [1] = NULL_BATTLE_TOWER_POKEMON,
@ -444,7 +444,7 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
.unused = 0, .unused = 0,
.speechBefore = {EC_WORD_YOU, EC_WORD_CAN, EC_WORD_CHOOSE, EC_WORD_NOT, EC_WORD_TO, EC_WORD_BELIEVE}, .speechBefore = {EC_WORD_YOU, EC_WORD_CAN, EC_WORD_CHOOSE, EC_WORD_NOT, EC_WORD_TO, EC_WORD_BELIEVE},
.speechWin = {EC_WORD_A, EC_WORD_SUPER, EC_WORD_NATURAL, EC_WORD_POWER, EC_WORD_HAS, EC_WORD_COME}, .speechWin = {EC_WORD_A, EC_WORD_SUPER, EC_WORD_NATURAL, EC_WORD_POWER, EC_WORD_HAS, EC_WORD_COME},
.speechLose = {EC_WORD_THIS, EC_WORD_MUST_BE, EC_WORD_A, EC_MOVE(NIGHTMARE), EC_WORD_EXCL, 0xFFFF}, .speechLose = {EC_WORD_THIS, EC_WORD_MUST_BE, EC_WORD_A, EC_MOVE(NIGHTMARE), EC_WORD_EXCL, EC_EMPTY_WORD},
.speechAfter = {EC_WORD_I, EC_WORD_WILL, EC_WORD_DISAPPEAR, EC_WORD_IN, EC_WORD_THE, EC_WORD_DARK}, .speechAfter = {EC_WORD_I, EC_WORD_WILL, EC_WORD_DISAPPEAR, EC_WORD_IN, EC_WORD_THE, EC_WORD_DARK},
.mons = .mons =
{ {
@ -589,7 +589,7 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
.name = _("ALFONSO"), .name = _("ALFONSO"),
.facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M, .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
.unused = 0, .unused = 0,
.speechBefore = {EC_WORD_I, EC_WORD_NEVER, EC_WORD_TAKE, EC_WORD_A, EC_WORD_TRAIN, 0xFFFF}, .speechBefore = {EC_WORD_I, EC_WORD_NEVER, EC_WORD_TAKE, EC_WORD_A, EC_WORD_TRAIN, EC_EMPTY_WORD},
.speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_MOVE2(SUPERSONIC), EC_WORD_ON, EC_WORD_MY, EC_WORD_BIKE}, .speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_MOVE2(SUPERSONIC), EC_WORD_ON, EC_WORD_MY, EC_WORD_BIKE},
.speechLose = {EC_WORD_MY, EC_WORD_BIKE, EC_WORD_EXCL, EC_WORD_YOU_VE, EC_WORD_DESTROYED, EC_WORD_IT}, .speechLose = {EC_WORD_MY, EC_WORD_BIKE, EC_WORD_EXCL, EC_WORD_YOU_VE, EC_WORD_DESTROYED, EC_WORD_IT},
.speechAfter = {EC_WORD_A, EC_WORD_BIKE, EC_WORD_OVER, EC_WORD_ANY, EC_WORD_TRAIN, EC_WORD_EXCL}, .speechAfter = {EC_WORD_A, EC_WORD_BIKE, EC_WORD_OVER, EC_WORD_ANY, EC_WORD_TRAIN, EC_WORD_EXCL},
@ -907,8 +907,8 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_F, .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.unused = 0, .unused = 0,
.speechBefore = {EC_WORD_SOME, EC_WORD_THINGS, EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_DO, EC_WORD_ALONE}, .speechBefore = {EC_WORD_SOME, EC_WORD_THINGS, EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_DO, EC_WORD_ALONE},
.speechWin = {EC_WORD_YOU, EC_WORD_WIN, EC_WORD_AS, EC_WORD_A, EC_WORD_GROUP, 0xFFFF}, .speechWin = {EC_WORD_YOU, EC_WORD_WIN, EC_WORD_AS, EC_WORD_A, EC_WORD_GROUP, EC_EMPTY_WORD},
.speechLose = {EC_WORD_WE, EC_WORD_COULDN_T, EC_WORD_WIN, EC_WORD_TOGETHER, EC_WORD_QUES, 0xFFFF}, .speechLose = {EC_WORD_WE, EC_WORD_COULDN_T, EC_WORD_WIN, EC_WORD_TOGETHER, EC_WORD_QUES, EC_EMPTY_WORD},
.speechAfter = {EC_WORD_MAYBE, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_WORD_BOY, EC_WORD_FRIEND}, .speechAfter = {EC_WORD_MAYBE, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_WORD_BOY, EC_WORD_FRIEND},
.mons = .mons =
{ {
@ -1086,7 +1086,7 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
.speechBefore = {EC_WORD_LET_S, EC_MOVE2(WRAP), EC_WORD_THINGS, EC_WORD_UP, EC_WORD_HERE, EC_WORD_HEY_QUES}, .speechBefore = {EC_WORD_LET_S, EC_MOVE2(WRAP), EC_WORD_THINGS, EC_WORD_UP, EC_WORD_HERE, EC_WORD_HEY_QUES},
.speechWin = {EC_WORD_WOULD, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_GO_HOME, EC_WORD_QUES}, .speechWin = {EC_WORD_WOULD, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_GO_HOME, EC_WORD_QUES},
.speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_SORRY, EC_WORD_FRIEND}, .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_SORRY, EC_WORD_FRIEND},
.speechAfter = {EC_WORD_HAVEN_T, EC_WORD_YOU, EC_WORD_DONE, EC_WORD_ENOUGH, EC_WORD_QUES, 0xFFFF}, .speechAfter = {EC_WORD_HAVEN_T, EC_WORD_YOU, EC_WORD_DONE, EC_WORD_ENOUGH, EC_WORD_QUES, EC_EMPTY_WORD},
.mons = .mons =
{ {
[0] = [0] =
@ -1229,7 +1229,7 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
.facilityClass = FACILITY_CLASS_PKMN_BREEDER_F, .facilityClass = FACILITY_CLASS_PKMN_BREEDER_F,
.unused = 0, .unused = 0,
.speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_STRONG, EC_WORD_BEAUTY, EC_WORD_AROUND, EC_WORD_HERE}, .speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_STRONG, EC_WORD_BEAUTY, EC_WORD_AROUND, EC_WORD_HERE},
.speechWin = {EC_WORD_I_AM, EC_WORD_STRONG, EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_EXCL, 0xFFFF}, .speechWin = {EC_WORD_I_AM, EC_WORD_STRONG, EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_EXCL, EC_EMPTY_WORD},
.speechLose = {EC_WORD_I_AM, EC_WORD_TIRED, EC_WORD_TODAY, EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_EXCL}, .speechLose = {EC_WORD_I_AM, EC_WORD_TIRED, EC_WORD_TODAY, EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_EXCL},
.speechAfter = {EC_WORD_WHY, EC_WORD_YES, EC_WORD_I_AM, EC_WORD_ANGRY, EC_WORD_THANK_YOU, EC_WORD_EXCL}, .speechAfter = {EC_WORD_WHY, EC_WORD_YES, EC_WORD_I_AM, EC_WORD_ANGRY, EC_WORD_THANK_YOU, EC_WORD_EXCL},
.mons = .mons =
@ -1404,8 +1404,8 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
.name = _("KEENAN"), .name = _("KEENAN"),
.facilityClass = FACILITY_CLASS_PSYCHIC_M, .facilityClass = FACILITY_CLASS_PSYCHIC_M,
.unused = 0, .unused = 0,
.speechBefore = {EC_WORD_YOU, EC_WORD_LOOK, EC_WORD_SO, EC_WORD_HURRIED, 0xFFFF, 0xFFFF}, .speechBefore = {EC_WORD_YOU, EC_WORD_LOOK, EC_WORD_SO, EC_WORD_HURRIED, EC_EMPTY_WORD, EC_EMPTY_WORD},
.speechWin = {EC_WORD_TOO, EC_WORD_BAD, 0xFFFF, EC_WORD_TIME, EC_WORD_IS, EC_WORD_UP}, .speechWin = {EC_WORD_TOO, EC_WORD_BAD, EC_EMPTY_WORD, EC_WORD_TIME, EC_WORD_IS, EC_WORD_UP},
.speechLose = {EC_WORD_DOES, EC_WORD_THE, EC_WORD_TIME, EC_WORD_WORRY, EC_WORD_YOU, EC_WORD_QUES}, .speechLose = {EC_WORD_DOES, EC_WORD_THE, EC_WORD_TIME, EC_WORD_WORRY, EC_WORD_YOU, EC_WORD_QUES},
.speechAfter = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_HAVE, EC_WORD_TIME, EC_WORD_TO, EC_WORD_CHAT}, .speechAfter = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_HAVE, EC_WORD_TIME, EC_WORD_TO, EC_WORD_CHAT},
.mons = .mons =
@ -1547,7 +1547,7 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
.unused = 0, .unused = 0,
.speechBefore = {EC_WORD_IT_S, EC_WORD_HOT, EC_WORD_ELLIPSIS, EC_WORD_WHAT, EC_WORD_A, EC_WORD_STENCH}, .speechBefore = {EC_WORD_IT_S, EC_WORD_HOT, EC_WORD_ELLIPSIS, EC_WORD_WHAT, EC_WORD_A, EC_WORD_STENCH},
.speechWin = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_LIKE, EC_WORD_AN, EC_WORD_OFFENSIVE, EC_WORD_STENCH}, .speechWin = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_LIKE, EC_WORD_AN, EC_WORD_OFFENSIVE, EC_WORD_STENCH},
.speechLose = {EC_WORD_I, EC_MOVE2(COVET), EC_WORD_ANY, EC_WORD_STRONG, EC_WORD_STENCH, 0xFFFF}, .speechLose = {EC_WORD_I, EC_MOVE2(COVET), EC_WORD_ANY, EC_WORD_STRONG, EC_WORD_STENCH, EC_EMPTY_WORD},
.speechAfter = {EC_WORD_MY, EC_WORD_SENSE, EC_WORD_OF, EC_WORD_SMELL, EC_WORD_ISN_T, EC_WORD_NORMAL}, .speechAfter = {EC_WORD_MY, EC_WORD_SENSE, EC_WORD_OF, EC_WORD_SMELL, EC_WORD_ISN_T, EC_WORD_NORMAL},
.mons = .mons =
{ {
@ -1731,8 +1731,8 @@ static const struct TrHillFloor sDataTagVariety_Floors[] = {
.unused = 0, .unused = 0,
.speechBefore = {EC_WORD_GOOD, EC_WORD_CHILDREN, EC_WORD_WILL, EC_WORD_GET, EC_WORD_A, EC_MOVE2(PRESENT)}, .speechBefore = {EC_WORD_GOOD, EC_WORD_CHILDREN, EC_WORD_WILL, EC_WORD_GET, EC_WORD_A, EC_MOVE2(PRESENT)},
.speechWin = {EC_WORD_THANK_YOU, EC_WORD_MY, EC_WORD_VICTORY, EC_WORD_IS, EC_WORD_YOUR, EC_MOVE2(PRESENT)}, .speechWin = {EC_WORD_THANK_YOU, EC_WORD_MY, EC_WORD_VICTORY, EC_WORD_IS, EC_WORD_YOUR, EC_MOVE2(PRESENT)},
.speechLose = {EC_WORD_THAT_WAS, EC_WORD_MY, EC_MOVE2(PRESENT), EC_WORD_TO, EC_WORD_YOU, 0xFFFF}, .speechLose = {EC_WORD_THAT_WAS, EC_WORD_MY, EC_MOVE2(PRESENT), EC_WORD_TO, EC_WORD_YOU, EC_EMPTY_WORD},
.speechAfter = {EC_WORD_WELL_THEN, EC_WORD_CONGRATS, EC_WORD_MY, EC_WORD_FRIEND, 0xFFFF, 0xFFFF}, .speechAfter = {EC_WORD_WELL_THEN, EC_WORD_CONGRATS, EC_WORD_MY, EC_WORD_FRIEND, EC_EMPTY_WORD, EC_EMPTY_WORD},
.mons = .mons =
{ {
[0] = [0] =
@ -1870,7 +1870,7 @@ static const struct TrHillFloor sDataTagVariety_Floors[] = {
.unused = 0, .unused = 0,
.speechBefore = {EC_WORD_CAN, EC_WORD_YOU, EC_WORD_SENSE, EC_WORD_ME, EC_MOVE(FOCUS_ENERGY), EC_WORD_QUES}, .speechBefore = {EC_WORD_CAN, EC_WORD_YOU, EC_WORD_SENSE, EC_WORD_ME, EC_MOVE(FOCUS_ENERGY), EC_WORD_QUES},
.speechWin = {EC_WORD_THAT_S, EC_WORD_ABOUT, EC_WORD_RIGHT, EC_WORD_I, EC_WORD_WOULD, EC_WORD_THINK}, .speechWin = {EC_WORD_THAT_S, EC_WORD_ABOUT, EC_WORD_RIGHT, EC_WORD_I, EC_WORD_WOULD, EC_WORD_THINK},
.speechLose = {EC_WORD_THINGS, EC_WORD_DON_T, EC_WORD_ALWAYS, EC_WORD_WORK, EC_WORD_OUT, 0xFFFF}, .speechLose = {EC_WORD_THINGS, EC_WORD_DON_T, EC_WORD_ALWAYS, EC_WORD_WORK, EC_WORD_OUT, EC_EMPTY_WORD},
.speechAfter = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_LONESOME, EC_WORD_AND, EC_WORD_SAD, EC_WORD_NOW}, .speechAfter = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_LONESOME, EC_WORD_AND, EC_WORD_SAD, EC_WORD_NOW},
.mons = .mons =
{ {
@ -2040,7 +2040,7 @@ static const struct TrHillFloor sDataTagVariety_Floors[] = {
.facilityClass = FACILITY_CLASS_PARASOL_LADY, .facilityClass = FACILITY_CLASS_PARASOL_LADY,
.unused = 0, .unused = 0,
.speechBefore = {EC_WORD_HI, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_FEELING, EC_WORD_UPBEAT, EC_WORD_QUES}, .speechBefore = {EC_WORD_HI, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_FEELING, EC_WORD_UPBEAT, EC_WORD_QUES},
.speechWin = {EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_FEELING, EC_WORD_WELL, EC_WORD_QUES, 0xFFFF}, .speechWin = {EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_FEELING, EC_WORD_WELL, EC_WORD_QUES, EC_EMPTY_WORD},
.speechLose = {EC_WORD_I, EC_WORD_CAN, EC_WORD_SEE, EC_WORD_YOU_RE, EC_WORD_FEELING, EC_WORD_GREAT}, .speechLose = {EC_WORD_I, EC_WORD_CAN, EC_WORD_SEE, EC_WORD_YOU_RE, EC_WORD_FEELING, EC_WORD_GREAT},
.speechAfter = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_LOOK, EC_WORD_READY, EC_WORD_TO, EC_WORD_HUSTLE}, .speechAfter = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_LOOK, EC_WORD_READY, EC_WORD_TO, EC_WORD_HUSTLE},
.mons = .mons =
@ -2380,8 +2380,8 @@ static const struct TrHillFloor sDataTagVariety_Floors[] = {
.facilityClass = FACILITY_CLASS_RICH_BOY, .facilityClass = FACILITY_CLASS_RICH_BOY,
.unused = 0, .unused = 0,
.speechBefore = {EC_WORD_GET, EC_WORD_READY, EC_WORD_FOR, EC_WORD_AN, EC_WORD_AWESOME, EC_WORD_TIME}, .speechBefore = {EC_WORD_GET, EC_WORD_READY, EC_WORD_FOR, EC_WORD_AN, EC_WORD_AWESOME, EC_WORD_TIME},
.speechWin = {EC_WORD_HEY, EC_WORD_HEY, EC_WORD_EXCL, EC_WORD_WHAT_S_UP_QUES, 0xFFFF, 0xFFFF}, .speechWin = {EC_WORD_HEY, EC_WORD_HEY, EC_WORD_EXCL, EC_WORD_WHAT_S_UP_QUES, EC_EMPTY_WORD, EC_EMPTY_WORD},
.speechLose = {EC_WORD_AWW, EC_WORD_COULDN_T, EC_WORD_YOU, EC_WORD_LET_ME_WIN, EC_WORD_QUES, 0xFFFF}, .speechLose = {EC_WORD_AWW, EC_WORD_COULDN_T, EC_WORD_YOU, EC_WORD_LET_ME_WIN, EC_WORD_QUES, EC_EMPTY_WORD},
.speechAfter = {EC_WORD_DID, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_MY, EC_WORD_SKILL, EC_WORD_QUES}, .speechAfter = {EC_WORD_DID, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_MY, EC_WORD_SKILL, EC_WORD_QUES},
.mons = .mons =
{ {
@ -2840,10 +2840,10 @@ static const struct TrHillFloor sDataTagVariety_Floors[] = {
.name = _("FRANCISCO"), .name = _("FRANCISCO"),
.facilityClass = FACILITY_CLASS_POKEFAN_M, .facilityClass = FACILITY_CLASS_POKEFAN_M,
.unused = 0, .unused = 0,
.speechBefore = {EC_WORD_I, EC_WORD_STUDY, EC_WORD_EVERY, EC_WORD_DAY, EC_WORD_TOO, 0xFFFF}, .speechBefore = {EC_WORD_I, EC_WORD_STUDY, EC_WORD_EVERY, EC_WORD_DAY, EC_WORD_TOO, EC_EMPTY_WORD},
.speechWin = {EC_WORD_SO, EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_YOU, EC_WORD_LOSE, 0xFFFF}, .speechWin = {EC_WORD_SO, EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_YOU, EC_WORD_LOSE, EC_EMPTY_WORD},
.speechLose = {EC_WORD_NO, EC_WORD_WONDER, EC_WORD_I, EC_WORD_COULDN_T, EC_WORD_BEAT, EC_WORD_YOU}, .speechLose = {EC_WORD_NO, EC_WORD_WONDER, EC_WORD_I, EC_WORD_COULDN_T, EC_WORD_BEAT, EC_WORD_YOU},
.speechAfter = {EC_WORD_YES, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_THANK_YOU, 0xFFFF, 0xFFFF}, .speechAfter = {EC_WORD_YES, EC_WORD_ELLIPSIS, EC_EMPTY_WORD, EC_WORD_THANK_YOU, EC_EMPTY_WORD, EC_EMPTY_WORD},
.mons = .mons =
{ {
[0] = [0] =
@ -3023,10 +3023,10 @@ static const struct TrHillFloor sDataTagUnique_Floors[] = {
.name = _("MEREDITH"), .name = _("MEREDITH"),
.facilityClass = FACILITY_CLASS_PKMN_RANGER_F, .facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
.unused = 0, .unused = 0,
.speechBefore = {EC_WORD_UM, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I, EC_WORD_ELLIPSIS, 0xFFFF}, .speechBefore = {EC_WORD_UM, EC_WORD_ELLIPSIS, EC_EMPTY_WORD, EC_WORD_I, EC_WORD_ELLIPSIS, EC_EMPTY_WORD},
.speechWin = {EC_WORD_OH, EC_WORD_EXCL, 0xFFFF, EC_WORD_UM, EC_WORD_ELLIPSIS, EC_WORD_YAY}, .speechWin = {EC_WORD_OH, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_UM, EC_WORD_ELLIPSIS, EC_WORD_YAY},
.speechLose = {EC_WORD_UM, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_WAAAH, EC_WORD_ELLIPSIS, 0xFFFF}, .speechLose = {EC_WORD_UM, EC_WORD_ELLIPSIS, EC_EMPTY_WORD, EC_WORD_WAAAH, EC_WORD_ELLIPSIS, EC_EMPTY_WORD},
.speechAfter = {EC_WORD_UM, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I_AM, EC_WORD_SAD, EC_WORD_ELLIPSIS}, .speechAfter = {EC_WORD_UM, EC_WORD_ELLIPSIS, EC_EMPTY_WORD, EC_WORD_I_AM, EC_WORD_SAD, EC_WORD_ELLIPSIS},
.mons = .mons =
{ {
[0] = [0] =
@ -4948,8 +4948,8 @@ static const struct TrHillFloor sDataTagExpert_Floors[] = {
.unused = 0, .unused = 0,
.speechBefore = {EC_WORD_OH_DEAR, EC_WORD_THIS, EC_WORD_MATCH, EC_WORD_IS, EC_WORD_FOR, EC_WORD_YOU}, .speechBefore = {EC_WORD_OH_DEAR, EC_WORD_THIS, EC_WORD_MATCH, EC_WORD_IS, EC_WORD_FOR, EC_WORD_YOU},
.speechWin = {EC_WORD_OH_DEAR, EC_WORD_DID, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_QUES}, .speechWin = {EC_WORD_OH_DEAR, EC_WORD_DID, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_QUES},
.speechLose = {EC_WORD_OH_DEAR, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SORRY, 0xFFFF, 0xFFFF}, .speechLose = {EC_WORD_OH_DEAR, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SORRY, EC_EMPTY_WORD, EC_EMPTY_WORD},
.speechAfter = {EC_WORD_IS, EC_WORD_YOUR, EC_WORD_GRANDMOTHER, EC_WORD_STRONG, EC_WORD_QUES, 0xFFFF}, .speechAfter = {EC_WORD_IS, EC_WORD_YOUR, EC_WORD_GRANDMOTHER, EC_WORD_STRONG, EC_WORD_QUES, EC_EMPTY_WORD},
.mons = .mons =
{ {
[0] = [0] =
@ -5094,7 +5094,7 @@ static const struct TrHillFloor sDataTagExpert_Floors[] = {
.speechBefore = {EC_WORD_OH_DEAR, EC_WORD_I, EC_WORD_WILL, EC_WORD_WIN, EC_WORD_FOR, EC_WORD_YOU}, .speechBefore = {EC_WORD_OH_DEAR, EC_WORD_I, EC_WORD_WILL, EC_WORD_WIN, EC_WORD_FOR, EC_WORD_YOU},
.speechWin = {EC_WORD_OH_DEAR, EC_WORD_WE, EC_WORD_HAVE, EC_WORD_A, EC_WORD_PARTY, EC_WORD_LATER}, .speechWin = {EC_WORD_OH_DEAR, EC_WORD_WE, EC_WORD_HAVE, EC_WORD_A, EC_WORD_PARTY, EC_WORD_LATER},
.speechLose = {EC_WORD_OH_DEAR, EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_TO, EC_WORD_DISAPPOINT, EC_WORD_YOU}, .speechLose = {EC_WORD_OH_DEAR, EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_TO, EC_WORD_DISAPPOINT, EC_WORD_YOU},
.speechAfter = {EC_WORD_IS, EC_WORD_YOUR, EC_WORD_GRANDFATHER, EC_WORD_COOL, EC_WORD_QUES, 0xFFFF}, .speechAfter = {EC_WORD_IS, EC_WORD_YOUR, EC_WORD_GRANDFATHER, EC_WORD_COOL, EC_WORD_QUES, EC_EMPTY_WORD},
.mons = .mons =
{ {
[0] = [0] =
@ -5271,7 +5271,7 @@ static const struct TrHillFloor sDataTagExpert_Floors[] = {
.speechBefore = {EC_WORD_WAAAH, EC_WORD_THIS, EC_WORD_IS, EC_WORD_SO, EC_WORD_EXCITING, EC_WORD_EXCL}, .speechBefore = {EC_WORD_WAAAH, EC_WORD_THIS, EC_WORD_IS, EC_WORD_SO, EC_WORD_EXCITING, EC_WORD_EXCL},
.speechWin = {EC_WORD_WAAAH, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_HAPPY, EC_WORD_I, EC_WORD_WON}, .speechWin = {EC_WORD_WAAAH, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_HAPPY, EC_WORD_I, EC_WORD_WON},
.speechLose = {EC_WORD_WAAAH, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SAD, EC_WORD_I, EC_WORD_LOST}, .speechLose = {EC_WORD_WAAAH, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SAD, EC_WORD_I, EC_WORD_LOST},
.speechAfter = {EC_WORD_WAAAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_GO, EC_WORD_AWAY, EC_WORD_EXCL}, .speechAfter = {EC_WORD_WAAAH, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_GO, EC_WORD_AWAY, EC_WORD_EXCL},
.mons = .mons =
{ {
[0] = [0] =
@ -5410,7 +5410,7 @@ static const struct TrHillFloor sDataTagExpert_Floors[] = {
.facilityClass = FACILITY_CLASS_PKMN_RANGER_M, .facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
.unused = 0, .unused = 0,
.speechBefore = {EC_WORD_WAHAHAHA, EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_STOP, EC_WORD_ME, EC_WORD_EXCL}, .speechBefore = {EC_WORD_WAHAHAHA, EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_STOP, EC_WORD_ME, EC_WORD_EXCL},
.speechWin = {EC_WORD_WOWEE, EC_WORD_EXCL, 0xFFFF, EC_WORD_I_AM, EC_WORD_AWESOME, EC_WORD_COOL}, .speechWin = {EC_WORD_WOWEE, EC_WORD_EXCL, EC_EMPTY_WORD, EC_WORD_I_AM, EC_WORD_AWESOME, EC_WORD_COOL},
.speechLose = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_COOL, EC_WORD_AT, EC_WORD_ALL, EC_WORD_EXCL}, .speechLose = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_COOL, EC_WORD_AT, EC_WORD_ALL, EC_WORD_EXCL},
.speechAfter = {EC_WORD_HEHEHE, EC_WORD_THAT_WAS, EC_WORD_AN, EC_WORD_AWESOME, EC_WORD_BATTLE, EC_WORD_EXCL}, .speechAfter = {EC_WORD_HEHEHE, EC_WORD_THAT_WAS, EC_WORD_AN, EC_WORD_AWESOME, EC_WORD_BATTLE, EC_WORD_EXCL},
.mons = .mons =

File diff suppressed because it is too large Load Diff

View File

@ -53,7 +53,7 @@ static const u16 sQuizLadyQuestion3[] =
EC_WORD_POKEMON, EC_WORD_POKEMON,
EC_WORD_EVOLVE, EC_WORD_EVOLVE,
EC_WORD_QUES, EC_WORD_QUES,
0xFFFF, EC_EMPTY_WORD,
EC_WORD_LEVEL, EC_WORD_LEVEL,
EC_WORD_INSOMNIA, EC_WORD_INSOMNIA,
EC_WORD_CUTE_CHARM EC_WORD_CUTE_CHARM
@ -92,7 +92,7 @@ static const u16 sQuizLadyQuestion6[] =
EC_WORD_STOP, EC_WORD_STOP,
EC_MOVE2(CONFUSION), EC_MOVE2(CONFUSION),
EC_WORD_QUES, EC_WORD_QUES,
0xFFFF, EC_EMPTY_WORD,
EC_WORD_ILLUMINATE, EC_WORD_ILLUMINATE,
EC_WORD_OWN_TEMPO, EC_WORD_OWN_TEMPO,
EC_WORD_SWIFT_SWIM EC_WORD_SWIFT_SWIM
@ -118,7 +118,7 @@ static const u16 sQuizLadyQuestion8[] =
EC_MOVE2(BLOCK), EC_MOVE2(BLOCK),
EC_WORD_ESCAPE, EC_WORD_ESCAPE,
EC_WORD_QUES, EC_WORD_QUES,
0xFFFF, EC_EMPTY_WORD,
EC_WORD_RUN_AWAY, EC_WORD_RUN_AWAY,
EC_WORD_SHADOW_TAG, EC_WORD_SHADOW_TAG,
EC_WORD_WONDER_GUARD EC_WORD_WONDER_GUARD
@ -131,7 +131,7 @@ static const u16 sQuizLadyQuestion9[] =
EC_WORD_STOP, EC_WORD_STOP,
EC_WORD_POISON, EC_WORD_POISON,
EC_WORD_QUES, EC_WORD_QUES,
0xFFFF, EC_EMPTY_WORD,
EC_WORD_GUTS, EC_WORD_GUTS,
EC_WORD_IMMUNITY, EC_WORD_IMMUNITY,
EC_WORD_SHED_SKIN EC_WORD_SHED_SKIN
@ -144,7 +144,7 @@ static const u16 sQuizLadyQuestion10[] =
EC_WORD_WITH, EC_WORD_WITH,
EC_WORD_CENTER, EC_WORD_CENTER,
EC_WORD_QUES, EC_WORD_QUES,
0xFFFF, EC_EMPTY_WORD,
EC_WORD_POKEDEX, EC_WORD_POKEDEX,
EC_WORD_POKEMON, EC_WORD_POKEMON,
EC_WORD_POKENAV EC_WORD_POKENAV
@ -157,7 +157,7 @@ static const u16 sQuizLadyQuestion11[] =
EC_WORD_YOUR, EC_WORD_YOUR,
EC_WORD_POKEMON, EC_WORD_POKEMON,
EC_WORD_QUES, EC_WORD_QUES,
0xFFFF, EC_EMPTY_WORD,
EC_WORD_PC, EC_WORD_PC,
EC_WORD_DEPT_STORE, EC_WORD_DEPT_STORE,
EC_WORD_TELEVISION EC_WORD_TELEVISION
@ -199,7 +199,7 @@ static const u16 sQuizLadyQuestion14[] =
EC_WORD_QUES, EC_WORD_QUES,
EC_WORD_ICE, EC_WORD_ICE,
EC_WORD_GROUND, EC_WORD_GROUND,
0xFFFF EC_EMPTY_WORD
}; };
static const u16 sQuizLadyQuestion15[] = static const u16 sQuizLadyQuestion15[] =
@ -212,7 +212,7 @@ static const u16 sQuizLadyQuestion15[] =
EC_WORD_QUES, EC_WORD_QUES,
EC_WORD_PSYCHIC, EC_WORD_PSYCHIC,
EC_WORD_FIGHTING, EC_WORD_FIGHTING,
0xFFFF EC_EMPTY_WORD
}; };
static const u16 sQuizLadyQuestion16[] = static const u16 sQuizLadyQuestion16[] =
@ -225,7 +225,7 @@ static const u16 sQuizLadyQuestion16[] =
EC_WORD_QUES, EC_WORD_QUES,
EC_WORD_NORMAL, EC_WORD_NORMAL,
EC_WORD_DARK, EC_WORD_DARK,
0xFFFF EC_EMPTY_WORD
}; };
static const u16 *const sQuizLadyQuizQuestions[] = static const u16 *const sQuizLadyQuizQuestions[] =

View File

@ -1070,7 +1070,7 @@ static const u16 sIngameTradeMail[][MAIL_WORDS_COUNT + 1] =
EC_WORD_THANK_YOU, EC_WORD_THANK_YOU,
EC_WORD_FOR, EC_WORD_FOR,
EC_POKEMON(SKITTY), EC_POKEMON(SKITTY),
EC_POKEMON2(MEOWTH), EC_POKEMON_NATIONAL(MEOWTH),
EC_WORD_CRIES, EC_WORD_CRIES,
EC_WORD_IN, EC_WORD_IN,
EC_WORD_A, EC_WORD_A,

View File

@ -90,7 +90,7 @@ void UpdateDewfordTrendPerDay(u16 a)
} }
bool8 sub_81226D8(u16 *a) bool8 IsPhraseTrendy(u16 *a)
{ {
struct EasyChatPair s = {0}; struct EasyChatPair s = {0};
u16 i; u16 i;

File diff suppressed because it is too large Load Diff

View File

@ -134,10 +134,10 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
.name = __("ハルヒト$$$$ "), .name = __("ハルヒト$$$$ "),
.facilityClass = FACILITY_CLASS_CAMPER, .facilityClass = FACILITY_CLASS_CAMPER,
.unused = 0x1, .unused = 0x1,
.speechBefore = { EC_MOVE2(BOUNCE), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_STRONG, EC_WORD_EXCL }, .speechBefore = { EC_MOVE2(BOUNCE), EC_WORD_AS_MUCH_AS, EC_EMPTY_WORD, EC_WORD_THEY_RE, EC_WORD_STRONG, EC_WORD_EXCL },
.speechWin = { EC_MOVE(FLY), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_HAPPY, EC_WORD_EXCL }, .speechWin = { EC_MOVE(FLY), EC_WORD_AS_MUCH_AS, EC_EMPTY_WORD, EC_WORD_THEY_RE, EC_WORD_HAPPY, EC_WORD_EXCL },
.speechLose = { EC_MOVE2(MINIMIZE), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_SAD, EC_WORD_EXCL }, .speechLose = { EC_MOVE2(MINIMIZE), EC_WORD_AS_MUCH_AS, EC_EMPTY_WORD, EC_WORD_THEY_RE, EC_WORD_SAD, EC_WORD_EXCL },
.speechAfter = { EC_MOVE(BITE), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_ANGRY, EC_WORD_EXCL }, .speechAfter = { EC_MOVE(BITE), EC_WORD_AS_MUCH_AS, EC_EMPTY_WORD, EC_WORD_THEY_RE, EC_WORD_ANGRY, EC_WORD_EXCL },
.mons = { .mons = {
[0] = NULL_BATTLE_TOWER_POKEMON, [0] = NULL_BATTLE_TOWER_POKEMON,
[1] = NULL_BATTLE_TOWER_POKEMON, [1] = NULL_BATTLE_TOWER_POKEMON,
@ -223,7 +223,7 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
.speechBefore = { EC_WORD_SHINE, EC_WORD_POKEMON, EC_WORD_RELEASE, EC_WORD_WAS, EC_MOVE2(FRUSTRATION), EC_WORD_WITHOUT }, .speechBefore = { EC_WORD_SHINE, EC_WORD_POKEMON, EC_WORD_RELEASE, EC_WORD_WAS, EC_MOVE2(FRUSTRATION), EC_WORD_WITHOUT },
.speechWin = { EC_WORD_SHINE, EC_WORD_POKEMON, EC_WORD_TO_HER, EC_MOVE2(PRESENT), EC_WORD_KNOWS, EC_WORD_WITHOUT }, .speechWin = { EC_WORD_SHINE, EC_WORD_POKEMON, EC_WORD_TO_HER, EC_MOVE2(PRESENT), EC_WORD_KNOWS, EC_WORD_WITHOUT },
.speechLose = { EC_WORD_THAT, EC_WORD_ABOVE, EC_WORD_LOST, EC_WORD_STORES, EC_WORD_JOKING, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS }, .speechLose = { EC_WORD_THAT, EC_WORD_ABOVE, EC_WORD_LOST, EC_WORD_STORES, EC_WORD_JOKING, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS },
.speechAfter = { EC_WORD_ENTERTAINING, EC_WORD_NONE, EC_WORD_HEY_QUES, EC_WORD_ALMOST, EC_WORD_EXCL, 0xFFFF }, .speechAfter = { EC_WORD_ENTERTAINING, EC_WORD_NONE, EC_WORD_HEY_QUES, EC_WORD_ALMOST, EC_WORD_EXCL, EC_EMPTY_WORD },
.mons = { .mons = {
[0] = NULL_BATTLE_TOWER_POKEMON, [0] = NULL_BATTLE_TOWER_POKEMON,
[1] = NULL_BATTLE_TOWER_POKEMON, [1] = NULL_BATTLE_TOWER_POKEMON,
@ -307,7 +307,7 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
.facilityClass = FACILITY_CLASS_GENTLEMAN, .facilityClass = FACILITY_CLASS_GENTLEMAN,
.unused = 0x1, .unused = 0x1,
.speechBefore = { EC_WORD_SHE_WAS, EC_WORD_NO_1, EC_WORD_STRONG, EC_WORD_UNCLE, EC_WORD_THERE, EC_WORD_EXCL }, .speechBefore = { EC_WORD_SHE_WAS, EC_WORD_NO_1, EC_WORD_STRONG, EC_WORD_UNCLE, EC_WORD_THERE, EC_WORD_EXCL },
.speechWin = { EC_WORD_HAHAHA, EC_WORD_TEACHER, EC_WORD_BECOMES, EC_WORD_GIVE, EC_WORD_IS_IT_QUES, 0xFFFF }, .speechWin = { EC_WORD_HAHAHA, EC_WORD_TEACHER, EC_WORD_BECOMES, EC_WORD_GIVE, EC_WORD_IS_IT_QUES, EC_EMPTY_WORD },
.speechLose = { EC_WORD_OUTSIDE, EC_WORD_UNCLE, EC_WORD_SURPRISE, EC_WORD_THESE, EC_WORD_HEY_QUES, EC_WORD_ELLIPSIS_EXCL }, .speechLose = { EC_WORD_OUTSIDE, EC_WORD_UNCLE, EC_WORD_SURPRISE, EC_WORD_THESE, EC_WORD_HEY_QUES, EC_WORD_ELLIPSIS_EXCL },
.speechAfter = { EC_WORD_HE_S, EC_WORD_NO_1, EC_WORD_STRONG, EC_WORD_CHILDREN, EC_WORD_CAN_T, EC_WORD_EXCL_EXCL }, .speechAfter = { EC_WORD_HE_S, EC_WORD_NO_1, EC_WORD_STRONG, EC_WORD_CHILDREN, EC_WORD_CAN_T, EC_WORD_EXCL_EXCL },
.mons = { .mons = {

View File

@ -1361,11 +1361,11 @@ static const u8 sEmpty1[0x200] = {0};
const u8 gBerryBlenderPlayerArrow_Gfx[] = INCBIN_U8("graphics/berry_blender/arrow.4bpp"); const u8 gBerryBlenderPlayerArrow_Gfx[] = INCBIN_U8("graphics/berry_blender/arrow.4bpp");
static const u8 sEmpty2[0x2C0] = {0}; static const u8 sEmpty2[0x2C0] = {0};
const u16 gEasyChatCursor_Pal[] = INCBIN_U16("graphics/easy_chat/cursor.gbapal"); const u16 gEasyChatRectangleCursor_Pal[] = INCBIN_U16("graphics/easy_chat/rectangle_cursor.gbapal");
const u32 gEasyChatCursor_Gfx[] = INCBIN_U32("graphics/easy_chat/cursor.4bpp.lz"); const u32 gEasyChatRectangleCursor_Gfx[] = INCBIN_U32("graphics/easy_chat/rectangle_cursor.4bpp.lz");
const u16 gEasyChatRightWindow_Pal[] = INCBIN_U16("graphics/easy_chat/rwindow.gbapal"); const u16 gEasyChatButtonWindow_Pal[] = INCBIN_U16("graphics/easy_chat/button_window.gbapal");
const u32 gEasyChatRightWindow_Gfx[] = INCBIN_U32("graphics/easy_chat/rwindow.4bpp.lz"); const u32 gEasyChatButtonWindow_Gfx[] = INCBIN_U32("graphics/easy_chat/button_window.4bpp.lz");
const u32 gEasyChatMode_Gfx[] = INCBIN_U32("graphics/easy_chat/mode.4bpp.lz"); const u32 gEasyChatMode_Gfx[] = INCBIN_U32("graphics/easy_chat/mode.4bpp.lz");
const u16 gEasyChatMode_Pal[] = INCBIN_U16("graphics/easy_chat/mode.gbapal"); const u16 gEasyChatMode_Pal[] = INCBIN_U16("graphics/easy_chat/mode.gbapal");

View File

@ -379,7 +379,7 @@ u8 GetQuizAuthor(void)
struct LilycoveLadyQuiz *quiz; struct LilycoveLadyQuiz *quiz;
quiz = &gSaveBlock1Ptr->lilycoveLady.quiz; quiz = &gSaveBlock1Ptr->lilycoveLady.quiz;
if (sub_811F8D8(quiz->correctAnswer) == 0) if (IsEasyChatAnswerUnlocked(quiz->correctAnswer) == FALSE)
{ {
i = quiz->questionId; i = quiz->questionId;
do do
@ -388,7 +388,7 @@ u8 GetQuizAuthor(void)
{ {
i = 0; i = 0;
} }
} while (sub_811F8D8(sQuizLadyQuizAnswers[i]) == 0); } while (IsEasyChatAnswerUnlocked(sQuizLadyQuizAnswers[i]) == FALSE);
for (j = 0; j < QUIZ_QUESTION_LEN; j ++) for (j = 0; j < QUIZ_QUESTION_LEN; j ++)
{ {
quiz->question[j] = sQuizLadyQuizQuestions[i][j]; quiz->question[j] = sQuizLadyQuizQuestions[i][j];

View File

@ -5,6 +5,7 @@
#include "pokemon_icon.h" #include "pokemon_icon.h"
#include "text.h" #include "text.h"
#include "international_string_util.h" #include "international_string_util.h"
#include "constants/easy_chat.h"
void ClearMailData(void) void ClearMailData(void)
{ {
@ -19,7 +20,7 @@ void ClearMailStruct(struct MailStruct *mail)
s32 i; s32 i;
for (i = 0; i < MAIL_WORDS_COUNT; i++) for (i = 0; i < MAIL_WORDS_COUNT; i++)
mail->words[i] = 0xFFFF; mail->words[i] = EC_EMPTY_WORD;
for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
mail->playerName[i] = EOS; mail->playerName[i] = EOS;
@ -55,7 +56,7 @@ u8 GiveMailToMon(struct Pokemon *mon, u16 itemId)
if (gSaveBlock1Ptr->mail[id].itemId == ITEM_NONE) if (gSaveBlock1Ptr->mail[id].itemId == ITEM_NONE)
{ {
for (i = 0; i < MAIL_WORDS_COUNT; i++) for (i = 0; i < MAIL_WORDS_COUNT; i++)
gSaveBlock1Ptr->mail[id].words[i] = 0xFFFF; gSaveBlock1Ptr->mail[id].words[i] = EC_EMPTY_WORD;
for (i = 0; i < PLAYER_NAME_LENGTH; i++) for (i = 0; i < PLAYER_NAME_LENGTH; i++)
gSaveBlock1Ptr->mail[id].playerName[i] = gSaveBlock2Ptr->playerName[i]; gSaveBlock1Ptr->mail[id].playerName[i] = gSaveBlock2Ptr->playerName[i];

View File

@ -250,7 +250,7 @@ void ScrSpecial_HipsterTeachWord(void)
{ {
u16 phrase = GetNewHipsterPhraseToTeach(); u16 phrase = GetNewHipsterPhraseToTeach();
if (phrase == 0xFFFF) if (phrase == EC_EMPTY_WORD)
{ {
gSpecialVar_Result = FALSE; gSpecialVar_Result = FALSE;
} }
@ -283,7 +283,7 @@ void ScrSpecial_GenerateGiddyLine(void)
if (giddy->taleCounter == 0) if (giddy->taleCounter == 0)
InitGiddyTaleList(); InitGiddyTaleList();
if (giddy->randomWords[giddy->taleCounter] != 0xFFFF) // is not the last element of the array? if (giddy->randomWords[giddy->taleCounter] != EC_EMPTY_WORD)
{ {
u8 *stringPtr; u8 *stringPtr;
u32 adjective = Random(); u32 adjective = Random();
@ -316,7 +316,7 @@ static void InitGiddyTaleList(void)
{EC_GROUP_HOBBIES, 0}, {EC_GROUP_HOBBIES, 0},
{EC_GROUP_MOVE_1, 0}, {EC_GROUP_MOVE_1, 0},
{EC_GROUP_MOVE_2, 0}, {EC_GROUP_MOVE_2, 0},
{EC_GROUP_POKEMON_2, 0} {EC_GROUP_POKEMON_NATIONAL, 0}
}; };
u16 i; u16 i;
u16 r10; u16 r10;
@ -348,7 +348,7 @@ static void InitGiddyTaleList(void)
r1 = Random() % 10; r1 = Random() % 10;
if (r1 < 3 && r7 < 8) if (r1 < 3 && r7 < 8)
{ {
giddy->randomWords[i] = 0xFFFF; giddy->randomWords[i] = EC_EMPTY_WORD;
r7++; r7++;
} }
else else

View File

@ -26,7 +26,7 @@ void sub_801AFD8(void)
{ {
CpuFill32(0, &gSaveBlock1Ptr->unk_322C, sizeof(gSaveBlock1Ptr->unk_322C)); CpuFill32(0, &gSaveBlock1Ptr->unk_322C, sizeof(gSaveBlock1Ptr->unk_322C));
sub_801B180(); sub_801B180();
sub_811F8BC(); InitQuestionnaireWords();
} }
struct WonderNews *GetSavedWonderNews(void) struct WonderNews *GetSavedWonderNews(void)
@ -49,9 +49,9 @@ struct MysteryEventStruct *sub_801B044(void)
return &gSaveBlock1Ptr->unk_322C.unk_340; return &gSaveBlock1Ptr->unk_322C.unk_340;
} }
u16 *sub_801B058(void) u16 *GetQuestionnaireWordsPtr(void)
{ {
return gSaveBlock1Ptr->unk_322C.unk_338; return gSaveBlock1Ptr->unk_322C.questionnaireWords;
} }
void DestroyWonderNews(void) void DestroyWonderNews(void)
@ -364,8 +364,8 @@ void sub_801B580(struct MEventStruct_Unk1442CC *data, bool32 a1)
data->unk_14 = 0; data->unk_14 = 0;
} }
for (i = 0; i < 4; i++) for (i = 0; i < NUM_QUESTIONNAIRE_WORDS; i++)
data->unk_16[i] = gSaveBlock1Ptr->unk_322C.unk_338[i]; data->unk_16[i] = gSaveBlock1Ptr->unk_322C.questionnaireWords[i];
CopyTrainerId(data->unk_4C, gSaveBlock2Ptr->playerTrainerId); CopyTrainerId(data->unk_4C, gSaveBlock2Ptr->playerTrainerId);
StringCopy(data->unk_45, gSaveBlock2Ptr->playerName); StringCopy(data->unk_45, gSaveBlock2Ptr->playerName);
@ -425,7 +425,7 @@ u32 sub_801B708(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, const vo
bool32 MEventStruct_Unk1442CC_CompareField_unk_16(const struct MEventStruct_Unk1442CC *a0, const u16 *a1) bool32 MEventStruct_Unk1442CC_CompareField_unk_16(const struct MEventStruct_Unk1442CC *a0, const u16 *a1)
{ {
int i; int i;
for (i = 0; i < 4; i++) for (i = 0; i < NUM_QUESTIONNAIRE_WORDS; i++)
{ {
if (a0->unk_16[i] != a1[i]) if (a0->unk_16[i] != a1[i])
return FALSE; return FALSE;

View File

@ -1133,7 +1133,7 @@ void Overworld_PlaySpecialMapMusic(void)
{ {
u16 music = GetCurrLocationDefaultMusic(); u16 music = GetCurrLocationDefaultMusic();
if (music != MUS_ABNORMAL_WEATHER && music != 0xFFFF) if (music != MUS_ABNORMAL_WEATHER && music != MUS_NONE)
{ {
if (gSaveBlock1Ptr->savedMusic) if (gSaveBlock1Ptr->savedMusic)
music = gSaveBlock1Ptr->savedMusic; music = gSaveBlock1Ptr->savedMusic;
@ -1163,7 +1163,7 @@ static void TransitionMapMusic(void)
{ {
u16 newMusic = GetWarpDestinationMusic(); u16 newMusic = GetWarpDestinationMusic();
u16 currentMusic = GetCurrentMapMusic(); u16 currentMusic = GetCurrentMapMusic();
if (newMusic != MUS_ABNORMAL_WEATHER && newMusic != 0xFFFF) if (newMusic != MUS_ABNORMAL_WEATHER && newMusic != MUS_NONE)
{ {
if (currentMusic == MUS_UNDERWATER || currentMusic == MUS_SURF) if (currentMusic == MUS_UNDERWATER || currentMusic == MUS_SURF)
return; return;

View File

@ -1016,7 +1016,7 @@ bool8 IsTVShowInSearchOfTrainersAiring(void)
bool8 GabbyAndTyGetLastQuote(void) bool8 GabbyAndTyGetLastQuote(void)
{ {
if (gSaveBlock1Ptr->gabbyAndTyData.quote[0] == 0xFFFF) if (gSaveBlock1Ptr->gabbyAndTyData.quote[0] == EC_EMPTY_WORD)
{ {
return FALSE; return FALSE;
} }
@ -3299,14 +3299,11 @@ void TV_FanClubLetter_RandomWordToStringVar3(TVShow *show)
while (TRUE) while (TRUE)
{ {
if (i == 6) if (i == 6)
{
i = 0; i = 0;
}
if (show->fanclubLetter.words[i] != 0xFFFF) if (show->fanclubLetter.words[i] != EC_EMPTY_WORD)
{
break; break;
} i++;
i ++;
} }
CopyEasyChatWord(gStringVar3, show->fanclubLetter.words[i]); CopyEasyChatWord(gStringVar3, show->fanclubLetter.words[i]);
} }