Merge branch 'master' into _pret/pr/pyramidLocation
This commit is contained in:
+2
-2
@@ -3,7 +3,7 @@
|
||||
|
||||
static const char AgbLibFlashVersion[] = "FLASH1M_V103";
|
||||
|
||||
static const struct FlashSetupInfo * const sSetupInfos[] =
|
||||
static const struct FlashSetupInfo *const sSetupInfos[] =
|
||||
{
|
||||
&MX29L010,
|
||||
&LE26FV10N1TS,
|
||||
@@ -14,7 +14,7 @@ u16 IdentifyFlash(void)
|
||||
{
|
||||
u16 result;
|
||||
u16 flashId;
|
||||
const struct FlashSetupInfo * const *setupInfo;
|
||||
const struct FlashSetupInfo *const *setupInfo;
|
||||
|
||||
REG_WAITCNT = (REG_WAITCNT & ~WAITCNT_SRAM_MASK) | WAITCNT_SRAM_8;
|
||||
|
||||
|
||||
+21
-21
@@ -70,8 +70,8 @@ struct ApprenticeQuestionData
|
||||
{
|
||||
u16 speciesId;
|
||||
u16 altSpeciesId;
|
||||
u16 moveId1;
|
||||
u16 moveId2;
|
||||
u16 move1;
|
||||
u16 move2;
|
||||
};
|
||||
|
||||
// IWRAM common
|
||||
@@ -81,7 +81,7 @@ COMMON_DATA void (*gApprenticeFunc)(void) = NULL;
|
||||
|
||||
// This file's functions.
|
||||
static u16 GetRandomAlternateMove(u8 monId);
|
||||
static bool8 TrySetMove(u8 monId, u16 moveId);
|
||||
static bool8 TrySetMove(u8 monId, u16 move);
|
||||
static void CreateChooseAnswerTask(bool8 noBButton, u8 itemsCount, u8 windowId);
|
||||
static u8 CreateAndShowWindow(u8 left, u8 top, u8 width, u8 height);
|
||||
static void RemoveAndHideWindow(u8 windowId);
|
||||
@@ -337,7 +337,7 @@ static u16 GetRandomAlternateMove(u8 monId)
|
||||
u16 species;
|
||||
const u16 *learnset;
|
||||
bool32 needTMs = FALSE;
|
||||
u16 moveId = MOVE_NONE;
|
||||
u16 move = MOVE_NONE;
|
||||
bool32 shouldUseMove;
|
||||
u8 level;
|
||||
|
||||
@@ -379,7 +379,7 @@ static u16 GetRandomAlternateMove(u8 monId)
|
||||
}
|
||||
while (!shouldUseMove);
|
||||
|
||||
moveId = ItemIdToBattleMoveId(ITEM_TM01 + id);
|
||||
move = ItemIdToBattleMoveId(ITEM_TM01 + id);
|
||||
shouldUseMove = TRUE;
|
||||
|
||||
if (numLearnsetMoves <= MAX_MON_MOVES)
|
||||
@@ -390,7 +390,7 @@ static u16 GetRandomAlternateMove(u8 monId)
|
||||
for (; j < numLearnsetMoves; j++)
|
||||
{
|
||||
// Keep looking for TMs until one not in the level up learnset is found
|
||||
if ((learnset[j] & LEVEL_UP_MOVE_ID) == moveId)
|
||||
if ((learnset[j] & LEVEL_UP_MOVE_ID) == move)
|
||||
{
|
||||
shouldUseMove = FALSE;
|
||||
break;
|
||||
@@ -414,13 +414,13 @@ static u16 GetRandomAlternateMove(u8 monId)
|
||||
{
|
||||
// Get a random move excluding the 4 it would know at max level
|
||||
u8 learnsetId = Random() % (numLearnsetMoves - MAX_MON_MOVES);
|
||||
moveId = learnset[learnsetId] & LEVEL_UP_MOVE_ID;
|
||||
move = learnset[learnsetId] & LEVEL_UP_MOVE_ID;
|
||||
shouldUseMove = TRUE;
|
||||
|
||||
for (j = numLearnsetMoves - MAX_MON_MOVES; j < numLearnsetMoves; j++)
|
||||
{
|
||||
// Keep looking for moves until one not in the last 4 is found
|
||||
if ((learnset[j] & LEVEL_UP_MOVE_ID) == moveId)
|
||||
if ((learnset[j] & LEVEL_UP_MOVE_ID) == move)
|
||||
{
|
||||
shouldUseMove = FALSE;
|
||||
break;
|
||||
@@ -430,29 +430,29 @@ static u16 GetRandomAlternateMove(u8 monId)
|
||||
}
|
||||
}
|
||||
|
||||
if (TrySetMove(monId, moveId))
|
||||
if (TrySetMove(monId, move))
|
||||
{
|
||||
if (sValidApprenticeMoves[moveId])
|
||||
if (sValidApprenticeMoves[move])
|
||||
break;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
gApprenticePartyMovesData->moveCounter++;
|
||||
return moveId;
|
||||
return move;
|
||||
}
|
||||
|
||||
static bool8 TrySetMove(u8 monId, u16 moveId)
|
||||
static bool8 TrySetMove(u8 monId, u16 move)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < NUM_WHICH_MOVE_QUESTIONS; i++)
|
||||
{
|
||||
if (gApprenticePartyMovesData->moves[monId][i] == moveId)
|
||||
if (gApprenticePartyMovesData->moves[monId][i] == move)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gApprenticePartyMovesData->moves[monId][gApprenticePartyMovesData->moveCounter] = moveId;
|
||||
gApprenticePartyMovesData->moves[monId][gApprenticePartyMovesData->moveCounter] = move;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -605,8 +605,8 @@ static void CreateApprenticeMenu(u8 menu)
|
||||
case APPRENTICE_ASK_MOVES:
|
||||
left = 17;
|
||||
top = 8;
|
||||
strings[0] = gMoveNames[gApprenticeQuestionData->moveId1];
|
||||
strings[1] = gMoveNames[gApprenticeQuestionData->moveId2];
|
||||
strings[0] = gMoveNames[gApprenticeQuestionData->move1];
|
||||
strings[1] = gMoveNames[gApprenticeQuestionData->move2];
|
||||
break;
|
||||
case APPRENTICE_ASK_GIVE:
|
||||
left = 18;
|
||||
@@ -1006,8 +1006,8 @@ static void InitQuestionData(void)
|
||||
count = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].monId;
|
||||
APPRENTICE_SPECIES_ID_NO_COND(id1, count);
|
||||
gApprenticeQuestionData->speciesId = gApprentices[PLAYER_APPRENTICE.id].species[id1];
|
||||
gApprenticeQuestionData->moveId1 = GetDefaultMove(count, id1, PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].moveSlot);
|
||||
gApprenticeQuestionData->moveId2 = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data;
|
||||
gApprenticeQuestionData->move1 = GetDefaultMove(count, id1, PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].moveSlot);
|
||||
gApprenticeQuestionData->move2 = PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data;
|
||||
}
|
||||
}
|
||||
else if (gSpecialVar_0x8005 == APPRENTICE_QUESTION_WHAT_ITEM)
|
||||
@@ -1062,13 +1062,13 @@ static void ApprenticeBufferString(void)
|
||||
StringCopy(stringDst, gSpeciesNames[gApprenticeQuestionData->speciesId]);
|
||||
break;
|
||||
case APPRENTICE_BUFF_MOVE1:
|
||||
StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->moveId1]);
|
||||
StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->move1]);
|
||||
break;
|
||||
case APPRENTICE_BUFF_MOVE2:
|
||||
StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->moveId2]);
|
||||
StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->move2]);
|
||||
break;
|
||||
case APPRENTICE_BUFF_ITEM:
|
||||
StringCopy(stringDst, ItemId_GetName(PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data));
|
||||
StringCopy(stringDst, GetItemName(PLAYER_APPRENTICE.questions[CURRENT_QUESTION_NUM].data));
|
||||
break;
|
||||
case APPRENTICE_BUFF_NAME:
|
||||
TVShowConvertInternationalString(text, GetApprenticeNameInLanguage(PLAYER_APPRENTICE.id, GAME_LANGUAGE), GAME_LANGUAGE);
|
||||
|
||||
+210
-26
@@ -1,63 +1,247 @@
|
||||
#include "global.h"
|
||||
#include "bard_music.h"
|
||||
#include "easy_chat.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
#include "data/bard_music/bard_sounds.h"
|
||||
#include "data/bard_music/word_pitch.h"
|
||||
#include "data/bard_music/default_sound.h"
|
||||
#include "data/bard_music/length_table.h"
|
||||
// Indicates that the previous sound should be held.
|
||||
#define PREV_BARD_SOUND { .songId = NUM_PHONEME_SONGS }
|
||||
|
||||
static s16 CalcWordPitch(int pitchIdx, int songPos)
|
||||
// Invalid sound, indicates the end of the sounds for the word.
|
||||
#define NULL_BARD_SOUND { .songId = PHONEME_ID_NONE }
|
||||
|
||||
#include "data/bard_music/pokemon.h"
|
||||
#include "data/bard_music/moves.h"
|
||||
#include "data/bard_music/trainer.h"
|
||||
#include "data/bard_music/status.h"
|
||||
#include "data/bard_music/battle.h"
|
||||
#include "data/bard_music/greetings.h"
|
||||
#include "data/bard_music/people.h"
|
||||
#include "data/bard_music/voices.h"
|
||||
#include "data/bard_music/speech.h"
|
||||
#include "data/bard_music/endings.h"
|
||||
#include "data/bard_music/feelings.h"
|
||||
#include "data/bard_music/conditions.h"
|
||||
#include "data/bard_music/actions.h"
|
||||
#include "data/bard_music/lifestyle.h"
|
||||
#include "data/bard_music/hobbies.h"
|
||||
#include "data/bard_music/time.h"
|
||||
#include "data/bard_music/misc.h"
|
||||
#include "data/bard_music/adjectives.h"
|
||||
#include "data/bard_music/events.h"
|
||||
#include "data/bard_music/trendysaying.h"
|
||||
|
||||
static const struct BardSoundTemplate (*const sBardSoundTemplatesTable[EC_NUM_GROUPS])[MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_GROUP_POKEMON] = NULL, // Handled by sBardSoundTemplates_Pokemon
|
||||
[EC_GROUP_TRAINER] = sBardSoundTemplates_Trainer,
|
||||
[EC_GROUP_STATUS] = sBardSoundTemplates_Status,
|
||||
[EC_GROUP_BATTLE] = sBardSoundTemplates_Battle,
|
||||
[EC_GROUP_GREETINGS] = sBardSoundTemplates_Greetings,
|
||||
[EC_GROUP_PEOPLE] = sBardSoundTemplates_People,
|
||||
[EC_GROUP_VOICES] = sBardSoundTemplates_Voices,
|
||||
[EC_GROUP_SPEECH] = sBardSoundTemplates_Speech,
|
||||
[EC_GROUP_ENDINGS] = sBardSoundTemplates_Endings,
|
||||
[EC_GROUP_FEELINGS] = sBardSoundTemplates_Feelings,
|
||||
[EC_GROUP_CONDITIONS] = sBardSoundTemplates_Conditions,
|
||||
[EC_GROUP_ACTIONS] = sBardSoundTemplates_Actions,
|
||||
[EC_GROUP_LIFESTYLE] = sBardSoundTemplates_Lifestyle,
|
||||
[EC_GROUP_HOBBIES] = sBardSoundTemplates_Hobbies,
|
||||
[EC_GROUP_TIME] = sBardSoundTemplates_Time,
|
||||
[EC_GROUP_MISC] = sBardSoundTemplates_Misc,
|
||||
[EC_GROUP_ADJECTIVES] = sBardSoundTemplates_Adjectives,
|
||||
[EC_GROUP_EVENTS] = sBardSoundTemplates_Events,
|
||||
[EC_GROUP_MOVE_1] = NULL, // Handled by sBardSoundTemplates_Moves
|
||||
[EC_GROUP_MOVE_2] = NULL, // Handled by sBardSoundTemplates_Moves
|
||||
[EC_GROUP_TRENDY_SAYING] = sBardSoundTemplates_TrendySaying,
|
||||
[EC_GROUP_POKEMON_NATIONAL] = NULL, // Handled by sBardSoundTemplates_Pokemon
|
||||
};
|
||||
|
||||
// The pitch tables below will be indexed using the number of BardSoundTemplates per word, so a table is selected
|
||||
// that has at least MAX_BARD_SOUNDS_PER_WORD pitch values. Curiously they select pitch tables whose size is +1
|
||||
// of the maximum number of sounds per word, so the final pitch value (before PITCH_END) isn't used.
|
||||
// (i.e., 'NUM_BARD_PITCH_TABLES_PER_SIZE * (MAX_BARD_SOUNDS_PER_WORD-1)' would select a sufficiently large table).
|
||||
#define BASE_PITCH_TABLE_INDEX (NUM_BARD_PITCH_TABLES_PER_SIZE * MAX_BARD_SOUNDS_PER_WORD)
|
||||
|
||||
#define PITCH_END 0x1800
|
||||
|
||||
static const s16 sPitch1_0[] = { -0x300, PITCH_END };
|
||||
static const s16 sPitch1_1[] = { 0x0900, PITCH_END };
|
||||
static const s16 sPitch1_2[] = { 0x0100, PITCH_END };
|
||||
static const s16 sPitch1_3[] = { 0x0400, PITCH_END };
|
||||
static const s16 sPitch1_4[] = { 0x0b00, PITCH_END };
|
||||
|
||||
static const s16 sPitch2_0[] = { -0x300, -0x100, PITCH_END };
|
||||
static const s16 sPitch2_1[] = { -0x300, 0x0200, PITCH_END };
|
||||
static const s16 sPitch2_2[] = { 0x0200, 0x0400, PITCH_END };
|
||||
static const s16 sPitch2_3[] = { 0x0600, 0x0800, PITCH_END };
|
||||
static const s16 sPitch2_4[] = { 0x0900, 0x0800, PITCH_END };
|
||||
|
||||
static const s16 sPitch3_0[] = { -0x300, -0x100, -0x300, PITCH_END };
|
||||
static const s16 sPitch3_1[] = { 0x0400, -0x300, 0x0400, PITCH_END };
|
||||
static const s16 sPitch3_2[] = { 0x0900, 0x0800, 0x0600, PITCH_END };
|
||||
static const s16 sPitch3_3[] = { 0x0100, 0x0200, 0x0400, PITCH_END };
|
||||
static const s16 sPitch3_4[] = { 0x0600, 0x1000, 0x0d00, PITCH_END };
|
||||
|
||||
static const s16 sPitch4_0[] = { 0x0400, 0x0900, 0x0400, 0x0900, PITCH_END };
|
||||
static const s16 sPitch4_1[] = { 0x0900, 0x0400, 0x0d00, 0x0400, PITCH_END };
|
||||
static const s16 sPitch4_2[] = { 0x0100, 0x0200, 0x0400, 0x0600, PITCH_END };
|
||||
static const s16 sPitch4_3[] = { 0x0800, 0x0600, 0x0400, 0x0200, PITCH_END };
|
||||
static const s16 sPitch4_4[] = { 0x0f00, 0x0d00, 0x0b00, 0x0a00, PITCH_END };
|
||||
|
||||
static const s16 sPitch5_0[] = { -0x300, -0x100, 0x0100, 0x0200, 0x0400, PITCH_END };
|
||||
static const s16 sPitch5_1[] = { 0x0900, 0x0800, 0x0600, 0x0400, 0x0200, PITCH_END };
|
||||
static const s16 sPitch5_2[] = { 0x0100, 0x0400, 0x0900, 0x0400, 0x0100, PITCH_END };
|
||||
static const s16 sPitch5_3[] = { 0x0900, 0x0400, 0x0900, 0x0400, -0x300, PITCH_END };
|
||||
static const s16 sPitch5_4[] = { 0x0b00, 0x0800, 0x0400, 0x0400, 0x0600, PITCH_END };
|
||||
|
||||
static const s16 sPitch6_0[] = { -0x300, -0x100, 0x0100, 0x0200, 0x0400, 0x0600, PITCH_END };
|
||||
static const s16 sPitch6_1[] = { 0x0800, 0x0600, 0x0400, 0x0200, 0x0100, -0x100, PITCH_END };
|
||||
static const s16 sPitch6_2[] = { 0x0100, 0x0200, 0x0400, 0x0100, 0x0200, 0x1000, PITCH_END };
|
||||
static const s16 sPitch6_3[] = { 0x0400, -0x300, 0x0900, 0x0400, 0x0900, 0x0400, PITCH_END };
|
||||
static const s16 sPitch6_4[] = { 0x0800, 0x0900, 0x0800, 0x0900, 0x0800, 0x0900, PITCH_END };
|
||||
|
||||
static const s16 sPitch7_0[] = { 0x0200, 0x0100, 0x0200, 0x0100, 0x0200, 0x0400, 0x0200, PITCH_END };
|
||||
static const s16 sPitch7_1[] = { 0x0100, 0x0100, -0x100, -0x100, -0x300, 0x0400, -0x300, PITCH_END };
|
||||
static const s16 sPitch7_2[] = { 0x0800, 0x0900, 0x0b00, 0x0d00, 0x0e00, 0x0d00, 0x0b00, PITCH_END };
|
||||
static const s16 sPitch7_3[] = { 0x0800, 0x0600, 0x0400, 0x0200, 0x0d00, 0x0b00, 0x0900, PITCH_END };
|
||||
static const s16 sPitch7_4[] = { 0x0300, 0x0400, 0x0600, 0x0800, 0x0700, 0x0800, 0x0400, PITCH_END };
|
||||
|
||||
// In practice only sPitch7_# below are used below.
|
||||
// BASE_PITCH_TABLE_INDEX is 30 by default, and this table is always indexed with (x + 30), where x is some value 0 - 4
|
||||
static const s16 *const sPitchTables[NUM_BARD_PITCH_TABLES_PER_SIZE * 7] = {
|
||||
sPitch1_0, sPitch1_1, sPitch1_2, sPitch1_3, sPitch1_4,
|
||||
sPitch2_0, sPitch2_1, sPitch2_2, sPitch2_3, sPitch2_4,
|
||||
sPitch3_0, sPitch3_1, sPitch3_2, sPitch3_3, sPitch3_4,
|
||||
sPitch4_0, sPitch4_1, sPitch4_2, sPitch4_3, sPitch4_4,
|
||||
sPitch5_0, sPitch5_1, sPitch5_2, sPitch5_3, sPitch5_4,
|
||||
sPitch6_0, sPitch6_1, sPitch6_2, sPitch6_3, sPitch6_4,
|
||||
sPitch7_0, sPitch7_1, sPitch7_2, sPitch7_3, sPitch7_4
|
||||
};
|
||||
|
||||
// If this fails, CalcWordSounds will likely read out of bounds for sPitchTables.
|
||||
STATIC_ASSERT(BASE_PITCH_TABLE_INDEX + (NUM_BARD_PITCH_TABLES_PER_SIZE-1) < ARRAY_COUNT(sPitchTables), NotEnoughPitchTablesForBardSounds)
|
||||
|
||||
static const struct BardSoundTemplate sEmptyPhonemeTemplate[] = {
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND
|
||||
};
|
||||
|
||||
static const int sPhonemeLengths[NUM_PHONEME_SONGS + 1] = {
|
||||
[PHONEME_ID(PH_TRAP_BLEND)] = 9,
|
||||
[PHONEME_ID(PH_TRAP_HELD)] = 22,
|
||||
[PHONEME_ID(PH_TRAP_SOLO)] = 15,
|
||||
[PHONEME_ID(PH_FACE_BLEND)] = 16,
|
||||
[PHONEME_ID(PH_FACE_HELD)] = 39,
|
||||
[PHONEME_ID(PH_FACE_SOLO)] = 21,
|
||||
[PHONEME_ID(PH_CLOTH_BLEND)] = 9,
|
||||
[PHONEME_ID(PH_CLOTH_HELD)] = 30,
|
||||
[PHONEME_ID(PH_CLOTH_SOLO)] = 24,
|
||||
[PHONEME_ID(PH_DRESS_BLEND)] = 15,
|
||||
[PHONEME_ID(PH_DRESS_HELD)] = 25,
|
||||
[PHONEME_ID(PH_DRESS_SOLO)] = 12,
|
||||
[PHONEME_ID(PH_FLEECE_BLEND)] = 22,
|
||||
[PHONEME_ID(PH_FLEECE_HELD)] = 45,
|
||||
[PHONEME_ID(PH_FLEECE_SOLO)] = 24,
|
||||
[PHONEME_ID(PH_KIT_BLEND)] = 15,
|
||||
[PHONEME_ID(PH_KIT_HELD)] = 40,
|
||||
[PHONEME_ID(PH_KIT_SOLO)] = 9,
|
||||
[PHONEME_ID(PH_PRICE_BLEND)] = 21,
|
||||
[PHONEME_ID(PH_PRICE_HELD)] = 42,
|
||||
[PHONEME_ID(PH_PRICE_SOLO)] = 18,
|
||||
[PHONEME_ID(PH_LOT_BLEND)] = 9,
|
||||
[PHONEME_ID(PH_LOT_HELD)] = 22,
|
||||
[PHONEME_ID(PH_LOT_SOLO)] = 15,
|
||||
[PHONEME_ID(PH_GOAT_BLEND)] = 27,
|
||||
[PHONEME_ID(PH_GOAT_HELD)] = 48,
|
||||
[PHONEME_ID(PH_GOAT_SOLO)] = 18,
|
||||
[PHONEME_ID(PH_THOUGHT_BLEND)] = 27,
|
||||
[PHONEME_ID(PH_THOUGHT_HELD)] = 33,
|
||||
[PHONEME_ID(PH_THOUGHT_SOLO)] = 24,
|
||||
[PHONEME_ID(PH_CHOICE_BLEND)] = 25,
|
||||
[PHONEME_ID(PH_CHOICE_HELD)] = 39,
|
||||
[PHONEME_ID(PH_CHOICE_SOLO)] = 19,
|
||||
[PHONEME_ID(PH_MOUTH_BLEND)] = 16,
|
||||
[PHONEME_ID(PH_MOUTH_HELD)] = 54,
|
||||
[PHONEME_ID(PH_MOUTH_SOLO)] = 18,
|
||||
[PHONEME_ID(PH_FOOT_BLEND)] = 9,
|
||||
[PHONEME_ID(PH_FOOT_HELD)] = 45,
|
||||
[PHONEME_ID(PH_FOOT_SOLO)] = 15,
|
||||
[PHONEME_ID(PH_GOOSE_BLEND)] = 12,
|
||||
[PHONEME_ID(PH_GOOSE_HELD)] = 39,
|
||||
[PHONEME_ID(PH_GOOSE_SOLO)] = 23,
|
||||
[PHONEME_ID(PH_STRUT_BLEND)] = 5,
|
||||
[PHONEME_ID(PH_STRUT_HELD)] = 45,
|
||||
[PHONEME_ID(PH_STRUT_SOLO)] = 12,
|
||||
[PHONEME_ID(PH_CURE_BLEND)] = 21,
|
||||
[PHONEME_ID(PH_CURE_HELD)] = 48,
|
||||
[PHONEME_ID(PH_CURE_SOLO)] = 12,
|
||||
[PHONEME_ID(PH_NURSE_BLEND)] = 21,
|
||||
[PHONEME_ID(PH_NURSE_HELD)] = 69,
|
||||
[PHONEME_ID(PH_NURSE_SOLO)] = 18,
|
||||
[NUM_PHONEME_SONGS] = 15, // This is the length that will be used by PREV_BARD_SOUND to hold the previous phoneme sound.
|
||||
};
|
||||
|
||||
static s16 GetWordPitch(int tableIndex, int pitchIndex)
|
||||
{
|
||||
return sBardSoundPitchTables[pitchIdx][songPos];
|
||||
return sPitchTables[tableIndex][pitchIndex];
|
||||
}
|
||||
|
||||
const struct BardSound *GetWordSounds(u16 word)
|
||||
const struct BardSoundTemplate *GetWordSoundTemplates(u16 easyChatWord)
|
||||
{
|
||||
u32 category;
|
||||
u32 subword;
|
||||
const struct BardSound (*ptr)[6];
|
||||
const struct BardSoundTemplate (*ptr)[MAX_BARD_SOUNDS_PER_WORD];
|
||||
|
||||
if (IsBardWordInvalid(word))
|
||||
{
|
||||
return gBardSound_InvalidWord;
|
||||
}
|
||||
category = EC_GROUP(word);
|
||||
subword = EC_INDEX(word);
|
||||
if (IsBardWordInvalid(easyChatWord))
|
||||
return sEmptyPhonemeTemplate;
|
||||
|
||||
category = EC_GROUP(easyChatWord);
|
||||
subword = EC_INDEX(easyChatWord);
|
||||
switch (category)
|
||||
{
|
||||
case EC_GROUP_POKEMON:
|
||||
case EC_GROUP_POKEMON_NATIONAL:
|
||||
ptr = gBardSounds_Pokemon;
|
||||
ptr = sBardSoundTemplates_Pokemon;
|
||||
break;
|
||||
case EC_GROUP_MOVE_1:
|
||||
case EC_GROUP_MOVE_2:
|
||||
ptr = gBardSounds_Moves;
|
||||
ptr = sBardSoundTemplates_Moves;
|
||||
break;
|
||||
default:
|
||||
ptr = gBardSoundsTable[category];
|
||||
ptr = sBardSoundTemplatesTable[category];
|
||||
break;
|
||||
}
|
||||
ptr += subword;
|
||||
return *ptr;
|
||||
}
|
||||
|
||||
void GetWordPhonemes(struct BardSong *song, u16 word)
|
||||
// Assumes that 'soundTemplates' has already been loaded with the BardSoundTemplates for the easy chat word to calculate sounds for.
|
||||
// 'pitchTableIndex' is chosen depending on the easy chat word, but is essentially an arbitrary value 0-4.
|
||||
void CalcWordSounds(struct BardSong *song, u16 pitchTableIndex)
|
||||
{
|
||||
int i;
|
||||
const struct BardSound *sound;
|
||||
const struct BardSoundTemplate *template;
|
||||
|
||||
song->length = 0;
|
||||
for (i = 0; i < BARD_SOUND_MAX_LENGTH; i ++)
|
||||
|
||||
for (i = 0; i < MAX_BARD_SOUNDS_PER_WORD; i ++)
|
||||
{
|
||||
sound = &song->sound[i];
|
||||
if (sound->songLengthId != 0xFF)
|
||||
template = &song->soundTemplates[i];
|
||||
if (template->songId != PHONEME_ID_NONE)
|
||||
{
|
||||
song->phonemes[i].length = sound->songLengthOffset + gBardSoundLengthTable[sound->songLengthId];
|
||||
song->phonemes[i].pitch = CalcWordPitch(word + 30, i);
|
||||
song->length += song->phonemes[i].length;
|
||||
// Calculate the length and pitch of each phoneme in this word.
|
||||
// A phoneme's length is always the same, and depends on the phoneme song and any adjustments in the template.
|
||||
// Its pitch changes depending on the easy chat word and where in the list of templates the phoneme appears.
|
||||
song->sounds[i].length = template->lengthAdjustment + sPhonemeLengths[template->songId];
|
||||
song->sounds[i].pitch = GetWordPitch(pitchTableIndex + BASE_PITCH_TABLE_INDEX, i);
|
||||
|
||||
// Add this phoneme's length to the total sound length for this word.
|
||||
song->length += song->sounds[i].length;
|
||||
}
|
||||
}
|
||||
song->currPhoneme = 0;
|
||||
song->soundIndex = 0;
|
||||
song->voiceInflection = 0;
|
||||
}
|
||||
|
||||
+163
-163
@@ -344,7 +344,7 @@ void BattleAI_SetupAIData(u8 defaultScoreMoves)
|
||||
gBattleResources->AI_ScriptsStack->size = 0;
|
||||
sBattler_AI = gActiveBattler;
|
||||
|
||||
// Decide a random target battlerId in doubles.
|
||||
// Decide a random target battler in doubles.
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
{
|
||||
gBattlerTarget = (Random() & BIT_FLANK) + BATTLE_OPPOSITE(GetBattlerSide(gActiveBattler));
|
||||
@@ -632,32 +632,32 @@ static void RecordLastUsedMoveByTarget(void)
|
||||
}
|
||||
}
|
||||
|
||||
void ClearBattlerMoveHistory(u8 battlerId)
|
||||
void ClearBattlerMoveHistory(u8 battler)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < MAX_MON_MOVES; i++)
|
||||
BATTLE_HISTORY->usedMoves[battlerId].moves[i] = MOVE_NONE;
|
||||
BATTLE_HISTORY->usedMoves[battler].moves[i] = MOVE_NONE;
|
||||
}
|
||||
|
||||
void RecordAbilityBattle(u8 battlerId, u8 abilityId)
|
||||
void RecordAbilityBattle(u8 battler, u8 abilityId)
|
||||
{
|
||||
BATTLE_HISTORY->abilities[battlerId] = abilityId;
|
||||
BATTLE_HISTORY->abilities[battler] = abilityId;
|
||||
}
|
||||
|
||||
void ClearBattlerAbilityHistory(u8 battlerId)
|
||||
void ClearBattlerAbilityHistory(u8 battler)
|
||||
{
|
||||
BATTLE_HISTORY->abilities[battlerId] = ABILITY_NONE;
|
||||
BATTLE_HISTORY->abilities[battler] = ABILITY_NONE;
|
||||
}
|
||||
|
||||
void RecordItemEffectBattle(u8 battlerId, u8 itemEffect)
|
||||
void RecordItemEffectBattle(u8 battler, u8 itemEffect)
|
||||
{
|
||||
BATTLE_HISTORY->itemEffects[battlerId] = itemEffect;
|
||||
BATTLE_HISTORY->itemEffects[battler] = itemEffect;
|
||||
}
|
||||
|
||||
void ClearBattlerItemEffectHistory(u8 battlerId)
|
||||
void ClearBattlerItemEffectHistory(u8 battler)
|
||||
{
|
||||
BATTLE_HISTORY->itemEffects[battlerId] = 0;
|
||||
BATTLE_HISTORY->itemEffects[battler] = 0;
|
||||
}
|
||||
|
||||
static void Cmd_if_random_less_than(void)
|
||||
@@ -712,14 +712,14 @@ static void Cmd_score(void)
|
||||
|
||||
static void Cmd_if_hp_less_than(void)
|
||||
{
|
||||
u16 battlerId;
|
||||
u16 battler;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
if ((u32)(100 * gBattleMons[battlerId].hp / gBattleMons[battlerId].maxHP) < gAIScriptPtr[2])
|
||||
if ((u32)(100 * gBattleMons[battler].hp / gBattleMons[battler].maxHP) < gAIScriptPtr[2])
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
|
||||
else
|
||||
gAIScriptPtr += 7;
|
||||
@@ -727,14 +727,14 @@ static void Cmd_if_hp_less_than(void)
|
||||
|
||||
static void Cmd_if_hp_more_than(void)
|
||||
{
|
||||
u16 battlerId;
|
||||
u16 battler;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
if ((u32)(100 * gBattleMons[battlerId].hp / gBattleMons[battlerId].maxHP) > gAIScriptPtr[2])
|
||||
if ((u32)(100 * gBattleMons[battler].hp / gBattleMons[battler].maxHP) > gAIScriptPtr[2])
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
|
||||
else
|
||||
gAIScriptPtr += 7;
|
||||
@@ -742,14 +742,14 @@ static void Cmd_if_hp_more_than(void)
|
||||
|
||||
static void Cmd_if_hp_equal(void)
|
||||
{
|
||||
u16 battlerId;
|
||||
u16 battler;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
if ((u32)(100 * gBattleMons[battlerId].hp / gBattleMons[battlerId].maxHP) == gAIScriptPtr[2])
|
||||
if ((u32)(100 * gBattleMons[battler].hp / gBattleMons[battler].maxHP) == gAIScriptPtr[2])
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
|
||||
else
|
||||
gAIScriptPtr += 7;
|
||||
@@ -757,14 +757,14 @@ static void Cmd_if_hp_equal(void)
|
||||
|
||||
static void Cmd_if_hp_not_equal(void)
|
||||
{
|
||||
u16 battlerId;
|
||||
u16 battler;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
if ((u32)(100 * gBattleMons[battlerId].hp / gBattleMons[battlerId].maxHP) != gAIScriptPtr[2])
|
||||
if ((u32)(100 * gBattleMons[battler].hp / gBattleMons[battler].maxHP) != gAIScriptPtr[2])
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
|
||||
else
|
||||
gAIScriptPtr += 7;
|
||||
@@ -772,17 +772,17 @@ static void Cmd_if_hp_not_equal(void)
|
||||
|
||||
static void Cmd_if_status(void)
|
||||
{
|
||||
u16 battlerId;
|
||||
u16 battler;
|
||||
u32 status;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
status = T1_READ_32(gAIScriptPtr + 2);
|
||||
|
||||
if (gBattleMons[battlerId].status1 & status)
|
||||
if (gBattleMons[battler].status1 & status)
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
|
||||
else
|
||||
gAIScriptPtr += 10;
|
||||
@@ -790,17 +790,17 @@ static void Cmd_if_status(void)
|
||||
|
||||
static void Cmd_if_not_status(void)
|
||||
{
|
||||
u16 battlerId;
|
||||
u16 battler;
|
||||
u32 status;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
status = T1_READ_32(gAIScriptPtr + 2);
|
||||
|
||||
if (!(gBattleMons[battlerId].status1 & status))
|
||||
if (!(gBattleMons[battler].status1 & status))
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
|
||||
else
|
||||
gAIScriptPtr += 10;
|
||||
@@ -808,17 +808,17 @@ static void Cmd_if_not_status(void)
|
||||
|
||||
static void Cmd_if_status2(void)
|
||||
{
|
||||
u16 battlerId;
|
||||
u16 battler;
|
||||
u32 status;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
status = T1_READ_32(gAIScriptPtr + 2);
|
||||
|
||||
if ((gBattleMons[battlerId].status2 & status))
|
||||
if ((gBattleMons[battler].status2 & status))
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
|
||||
else
|
||||
gAIScriptPtr += 10;
|
||||
@@ -826,17 +826,17 @@ static void Cmd_if_status2(void)
|
||||
|
||||
static void Cmd_if_not_status2(void)
|
||||
{
|
||||
u16 battlerId;
|
||||
u16 battler;
|
||||
u32 status;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
status = T1_READ_32(gAIScriptPtr + 2);
|
||||
|
||||
if (!(gBattleMons[battlerId].status2 & status))
|
||||
if (!(gBattleMons[battler].status2 & status))
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
|
||||
else
|
||||
gAIScriptPtr += 10;
|
||||
@@ -844,17 +844,17 @@ static void Cmd_if_not_status2(void)
|
||||
|
||||
static void Cmd_if_status3(void)
|
||||
{
|
||||
u16 battlerId;
|
||||
u16 battler;
|
||||
u32 status;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
status = T1_READ_32(gAIScriptPtr + 2);
|
||||
|
||||
if (gStatuses3[battlerId] & status)
|
||||
if (gStatuses3[battler] & status)
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
|
||||
else
|
||||
gAIScriptPtr += 10;
|
||||
@@ -862,17 +862,17 @@ static void Cmd_if_status3(void)
|
||||
|
||||
static void Cmd_if_not_status3(void)
|
||||
{
|
||||
u16 battlerId;
|
||||
u16 battler;
|
||||
u32 status;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
status = T1_READ_32(gAIScriptPtr + 2);
|
||||
|
||||
if (!(gStatuses3[battlerId] & status))
|
||||
if (!(gStatuses3[battler] & status))
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
|
||||
else
|
||||
gAIScriptPtr += 10;
|
||||
@@ -880,15 +880,15 @@ static void Cmd_if_not_status3(void)
|
||||
|
||||
static void Cmd_if_side_affecting(void)
|
||||
{
|
||||
u16 battlerId;
|
||||
u16 battler;
|
||||
u32 side, status;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
side = GET_BATTLER_SIDE(battlerId);
|
||||
side = GET_BATTLER_SIDE(battler);
|
||||
status = T1_READ_32(gAIScriptPtr + 2);
|
||||
|
||||
if (gSideStatuses[side] & status)
|
||||
@@ -899,15 +899,15 @@ static void Cmd_if_side_affecting(void)
|
||||
|
||||
static void Cmd_if_not_side_affecting(void)
|
||||
{
|
||||
u16 battlerId;
|
||||
u16 battler;
|
||||
u32 side, status;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
side = GET_BATTLER_SIDE(battlerId);
|
||||
side = GET_BATTLER_SIDE(battler);
|
||||
status = T1_READ_32(gAIScriptPtr + 2);
|
||||
|
||||
if (!(gSideStatuses[side] & status))
|
||||
@@ -1155,9 +1155,9 @@ static u8 BattleAI_GetWantedBattler(u8 wantedBattler)
|
||||
|
||||
static void Cmd_is_of_type(void)
|
||||
{
|
||||
u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]);
|
||||
u8 battler = BattleAI_GetWantedBattler(gAIScriptPtr[1]);
|
||||
|
||||
if (IS_BATTLER_OF_TYPE(battlerId, gAIScriptPtr[2]))
|
||||
if (IS_BATTLER_OF_TYPE(battler, gAIScriptPtr[2]))
|
||||
AI_THINKING_STRUCT->funcResult = TRUE;
|
||||
else
|
||||
AI_THINKING_STRUCT->funcResult = FALSE;
|
||||
@@ -1291,7 +1291,7 @@ static void Cmd_nop_2B(void)
|
||||
|
||||
static void Cmd_count_usable_party_mons(void)
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
u8 battlerOnField1, battlerOnField2;
|
||||
struct Pokemon *party;
|
||||
s32 i;
|
||||
@@ -1299,11 +1299,11 @@ static void Cmd_count_usable_party_mons(void)
|
||||
AI_THINKING_STRUCT->funcResult = 0;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
party = gPlayerParty;
|
||||
else
|
||||
party = gEnemyParty;
|
||||
@@ -1311,14 +1311,14 @@ static void Cmd_count_usable_party_mons(void)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
{
|
||||
u32 position;
|
||||
battlerOnField1 = gBattlerPartyIndexes[battlerId];
|
||||
position = BATTLE_PARTNER(GetBattlerPosition(battlerId));
|
||||
battlerOnField1 = gBattlerPartyIndexes[battler];
|
||||
position = BATTLE_PARTNER(GetBattlerPosition(battler));
|
||||
battlerOnField2 = gBattlerPartyIndexes[GetBattlerAtPosition(position)];
|
||||
}
|
||||
else // In singles there's only one battlerId by side.
|
||||
else // In singles there's only one battler by side.
|
||||
{
|
||||
battlerOnField1 = gBattlerPartyIndexes[battlerId];
|
||||
battlerOnField2 = gBattlerPartyIndexes[battlerId];
|
||||
battlerOnField1 = gBattlerPartyIndexes[battler];
|
||||
battlerOnField2 = gBattlerPartyIndexes[battler];
|
||||
}
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
@@ -1349,56 +1349,56 @@ static void Cmd_get_considered_move_effect(void)
|
||||
|
||||
static void Cmd_get_ability(void)
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
if (gActiveBattler != battlerId)
|
||||
if (gActiveBattler != battler)
|
||||
{
|
||||
if (BATTLE_HISTORY->abilities[battlerId] != 0)
|
||||
if (BATTLE_HISTORY->abilities[battler] != 0)
|
||||
{
|
||||
AI_THINKING_STRUCT->funcResult = BATTLE_HISTORY->abilities[battlerId];
|
||||
AI_THINKING_STRUCT->funcResult = BATTLE_HISTORY->abilities[battler];
|
||||
gAIScriptPtr += 2;
|
||||
return;
|
||||
}
|
||||
|
||||
// abilities that prevent fleeing.
|
||||
if (gBattleMons[battlerId].ability == ABILITY_SHADOW_TAG
|
||||
|| gBattleMons[battlerId].ability == ABILITY_MAGNET_PULL
|
||||
|| gBattleMons[battlerId].ability == ABILITY_ARENA_TRAP)
|
||||
if (gBattleMons[battler].ability == ABILITY_SHADOW_TAG
|
||||
|| gBattleMons[battler].ability == ABILITY_MAGNET_PULL
|
||||
|| gBattleMons[battler].ability == ABILITY_ARENA_TRAP)
|
||||
{
|
||||
AI_THINKING_STRUCT->funcResult = gBattleMons[battlerId].ability;
|
||||
AI_THINKING_STRUCT->funcResult = gBattleMons[battler].ability;
|
||||
gAIScriptPtr += 2;
|
||||
return;
|
||||
}
|
||||
|
||||
if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[0] != ABILITY_NONE)
|
||||
if (gSpeciesInfo[gBattleMons[battler].species].abilities[0] != ABILITY_NONE)
|
||||
{
|
||||
if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[1] != ABILITY_NONE)
|
||||
if (gSpeciesInfo[gBattleMons[battler].species].abilities[1] != ABILITY_NONE)
|
||||
{
|
||||
// AI has no knowledge of opponent, so it guesses which ability.
|
||||
if (Random() & 1)
|
||||
AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battlerId].species].abilities[0];
|
||||
AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battler].species].abilities[0];
|
||||
else
|
||||
AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battlerId].species].abilities[1];
|
||||
AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battler].species].abilities[1];
|
||||
}
|
||||
else
|
||||
{
|
||||
AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battlerId].species].abilities[0]; // It's definitely ability 1.
|
||||
AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battler].species].abilities[0]; // It's definitely ability 1.
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battlerId].species].abilities[1]; // AI can't actually reach this part since no Pokémon has ability 2 and no ability 1.
|
||||
AI_THINKING_STRUCT->funcResult = gSpeciesInfo[gBattleMons[battler].species].abilities[1]; // AI can't actually reach this part since no Pokémon has ability 2 and no ability 1.
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// The AI knows its own ability.
|
||||
AI_THINKING_STRUCT->funcResult = gBattleMons[battlerId].ability;
|
||||
AI_THINKING_STRUCT->funcResult = gBattleMons[battler].ability;
|
||||
}
|
||||
|
||||
gAIScriptPtr += 2;
|
||||
@@ -1406,32 +1406,32 @@ static void Cmd_get_ability(void)
|
||||
|
||||
static void Cmd_check_ability(void)
|
||||
{
|
||||
u32 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]);
|
||||
u32 battler = BattleAI_GetWantedBattler(gAIScriptPtr[1]);
|
||||
u32 ability = gAIScriptPtr[2];
|
||||
|
||||
if (gAIScriptPtr[1] == AI_TARGET || gAIScriptPtr[1] == AI_TARGET_PARTNER)
|
||||
{
|
||||
if (BATTLE_HISTORY->abilities[battlerId] != ABILITY_NONE)
|
||||
if (BATTLE_HISTORY->abilities[battler] != ABILITY_NONE)
|
||||
{
|
||||
ability = BATTLE_HISTORY->abilities[battlerId];
|
||||
ability = BATTLE_HISTORY->abilities[battler];
|
||||
AI_THINKING_STRUCT->funcResult = ability;
|
||||
}
|
||||
// Abilities that prevent fleeing.
|
||||
else if (gBattleMons[battlerId].ability == ABILITY_SHADOW_TAG
|
||||
|| gBattleMons[battlerId].ability == ABILITY_MAGNET_PULL
|
||||
|| gBattleMons[battlerId].ability == ABILITY_ARENA_TRAP)
|
||||
else if (gBattleMons[battler].ability == ABILITY_SHADOW_TAG
|
||||
|| gBattleMons[battler].ability == ABILITY_MAGNET_PULL
|
||||
|| gBattleMons[battler].ability == ABILITY_ARENA_TRAP)
|
||||
{
|
||||
ability = gBattleMons[battlerId].ability;
|
||||
ability = gBattleMons[battler].ability;
|
||||
}
|
||||
else if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[0] != ABILITY_NONE)
|
||||
else if (gSpeciesInfo[gBattleMons[battler].species].abilities[0] != ABILITY_NONE)
|
||||
{
|
||||
if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[1] != ABILITY_NONE)
|
||||
if (gSpeciesInfo[gBattleMons[battler].species].abilities[1] != ABILITY_NONE)
|
||||
{
|
||||
u8 abilityDummyVariable = ability; // Needed to match.
|
||||
if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[0] != abilityDummyVariable
|
||||
&& gSpeciesInfo[gBattleMons[battlerId].species].abilities[1] != abilityDummyVariable)
|
||||
if (gSpeciesInfo[gBattleMons[battler].species].abilities[0] != abilityDummyVariable
|
||||
&& gSpeciesInfo[gBattleMons[battler].species].abilities[1] != abilityDummyVariable)
|
||||
{
|
||||
ability = gSpeciesInfo[gBattleMons[battlerId].species].abilities[0];
|
||||
ability = gSpeciesInfo[gBattleMons[battler].species].abilities[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1440,18 +1440,18 @@ static void Cmd_check_ability(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
ability = gSpeciesInfo[gBattleMons[battlerId].species].abilities[0];
|
||||
ability = gSpeciesInfo[gBattleMons[battler].species].abilities[0];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ability = gSpeciesInfo[gBattleMons[battlerId].species].abilities[1]; // AI can't actually reach this part since no Pokémon has ability 2 and no ability 1.
|
||||
ability = gSpeciesInfo[gBattleMons[battler].species].abilities[1]; // AI can't actually reach this part since no Pokémon has ability 2 and no ability 1.
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// The AI knows its own or partner's ability.
|
||||
ability = gBattleMons[battlerId].ability;
|
||||
ability = gBattleMons[battler].ability;
|
||||
}
|
||||
|
||||
if (ability == 0)
|
||||
@@ -1570,19 +1570,19 @@ static void Cmd_if_status_in_party(void)
|
||||
struct Pokemon *party;
|
||||
s32 i;
|
||||
u32 statusToCompareTo;
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
switch (gAIScriptPtr[1])
|
||||
{
|
||||
case AI_USER:
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
break;
|
||||
default:
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
break;
|
||||
}
|
||||
|
||||
party = (GetBattlerSide(battlerId) == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty;
|
||||
party = (GetBattlerSide(battler) == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty;
|
||||
|
||||
statusToCompareTo = T1_READ_32(gAIScriptPtr + 2);
|
||||
|
||||
@@ -1607,19 +1607,19 @@ static void Cmd_if_status_not_in_party(void)
|
||||
struct Pokemon *party;
|
||||
s32 i;
|
||||
u32 statusToCompareTo;
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
switch(gAIScriptPtr[1])
|
||||
{
|
||||
case 1:
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
break;
|
||||
default:
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
break;
|
||||
}
|
||||
|
||||
party = (GetBattlerSide(battlerId) == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty;
|
||||
party = (GetBattlerSide(battler) == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty;
|
||||
|
||||
statusToCompareTo = T1_READ_32(gAIScriptPtr + 2);
|
||||
|
||||
@@ -1673,14 +1673,14 @@ static void Cmd_if_not_effect(void)
|
||||
|
||||
static void Cmd_if_stat_level_less_than(void)
|
||||
{
|
||||
u32 battlerId;
|
||||
u32 battler;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
if (gBattleMons[battlerId].statStages[gAIScriptPtr[2]] < gAIScriptPtr[3])
|
||||
if (gBattleMons[battler].statStages[gAIScriptPtr[2]] < gAIScriptPtr[3])
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
|
||||
else
|
||||
gAIScriptPtr += 8;
|
||||
@@ -1688,14 +1688,14 @@ static void Cmd_if_stat_level_less_than(void)
|
||||
|
||||
static void Cmd_if_stat_level_more_than(void)
|
||||
{
|
||||
u32 battlerId;
|
||||
u32 battler;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
if (gBattleMons[battlerId].statStages[gAIScriptPtr[2]] > gAIScriptPtr[3])
|
||||
if (gBattleMons[battler].statStages[gAIScriptPtr[2]] > gAIScriptPtr[3])
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
|
||||
else
|
||||
gAIScriptPtr += 8;
|
||||
@@ -1703,14 +1703,14 @@ static void Cmd_if_stat_level_more_than(void)
|
||||
|
||||
static void Cmd_if_stat_level_equal(void)
|
||||
{
|
||||
u32 battlerId;
|
||||
u32 battler;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
if (gBattleMons[battlerId].statStages[gAIScriptPtr[2]] == gAIScriptPtr[3])
|
||||
if (gBattleMons[battler].statStages[gAIScriptPtr[2]] == gAIScriptPtr[3])
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
|
||||
else
|
||||
gAIScriptPtr += 8;
|
||||
@@ -1718,14 +1718,14 @@ static void Cmd_if_stat_level_equal(void)
|
||||
|
||||
static void Cmd_if_stat_level_not_equal(void)
|
||||
{
|
||||
u32 battlerId;
|
||||
u32 battler;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
if (gBattleMons[battlerId].statStages[gAIScriptPtr[2]] != gAIScriptPtr[3])
|
||||
if (gBattleMons[battler].statStages[gAIScriptPtr[2]] != gAIScriptPtr[3])
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
|
||||
else
|
||||
gAIScriptPtr += 8;
|
||||
@@ -1951,16 +1951,16 @@ static void Cmd_if_doesnt_have_move_with_effect(void)
|
||||
|
||||
static void Cmd_if_any_move_disabled_or_encored(void)
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
if (gAIScriptPtr[2] == 0)
|
||||
{
|
||||
if (gDisableStructs[battlerId].disabledMove == MOVE_NONE)
|
||||
if (gDisableStructs[battler].disabledMove == MOVE_NONE)
|
||||
gAIScriptPtr += 7;
|
||||
else
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
|
||||
@@ -1971,7 +1971,7 @@ static void Cmd_if_any_move_disabled_or_encored(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gDisableStructs[battlerId].encoredMove != MOVE_NONE)
|
||||
if (gDisableStructs[battler].encoredMove != MOVE_NONE)
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
|
||||
else
|
||||
gAIScriptPtr += 7;
|
||||
@@ -2022,31 +2022,31 @@ static void Cmd_watch(void)
|
||||
|
||||
static void Cmd_get_hold_effect(void)
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
if (gActiveBattler != battlerId)
|
||||
AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(BATTLE_HISTORY->itemEffects[battlerId]);
|
||||
if (gActiveBattler != battler)
|
||||
AI_THINKING_STRUCT->funcResult = GetItemHoldEffect(BATTLE_HISTORY->itemEffects[battler]);
|
||||
else
|
||||
AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(gBattleMons[battlerId].item);
|
||||
AI_THINKING_STRUCT->funcResult = GetItemHoldEffect(gBattleMons[battler].item);
|
||||
|
||||
gAIScriptPtr += 2;
|
||||
}
|
||||
|
||||
static void Cmd_if_holds_item(void)
|
||||
{
|
||||
u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]);
|
||||
u8 battler = BattleAI_GetWantedBattler(gAIScriptPtr[1]);
|
||||
u16 item;
|
||||
u8 itemLo, itemHi;
|
||||
|
||||
if ((battlerId & BIT_SIDE) == (sBattler_AI & BIT_SIDE))
|
||||
item = gBattleMons[battlerId].item;
|
||||
if ((battler & BIT_SIDE) == (sBattler_AI & BIT_SIDE))
|
||||
item = gBattleMons[battler].item;
|
||||
else
|
||||
item = BATTLE_HISTORY->itemEffects[battlerId];
|
||||
item = BATTLE_HISTORY->itemEffects[battler];
|
||||
|
||||
itemHi = gAIScriptPtr[2];
|
||||
itemLo = gAIScriptPtr[3];
|
||||
@@ -2066,42 +2066,42 @@ static void Cmd_if_holds_item(void)
|
||||
|
||||
static void Cmd_get_gender(void)
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
AI_THINKING_STRUCT->funcResult = GetGenderFromSpeciesAndPersonality(gBattleMons[battlerId].species, gBattleMons[battlerId].personality);
|
||||
AI_THINKING_STRUCT->funcResult = GetGenderFromSpeciesAndPersonality(gBattleMons[battler].species, gBattleMons[battler].personality);
|
||||
|
||||
gAIScriptPtr += 2;
|
||||
}
|
||||
|
||||
static void Cmd_is_first_turn_for(void)
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
AI_THINKING_STRUCT->funcResult = gDisableStructs[battlerId].isFirstTurn;
|
||||
AI_THINKING_STRUCT->funcResult = gDisableStructs[battler].isFirstTurn;
|
||||
|
||||
gAIScriptPtr += 2;
|
||||
}
|
||||
|
||||
static void Cmd_get_stockpile_count(void)
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
AI_THINKING_STRUCT->funcResult = gDisableStructs[battlerId].stockpileCounter;
|
||||
AI_THINKING_STRUCT->funcResult = gDisableStructs[battler].stockpileCounter;
|
||||
|
||||
gAIScriptPtr += 2;
|
||||
}
|
||||
@@ -2115,14 +2115,14 @@ static void Cmd_is_double_battle(void)
|
||||
|
||||
static void Cmd_get_used_held_item(void)
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
AI_THINKING_STRUCT->funcResult = *(u8 *)&gBattleStruct->usedHeldItems[battlerId];
|
||||
AI_THINKING_STRUCT->funcResult = *(u8 *)&gBattleStruct->usedHeldItems[battler];
|
||||
|
||||
gAIScriptPtr += 2;
|
||||
}
|
||||
@@ -2150,14 +2150,14 @@ static void Cmd_get_move_effect_from_result(void)
|
||||
|
||||
static void Cmd_get_protect_count(void)
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
battlerId = sBattler_AI;
|
||||
battler = sBattler_AI;
|
||||
else
|
||||
battlerId = gBattlerTarget;
|
||||
battler = gBattlerTarget;
|
||||
|
||||
AI_THINKING_STRUCT->funcResult = gDisableStructs[battlerId].protectUses;
|
||||
AI_THINKING_STRUCT->funcResult = gDisableStructs[battler].protectUses;
|
||||
|
||||
gAIScriptPtr += 2;
|
||||
}
|
||||
@@ -2254,9 +2254,9 @@ static void Cmd_if_target_is_ally(void)
|
||||
|
||||
static void Cmd_if_flash_fired(void)
|
||||
{
|
||||
u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]);
|
||||
u8 battler = BattleAI_GetWantedBattler(gAIScriptPtr[1]);
|
||||
|
||||
if (gBattleResources->flags->flags[battlerId] & RESOURCE_FLAG_FLASH_FIRE)
|
||||
if (gBattleResources->flags->flags[battler] & RESOURCE_FLAG_FLASH_FIRE)
|
||||
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
|
||||
else
|
||||
gAIScriptPtr += 6;
|
||||
|
||||
@@ -23,7 +23,7 @@ static bool8 ShouldSwitchIfPerishSong(void)
|
||||
&& gDisableStructs[gActiveBattler].perishSongTimer == 0)
|
||||
{
|
||||
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE;
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0);
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
@@ -107,7 +107,7 @@ static bool8 ShouldSwitchIfWonderGuard(void)
|
||||
{
|
||||
// We found a mon.
|
||||
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i;
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@@ -207,7 +207,7 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void)
|
||||
{
|
||||
// we found a mon.
|
||||
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i;
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@@ -229,14 +229,14 @@ static bool8 ShouldSwitchIfNaturalCure(void)
|
||||
&& Random() & 1)
|
||||
{
|
||||
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE;
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0);
|
||||
return TRUE;
|
||||
}
|
||||
else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0
|
||||
&& Random() & 1)
|
||||
{
|
||||
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE;
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -248,7 +248,7 @@ static bool8 ShouldSwitchIfNaturalCure(void)
|
||||
if (Random() & 1)
|
||||
{
|
||||
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE;
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -416,7 +416,7 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent)
|
||||
if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % moduloPercent == 0)
|
||||
{
|
||||
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i;
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@@ -599,7 +599,7 @@ void AI_TrySwitchOrUseItem(void)
|
||||
}
|
||||
}
|
||||
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, BATTLE_OPPOSITE(gActiveBattler) << 8);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_MOVE, BATTLE_OPPOSITE(gActiveBattler) << 8);
|
||||
}
|
||||
|
||||
static void ModulateByTypeEffectiveness(u8 atkType, u8 defType1, u8 defType2, u8 *var)
|
||||
@@ -933,7 +933,7 @@ static bool8 ShouldUseItem(void)
|
||||
|
||||
if (shouldUse)
|
||||
{
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_ITEM, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_ITEM, 0);
|
||||
*(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2) = item;
|
||||
gBattleResources->battleHistory->trainerItems[i] = ITEM_NONE;
|
||||
return shouldUse;
|
||||
|
||||
+68
-68
@@ -115,7 +115,7 @@ EWRAM_DATA u8 gAnimCustomPanning = 0;
|
||||
|
||||
#include "data/battle_anim.h"
|
||||
|
||||
static void (* const sScriptCmdTable[])(void) =
|
||||
static void (*const sScriptCmdTable[])(void) =
|
||||
{
|
||||
Cmd_loadspritegfx, // 0x00
|
||||
Cmd_unloadspritegfx, // 0x01
|
||||
@@ -592,30 +592,30 @@ static void Cmd_monbg(void)
|
||||
{
|
||||
bool8 toBG_2;
|
||||
u8 taskId;
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
u8 animBattler;
|
||||
|
||||
sBattleAnimScriptPtr++;
|
||||
|
||||
animBattler = sBattleAnimScriptPtr[0];
|
||||
if (animBattler & ANIM_TARGET)
|
||||
battlerId = gBattleAnimTarget;
|
||||
battler = gBattleAnimTarget;
|
||||
else
|
||||
battlerId = gBattleAnimAttacker;
|
||||
battler = gBattleAnimAttacker;
|
||||
|
||||
// Move designated battler to background
|
||||
if (IsBattlerSpriteVisible(battlerId))
|
||||
if (IsBattlerSpriteVisible(battler))
|
||||
{
|
||||
u8 position = GetBattlerPosition(battlerId);
|
||||
u8 position = GetBattlerPosition(battler);
|
||||
if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest())
|
||||
toBG_2 = FALSE;
|
||||
else
|
||||
toBG_2 = TRUE;
|
||||
|
||||
MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE);
|
||||
MoveBattlerSpriteToBG(battler, toBG_2, FALSE);
|
||||
taskId = CreateTask(Task_InitUpdateMonBg, 10);
|
||||
gAnimVisualTaskCount++;
|
||||
gTasks[taskId].tBattlerId = battlerId;
|
||||
gTasks[taskId].tBattlerId = battler;
|
||||
gTasks[taskId].tInBg2 = toBG_2;
|
||||
gTasks[taskId].tActive = TRUE;
|
||||
gTasks[taskId].tIsPartner = FALSE;
|
||||
@@ -623,19 +623,19 @@ static void Cmd_monbg(void)
|
||||
}
|
||||
|
||||
// Move battler's partner to background
|
||||
battlerId ^= BIT_FLANK;
|
||||
if (IsBattlerSpriteVisible(battlerId))
|
||||
battler ^= BIT_FLANK;
|
||||
if (IsBattlerSpriteVisible(battler))
|
||||
{
|
||||
u8 position = GetBattlerPosition(battlerId);
|
||||
u8 position = GetBattlerPosition(battler);
|
||||
if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest())
|
||||
toBG_2 = FALSE;
|
||||
else
|
||||
toBG_2 = TRUE;
|
||||
|
||||
MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE);
|
||||
MoveBattlerSpriteToBG(battler, toBG_2, FALSE);
|
||||
taskId = CreateTask(Task_InitUpdateMonBg, 10);
|
||||
gAnimVisualTaskCount++;
|
||||
gTasks[taskId].tBattlerId = battlerId;
|
||||
gTasks[taskId].tBattlerId = battler;
|
||||
gTasks[taskId].tInBg2 = toBG_2;
|
||||
gTasks[taskId].tActive = TRUE;
|
||||
gTasks[taskId].tIsPartner = TRUE;
|
||||
@@ -646,26 +646,26 @@ static void Cmd_monbg(void)
|
||||
gAnimScriptCallback = WaitAnimFrameCount;
|
||||
}
|
||||
|
||||
bool8 IsBattlerSpriteVisible(u8 battlerId)
|
||||
bool8 IsBattlerSpriteVisible(u8 battler)
|
||||
{
|
||||
if (IsContest())
|
||||
{
|
||||
if (battlerId == gBattleAnimAttacker)
|
||||
if (battler == gBattleAnimAttacker)
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
if (!IsBattlerSpritePresent(battlerId))
|
||||
if (!IsBattlerSpritePresent(battler))
|
||||
return FALSE;
|
||||
if (IsContest())
|
||||
return TRUE; // This line won't ever be reached.
|
||||
if (!gBattleSpritesDataPtr->battlerData[battlerId].invisible || !gSprites[gBattlerSpriteIds[battlerId]].invisible)
|
||||
if (!gBattleSpritesDataPtr->battlerData[battler].invisible || !gSprites[gBattlerSpriteIds[battler]].invisible)
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
void MoveBattlerSpriteToBG(u8 battler, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
{
|
||||
struct BattleAnimBgData animBg;
|
||||
u8 battlerSpriteId;
|
||||
@@ -693,7 +693,7 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 1);
|
||||
SetAnimBgAttribute(1, BG_ANIM_AREA_OVERFLOW_MODE, 0);
|
||||
|
||||
battlerSpriteId = gBattlerSpriteIds[battlerId];
|
||||
battlerSpriteId = gBattlerSpriteIds[battler];
|
||||
|
||||
gBattle_BG1_X = -(gSprites[battlerSpriteId].x + gSprites[battlerSpriteId].x2) + 0x20;
|
||||
if (IsContest() && IsSpeciesNotUnown(gContestResources->moveAnim->species))
|
||||
@@ -701,18 +701,18 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
|
||||
gBattle_BG1_Y = -(gSprites[battlerSpriteId].y + gSprites[battlerSpriteId].y2) + 0x20;
|
||||
if (setSpriteInvisible)
|
||||
gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = TRUE;
|
||||
|
||||
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
|
||||
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
|
||||
|
||||
LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP);
|
||||
CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(animBg.paletteId)), PLTT_SIZE_4BPP);
|
||||
LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battler)], BG_PLTT_ID(animBg.paletteId), PLTT_SIZE_4BPP);
|
||||
CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battler)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(animBg.paletteId)), PLTT_SIZE_4BPP);
|
||||
|
||||
if (IsContest())
|
||||
battlerPosition = 0;
|
||||
else
|
||||
battlerPosition = GetBattlerPosition(battlerId);
|
||||
battlerPosition = GetBattlerPosition(battler);
|
||||
|
||||
DrawBattlerOnBg(1, 0, 0, battlerPosition, animBg.paletteId, animBg.bgTiles, animBg.bgTilemap, animBg.tilesOffset);
|
||||
|
||||
@@ -730,21 +730,21 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
SetAnimBgAttribute(2, BG_ANIM_SCREEN_SIZE, 1);
|
||||
SetAnimBgAttribute(2, BG_ANIM_AREA_OVERFLOW_MODE, 0);
|
||||
|
||||
battlerSpriteId = gBattlerSpriteIds[battlerId];
|
||||
battlerSpriteId = gBattlerSpriteIds[battler];
|
||||
|
||||
gBattle_BG2_X = -(gSprites[battlerSpriteId].x + gSprites[battlerSpriteId].x2) + 0x20;
|
||||
gBattle_BG2_Y = -(gSprites[battlerSpriteId].y + gSprites[battlerSpriteId].y2) + 0x20;
|
||||
|
||||
if (setSpriteInvisible)
|
||||
gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = TRUE;
|
||||
|
||||
SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X);
|
||||
SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y);
|
||||
|
||||
LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], BG_PLTT_ID(9), PLTT_SIZE_4BPP);
|
||||
CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battlerId)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(9)), PLTT_SIZE_4BPP);
|
||||
LoadPalette(&gPlttBufferUnfaded[OBJ_PLTT_ID(battler)], BG_PLTT_ID(9), PLTT_SIZE_4BPP);
|
||||
CpuCopy32(&gPlttBufferUnfaded[OBJ_PLTT_ID(battler)], (void *)(BG_PLTT + PLTT_OFFSET_4BPP(9)), PLTT_SIZE_4BPP);
|
||||
|
||||
DrawBattlerOnBg(2, 0, 0, GetBattlerPosition(battlerId), animBg.paletteId, animBg.bgTiles + 0x1000, animBg.bgTilemap + 0x400, animBg.tilesOffset);
|
||||
DrawBattlerOnBg(2, 0, 0, GetBattlerPosition(battler), animBg.paletteId, animBg.bgTiles + 0x1000, animBg.bgTilemap + 0x400, animBg.tilesOffset);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -812,12 +812,12 @@ void ResetBattleAnimBg(bool8 toBG2)
|
||||
|
||||
static void Task_UpdateMonBg(u8 taskId)
|
||||
{
|
||||
u8 spriteId, battlerId;
|
||||
u8 spriteId, battler;
|
||||
s16 x, y;
|
||||
struct BattleAnimBgData animBg;
|
||||
|
||||
spriteId = gTasks[taskId].t2_SpriteId;
|
||||
battlerId = gTasks[taskId].t2_BattlerId;
|
||||
battler = gTasks[taskId].t2_BattlerId;
|
||||
GetBattleAnimBg1Data(&animBg);
|
||||
x = gTasks[taskId].t2_SpriteX - (gSprites[spriteId].x + gSprites[spriteId].x2);
|
||||
y = gTasks[taskId].t2_SpriteY - (gSprites[spriteId].y + gSprites[spriteId].y2);
|
||||
@@ -826,13 +826,13 @@ static void Task_UpdateMonBg(u8 taskId)
|
||||
{
|
||||
gBattle_BG1_X = x + gTasks[taskId].t2_BgX;
|
||||
gBattle_BG1_Y = y + gTasks[taskId].t2_BgY;
|
||||
CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(battlerId)], &gPlttBufferFaded[BG_PLTT_ID(animBg.paletteId)], PLTT_SIZE_4BPP);
|
||||
CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(battler)], &gPlttBufferFaded[BG_PLTT_ID(animBg.paletteId)], PLTT_SIZE_4BPP);
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattle_BG2_X = x + gTasks[taskId].t2_BgX;
|
||||
gBattle_BG2_Y = y + gTasks[taskId].t2_BgY;
|
||||
CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(battlerId)], &gPlttBufferFaded[BG_PLTT_ID(9)], PLTT_SIZE_4BPP);
|
||||
CpuCopy32(&gPlttBufferFaded[OBJ_PLTT_ID(battler)], &gPlttBufferFaded[BG_PLTT_ID(9)], PLTT_SIZE_4BPP);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -852,7 +852,7 @@ static void Task_UpdateMonBg(u8 taskId)
|
||||
static void Cmd_clearmonbg(void)
|
||||
{
|
||||
u8 animBattlerId;
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
u8 taskId;
|
||||
|
||||
sBattleAnimScriptPtr++;
|
||||
@@ -864,20 +864,20 @@ static void Cmd_clearmonbg(void)
|
||||
animBattlerId = ANIM_DEF_PARTNER;
|
||||
|
||||
if (animBattlerId == ANIM_ATTACKER || animBattlerId == ANIM_ATK_PARTNER)
|
||||
battlerId = gBattleAnimAttacker;
|
||||
battler = gBattleAnimAttacker;
|
||||
else
|
||||
battlerId = gBattleAnimTarget;
|
||||
battler = gBattleAnimTarget;
|
||||
|
||||
if (sMonAnimTaskIdArray[0] != TASK_NONE)
|
||||
gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE;
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = FALSE;
|
||||
if (animBattlerId > 1 && sMonAnimTaskIdArray[1] != TASK_NONE)
|
||||
gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battlerId)]].invisible = FALSE;
|
||||
gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].invisible = FALSE;
|
||||
else
|
||||
animBattlerId = 0;
|
||||
|
||||
taskId = CreateTask(Task_ClearMonBg, 5);
|
||||
gTasks[taskId].data[0] = animBattlerId;
|
||||
gTasks[taskId].data[2] = battlerId;
|
||||
gTasks[taskId].data[2] = battler;
|
||||
|
||||
sBattleAnimScriptPtr++;
|
||||
}
|
||||
@@ -914,7 +914,7 @@ static void Task_ClearMonBg(u8 taskId)
|
||||
static void Cmd_monbg_static(void)
|
||||
{
|
||||
bool8 toBG_2;
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
u8 animBattlerId;
|
||||
|
||||
sBattleAnimScriptPtr++;
|
||||
@@ -927,31 +927,31 @@ static void Cmd_monbg_static(void)
|
||||
animBattlerId = ANIM_DEF_PARTNER;
|
||||
|
||||
if (animBattlerId == ANIM_ATTACKER || animBattlerId == ANIM_ATK_PARTNER)
|
||||
battlerId = gBattleAnimAttacker;
|
||||
battler = gBattleAnimAttacker;
|
||||
else
|
||||
battlerId = gBattleAnimTarget;
|
||||
battler = gBattleAnimTarget;
|
||||
|
||||
if (IsBattlerSpriteVisible(battlerId))
|
||||
if (IsBattlerSpriteVisible(battler))
|
||||
{
|
||||
u8 position = GetBattlerPosition(battlerId);
|
||||
u8 position = GetBattlerPosition(battler);
|
||||
if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest())
|
||||
toBG_2 = FALSE;
|
||||
else
|
||||
toBG_2 = TRUE;
|
||||
|
||||
MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE);
|
||||
MoveBattlerSpriteToBG(battler, toBG_2, FALSE);
|
||||
}
|
||||
|
||||
battlerId ^= BIT_FLANK;
|
||||
if (animBattlerId > 1 && IsBattlerSpriteVisible(battlerId))
|
||||
battler ^= BIT_FLANK;
|
||||
if (animBattlerId > 1 && IsBattlerSpriteVisible(battler))
|
||||
{
|
||||
u8 position = GetBattlerPosition(battlerId);
|
||||
u8 position = GetBattlerPosition(battler);
|
||||
if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest())
|
||||
toBG_2 = FALSE;
|
||||
else
|
||||
toBG_2 = TRUE;
|
||||
|
||||
MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE);
|
||||
MoveBattlerSpriteToBG(battler, toBG_2, FALSE);
|
||||
}
|
||||
|
||||
sBattleAnimScriptPtr++;
|
||||
@@ -960,7 +960,7 @@ static void Cmd_monbg_static(void)
|
||||
static void Cmd_clearmonbg_static(void)
|
||||
{
|
||||
u8 animBattlerId;
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
u8 taskId;
|
||||
|
||||
sBattleAnimScriptPtr++;
|
||||
@@ -972,20 +972,20 @@ static void Cmd_clearmonbg_static(void)
|
||||
animBattlerId = ANIM_DEF_PARTNER;
|
||||
|
||||
if (animBattlerId == ANIM_ATTACKER || animBattlerId == ANIM_ATK_PARTNER)
|
||||
battlerId = gBattleAnimAttacker;
|
||||
battler = gBattleAnimAttacker;
|
||||
else
|
||||
battlerId = gBattleAnimTarget;
|
||||
battler = gBattleAnimTarget;
|
||||
|
||||
if (IsBattlerSpriteVisible(battlerId))
|
||||
gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE;
|
||||
if (animBattlerId > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battlerId)))
|
||||
gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battlerId)]].invisible = FALSE;
|
||||
if (IsBattlerSpriteVisible(battler))
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = FALSE;
|
||||
if (animBattlerId > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battler)))
|
||||
gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].invisible = FALSE;
|
||||
else
|
||||
animBattlerId = 0;
|
||||
|
||||
taskId = CreateTask(Task_ClearMonBgStatic, 5);
|
||||
gTasks[taskId].data[0] = animBattlerId;
|
||||
gTasks[taskId].data[2] = battlerId;
|
||||
gTasks[taskId].data[2] = battler;
|
||||
|
||||
sBattleAnimScriptPtr++;
|
||||
}
|
||||
@@ -996,16 +996,16 @@ static void Task_ClearMonBgStatic(u8 taskId)
|
||||
if (gTasks[taskId].data[1] != 1)
|
||||
{
|
||||
bool8 toBG_2;
|
||||
u8 battlerId = gTasks[taskId].data[2];
|
||||
u8 position = GetBattlerPosition(battlerId);
|
||||
u8 battler = gTasks[taskId].data[2];
|
||||
u8 position = GetBattlerPosition(battler);
|
||||
if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest())
|
||||
toBG_2 = FALSE;
|
||||
else
|
||||
toBG_2 = TRUE;
|
||||
|
||||
if (IsBattlerSpriteVisible(battlerId))
|
||||
if (IsBattlerSpriteVisible(battler))
|
||||
ResetBattleAnimBg(toBG_2);
|
||||
if (gTasks[taskId].data[0] > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battlerId)))
|
||||
if (gTasks[taskId].data[0] > 1 && IsBattlerSpriteVisible(BATTLE_PARTNER(battler)))
|
||||
ResetBattleAnimBg(toBG_2 ^ 1);
|
||||
|
||||
DestroyTask(taskId);
|
||||
@@ -1687,19 +1687,19 @@ static void Cmd_jumpifcontest(void)
|
||||
static void Cmd_splitbgprio(void)
|
||||
{
|
||||
u8 wantedBattler;
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
u8 battlerPosition;
|
||||
|
||||
wantedBattler = sBattleAnimScriptPtr[1];
|
||||
sBattleAnimScriptPtr += 2;
|
||||
|
||||
if (wantedBattler != ANIM_ATTACKER)
|
||||
battlerId = gBattleAnimTarget;
|
||||
battler = gBattleAnimTarget;
|
||||
else
|
||||
battlerId = gBattleAnimAttacker;
|
||||
battler = gBattleAnimAttacker;
|
||||
|
||||
// Apply only if the given battler is the lead (on left from team's perspective)
|
||||
battlerPosition = GetBattlerPosition(battlerId);
|
||||
battlerPosition = GetBattlerPosition(battler);
|
||||
if (!IsContest() && (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_OPPONENT_RIGHT))
|
||||
{
|
||||
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
|
||||
@@ -1721,7 +1721,7 @@ static void Cmd_splitbgprio_foes(void)
|
||||
{
|
||||
u8 wantedBattler;
|
||||
u8 battlerPosition;
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
wantedBattler = sBattleAnimScriptPtr[1];
|
||||
sBattleAnimScriptPtr += 2;
|
||||
@@ -1730,12 +1730,12 @@ static void Cmd_splitbgprio_foes(void)
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != GetBattlerSide(gBattleAnimTarget))
|
||||
{
|
||||
if (wantedBattler != ANIM_ATTACKER)
|
||||
battlerId = gBattleAnimTarget;
|
||||
battler = gBattleAnimTarget;
|
||||
else
|
||||
battlerId = gBattleAnimAttacker;
|
||||
battler = gBattleAnimAttacker;
|
||||
|
||||
// Apply only if the given battler is the lead (on left from team's perspective)
|
||||
battlerPosition = GetBattlerPosition(battlerId);
|
||||
battlerPosition = GetBattlerPosition(battler);
|
||||
if (!IsContest() && (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_OPPONENT_RIGHT))
|
||||
{
|
||||
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
|
||||
|
||||
@@ -3082,20 +3082,18 @@ static void AnimPresent(struct Sprite *sprite)
|
||||
|
||||
static void AnimKnockOffOpponentsItem(struct Sprite *sprite)
|
||||
{
|
||||
int zero;
|
||||
sprite->data[0] += ((sprite->data[3] * 128) / sprite->data[4]);
|
||||
zero = 0;
|
||||
if (sprite->data[0] > 0x7F)
|
||||
{
|
||||
sprite->data[1]++;
|
||||
sprite->data[0] = zero;
|
||||
sprite->data[0] = 0;
|
||||
}
|
||||
|
||||
sprite->y2 = Sin(sprite->data[0] + 0x80, 30 - sprite->data[1] * 8);
|
||||
if (moveAlongLinearPath(sprite))
|
||||
{
|
||||
sprite->y2 = zero;
|
||||
sprite->data[0] = zero;
|
||||
sprite->y2 = 0;
|
||||
sprite->data[0] = 0;
|
||||
DestroyAnimSprite(sprite);
|
||||
}
|
||||
}
|
||||
@@ -3173,13 +3171,11 @@ static void AnimItemSteal(struct Sprite *sprite)
|
||||
|
||||
static void AnimItemSteal_Step3(struct Sprite *sprite)
|
||||
{
|
||||
int zero;
|
||||
sprite->data[0] += ((sprite->data[3] * 128) / sprite->data[4]);
|
||||
zero = 0;
|
||||
if (sprite->data[0] > 127)
|
||||
{
|
||||
sprite->data[1]++;
|
||||
sprite->data[0] = zero;
|
||||
sprite->data[0] = 0;
|
||||
}
|
||||
|
||||
sprite->y2 = Sin(sprite->data[0] + 0x80, 30 - sprite->data[1] * 8);
|
||||
|
||||
@@ -37,7 +37,7 @@ static void AnimRevengeScratch(struct Sprite *);
|
||||
static void AnimFocusPunchFist(struct Sprite *);
|
||||
static void AnimSpinningKickOrPunchFinish(struct Sprite *);
|
||||
|
||||
extern struct SpriteTemplate gBasicHitSplatSpriteTemplate;
|
||||
extern const struct SpriteTemplate gBasicHitSplatSpriteTemplate;
|
||||
|
||||
// Unused
|
||||
static const struct SpriteTemplate sUnusedHumanoidFootSpriteTemplate =
|
||||
|
||||
@@ -900,7 +900,7 @@ static void AnimUnusedBubbleThrow(struct Sprite *sprite)
|
||||
sprite->callback = TranslateAnimSpriteToTargetMonLocation;
|
||||
}
|
||||
|
||||
static void AnimWhirlwindLine(struct Sprite * sprite)
|
||||
static void AnimWhirlwindLine(struct Sprite *sprite)
|
||||
{
|
||||
u16 offset;
|
||||
u8 mult;
|
||||
|
||||
@@ -22,7 +22,7 @@ static void AnimTask_DigEndBounceMovementSetInvisible(u8);
|
||||
static void AnimTask_DigSetVisibleUnderground(u8);
|
||||
static void AnimTask_DigRiseUpFromHole(u8);
|
||||
static void SetDigScanlineEffect(u8, s16, s16);
|
||||
static void AnimTask_ShakeTerrain(u8);
|
||||
static void AnimTask_ShakePlatforms(u8);
|
||||
static void AnimTask_ShakeBattlers(u8);
|
||||
static void SetBattlersXOffsetForShake(struct Task *);
|
||||
static void WaitForFissureCompletion(u8);
|
||||
@@ -564,12 +564,12 @@ static void AnimDigDirtMound(struct Sprite *sprite)
|
||||
#define tMaxTime data[3]
|
||||
#define tbattlerSpriteIds(i) data[9 + (i)]
|
||||
#define tNumBattlers data[13] // AnimTask_ShakeBattlers
|
||||
#define tInitialX data[13] // AnimTask_ShakeTerrain
|
||||
#define tInitialX data[13] // AnimTask_ShakePlatforms
|
||||
#define tHorizOffset data[14]
|
||||
#define tInitHorizOffset data[15]
|
||||
|
||||
// Shakes battler(s) or the battle terrain back and forth horizontally. Used by e.g. Earthquake, Eruption
|
||||
// arg0: What to shake. 0-3 for any specific battler, MAX_BATTLERS_COUNT for all battlers, MAX_BATTLERS_COUNT + 1 for the terrain
|
||||
// Shakes battler(s) or the battle platforms back and forth horizontally. Used by e.g. Earthquake, Eruption
|
||||
// arg0: What to shake. 0-3 for any specific battler, MAX_BATTLERS_COUNT for all battlers, MAX_BATTLERS_COUNT + 1 for the platforms
|
||||
// arg1: Shake intensity, used to calculate horizontal pixel offset (if 0, use move power instead)
|
||||
// arg2: Length of time to shake for
|
||||
void AnimTask_HorizontalShake(u8 taskId)
|
||||
@@ -585,9 +585,9 @@ void AnimTask_HorizontalShake(u8 taskId)
|
||||
task->tMaxTime = gBattleAnimArgs[2];
|
||||
switch (gBattleAnimArgs[0])
|
||||
{
|
||||
case MAX_BATTLERS_COUNT + 1: // Shake terrain
|
||||
case MAX_BATTLERS_COUNT + 1: // Shake platforms
|
||||
task->tInitialX = gBattle_BG3_X;
|
||||
task->func = AnimTask_ShakeTerrain;
|
||||
task->func = AnimTask_ShakePlatforms;
|
||||
break;
|
||||
case MAX_BATTLERS_COUNT: // Shake all battlers
|
||||
task->tNumBattlers = 0;
|
||||
@@ -616,7 +616,7 @@ void AnimTask_HorizontalShake(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
static void AnimTask_ShakeTerrain(u8 taskId)
|
||||
static void AnimTask_ShakePlatforms(u8 taskId)
|
||||
{
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
|
||||
+90
-48
@@ -13,11 +13,16 @@
|
||||
#include "constants/battle_anim.h"
|
||||
#include "constants/rgb.h"
|
||||
|
||||
enum {
|
||||
HAILSTRUCTTYPE_NEGATIVE_POS_MOD = 0,
|
||||
HAILSTRUCTTYPE_POSITIVE_POS_MOD = 1,
|
||||
HAILSTRUCTTYPE_FIXED_POSITION = 2,
|
||||
};
|
||||
struct HailStruct {
|
||||
s32 x:10;
|
||||
s32 y:10;
|
||||
s32 bPosition:8;
|
||||
s32 unk3:4;
|
||||
s32 type:4;
|
||||
};
|
||||
|
||||
static void AnimUnusedIceCrystalThrow(struct Sprite *);
|
||||
@@ -371,16 +376,16 @@ const struct SpriteTemplate gPoisonGasCloudSpriteTemplate =
|
||||
|
||||
static const struct HailStruct sHailCoordData[] =
|
||||
{
|
||||
{.x = 100, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 2},
|
||||
{.x = 85, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 0},
|
||||
{.x = 242, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .unk3 = 1},
|
||||
{.x = 66, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .unk3 = 1},
|
||||
{.x = 182, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .unk3 = 0},
|
||||
{.x = 60, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 2},
|
||||
{.x = 214, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .unk3 = 0},
|
||||
{.x = 113, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .unk3 = 1},
|
||||
{.x = 210, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .unk3 = 1},
|
||||
{.x = 38, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .unk3 = 0},
|
||||
{.x = 100, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .type = HAILSTRUCTTYPE_FIXED_POSITION},
|
||||
{.x = 85, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .type = HAILSTRUCTTYPE_NEGATIVE_POS_MOD},
|
||||
{.x = 242, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .type = HAILSTRUCTTYPE_POSITIVE_POS_MOD},
|
||||
{.x = 66, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .type = HAILSTRUCTTYPE_POSITIVE_POS_MOD},
|
||||
{.x = 182, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .type = HAILSTRUCTTYPE_NEGATIVE_POS_MOD},
|
||||
{.x = 60, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .type = HAILSTRUCTTYPE_FIXED_POSITION},
|
||||
{.x = 214, .y = 120, .bPosition = B_POSITION_OPPONENT_LEFT, .type = HAILSTRUCTTYPE_NEGATIVE_POS_MOD},
|
||||
{.x = 113, .y = 120, .bPosition = B_POSITION_PLAYER_LEFT, .type = HAILSTRUCTTYPE_POSITIVE_POS_MOD},
|
||||
{.x = 210, .y = 120, .bPosition = B_POSITION_OPPONENT_RIGHT, .type = HAILSTRUCTTYPE_POSITIVE_POS_MOD},
|
||||
{.x = 38, .y = 120, .bPosition = B_POSITION_PLAYER_RIGHT, .type = HAILSTRUCTTYPE_NEGATIVE_POS_MOD},
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd sAffineAnim_HailParticle_0[] =
|
||||
@@ -1332,6 +1337,13 @@ static void MovePoisonGasCloud(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
#define tState data[0]
|
||||
#define tSpriteCount data[1]
|
||||
#define tHailAffineAnimNum data[2]
|
||||
#define tHailStructId data[3]
|
||||
#define tInitialDelayTimer data[4]
|
||||
#define tHailSpawnTimer data[5]
|
||||
|
||||
void AnimTask_Hail(u8 taskId)
|
||||
{
|
||||
struct Task *task = &gTasks[taskId];
|
||||
@@ -1342,71 +1354,86 @@ void AnimTask_Hail(u8 taskId)
|
||||
static void AnimTask_Hail2(u8 taskId)
|
||||
{
|
||||
struct Task *task = &gTasks[taskId];
|
||||
switch (task->data[0])
|
||||
switch (task->tState)
|
||||
{
|
||||
case 0:
|
||||
if (++task->data[4] > 2)
|
||||
if (++task->tInitialDelayTimer > 2)
|
||||
{
|
||||
task->data[4] = 0;
|
||||
task->data[5] = 0;
|
||||
task->data[2] = 0;
|
||||
task->data[0]++;
|
||||
task->tInitialDelayTimer = 0;
|
||||
task->tHailSpawnTimer = 0;
|
||||
task->tHailAffineAnimNum = 0;
|
||||
task->tState++;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (task->data[5] == 0)
|
||||
if (task->tHailSpawnTimer == 0)
|
||||
{
|
||||
if (GenerateHailParticle(task->data[3], task->data[2], taskId, 1))
|
||||
task->data[1]++;
|
||||
if (GenerateHailParticle(task->tHailStructId, task->tHailAffineAnimNum, taskId, 1))
|
||||
task->tSpriteCount++;
|
||||
|
||||
if (++task->data[2] == 3)
|
||||
if (++task->tHailAffineAnimNum == (int)ARRAY_COUNT(sAffineAnims_HailParticle))
|
||||
{
|
||||
if (++task->data[3] == 10)
|
||||
task->data[0]++;
|
||||
if (++task->tHailStructId == (int)ARRAY_COUNT(sHailCoordData))
|
||||
task->tState++;
|
||||
else
|
||||
task->data[0]--;
|
||||
task->tState--;
|
||||
}
|
||||
else
|
||||
{
|
||||
task->data[5] = 1;
|
||||
task->tHailSpawnTimer = 1;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
task->data[5]--;
|
||||
task->tHailSpawnTimer--;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (task->data[1] == 0)
|
||||
if (task->tSpriteCount == 0)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#undef tState
|
||||
#undef tSpriteCount
|
||||
#undef tHailAffineAnimNum
|
||||
#undef tHailStructId
|
||||
#undef tInitialDelayTimer
|
||||
#undef tHailSpawnTimer
|
||||
|
||||
// Hail falling particle sprite vars
|
||||
#define sSpawnImpactEffect data[0]
|
||||
#define sTargetX data[3]
|
||||
#define sTargetY data[4]
|
||||
#define sAffineAnimNum data[5]
|
||||
#define sOwnerTaskId data[6]
|
||||
#define sOwnerTaskSpriteCountField data[7]
|
||||
|
||||
static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId, u8 c)
|
||||
{
|
||||
u8 id;
|
||||
s16 battlerX, battlerY;
|
||||
s16 spriteX;
|
||||
bool8 possibleBool = FALSE;
|
||||
s8 unk = sHailCoordData[hailStructId].unk3;
|
||||
bool8 shouldSpawnImpactEffect = FALSE;
|
||||
s8 type = sHailCoordData[hailStructId].type;
|
||||
|
||||
if (unk != 2)
|
||||
if (type != HAILSTRUCTTYPE_FIXED_POSITION)
|
||||
{
|
||||
id = GetBattlerAtPosition(sHailCoordData[hailStructId].bPosition);
|
||||
if (IsBattlerSpriteVisible(id))
|
||||
{
|
||||
possibleBool = TRUE;
|
||||
shouldSpawnImpactEffect = TRUE;
|
||||
battlerX = GetBattlerSpriteCoord(id, BATTLER_COORD_X_2);
|
||||
battlerY = GetBattlerSpriteCoord(id, BATTLER_COORD_Y_PIC_OFFSET);
|
||||
switch (unk)
|
||||
switch (type)
|
||||
{
|
||||
case 0:
|
||||
case HAILSTRUCTTYPE_NEGATIVE_POS_MOD:
|
||||
battlerX -= GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_WIDTH) / 6;
|
||||
battlerY -= GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_HEIGHT) / 6;
|
||||
break;
|
||||
case 1:
|
||||
case HAILSTRUCTTYPE_POSITIVE_POS_MOD:
|
||||
battlerX += GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_WIDTH) / 6;
|
||||
battlerY += GetBattlerSpriteCoordAttr(id, BATTLER_COORD_ATTR_HEIGHT) / 6;
|
||||
break;
|
||||
@@ -1432,12 +1459,12 @@ static bool8 GenerateHailParticle(u8 hailStructId, u8 affineAnimNum, u8 taskId,
|
||||
else
|
||||
{
|
||||
StartSpriteAffineAnim(&gSprites[id], affineAnimNum);
|
||||
gSprites[id].data[0] = possibleBool;
|
||||
gSprites[id].data[3] = battlerX;
|
||||
gSprites[id].data[4] = battlerY;
|
||||
gSprites[id].data[5] = affineAnimNum;
|
||||
gSprites[id].data[6] = taskId;
|
||||
gSprites[id].data[7] = c;
|
||||
gSprites[id].sSpawnImpactEffect = shouldSpawnImpactEffect;
|
||||
gSprites[id].sTargetX = battlerX;
|
||||
gSprites[id].sTargetY = battlerY;
|
||||
gSprites[id].sAffineAnimNum = affineAnimNum;
|
||||
gSprites[id].sOwnerTaskId = taskId;
|
||||
gSprites[id].sOwnerTaskSpriteCountField = c;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@@ -1449,20 +1476,23 @@ static void AnimHailBegin(struct Sprite *sprite)
|
||||
sprite->x += 4;
|
||||
sprite->y += 8;
|
||||
|
||||
if (sprite->x < sprite->data[3] && sprite->y < sprite->data[4])
|
||||
if (sprite->x < sprite->sTargetX && sprite->y < sprite->sTargetY)
|
||||
return;
|
||||
|
||||
if (sprite->data[0] == 1 && sprite->data[5] == 0)
|
||||
if (sprite->sSpawnImpactEffect == 1 && sprite->sAffineAnimNum == 0)
|
||||
{
|
||||
spriteId = CreateSprite(&gIceCrystalHitLargeSpriteTemplate,
|
||||
sprite->data[3], sprite->data[4], sprite->subpriority);
|
||||
sprite->sTargetX, sprite->sTargetY, sprite->subpriority);
|
||||
|
||||
sprite->data[0] = spriteId;
|
||||
if (spriteId != MAX_SPRITES)
|
||||
{
|
||||
// The sprite template we're using is shared amongst a few other
|
||||
// places, which make the sprite flicker. That's not what we want
|
||||
// here, though. Override the callback.
|
||||
gSprites[sprite->data[0]].callback = AnimHailContinue;
|
||||
gSprites[sprite->data[0]].data[6] = sprite->data[6];
|
||||
gSprites[sprite->data[0]].data[7] = sprite->data[7];
|
||||
gSprites[sprite->data[0]].sOwnerTaskId = sprite->sOwnerTaskId;
|
||||
gSprites[sprite->data[0]].sOwnerTaskSpriteCountField = sprite->sOwnerTaskSpriteCountField;
|
||||
}
|
||||
|
||||
FreeOamMatrix(sprite->oam.matrixNum);
|
||||
@@ -1470,22 +1500,34 @@ static void AnimHailBegin(struct Sprite *sprite)
|
||||
}
|
||||
else
|
||||
{
|
||||
gTasks[sprite->data[6]].data[sprite->data[7]]--;
|
||||
gTasks[sprite->sOwnerTaskId].data[sprite->sOwnerTaskSpriteCountField]--;
|
||||
FreeOamMatrix(sprite->oam.matrixNum);
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
}
|
||||
|
||||
#undef sSpawnImpactEffect
|
||||
#undef sTargetX
|
||||
#undef sTargetY
|
||||
#undef sAffineAnimNum
|
||||
|
||||
// Hail impact VFX sprite vars
|
||||
#define sTimer data[0]
|
||||
|
||||
static void AnimHailContinue(struct Sprite *sprite)
|
||||
{
|
||||
if (++sprite->data[0] == 20)
|
||||
if (++sprite->sTimer == 20)
|
||||
{
|
||||
gTasks[sprite->data[6]].data[sprite->data[7]]--;
|
||||
gTasks[sprite->sOwnerTaskId].data[sprite->sOwnerTaskSpriteCountField]--;
|
||||
FreeOamMatrix(sprite->oam.matrixNum);
|
||||
DestroySprite(sprite);
|
||||
}
|
||||
}
|
||||
|
||||
#undef sTimer
|
||||
#undef sOwnerTaskId
|
||||
#undef sOwnerTaskSpriteCountField
|
||||
|
||||
// Initializes the animation for Ice Ball.
|
||||
// arg 0: initial x pixel offset
|
||||
// arg 1: initial y pixel offset
|
||||
|
||||
@@ -156,7 +156,7 @@ void AnimTask_ShakeMon2(u8 taskId)
|
||||
{
|
||||
u8 spriteId;
|
||||
bool8 abort = FALSE;
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
if (gBattleAnimArgs[0] < MAX_BATTLERS_COUNT)
|
||||
{
|
||||
@@ -169,24 +169,24 @@ void AnimTask_ShakeMon2(u8 taskId)
|
||||
switch (gBattleAnimArgs[0])
|
||||
{
|
||||
case ANIM_PLAYER_LEFT:
|
||||
battlerId = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
|
||||
battler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
|
||||
break;
|
||||
case ANIM_PLAYER_RIGHT:
|
||||
battlerId = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT);
|
||||
battler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT);
|
||||
break;
|
||||
case ANIM_OPPONENT_LEFT:
|
||||
battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
|
||||
battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
|
||||
break;
|
||||
case ANIM_OPPONENT_RIGHT:
|
||||
default:
|
||||
battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
|
||||
battler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
|
||||
break;
|
||||
}
|
||||
|
||||
if (IsBattlerSpriteVisible(battlerId) == FALSE)
|
||||
if (IsBattlerSpriteVisible(battler) == FALSE)
|
||||
abort = TRUE;
|
||||
|
||||
spriteId = gBattlerSpriteIds[battlerId];
|
||||
spriteId = gBattlerSpriteIds[battler];
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -578,16 +578,16 @@ static void SlideMonToOffset(struct Sprite *sprite)
|
||||
static void SlideMonToOffsetAndBack(struct Sprite *sprite)
|
||||
{
|
||||
u8 spriteId;
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
sprite->invisible = TRUE;
|
||||
|
||||
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||
battlerId = gBattleAnimAttacker;
|
||||
battler = gBattleAnimAttacker;
|
||||
else
|
||||
battlerId = gBattleAnimTarget;
|
||||
battler = gBattleAnimTarget;
|
||||
|
||||
spriteId = gBattlerSpriteIds[battlerId];
|
||||
if (GetBattlerSide(battlerId))
|
||||
spriteId = gBattlerSpriteIds[battler];
|
||||
if (GetBattlerSide(battler))
|
||||
{
|
||||
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
|
||||
if (gBattleAnimArgs[3] == 1)
|
||||
|
||||
+130
-130
@@ -109,7 +109,7 @@ static const struct SpriteSheet sSpriteSheets_MoveEffectMons[] =
|
||||
{ gMiscBlank_Gfx, MON_PIC_SIZE, TAG_MOVE_EFFECT_MON_2, },
|
||||
};
|
||||
|
||||
u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType)
|
||||
u8 GetBattlerSpriteCoord(u8 battler, u8 coordType)
|
||||
{
|
||||
u8 retVal;
|
||||
u16 species;
|
||||
@@ -117,7 +117,7 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType)
|
||||
|
||||
if (IsContest())
|
||||
{
|
||||
if (coordType == BATTLER_COORD_Y_PIC_OFFSET && battlerId == 3)
|
||||
if (coordType == BATTLER_COORD_Y_PIC_OFFSET && battler == 3)
|
||||
coordType = BATTLER_COORD_Y;
|
||||
}
|
||||
|
||||
@@ -125,10 +125,10 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType)
|
||||
{
|
||||
case BATTLER_COORD_X:
|
||||
case BATTLER_COORD_X_2:
|
||||
retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].x;
|
||||
retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battler)].x;
|
||||
break;
|
||||
case BATTLER_COORD_Y:
|
||||
retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].y;
|
||||
retVal = sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battler)].y;
|
||||
break;
|
||||
case BATTLER_COORD_Y_PIC_OFFSET:
|
||||
case BATTLER_COORD_Y_PIC_OFFSET_DEFAULT:
|
||||
@@ -142,34 +142,34 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
|
||||
if (GetBattlerSide(battler) != B_SIDE_PLAYER)
|
||||
{
|
||||
spriteInfo = gBattleSpritesDataPtr->battlerData;
|
||||
if (!spriteInfo[battlerId].transformSpecies)
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
if (!spriteInfo[battler].transformSpecies)
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
else
|
||||
species = spriteInfo[battlerId].transformSpecies;
|
||||
species = spriteInfo[battler].transformSpecies;
|
||||
}
|
||||
else
|
||||
{
|
||||
spriteInfo = gBattleSpritesDataPtr->battlerData;
|
||||
if (!spriteInfo[battlerId].transformSpecies)
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
if (!spriteInfo[battler].transformSpecies)
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
else
|
||||
species = spriteInfo[battlerId].transformSpecies;
|
||||
species = spriteInfo[battler].transformSpecies;
|
||||
}
|
||||
}
|
||||
if (coordType == BATTLER_COORD_Y_PIC_OFFSET)
|
||||
retVal = GetBattlerSpriteFinal_Y(battlerId, species, TRUE);
|
||||
retVal = GetBattlerSpriteFinal_Y(battler, species, TRUE);
|
||||
else
|
||||
retVal = GetBattlerSpriteFinal_Y(battlerId, species, FALSE);
|
||||
retVal = GetBattlerSpriteFinal_Y(battler, species, FALSE);
|
||||
break;
|
||||
}
|
||||
|
||||
return retVal;
|
||||
}
|
||||
|
||||
u8 GetBattlerYDelta(u8 battlerId, u16 species)
|
||||
u8 GetBattlerYDelta(u8 battler, u16 species)
|
||||
{
|
||||
u16 letter;
|
||||
u32 personality;
|
||||
@@ -177,7 +177,7 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species)
|
||||
u8 ret;
|
||||
u16 coordSpecies;
|
||||
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER || IsContest())
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER || IsContest())
|
||||
{
|
||||
if (species == SPECIES_UNOWN)
|
||||
{
|
||||
@@ -191,10 +191,10 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species)
|
||||
else
|
||||
{
|
||||
spriteInfo = gBattleSpritesDataPtr->battlerData;
|
||||
if (!spriteInfo[battlerId].transformSpecies)
|
||||
personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY);
|
||||
if (!spriteInfo[battler].transformSpecies)
|
||||
personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PERSONALITY);
|
||||
else
|
||||
personality = gTransformedPersonalities[battlerId];
|
||||
personality = gTransformedPersonalities[battler];
|
||||
}
|
||||
letter = GET_UNOWN_LETTER(personality);
|
||||
if (!letter)
|
||||
@@ -205,7 +205,7 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species)
|
||||
}
|
||||
else if (species == SPECIES_CASTFORM)
|
||||
{
|
||||
ret = sCastformBackSpriteYCoords[gBattleMonForms[battlerId]];
|
||||
ret = sCastformBackSpriteYCoords[gBattleMonForms[battler]];
|
||||
}
|
||||
else if (species > NUM_SPECIES)
|
||||
{
|
||||
@@ -221,10 +221,10 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species)
|
||||
if (species == SPECIES_UNOWN)
|
||||
{
|
||||
spriteInfo = gBattleSpritesDataPtr->battlerData;
|
||||
if (!spriteInfo[battlerId].transformSpecies)
|
||||
personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY);
|
||||
if (!spriteInfo[battler].transformSpecies)
|
||||
personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_PERSONALITY);
|
||||
else
|
||||
personality = gTransformedPersonalities[battlerId];
|
||||
personality = gTransformedPersonalities[battler];
|
||||
letter = GET_UNOWN_LETTER(personality);
|
||||
if (!letter)
|
||||
coordSpecies = species;
|
||||
@@ -234,7 +234,7 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species)
|
||||
}
|
||||
else if (species == SPECIES_CASTFORM)
|
||||
{
|
||||
ret = gCastformFrontSpriteCoords[gBattleMonForms[battlerId]].y_offset;
|
||||
ret = gCastformFrontSpriteCoords[gBattleMonForms[battler]].y_offset;
|
||||
}
|
||||
else if (species > NUM_SPECIES)
|
||||
{
|
||||
@@ -248,15 +248,15 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species)
|
||||
return ret;
|
||||
}
|
||||
|
||||
u8 GetBattlerElevation(u8 battlerId, u16 species)
|
||||
u8 GetBattlerElevation(u8 battler, u16 species)
|
||||
{
|
||||
u8 ret = 0;
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT)
|
||||
if (GetBattlerSide(battler) == B_SIDE_OPPONENT)
|
||||
{
|
||||
if (!IsContest())
|
||||
{
|
||||
if (species == SPECIES_CASTFORM)
|
||||
ret = sCastformElevations[gBattleMonForms[battlerId]];
|
||||
ret = sCastformElevations[gBattleMonForms[battler]];
|
||||
else if (species > NUM_SPECIES)
|
||||
ret = gEnemyMonElevation[0];
|
||||
else
|
||||
@@ -266,24 +266,24 @@ u8 GetBattlerElevation(u8 battlerId, u16 species)
|
||||
return ret;
|
||||
}
|
||||
|
||||
u8 GetBattlerSpriteFinal_Y(u8 battlerId, u16 species, bool8 a3)
|
||||
u8 GetBattlerSpriteFinal_Y(u8 battler, u16 species, bool8 a3)
|
||||
{
|
||||
u16 offset;
|
||||
u8 y;
|
||||
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER || IsContest())
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER || IsContest())
|
||||
{
|
||||
offset = GetBattlerYDelta(battlerId, species);
|
||||
offset = GetBattlerYDelta(battler, species);
|
||||
}
|
||||
else
|
||||
{
|
||||
offset = GetBattlerYDelta(battlerId, species);
|
||||
offset -= GetBattlerElevation(battlerId, species);
|
||||
offset = GetBattlerYDelta(battler, species);
|
||||
offset -= GetBattlerElevation(battler, species);
|
||||
}
|
||||
y = offset + sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battlerId)].y;
|
||||
y = offset + sBattlerCoords[IS_DOUBLE_BATTLE()][GetBattlerPosition(battler)].y;
|
||||
if (a3)
|
||||
{
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
y += 8;
|
||||
if (y > DISPLAY_HEIGHT - MON_PIC_HEIGHT + 8)
|
||||
y = DISPLAY_HEIGHT - MON_PIC_HEIGHT + 8;
|
||||
@@ -291,7 +291,7 @@ u8 GetBattlerSpriteFinal_Y(u8 battlerId, u16 species, bool8 a3)
|
||||
return y;
|
||||
}
|
||||
|
||||
u8 GetBattlerSpriteCoord2(u8 battlerId, u8 coordType)
|
||||
u8 GetBattlerSpriteCoord2(u8 battler, u8 coordType)
|
||||
{
|
||||
u16 species;
|
||||
struct BattleSpriteInfo *spriteInfo;
|
||||
@@ -308,64 +308,64 @@ u8 GetBattlerSpriteCoord2(u8 battlerId, u8 coordType)
|
||||
else
|
||||
{
|
||||
spriteInfo = gBattleSpritesDataPtr->battlerData;
|
||||
if (!spriteInfo[battlerId].transformSpecies)
|
||||
species = gAnimBattlerSpecies[battlerId];
|
||||
if (!spriteInfo[battler].transformSpecies)
|
||||
species = gAnimBattlerSpecies[battler];
|
||||
else
|
||||
species = spriteInfo[battlerId].transformSpecies;
|
||||
species = spriteInfo[battler].transformSpecies;
|
||||
}
|
||||
if (coordType == BATTLER_COORD_Y_PIC_OFFSET)
|
||||
return GetBattlerSpriteFinal_Y(battlerId, species, TRUE);
|
||||
return GetBattlerSpriteFinal_Y(battler, species, TRUE);
|
||||
else
|
||||
return GetBattlerSpriteFinal_Y(battlerId, species, FALSE);
|
||||
return GetBattlerSpriteFinal_Y(battler, species, FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
return GetBattlerSpriteCoord(battlerId, coordType);
|
||||
return GetBattlerSpriteCoord(battler, coordType);
|
||||
}
|
||||
}
|
||||
|
||||
u8 GetBattlerSpriteDefault_Y(u8 battlerId)
|
||||
u8 GetBattlerSpriteDefault_Y(u8 battler)
|
||||
{
|
||||
return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET_DEFAULT);
|
||||
return GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET_DEFAULT);
|
||||
}
|
||||
|
||||
u8 GetSubstituteSpriteDefault_Y(u8 battlerId)
|
||||
u8 GetSubstituteSpriteDefault_Y(u8 battler)
|
||||
{
|
||||
u16 y;
|
||||
if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
|
||||
y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 16;
|
||||
if (GetBattlerSide(battler) != B_SIDE_PLAYER)
|
||||
y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 16;
|
||||
else
|
||||
y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 17;
|
||||
y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 17;
|
||||
return y;
|
||||
}
|
||||
|
||||
u8 GetBattlerYCoordWithElevation(u8 battlerId)
|
||||
u8 GetBattlerYCoordWithElevation(u8 battler)
|
||||
{
|
||||
u16 species;
|
||||
u8 y;
|
||||
struct BattleSpriteInfo *spriteInfo;
|
||||
|
||||
y = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y);
|
||||
y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y);
|
||||
if (!IsContest())
|
||||
{
|
||||
if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
|
||||
if (GetBattlerSide(battler) != B_SIDE_PLAYER)
|
||||
{
|
||||
spriteInfo = gBattleSpritesDataPtr->battlerData;
|
||||
if (!spriteInfo[battlerId].transformSpecies)
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
if (!spriteInfo[battler].transformSpecies)
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
else
|
||||
species = spriteInfo[battlerId].transformSpecies;
|
||||
species = spriteInfo[battler].transformSpecies;
|
||||
}
|
||||
else
|
||||
{
|
||||
spriteInfo = gBattleSpritesDataPtr->battlerData;
|
||||
if (!spriteInfo[battlerId].transformSpecies)
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
if (!spriteInfo[battler].transformSpecies)
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
else
|
||||
species = spriteInfo[battlerId].transformSpecies;
|
||||
species = spriteInfo[battler].transformSpecies;
|
||||
}
|
||||
if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
|
||||
y -= GetBattlerElevation(battlerId, species);
|
||||
if (GetBattlerSide(battler) != B_SIDE_PLAYER)
|
||||
y -= GetBattlerElevation(battler, species);
|
||||
}
|
||||
return y;
|
||||
}
|
||||
@@ -846,14 +846,14 @@ void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffse
|
||||
sprite->y += gBattleAnimArgs[1];
|
||||
}
|
||||
|
||||
u8 GetBattlerSide(u8 battlerId)
|
||||
u8 GetBattlerSide(u8 battler)
|
||||
{
|
||||
return GET_BATTLER_SIDE2(battlerId);
|
||||
return GET_BATTLER_SIDE2(battler);
|
||||
}
|
||||
|
||||
u8 GetBattlerPosition(u8 battlerId)
|
||||
u8 GetBattlerPosition(u8 battler)
|
||||
{
|
||||
return gBattlerPositions[battlerId];
|
||||
return gBattlerPositions[battler];
|
||||
}
|
||||
|
||||
u8 GetBattlerAtPosition(u8 position)
|
||||
@@ -868,31 +868,31 @@ u8 GetBattlerAtPosition(u8 position)
|
||||
return i;
|
||||
}
|
||||
|
||||
bool8 IsBattlerSpritePresent(u8 battlerId)
|
||||
bool8 IsBattlerSpritePresent(u8 battler)
|
||||
{
|
||||
if (IsContest())
|
||||
{
|
||||
if (gBattleAnimAttacker == battlerId)
|
||||
if (gBattleAnimAttacker == battler)
|
||||
return TRUE;
|
||||
else if (gBattleAnimTarget == battlerId)
|
||||
else if (gBattleAnimTarget == battler)
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gBattlerPositions[battlerId] == 0xff)
|
||||
if (gBattlerPositions[battler] == 0xff)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
|
||||
else if (GetBattlerSide(battler) != B_SIDE_PLAYER)
|
||||
{
|
||||
if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_HP) != 0)
|
||||
if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) != 0)
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_HP) != 0)
|
||||
if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) != 0)
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@@ -956,7 +956,7 @@ void GetBattleAnimBgData(struct BattleAnimBgData *out, u32 bgId)
|
||||
}
|
||||
}
|
||||
|
||||
void GetBgDataForTransform(struct BattleAnimBgData *out, u8 battlerId)
|
||||
void GetBgDataForTransform(struct BattleAnimBgData *out, u8 battler)
|
||||
{
|
||||
out->bgTiles = gBattleAnimBgTileBuffer;
|
||||
out->bgTilemap = (u16 *)gBattleAnimBgTilemapBuffer;
|
||||
@@ -1294,14 +1294,14 @@ static bool8 ShouldRotScaleSpeciesBeFlipped(void)
|
||||
|
||||
void PrepareBattlerSpriteForRotScale(u8 spriteId, u8 objMode)
|
||||
{
|
||||
u8 battlerId = gSprites[spriteId].data[0];
|
||||
u8 battler = gSprites[spriteId].data[0];
|
||||
|
||||
if (IsContest() || IsBattlerSpriteVisible(battlerId))
|
||||
if (IsContest() || IsBattlerSpriteVisible(battler))
|
||||
gSprites[spriteId].invisible = FALSE;
|
||||
gSprites[spriteId].oam.objMode = objMode;
|
||||
gSprites[spriteId].affineAnimPaused = TRUE;
|
||||
if (!IsContest() && !gSprites[spriteId].oam.affineMode)
|
||||
gSprites[spriteId].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[battlerId].matrixNum;
|
||||
gSprites[spriteId].oam.matrixNum = gBattleSpritesDataPtr->healthBoxesData[battler].matrixNum;
|
||||
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE;
|
||||
CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode);
|
||||
}
|
||||
@@ -1514,18 +1514,18 @@ static u8 UNUSED GetSpritePalIdxByPosition(u8 position)
|
||||
|
||||
void AnimSpriteOnMonPos(struct Sprite *sprite)
|
||||
{
|
||||
bool8 var;
|
||||
bool8 respectMonPicOffsets;
|
||||
|
||||
if (!sprite->data[0])
|
||||
{
|
||||
if (!gBattleAnimArgs[3])
|
||||
var = TRUE;
|
||||
respectMonPicOffsets = TRUE;
|
||||
else
|
||||
var = FALSE;
|
||||
respectMonPicOffsets = FALSE;
|
||||
if (!gBattleAnimArgs[2])
|
||||
InitSpritePosToAnimAttacker(sprite, var);
|
||||
InitSpritePosToAnimAttacker(sprite, respectMonPicOffsets);
|
||||
else
|
||||
InitSpritePosToAnimTarget(sprite, var);
|
||||
InitSpritePosToAnimTarget(sprite, respectMonPicOffsets);
|
||||
sprite->data[0]++;
|
||||
|
||||
}
|
||||
@@ -1590,35 +1590,35 @@ static void AnimThrowProjectile_Step(struct Sprite *sprite)
|
||||
|
||||
void AnimTravelDiagonally(struct Sprite *sprite)
|
||||
{
|
||||
bool8 r4;
|
||||
u8 battlerId, coordType;
|
||||
bool8 respectMonPicOffsets;
|
||||
u8 battler, coordType;
|
||||
|
||||
if (!gBattleAnimArgs[6])
|
||||
{
|
||||
r4 = TRUE;
|
||||
respectMonPicOffsets = TRUE;
|
||||
coordType = BATTLER_COORD_Y_PIC_OFFSET;
|
||||
}
|
||||
else
|
||||
{
|
||||
r4 = FALSE;
|
||||
respectMonPicOffsets = FALSE;
|
||||
coordType = BATTLER_COORD_Y;
|
||||
}
|
||||
if (gBattleAnimArgs[5] == ANIM_ATTACKER)
|
||||
{
|
||||
InitSpritePosToAnimAttacker(sprite, r4);
|
||||
battlerId = gBattleAnimAttacker;
|
||||
InitSpritePosToAnimAttacker(sprite, respectMonPicOffsets);
|
||||
battler = gBattleAnimAttacker;
|
||||
}
|
||||
else
|
||||
{
|
||||
InitSpritePosToAnimTarget(sprite, r4);
|
||||
battlerId = gBattleAnimTarget;
|
||||
InitSpritePosToAnimTarget(sprite, respectMonPicOffsets);
|
||||
battler = gBattleAnimTarget;
|
||||
}
|
||||
if (GetBattlerSide(gBattleAnimAttacker))
|
||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||
InitSpritePosToAnimTarget(sprite, r4);
|
||||
InitSpritePosToAnimTarget(sprite, respectMonPicOffsets);
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[2] = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
|
||||
sprite->data[4] = GetBattlerSpriteCoord(battlerId, coordType) + gBattleAnimArgs[3];
|
||||
sprite->data[2] = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
|
||||
sprite->data[4] = GetBattlerSpriteCoord(battler, coordType) + gBattleAnimArgs[3];
|
||||
sprite->callback = StartAnimLinearTranslation;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
@@ -1897,7 +1897,7 @@ void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId)
|
||||
static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId)
|
||||
{
|
||||
struct BattleSpriteInfo *spriteInfo;
|
||||
u8 battlerId = gSprites[spriteId].data[0];
|
||||
u8 battler = gSprites[spriteId].data[0];
|
||||
u16 species;
|
||||
u16 i;
|
||||
|
||||
@@ -1915,26 +1915,26 @@ static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId)
|
||||
if (GetBattlerSide(i) == B_SIDE_PLAYER)
|
||||
{
|
||||
spriteInfo = gBattleSpritesDataPtr->battlerData;
|
||||
if (!spriteInfo[battlerId].transformSpecies)
|
||||
if (!spriteInfo[battler].transformSpecies)
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES);
|
||||
else
|
||||
species = spriteInfo[battlerId].transformSpecies;
|
||||
species = spriteInfo[battler].transformSpecies;
|
||||
|
||||
if (species == SPECIES_CASTFORM)
|
||||
return sCastformBackSpriteYCoords[gBattleMonForms[battlerId]];
|
||||
return sCastformBackSpriteYCoords[gBattleMonForms[battler]];
|
||||
else
|
||||
return gMonBackPicCoords[species].y_offset;
|
||||
}
|
||||
else
|
||||
{
|
||||
spriteInfo = gBattleSpritesDataPtr->battlerData;
|
||||
if (!spriteInfo[battlerId].transformSpecies)
|
||||
if (!spriteInfo[battler].transformSpecies)
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES);
|
||||
else
|
||||
species = spriteInfo[battlerId].transformSpecies;
|
||||
species = spriteInfo[battler].transformSpecies;
|
||||
|
||||
if (species == SPECIES_CASTFORM)
|
||||
return sCastformElevations[gBattleMonForms[battlerId]];
|
||||
return sCastformElevations[gBattleMonForms[battler]];
|
||||
else
|
||||
return gMonFrontPicCoords[species].y_offset;
|
||||
}
|
||||
@@ -2032,21 +2032,21 @@ void InitPrioritiesForVisibleBattlers(void)
|
||||
}
|
||||
}
|
||||
|
||||
u8 GetBattlerSpriteSubpriority(u8 battlerId)
|
||||
u8 GetBattlerSpriteSubpriority(u8 battler)
|
||||
{
|
||||
u8 position;
|
||||
u8 subpriority;
|
||||
|
||||
if (IsContest())
|
||||
{
|
||||
if (battlerId == 2)
|
||||
if (battler == 2)
|
||||
return 30;
|
||||
else
|
||||
return 40;
|
||||
}
|
||||
else
|
||||
{
|
||||
position = GetBattlerPosition(battlerId);
|
||||
position = GetBattlerPosition(battler);
|
||||
if (position == B_POSITION_PLAYER_LEFT)
|
||||
subpriority = 30;
|
||||
else if (position == B_POSITION_PLAYER_RIGHT)
|
||||
@@ -2060,9 +2060,9 @@ u8 GetBattlerSpriteSubpriority(u8 battlerId)
|
||||
return subpriority;
|
||||
}
|
||||
|
||||
u8 GetBattlerSpriteBGPriority(u8 battlerId)
|
||||
u8 GetBattlerSpriteBGPriority(u8 battler)
|
||||
{
|
||||
u8 position = GetBattlerPosition(battlerId);
|
||||
u8 position = GetBattlerPosition(battler);
|
||||
|
||||
if (IsContest())
|
||||
return 2;
|
||||
@@ -2072,11 +2072,11 @@ u8 GetBattlerSpriteBGPriority(u8 battlerId)
|
||||
return GetAnimBgAttribute(1, BG_ANIM_PRIORITY);
|
||||
}
|
||||
|
||||
u8 GetBattlerSpriteBGPriorityRank(u8 battlerId)
|
||||
u8 GetBattlerSpriteBGPriorityRank(u8 battler)
|
||||
{
|
||||
if (!IsContest())
|
||||
{
|
||||
u8 position = GetBattlerPosition(battlerId);
|
||||
u8 position = GetBattlerPosition(battler);
|
||||
if (position == B_POSITION_PLAYER_LEFT || position == B_POSITION_OPPONENT_RIGHT)
|
||||
return 2;
|
||||
else
|
||||
@@ -2086,7 +2086,7 @@ u8 GetBattlerSpriteBGPriorityRank(u8 battlerId)
|
||||
}
|
||||
|
||||
// Create Pokémon sprite to be used for a move animation effect (e.g. Role Play / Snatch)
|
||||
u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, bool32 ignoreDeoxysForm)
|
||||
u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battler, bool32 ignoreDeoxysForm)
|
||||
{
|
||||
u8 spriteId;
|
||||
u16 sheet = LoadSpriteSheet(&sSpriteSheets_MoveEffectMons[id]);
|
||||
@@ -2097,7 +2097,7 @@ u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16
|
||||
if (!isBackpic)
|
||||
{
|
||||
LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), OBJ_PLTT_ID(palette), PLTT_SIZE_4BPP);
|
||||
if (ignoreDeoxysForm == TRUE || ShouldIgnoreDeoxysForm(5, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0)
|
||||
if (ignoreDeoxysForm == TRUE || ShouldIgnoreDeoxysForm(5, battler) == TRUE || gBattleSpritesDataPtr->battlerData[battler].transformSpecies != 0)
|
||||
LoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species],
|
||||
gMonSpritesGfxPtr->buffer,
|
||||
species,
|
||||
@@ -2113,7 +2113,7 @@ u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 id, s16
|
||||
else
|
||||
{
|
||||
LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), OBJ_PLTT_ID(palette), PLTT_SIZE_4BPP);
|
||||
if (ignoreDeoxysForm == TRUE || ShouldIgnoreDeoxysForm(5, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0)
|
||||
if (ignoreDeoxysForm == TRUE || ShouldIgnoreDeoxysForm(5, battler) == TRUE || gBattleSpritesDataPtr->battlerData[battler].transformSpecies != 0)
|
||||
LoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species],
|
||||
gMonSpritesGfxPtr->buffer,
|
||||
species,
|
||||
@@ -2148,7 +2148,7 @@ void DestroySpriteAndFreeResources_(struct Sprite *sprite)
|
||||
DestroySpriteAndFreeResources(sprite);
|
||||
}
|
||||
|
||||
s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr)
|
||||
s16 GetBattlerSpriteCoordAttr(u8 battler, u8 attr)
|
||||
{
|
||||
u16 species;
|
||||
u32 personality;
|
||||
@@ -2181,7 +2181,7 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr)
|
||||
}
|
||||
else if (species == SPECIES_CASTFORM)
|
||||
{
|
||||
coords = &gCastformFrontSpriteCoords[gBattleMonForms[battlerId]];
|
||||
coords = &gCastformFrontSpriteCoords[gBattleMonForms[battler]];
|
||||
}
|
||||
else if (species <= SPECIES_EGG)
|
||||
{
|
||||
@@ -2194,18 +2194,18 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
{
|
||||
spriteInfo = gBattleSpritesDataPtr->battlerData;
|
||||
if (!spriteInfo[battlerId].transformSpecies)
|
||||
if (!spriteInfo[battler].transformSpecies)
|
||||
{
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY);
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PERSONALITY);
|
||||
}
|
||||
else
|
||||
{
|
||||
species = spriteInfo[battlerId].transformSpecies;
|
||||
personality = gTransformedPersonalities[battlerId];
|
||||
species = spriteInfo[battler].transformSpecies;
|
||||
personality = gTransformedPersonalities[battler];
|
||||
}
|
||||
|
||||
if (species == SPECIES_UNOWN)
|
||||
@@ -2229,15 +2229,15 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr)
|
||||
else
|
||||
{
|
||||
spriteInfo = gBattleSpritesDataPtr->battlerData;
|
||||
if (!spriteInfo[battlerId].transformSpecies)
|
||||
if (!spriteInfo[battler].transformSpecies)
|
||||
{
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_PERSONALITY);
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_PERSONALITY);
|
||||
}
|
||||
else
|
||||
{
|
||||
species = spriteInfo[battlerId].transformSpecies;
|
||||
personality = gTransformedPersonalities[battlerId];
|
||||
species = spriteInfo[battler].transformSpecies;
|
||||
personality = gTransformedPersonalities[battler];
|
||||
}
|
||||
|
||||
if (species == SPECIES_UNOWN)
|
||||
@@ -2251,7 +2251,7 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr)
|
||||
}
|
||||
else if (species == SPECIES_CASTFORM)
|
||||
{
|
||||
coords = &gCastformFrontSpriteCoords[gBattleMonForms[battlerId]];
|
||||
coords = &gCastformFrontSpriteCoords[gBattleMonForms[battler]];
|
||||
}
|
||||
else if (species > NUM_SPECIES)
|
||||
{
|
||||
@@ -2271,22 +2271,22 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr)
|
||||
case BATTLER_COORD_ATTR_WIDTH:
|
||||
return GET_MON_COORDS_WIDTH(coords->size);
|
||||
case BATTLER_COORD_ATTR_LEFT:
|
||||
return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) - (GET_MON_COORDS_WIDTH(coords->size) / 2);
|
||||
return GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) - (GET_MON_COORDS_WIDTH(coords->size) / 2);
|
||||
case BATTLER_COORD_ATTR_RIGHT:
|
||||
return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + (GET_MON_COORDS_WIDTH(coords->size) / 2);
|
||||
return GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + (GET_MON_COORDS_WIDTH(coords->size) / 2);
|
||||
case BATTLER_COORD_ATTR_TOP:
|
||||
return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) - (GET_MON_COORDS_HEIGHT(coords->size) / 2);
|
||||
return GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) - (GET_MON_COORDS_HEIGHT(coords->size) / 2);
|
||||
case BATTLER_COORD_ATTR_BOTTOM:
|
||||
return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) + (GET_MON_COORDS_HEIGHT(coords->size) / 2);
|
||||
return GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + (GET_MON_COORDS_HEIGHT(coords->size) / 2);
|
||||
case BATTLER_COORD_ATTR_RAW_BOTTOM:
|
||||
ret = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 31;
|
||||
ret = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 31;
|
||||
return ret - coords->y_offset;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y)
|
||||
void SetAverageBattlerPositions(u8 battler, bool8 respectMonPicOffsets, s16 *x, s16 *y)
|
||||
{
|
||||
u8 xCoordType, yCoordType;
|
||||
s16 battlerX, battlerY;
|
||||
@@ -2303,12 +2303,12 @@ void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x
|
||||
yCoordType = BATTLER_COORD_Y_PIC_OFFSET;
|
||||
}
|
||||
|
||||
battlerX = GetBattlerSpriteCoord(battlerId, xCoordType);
|
||||
battlerY = GetBattlerSpriteCoord(battlerId, yCoordType);
|
||||
battlerX = GetBattlerSpriteCoord(battler, xCoordType);
|
||||
battlerY = GetBattlerSpriteCoord(battler, yCoordType);
|
||||
if (IsDoubleBattle() && !IsContest())
|
||||
{
|
||||
partnerX = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), xCoordType);
|
||||
partnerY = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), yCoordType);
|
||||
partnerX = GetBattlerSpriteCoord(BATTLE_PARTNER(battler), xCoordType);
|
||||
partnerY = GetBattlerSpriteCoord(BATTLE_PARTNER(battler), yCoordType);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2320,7 +2320,7 @@ void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x
|
||||
*y = (battlerY + partnerY) / 2;
|
||||
}
|
||||
|
||||
u8 CreateInvisibleSpriteCopy(int battlerId, u8 spriteId, int species)
|
||||
u8 CreateInvisibleSpriteCopy(int battler, u8 spriteId, int species)
|
||||
{
|
||||
u8 newSpriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
|
||||
gSprites[newSpriteId] = gSprites[spriteId];
|
||||
|
||||
+16
-16
@@ -13,9 +13,9 @@ static void AnimComplexPaletteBlend(struct Sprite *);
|
||||
static void AnimComplexPaletteBlend_Step1(struct Sprite *);
|
||||
static void AnimComplexPaletteBlend_Step2(struct Sprite *);
|
||||
static void AnimCirclingSparkle(struct Sprite *);
|
||||
static void AnimShakeMonOrBattleTerrain(struct Sprite *);
|
||||
static void AnimShakeMonOrBattleTerrain_Step(struct Sprite *);
|
||||
static void AnimShakeMonOrBattleTerrain_UpdateCoordOffsetEnabled(void);
|
||||
static void AnimShakeMonOrBattlePlatforms(struct Sprite *);
|
||||
static void AnimShakeMonOrBattlePlatforms_Step(struct Sprite *);
|
||||
static void AnimShakeMonOrBattlePlatforms_UpdateCoordOffsetEnabled(void);
|
||||
static void AnimHitSplatBasic(struct Sprite *);
|
||||
static void AnimHitSplatPersistent(struct Sprite *);
|
||||
static void AnimHitSplatHandleInvert(struct Sprite *);
|
||||
@@ -33,7 +33,7 @@ static void BlendColorCycleByTag(u8, u8, u8);
|
||||
static void AnimTask_BlendColorCycleByTagLoop(u8);
|
||||
static void AnimTask_FlashAnimTagWithColor_Step1(u8);
|
||||
static void AnimTask_FlashAnimTagWithColor_Step2(u8);
|
||||
static void AnimTask_ShakeBattleTerrain_Step(u8);
|
||||
static void AnimTask_ShakeBattlePlatforms_Step(u8);
|
||||
|
||||
static const union AnimCmd sAnim_ConfusionDuck_0[] =
|
||||
{
|
||||
@@ -119,7 +119,7 @@ static const struct SpriteTemplate sCirclingSparkleSpriteTemplate =
|
||||
.callback = AnimCirclingSparkle,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gShakeMonOrTerrainSpriteTemplate =
|
||||
const struct SpriteTemplate gShakeMonOrPlatformSpriteTemplate =
|
||||
{
|
||||
.tileTag = 0,
|
||||
.paletteTag = 0,
|
||||
@@ -127,7 +127,7 @@ const struct SpriteTemplate gShakeMonOrTerrainSpriteTemplate =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimShakeMonOrBattleTerrain,
|
||||
.callback = AnimShakeMonOrBattlePlatforms,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd sAffineAnim_HitSplat_0[] =
|
||||
@@ -795,7 +795,7 @@ void AnimTask_TintPalettes(u8 taskId)
|
||||
#undef tColorG
|
||||
#undef tColorB
|
||||
|
||||
static void AnimShakeMonOrBattleTerrain(struct Sprite *sprite)
|
||||
static void AnimShakeMonOrBattlePlatforms(struct Sprite *sprite)
|
||||
{
|
||||
u16 var0;
|
||||
|
||||
@@ -825,12 +825,12 @@ static void AnimShakeMonOrBattleTerrain(struct Sprite *sprite)
|
||||
sprite->data[5] = gBattleAnimArgs[3];
|
||||
var0 = sprite->data[5] - 2;
|
||||
if (var0 < 2)
|
||||
AnimShakeMonOrBattleTerrain_UpdateCoordOffsetEnabled();
|
||||
AnimShakeMonOrBattlePlatforms_UpdateCoordOffsetEnabled();
|
||||
|
||||
sprite->callback = AnimShakeMonOrBattleTerrain_Step;
|
||||
sprite->callback = AnimShakeMonOrBattlePlatforms_Step;
|
||||
}
|
||||
|
||||
static void AnimShakeMonOrBattleTerrain_Step(struct Sprite *sprite)
|
||||
static void AnimShakeMonOrBattlePlatforms_Step(struct Sprite *sprite)
|
||||
{
|
||||
u8 i;
|
||||
u16 var0;
|
||||
@@ -863,7 +863,7 @@ static void AnimShakeMonOrBattleTerrain_Step(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
static void AnimShakeMonOrBattleTerrain_UpdateCoordOffsetEnabled(void)
|
||||
static void AnimShakeMonOrBattlePlatforms_UpdateCoordOffsetEnabled(void)
|
||||
{
|
||||
gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = FALSE;
|
||||
gSprites[gBattlerSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = FALSE;
|
||||
@@ -882,19 +882,19 @@ static void AnimShakeMonOrBattleTerrain_UpdateCoordOffsetEnabled(void)
|
||||
}
|
||||
}
|
||||
|
||||
// Task data for AnimTask_ShakeBattleTerrain
|
||||
// Task data for AnimTask_ShakeBattlePlatforms
|
||||
#define tXOffset data[0]
|
||||
#define tYOffset data[1]
|
||||
#define tNumShakes data[2]
|
||||
#define tTimer data[3]
|
||||
#define tShakeDelay data[8]
|
||||
|
||||
// Can shake battle terrain back and forth on the X or down and back to original pos on Y (cant shake up from orig pos)
|
||||
// Can shake battle platforms back and forth on the X or down and back to original pos on Y (cant shake up from orig pos)
|
||||
// arg0: x offset of shake
|
||||
// arg1: y offset of shake
|
||||
// arg2: number of shakes
|
||||
// arg3: time between shakes
|
||||
void AnimTask_ShakeBattleTerrain(u8 taskId)
|
||||
void AnimTask_ShakeBattlePlatforms(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].tXOffset = gBattleAnimArgs[0];
|
||||
gTasks[taskId].tYOffset = gBattleAnimArgs[1];
|
||||
@@ -903,11 +903,11 @@ void AnimTask_ShakeBattleTerrain(u8 taskId)
|
||||
gTasks[taskId].tShakeDelay = gBattleAnimArgs[3];
|
||||
gBattle_BG3_X = gBattleAnimArgs[0];
|
||||
gBattle_BG3_Y = gBattleAnimArgs[1];
|
||||
gTasks[taskId].func = AnimTask_ShakeBattleTerrain_Step;
|
||||
gTasks[taskId].func = AnimTask_ShakeBattlePlatforms_Step;
|
||||
gTasks[taskId].func(taskId);
|
||||
}
|
||||
|
||||
static void AnimTask_ShakeBattleTerrain_Step(u8 taskId)
|
||||
static void AnimTask_ShakeBattlePlatforms_Step(u8 taskId)
|
||||
{
|
||||
if (gTasks[taskId].tTimer == 0)
|
||||
{
|
||||
|
||||
+61
-34
@@ -388,6 +388,11 @@ static void AnimParticleInVortex_Step(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
#define tBlendTimer data[10]
|
||||
#define tBlend data[11]
|
||||
#define tFullAlphaTimer data[11] // not a typo; this data field is used for multiple purposes
|
||||
#define tState data[12]
|
||||
|
||||
void AnimTask_LoadSandstormBackground(u8 taskId)
|
||||
{
|
||||
int var0;
|
||||
@@ -430,45 +435,45 @@ static void AnimTask_LoadSandstormBackground_Step(u8 taskId)
|
||||
|
||||
gBattle_BG1_Y += -1;
|
||||
|
||||
switch (gTasks[taskId].data[12])
|
||||
switch (gTasks[taskId].tState)
|
||||
{
|
||||
case 0:
|
||||
if (++gTasks[taskId].data[10] == 4)
|
||||
if (++gTasks[taskId].tBlendTimer == 4)
|
||||
{
|
||||
gTasks[taskId].data[10] = 0;
|
||||
gTasks[taskId].data[11]++;
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11]));
|
||||
if (gTasks[taskId].data[11] == 7)
|
||||
gTasks[taskId].tBlendTimer = 0;
|
||||
gTasks[taskId].tBlend++;
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].tBlend, 16 - gTasks[taskId].tBlend));
|
||||
if (gTasks[taskId].tBlend == 7)
|
||||
{
|
||||
gTasks[taskId].data[12]++;
|
||||
gTasks[taskId].data[11] = 0;
|
||||
gTasks[taskId].tState++;
|
||||
gTasks[taskId].tFullAlphaTimer = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (++gTasks[taskId].data[11] == 101)
|
||||
if (++gTasks[taskId].tFullAlphaTimer == 101)
|
||||
{
|
||||
gTasks[taskId].data[11] = 7;
|
||||
gTasks[taskId].data[12]++;
|
||||
gTasks[taskId].tBlend = 7;
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (++gTasks[taskId].data[10] == 4)
|
||||
if (++gTasks[taskId].tBlendTimer == 4)
|
||||
{
|
||||
gTasks[taskId].data[10] = 0;
|
||||
gTasks[taskId].data[11]--;
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11]));
|
||||
if (gTasks[taskId].data[11] == 0)
|
||||
gTasks[taskId].tBlendTimer = 0;
|
||||
gTasks[taskId].tBlend--;
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].tBlend, 16 - gTasks[taskId].tBlend));
|
||||
if (gTasks[taskId].tBlend == 0)
|
||||
{
|
||||
gTasks[taskId].data[12]++;
|
||||
gTasks[taskId].data[11] = 0;
|
||||
gTasks[taskId].tState++;
|
||||
gTasks[taskId].tFullAlphaTimer = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
GetBattleAnimBg1Data(&animBg);
|
||||
ClearBattleAnimBg(animBg.bgId);
|
||||
gTasks[taskId].data[12]++;
|
||||
gTasks[taskId].tState++;
|
||||
break;
|
||||
case 4:
|
||||
if (!IsContest())
|
||||
@@ -484,21 +489,36 @@ static void AnimTask_LoadSandstormBackground_Step(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
#undef tBlendTimer
|
||||
#undef tBlend
|
||||
#undef tFullAlphaTimer
|
||||
#undef tState
|
||||
|
||||
// Animates the sprites that fly diagonally across the screen
|
||||
// in Sandstorm and Heat Wave.
|
||||
// arg 0: initial y pixel offset
|
||||
// arg 1: projectile speed
|
||||
// arg 2: y pixel drop
|
||||
// arg 3: ??? unknown (possibly a color bit)
|
||||
|
||||
#define sState data[0]
|
||||
#define sVelocityX data[1] // 256ths of a pixel // init'd from gBattleAnimArgs[1]
|
||||
#define sVelocityY data[2] // 256ths of a pixel // init'd from gBattleAnimArgs[2]
|
||||
#define sFractionalX data[3] // 256ths of a pixel
|
||||
#define sFractionalY data[4] // 256ths of a pixel
|
||||
#define sMirroredX data[5] // init'd from gBattleAnimArgs[3]
|
||||
|
||||
// The fields named "velocity" are arguably more like "acceleration,"
|
||||
// and the fields named "fractional" are arguably more like "velocity."
|
||||
//
|
||||
// ...is what I WOULD say if the "fractional" fields weren't AND'd with
|
||||
// 0xFF after every frame.
|
||||
|
||||
static void AnimFlyingSandCrescent(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->data[0] == 0)
|
||||
if (sprite->sState == 0)
|
||||
{
|
||||
if (gBattleAnimArgs[3] != 0 && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
{
|
||||
sprite->x = DISPLAY_WIDTH + 64;
|
||||
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
|
||||
sprite->data[5] = 1;
|
||||
sprite->sMirroredX = 1;
|
||||
sprite->oam.matrixNum = ST_OAM_HFLIP;
|
||||
}
|
||||
else
|
||||
@@ -508,18 +528,18 @@ static void AnimFlyingSandCrescent(struct Sprite *sprite)
|
||||
|
||||
sprite->y = gBattleAnimArgs[0];
|
||||
SetSubspriteTables(sprite, sFlyingSandSubspriteTable);
|
||||
sprite->data[1] = gBattleAnimArgs[1];
|
||||
sprite->data[2] = gBattleAnimArgs[2];
|
||||
sprite->data[0]++;
|
||||
sprite->sVelocityX = gBattleAnimArgs[1];
|
||||
sprite->sVelocityY = gBattleAnimArgs[2];
|
||||
sprite->sState++;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->data[3] += sprite->data[1];
|
||||
sprite->data[4] += sprite->data[2];
|
||||
sprite->x2 += (sprite->data[3] >> 8);
|
||||
sprite->y2 += (sprite->data[4] >> 8);
|
||||
sprite->data[3] &= 0xFF;
|
||||
sprite->data[4] &= 0xFF;
|
||||
sprite->sFractionalX += sprite->sVelocityX;
|
||||
sprite->sFractionalY += sprite->sVelocityY;
|
||||
sprite->x2 += (sprite->sFractionalX >> 8);
|
||||
sprite->y2 += (sprite->sFractionalY >> 8);
|
||||
sprite->sFractionalX &= 0xFF;
|
||||
sprite->sFractionalY &= 0xFF;
|
||||
|
||||
if (sprite->data[5] == 0)
|
||||
{
|
||||
@@ -535,6 +555,13 @@ static void AnimFlyingSandCrescent(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
#undef sState
|
||||
#undef sVelocityX
|
||||
#undef sVelocityY
|
||||
#undef sFractionalX
|
||||
#undef sFractionalY
|
||||
#undef sMirroredX
|
||||
|
||||
// Animates the rising rocks in Ancient Power.
|
||||
// arg 0: initial x pixel offset
|
||||
// arg 1: initial y pixel offset
|
||||
|
||||
@@ -144,29 +144,29 @@ void SoundTask_PlayCryHighPitch(u8 taskId)
|
||||
}
|
||||
else
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
// Get wanted battler.
|
||||
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||
battlerId = gBattleAnimAttacker;
|
||||
battler = gBattleAnimAttacker;
|
||||
else if (gBattleAnimArgs[0] == ANIM_TARGET)
|
||||
battlerId = gBattleAnimTarget;
|
||||
battler = gBattleAnimTarget;
|
||||
else if (gBattleAnimArgs[0] == ANIM_ATK_PARTNER)
|
||||
battlerId = BATTLE_PARTNER(gBattleAnimAttacker);
|
||||
battler = BATTLE_PARTNER(gBattleAnimAttacker);
|
||||
else
|
||||
battlerId = BATTLE_PARTNER(gBattleAnimTarget);
|
||||
battler = BATTLE_PARTNER(gBattleAnimTarget);
|
||||
|
||||
// Check if battler is visible.
|
||||
if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battlerId))
|
||||
if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battler))
|
||||
{
|
||||
DestroyAnimVisualTask(taskId);
|
||||
return;
|
||||
}
|
||||
|
||||
if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
if (GetBattlerSide(battler) != B_SIDE_PLAYER)
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
else
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
}
|
||||
|
||||
if (species != SPECIES_NONE)
|
||||
@@ -192,29 +192,29 @@ void SoundTask_PlayDoubleCry(u8 taskId)
|
||||
}
|
||||
else
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
// Get wanted battler.
|
||||
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
|
||||
battlerId = gBattleAnimAttacker;
|
||||
battler = gBattleAnimAttacker;
|
||||
else if (gBattleAnimArgs[0] == ANIM_TARGET)
|
||||
battlerId = gBattleAnimTarget;
|
||||
battler = gBattleAnimTarget;
|
||||
else if (gBattleAnimArgs[0] == ANIM_ATK_PARTNER)
|
||||
battlerId = BATTLE_PARTNER(gBattleAnimAttacker);
|
||||
battler = BATTLE_PARTNER(gBattleAnimAttacker);
|
||||
else
|
||||
battlerId = BATTLE_PARTNER(gBattleAnimTarget);
|
||||
battler = BATTLE_PARTNER(gBattleAnimTarget);
|
||||
|
||||
// Check if battler is visible.
|
||||
if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battlerId))
|
||||
if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battler))
|
||||
{
|
||||
DestroyAnimVisualTask(taskId);
|
||||
return;
|
||||
}
|
||||
|
||||
if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
if (GetBattlerSide(battler) != B_SIDE_PLAYER)
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
else
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
}
|
||||
|
||||
gTasks[taskId].data[0] = gBattleAnimArgs[1];
|
||||
|
||||
@@ -270,16 +270,16 @@ static const struct SpriteTemplate sFlashingCircleImpactSpriteTemplate =
|
||||
.callback = AnimFlashingCircleImpact,
|
||||
};
|
||||
|
||||
static u8 UNUSED Task_FlashingCircleImpacts(u8 battlerId, bool8 red)
|
||||
static u8 UNUSED Task_FlashingCircleImpacts(u8 battler, bool8 red)
|
||||
{
|
||||
u8 battlerSpriteId = gBattlerSpriteIds[battlerId];
|
||||
u8 battlerSpriteId = gBattlerSpriteIds[battler];
|
||||
u8 taskId = CreateTask(Task_UpdateFlashingCircleImpacts, 10);
|
||||
u8 spriteId;
|
||||
u8 i;
|
||||
|
||||
LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]);
|
||||
LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]);
|
||||
gTasks[taskId].data[0] = battlerId;
|
||||
gTasks[taskId].data[0] = battler;
|
||||
if (red)
|
||||
{
|
||||
gTasks[taskId].data[1] = RGB_RED;
|
||||
@@ -540,15 +540,15 @@ void AnimTask_StatsChange(u8 taskId)
|
||||
|
||||
#undef CASE
|
||||
|
||||
void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId)
|
||||
void LaunchStatusAnimation(u8 battler, u8 statusAnimId)
|
||||
{
|
||||
u8 taskId;
|
||||
|
||||
gBattleAnimAttacker = battlerId;
|
||||
gBattleAnimTarget = battlerId;
|
||||
gBattleAnimAttacker = battler;
|
||||
gBattleAnimTarget = battler;
|
||||
LaunchBattleAnimation(gBattleAnims_StatusConditions, statusAnimId, FALSE);
|
||||
taskId = CreateTask(Task_DoStatusAnimation, 10);
|
||||
gTasks[taskId].data[0] = battlerId;
|
||||
gTasks[taskId].data[0] = battler;
|
||||
}
|
||||
|
||||
static void Task_DoStatusAnimation(u8 taskId)
|
||||
|
||||
@@ -1864,7 +1864,7 @@ static void RepeatBallOpenParticleAnimation(u8 taskId)
|
||||
priority = gTasks[taskId].data[3];
|
||||
subpriority = gTasks[taskId].data[4];
|
||||
|
||||
for (i = 0; i < POKEBALL_COUNT; i++)
|
||||
for (i = 0; i < 12; i++)
|
||||
{
|
||||
spriteId = CreateSprite(&sBallParticleSpriteTemplates[ballId], x, y, subpriority);
|
||||
if (spriteId != MAX_SPRITES)
|
||||
|
||||
@@ -109,36 +109,36 @@ void AnimTask_BlendBattleAnimPalExclude(u8 taskId)
|
||||
void AnimTask_SetCamouflageBlend(u8 taskId)
|
||||
{
|
||||
u32 selectedPalettes = UnpackSelectedBattlePalettes(gBattleAnimArgs[0]);
|
||||
switch (gBattleTerrain)
|
||||
switch (gBattleEnvironment)
|
||||
{
|
||||
case BATTLE_TERRAIN_GRASS:
|
||||
case BATTLE_ENVIRONMENT_GRASS:
|
||||
gBattleAnimArgs[4] = RGB(12, 24, 2);
|
||||
break;
|
||||
case BATTLE_TERRAIN_LONG_GRASS:
|
||||
case BATTLE_ENVIRONMENT_LONG_GRASS:
|
||||
gBattleAnimArgs[4] = RGB(0, 15, 2);
|
||||
break;
|
||||
case BATTLE_TERRAIN_SAND:
|
||||
case BATTLE_ENVIRONMENT_SAND:
|
||||
gBattleAnimArgs[4] = RGB(30, 24, 11);
|
||||
break;
|
||||
case BATTLE_TERRAIN_UNDERWATER:
|
||||
case BATTLE_ENVIRONMENT_UNDERWATER:
|
||||
gBattleAnimArgs[4] = RGB(0, 0, 18);
|
||||
break;
|
||||
case BATTLE_TERRAIN_WATER:
|
||||
case BATTLE_ENVIRONMENT_WATER:
|
||||
gBattleAnimArgs[4] = RGB(11, 22, 31);
|
||||
break;
|
||||
case BATTLE_TERRAIN_POND:
|
||||
case BATTLE_ENVIRONMENT_POND:
|
||||
gBattleAnimArgs[4] = RGB(11, 22, 31);
|
||||
break;
|
||||
case BATTLE_TERRAIN_MOUNTAIN:
|
||||
case BATTLE_ENVIRONMENT_MOUNTAIN:
|
||||
gBattleAnimArgs[4] = RGB(22, 16, 10);
|
||||
break;
|
||||
case BATTLE_TERRAIN_CAVE:
|
||||
case BATTLE_ENVIRONMENT_CAVE:
|
||||
gBattleAnimArgs[4] = RGB(14, 9, 3);
|
||||
break;
|
||||
case BATTLE_TERRAIN_BUILDING:
|
||||
case BATTLE_ENVIRONMENT_BUILDING:
|
||||
gBattleAnimArgs[4] = RGB_WHITE;
|
||||
break;
|
||||
case BATTLE_TERRAIN_PLAIN:
|
||||
case BATTLE_ENVIRONMENT_PLAIN:
|
||||
gBattleAnimArgs[4] = RGB_WHITE;
|
||||
break;
|
||||
}
|
||||
@@ -937,9 +937,9 @@ static void UpdateMonScrollingBgMask(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void AnimTask_GetBattleTerrain(u8 taskId)
|
||||
void AnimTask_GetBattleEnvironment(u8 taskId)
|
||||
{
|
||||
gBattleAnimArgs[0] = gBattleTerrain;
|
||||
gBattleAnimArgs[0] = gBattleEnvironment;
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
|
||||
|
||||
+25
-11
@@ -473,27 +473,37 @@ const struct SpriteTemplate gWeatherBallWaterDownSpriteTemplate =
|
||||
.callback = AnimWeatherBallDown,
|
||||
};
|
||||
|
||||
#define tRaindropSpawnTimer data[0]
|
||||
#define tRaindropUnused data[1]
|
||||
#define tRaindropSpawnInterval data[2]
|
||||
#define tRaindropSpawnDuration data[3] // number of frames over which we spawn raindrops
|
||||
|
||||
void AnimTask_CreateRaindrops(u8 taskId)
|
||||
{
|
||||
u8 x, y;
|
||||
|
||||
if (gTasks[taskId].data[0] == 0)
|
||||
if (gTasks[taskId].tRaindropSpawnTimer == 0)
|
||||
{
|
||||
gTasks[taskId].data[1] = gBattleAnimArgs[0];
|
||||
gTasks[taskId].data[2] = gBattleAnimArgs[1];
|
||||
gTasks[taskId].data[3] = gBattleAnimArgs[2];
|
||||
gTasks[taskId].tRaindropUnused = gBattleAnimArgs[0];
|
||||
gTasks[taskId].tRaindropSpawnInterval = gBattleAnimArgs[1];
|
||||
gTasks[taskId].tRaindropSpawnDuration = gBattleAnimArgs[2];
|
||||
}
|
||||
gTasks[taskId].data[0]++;
|
||||
if (gTasks[taskId].data[0] % gTasks[taskId].data[2] == 1)
|
||||
gTasks[taskId].tRaindropSpawnTimer++;
|
||||
if (gTasks[taskId].tRaindropSpawnTimer % gTasks[taskId].tRaindropSpawnInterval == 1)
|
||||
{
|
||||
x = Random2() % DISPLAY_WIDTH;
|
||||
y = Random2() % (DISPLAY_HEIGHT / 2);
|
||||
CreateSprite(&gRainDropSpriteTemplate, x, y, 4);
|
||||
}
|
||||
if (gTasks[taskId].data[0] == gTasks[taskId].data[3])
|
||||
if (gTasks[taskId].tRaindropSpawnTimer == gTasks[taskId].tRaindropSpawnDuration)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
|
||||
#undef tRaindropSpawnTimer
|
||||
#undef tRaindropUnused
|
||||
#undef tRaindropSpawnInterval
|
||||
#undef tRaindropSpawnDuration
|
||||
|
||||
static void AnimRainDrop(struct Sprite *sprite)
|
||||
{
|
||||
sprite->callback = AnimRainDrop_Step;
|
||||
@@ -503,6 +513,10 @@ static void AnimRainDrop_Step(struct Sprite *sprite)
|
||||
{
|
||||
if (++sprite->data[0] <= 13)
|
||||
{
|
||||
//
|
||||
// Make the raindrop fall, but only until it reaches the
|
||||
// impact/splash frames of its animation.
|
||||
//
|
||||
sprite->x2++;
|
||||
sprite->y2 += 4;
|
||||
}
|
||||
@@ -739,7 +753,7 @@ static void AnimHydroCannonCharge_Step(struct Sprite *sprite)
|
||||
// Flashing blue orbs move from the attacker to the target. Second stage of Hydro Cannon
|
||||
static void AnimHydroCannonBeam(struct Sprite *sprite)
|
||||
{
|
||||
bool8 animType;
|
||||
bool8 respectMonPicOffsets;
|
||||
u8 coordType;
|
||||
if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget))
|
||||
{
|
||||
@@ -748,14 +762,14 @@ static void AnimHydroCannonBeam(struct Sprite *sprite)
|
||||
gBattleAnimArgs[0] *= -1;
|
||||
}
|
||||
if ((gBattleAnimArgs[5] & 0xFF00) == 0)
|
||||
animType = TRUE;
|
||||
respectMonPicOffsets = TRUE;
|
||||
else
|
||||
animType = FALSE;
|
||||
respectMonPicOffsets = FALSE;
|
||||
if ((u8)gBattleAnimArgs[5] == 0)
|
||||
coordType = BATTLER_COORD_Y_PIC_OFFSET;
|
||||
else
|
||||
coordType = BATTLER_COORD_Y;
|
||||
InitSpritePosToAnimAttacker(sprite, animType);
|
||||
InitSpritePosToAnimAttacker(sprite, respectMonPicOffsets);
|
||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
|
||||
+1
-1
@@ -341,7 +341,7 @@ static const struct CompressedSpriteSheet sBattleArenaJudgmentSymbolsSpriteSheet
|
||||
{0}
|
||||
};
|
||||
|
||||
static void (* const sArenaFunctions[])(void) =
|
||||
static void (*const sArenaFunctions[])(void) =
|
||||
{
|
||||
[BATTLE_ARENA_FUNC_INIT] = InitArenaChallenge,
|
||||
[BATTLE_ARENA_FUNC_GET_DATA] = GetArenaData,
|
||||
|
||||
+165
-165
@@ -593,102 +593,102 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] =
|
||||
DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
|
||||
const struct WindowTemplate * const gBattleWindowTemplates[] =
|
||||
const struct WindowTemplate *const gBattleWindowTemplates[] =
|
||||
{
|
||||
[B_WIN_TYPE_NORMAL] = sStandardBattleWindowTemplates,
|
||||
[B_WIN_TYPE_ARENA] = sBattleArenaWindowTemplates,
|
||||
};
|
||||
|
||||
static const struct BattleBackground sBattleTerrainTable[] =
|
||||
static const struct BattleBackground sBattleEnvironmentTable[] =
|
||||
{
|
||||
[BATTLE_TERRAIN_GRASS] =
|
||||
[BATTLE_ENVIRONMENT_GRASS] =
|
||||
{
|
||||
.tileset = gBattleTerrainTiles_TallGrass,
|
||||
.tilemap = gBattleTerrainTilemap_TallGrass,
|
||||
.entryTileset = gBattleTerrainAnimTiles_TallGrass,
|
||||
.entryTilemap = gBattleTerrainAnimTilemap_TallGrass,
|
||||
.palette = gBattleTerrainPalette_TallGrass,
|
||||
.tileset = gBattleEnvironmentTiles_TallGrass,
|
||||
.tilemap = gBattleEnvironmentTilemap_TallGrass,
|
||||
.entryTileset = gBattleEnvironmentAnimTiles_TallGrass,
|
||||
.entryTilemap = gBattleEnvironmentAnimTilemap_TallGrass,
|
||||
.palette = gBattleEnvironmentPalette_TallGrass,
|
||||
},
|
||||
|
||||
[BATTLE_TERRAIN_LONG_GRASS] =
|
||||
[BATTLE_ENVIRONMENT_LONG_GRASS] =
|
||||
{
|
||||
.tileset = gBattleTerrainTiles_LongGrass,
|
||||
.tilemap = gBattleTerrainTilemap_LongGrass,
|
||||
.entryTileset = gBattleTerrainAnimTiles_LongGrass,
|
||||
.entryTilemap = gBattleTerrainAnimTilemap_LongGrass,
|
||||
.palette = gBattleTerrainPalette_LongGrass,
|
||||
.tileset = gBattleEnvironmentTiles_LongGrass,
|
||||
.tilemap = gBattleEnvironmentTilemap_LongGrass,
|
||||
.entryTileset = gBattleEnvironmentAnimTiles_LongGrass,
|
||||
.entryTilemap = gBattleEnvironmentAnimTilemap_LongGrass,
|
||||
.palette = gBattleEnvironmentPalette_LongGrass,
|
||||
},
|
||||
|
||||
[BATTLE_TERRAIN_SAND] =
|
||||
[BATTLE_ENVIRONMENT_SAND] =
|
||||
{
|
||||
.tileset = gBattleTerrainTiles_Sand,
|
||||
.tilemap = gBattleTerrainTilemap_Sand,
|
||||
.entryTileset = gBattleTerrainAnimTiles_Sand,
|
||||
.entryTilemap = gBattleTerrainAnimTilemap_Sand,
|
||||
.palette = gBattleTerrainPalette_Sand,
|
||||
.tileset = gBattleEnvironmentTiles_Sand,
|
||||
.tilemap = gBattleEnvironmentTilemap_Sand,
|
||||
.entryTileset = gBattleEnvironmentAnimTiles_Sand,
|
||||
.entryTilemap = gBattleEnvironmentAnimTilemap_Sand,
|
||||
.palette = gBattleEnvironmentPalette_Sand,
|
||||
},
|
||||
|
||||
[BATTLE_TERRAIN_UNDERWATER] =
|
||||
[BATTLE_ENVIRONMENT_UNDERWATER] =
|
||||
{
|
||||
.tileset = gBattleTerrainTiles_Underwater,
|
||||
.tilemap = gBattleTerrainTilemap_Underwater,
|
||||
.entryTileset = gBattleTerrainAnimTiles_Underwater,
|
||||
.entryTilemap = gBattleTerrainAnimTilemap_Underwater,
|
||||
.palette = gBattleTerrainPalette_Underwater,
|
||||
.tileset = gBattleEnvironmentTiles_Underwater,
|
||||
.tilemap = gBattleEnvironmentTilemap_Underwater,
|
||||
.entryTileset = gBattleEnvironmentAnimTiles_Underwater,
|
||||
.entryTilemap = gBattleEnvironmentAnimTilemap_Underwater,
|
||||
.palette = gBattleEnvironmentPalette_Underwater,
|
||||
},
|
||||
|
||||
[BATTLE_TERRAIN_WATER] =
|
||||
[BATTLE_ENVIRONMENT_WATER] =
|
||||
{
|
||||
.tileset = gBattleTerrainTiles_Water,
|
||||
.tilemap = gBattleTerrainTilemap_Water,
|
||||
.entryTileset = gBattleTerrainAnimTiles_Water,
|
||||
.entryTilemap = gBattleTerrainAnimTilemap_Water,
|
||||
.palette = gBattleTerrainPalette_Water,
|
||||
.tileset = gBattleEnvironmentTiles_Water,
|
||||
.tilemap = gBattleEnvironmentTilemap_Water,
|
||||
.entryTileset = gBattleEnvironmentAnimTiles_Water,
|
||||
.entryTilemap = gBattleEnvironmentAnimTilemap_Water,
|
||||
.palette = gBattleEnvironmentPalette_Water,
|
||||
},
|
||||
|
||||
[BATTLE_TERRAIN_POND] =
|
||||
[BATTLE_ENVIRONMENT_POND] =
|
||||
{
|
||||
.tileset = gBattleTerrainTiles_PondWater,
|
||||
.tilemap = gBattleTerrainTilemap_PondWater,
|
||||
.entryTileset = gBattleTerrainAnimTiles_PondWater,
|
||||
.entryTilemap = gBattleTerrainAnimTilemap_PondWater,
|
||||
.palette = gBattleTerrainPalette_PondWater,
|
||||
.tileset = gBattleEnvironmentTiles_PondWater,
|
||||
.tilemap = gBattleEnvironmentTilemap_PondWater,
|
||||
.entryTileset = gBattleEnvironmentAnimTiles_PondWater,
|
||||
.entryTilemap = gBattleEnvironmentAnimTilemap_PondWater,
|
||||
.palette = gBattleEnvironmentPalette_PondWater,
|
||||
},
|
||||
|
||||
[BATTLE_TERRAIN_MOUNTAIN] =
|
||||
[BATTLE_ENVIRONMENT_MOUNTAIN] =
|
||||
{
|
||||
.tileset = gBattleTerrainTiles_Rock,
|
||||
.tilemap = gBattleTerrainTilemap_Rock,
|
||||
.entryTileset = gBattleTerrainAnimTiles_Rock,
|
||||
.entryTilemap = gBattleTerrainAnimTilemap_Rock,
|
||||
.palette = gBattleTerrainPalette_Rock,
|
||||
.tileset = gBattleEnvironmentTiles_Rock,
|
||||
.tilemap = gBattleEnvironmentTilemap_Rock,
|
||||
.entryTileset = gBattleEnvironmentAnimTiles_Rock,
|
||||
.entryTilemap = gBattleEnvironmentAnimTilemap_Rock,
|
||||
.palette = gBattleEnvironmentPalette_Rock,
|
||||
},
|
||||
|
||||
[BATTLE_TERRAIN_CAVE] =
|
||||
[BATTLE_ENVIRONMENT_CAVE] =
|
||||
{
|
||||
.tileset = gBattleTerrainTiles_Cave,
|
||||
.tilemap = gBattleTerrainTilemap_Cave,
|
||||
.entryTileset = gBattleTerrainAnimTiles_Cave,
|
||||
.entryTilemap = gBattleTerrainAnimTilemap_Cave,
|
||||
.palette = gBattleTerrainPalette_Cave,
|
||||
.tileset = gBattleEnvironmentTiles_Cave,
|
||||
.tilemap = gBattleEnvironmentTilemap_Cave,
|
||||
.entryTileset = gBattleEnvironmentAnimTiles_Cave,
|
||||
.entryTilemap = gBattleEnvironmentAnimTilemap_Cave,
|
||||
.palette = gBattleEnvironmentPalette_Cave,
|
||||
},
|
||||
|
||||
[BATTLE_TERRAIN_BUILDING] =
|
||||
[BATTLE_ENVIRONMENT_BUILDING] =
|
||||
{
|
||||
.tileset = gBattleTerrainTiles_Building,
|
||||
.tilemap = gBattleTerrainTilemap_Building,
|
||||
.entryTileset = gBattleTerrainAnimTiles_Building,
|
||||
.entryTilemap = gBattleTerrainAnimTilemap_Building,
|
||||
.palette = gBattleTerrainPalette_Building,
|
||||
.tileset = gBattleEnvironmentTiles_Building,
|
||||
.tilemap = gBattleEnvironmentTilemap_Building,
|
||||
.entryTileset = gBattleEnvironmentAnimTiles_Building,
|
||||
.entryTilemap = gBattleEnvironmentAnimTilemap_Building,
|
||||
.palette = gBattleEnvironmentPalette_Building,
|
||||
},
|
||||
|
||||
[BATTLE_TERRAIN_PLAIN] =
|
||||
[BATTLE_ENVIRONMENT_PLAIN] =
|
||||
{
|
||||
.tileset = gBattleTerrainTiles_Building,
|
||||
.tilemap = gBattleTerrainTilemap_Building,
|
||||
.entryTileset = gBattleTerrainAnimTiles_Building,
|
||||
.entryTilemap = gBattleTerrainAnimTilemap_Building,
|
||||
.palette = gBattleTerrainPalette_Plain,
|
||||
.tileset = gBattleEnvironmentTiles_Building,
|
||||
.tilemap = gBattleEnvironmentTilemap_Building,
|
||||
.entryTileset = gBattleEnvironmentAnimTiles_Building,
|
||||
.entryTilemap = gBattleEnvironmentAnimTilemap_Building,
|
||||
.palette = gBattleEnvironmentPalette_Plain,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -761,27 +761,27 @@ void DrawMainBattleBackground(void)
|
||||
{
|
||||
if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_RECORDED_LINK))
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Building, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Building, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_GROUDON)
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainTiles_Cave, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleTerrainTilemap_Cave, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleTerrainPalette_Groudon, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Cave, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Cave, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_Groudon, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE)
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainTiles_Water, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleTerrainTilemap_Water, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleTerrainPalette_Kyogre, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Water, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Water, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_Kyogre, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_RAYQUAZA)
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainTiles_Rayquaza, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleTerrainTilemap_Rayquaza, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleTerrainPalette_Rayquaza, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Rayquaza, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Rayquaza, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_Rayquaza, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -790,16 +790,16 @@ void DrawMainBattleBackground(void)
|
||||
u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass;
|
||||
if (trainerClass == TRAINER_CLASS_LEADER)
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Building, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Building, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_BuildingLeader, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
return;
|
||||
}
|
||||
else if (trainerClass == TRAINER_CLASS_CHAMPION)
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_StadiumWallace, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -808,49 +808,49 @@ void DrawMainBattleBackground(void)
|
||||
{
|
||||
default:
|
||||
case MAP_BATTLE_SCENE_NORMAL:
|
||||
LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tileset, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tilemap, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(sBattleTerrainTable[gBattleTerrain].palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LZDecompressVram(sBattleEnvironmentTable[gBattleEnvironment].tileset, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(sBattleEnvironmentTable[gBattleEnvironment].tilemap, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(sBattleEnvironmentTable[gBattleEnvironment].palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_GYM:
|
||||
LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Building, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Building, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_BuildingGym, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_MAGMA:
|
||||
LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_StadiumMagma, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_AQUA:
|
||||
LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_StadiumAqua, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_SIDNEY:
|
||||
LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_StadiumSidney, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_PHOEBE:
|
||||
LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_StadiumPhoebe, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_GLACIA:
|
||||
LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_StadiumGlacia, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_DRAKE:
|
||||
LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_StadiumDrake, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_FRONTIER:
|
||||
LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Building, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Building, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1024,7 +1024,7 @@ void InitLinkBattleVsScreen(u8 taskId)
|
||||
case 0:
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
{
|
||||
for (i = 0; i < MAX_BATTLERS_COUNT; i++)
|
||||
for (i = 0; i < MAX_LINK_PLAYERS; i++)
|
||||
{
|
||||
name = gLinkPlayers[i].name;
|
||||
linkPlayer = &gLinkPlayers[i];
|
||||
@@ -1144,8 +1144,8 @@ void DrawBattleEntryBackground(void)
|
||||
{
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) || gPartnerTrainerId == TRAINER_STEVEN_PARTNER)
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28)));
|
||||
LZDecompressVram(gBattleEnvironmentAnimTiles_Building, (void *)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(gBattleEnvironmentAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28)));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1161,18 +1161,18 @@ void DrawBattleEntryBackground(void)
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_GROUDON)
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainAnimTiles_Cave, (void *)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(gBattleTerrainAnimTilemap_Cave, (void *)(BG_SCREEN_ADDR(28)));
|
||||
LZDecompressVram(gBattleEnvironmentAnimTiles_Cave, (void *)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(gBattleEnvironmentAnimTilemap_Cave, (void *)(BG_SCREEN_ADDR(28)));
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE)
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainAnimTiles_Underwater, (void *)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(gBattleTerrainAnimTilemap_Underwater, (void *)(BG_SCREEN_ADDR(28)));
|
||||
LZDecompressVram(gBattleEnvironmentAnimTiles_Underwater, (void *)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(gBattleEnvironmentAnimTilemap_Underwater, (void *)(BG_SCREEN_ADDR(28)));
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_RAYQUAZA)
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainAnimTiles_Rayquaza, (void *)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(gBattleTerrainAnimTilemap_Rayquaza, (void *)(BG_SCREEN_ADDR(28)));
|
||||
LZDecompressVram(gBattleEnvironmentAnimTiles_Rayquaza, (void *)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(gBattleEnvironmentAnimTilemap_Rayquaza, (void *)(BG_SCREEN_ADDR(28)));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1181,27 +1181,27 @@ void DrawBattleEntryBackground(void)
|
||||
u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass;
|
||||
if (trainerClass == TRAINER_CLASS_LEADER)
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28)));
|
||||
LZDecompressVram(gBattleEnvironmentAnimTiles_Building, (void *)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(gBattleEnvironmentAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28)));
|
||||
return;
|
||||
}
|
||||
else if (trainerClass == TRAINER_CLASS_CHAMPION)
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28)));
|
||||
LZDecompressVram(gBattleEnvironmentAnimTiles_Building, (void *)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(gBattleEnvironmentAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28)));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (GetCurrentMapBattleScene() == MAP_BATTLE_SCENE_NORMAL)
|
||||
{
|
||||
LZDecompressVram(sBattleTerrainTable[gBattleTerrain].entryTileset, (void *)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(sBattleTerrainTable[gBattleTerrain].entryTilemap, (void *)(BG_SCREEN_ADDR(28)));
|
||||
LZDecompressVram(sBattleEnvironmentTable[gBattleEnvironment].entryTileset, (void *)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(sBattleEnvironmentTable[gBattleEnvironment].entryTilemap, (void *)(BG_SCREEN_ADDR(28)));
|
||||
}
|
||||
else
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28)));
|
||||
LZDecompressVram(gBattleEnvironmentAnimTiles_Building, (void *)(BG_CHAR_ADDR(1)));
|
||||
LZDecompressVram(gBattleEnvironmentAnimTilemap_Building, (void *)(BG_SCREEN_ADDR(28)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1225,11 +1225,11 @@ bool8 LoadChosenBattleElement(u8 caseId)
|
||||
case 3:
|
||||
if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_EREADER_TRAINER))
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Building, (void *)(BG_CHAR_ADDR(2)));
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_GROUDON)
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainTiles_Cave, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Cave, (void *)(BG_CHAR_ADDR(2)));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1238,12 +1238,12 @@ bool8 LoadChosenBattleElement(u8 caseId)
|
||||
u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass;
|
||||
if (trainerClass == TRAINER_CLASS_LEADER)
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Building, (void *)(BG_CHAR_ADDR(2)));
|
||||
break;
|
||||
}
|
||||
else if (trainerClass == TRAINER_CLASS_CHAMPION)
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1252,31 +1252,31 @@ bool8 LoadChosenBattleElement(u8 caseId)
|
||||
{
|
||||
default:
|
||||
case MAP_BATTLE_SCENE_NORMAL:
|
||||
LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tileset, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(sBattleEnvironmentTable[gBattleEnvironment].tileset, (void *)(BG_CHAR_ADDR(2)));
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_GYM:
|
||||
LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Building, (void *)(BG_CHAR_ADDR(2)));
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_MAGMA:
|
||||
LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_AQUA:
|
||||
LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_SIDNEY:
|
||||
LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_PHOEBE:
|
||||
LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_GLACIA:
|
||||
LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_DRAKE:
|
||||
LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Stadium, (void *)(BG_CHAR_ADDR(2)));
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_FRONTIER:
|
||||
LZDecompressVram(gBattleTerrainTiles_Building, (void *)(BG_CHAR_ADDR(2)));
|
||||
LZDecompressVram(gBattleEnvironmentTiles_Building, (void *)(BG_CHAR_ADDR(2)));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1284,14 +1284,14 @@ bool8 LoadChosenBattleElement(u8 caseId)
|
||||
case 4:
|
||||
if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_EREADER_TRAINER))
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Building, (void *)(BG_SCREEN_ADDR(26)));
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON)
|
||||
{
|
||||
if (gGameVersion == VERSION_RUBY)
|
||||
LZDecompressVram(gBattleTerrainTilemap_Cave, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Cave, (void *)(BG_SCREEN_ADDR(26)));
|
||||
else
|
||||
LZDecompressVram(gBattleTerrainTilemap_Water, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Water, (void *)(BG_SCREEN_ADDR(26)));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1300,12 +1300,12 @@ bool8 LoadChosenBattleElement(u8 caseId)
|
||||
u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass;
|
||||
if (trainerClass == TRAINER_CLASS_LEADER)
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Building, (void *)(BG_SCREEN_ADDR(26)));
|
||||
break;
|
||||
}
|
||||
else if (trainerClass == TRAINER_CLASS_CHAMPION)
|
||||
{
|
||||
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1314,31 +1314,31 @@ bool8 LoadChosenBattleElement(u8 caseId)
|
||||
{
|
||||
default:
|
||||
case MAP_BATTLE_SCENE_NORMAL:
|
||||
LZDecompressVram(sBattleTerrainTable[gBattleTerrain].tilemap, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LZDecompressVram(sBattleEnvironmentTable[gBattleEnvironment].tilemap, (void *)(BG_SCREEN_ADDR(26)));
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_GYM:
|
||||
LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Building, (void *)(BG_SCREEN_ADDR(26)));
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_MAGMA:
|
||||
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_AQUA:
|
||||
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_SIDNEY:
|
||||
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_PHOEBE:
|
||||
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_GLACIA:
|
||||
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_DRAKE:
|
||||
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Stadium, (void *)(BG_SCREEN_ADDR(26)));
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_FRONTIER:
|
||||
LZDecompressVram(gBattleTerrainTilemap_Building, (void *)(BG_SCREEN_ADDR(26)));
|
||||
LZDecompressVram(gBattleEnvironmentTilemap_Building, (void *)(BG_SCREEN_ADDR(26)));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1346,14 +1346,14 @@ bool8 LoadChosenBattleElement(u8 caseId)
|
||||
case 5:
|
||||
if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_EREADER_TRAINER))
|
||||
{
|
||||
LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON)
|
||||
{
|
||||
if (gGameVersion == VERSION_RUBY)
|
||||
LoadCompressedPalette(gBattleTerrainPalette_Groudon, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_Groudon, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
else
|
||||
LoadCompressedPalette(gBattleTerrainPalette_Kyogre, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_Kyogre, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1362,12 +1362,12 @@ bool8 LoadChosenBattleElement(u8 caseId)
|
||||
u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass;
|
||||
if (trainerClass == TRAINER_CLASS_LEADER)
|
||||
{
|
||||
LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_BuildingLeader, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
}
|
||||
else if (trainerClass == TRAINER_CLASS_CHAMPION)
|
||||
{
|
||||
LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_StadiumWallace, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1376,31 +1376,31 @@ bool8 LoadChosenBattleElement(u8 caseId)
|
||||
{
|
||||
default:
|
||||
case MAP_BATTLE_SCENE_NORMAL:
|
||||
LoadCompressedPalette(sBattleTerrainTable[gBattleTerrain].palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LoadCompressedPalette(sBattleEnvironmentTable[gBattleEnvironment].palette, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_GYM:
|
||||
LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_BuildingGym, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_MAGMA:
|
||||
LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_StadiumMagma, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_AQUA:
|
||||
LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_StadiumAqua, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_SIDNEY:
|
||||
LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_StadiumSidney, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_PHOEBE:
|
||||
LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_StadiumPhoebe, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_GLACIA:
|
||||
LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_StadiumGlacia, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_DRAKE:
|
||||
LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_StadiumDrake, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
case MAP_BATTLE_SCENE_FRONTIER:
|
||||
LoadCompressedPalette(gBattleTerrainPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
LoadCompressedPalette(gBattleEnvironmentPalette_Frontier, BG_PLTT_ID(2), 3 * PLTT_SIZE_4BPP);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ static void LinkOpponentBufferExecCompleted(void);
|
||||
static void SwitchIn_HandleSoundAndEnd(void);
|
||||
static u32 CopyLinkOpponentMonData(u8 monId, u8 *dst);
|
||||
static void SetLinkOpponentMonData(u8 monId);
|
||||
static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit);
|
||||
static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit);
|
||||
static void DoSwitchOutAnimation(void);
|
||||
static void LinkOpponentDoMoveAnimation(void);
|
||||
static void Task_StartSendOutAnim(u8 taskId);
|
||||
@@ -518,7 +518,7 @@ static void LinkOpponentBufferExecCompleted(void)
|
||||
{
|
||||
u8 playerId = GetMultiplayerId();
|
||||
|
||||
PrepareBufferDataTransferLink(2, 4, &playerId);
|
||||
PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId);
|
||||
gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP;
|
||||
}
|
||||
else
|
||||
@@ -548,7 +548,7 @@ static void LinkOpponentHandleGetMonData(void)
|
||||
monToCheck >>= 1;
|
||||
}
|
||||
}
|
||||
BtlController_EmitDataTransfer(BUFFER_B, size, monData);
|
||||
BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData);
|
||||
LinkOpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1141,36 +1141,36 @@ static void LinkOpponentHandleSwitchInAnim(void)
|
||||
gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim;
|
||||
}
|
||||
|
||||
static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit)
|
||||
static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit)
|
||||
{
|
||||
u16 species;
|
||||
|
||||
ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit);
|
||||
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
|
||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
|
||||
ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit);
|
||||
gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1];
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
|
||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battler]], battler);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler));
|
||||
|
||||
gBattlerSpriteIds[battlerId] = CreateSprite(
|
||||
gBattlerSpriteIds[battler] = CreateSprite(
|
||||
&gMultiuseSpriteTemplate,
|
||||
GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2),
|
||||
GetBattlerSpriteDefault_Y(battlerId),
|
||||
GetBattlerSpriteSubpriority(battlerId));
|
||||
GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2),
|
||||
GetBattlerSpriteDefault_Y(battler),
|
||||
GetBattlerSpriteSubpriority(battler));
|
||||
|
||||
gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId];
|
||||
gSprites[gBattleControllerData[battlerId]].data[2] = battlerId;
|
||||
gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler];
|
||||
gSprites[gBattleControllerData[battler]].data[2] = battler;
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
|
||||
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]);
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy;
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
|
||||
|
||||
gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT);
|
||||
gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT);
|
||||
}
|
||||
|
||||
static void LinkOpponentHandleReturnMonToBall(void)
|
||||
@@ -1321,7 +1321,7 @@ static void LinkOpponentHandleTrainerSlide(void)
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId;
|
||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn;
|
||||
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2; // this line is redundant, because LinkOpponentBufferExecCompleted changes the battle battlerId function
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2; // this line is redundant, because LinkOpponentBufferExecCompleted changes the battle battler function
|
||||
LinkOpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1534,11 +1534,11 @@ static void LinkOpponentHandleStatusIconUpdate(void)
|
||||
{
|
||||
if (!IsBattleSEPlaying(gActiveBattler))
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON);
|
||||
battlerId = gActiveBattler;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0;
|
||||
battler = gActiveBattler;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ static void LinkPartnerBufferExecCompleted(void);
|
||||
static void SwitchIn_WaitAndEnd(void);
|
||||
static u32 CopyLinkPartnerMonData(u8 monId, u8 *dst);
|
||||
static void SetLinkPartnerMonData(u8 monId);
|
||||
static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit);
|
||||
static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit);
|
||||
static void DoSwitchOutAnimation(void);
|
||||
static void LinkPartnerDoMoveAnimation(void);
|
||||
static void Task_StartSendOutAnim(u8 taskId);
|
||||
@@ -400,7 +400,7 @@ static void LinkPartnerBufferExecCompleted(void)
|
||||
{
|
||||
u8 playerId = GetMultiplayerId();
|
||||
|
||||
PrepareBufferDataTransferLink(2, 4, &playerId);
|
||||
PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId);
|
||||
gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP;
|
||||
}
|
||||
else
|
||||
@@ -442,7 +442,7 @@ static void LinkPartnerHandleGetMonData(void)
|
||||
monToCheck >>= 1;
|
||||
}
|
||||
}
|
||||
BtlController_EmitDataTransfer(BUFFER_B, size, monData);
|
||||
BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData);
|
||||
LinkPartnerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1036,35 +1036,35 @@ static void LinkPartnerHandleSwitchInAnim(void)
|
||||
gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim;
|
||||
}
|
||||
|
||||
static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit)
|
||||
static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit)
|
||||
{
|
||||
u16 species;
|
||||
|
||||
ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit);
|
||||
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
|
||||
ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit);
|
||||
gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1];
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler));
|
||||
|
||||
gBattlerSpriteIds[battlerId] = CreateSprite(
|
||||
gBattlerSpriteIds[battler] = CreateSprite(
|
||||
&gMultiuseSpriteTemplate,
|
||||
GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2),
|
||||
GetBattlerSpriteDefault_Y(battlerId),
|
||||
GetBattlerSpriteSubpriority(battlerId));
|
||||
GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2),
|
||||
GetBattlerSpriteDefault_Y(battler),
|
||||
GetBattlerSpriteSubpriority(battler));
|
||||
|
||||
gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId];
|
||||
gSprites[gBattleControllerData[battlerId]].data[2] = battlerId;
|
||||
gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler];
|
||||
gSprites[gBattleControllerData[battler]].data[2] = battler;
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
|
||||
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]);
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy;
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
|
||||
|
||||
gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT);
|
||||
gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT);
|
||||
}
|
||||
|
||||
static void LinkPartnerHandleReturnMonToBall(void)
|
||||
@@ -1373,11 +1373,11 @@ static void LinkPartnerHandleStatusIconUpdate(void)
|
||||
{
|
||||
if (!IsBattleSEPlaying(gActiveBattler))
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON);
|
||||
battlerId = gActiveBattler;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0;
|
||||
battler = gActiveBattler;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ static void OpponentBufferExecCompleted(void);
|
||||
static void SwitchIn_HandleSoundAndEnd(void);
|
||||
static u32 GetOpponentMonData(u8 monId, u8 *dst);
|
||||
static void SetOpponentMonData(u8 monId);
|
||||
static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit);
|
||||
static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit);
|
||||
static void DoSwitchOutAnimation(void);
|
||||
static void OpponentDoMoveAnimation(void);
|
||||
static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite);
|
||||
@@ -531,7 +531,7 @@ static void OpponentBufferExecCompleted(void)
|
||||
{
|
||||
u8 playerId = GetMultiplayerId();
|
||||
|
||||
PrepareBufferDataTransferLink(2, 4, &playerId);
|
||||
PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId);
|
||||
gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP;
|
||||
}
|
||||
else
|
||||
@@ -561,7 +561,7 @@ static void OpponentHandleGetMonData(void)
|
||||
monToCheck >>= 1;
|
||||
}
|
||||
}
|
||||
BtlController_EmitDataTransfer(BUFFER_B, size, monData);
|
||||
BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData);
|
||||
OpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -881,7 +881,7 @@ static void OpponentHandleGetRawMonData(void)
|
||||
for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++)
|
||||
dst[i] = src[i];
|
||||
|
||||
BtlController_EmitDataTransfer(BUFFER_B, gBattleBufferA[gActiveBattler][2], dst);
|
||||
BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, gBattleBufferA[gActiveBattler][2], dst);
|
||||
OpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1165,36 +1165,36 @@ static void OpponentHandleSwitchInAnim(void)
|
||||
gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim;
|
||||
}
|
||||
|
||||
static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit)
|
||||
static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit)
|
||||
{
|
||||
u16 species;
|
||||
|
||||
ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit);
|
||||
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
|
||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
|
||||
ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit);
|
||||
gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1];
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
|
||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battler]], battler);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler));
|
||||
|
||||
gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||
GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2),
|
||||
GetBattlerSpriteDefault_Y(battlerId),
|
||||
GetBattlerSpriteSubpriority(battlerId));
|
||||
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||
GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2),
|
||||
GetBattlerSpriteDefault_Y(battler),
|
||||
GetBattlerSpriteSubpriority(battler));
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[2] = species;
|
||||
|
||||
gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId];
|
||||
gSprites[gBattleControllerData[battlerId]].data[2] = battlerId;
|
||||
gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler];
|
||||
gSprites[gBattleControllerData[battler]].data[2] = battler;
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId;
|
||||
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
|
||||
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]);
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy;
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
|
||||
|
||||
gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT);
|
||||
gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT);
|
||||
}
|
||||
|
||||
static void OpponentHandleReturnMonToBall(void)
|
||||
@@ -1552,7 +1552,7 @@ static void OpponentHandleChooseMove(void)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
|
||||
{
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace());
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace());
|
||||
OpponentBufferExecCompleted();
|
||||
}
|
||||
else
|
||||
@@ -1569,13 +1569,13 @@ static void OpponentHandleChooseMove(void)
|
||||
switch (chosenMoveId)
|
||||
{
|
||||
case AI_CHOICE_WATCH:
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_WATCH_CAREFULLY, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SAFARI_WATCH_CAREFULLY, 0);
|
||||
break;
|
||||
case AI_CHOICE_FLEE:
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_RUN, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_RUN, 0);
|
||||
break;
|
||||
case 6:
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 15, gBattlerTarget);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 15, gBattlerTarget);
|
||||
break;
|
||||
default:
|
||||
if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER))
|
||||
@@ -1586,7 +1586,7 @@ static void OpponentHandleChooseMove(void)
|
||||
if (gAbsentBattlerFlags & gBitTable[gBattlerTarget])
|
||||
gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT);
|
||||
}
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gBattlerTarget << 8));
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, (chosenMoveId) | (gBattlerTarget << 8));
|
||||
break;
|
||||
}
|
||||
OpponentBufferExecCompleted();
|
||||
@@ -1601,11 +1601,11 @@ static void OpponentHandleChooseMove(void)
|
||||
} while (move == MOVE_NONE);
|
||||
|
||||
if (gBattleMoves[move].target & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER))
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gActiveBattler << 8));
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, (chosenMoveId) | (gActiveBattler << 8));
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(Random() & 2) << 8));
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, (chosenMoveId) | (GetBattlerAtPosition(Random() & 2) << 8));
|
||||
else
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8));
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8));
|
||||
|
||||
OpponentBufferExecCompleted();
|
||||
}
|
||||
@@ -1614,7 +1614,7 @@ static void OpponentHandleChooseMove(void)
|
||||
|
||||
static void OpponentHandleChooseItem(void)
|
||||
{
|
||||
BtlController_EmitOneReturnValue(BUFFER_B, *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2));
|
||||
BtlController_EmitOneReturnValue(B_COMM_TO_ENGINE, *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2));
|
||||
OpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1671,7 +1671,7 @@ static void OpponentHandleChoosePokemon(void)
|
||||
|
||||
|
||||
*(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId;
|
||||
BtlController_EmitChosenMonReturnValue(BUFFER_B, chosenMonId, NULL);
|
||||
BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, chosenMonId, NULL);
|
||||
OpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1713,11 +1713,11 @@ static void OpponentHandleStatusIconUpdate(void)
|
||||
{
|
||||
if (!IsBattleSEPlaying(gActiveBattler))
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON);
|
||||
battlerId = gActiveBattler;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0;
|
||||
battler = gActiveBattler;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -204,7 +204,7 @@ static void PlayerBufferExecCompleted(void)
|
||||
{
|
||||
u8 playerId = GetMultiplayerId();
|
||||
|
||||
PrepareBufferDataTransferLink(2, 4, &playerId);
|
||||
PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId);
|
||||
gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP;
|
||||
}
|
||||
else
|
||||
@@ -249,16 +249,16 @@ static void HandleInputChooseAction(void)
|
||||
switch (gActionSelectionCursor[gActiveBattler])
|
||||
{
|
||||
case 0: // Top left
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_MOVE, 0);
|
||||
break;
|
||||
case 1: // Top right
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_ITEM, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_ITEM, 0);
|
||||
break;
|
||||
case 2: // Bottom left
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SWITCH, 0);
|
||||
break;
|
||||
case 3: // Bottom right
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_RUN, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_RUN, 0);
|
||||
break;
|
||||
}
|
||||
PlayerBufferExecCompleted();
|
||||
@@ -319,7 +319,7 @@ static void HandleInputChooseAction(void)
|
||||
return;
|
||||
}
|
||||
PlaySE(SE_SELECT);
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_CANCEL_PARTNER, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_CANCEL_PARTNER, 0);
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
}
|
||||
@@ -365,7 +365,7 @@ static void HandleInputChooseTarget(void)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_HideAsMoveTarget;
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8));
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8));
|
||||
EndBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX);
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
@@ -523,7 +523,7 @@ static void HandleInputChooseMove(void)
|
||||
|
||||
if (!canSelectTarget)
|
||||
{
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8));
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8));
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
else
|
||||
@@ -543,7 +543,7 @@ static void HandleInputChooseMove(void)
|
||||
else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 10, 0xFFFF);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, 0xFFFF);
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
else if (JOY_NEW(DPAD_LEFT))
|
||||
@@ -1154,10 +1154,10 @@ static void CompleteOnInactiveTextPrinter(void)
|
||||
static void Task_GiveExpToMon(u8 taskId)
|
||||
{
|
||||
u32 monId = (u8)(gTasks[taskId].tExpTask_monId);
|
||||
u8 battlerId = gTasks[taskId].tExpTask_battler;
|
||||
u8 battler = gTasks[taskId].tExpTask_battler;
|
||||
s16 gainedExp = gTasks[taskId].tExpTask_gainedExp;
|
||||
|
||||
if (IsDoubleBattle() == TRUE || monId != gBattlerPartyIndexes[battlerId]) // Give exp without moving the expbar.
|
||||
if (IsDoubleBattle() == TRUE || monId != gBattlerPartyIndexes[battler]) // Give exp without moving the expbar.
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[monId];
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
@@ -1173,12 +1173,12 @@ static void Task_GiveExpToMon(u8 taskId)
|
||||
CalculateMonStats(mon);
|
||||
gainedExp -= nextLvlExp - currExp;
|
||||
savedActiveBattler = gActiveBattler;
|
||||
gActiveBattler = battlerId;
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp);
|
||||
gActiveBattler = battler;
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp);
|
||||
gActiveBattler = savedActiveBattler;
|
||||
|
||||
if (IsDoubleBattle() == TRUE
|
||||
&& ((u16)(monId) == gBattlerPartyIndexes[battlerId] || (u16)(monId) == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]))
|
||||
&& ((u16)(monId) == gBattlerPartyIndexes[battler] || (u16)(monId) == gBattlerPartyIndexes[BATTLE_PARTNER(battler)]))
|
||||
gTasks[taskId].func = Task_LaunchLvlUpAnim;
|
||||
else
|
||||
gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter;
|
||||
@@ -1187,7 +1187,7 @@ static void Task_GiveExpToMon(u8 taskId)
|
||||
{
|
||||
currExp += gainedExp;
|
||||
SetMonData(mon, MON_DATA_EXP, &currExp);
|
||||
gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter;
|
||||
gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter;
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
@@ -1201,7 +1201,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId)
|
||||
{
|
||||
u8 monIndex = gTasks[taskId].tExpTask_monId;
|
||||
s32 gainedExp = gTasks[taskId].tExpTask_gainedExp;
|
||||
u8 battlerId = gTasks[taskId].tExpTask_battler;
|
||||
u8 battler = gTasks[taskId].tExpTask_battler;
|
||||
struct Pokemon *mon = &gPlayerParty[monIndex];
|
||||
u8 level = GetMonData(mon, MON_DATA_LEVEL);
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
@@ -1211,7 +1211,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId)
|
||||
|
||||
exp -= currLvlExp;
|
||||
expToNextLvl = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1] - currLvlExp;
|
||||
SetBattleBarStruct(battlerId, gHealthboxSpriteIds[battlerId], expToNextLvl, exp, -gainedExp);
|
||||
SetBattleBarStruct(battler, gHealthboxSpriteIds[battler], expToNextLvl, exp, -gainedExp);
|
||||
PlaySE(SE_EXP);
|
||||
gTasks[taskId].func = Task_GiveExpWithExpBar;
|
||||
}
|
||||
@@ -1226,11 +1226,11 @@ static void Task_GiveExpWithExpBar(u8 taskId)
|
||||
{
|
||||
u8 monId = gTasks[taskId].tExpTask_monId;
|
||||
s16 gainedExp = gTasks[taskId].tExpTask_gainedExp;
|
||||
u8 battlerId = gTasks[taskId].tExpTask_battler;
|
||||
u8 battler = gTasks[taskId].tExpTask_battler;
|
||||
s16 newExpPoints;
|
||||
|
||||
newExpPoints = MoveBattleBar(battlerId, gHealthboxSpriteIds[battlerId], EXP_BAR, 0);
|
||||
SetHealthboxSpriteVisible(gHealthboxSpriteIds[battlerId]);
|
||||
newExpPoints = MoveBattleBar(battler, gHealthboxSpriteIds[battler], EXP_BAR, 0);
|
||||
SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]);
|
||||
if (newExpPoints == -1) // The bar has been filled with given exp points.
|
||||
{
|
||||
u8 level;
|
||||
@@ -1252,8 +1252,8 @@ static void Task_GiveExpWithExpBar(u8 taskId)
|
||||
CalculateMonStats(&gPlayerParty[monId]);
|
||||
gainedExp -= expOnNextLvl - currExp;
|
||||
savedActiveBattler = gActiveBattler;
|
||||
gActiveBattler = battlerId;
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp);
|
||||
gActiveBattler = battler;
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp);
|
||||
gActiveBattler = savedActiveBattler;
|
||||
gTasks[taskId].func = Task_LaunchLvlUpAnim;
|
||||
}
|
||||
@@ -1261,7 +1261,7 @@ static void Task_GiveExpWithExpBar(u8 taskId)
|
||||
{
|
||||
currExp += gainedExp;
|
||||
SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &currExp);
|
||||
gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter;
|
||||
gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter;
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
@@ -1270,30 +1270,30 @@ static void Task_GiveExpWithExpBar(u8 taskId)
|
||||
|
||||
static void Task_LaunchLvlUpAnim(u8 taskId)
|
||||
{
|
||||
u8 battlerId = gTasks[taskId].tExpTask_battler;
|
||||
u8 battler = gTasks[taskId].tExpTask_battler;
|
||||
u8 monIndex = gTasks[taskId].tExpTask_monId;
|
||||
|
||||
if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)])
|
||||
battlerId ^= BIT_FLANK;
|
||||
if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battler)])
|
||||
battler ^= BIT_FLANK;
|
||||
|
||||
InitAndLaunchSpecialAnimation(battlerId, battlerId, battlerId, B_ANIM_LVL_UP);
|
||||
InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_LVL_UP);
|
||||
gTasks[taskId].func = Task_UpdateLvlInHealthbox;
|
||||
}
|
||||
|
||||
static void Task_UpdateLvlInHealthbox(u8 taskId)
|
||||
{
|
||||
u8 battlerId = gTasks[taskId].tExpTask_battler;
|
||||
u8 battler = gTasks[taskId].tExpTask_battler;
|
||||
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[battlerId].specialAnimActive)
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive)
|
||||
{
|
||||
u8 monIndex = gTasks[taskId].tExpTask_monId;
|
||||
|
||||
GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value.
|
||||
|
||||
if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)])
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battlerId)], &gPlayerParty[monIndex], HEALTHBOX_ALL);
|
||||
if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battler)])
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battler)], &gPlayerParty[monIndex], HEALTHBOX_ALL);
|
||||
else
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[battlerId], &gPlayerParty[monIndex], HEALTHBOX_ALL);
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[monIndex], HEALTHBOX_ALL);
|
||||
|
||||
gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter;
|
||||
}
|
||||
@@ -1302,12 +1302,12 @@ static void Task_UpdateLvlInHealthbox(u8 taskId)
|
||||
static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId)
|
||||
{
|
||||
u8 monIndex;
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
monIndex = gTasks[taskId].tExpTask_monId;
|
||||
GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value.
|
||||
battlerId = gTasks[taskId].tExpTask_battler;
|
||||
gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter;
|
||||
battler = gTasks[taskId].tExpTask_battler;
|
||||
gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter;
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
|
||||
@@ -1361,9 +1361,9 @@ static void WaitForMonSelection(void)
|
||||
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
|
||||
{
|
||||
if (gPartyMenuUseExitCallback == TRUE)
|
||||
BtlController_EmitChosenMonReturnValue(BUFFER_B, gSelectedMonPartyId, gBattlePartyCurrentOrder);
|
||||
BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, gSelectedMonPartyId, gBattlePartyCurrentOrder);
|
||||
else
|
||||
BtlController_EmitChosenMonReturnValue(BUFFER_B, PARTY_SIZE, NULL);
|
||||
BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, PARTY_SIZE, NULL);
|
||||
|
||||
if ((gBattleBufferA[gActiveBattler][1] & 0xF) == 1)
|
||||
PrintLinkStandbyMsg();
|
||||
@@ -1387,7 +1387,7 @@ static void CompleteWhenChoseItem(void)
|
||||
{
|
||||
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
|
||||
{
|
||||
BtlController_EmitOneReturnValue(BUFFER_B, gSpecialVar_ItemId);
|
||||
BtlController_EmitOneReturnValue(B_COMM_TO_ENGINE, gSpecialVar_ItemId);
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
}
|
||||
@@ -1439,9 +1439,9 @@ static void PlayerHandleYesNoInput(void)
|
||||
PlaySE(SE_SELECT);
|
||||
|
||||
if (gMultiUsePlayerCursor != 0)
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 0xE, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 0xE, 0);
|
||||
else
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 0xD, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 0xD, 0);
|
||||
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
@@ -1600,7 +1600,7 @@ static void PlayerHandleGetMonData(void)
|
||||
monToCheck >>= 1;
|
||||
}
|
||||
}
|
||||
BtlController_EmitDataTransfer(BUFFER_B, size, monData);
|
||||
BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData);
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1920,7 +1920,7 @@ void PlayerHandleGetRawMonData(void)
|
||||
for (i = 0; i < gBattleBufferA[gActiveBattler][2]; i++)
|
||||
dst[i] = src[i];
|
||||
|
||||
BtlController_EmitDataTransfer(BUFFER_B, gBattleBufferA[gActiveBattler][2], dst);
|
||||
BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, gBattleBufferA[gActiveBattler][2], dst);
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -2193,35 +2193,35 @@ static void PlayerHandleSwitchInAnim(void)
|
||||
gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnimShowHealthbox;
|
||||
}
|
||||
|
||||
static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit)
|
||||
static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit)
|
||||
{
|
||||
u16 species;
|
||||
|
||||
ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit);
|
||||
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
|
||||
ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit);
|
||||
gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1];
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler));
|
||||
|
||||
gBattlerSpriteIds[battlerId] = CreateSprite(
|
||||
gBattlerSpriteIds[battler] = CreateSprite(
|
||||
&gMultiuseSpriteTemplate,
|
||||
GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2),
|
||||
GetBattlerSpriteDefault_Y(battlerId),
|
||||
GetBattlerSpriteSubpriority(battlerId));
|
||||
GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2),
|
||||
GetBattlerSpriteDefault_Y(battler),
|
||||
GetBattlerSpriteSubpriority(battler));
|
||||
|
||||
gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId];
|
||||
gSprites[gBattleControllerData[battlerId]].data[2] = battlerId;
|
||||
gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler];
|
||||
gSprites[gBattleControllerData[battler]].data[2] = battler;
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
|
||||
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]);
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy;
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
|
||||
|
||||
gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT);
|
||||
gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT);
|
||||
}
|
||||
|
||||
static void PlayerHandleReturnMonToBall(void)
|
||||
@@ -2621,7 +2621,7 @@ static void PlayerChooseMoveInBattlePalace(void)
|
||||
if (--*(gBattleStruct->arenaMindPoints + gActiveBattler) == 0)
|
||||
{
|
||||
gBattlePalaceMoveSelectionRngValue = gRngValue;
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace());
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace());
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
}
|
||||
@@ -2671,7 +2671,7 @@ static void PlayerHandleChoosePokemon(void)
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_ARENA && (gBattleBufferA[gActiveBattler][1] & 0xF) != PARTY_ACTION_CANT_SWITCH)
|
||||
{
|
||||
BtlController_EmitChosenMonReturnValue(BUFFER_B, gBattlerPartyIndexes[gActiveBattler] + 1, gBattlePartyCurrentOrder);
|
||||
BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, gBattlerPartyIndexes[gActiveBattler] + 1, gBattlePartyCurrentOrder);
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
else
|
||||
@@ -2756,11 +2756,11 @@ static void PlayerHandleStatusIconUpdate(void)
|
||||
{
|
||||
if (!IsBattleSEPlaying(gActiveBattler))
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON);
|
||||
battlerId = gActiveBattler;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0;
|
||||
battler = gActiveBattler;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation;
|
||||
}
|
||||
}
|
||||
@@ -2828,25 +2828,25 @@ static void PlayerHandleCmd32(void)
|
||||
|
||||
static void PlayerHandleTwoReturnValues(void)
|
||||
{
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 0, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 0, 0);
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
static void PlayerHandleChosenMonReturnValue(void)
|
||||
{
|
||||
BtlController_EmitChosenMonReturnValue(BUFFER_B, 0, NULL);
|
||||
BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, 0, NULL);
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
static void PlayerHandleOneReturnValue(void)
|
||||
{
|
||||
BtlController_EmitOneReturnValue(BUFFER_B, 0);
|
||||
BtlController_EmitOneReturnValue(B_COMM_TO_ENGINE, 0);
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
static void PlayerHandleOneReturnValue_Duplicate(void)
|
||||
{
|
||||
BtlController_EmitOneReturnValue_Duplicate(BUFFER_B, 0);
|
||||
BtlController_EmitOneReturnValue_Duplicate(B_COMM_TO_ENGINE, 0);
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -2975,7 +2975,7 @@ static void PlayerHandleIntroTrainerBallThrow(void)
|
||||
|
||||
void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite)
|
||||
{
|
||||
u8 battlerId = sprite->sBattlerId;
|
||||
u8 battler = sprite->sBattlerId;
|
||||
|
||||
// Free player trainer sprite
|
||||
FreeSpriteOamMatrix(sprite);
|
||||
@@ -2983,8 +2983,8 @@ void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite)
|
||||
DestroySprite(sprite);
|
||||
|
||||
// Load mon sprite
|
||||
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battlerId]], battlerId);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0);
|
||||
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battler]], battler);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 0);
|
||||
}
|
||||
|
||||
#undef sBattlerId
|
||||
|
||||
@@ -95,7 +95,7 @@ static void Task_UpdateLvlInHealthbox(u8 taskId);
|
||||
static void SwitchIn_WaitAndEnd(void);
|
||||
static u32 CopyPlayerPartnerMonData(u8 monId, u8 *dst);
|
||||
static void SetPlayerPartnerMonData(u8 monId);
|
||||
static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit);
|
||||
static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit);
|
||||
static void DoSwitchOutAnimation(void);
|
||||
static void PlayerPartnerDoMoveAnimation(void);
|
||||
static void Task_StartSendOutAnim(u8 taskId);
|
||||
@@ -312,10 +312,10 @@ static void CompleteOnInactiveTextPrinter(void)
|
||||
static void Task_GiveExpToMon(u8 taskId)
|
||||
{
|
||||
u32 monId = (u8)(gTasks[taskId].tExpTask_monId);
|
||||
u8 battlerId = gTasks[taskId].tExpTask_bank;
|
||||
u8 battler = gTasks[taskId].tExpTask_bank;
|
||||
s16 gainedExp = gTasks[taskId].tExpTask_gainedExp;
|
||||
|
||||
if (IsDoubleBattle() == TRUE || monId != gBattlerPartyIndexes[battlerId]) // give exp without the expbar
|
||||
if (IsDoubleBattle() == TRUE || monId != gBattlerPartyIndexes[battler]) // give exp without the expbar
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[monId];
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
@@ -331,12 +331,12 @@ static void Task_GiveExpToMon(u8 taskId)
|
||||
CalculateMonStats(mon);
|
||||
gainedExp -= nextLvlExp - currExp;
|
||||
savedActiveBank = gActiveBattler;
|
||||
gActiveBattler = battlerId;
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp);
|
||||
gActiveBattler = battler;
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp);
|
||||
gActiveBattler = savedActiveBank;
|
||||
|
||||
if (IsDoubleBattle() == TRUE
|
||||
&& ((u16)(monId) == gBattlerPartyIndexes[battlerId] || (u16)(monId) == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]))
|
||||
&& ((u16)(monId) == gBattlerPartyIndexes[battler] || (u16)(monId) == gBattlerPartyIndexes[BATTLE_PARTNER(battler)]))
|
||||
gTasks[taskId].func = Task_LaunchLvlUpAnim;
|
||||
else
|
||||
gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter;
|
||||
@@ -345,7 +345,7 @@ static void Task_GiveExpToMon(u8 taskId)
|
||||
{
|
||||
currExp += gainedExp;
|
||||
SetMonData(mon, MON_DATA_EXP, &currExp);
|
||||
gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter;
|
||||
gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter;
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
@@ -359,7 +359,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId)
|
||||
{
|
||||
u8 monIndex = gTasks[taskId].tExpTask_monId;
|
||||
s32 gainedExp = gTasks[taskId].tExpTask_gainedExp;
|
||||
u8 battlerId = gTasks[taskId].tExpTask_bank;
|
||||
u8 battler = gTasks[taskId].tExpTask_bank;
|
||||
struct Pokemon *mon = &gPlayerParty[monIndex];
|
||||
u8 level = GetMonData(mon, MON_DATA_LEVEL);
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
@@ -369,7 +369,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId)
|
||||
|
||||
exp -= currLvlExp;
|
||||
expToNextLvl = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1] - currLvlExp;
|
||||
SetBattleBarStruct(battlerId, gHealthboxSpriteIds[battlerId], expToNextLvl, exp, -gainedExp);
|
||||
SetBattleBarStruct(battler, gHealthboxSpriteIds[battler], expToNextLvl, exp, -gainedExp);
|
||||
PlaySE(SE_EXP);
|
||||
gTasks[taskId].func = Task_GiveExpWithExpBar;
|
||||
}
|
||||
@@ -384,11 +384,11 @@ static void Task_GiveExpWithExpBar(u8 taskId)
|
||||
{
|
||||
u8 monId = gTasks[taskId].tExpTask_monId;
|
||||
s16 gainedExp = gTasks[taskId].tExpTask_gainedExp;
|
||||
u8 battlerId = gTasks[taskId].tExpTask_bank;
|
||||
u8 battler = gTasks[taskId].tExpTask_bank;
|
||||
s16 r4;
|
||||
|
||||
r4 = MoveBattleBar(battlerId, gHealthboxSpriteIds[battlerId], EXP_BAR, 0);
|
||||
SetHealthboxSpriteVisible(gHealthboxSpriteIds[battlerId]);
|
||||
r4 = MoveBattleBar(battler, gHealthboxSpriteIds[battler], EXP_BAR, 0);
|
||||
SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]);
|
||||
if (r4 == -1)
|
||||
{
|
||||
u8 level;
|
||||
@@ -410,8 +410,8 @@ static void Task_GiveExpWithExpBar(u8 taskId)
|
||||
CalculateMonStats(&gPlayerParty[monId]);
|
||||
gainedExp -= expOnNextLvl - currExp;
|
||||
savedActiveBank = gActiveBattler;
|
||||
gActiveBattler = battlerId;
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp);
|
||||
gActiveBattler = battler;
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RET_VALUE_LEVELED_UP, gainedExp);
|
||||
gActiveBattler = savedActiveBank;
|
||||
gTasks[taskId].func = Task_LaunchLvlUpAnim;
|
||||
}
|
||||
@@ -419,7 +419,7 @@ static void Task_GiveExpWithExpBar(u8 taskId)
|
||||
{
|
||||
currExp += gainedExp;
|
||||
SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &currExp);
|
||||
gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter;
|
||||
gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter;
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
@@ -428,30 +428,30 @@ static void Task_GiveExpWithExpBar(u8 taskId)
|
||||
|
||||
static void Task_LaunchLvlUpAnim(u8 taskId)
|
||||
{
|
||||
u8 battlerId = gTasks[taskId].tExpTask_bank;
|
||||
u8 battler = gTasks[taskId].tExpTask_bank;
|
||||
u8 monIndex = gTasks[taskId].tExpTask_monId;
|
||||
|
||||
if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)])
|
||||
battlerId ^= BIT_FLANK;
|
||||
if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battler)])
|
||||
battler ^= BIT_FLANK;
|
||||
|
||||
InitAndLaunchSpecialAnimation(battlerId, battlerId, battlerId, B_ANIM_LVL_UP);
|
||||
InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_LVL_UP);
|
||||
gTasks[taskId].func = Task_UpdateLvlInHealthbox;
|
||||
}
|
||||
|
||||
static void Task_UpdateLvlInHealthbox(u8 taskId)
|
||||
{
|
||||
u8 battlerId = gTasks[taskId].tExpTask_bank;
|
||||
u8 battler = gTasks[taskId].tExpTask_bank;
|
||||
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[battlerId].specialAnimActive)
|
||||
if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive)
|
||||
{
|
||||
u8 monIndex = gTasks[taskId].tExpTask_monId;
|
||||
|
||||
GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value
|
||||
|
||||
if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)])
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battlerId)], &gPlayerParty[monIndex], HEALTHBOX_ALL);
|
||||
if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battler)])
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battler)], &gPlayerParty[monIndex], HEALTHBOX_ALL);
|
||||
else
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[battlerId], &gPlayerParty[monIndex], HEALTHBOX_ALL);
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[monIndex], HEALTHBOX_ALL);
|
||||
|
||||
gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter;
|
||||
}
|
||||
@@ -460,12 +460,12 @@ static void Task_UpdateLvlInHealthbox(u8 taskId)
|
||||
static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId)
|
||||
{
|
||||
u8 monIndex;
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
monIndex = gTasks[taskId].tExpTask_monId;
|
||||
GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value
|
||||
battlerId = gTasks[taskId].tExpTask_bank;
|
||||
gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter;
|
||||
battler = gTasks[taskId].tExpTask_bank;
|
||||
gBattlerControllerFuncs[battler] = CompleteOnInactiveTextPrinter;
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
|
||||
@@ -584,7 +584,7 @@ static void PlayerPartnerBufferExecCompleted(void)
|
||||
{
|
||||
u8 playerId = GetMultiplayerId();
|
||||
|
||||
PrepareBufferDataTransferLink(2, 4, &playerId);
|
||||
PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId);
|
||||
gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP;
|
||||
}
|
||||
else
|
||||
@@ -626,7 +626,7 @@ static void PlayerPartnerHandleGetMonData(void)
|
||||
monToCheck >>= 1;
|
||||
}
|
||||
}
|
||||
BtlController_EmitDataTransfer(BUFFER_B, size, monData);
|
||||
BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData);
|
||||
PlayerPartnerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1220,35 +1220,35 @@ static void PlayerPartnerHandleSwitchInAnim(void)
|
||||
gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim;
|
||||
}
|
||||
|
||||
static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit)
|
||||
static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit)
|
||||
{
|
||||
u16 species;
|
||||
|
||||
ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit);
|
||||
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
|
||||
ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit);
|
||||
gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1];
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler));
|
||||
|
||||
gBattlerSpriteIds[battlerId] = CreateSprite(
|
||||
gBattlerSpriteIds[battler] = CreateSprite(
|
||||
&gMultiuseSpriteTemplate,
|
||||
GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2),
|
||||
GetBattlerSpriteDefault_Y(battlerId),
|
||||
GetBattlerSpriteSubpriority(battlerId));
|
||||
GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2),
|
||||
GetBattlerSpriteDefault_Y(battler),
|
||||
GetBattlerSpriteSubpriority(battler));
|
||||
|
||||
gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId];
|
||||
gSprites[gBattleControllerData[battlerId]].data[2] = battlerId;
|
||||
gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler];
|
||||
gSprites[gBattleControllerData[battler]].data[2] = battler;
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
|
||||
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]);
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy;
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
|
||||
|
||||
gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT);
|
||||
gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT);
|
||||
}
|
||||
|
||||
static void PlayerPartnerHandleReturnMonToBall(void)
|
||||
@@ -1527,7 +1527,7 @@ static void PlayerPartnerHandleChooseMove(void)
|
||||
gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
|
||||
}
|
||||
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 10, chosenMoveId | (gBattlerTarget << 8));
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, chosenMoveId | (gBattlerTarget << 8));
|
||||
PlayerPartnerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1557,7 +1557,7 @@ static void PlayerPartnerHandleChoosePokemon(void)
|
||||
}
|
||||
|
||||
*(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId;
|
||||
BtlController_EmitChosenMonReturnValue(BUFFER_B, chosenMonId, NULL);
|
||||
BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, chosenMonId, NULL);
|
||||
PlayerPartnerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1623,11 +1623,11 @@ static void PlayerPartnerHandleStatusIconUpdate(void)
|
||||
{
|
||||
if (!IsBattleSEPlaying(gActiveBattler))
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON);
|
||||
battlerId = gActiveBattler;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0;
|
||||
battler = gActiveBattler;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ static void RecordedOpponentBufferExecCompleted(void);
|
||||
static void SwitchIn_HandleSoundAndEnd(void);
|
||||
static u32 CopyRecordedOpponentMonData(u8 monId, u8 *dst);
|
||||
static void SetRecordedOpponentMonData(u8 monId);
|
||||
static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit);
|
||||
static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit);
|
||||
static void DoSwitchOutAnimation(void);
|
||||
static void RecordedOpponentDoMoveAnimation(void);
|
||||
static void Task_StartSendOutAnim(u8 taskId);
|
||||
@@ -504,7 +504,7 @@ static void RecordedOpponentBufferExecCompleted(void)
|
||||
{
|
||||
u8 playerId = GetMultiplayerId();
|
||||
|
||||
PrepareBufferDataTransferLink(2, 4, &playerId);
|
||||
PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId);
|
||||
gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP;
|
||||
}
|
||||
else
|
||||
@@ -534,7 +534,7 @@ static void RecordedOpponentHandleGetMonData(void)
|
||||
monToCheck >>= 1;
|
||||
}
|
||||
}
|
||||
BtlController_EmitDataTransfer(BUFFER_B, size, monData);
|
||||
BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData);
|
||||
RecordedOpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1127,35 +1127,35 @@ static void RecordedOpponentHandleSwitchInAnim(void)
|
||||
gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim;
|
||||
}
|
||||
|
||||
static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit)
|
||||
static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit)
|
||||
{
|
||||
u16 species;
|
||||
|
||||
ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit);
|
||||
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
|
||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
|
||||
ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit);
|
||||
gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1];
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
|
||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battler]], battler);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler));
|
||||
|
||||
gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||
GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2),
|
||||
GetBattlerSpriteDefault_Y(battlerId),
|
||||
GetBattlerSpriteSubpriority(battlerId));
|
||||
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||
GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2),
|
||||
GetBattlerSpriteDefault_Y(battler),
|
||||
GetBattlerSpriteSubpriority(battler));
|
||||
|
||||
gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId];
|
||||
gSprites[gBattleControllerData[battlerId]].data[2] = battlerId;
|
||||
gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler];
|
||||
gSprites[gBattleControllerData[battler]].data[2] = battler;
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
|
||||
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]);
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy;
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
|
||||
|
||||
gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT);
|
||||
gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT);
|
||||
}
|
||||
|
||||
static void RecordedOpponentHandleReturnMonToBall(void)
|
||||
@@ -1402,7 +1402,7 @@ static void RecordedOpponentHandlePrintSelectionString(void)
|
||||
|
||||
static void RecordedOpponentHandleChooseAction(void)
|
||||
{
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(gActiveBattler), 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0);
|
||||
RecordedOpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1415,13 +1415,13 @@ static void RecordedOpponentHandleChooseMove(void)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
|
||||
{
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace());
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace());
|
||||
}
|
||||
else
|
||||
{
|
||||
u8 moveId = RecordedBattle_GetBattlerAction(gActiveBattler);
|
||||
u8 moveIndex = RecordedBattle_GetBattlerAction(gActiveBattler);
|
||||
u8 target = RecordedBattle_GetBattlerAction(gActiveBattler);
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 10, moveId | (target << 8));
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, moveIndex | (target << 8));
|
||||
}
|
||||
|
||||
RecordedOpponentBufferExecCompleted();
|
||||
@@ -1435,7 +1435,7 @@ static void RecordedOpponentHandleChooseItem(void)
|
||||
static void RecordedOpponentHandleChoosePokemon(void)
|
||||
{
|
||||
*(gBattleStruct->monToSwitchIntoId + gActiveBattler) = RecordedBattle_GetBattlerAction(gActiveBattler);
|
||||
BtlController_EmitChosenMonReturnValue(BUFFER_B, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL);
|
||||
BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL);
|
||||
RecordedOpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1477,11 +1477,11 @@ static void RecordedOpponentHandleStatusIconUpdate(void)
|
||||
{
|
||||
if (!IsBattleSEPlaying(gActiveBattler))
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON);
|
||||
battlerId = gActiveBattler;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0;
|
||||
battler = gActiveBattler;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@ static void RecordedPlayerBufferExecCompleted(void);
|
||||
static void SwitchIn_WaitAndEnd(void);
|
||||
static u32 CopyRecordedPlayerMonData(u8 monId, u8 *dst);
|
||||
static void SetRecordedPlayerMonData(u8 monId);
|
||||
static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit);
|
||||
static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit);
|
||||
static void DoSwitchOutAnimation(void);
|
||||
static void RecordedPlayerDoMoveAnimation(void);
|
||||
static void Task_StartSendOutAnim(u8 taskId);
|
||||
@@ -475,7 +475,7 @@ static void RecordedPlayerBufferExecCompleted(void)
|
||||
{
|
||||
u8 playerId = GetMultiplayerId();
|
||||
|
||||
PrepareBufferDataTransferLink(2, 4, &playerId);
|
||||
PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId);
|
||||
gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP;
|
||||
}
|
||||
else
|
||||
@@ -517,7 +517,7 @@ static void RecordedPlayerHandleGetMonData(void)
|
||||
monToCheck >>= 1;
|
||||
}
|
||||
}
|
||||
BtlController_EmitDataTransfer(BUFFER_B, size, monData);
|
||||
BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData);
|
||||
RecordedPlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1111,35 +1111,35 @@ static void RecordedPlayerHandleSwitchInAnim(void)
|
||||
gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim;
|
||||
}
|
||||
|
||||
static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit)
|
||||
static void StartSendOutAnim(u8 battler, bool8 dontClearSubstituteBit)
|
||||
{
|
||||
u16 species;
|
||||
|
||||
ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit);
|
||||
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
|
||||
ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit);
|
||||
gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1];
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler));
|
||||
|
||||
gBattlerSpriteIds[battlerId] = CreateSprite(
|
||||
gBattlerSpriteIds[battler] = CreateSprite(
|
||||
&gMultiuseSpriteTemplate,
|
||||
GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2),
|
||||
GetBattlerSpriteDefault_Y(battlerId),
|
||||
GetBattlerSpriteSubpriority(battlerId));
|
||||
GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2),
|
||||
GetBattlerSpriteDefault_Y(battler),
|
||||
GetBattlerSpriteSubpriority(battler));
|
||||
|
||||
gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId];
|
||||
gSprites[gBattleControllerData[battlerId]].data[2] = battlerId;
|
||||
gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler];
|
||||
gSprites[gBattleControllerData[battler]].data[2] = battler;
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
|
||||
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]);
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy;
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
|
||||
|
||||
gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT);
|
||||
gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT);
|
||||
}
|
||||
|
||||
static void RecordedPlayerHandleReturnMonToBall(void)
|
||||
@@ -1414,7 +1414,7 @@ static void ChooseActionInBattlePalace(void)
|
||||
{
|
||||
if (gBattleCommunication[4] >= gBattlersCount / 2)
|
||||
{
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(gActiveBattler), 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0);
|
||||
RecordedPlayerBufferExecCompleted();
|
||||
}
|
||||
}
|
||||
@@ -1427,7 +1427,7 @@ static void RecordedPlayerHandleChooseAction(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(gActiveBattler), 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, RecordedBattle_GetBattlerAction(gActiveBattler), 0);
|
||||
RecordedPlayerBufferExecCompleted();
|
||||
}
|
||||
}
|
||||
@@ -1441,13 +1441,13 @@ static void RecordedPlayerHandleChooseMove(void)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
|
||||
{
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace());
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, ChooseMoveAndTargetInBattlePalace());
|
||||
}
|
||||
else
|
||||
{
|
||||
u8 moveId = RecordedBattle_GetBattlerAction(gActiveBattler);
|
||||
u8 moveIndex = RecordedBattle_GetBattlerAction(gActiveBattler);
|
||||
u8 target = RecordedBattle_GetBattlerAction(gActiveBattler);
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 10, moveId | (target << 8));
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, moveIndex | (target << 8));
|
||||
}
|
||||
|
||||
RecordedPlayerBufferExecCompleted();
|
||||
@@ -1461,7 +1461,7 @@ static void RecordedPlayerHandleChooseItem(void)
|
||||
static void RecordedPlayerHandleChoosePokemon(void)
|
||||
{
|
||||
*(gBattleStruct->monToSwitchIntoId + gActiveBattler) = RecordedBattle_GetBattlerAction(gActiveBattler);
|
||||
BtlController_EmitChosenMonReturnValue(BUFFER_B, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL);
|
||||
BtlController_EmitChosenMonReturnValue(B_COMM_TO_ENGINE, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL);
|
||||
RecordedPlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1504,11 +1504,11 @@ static void RecordedPlayerHandleStatusIconUpdate(void)
|
||||
{
|
||||
if (!IsBattleSEPlaying(gActiveBattler))
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON);
|
||||
battlerId = gActiveBattler;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0;
|
||||
battler = gActiveBattler;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0;
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -176,16 +176,16 @@ static void HandleInputChooseAction(void)
|
||||
switch (gActionSelectionCursor[gActiveBattler])
|
||||
{
|
||||
case 0:
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_BALL, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SAFARI_BALL, 0);
|
||||
break;
|
||||
case 1:
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_POKEBLOCK, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SAFARI_POKEBLOCK, 0);
|
||||
break;
|
||||
case 2:
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_GO_NEAR, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SAFARI_GO_NEAR, 0);
|
||||
break;
|
||||
case 3:
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_RUN, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_SAFARI_RUN, 0);
|
||||
break;
|
||||
}
|
||||
SafariBufferExecCompleted();
|
||||
@@ -280,7 +280,7 @@ static void CompleteWhenChosePokeblock(void)
|
||||
{
|
||||
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
|
||||
{
|
||||
BtlController_EmitOneReturnValue(BUFFER_B, gSpecialVar_ItemId);
|
||||
BtlController_EmitOneReturnValue(B_COMM_TO_ENGINE, gSpecialVar_ItemId);
|
||||
SafariBufferExecCompleted();
|
||||
}
|
||||
}
|
||||
@@ -298,7 +298,7 @@ static void SafariBufferExecCompleted(void)
|
||||
{
|
||||
u8 playerId = GetMultiplayerId();
|
||||
|
||||
PrepareBufferDataTransferLink(2, 4, &playerId);
|
||||
PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId);
|
||||
gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -196,7 +196,7 @@ static void WallyHandleActions(void)
|
||||
if (--gBattleStruct->wallyWaitFrames == 0)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_MOVE, 0);
|
||||
WallyBufferExecCompleted();
|
||||
gBattleStruct->wallyBattleState++;
|
||||
gBattleStruct->wallyMovesState = 0;
|
||||
@@ -207,7 +207,7 @@ static void WallyHandleActions(void)
|
||||
if (--gBattleStruct->wallyWaitFrames == 0)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_MOVE, 0);
|
||||
WallyBufferExecCompleted();
|
||||
gBattleStruct->wallyBattleState++;
|
||||
gBattleStruct->wallyMovesState = 0;
|
||||
@@ -217,7 +217,7 @@ static void WallyHandleActions(void)
|
||||
case 3:
|
||||
if (--gBattleStruct->wallyWaitFrames == 0)
|
||||
{
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_WALLY_THROW, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_WALLY_THROW, 0);
|
||||
WallyBufferExecCompleted();
|
||||
gBattleStruct->wallyBattleState++;
|
||||
gBattleStruct->wallyMovesState = 0;
|
||||
@@ -238,7 +238,7 @@ static void WallyHandleActions(void)
|
||||
if (--gBattleStruct->wallyWaitFrames == 0)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_ITEM, 0);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, B_ACTION_USE_ITEM, 0);
|
||||
WallyBufferExecCompleted();
|
||||
}
|
||||
break;
|
||||
@@ -278,7 +278,7 @@ static void CompleteOnChosenItem(void)
|
||||
{
|
||||
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
|
||||
{
|
||||
BtlController_EmitOneReturnValue(BUFFER_B, gSpecialVar_ItemId);
|
||||
BtlController_EmitOneReturnValue(B_COMM_TO_ENGINE, gSpecialVar_ItemId);
|
||||
WallyBufferExecCompleted();
|
||||
}
|
||||
}
|
||||
@@ -408,7 +408,7 @@ static void WallyBufferExecCompleted(void)
|
||||
{
|
||||
u8 playerId = GetMultiplayerId();
|
||||
|
||||
PrepareBufferDataTransferLink(2, 4, &playerId);
|
||||
PrepareBufferDataTransferLink(B_COMM_CONTROLLER_IS_DONE, 4, &playerId);
|
||||
gBattleBufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP;
|
||||
}
|
||||
else
|
||||
@@ -444,7 +444,7 @@ static void WallyHandleGetMonData(void)
|
||||
monToCheck >>= 1;
|
||||
}
|
||||
}
|
||||
BtlController_EmitDataTransfer(BUFFER_B, size, monData);
|
||||
BtlController_EmitDataTransfer(B_COMM_TO_ENGINE, size, monData);
|
||||
WallyBufferExecCompleted();
|
||||
}
|
||||
|
||||
@@ -1241,7 +1241,7 @@ static void WallyHandleChooseMove(void)
|
||||
if (--gBattleStruct->wallyMoveFrames == 0)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
BtlController_EmitTwoReturnValues(BUFFER_B, 10, 0x100);
|
||||
BtlController_EmitTwoReturnValues(B_COMM_TO_ENGINE, 10, 0x100);
|
||||
WallyBufferExecCompleted();
|
||||
}
|
||||
break;
|
||||
@@ -1458,31 +1458,31 @@ static void WallyHandleIntroTrainerBallThrow(void)
|
||||
gBattlerControllerFuncs[gActiveBattler] = BattleControllerDummy;
|
||||
}
|
||||
|
||||
static void StartSendOutAnim(u8 battlerId)
|
||||
static void StartSendOutAnim(u8 battler)
|
||||
{
|
||||
u16 species;
|
||||
|
||||
gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies = 0;
|
||||
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||
gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
|
||||
gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||
GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2),
|
||||
GetBattlerSpriteDefault_Y(battlerId),
|
||||
GetBattlerSpriteSubpriority(battlerId));
|
||||
gBattleSpritesDataPtr->battlerData[battler].transformSpecies = 0;
|
||||
gBattlerPartyIndexes[battler] = gBattleBufferA[battler][1];
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES);
|
||||
gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler));
|
||||
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||
GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2),
|
||||
GetBattlerSpriteDefault_Y(battler),
|
||||
GetBattlerSpriteSubpriority(battler));
|
||||
|
||||
gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId];
|
||||
gSprites[gBattleControllerData[battlerId]].data[2] = battlerId;
|
||||
gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler];
|
||||
gSprites[gBattleControllerData[battler]].data[2] = battler;
|
||||
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
|
||||
gSprites[gBattlerSpriteIds[battler]].data[2] = species;
|
||||
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
|
||||
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]);
|
||||
gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy;
|
||||
gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT);
|
||||
StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]);
|
||||
gSprites[gBattlerSpriteIds[battler]].invisible = TRUE;
|
||||
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
|
||||
gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT);
|
||||
}
|
||||
|
||||
static void Task_StartSendOutAnim(u8 taskId)
|
||||
|
||||
+273
-210
@@ -114,31 +114,31 @@ static void InitSinglePlayerBtlControllers(void)
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
|
||||
{
|
||||
gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[1] = SetControllerToOpponent;
|
||||
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[2] = SetControllerToPlayerPartner;
|
||||
gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayerPartner;
|
||||
gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
gBattlerControllerFuncs[3] = SetControllerToOpponent;
|
||||
gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent;
|
||||
gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattlerControllerFuncs[0] = SetControllerToPlayer;
|
||||
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[1] = SetControllerToOpponent;
|
||||
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[2] = SetControllerToPlayerPartner;
|
||||
gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayerPartner;
|
||||
gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
gBattlerControllerFuncs[3] = SetControllerToOpponent;
|
||||
gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent;
|
||||
gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT;
|
||||
}
|
||||
|
||||
gBattlersCount = MAX_BATTLERS_COUNT;
|
||||
@@ -158,16 +158,16 @@ static void InitSinglePlayerBtlControllers(void)
|
||||
gBattleMainFunc = BeginBattleIntro;
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_SAFARI)
|
||||
gBattlerControllerFuncs[0] = SetControllerToSafari;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToSafari;
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL)
|
||||
gBattlerControllerFuncs[0] = SetControllerToWally;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToWally;
|
||||
else
|
||||
gBattlerControllerFuncs[0] = SetControllerToPlayer;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer;
|
||||
|
||||
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[1] = SetControllerToOpponent;
|
||||
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattlersCount = 2;
|
||||
|
||||
@@ -179,32 +179,32 @@ static void InitSinglePlayerBtlControllers(void)
|
||||
{
|
||||
gBattleMainFunc = BeginBattleIntro;
|
||||
|
||||
gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[1] = SetControllerToRecordedOpponent;
|
||||
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToRecordedOpponent;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattlersCount = 2;
|
||||
}
|
||||
else // see how the banks are switched
|
||||
{
|
||||
gBattlerControllerFuncs[1] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[1] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[0] = SetControllerToRecordedOpponent;
|
||||
gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedOpponent;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattlersCount = 2;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[1] = SetControllerToOpponent;
|
||||
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -212,17 +212,17 @@ static void InitSinglePlayerBtlControllers(void)
|
||||
{
|
||||
gBattleMainFunc = BeginBattleIntro;
|
||||
|
||||
gBattlerControllerFuncs[0] = SetControllerToPlayer;
|
||||
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[1] = SetControllerToOpponent;
|
||||
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[2] = SetControllerToPlayer;
|
||||
gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayer;
|
||||
gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
gBattlerControllerFuncs[3] = SetControllerToOpponent;
|
||||
gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent;
|
||||
gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT;
|
||||
|
||||
gBattlersCount = MAX_BATTLERS_COUNT;
|
||||
|
||||
@@ -232,17 +232,17 @@ static void InitSinglePlayerBtlControllers(void)
|
||||
{
|
||||
gBattleMainFunc = BeginBattleIntro;
|
||||
|
||||
gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[1] = SetControllerToOpponent;
|
||||
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[2] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
gBattlerControllerFuncs[3] = SetControllerToOpponent;
|
||||
gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent;
|
||||
gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT;
|
||||
|
||||
gBattlersCount = MAX_BATTLERS_COUNT;
|
||||
|
||||
@@ -260,7 +260,7 @@ static void InitSinglePlayerBtlControllers(void)
|
||||
{
|
||||
u8 multiplayerId;
|
||||
|
||||
for (multiplayerId = gRecordedBattleMultiplayerId, i = 0; i < MAX_BATTLERS_COUNT; i++)
|
||||
for (multiplayerId = gRecordedBattleMultiplayerId, i = 0; i < MAX_LINK_PLAYERS; i++)
|
||||
{
|
||||
switch (gLinkPlayers[i].id)
|
||||
{
|
||||
@@ -330,52 +330,52 @@ static void InitSinglePlayerBtlControllers(void)
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)
|
||||
{
|
||||
gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[2] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK)
|
||||
{
|
||||
gBattlerControllerFuncs[1] = SetControllerToRecordedOpponent;
|
||||
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToRecordedOpponent;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[3] = SetControllerToRecordedOpponent;
|
||||
gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToRecordedOpponent;
|
||||
gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattlerControllerFuncs[1] = SetControllerToOpponent;
|
||||
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[3] = SetControllerToOpponent;
|
||||
gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent;
|
||||
gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattlerControllerFuncs[1] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[1] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[3] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[3] = B_POSITION_PLAYER_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToRecordedPlayer;
|
||||
gBattlerPositions[B_BATTLER_3] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK)
|
||||
{
|
||||
gBattlerControllerFuncs[0] = SetControllerToRecordedOpponent;
|
||||
gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToRecordedOpponent;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[2] = SetControllerToRecordedOpponent;
|
||||
gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToRecordedOpponent;
|
||||
gBattlerPositions[B_BATTLER_2] = B_POSITION_OPPONENT_RIGHT;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattlerControllerFuncs[0] = SetControllerToOpponent;
|
||||
gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToOpponent;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[2] = SetControllerToOpponent;
|
||||
gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToOpponent;
|
||||
gBattlerPositions[B_BATTLER_2] = B_POSITION_OPPONENT_RIGHT;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -393,21 +393,21 @@ static void InitLinkBtlControllers(void)
|
||||
{
|
||||
gBattleMainFunc = BeginBattleIntro;
|
||||
|
||||
gBattlerControllerFuncs[0] = SetControllerToPlayer;
|
||||
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[1] = SetControllerToLinkOpponent;
|
||||
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToLinkOpponent;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattlersCount = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattlerControllerFuncs[1] = SetControllerToPlayer;
|
||||
gBattlerPositions[1] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToPlayer;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[0] = SetControllerToLinkOpponent;
|
||||
gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToLinkOpponent;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattlersCount = 2;
|
||||
}
|
||||
@@ -418,33 +418,33 @@ static void InitLinkBtlControllers(void)
|
||||
{
|
||||
gBattleMainFunc = BeginBattleIntro;
|
||||
|
||||
gBattlerControllerFuncs[0] = SetControllerToPlayer;
|
||||
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[1] = SetControllerToLinkOpponent;
|
||||
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToLinkOpponent;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[2] = SetControllerToPlayer;
|
||||
gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayer;
|
||||
gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
gBattlerControllerFuncs[3] = SetControllerToLinkOpponent;
|
||||
gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToLinkOpponent;
|
||||
gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT;
|
||||
|
||||
gBattlersCount = MAX_BATTLERS_COUNT;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattlerControllerFuncs[1] = SetControllerToPlayer;
|
||||
gBattlerPositions[1] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToPlayer;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[0] = SetControllerToLinkOpponent;
|
||||
gBattlerPositions[0] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToLinkOpponent;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[3] = SetControllerToPlayer;
|
||||
gBattlerPositions[3] = B_POSITION_PLAYER_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToPlayer;
|
||||
gBattlerPositions[B_BATTLER_3] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
gBattlerControllerFuncs[2] = SetControllerToLinkOpponent;
|
||||
gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToLinkOpponent;
|
||||
gBattlerPositions[B_BATTLER_2] = B_POSITION_OPPONENT_RIGHT;
|
||||
|
||||
gBattlersCount = MAX_BATTLERS_COUNT;
|
||||
}
|
||||
@@ -455,33 +455,33 @@ static void InitLinkBtlControllers(void)
|
||||
{
|
||||
gBattleMainFunc = BeginBattleIntro;
|
||||
|
||||
gBattlerControllerFuncs[0] = SetControllerToPlayer;
|
||||
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToPlayer;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[1] = SetControllerToOpponent;
|
||||
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToOpponent;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[2] = SetControllerToLinkPartner;
|
||||
gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToLinkPartner;
|
||||
gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
gBattlerControllerFuncs[3] = SetControllerToOpponent;
|
||||
gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToOpponent;
|
||||
gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT;
|
||||
|
||||
gBattlersCount = MAX_BATTLERS_COUNT;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattlerControllerFuncs[0] = SetControllerToLinkPartner;
|
||||
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_0] = SetControllerToLinkPartner;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[1] = SetControllerToLinkOpponent;
|
||||
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerControllerFuncs[B_BATTLER_1] = SetControllerToLinkOpponent;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT;
|
||||
|
||||
gBattlerControllerFuncs[2] = SetControllerToPlayer;
|
||||
gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_2] = SetControllerToPlayer;
|
||||
gBattlerPositions[B_BATTLER_2] = B_POSITION_PLAYER_RIGHT;
|
||||
|
||||
gBattlerControllerFuncs[3] = SetControllerToLinkOpponent;
|
||||
gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||
gBattlerControllerFuncs[B_BATTLER_3] = SetControllerToLinkOpponent;
|
||||
gBattlerPositions[B_BATTLER_3] = B_POSITION_OPPONENT_RIGHT;
|
||||
|
||||
gBattlersCount = MAX_BATTLERS_COUNT;
|
||||
}
|
||||
@@ -502,7 +502,7 @@ static void InitLinkBtlControllers(void)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)
|
||||
gBattleMainFunc = BeginBattleIntro;
|
||||
|
||||
for (i = 0; i < MAX_BATTLERS_COUNT; i++)
|
||||
for (i = 0; i < MAX_LINK_PLAYERS; i++)
|
||||
{
|
||||
switch (gLinkPlayers[i].id)
|
||||
{
|
||||
@@ -659,11 +659,11 @@ static void PrepareBufferDataTransfer(u8 bufferId, u8 *data, u16 size)
|
||||
{
|
||||
switch (bufferId)
|
||||
{
|
||||
case BUFFER_A:
|
||||
case B_COMM_TO_CONTROLLER:
|
||||
for (i = 0; i < size; data++, i++)
|
||||
gBattleBufferA[gActiveBattler][i] = *data;
|
||||
break;
|
||||
case BUFFER_B:
|
||||
case B_COMM_TO_ENGINE:
|
||||
for (i = 0; i < size; data++, i++)
|
||||
gBattleBufferB[gActiveBattler][i] = *data;
|
||||
break;
|
||||
@@ -671,20 +671,41 @@ static void PrepareBufferDataTransfer(u8 bufferId, u8 *data, u16 size)
|
||||
}
|
||||
}
|
||||
|
||||
#define tInitialDelayTimer data[10]
|
||||
#define tState data[11]
|
||||
#define tCurrentBlock_WrapFrom data[12]
|
||||
#define tBlockSendDelayTimer data[13]
|
||||
#define tCurrentBlock_End data[14]
|
||||
#define tCurrentBlock_Start data[15]
|
||||
//
|
||||
// Inbound communications are stored in one buffer; outbound communications
|
||||
// in another. Both buffers work pretty similarly: the next message will be
|
||||
// written into the buffer after the previous message (with 4-byte alignment),
|
||||
// unless we're too close to the end of the buffer, in which case we jump back
|
||||
// to the start.
|
||||
//
|
||||
// Regarding the task variable names above: these variables are altered in-
|
||||
// place, so the precise operational definition of "current" depends on when
|
||||
// the variables are being accessed. When data is present in the send and
|
||||
// receive buffers, "current" refers to the most recently received message;
|
||||
// but when a message is actually being placed in the buffers, "current"
|
||||
// refers to the previous message, until such time that we finish updating it
|
||||
// to refer to the new message.
|
||||
|
||||
static void CreateTasksForSendRecvLinkBuffers(void)
|
||||
{
|
||||
sLinkSendTaskId = CreateTask(Task_HandleSendLinkBuffersData, 0);
|
||||
gTasks[sLinkSendTaskId].data[11] = 0;
|
||||
gTasks[sLinkSendTaskId].data[12] = 0;
|
||||
gTasks[sLinkSendTaskId].data[13] = 0;
|
||||
gTasks[sLinkSendTaskId].data[14] = 0;
|
||||
gTasks[sLinkSendTaskId].data[15] = 0;
|
||||
gTasks[sLinkSendTaskId].tState = 0;
|
||||
gTasks[sLinkSendTaskId].tCurrentBlock_WrapFrom = 0;
|
||||
gTasks[sLinkSendTaskId].tBlockSendDelayTimer = 0;
|
||||
gTasks[sLinkSendTaskId].tCurrentBlock_End = 0;
|
||||
gTasks[sLinkSendTaskId].tCurrentBlock_Start = 0;
|
||||
|
||||
sLinkReceiveTaskId = CreateTask(Task_HandleCopyReceivedLinkBuffersData, 0);
|
||||
gTasks[sLinkReceiveTaskId].data[12] = 0;
|
||||
gTasks[sLinkReceiveTaskId].data[13] = 0;
|
||||
gTasks[sLinkReceiveTaskId].data[14] = 0;
|
||||
gTasks[sLinkReceiveTaskId].data[15] = 0;
|
||||
gTasks[sLinkReceiveTaskId].tCurrentBlock_WrapFrom = 0;
|
||||
gTasks[sLinkReceiveTaskId].tBlockSendDelayTimer = 0; // not used by "receive" task
|
||||
gTasks[sLinkReceiveTaskId].tCurrentBlock_End = 0;
|
||||
gTasks[sLinkReceiveTaskId].tCurrentBlock_Start = 0;
|
||||
|
||||
sUnused = 0;
|
||||
}
|
||||
@@ -702,52 +723,72 @@ enum
|
||||
LINK_BUFF_DATA,
|
||||
};
|
||||
|
||||
// We want to send a message. Place it into the "send" buffer.
|
||||
// First argument is a BATTLELINKCOMMTYPE_...
|
||||
void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data)
|
||||
{
|
||||
s32 alignedSize;
|
||||
s32 i;
|
||||
|
||||
alignedSize = size - size % 4 + 4;
|
||||
if (gTasks[sLinkSendTaskId].data[14] + alignedSize + LINK_BUFF_DATA + 1 > BATTLE_BUFFER_LINK_SIZE)
|
||||
if (gTasks[sLinkSendTaskId].tCurrentBlock_End + alignedSize + LINK_BUFF_DATA + 1 > BATTLE_BUFFER_LINK_SIZE)
|
||||
{
|
||||
gTasks[sLinkSendTaskId].data[12] = gTasks[sLinkSendTaskId].data[14];
|
||||
gTasks[sLinkSendTaskId].data[14] = 0;
|
||||
gTasks[sLinkSendTaskId].tCurrentBlock_WrapFrom = gTasks[sLinkSendTaskId].tCurrentBlock_End;
|
||||
gTasks[sLinkSendTaskId].tCurrentBlock_End = 0;
|
||||
}
|
||||
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_BUFFER_ID] = bufferId;
|
||||
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ACTIVE_BATTLER] = gActiveBattler;
|
||||
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ATTACKER] = gBattlerAttacker;
|
||||
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_TARGET] = gBattlerTarget;
|
||||
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_LO] = alignedSize;
|
||||
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_HI] = (alignedSize & 0x0000FF00) >> 8;
|
||||
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ABSENT_BATTLER_FLAGS] = gAbsentBattlerFlags;
|
||||
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_EFFECT_BATTLER] = gEffectBattler;
|
||||
|
||||
#define BYTE_TO_SEND(offset) \
|
||||
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].tCurrentBlock_End + offset]
|
||||
|
||||
BYTE_TO_SEND(LINK_BUFF_BUFFER_ID) = bufferId;
|
||||
BYTE_TO_SEND(LINK_BUFF_ACTIVE_BATTLER) = gActiveBattler;
|
||||
BYTE_TO_SEND(LINK_BUFF_ATTACKER) = gBattlerAttacker;
|
||||
BYTE_TO_SEND(LINK_BUFF_TARGET) = gBattlerTarget;
|
||||
BYTE_TO_SEND(LINK_BUFF_SIZE_LO) = alignedSize;
|
||||
BYTE_TO_SEND(LINK_BUFF_SIZE_HI) = (alignedSize & 0x0000FF00) >> 8;
|
||||
BYTE_TO_SEND(LINK_BUFF_ABSENT_BATTLER_FLAGS) = gAbsentBattlerFlags;
|
||||
BYTE_TO_SEND(LINK_BUFF_EFFECT_BATTLER) = gEffectBattler;
|
||||
|
||||
for (i = 0; i < size; i++)
|
||||
gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_DATA + i] = data[i];
|
||||
BYTE_TO_SEND(LINK_BUFF_DATA + i) = data[i];
|
||||
|
||||
gTasks[sLinkSendTaskId].data[14] = gTasks[sLinkSendTaskId].data[14] + alignedSize + LINK_BUFF_DATA;
|
||||
#undef BYTE_TO_SEND
|
||||
|
||||
gTasks[sLinkSendTaskId].tCurrentBlock_End = gTasks[sLinkSendTaskId].tCurrentBlock_End + alignedSize + LINK_BUFF_DATA;
|
||||
}
|
||||
|
||||
enum {
|
||||
SENDTASK_STATE_INITIALIZE = 0,
|
||||
SENDTASK_STATE_INITIAL_DELAY = 1,
|
||||
SENDTASK_STATE_COUNT_PLAYERS = 2,
|
||||
SENDTASK_STATE_BEGIN_SEND_BLOCK = 3,
|
||||
SENDTASK_STATE_FINISH_SEND_BLOCK = 4,
|
||||
SENDTASK_STATE_UNUSED_STATE = 5,
|
||||
};
|
||||
|
||||
static void Task_HandleSendLinkBuffersData(u8 taskId)
|
||||
{
|
||||
u16 numPlayers;
|
||||
u16 blockSize;
|
||||
|
||||
switch (gTasks[taskId].data[11])
|
||||
#define BYTE_TO_SEND(offset) \
|
||||
gLinkBattleSendBuffer[gTasks[taskId].tCurrentBlock_Start + offset]
|
||||
|
||||
switch (gTasks[taskId].tState)
|
||||
{
|
||||
case 0:
|
||||
gTasks[taskId].data[10] = 100;
|
||||
gTasks[taskId].data[11]++;
|
||||
case SENDTASK_STATE_INITIALIZE:
|
||||
gTasks[taskId].tInitialDelayTimer = 100;
|
||||
gTasks[taskId].tState++;
|
||||
break;
|
||||
case 1:
|
||||
gTasks[taskId].data[10]--;
|
||||
if (gTasks[taskId].data[10] == 0)
|
||||
gTasks[taskId].data[11]++;
|
||||
case SENDTASK_STATE_INITIAL_DELAY:
|
||||
gTasks[taskId].tInitialDelayTimer--;
|
||||
if (gTasks[taskId].tInitialDelayTimer == 0)
|
||||
gTasks[taskId].tState++;
|
||||
break;
|
||||
case 2:
|
||||
case SENDTASK_STATE_COUNT_PLAYERS:
|
||||
if (gWirelessCommType)
|
||||
{
|
||||
gTasks[taskId].data[11]++;
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -761,56 +802,66 @@ static void Task_HandleSendLinkBuffersData(u8 taskId)
|
||||
if (IsLinkMaster())
|
||||
{
|
||||
CheckShouldAdvanceLinkState();
|
||||
gTasks[taskId].data[11]++;
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
else
|
||||
{
|
||||
gTasks[taskId].data[11]++;
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (gTasks[taskId].data[15] != gTasks[taskId].data[14])
|
||||
case SENDTASK_STATE_BEGIN_SEND_BLOCK:
|
||||
if (gTasks[taskId].tCurrentBlock_Start != gTasks[taskId].tCurrentBlock_End)
|
||||
{
|
||||
if (gTasks[taskId].data[13] == 0)
|
||||
if (gTasks[taskId].tBlockSendDelayTimer == 0)
|
||||
{
|
||||
if (gTasks[taskId].data[15] > gTasks[taskId].data[14]
|
||||
&& gTasks[taskId].data[15] == gTasks[taskId].data[12])
|
||||
if (gTasks[taskId].tCurrentBlock_Start > gTasks[taskId].tCurrentBlock_End
|
||||
&& gTasks[taskId].tCurrentBlock_Start == gTasks[taskId].tCurrentBlock_WrapFrom)
|
||||
{
|
||||
gTasks[taskId].data[12] = 0;
|
||||
gTasks[taskId].data[15] = 0;
|
||||
gTasks[taskId].tCurrentBlock_WrapFrom = 0;
|
||||
gTasks[taskId].tCurrentBlock_Start = 0;
|
||||
}
|
||||
blockSize = (gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8)) + LINK_BUFF_DATA;
|
||||
SendBlock(BitmaskAllOtherLinkPlayers(), &gLinkBattleSendBuffer[gTasks[taskId].data[15]], blockSize);
|
||||
gTasks[taskId].data[11]++;
|
||||
blockSize = (BYTE_TO_SEND(LINK_BUFF_SIZE_LO) | (BYTE_TO_SEND(LINK_BUFF_SIZE_HI) << 8)) + LINK_BUFF_DATA;
|
||||
SendBlock(BitmaskAllOtherLinkPlayers(), &BYTE_TO_SEND(0), blockSize);
|
||||
gTasks[taskId].tState++;
|
||||
}
|
||||
else
|
||||
{
|
||||
gTasks[taskId].data[13]--;
|
||||
gTasks[taskId].tBlockSendDelayTimer--;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
case SENDTASK_STATE_FINISH_SEND_BLOCK:
|
||||
if (IsLinkTaskFinished())
|
||||
{
|
||||
blockSize = gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8);
|
||||
gTasks[taskId].data[13] = 1;
|
||||
gTasks[taskId].data[15] = gTasks[taskId].data[15] + blockSize + LINK_BUFF_DATA;
|
||||
gTasks[taskId].data[11] = 3;
|
||||
blockSize = BYTE_TO_SEND(LINK_BUFF_SIZE_LO) | (BYTE_TO_SEND(LINK_BUFF_SIZE_HI) << 8);
|
||||
gTasks[taskId].tBlockSendDelayTimer = 1;
|
||||
gTasks[taskId].tCurrentBlock_Start = gTasks[taskId].tCurrentBlock_Start + blockSize + LINK_BUFF_DATA;
|
||||
gTasks[taskId].tState = SENDTASK_STATE_BEGIN_SEND_BLOCK;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (--gTasks[taskId].data[13] == 0)
|
||||
case SENDTASK_STATE_UNUSED_STATE:
|
||||
if (--gTasks[taskId].tBlockSendDelayTimer == 0)
|
||||
{
|
||||
gTasks[taskId].data[13] = 1;
|
||||
gTasks[taskId].data[11] = 3;
|
||||
gTasks[taskId].tBlockSendDelayTimer = 1;
|
||||
gTasks[taskId].tState = SENDTASK_STATE_BEGIN_SEND_BLOCK;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
#undef BYTE_TO_SEND
|
||||
}
|
||||
|
||||
// We have received a message. Place it into the "receive" buffer.
|
||||
//
|
||||
// Counterintuitively, we also "receive" the outbound messages that
|
||||
// we send to other players. The GBA basically stores communicated
|
||||
// data for all four players, so inbound and outbound data can be
|
||||
// handled uniformly unless a game specifically decides to do
|
||||
// otherwise. Pokemon, evidently, did not specifically decide to do
|
||||
// otherwise.
|
||||
void TryReceiveLinkBattleData(void)
|
||||
{
|
||||
u8 i;
|
||||
@@ -830,19 +881,19 @@ void TryReceiveLinkBattleData(void)
|
||||
u8 *dest, *src;
|
||||
u16 dataSize = gBlockRecvBuffer[i][2];
|
||||
|
||||
if (gTasks[sLinkReceiveTaskId].data[14] + 9 + dataSize > 0x1000)
|
||||
if (gTasks[sLinkReceiveTaskId].tCurrentBlock_End + 9 + dataSize > 0x1000)
|
||||
{
|
||||
gTasks[sLinkReceiveTaskId].data[12] = gTasks[sLinkReceiveTaskId].data[14];
|
||||
gTasks[sLinkReceiveTaskId].data[14] = 0;
|
||||
gTasks[sLinkReceiveTaskId].tCurrentBlock_WrapFrom = gTasks[sLinkReceiveTaskId].tCurrentBlock_End;
|
||||
gTasks[sLinkReceiveTaskId].tCurrentBlock_End = 0;
|
||||
}
|
||||
|
||||
dest = &gLinkBattleRecvBuffer[gTasks[sLinkReceiveTaskId].data[14]];
|
||||
dest = &gLinkBattleRecvBuffer[gTasks[sLinkReceiveTaskId].tCurrentBlock_End];
|
||||
src = recvBuffer;
|
||||
|
||||
for (j = 0; j < dataSize + 8; j++)
|
||||
dest[j] = src[j];
|
||||
|
||||
gTasks[sLinkReceiveTaskId].data[14] = gTasks[sLinkReceiveTaskId].data[14] + dataSize + 8;
|
||||
gTasks[sLinkReceiveTaskId].tCurrentBlock_End = gTasks[sLinkReceiveTaskId].tCurrentBlock_End + dataSize + 8;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -852,50 +903,62 @@ void TryReceiveLinkBattleData(void)
|
||||
static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId)
|
||||
{
|
||||
u16 blockSize;
|
||||
u8 battlerId;
|
||||
u8 var;
|
||||
u8 battler;
|
||||
u8 playerId;
|
||||
|
||||
if (gTasks[taskId].data[15] != gTasks[taskId].data[14])
|
||||
#define BYTE_TO_RECEIVE(offset) \
|
||||
gLinkBattleRecvBuffer[gTasks[taskId].tCurrentBlock_Start + offset]
|
||||
|
||||
if (gTasks[taskId].tCurrentBlock_Start != gTasks[taskId].tCurrentBlock_End)
|
||||
{
|
||||
if (gTasks[taskId].data[15] > gTasks[taskId].data[14]
|
||||
&& gTasks[taskId].data[15] == gTasks[taskId].data[12])
|
||||
if (gTasks[taskId].tCurrentBlock_Start > gTasks[taskId].tCurrentBlock_End
|
||||
&& gTasks[taskId].tCurrentBlock_Start == gTasks[taskId].tCurrentBlock_WrapFrom)
|
||||
{
|
||||
gTasks[taskId].data[12] = 0;
|
||||
gTasks[taskId].data[15] = 0;
|
||||
gTasks[taskId].tCurrentBlock_WrapFrom = 0;
|
||||
gTasks[taskId].tCurrentBlock_Start = 0;
|
||||
}
|
||||
battlerId = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ACTIVE_BATTLER];
|
||||
blockSize = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8);
|
||||
battler = BYTE_TO_RECEIVE(LINK_BUFF_ACTIVE_BATTLER);
|
||||
blockSize = BYTE_TO_RECEIVE(LINK_BUFF_SIZE_LO) | (BYTE_TO_RECEIVE(LINK_BUFF_SIZE_HI) << 8);
|
||||
|
||||
switch (gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 0])
|
||||
switch (BYTE_TO_RECEIVE(0))
|
||||
{
|
||||
case 0:
|
||||
if (gBattleControllerExecFlags & gBitTable[battlerId])
|
||||
case B_COMM_TO_CONTROLLER:
|
||||
if (IS_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battler))
|
||||
return;
|
||||
|
||||
memcpy(gBattleBufferA[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA], blockSize);
|
||||
MarkBattlerReceivedLinkData(battlerId);
|
||||
memcpy(gBattleBufferA[battler], &BYTE_TO_RECEIVE(LINK_BUFF_DATA), blockSize);
|
||||
MarkBattlerReceivedLinkData(battler);
|
||||
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER))
|
||||
{
|
||||
gBattlerAttacker = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ATTACKER];
|
||||
gBattlerTarget = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_TARGET];
|
||||
gAbsentBattlerFlags = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ABSENT_BATTLER_FLAGS];
|
||||
gEffectBattler = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_EFFECT_BATTLER];
|
||||
gBattlerAttacker = BYTE_TO_RECEIVE(LINK_BUFF_ATTACKER);
|
||||
gBattlerTarget = BYTE_TO_RECEIVE(LINK_BUFF_TARGET);
|
||||
gAbsentBattlerFlags = BYTE_TO_RECEIVE(LINK_BUFF_ABSENT_BATTLER_FLAGS);
|
||||
gEffectBattler = BYTE_TO_RECEIVE(LINK_BUFF_EFFECT_BATTLER);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
memcpy(gBattleBufferB[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA], blockSize);
|
||||
case B_COMM_TO_ENGINE:
|
||||
memcpy(gBattleBufferB[battler], &gLinkBattleRecvBuffer[gTasks[taskId].tCurrentBlock_Start + LINK_BUFF_DATA], blockSize);
|
||||
break;
|
||||
case 2:
|
||||
var = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA];
|
||||
gBattleControllerExecFlags &= ~(gBitTable[battlerId] << (var * 4));
|
||||
case B_COMM_CONTROLLER_IS_DONE:
|
||||
playerId = BYTE_TO_RECEIVE(LINK_BUFF_DATA);
|
||||
MARK_BATTLE_CONTROLLER_IDLE_FOR_PLAYER(battler, playerId);
|
||||
break;
|
||||
}
|
||||
|
||||
gTasks[taskId].data[15] = gTasks[taskId].data[15] + blockSize + LINK_BUFF_DATA;
|
||||
gTasks[taskId].tCurrentBlock_Start = gTasks[taskId].tCurrentBlock_Start + blockSize + LINK_BUFF_DATA;
|
||||
}
|
||||
|
||||
#undef BYTE_TO_RECEIVE
|
||||
}
|
||||
|
||||
#undef tInitialDelayTimer
|
||||
#undef tState
|
||||
#undef tCurrentBlock_WrapFrom
|
||||
#undef tBlockSendDelayTimer
|
||||
#undef tCurrentBlock_End
|
||||
#undef tCurrentBlock_Start
|
||||
|
||||
void BtlController_EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck)
|
||||
{
|
||||
sBattleBuffersTransferData[0] = CONTROLLER_GETMONDATA;
|
||||
@@ -1065,15 +1128,15 @@ void BtlController_EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 m
|
||||
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 16 + sizeof(struct DisableStruct));
|
||||
}
|
||||
|
||||
void BtlController_EmitPrintString(u8 bufferId, u16 stringID)
|
||||
void BtlController_EmitPrintString(u8 bufferId, u16 stringId)
|
||||
{
|
||||
s32 i;
|
||||
struct BattleMsgData *stringInfo;
|
||||
|
||||
sBattleBuffersTransferData[0] = CONTROLLER_PRINTSTRING;
|
||||
sBattleBuffersTransferData[1] = gBattleOutcome;
|
||||
sBattleBuffersTransferData[2] = stringID;
|
||||
sBattleBuffersTransferData[3] = (stringID & 0xFF00) >> 8;
|
||||
sBattleBuffersTransferData[2] = stringId;
|
||||
sBattleBuffersTransferData[3] = (stringId & 0xFF00) >> 8;
|
||||
|
||||
stringInfo = (struct BattleMsgData *)(&sBattleBuffersTransferData[4]);
|
||||
stringInfo->currentMove = gCurrentMove;
|
||||
@@ -1097,15 +1160,15 @@ void BtlController_EmitPrintString(u8 bufferId, u16 stringID)
|
||||
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(struct BattleMsgData) + 4);
|
||||
}
|
||||
|
||||
void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringID)
|
||||
void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringId)
|
||||
{
|
||||
s32 i;
|
||||
struct BattleMsgData *stringInfo;
|
||||
|
||||
sBattleBuffersTransferData[0] = CONTROLLER_PRINTSTRINGPLAYERONLY;
|
||||
sBattleBuffersTransferData[1] = CONTROLLER_PRINTSTRINGPLAYERONLY;
|
||||
sBattleBuffersTransferData[2] = stringID;
|
||||
sBattleBuffersTransferData[3] = (stringID & 0xFF00) >> 8;
|
||||
sBattleBuffersTransferData[2] = stringId;
|
||||
sBattleBuffersTransferData[3] = (stringId & 0xFF00) >> 8;
|
||||
|
||||
stringInfo = (struct BattleMsgData *)(&sBattleBuffersTransferData[4]);
|
||||
stringInfo->currentMove = gCurrentMove;
|
||||
@@ -1417,10 +1480,10 @@ void BtlController_EmitFaintingCry(u8 bufferId)
|
||||
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
|
||||
}
|
||||
|
||||
void BtlController_EmitIntroSlide(u8 bufferId, u8 terrainId)
|
||||
void BtlController_EmitIntroSlide(u8 bufferId, u8 environmentId)
|
||||
{
|
||||
sBattleBuffersTransferData[0] = CONTROLLER_INTROSLIDE;
|
||||
sBattleBuffersTransferData[1] = terrainId;
|
||||
sBattleBuffersTransferData[1] = environmentId;
|
||||
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2);
|
||||
}
|
||||
|
||||
@@ -1433,7 +1496,7 @@ void BtlController_EmitIntroTrainerBallThrow(u8 bufferId)
|
||||
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
|
||||
}
|
||||
|
||||
void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 flags)
|
||||
void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus *hpAndStatus, u8 flags)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
|
||||
+25
-25
@@ -997,7 +997,7 @@ static const union AnimCmd sSpriteAnim_TourneyTreePokeballSelected[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd * const sSpriteAnimTable_TourneyTreePokeball[] =
|
||||
static const union AnimCmd *const sSpriteAnimTable_TourneyTreePokeball[] =
|
||||
{
|
||||
sSpriteAnim_TourneyTreePokeballNormal,
|
||||
sSpriteAnim_TourneyTreePokeballSelected,
|
||||
@@ -1027,7 +1027,7 @@ static const union AnimCmd sSpriteAnim_TourneyTreeCancelButtonSelected[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd * const sSpriteAnimTable_TourneyTreeCancelButton[] =
|
||||
static const union AnimCmd *const sSpriteAnimTable_TourneyTreeCancelButton[] =
|
||||
{
|
||||
sSpriteAnim_TourneyTreeCancelButtonNormal,
|
||||
sSpriteAnim_TourneyTreeCancelButtonSelected,
|
||||
@@ -1056,7 +1056,7 @@ static const union AnimCmd sSpriteAnim_TourneyTreeExitButtonSelected[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd * const sSpriteAnimTable_TourneyTreeExitButton[] =
|
||||
static const union AnimCmd *const sSpriteAnimTable_TourneyTreeExitButton[] =
|
||||
{
|
||||
sSpriteAnim_TourneyTreeExitButtonNormal,
|
||||
sSpriteAnim_TourneyTreeExitButtonSelected,
|
||||
@@ -1097,13 +1097,13 @@ static const union AnimCmd sSpriteAnim_RightArrow[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd * const sSpriteAnimTable_VerticalScrollArrow[] =
|
||||
static const union AnimCmd *const sSpriteAnimTable_VerticalScrollArrow[] =
|
||||
{
|
||||
sSpriteAnim_UpArrow,
|
||||
sSpriteAnim_DownArrow,
|
||||
};
|
||||
|
||||
static const union AnimCmd * const sSpriteAnimTable_HorizontalScrollArrow[] =
|
||||
static const union AnimCmd *const sSpriteAnimTable_HorizontalScrollArrow[] =
|
||||
{
|
||||
sSpriteAnim_LeftArrow,
|
||||
sSpriteAnim_RightArrow,
|
||||
@@ -1134,7 +1134,7 @@ static const struct SpriteTemplate sVerticalScrollArrowSpriteTemplate =
|
||||
// Organized by seed starting position, i.e. seed 0 battles seed 8 first
|
||||
static const u8 sTourneyTreeTrainerIds[DOME_TOURNAMENT_TRAINERS_COUNT] = {0, 8, 12, 4, 7, 15, 11, 3, 2, 10, 14, 6, 5, 13, 9, 1};
|
||||
|
||||
static void (* const sBattleDomeFunctions[])(void) =
|
||||
static void (*const sBattleDomeFunctions[])(void) =
|
||||
{
|
||||
[BATTLE_DOME_FUNC_INIT] = InitDomeChallenge,
|
||||
[BATTLE_DOME_FUNC_GET_DATA] = GetDomeData,
|
||||
@@ -2678,24 +2678,24 @@ int GetDomeTrainerSelectedMons(u16 tournamentTrainerId)
|
||||
|
||||
static int SelectOpponentMons_Good(u16 tournamentTrainerId, bool8 allowRandom)
|
||||
{
|
||||
int i, moveId, playerMonId;
|
||||
int i, moveIndex, playerMonId;
|
||||
int partyMovePoints[FRONTIER_PARTY_SIZE];
|
||||
|
||||
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
|
||||
{
|
||||
partyMovePoints[i] = 0;
|
||||
for (moveId = 0; moveId < MAX_MON_MOVES; moveId++)
|
||||
for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++)
|
||||
{
|
||||
for (playerMonId = 0; playerMonId < FRONTIER_PARTY_SIZE; playerMonId++)
|
||||
{
|
||||
if (DOME_TRAINERS[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN)
|
||||
{
|
||||
partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId),
|
||||
partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveIndex),
|
||||
GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), EFFECTIVENESS_MODE_GOOD);
|
||||
}
|
||||
else
|
||||
{
|
||||
partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveId],
|
||||
partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveIndex],
|
||||
GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), EFFECTIVENESS_MODE_GOOD);
|
||||
}
|
||||
}
|
||||
@@ -2707,24 +2707,24 @@ static int SelectOpponentMons_Good(u16 tournamentTrainerId, bool8 allowRandom)
|
||||
// Identical to function above, but uses EFFECTIVENESS_MODE_BAD
|
||||
static int SelectOpponentMons_Bad(u16 tournamentTrainerId, bool8 allowRandom)
|
||||
{
|
||||
int i, moveId, playerMonId;
|
||||
int i, moveIndex, playerMonId;
|
||||
int partyMovePoints[FRONTIER_PARTY_SIZE];
|
||||
|
||||
for (i = 0; i < FRONTIER_PARTY_SIZE; i++)
|
||||
{
|
||||
partyMovePoints[i] = 0;
|
||||
for (moveId = 0; moveId < MAX_MON_MOVES; moveId++)
|
||||
for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++)
|
||||
{
|
||||
for (playerMonId = 0; playerMonId < FRONTIER_PARTY_SIZE; playerMonId++)
|
||||
{
|
||||
if (DOME_TRAINERS[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN)
|
||||
{
|
||||
partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId),
|
||||
partyMovePoints[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveIndex),
|
||||
GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), EFFECTIVENESS_MODE_BAD);
|
||||
}
|
||||
else
|
||||
{
|
||||
partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveId],
|
||||
partyMovePoints[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[DOME_MONS[tournamentTrainerId][i]].moves[moveIndex],
|
||||
GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), EFFECTIVENESS_MODE_BAD);
|
||||
}
|
||||
}
|
||||
@@ -5222,7 +5222,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun
|
||||
{
|
||||
int i, j, k;
|
||||
int moveScores[MAX_MON_MOVES * FRONTIER_PARTY_SIZE];
|
||||
u16 moveIds[MAX_MON_MOVES * FRONTIER_PARTY_SIZE];
|
||||
u16 moves[MAX_MON_MOVES * FRONTIER_PARTY_SIZE];
|
||||
u16 bestScore = 0;
|
||||
u16 bestId = 0;
|
||||
int movePower = 0;
|
||||
@@ -5236,17 +5236,17 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun
|
||||
// TODO: Clean this up, looks like a different data structure (2D array)
|
||||
moveScores[i * MAX_MON_MOVES + j] = 0;
|
||||
if (DOME_TRAINERS[winnerTournamentId].trainerId == TRAINER_FRONTIER_BRAIN)
|
||||
moveIds[i * MAX_MON_MOVES + j] = GetFrontierBrainMonMove(i, j);
|
||||
moves[i * MAX_MON_MOVES + j] = GetFrontierBrainMonMove(i, j);
|
||||
else
|
||||
moveIds[i * MAX_MON_MOVES + j] = gFacilityTrainerMons[DOME_MONS[winnerTournamentId][i]].moves[j];
|
||||
moves[i * MAX_MON_MOVES + j] = gFacilityTrainerMons[DOME_MONS[winnerTournamentId][i]].moves[j];
|
||||
|
||||
movePower = gBattleMoves[moveIds[i * MAX_MON_MOVES + j]].power;
|
||||
movePower = gBattleMoves[moves[i * MAX_MON_MOVES + j]].power;
|
||||
if (movePower == 0)
|
||||
movePower = 40;
|
||||
else if (movePower == 1)
|
||||
movePower = 60;
|
||||
else if (moveIds[i * MAX_MON_MOVES + j] == MOVE_SELF_DESTRUCT
|
||||
|| moveIds[i * MAX_MON_MOVES + j] == MOVE_EXPLOSION)
|
||||
else if (moves[i * MAX_MON_MOVES + j] == MOVE_SELF_DESTRUCT
|
||||
|| moves[i * MAX_MON_MOVES + j] == MOVE_EXPLOSION)
|
||||
movePower /= 2;
|
||||
|
||||
for (k = 0; k < FRONTIER_PARTY_SIZE; k++)
|
||||
@@ -5265,7 +5265,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun
|
||||
else
|
||||
targetAbility = gSpeciesInfo[targetSpecies].abilities[0];
|
||||
|
||||
var = AI_TypeCalc(moveIds[i * MAX_MON_MOVES + j], targetSpecies, targetAbility);
|
||||
var = AI_TypeCalc(moves[i * MAX_MON_MOVES + j], targetSpecies, targetAbility);
|
||||
if (var & MOVE_RESULT_NOT_VERY_EFFECTIVE && var & MOVE_RESULT_SUPER_EFFECTIVE)
|
||||
moveScores[i * MAX_MON_MOVES + j] += movePower;
|
||||
else if (var & MOVE_RESULT_NO_EFFECT)
|
||||
@@ -5285,7 +5285,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun
|
||||
}
|
||||
else if (bestScore == moveScores[i * MAX_MON_MOVES + j])
|
||||
{
|
||||
if (moveIds[bestId] < moveIds[i * MAX_MON_MOVES + j]) // Why not use (Random() & 1) instead of promoting moves with a higher id?
|
||||
if (moves[bestId] < moves[i * MAX_MON_MOVES + j]) // Why not use (Random() & 1) instead of promoting moves with a higher id?
|
||||
bestId = i * MAX_MON_MOVES + j;
|
||||
}
|
||||
}
|
||||
@@ -5296,7 +5296,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun
|
||||
{
|
||||
for (i = 0; i < roundId - 1; i++)
|
||||
{
|
||||
if (gSaveBlock2Ptr->frontier.domeWinningMoves[GetOpposingNPCTournamentIdByRound(winnerTournamentId, i)] == moveIds[j])
|
||||
if (gSaveBlock2Ptr->frontier.domeWinningMoves[GetOpposingNPCTournamentIdByRound(winnerTournamentId, i)] == moves[j])
|
||||
break;
|
||||
}
|
||||
if (i != roundId - 1)
|
||||
@@ -5316,7 +5316,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun
|
||||
j = k;
|
||||
bestScore = moveScores[k];
|
||||
}
|
||||
else if (bestScore == moveScores[k] && moveIds[j] < moveIds[k]) // Yes, these conditions are redundant
|
||||
else if (bestScore == moveScores[k] && moves[j] < moves[k]) // Yes, these conditions are redundant
|
||||
{
|
||||
j = k;
|
||||
bestScore = moveScores[k];
|
||||
@@ -5328,7 +5328,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun
|
||||
if (moveScores[j] == 0)
|
||||
j = bestId;
|
||||
|
||||
return moveIds[j];
|
||||
return moves[j];
|
||||
}
|
||||
|
||||
static void Task_ShowTourneyTree(u8 taskId)
|
||||
|
||||
@@ -121,7 +121,7 @@ static const u16 *const sMoveStyles[FACTORY_NUM_STYLES - 1] =
|
||||
[FACTORY_STYLE_WEATHER - 1] = sMoves_DependsOnTheBattlesFlow,
|
||||
};
|
||||
|
||||
static void (* const sBattleFactoryFunctions[])(void) =
|
||||
static void (*const sBattleFactoryFunctions[])(void) =
|
||||
{
|
||||
[BATTLE_FACTORY_FUNC_INIT] = InitFactoryChallenge,
|
||||
[BATTLE_FACTORY_FUNC_GET_DATA] = GetBattleFactoryData,
|
||||
|
||||
+10
-10
@@ -299,7 +299,7 @@ static const struct SpritePalette sSelect_SpritePalettes[] =
|
||||
{},
|
||||
};
|
||||
|
||||
u8 static (* const sSelect_MenuOptionFuncs[])(void) =
|
||||
u8 static (*const sSelect_MenuOptionFuncs[])(void) =
|
||||
{
|
||||
Select_OptionSummary,
|
||||
Select_OptionRentDeselect,
|
||||
@@ -517,17 +517,17 @@ static const union AnimCmd sAnim_Select_Pokeball_Moving[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd * const sAnims_Select_Interface[] =
|
||||
static const union AnimCmd *const sAnims_Select_Interface[] =
|
||||
{
|
||||
sAnim_Select_Interface,
|
||||
};
|
||||
|
||||
static const union AnimCmd * const sAnims_Select_MonPicBgAnim[] =
|
||||
static const union AnimCmd *const sAnims_Select_MonPicBgAnim[] =
|
||||
{
|
||||
sAnim_Select_MonPicBgAnim,
|
||||
};
|
||||
|
||||
static const union AnimCmd * const sAnims_Select_Pokeball[] =
|
||||
static const union AnimCmd *const sAnims_Select_Pokeball[] =
|
||||
{
|
||||
sAnim_Select_Pokeball_Still,
|
||||
sAnim_Select_Pokeball_Moving,
|
||||
@@ -569,7 +569,7 @@ static const union AffineAnimCmd sAffineAnim_Select_MonPicBg_Open[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd * const sAffineAnims_Select_MonPicBgAnim[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_Select_MonPicBgAnim[] =
|
||||
{
|
||||
sAffineAnim_Select_MonPicBg_Opening,
|
||||
sAffineAnim_Select_MonPicBg_Closing,
|
||||
@@ -772,17 +772,17 @@ static const union AnimCmd sAnim_Swap_Pokeball_Moving[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd * const sAnims_Swap_Interface[] =
|
||||
static const union AnimCmd *const sAnims_Swap_Interface[] =
|
||||
{
|
||||
sAnim_Swap_Interface,
|
||||
};
|
||||
|
||||
static const union AnimCmd * const sAnims_Swap_MonPicBgAnim[] =
|
||||
static const union AnimCmd *const sAnims_Swap_MonPicBgAnim[] =
|
||||
{
|
||||
sAnim_Swap_MonPicBgAnim,
|
||||
};
|
||||
|
||||
static const union AnimCmd * const sAnims_Swap_Pokeball[] =
|
||||
static const union AnimCmd *const sAnims_Swap_Pokeball[] =
|
||||
{
|
||||
sAnim_Swap_Pokeball_Still,
|
||||
sAnim_Swap_Pokeball_Moving,
|
||||
@@ -824,7 +824,7 @@ static const union AffineAnimCmd sAffineAnim_Swap_MonPicBg_Open[] =
|
||||
AFFINEANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd * const sAffineAnims_Swap_MonPicBgAnim[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_Swap_MonPicBgAnim[] =
|
||||
{
|
||||
sAffineAnim_Swap_MonPicBg_Opening,
|
||||
sAffineAnim_Swap_MonPicBg_Closing,
|
||||
@@ -886,7 +886,7 @@ static const struct SpriteTemplate sSpriteTemplate_Swap_MonPicBgAnim =
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
|
||||
void static (* const sSwap_MenuOptionFuncs[])(u8 taskId) =
|
||||
void static (*const sSwap_MenuOptionFuncs[])(u8 taskId) =
|
||||
{
|
||||
Swap_OptionSummary,
|
||||
Swap_OptionSwap,
|
||||
|
||||
+118
-118
@@ -27,8 +27,8 @@
|
||||
#include "constants/battle_palace.h"
|
||||
|
||||
extern const u8 gBattlePalaceNatureToMoveTarget[];
|
||||
extern const u8 * const gBattleAnims_General[];
|
||||
extern const u8 * const gBattleAnims_Special[];
|
||||
extern const u8 *const gBattleAnims_General[];
|
||||
extern const u8 *const gBattleAnims_Special[];
|
||||
extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow;
|
||||
extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow;
|
||||
|
||||
@@ -545,19 +545,19 @@ static void Task_ClearBitWhenSpecialAnimDone(u8 taskId)
|
||||
#undef tBattlerId
|
||||
|
||||
// Great function to include newly added moves that don't have animation yet.
|
||||
bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn)
|
||||
bool8 IsMoveWithoutAnimation(u16 move, u8 animationTurn)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// Check if SE has finished or 30 calls, whichever comes first
|
||||
bool8 IsBattleSEPlaying(u8 battlerId)
|
||||
bool8 IsBattleSEPlaying(u8 battler)
|
||||
{
|
||||
u8 zero = 0;
|
||||
|
||||
if (IsSEPlaying())
|
||||
{
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].soundTimer++;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battler].soundTimer++;
|
||||
if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].soundTimer < 30)
|
||||
return TRUE;
|
||||
|
||||
@@ -566,7 +566,7 @@ bool8 IsBattleSEPlaying(u8 battlerId)
|
||||
}
|
||||
if (zero == 0)
|
||||
{
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].soundTimer = 0;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battler].soundTimer = 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -574,7 +574,7 @@ bool8 IsBattleSEPlaying(u8 battlerId)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId)
|
||||
void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battler)
|
||||
{
|
||||
u32 monsPersonality, currentPersonality, otId;
|
||||
u16 species;
|
||||
@@ -584,50 +584,50 @@ void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId)
|
||||
|
||||
monsPersonality = GetMonData(mon, MON_DATA_PERSONALITY);
|
||||
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE)
|
||||
if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_NONE)
|
||||
{
|
||||
species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
currentPersonality = monsPersonality;
|
||||
}
|
||||
else
|
||||
{
|
||||
species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies;
|
||||
currentPersonality = gTransformedPersonalities[battlerId];
|
||||
species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies;
|
||||
currentPersonality = gTransformedPersonalities[battler];
|
||||
}
|
||||
|
||||
otId = GetMonData(mon, MON_DATA_OT_ID);
|
||||
position = GetBattlerPosition(battlerId);
|
||||
position = GetBattlerPosition(battler);
|
||||
HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species],
|
||||
gMonSpritesGfxPtr->sprites.ptr[position],
|
||||
species, currentPersonality);
|
||||
|
||||
paletteOffset = OBJ_PLTT_ID(battlerId);
|
||||
paletteOffset = OBJ_PLTT_ID(battler);
|
||||
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE)
|
||||
if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_NONE)
|
||||
lzPaletteData = GetMonFrontSpritePal(mon);
|
||||
else
|
||||
lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(species, otId, monsPersonality);
|
||||
|
||||
LZDecompressWram(lzPaletteData, gDecompressionBuffer);
|
||||
LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP);
|
||||
LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP);
|
||||
LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battler), PLTT_SIZE_4BPP);
|
||||
|
||||
if (species == SPECIES_CASTFORM)
|
||||
{
|
||||
paletteOffset = OBJ_PLTT_ID(battlerId);
|
||||
paletteOffset = OBJ_PLTT_ID(battler);
|
||||
LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette);
|
||||
LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, PLTT_SIZE_4BPP);
|
||||
LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battler]], paletteOffset, PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
// transform's pink color
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE)
|
||||
// transform's white color
|
||||
if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE)
|
||||
{
|
||||
BlendPalette(paletteOffset, 16, 6, RGB_WHITE);
|
||||
CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZEOF(16));
|
||||
}
|
||||
}
|
||||
|
||||
void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId)
|
||||
void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battler)
|
||||
{
|
||||
u32 monsPersonality, currentPersonality, otId;
|
||||
u16 species;
|
||||
@@ -637,21 +637,21 @@ void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId)
|
||||
|
||||
monsPersonality = GetMonData(mon, MON_DATA_PERSONALITY);
|
||||
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE)
|
||||
if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_NONE)
|
||||
{
|
||||
species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
currentPersonality = monsPersonality;
|
||||
}
|
||||
else
|
||||
{
|
||||
species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies;
|
||||
currentPersonality = gTransformedPersonalities[battlerId];
|
||||
species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies;
|
||||
currentPersonality = gTransformedPersonalities[battler];
|
||||
}
|
||||
|
||||
otId = GetMonData(mon, MON_DATA_OT_ID);
|
||||
position = GetBattlerPosition(battlerId);
|
||||
position = GetBattlerPosition(battler);
|
||||
|
||||
if (ShouldIgnoreDeoxysForm(1, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE)
|
||||
if (ShouldIgnoreDeoxysForm(1, battler) == TRUE || gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE)
|
||||
{
|
||||
HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species],
|
||||
gMonSpritesGfxPtr->sprites.ptr[position],
|
||||
@@ -664,26 +664,26 @@ void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId)
|
||||
species, currentPersonality);
|
||||
}
|
||||
|
||||
paletteOffset = OBJ_PLTT_ID(battlerId);
|
||||
paletteOffset = OBJ_PLTT_ID(battler);
|
||||
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE)
|
||||
if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_NONE)
|
||||
lzPaletteData = GetMonFrontSpritePal(mon);
|
||||
else
|
||||
lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(species, otId, monsPersonality);
|
||||
|
||||
LZDecompressWram(lzPaletteData, gDecompressionBuffer);
|
||||
LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP);
|
||||
LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP);
|
||||
LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battler), PLTT_SIZE_4BPP);
|
||||
|
||||
if (species == SPECIES_CASTFORM)
|
||||
{
|
||||
paletteOffset = OBJ_PLTT_ID(battlerId);
|
||||
paletteOffset = OBJ_PLTT_ID(battler);
|
||||
LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette);
|
||||
LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, PLTT_SIZE_4BPP);
|
||||
LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battler]], paletteOffset, PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
// transform's pink color
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE)
|
||||
if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE)
|
||||
{
|
||||
BlendPalette(paletteOffset, 16, 6, RGB_WHITE);
|
||||
CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZEOF(16));
|
||||
@@ -698,23 +698,23 @@ void BattleGfxSfxDummy2(u16 species)
|
||||
{
|
||||
}
|
||||
|
||||
void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId)
|
||||
void DecompressTrainerFrontPic(u16 frontPicId, u8 battler)
|
||||
{
|
||||
u8 position = GetBattlerPosition(battlerId);
|
||||
u8 position = GetBattlerPosition(battler);
|
||||
DecompressPicFromTable_2(&gTrainerFrontPicTable[frontPicId],
|
||||
gMonSpritesGfxPtr->sprites.ptr[position],
|
||||
SPECIES_NONE);
|
||||
LoadCompressedSpritePalette(&gTrainerFrontPicPaletteTable[frontPicId]);
|
||||
}
|
||||
|
||||
void DecompressTrainerBackPic(u16 backPicId, u8 battlerId)
|
||||
void DecompressTrainerBackPic(u16 backPicId, u8 battler)
|
||||
{
|
||||
u8 position = GetBattlerPosition(battlerId);
|
||||
u8 position = GetBattlerPosition(battler);
|
||||
DecompressPicFromTable_2(&gTrainerBackPicTable[backPicId],
|
||||
gMonSpritesGfxPtr->sprites.ptr[position],
|
||||
SPECIES_NONE);
|
||||
LoadCompressedPalette(gTrainerBackPicPaletteTable[backPicId].data,
|
||||
OBJ_PLTT_ID(battlerId), PLTT_SIZE_4BPP);
|
||||
OBJ_PLTT_ID(battler), PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
void BattleGfxSfxDummy3(u8 gender)
|
||||
@@ -778,11 +778,11 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state)
|
||||
}
|
||||
else if (state == 4)
|
||||
{
|
||||
LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[0]]);
|
||||
LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_0]]);
|
||||
}
|
||||
else if (state == 5)
|
||||
{
|
||||
LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[1]]);
|
||||
LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_1]]);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -800,13 +800,13 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state)
|
||||
else if (state == 5)
|
||||
LoadCompressedSpriteSheet(&sSpriteSheets_DoublesOpponentHealthbox[1]);
|
||||
else if (state == 6)
|
||||
LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[0]]);
|
||||
LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_0]]);
|
||||
else if (state == 7)
|
||||
LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[1]]);
|
||||
LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_1]]);
|
||||
else if (state == 8)
|
||||
LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[2]]);
|
||||
LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_2]]);
|
||||
else if (state == 9)
|
||||
LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[3]]);
|
||||
LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[B_BATTLER_3]]);
|
||||
else
|
||||
retVal = TRUE;
|
||||
}
|
||||
@@ -820,7 +820,7 @@ void LoadBattleBarGfx(u8 unused)
|
||||
LZDecompressWram(gBattleInterfaceGfx_BattleBar, gMonSpritesGfxPtr->barFontGfx);
|
||||
}
|
||||
|
||||
bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId)
|
||||
bool8 BattleInitAllSprites(u8 *state1, u8 *battler)
|
||||
{
|
||||
bool8 retVal = FALSE;
|
||||
|
||||
@@ -831,13 +831,13 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId)
|
||||
(*state1)++;
|
||||
break;
|
||||
case 1:
|
||||
if (!BattleLoadAllHealthBoxesGfx(*battlerId))
|
||||
if (!BattleLoadAllHealthBoxesGfx(*battler))
|
||||
{
|
||||
(*battlerId)++;
|
||||
(*battler)++;
|
||||
}
|
||||
else
|
||||
{
|
||||
*battlerId = 0;
|
||||
*battler = 0;
|
||||
(*state1)++;
|
||||
}
|
||||
break;
|
||||
@@ -845,47 +845,47 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId)
|
||||
(*state1)++;
|
||||
break;
|
||||
case 3:
|
||||
if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && *battlerId == 0)
|
||||
gHealthboxSpriteIds[*battlerId] = CreateSafariPlayerHealthboxSprites();
|
||||
if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && *battler == 0)
|
||||
gHealthboxSpriteIds[*battler] = CreateSafariPlayerHealthboxSprites();
|
||||
else
|
||||
gHealthboxSpriteIds[*battlerId] = CreateBattlerHealthboxSprites(*battlerId);
|
||||
gHealthboxSpriteIds[*battler] = CreateBattlerHealthboxSprites(*battler);
|
||||
|
||||
(*battlerId)++;
|
||||
if (*battlerId == gBattlersCount)
|
||||
(*battler)++;
|
||||
if (*battler == gBattlersCount)
|
||||
{
|
||||
*battlerId = 0;
|
||||
*battler = 0;
|
||||
(*state1)++;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
InitBattlerHealthboxCoords(*battlerId);
|
||||
if (gBattlerPositions[*battlerId] <= B_POSITION_OPPONENT_LEFT)
|
||||
DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battlerId], FALSE);
|
||||
InitBattlerHealthboxCoords(*battler);
|
||||
if (gBattlerPositions[*battler] <= B_POSITION_OPPONENT_LEFT)
|
||||
DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battler], FALSE);
|
||||
else
|
||||
DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battlerId], TRUE);
|
||||
DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battler], TRUE);
|
||||
|
||||
(*battlerId)++;
|
||||
if (*battlerId == gBattlersCount)
|
||||
(*battler)++;
|
||||
if (*battler == gBattlersCount)
|
||||
{
|
||||
*battlerId = 0;
|
||||
*battler = 0;
|
||||
(*state1)++;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (GetBattlerSide(*battlerId) == B_SIDE_PLAYER)
|
||||
if (GetBattlerSide(*battler) == B_SIDE_PLAYER)
|
||||
{
|
||||
if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI))
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[*battlerId], &gPlayerParty[gBattlerPartyIndexes[*battlerId]], HEALTHBOX_ALL);
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[*battler], &gPlayerParty[gBattlerPartyIndexes[*battler]], HEALTHBOX_ALL);
|
||||
}
|
||||
else
|
||||
{
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[*battlerId], &gEnemyParty[gBattlerPartyIndexes[*battlerId]], HEALTHBOX_ALL);
|
||||
UpdateHealthboxAttribute(gHealthboxSpriteIds[*battler], &gEnemyParty[gBattlerPartyIndexes[*battler]], HEALTHBOX_ALL);
|
||||
}
|
||||
SetHealthboxSpriteInvisible(gHealthboxSpriteIds[*battlerId]);
|
||||
(*battlerId)++;
|
||||
if (*battlerId == gBattlersCount)
|
||||
SetHealthboxSpriteInvisible(gHealthboxSpriteIds[*battler]);
|
||||
(*battler)++;
|
||||
if (*battler == gBattlersCount)
|
||||
{
|
||||
*battlerId = 0;
|
||||
*battler = 0;
|
||||
(*state1)++;
|
||||
}
|
||||
break;
|
||||
@@ -919,9 +919,9 @@ void CopyAllBattleSpritesInvisibilities(void)
|
||||
gBattleSpritesDataPtr->battlerData[i].invisible = gSprites[gBattlerSpriteIds[i]].invisible;
|
||||
}
|
||||
|
||||
void CopyBattleSpriteInvisibility(u8 battlerId)
|
||||
void CopyBattleSpriteInvisibility(u8 battler)
|
||||
{
|
||||
gBattleSpritesDataPtr->battlerData[battlerId].invisible = gSprites[gBattlerSpriteIds[battlerId]].invisible;
|
||||
gBattleSpritesDataPtr->battlerData[battler].invisible = gSprites[gBattlerSpriteIds[battler]].invisible;
|
||||
}
|
||||
|
||||
void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 castform)
|
||||
@@ -1023,7 +1023,7 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 castform)
|
||||
}
|
||||
}
|
||||
|
||||
void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite)
|
||||
void BattleLoadSubstituteOrMonSpriteGfx(u8 battler, bool8 loadMonSprite)
|
||||
{
|
||||
s32 i, position, palOffset;
|
||||
|
||||
@@ -1032,11 +1032,11 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite)
|
||||
if (IsContest())
|
||||
position = B_POSITION_PLAYER_LEFT;
|
||||
else
|
||||
position = GetBattlerPosition(battlerId);
|
||||
position = GetBattlerPosition(battler);
|
||||
|
||||
if (IsContest())
|
||||
LZDecompressVram(gSubstituteDollBackGfx, gMonSpritesGfxPtr->sprites.ptr[position]);
|
||||
else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
|
||||
else if (GetBattlerSide(battler) != B_SIDE_PLAYER)
|
||||
LZDecompressVram(gSubstituteDollFrontGfx, gMonSpritesGfxPtr->sprites.ptr[position]);
|
||||
else
|
||||
LZDecompressVram(gSubstituteDollBackGfx, gMonSpritesGfxPtr->sprites.ptr[position]);
|
||||
@@ -1046,66 +1046,66 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite)
|
||||
Dma3CopyLarge32_(gMonSpritesGfxPtr->sprites.ptr[position], &gMonSpritesGfxPtr->sprites.byte[position][MON_PIC_SIZE * i], MON_PIC_SIZE);
|
||||
}
|
||||
|
||||
palOffset = OBJ_PLTT_ID(battlerId);
|
||||
palOffset = OBJ_PLTT_ID(battler);
|
||||
LoadCompressedPalette(gSubstituteDollPal, palOffset, PLTT_SIZE_4BPP);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!IsContest())
|
||||
{
|
||||
if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
|
||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId);
|
||||
if (GetBattlerSide(battler) != B_SIDE_PLAYER)
|
||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battler]], battler);
|
||||
else
|
||||
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battlerId]], battlerId);
|
||||
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battler]], battler);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void LoadBattleMonGfxAndAnimate(u8 battlerId, bool8 loadMonSprite, u8 spriteId)
|
||||
void LoadBattleMonGfxAndAnimate(u8 battler, bool8 loadMonSprite, u8 spriteId)
|
||||
{
|
||||
BattleLoadSubstituteOrMonSpriteGfx(battlerId, loadMonSprite);
|
||||
StartSpriteAnim(&gSprites[spriteId], gBattleMonForms[battlerId]);
|
||||
BattleLoadSubstituteOrMonSpriteGfx(battler, loadMonSprite);
|
||||
StartSpriteAnim(&gSprites[spriteId], gBattleMonForms[battler]);
|
||||
|
||||
if (!loadMonSprite)
|
||||
gSprites[spriteId].y = GetSubstituteSpriteDefault_Y(battlerId);
|
||||
gSprites[spriteId].y = GetSubstituteSpriteDefault_Y(battler);
|
||||
else
|
||||
gSprites[spriteId].y = GetBattlerSpriteDefault_Y(battlerId);
|
||||
gSprites[spriteId].y = GetBattlerSpriteDefault_Y(battler);
|
||||
}
|
||||
|
||||
void TrySetBehindSubstituteSpriteBit(u8 battlerId, u16 move)
|
||||
void TrySetBehindSubstituteSpriteBit(u8 battler, u16 move)
|
||||
{
|
||||
if (move == MOVE_SUBSTITUTE)
|
||||
gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute = 1;
|
||||
gBattleSpritesDataPtr->battlerData[battler].behindSubstitute = 1;
|
||||
}
|
||||
|
||||
void ClearBehindSubstituteBit(u8 battlerId)
|
||||
void ClearBehindSubstituteBit(u8 battler)
|
||||
{
|
||||
gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute = 0;
|
||||
gBattleSpritesDataPtr->battlerData[battler].behindSubstitute = 0;
|
||||
}
|
||||
|
||||
void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId)
|
||||
void HandleLowHpMusicChange(struct Pokemon *mon, u8 battler)
|
||||
{
|
||||
u16 hp = GetMonData(mon, MON_DATA_HP);
|
||||
u16 maxHP = GetMonData(mon, MON_DATA_MAX_HP);
|
||||
|
||||
if (GetHPBarLevel(hp, maxHP) == HP_BAR_RED)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong)
|
||||
if (!gBattleSpritesDataPtr->battlerData[battler].lowHpSong)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battlerId)].lowHpSong)
|
||||
if (!gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battler)].lowHpSong)
|
||||
PlaySE(SE_LOW_HEALTH);
|
||||
gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong = 1;
|
||||
gBattleSpritesDataPtr->battlerData[battler].lowHpSong = 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong = 0;
|
||||
gBattleSpritesDataPtr->battlerData[battler].lowHpSong = 0;
|
||||
if (!IsDoubleBattle())
|
||||
{
|
||||
m4aSongNumStop(SE_LOW_HEALTH);
|
||||
return;
|
||||
}
|
||||
if (IsDoubleBattle() && !gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battlerId)].lowHpSong)
|
||||
if (IsDoubleBattle() && !gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battler)].lowHpSong)
|
||||
{
|
||||
m4aSongNumStop(SE_LOW_HEALTH);
|
||||
return;
|
||||
@@ -1174,46 +1174,46 @@ void SetBattlerSpriteAffineMode(u8 affineMode)
|
||||
|
||||
void LoadAndCreateEnemyShadowSprites(void)
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadow);
|
||||
|
||||
battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow,
|
||||
GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X),
|
||||
GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 29,
|
||||
battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
|
||||
gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow,
|
||||
GetBattlerSpriteCoord(battler, BATTLER_COORD_X),
|
||||
GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 29,
|
||||
0xC8);
|
||||
gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].data[0] = battlerId;
|
||||
gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].data[0] = battler;
|
||||
|
||||
if (IsDoubleBattle())
|
||||
{
|
||||
battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow,
|
||||
GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X),
|
||||
GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 29,
|
||||
battler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
|
||||
gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow,
|
||||
GetBattlerSpriteCoord(battler, BATTLER_COORD_X),
|
||||
GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 29,
|
||||
0xC8);
|
||||
gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].data[0] = battlerId;
|
||||
gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].data[0] = battler;
|
||||
}
|
||||
}
|
||||
|
||||
void SpriteCB_EnemyShadow(struct Sprite *shadowSprite)
|
||||
{
|
||||
bool8 invisible = FALSE;
|
||||
u8 battlerId = shadowSprite->tBattlerId;
|
||||
struct Sprite *battlerSprite = &gSprites[gBattlerSpriteIds[battlerId]];
|
||||
u8 battler = shadowSprite->tBattlerId;
|
||||
struct Sprite *battlerSprite = &gSprites[gBattlerSpriteIds[battler]];
|
||||
|
||||
if (!battlerSprite->inUse || !IsBattlerSpritePresent(battlerId))
|
||||
if (!battlerSprite->inUse || !IsBattlerSpritePresent(battler))
|
||||
{
|
||||
shadowSprite->callback = SpriteCB_SetInvisible;
|
||||
return;
|
||||
}
|
||||
if (gAnimScriptActive || battlerSprite->invisible)
|
||||
invisible = TRUE;
|
||||
else if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE
|
||||
&& gEnemyMonElevation[gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies] == 0)
|
||||
else if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE
|
||||
&& gEnemyMonElevation[gBattleSpritesDataPtr->battlerData[battler].transformSpecies] == 0)
|
||||
invisible = TRUE;
|
||||
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute)
|
||||
if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute)
|
||||
invisible = TRUE;
|
||||
|
||||
shadowSprite->x = battlerSprite->x;
|
||||
@@ -1228,24 +1228,24 @@ void SpriteCB_SetInvisible(struct Sprite *sprite)
|
||||
sprite->invisible = TRUE;
|
||||
}
|
||||
|
||||
void SetBattlerShadowSpriteCallback(u8 battlerId, u16 species)
|
||||
void SetBattlerShadowSpriteCallback(u8 battler, u16 species)
|
||||
{
|
||||
// The player's shadow is never seen.
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
return;
|
||||
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE)
|
||||
species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies;
|
||||
if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE)
|
||||
species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies;
|
||||
|
||||
if (gEnemyMonElevation[species] != 0)
|
||||
gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_EnemyShadow;
|
||||
gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_EnemyShadow;
|
||||
else
|
||||
gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_SetInvisible;
|
||||
gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_SetInvisible;
|
||||
}
|
||||
|
||||
void HideBattlerShadowSprite(u8 battlerId)
|
||||
void HideBattlerShadowSprite(u8 battler)
|
||||
{
|
||||
gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_SetInvisible;
|
||||
gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_SetInvisible;
|
||||
}
|
||||
|
||||
// Color the background tiles surrounding the action selection and move windows
|
||||
@@ -1272,12 +1272,12 @@ void FillAroundBattleWindows(void)
|
||||
}
|
||||
}
|
||||
|
||||
void ClearTemporarySpeciesSpriteData(u8 battlerId, bool8 dontClearSubstitute)
|
||||
void ClearTemporarySpeciesSpriteData(u8 battler, bool8 dontClearSubstitute)
|
||||
{
|
||||
gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies = SPECIES_NONE;
|
||||
gBattleMonForms[battlerId] = 0;
|
||||
gBattleSpritesDataPtr->battlerData[battler].transformSpecies = SPECIES_NONE;
|
||||
gBattleMonForms[battler] = 0;
|
||||
if (!dontClearSubstitute)
|
||||
ClearBehindSubstituteBit(battlerId);
|
||||
ClearBehindSubstituteBit(battler);
|
||||
}
|
||||
|
||||
void AllocateMonSpritesGfx(void)
|
||||
|
||||
+103
-103
@@ -866,7 +866,7 @@ static void UNUSED Debug_DrawNumberPair(s16 number1, s16 number2, u16 *dest)
|
||||
#define hBar_HealthBoxSpriteId data[5]
|
||||
#define hBar_Data6 data[6]
|
||||
|
||||
u8 CreateBattlerHealthboxSprites(u8 battlerId)
|
||||
u8 CreateBattlerHealthboxSprites(u8 battler)
|
||||
{
|
||||
s16 data6 = 0;
|
||||
u8 healthboxLeftSpriteId, healthboxRightSpriteId;
|
||||
@@ -875,7 +875,7 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId)
|
||||
|
||||
if (!IsDoubleBattle())
|
||||
{
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
{
|
||||
healthboxLeftSpriteId = CreateSprite(&sHealthboxPlayerSpriteTemplates[0], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1);
|
||||
healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[0], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1);
|
||||
@@ -901,10 +901,10 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
{
|
||||
healthboxLeftSpriteId = CreateSprite(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battlerId) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1);
|
||||
healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battlerId) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1);
|
||||
healthboxLeftSpriteId = CreateSprite(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battler) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1);
|
||||
healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battler) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1);
|
||||
|
||||
gSprites[healthboxLeftSpriteId].oam.affineParam = healthboxRightSpriteId;
|
||||
|
||||
@@ -916,8 +916,8 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId)
|
||||
}
|
||||
else
|
||||
{
|
||||
healthboxLeftSpriteId = CreateSprite(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battlerId) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1);
|
||||
healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battlerId) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1);
|
||||
healthboxLeftSpriteId = CreateSprite(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battler) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1);
|
||||
healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battler) / 2], DISPLAY_WIDTH, DISPLAY_HEIGHT, 1);
|
||||
|
||||
gSprites[healthboxLeftSpriteId].oam.affineParam = healthboxRightSpriteId;
|
||||
|
||||
@@ -929,16 +929,16 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId)
|
||||
}
|
||||
}
|
||||
|
||||
healthbarSpriteId = CreateSpriteAtEnd(&sHealthbarSpriteTemplates[gBattlerPositions[battlerId]], 140, 60, 0);
|
||||
healthbarSpriteId = CreateSpriteAtEnd(&sHealthbarSpriteTemplates[gBattlerPositions[battler]], 140, 60, 0);
|
||||
healthBarSpritePtr = &gSprites[healthbarSpriteId];
|
||||
SetSubspriteTables(healthBarSpritePtr, &sHealthBar_SubspriteTables[GetBattlerSide(battlerId)]);
|
||||
SetSubspriteTables(healthBarSpritePtr, &sHealthBar_SubspriteTables[GetBattlerSide(battler)]);
|
||||
healthBarSpritePtr->subspriteMode = SUBSPRITES_IGNORE_PRIORITY;
|
||||
healthBarSpritePtr->oam.priority = 1;
|
||||
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void *)(OBJ_VRAM0 + healthBarSpritePtr->oam.tileNum * TILE_SIZE_4BPP), 64);
|
||||
|
||||
gSprites[healthboxLeftSpriteId].hMain_HealthBarSpriteId = healthbarSpriteId;
|
||||
gSprites[healthboxLeftSpriteId].hMain_Battler = battlerId;
|
||||
gSprites[healthboxLeftSpriteId].hMain_Battler = battler;
|
||||
gSprites[healthboxLeftSpriteId].invisible = TRUE;
|
||||
|
||||
gSprites[healthboxRightSpriteId].invisible = TRUE;
|
||||
@@ -1012,13 +1012,13 @@ static void SpriteCB_HealthBoxOther(struct Sprite *sprite)
|
||||
sprite->y2 = gSprites[healthboxMainSpriteId].y2;
|
||||
}
|
||||
|
||||
void SetBattleBarStruct(u8 battlerId, u8 healthboxSpriteId, s32 maxVal, s32 oldVal, s32 receivedValue)
|
||||
void SetBattleBarStruct(u8 battler, u8 healthboxSpriteId, s32 maxVal, s32 oldVal, s32 receivedValue)
|
||||
{
|
||||
gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId = healthboxSpriteId;
|
||||
gBattleSpritesDataPtr->battleBars[battlerId].maxValue = maxVal;
|
||||
gBattleSpritesDataPtr->battleBars[battlerId].oldValue = oldVal;
|
||||
gBattleSpritesDataPtr->battleBars[battlerId].receivedValue = receivedValue;
|
||||
gBattleSpritesDataPtr->battleBars[battlerId].currValue = -32768;
|
||||
gBattleSpritesDataPtr->battleBars[battler].healthboxSpriteId = healthboxSpriteId;
|
||||
gBattleSpritesDataPtr->battleBars[battler].maxValue = maxVal;
|
||||
gBattleSpritesDataPtr->battleBars[battler].oldValue = oldVal;
|
||||
gBattleSpritesDataPtr->battleBars[battler].receivedValue = receivedValue;
|
||||
gBattleSpritesDataPtr->battleBars[battler].currValue = -32768;
|
||||
}
|
||||
|
||||
void SetHealthboxSpriteInvisible(u8 healthboxSpriteId)
|
||||
@@ -1251,12 +1251,12 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
|
||||
}
|
||||
else
|
||||
{
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
memcpy(text, sEmptyWhiteText_TransparentHighlight, sizeof(sEmptyWhiteText_TransparentHighlight));
|
||||
battlerId = gSprites[healthboxSpriteId].hMain_Battler;
|
||||
battler = gSprites[healthboxSpriteId].hMain_Battler;
|
||||
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars) // don't print text if only bars are visible
|
||||
if (gBattleSpritesDataPtr->battlerData[battler].hpNumbersNoBars) // don't print text if only bars are visible
|
||||
{
|
||||
u8 var = 4;
|
||||
u8 r7;
|
||||
@@ -1297,7 +1297,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) // Impossible to reach part, because the battlerId is from the opponent's side.
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER) // Impossible to reach part, because the battler is from the opponent's side.
|
||||
{
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_FRAME_END),
|
||||
(void *)(OBJ_VRAM0) + ((gSprites[healthboxSpriteId].oam.tileNum + 52) * TILE_SIZE_4BPP),
|
||||
@@ -1447,7 +1447,7 @@ void SwapHpBarsWithHpText(void)
|
||||
#define tIsBattleStart data[10]
|
||||
#define tBlend data[15]
|
||||
|
||||
u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, bool8 skipPlayer, bool8 isBattleStart)
|
||||
u8 CreatePartyStatusSummarySprites(u8 battler, struct HpAndStatus *partyInfo, bool8 skipPlayer, bool8 isBattleStart)
|
||||
{
|
||||
bool8 isOpponent;
|
||||
s16 bar_X, bar_Y, bar_pos2_X, bar_data0;
|
||||
@@ -1456,9 +1456,9 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
|
||||
u8 ballIconSpritesIds[PARTY_SIZE];
|
||||
u8 taskId;
|
||||
|
||||
if (!skipPlayer || GetBattlerPosition(battlerId) != B_POSITION_OPPONENT_RIGHT)
|
||||
if (!skipPlayer || GetBattlerPosition(battler) != B_POSITION_OPPONENT_RIGHT)
|
||||
{
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
{
|
||||
isOpponent = FALSE;
|
||||
bar_X = 136, bar_Y = 96;
|
||||
@@ -1537,7 +1537,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
|
||||
gSprites[ballIconSpritesIds[i]].data[2] = isOpponent;
|
||||
}
|
||||
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
{
|
||||
@@ -1650,7 +1650,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
|
||||
}
|
||||
|
||||
taskId = CreateTask(TaskDummy, 5);
|
||||
gTasks[taskId].tBattler = battlerId;
|
||||
gTasks[taskId].tBattler = battler;
|
||||
gTasks[taskId].tSummaryBarSpriteId = summaryBarSpriteId;
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
@@ -1673,12 +1673,12 @@ void Task_HidePartyStatusSummary(u8 taskId)
|
||||
u8 ballIconSpriteIds[PARTY_SIZE];
|
||||
bool8 isBattleStart;
|
||||
u8 summaryBarSpriteId;
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
s32 i;
|
||||
|
||||
isBattleStart = gTasks[taskId].tIsBattleStart;
|
||||
summaryBarSpriteId = gTasks[taskId].tSummaryBarSpriteId;
|
||||
battlerId = gTasks[taskId].tBattler;
|
||||
battler = gTasks[taskId].tBattler;
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
ballIconSpriteIds[i] = gTasks[taskId].tBallIconSpriteId(i);
|
||||
@@ -1697,7 +1697,7 @@ void Task_HidePartyStatusSummary(u8 taskId)
|
||||
{
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
|
||||
if (GetBattlerSide(battler) != B_SIDE_PLAYER)
|
||||
{
|
||||
gSprites[ballIconSpriteIds[PARTY_SIZE - 1 - i]].data[1] = 7 * i;
|
||||
gSprites[ballIconSpriteIds[PARTY_SIZE - 1 - i]].data[3] = 0;
|
||||
@@ -1742,7 +1742,7 @@ static void Task_HidePartyStatusSummary_BattleStart_2(u8 taskId)
|
||||
u8 ballIconSpriteIds[PARTY_SIZE];
|
||||
s32 i;
|
||||
|
||||
u8 battlerId = gTasks[taskId].tBattler;
|
||||
u8 battler = gTasks[taskId].tBattler;
|
||||
if (--gTasks[taskId].tBlend == -1)
|
||||
{
|
||||
u8 summaryBarSpriteId = gTasks[taskId].tSummaryBarSpriteId;
|
||||
@@ -1769,7 +1769,7 @@ static void Task_HidePartyStatusSummary_BattleStart_2(u8 taskId)
|
||||
}
|
||||
else if (gTasks[taskId].tBlend == -3)
|
||||
{
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].partyStatusSummaryShown = 0;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battler].partyStatusSummaryShown = 0;
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
DestroyTask(taskId);
|
||||
@@ -1780,7 +1780,7 @@ static void Task_HidePartyStatusSummary_DuringBattle(u8 taskId)
|
||||
{
|
||||
u8 ballIconSpriteIds[PARTY_SIZE];
|
||||
s32 i;
|
||||
u8 battlerId = gTasks[taskId].tBattler;
|
||||
u8 battler = gTasks[taskId].tBattler;
|
||||
|
||||
if (--gTasks[taskId].tBlend >= 0)
|
||||
{
|
||||
@@ -1801,7 +1801,7 @@ static void Task_HidePartyStatusSummary_DuringBattle(u8 taskId)
|
||||
}
|
||||
else if (gTasks[taskId].tBlend == -3)
|
||||
{
|
||||
gBattleSpritesDataPtr->healthBoxesData[battlerId].partyStatusSummaryShown = 0;
|
||||
gBattleSpritesDataPtr->healthBoxesData[battler].partyStatusSummaryShown = 0;
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
DestroyTask(taskId);
|
||||
@@ -1969,17 +1969,17 @@ static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon)
|
||||
|
||||
static void TryAddPokeballIconToHealthbox(u8 healthboxSpriteId, bool8 noStatus)
|
||||
{
|
||||
u8 battlerId, healthBarSpriteId;
|
||||
u8 battler, healthBarSpriteId;
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL)
|
||||
return;
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
|
||||
return;
|
||||
|
||||
battlerId = gSprites[healthboxSpriteId].hMain_Battler;
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
|
||||
battler = gSprites[healthboxSpriteId].hMain_Battler;
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
return;
|
||||
if (!GetSetPokedexFlag(SpeciesToNationalPokedexNum(GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES)), FLAG_GET_CAUGHT))
|
||||
if (!GetSetPokedexFlag(SpeciesToNationalPokedexNum(GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)), FLAG_GET_CAUGHT))
|
||||
return;
|
||||
|
||||
healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId;
|
||||
@@ -1993,17 +1993,17 @@ static void TryAddPokeballIconToHealthbox(u8 healthboxSpriteId, bool8 noStatus)
|
||||
static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId)
|
||||
{
|
||||
s32 i;
|
||||
u8 battlerId, healthBarSpriteId;
|
||||
u8 battler, healthBarSpriteId;
|
||||
u32 status, pltAdder;
|
||||
const u8 *statusGfxPtr;
|
||||
s16 tileNumAdder;
|
||||
u8 statusPalId;
|
||||
|
||||
battlerId = gSprites[healthboxSpriteId].hMain_Battler;
|
||||
battler = gSprites[healthboxSpriteId].hMain_Battler;
|
||||
healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId;
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
{
|
||||
status = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_STATUS);
|
||||
status = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_STATUS);
|
||||
if (!IsDoubleBattle())
|
||||
tileNumAdder = 0x1A;
|
||||
else
|
||||
@@ -2011,33 +2011,33 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId)
|
||||
}
|
||||
else
|
||||
{
|
||||
status = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_STATUS);
|
||||
status = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_STATUS);
|
||||
tileNumAdder = 0x11;
|
||||
}
|
||||
|
||||
if (status & STATUS1_SLEEP)
|
||||
{
|
||||
statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_SLP_BATTLER0, battlerId));
|
||||
statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_SLP_BATTLER0, battler));
|
||||
statusPalId = PAL_STATUS_SLP;
|
||||
}
|
||||
else if (status & STATUS1_PSN_ANY)
|
||||
{
|
||||
statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PSN_BATTLER0, battlerId));
|
||||
statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PSN_BATTLER0, battler));
|
||||
statusPalId = PAL_STATUS_PSN;
|
||||
}
|
||||
else if (status & STATUS1_BURN)
|
||||
{
|
||||
statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_BRN_BATTLER0, battlerId));
|
||||
statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_BRN_BATTLER0, battler));
|
||||
statusPalId = PAL_STATUS_BRN;
|
||||
}
|
||||
else if (status & STATUS1_FREEZE)
|
||||
{
|
||||
statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_FRZ_BATTLER0, battlerId));
|
||||
statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_FRZ_BATTLER0, battler));
|
||||
statusPalId = PAL_STATUS_FRZ;
|
||||
}
|
||||
else if (status & STATUS1_PARALYSIS)
|
||||
{
|
||||
statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PRZ_BATTLER0, battlerId));
|
||||
statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PRZ_BATTLER0, battler));
|
||||
statusPalId = PAL_STATUS_PAR;
|
||||
}
|
||||
else
|
||||
@@ -2047,7 +2047,7 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId)
|
||||
for (i = 0; i < 3; i++)
|
||||
CpuCopy32(statusGfxPtr, (void *)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder + i) * TILE_SIZE_4BPP), 32);
|
||||
|
||||
if (!gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars)
|
||||
if (!gBattleSpritesDataPtr->battlerData[battler].hpNumbersNoBars)
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void *)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 64);
|
||||
|
||||
TryAddPokeballIconToHealthbox(healthboxSpriteId, TRUE);
|
||||
@@ -2055,14 +2055,14 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId)
|
||||
}
|
||||
|
||||
pltAdder = PLTT_ID(gSprites[healthboxSpriteId].oam.paletteNum);
|
||||
pltAdder += battlerId + 12;
|
||||
pltAdder += battler + 12;
|
||||
|
||||
FillPalette(sStatusIconColors[statusPalId], OBJ_PLTT_OFFSET + pltAdder, PLTT_SIZEOF(1));
|
||||
CpuCopy16(&gPlttBufferUnfaded[OBJ_PLTT_OFFSET + pltAdder], (u16 *)OBJ_PLTT + pltAdder, PLTT_SIZEOF(1));
|
||||
CpuCopy32(statusGfxPtr, (void *)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder) * TILE_SIZE_4BPP), 96);
|
||||
if (IsDoubleBattle() == TRUE || GetBattlerSide(battlerId) == B_SIDE_OPPONENT)
|
||||
if (IsDoubleBattle() == TRUE || GetBattlerSide(battler) == B_SIDE_OPPONENT)
|
||||
{
|
||||
if (!gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars)
|
||||
if (!gBattleSpritesDataPtr->battlerData[battler].hpNumbersNoBars)
|
||||
{
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_0), (void *)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 32);
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_65), (void *)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 1) * TILE_SIZE_4BPP), 32);
|
||||
@@ -2071,58 +2071,58 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId)
|
||||
TryAddPokeballIconToHealthbox(healthboxSpriteId, FALSE);
|
||||
}
|
||||
|
||||
static u8 GetStatusIconForBattlerId(u8 statusElementId, u8 battlerId)
|
||||
static u8 GetStatusIconForBattlerId(u8 statusElementId, u8 battler)
|
||||
{
|
||||
u8 ret = statusElementId;
|
||||
|
||||
switch (statusElementId)
|
||||
{
|
||||
case HEALTHBOX_GFX_STATUS_PSN_BATTLER0:
|
||||
if (battlerId == 0)
|
||||
if (battler == 0)
|
||||
ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER0;
|
||||
else if (battlerId == 1)
|
||||
else if (battler == 1)
|
||||
ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER1;
|
||||
else if (battlerId == 2)
|
||||
else if (battler == 2)
|
||||
ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER2;
|
||||
else
|
||||
ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER3;
|
||||
break;
|
||||
case HEALTHBOX_GFX_STATUS_PRZ_BATTLER0:
|
||||
if (battlerId == 0)
|
||||
if (battler == 0)
|
||||
ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER0;
|
||||
else if (battlerId == 1)
|
||||
else if (battler == 1)
|
||||
ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER1;
|
||||
else if (battlerId == 2)
|
||||
else if (battler == 2)
|
||||
ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER2;
|
||||
else
|
||||
ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER3;
|
||||
break;
|
||||
case HEALTHBOX_GFX_STATUS_SLP_BATTLER0:
|
||||
if (battlerId == 0)
|
||||
if (battler == 0)
|
||||
ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER0;
|
||||
else if (battlerId == 1)
|
||||
else if (battler == 1)
|
||||
ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER1;
|
||||
else if (battlerId == 2)
|
||||
else if (battler == 2)
|
||||
ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER2;
|
||||
else
|
||||
ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER3;
|
||||
break;
|
||||
case HEALTHBOX_GFX_STATUS_FRZ_BATTLER0:
|
||||
if (battlerId == 0)
|
||||
if (battler == 0)
|
||||
ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER0;
|
||||
else if (battlerId == 1)
|
||||
else if (battler == 1)
|
||||
ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER1;
|
||||
else if (battlerId == 2)
|
||||
else if (battler == 2)
|
||||
ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER2;
|
||||
else
|
||||
ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER3;
|
||||
break;
|
||||
case HEALTHBOX_GFX_STATUS_BRN_BATTLER0:
|
||||
if (battlerId == 0)
|
||||
if (battler == 0)
|
||||
ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER0;
|
||||
else if (battlerId == 1)
|
||||
else if (battler == 1)
|
||||
ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER1;
|
||||
else if (battlerId == 2)
|
||||
else if (battler == 2)
|
||||
ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER2;
|
||||
else
|
||||
ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER3;
|
||||
@@ -2163,10 +2163,10 @@ static void UpdateLeftNoOfBallsTextOnHealthbox(u8 healthboxSpriteId)
|
||||
void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId)
|
||||
{
|
||||
s32 maxHp, currHp;
|
||||
u8 battlerId = gSprites[healthboxSpriteId].hMain_Battler;
|
||||
u8 battler = gSprites[healthboxSpriteId].hMain_Battler;
|
||||
|
||||
if (elementId == HEALTHBOX_ALL && !IsDoubleBattle())
|
||||
GetBattlerSide(battlerId); // Pointless function call.
|
||||
GetBattlerSide(battler); // Pointless function call.
|
||||
|
||||
if (GetBattlerSide(gSprites[healthboxSpriteId].hMain_Battler) == B_SIDE_PLAYER)
|
||||
{
|
||||
@@ -2183,8 +2183,8 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem
|
||||
LoadBattleBarGfx(0);
|
||||
maxHp = GetMonData(mon, MON_DATA_MAX_HP);
|
||||
currHp = GetMonData(mon, MON_DATA_HP);
|
||||
SetBattleBarStruct(battlerId, healthboxSpriteId, maxHp, currHp, 0);
|
||||
MoveBattleBar(battlerId, healthboxSpriteId, HEALTH_BAR, 0);
|
||||
SetBattleBarStruct(battler, healthboxSpriteId, maxHp, currHp, 0);
|
||||
MoveBattleBar(battler, healthboxSpriteId, HEALTH_BAR, 0);
|
||||
}
|
||||
isDoubles = IsDoubleBattle();
|
||||
if (!isDoubles && (elementId == HEALTHBOX_EXP_BAR || elementId == HEALTHBOX_ALL))
|
||||
@@ -2201,8 +2201,8 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem
|
||||
currLevelExp = gExperienceTables[gSpeciesInfo[species].growthRate][level];
|
||||
currExpBarValue = exp - currLevelExp;
|
||||
maxExpBarValue = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1] - currLevelExp;
|
||||
SetBattleBarStruct(battlerId, healthboxSpriteId, maxExpBarValue, currExpBarValue, isDoubles);
|
||||
MoveBattleBar(battlerId, healthboxSpriteId, EXP_BAR, 0);
|
||||
SetBattleBarStruct(battler, healthboxSpriteId, maxExpBarValue, currExpBarValue, isDoubles);
|
||||
MoveBattleBar(battler, healthboxSpriteId, EXP_BAR, 0);
|
||||
}
|
||||
if (elementId == HEALTHBOX_NICK || elementId == HEALTHBOX_ALL)
|
||||
UpdateNickInHealthbox(healthboxSpriteId, mon);
|
||||
@@ -2222,8 +2222,8 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem
|
||||
LoadBattleBarGfx(0);
|
||||
maxHp = GetMonData(mon, MON_DATA_MAX_HP);
|
||||
currHp = GetMonData(mon, MON_DATA_HP);
|
||||
SetBattleBarStruct(battlerId, healthboxSpriteId, maxHp, currHp, 0);
|
||||
MoveBattleBar(battlerId, healthboxSpriteId, HEALTH_BAR, 0);
|
||||
SetBattleBarStruct(battler, healthboxSpriteId, maxHp, currHp, 0);
|
||||
MoveBattleBar(battler, healthboxSpriteId, HEALTH_BAR, 0);
|
||||
}
|
||||
if (elementId == HEALTHBOX_NICK || elementId == HEALTHBOX_ALL)
|
||||
UpdateNickInHealthbox(healthboxSpriteId, mon);
|
||||
@@ -2235,44 +2235,44 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem
|
||||
#define B_EXPBAR_PIXELS 64
|
||||
#define B_HEALTHBAR_PIXELS 48
|
||||
|
||||
s32 MoveBattleBar(u8 battlerId, u8 healthboxSpriteId, u8 whichBar, u8 unused)
|
||||
s32 MoveBattleBar(u8 battler, u8 healthboxSpriteId, u8 whichBar, u8 unused)
|
||||
{
|
||||
s32 currentBarValue;
|
||||
|
||||
if (whichBar == HEALTH_BAR) // health bar
|
||||
{
|
||||
currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battlerId].maxValue,
|
||||
gBattleSpritesDataPtr->battleBars[battlerId].oldValue,
|
||||
gBattleSpritesDataPtr->battleBars[battlerId].receivedValue,
|
||||
&gBattleSpritesDataPtr->battleBars[battlerId].currValue,
|
||||
currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battler].maxValue,
|
||||
gBattleSpritesDataPtr->battleBars[battler].oldValue,
|
||||
gBattleSpritesDataPtr->battleBars[battler].receivedValue,
|
||||
&gBattleSpritesDataPtr->battleBars[battler].currValue,
|
||||
B_HEALTHBAR_PIXELS / 8, 1);
|
||||
}
|
||||
else // exp bar
|
||||
{
|
||||
u16 expFraction = GetScaledExpFraction(gBattleSpritesDataPtr->battleBars[battlerId].oldValue,
|
||||
gBattleSpritesDataPtr->battleBars[battlerId].receivedValue,
|
||||
gBattleSpritesDataPtr->battleBars[battlerId].maxValue, 8);
|
||||
u16 expFraction = GetScaledExpFraction(gBattleSpritesDataPtr->battleBars[battler].oldValue,
|
||||
gBattleSpritesDataPtr->battleBars[battler].receivedValue,
|
||||
gBattleSpritesDataPtr->battleBars[battler].maxValue, 8);
|
||||
if (expFraction == 0)
|
||||
expFraction = 1;
|
||||
expFraction = abs(gBattleSpritesDataPtr->battleBars[battlerId].receivedValue / expFraction);
|
||||
expFraction = abs(gBattleSpritesDataPtr->battleBars[battler].receivedValue / expFraction);
|
||||
|
||||
currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battlerId].maxValue,
|
||||
gBattleSpritesDataPtr->battleBars[battlerId].oldValue,
|
||||
gBattleSpritesDataPtr->battleBars[battlerId].receivedValue,
|
||||
&gBattleSpritesDataPtr->battleBars[battlerId].currValue,
|
||||
currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battler].maxValue,
|
||||
gBattleSpritesDataPtr->battleBars[battler].oldValue,
|
||||
gBattleSpritesDataPtr->battleBars[battler].receivedValue,
|
||||
&gBattleSpritesDataPtr->battleBars[battler].currValue,
|
||||
B_EXPBAR_PIXELS / 8, expFraction);
|
||||
}
|
||||
|
||||
if (whichBar == EXP_BAR || (whichBar == HEALTH_BAR && !gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars))
|
||||
MoveBattleBarGraphically(battlerId, whichBar);
|
||||
if (whichBar == EXP_BAR || (whichBar == HEALTH_BAR && !gBattleSpritesDataPtr->battlerData[battler].hpNumbersNoBars))
|
||||
MoveBattleBarGraphically(battler, whichBar);
|
||||
|
||||
if (currentBarValue == -1)
|
||||
gBattleSpritesDataPtr->battleBars[battlerId].currValue = 0;
|
||||
gBattleSpritesDataPtr->battleBars[battler].currValue = 0;
|
||||
|
||||
return currentBarValue;
|
||||
}
|
||||
|
||||
static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar)
|
||||
static void MoveBattleBarGraphically(u8 battler, u8 whichBar)
|
||||
{
|
||||
u8 array[8];
|
||||
u8 filledPixelsCount, level;
|
||||
@@ -2282,10 +2282,10 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar)
|
||||
switch (whichBar)
|
||||
{
|
||||
case HEALTH_BAR:
|
||||
filledPixelsCount = CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battlerId].maxValue,
|
||||
gBattleSpritesDataPtr->battleBars[battlerId].oldValue,
|
||||
gBattleSpritesDataPtr->battleBars[battlerId].receivedValue,
|
||||
&gBattleSpritesDataPtr->battleBars[battlerId].currValue,
|
||||
filledPixelsCount = CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battler].maxValue,
|
||||
gBattleSpritesDataPtr->battleBars[battler].oldValue,
|
||||
gBattleSpritesDataPtr->battleBars[battler].receivedValue,
|
||||
&gBattleSpritesDataPtr->battleBars[battler].currValue,
|
||||
array, B_HEALTHBAR_PIXELS / 8);
|
||||
|
||||
if (filledPixelsCount > (B_HEALTHBAR_PIXELS * 50 / 100)) // more than 50 % hp
|
||||
@@ -2297,7 +2297,7 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar)
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
{
|
||||
u8 healthbarSpriteId = gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].hMain_HealthBarSpriteId;
|
||||
u8 healthbarSpriteId = gSprites[gBattleSpritesDataPtr->battleBars[battler].healthboxSpriteId].hMain_HealthBarSpriteId;
|
||||
if (i < 2)
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(barElementId) + array[i] * 32,
|
||||
(void *)(OBJ_VRAM0 + (gSprites[healthbarSpriteId].oam.tileNum + 2 + i) * TILE_SIZE_4BPP), 32);
|
||||
@@ -2307,12 +2307,12 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar)
|
||||
}
|
||||
break;
|
||||
case EXP_BAR:
|
||||
CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battlerId].maxValue,
|
||||
gBattleSpritesDataPtr->battleBars[battlerId].oldValue,
|
||||
gBattleSpritesDataPtr->battleBars[battlerId].receivedValue,
|
||||
&gBattleSpritesDataPtr->battleBars[battlerId].currValue,
|
||||
CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battler].maxValue,
|
||||
gBattleSpritesDataPtr->battleBars[battler].oldValue,
|
||||
gBattleSpritesDataPtr->battleBars[battler].receivedValue,
|
||||
&gBattleSpritesDataPtr->battleBars[battler].currValue,
|
||||
array, B_EXPBAR_PIXELS / 8);
|
||||
level = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_LEVEL);
|
||||
level = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_LEVEL);
|
||||
if (level == MAX_LEVEL)
|
||||
{
|
||||
for (i = 0; i < 8; i++)
|
||||
@@ -2322,10 +2322,10 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar)
|
||||
{
|
||||
if (i < 4)
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_12) + array[i] * 32,
|
||||
(void *)(OBJ_VRAM0 + (gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum + 0x24 + i) * TILE_SIZE_4BPP), 32);
|
||||
(void *)(OBJ_VRAM0 + (gSprites[gBattleSpritesDataPtr->battleBars[battler].healthboxSpriteId].oam.tileNum + 0x24 + i) * TILE_SIZE_4BPP), 32);
|
||||
else
|
||||
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_12) + array[i] * 32,
|
||||
(void *)(OBJ_VRAM0 + 0xB80 + (i + gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum) * TILE_SIZE_4BPP), 32);
|
||||
(void *)(OBJ_VRAM0 + 0xB80 + (i + gSprites[gBattleSpritesDataPtr->battleBars[battler].healthboxSpriteId].oam.tileNum) * TILE_SIZE_4BPP), 32);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
+21
-21
@@ -24,16 +24,16 @@ static void BattleIntroSlidePartner(u8);
|
||||
|
||||
static const TaskFunc sBattleIntroSlideFuncs[] =
|
||||
{
|
||||
[BATTLE_TERRAIN_GRASS] = BattleIntroSlide1,
|
||||
[BATTLE_TERRAIN_LONG_GRASS] = BattleIntroSlide1,
|
||||
[BATTLE_TERRAIN_SAND] = BattleIntroSlide2,
|
||||
[BATTLE_TERRAIN_UNDERWATER] = BattleIntroSlide2,
|
||||
[BATTLE_TERRAIN_WATER] = BattleIntroSlide2,
|
||||
[BATTLE_TERRAIN_POND] = BattleIntroSlide1,
|
||||
[BATTLE_TERRAIN_MOUNTAIN] = BattleIntroSlide1,
|
||||
[BATTLE_TERRAIN_CAVE] = BattleIntroSlide1,
|
||||
[BATTLE_TERRAIN_BUILDING] = BattleIntroSlide3,
|
||||
[BATTLE_TERRAIN_PLAIN] = BattleIntroSlide3,
|
||||
[BATTLE_ENVIRONMENT_GRASS] = BattleIntroSlide1,
|
||||
[BATTLE_ENVIRONMENT_LONG_GRASS] = BattleIntroSlide1,
|
||||
[BATTLE_ENVIRONMENT_SAND] = BattleIntroSlide2,
|
||||
[BATTLE_ENVIRONMENT_UNDERWATER] = BattleIntroSlide2,
|
||||
[BATTLE_ENVIRONMENT_WATER] = BattleIntroSlide2,
|
||||
[BATTLE_ENVIRONMENT_POND] = BattleIntroSlide1,
|
||||
[BATTLE_ENVIRONMENT_MOUNTAIN] = BattleIntroSlide1,
|
||||
[BATTLE_ENVIRONMENT_CAVE] = BattleIntroSlide1,
|
||||
[BATTLE_ENVIRONMENT_BUILDING] = BattleIntroSlide3,
|
||||
[BATTLE_ENVIRONMENT_PLAIN] = BattleIntroSlide3,
|
||||
};
|
||||
|
||||
void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value)
|
||||
@@ -100,9 +100,9 @@ int GetAnimBgAttribute(u8 bgId, u8 attributeId)
|
||||
}
|
||||
|
||||
#define tState data[0]
|
||||
#define tTerrain data[1]
|
||||
#define tEnvironment data[1]
|
||||
|
||||
void HandleIntroSlide(u8 terrain)
|
||||
void HandleIntroSlide(u8 environment)
|
||||
{
|
||||
u8 taskId;
|
||||
|
||||
@@ -120,16 +120,16 @@ void HandleIntroSlide(u8 terrain)
|
||||
}
|
||||
else if ((gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) && gGameVersion != VERSION_RUBY)
|
||||
{
|
||||
terrain = BATTLE_TERRAIN_UNDERWATER;
|
||||
environment = BATTLE_ENVIRONMENT_UNDERWATER;
|
||||
taskId = CreateTask(BattleIntroSlide2, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
taskId = CreateTask(sBattleIntroSlideFuncs[terrain], 0);
|
||||
taskId = CreateTask(sBattleIntroSlideFuncs[environment], 0);
|
||||
}
|
||||
|
||||
gTasks[taskId].tState = 0;
|
||||
gTasks[taskId].tTerrain = terrain;
|
||||
gTasks[taskId].tEnvironment = environment;
|
||||
gTasks[taskId].data[2] = 0;
|
||||
gTasks[taskId].data[3] = 0;
|
||||
gTasks[taskId].data[4] = 0;
|
||||
@@ -194,7 +194,7 @@ static void BattleIntroSlide1(u8 taskId)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gTasks[taskId].tTerrain == BATTLE_TERRAIN_LONG_GRASS)
|
||||
if (gTasks[taskId].tEnvironment == BATTLE_ENVIRONMENT_LONG_GRASS)
|
||||
{
|
||||
if (gBattle_BG1_Y != (u16)(-80))
|
||||
gBattle_BG1_Y -= 2;
|
||||
@@ -240,18 +240,18 @@ static void BattleIntroSlide2(u8 taskId)
|
||||
{
|
||||
int i;
|
||||
|
||||
switch (gTasks[taskId].tTerrain)
|
||||
switch (gTasks[taskId].tEnvironment)
|
||||
{
|
||||
case BATTLE_TERRAIN_SAND:
|
||||
case BATTLE_TERRAIN_WATER:
|
||||
case BATTLE_ENVIRONMENT_SAND:
|
||||
case BATTLE_ENVIRONMENT_WATER:
|
||||
gBattle_BG1_X += 8;
|
||||
break;
|
||||
case BATTLE_TERRAIN_UNDERWATER:
|
||||
case BATTLE_ENVIRONMENT_UNDERWATER:
|
||||
gBattle_BG1_X += 6;
|
||||
break;
|
||||
}
|
||||
|
||||
if (gTasks[taskId].tTerrain == BATTLE_TERRAIN_WATER)
|
||||
if (gTasks[taskId].tEnvironment == BATTLE_ENVIRONMENT_WATER)
|
||||
{
|
||||
gBattle_BG1_Y = Cos2(gTasks[taskId].data[6]) / 512 - 8;
|
||||
if (gTasks[taskId].data[6] < 180)
|
||||
|
||||
+55
-59
@@ -144,10 +144,10 @@ EWRAM_DATA u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT] = {0};
|
||||
// it will instead overflow into useful data.
|
||||
EWRAM_DATA static u32 sFlickerArray[25] = {0};
|
||||
EWRAM_DATA u32 gBattleTypeFlags = 0;
|
||||
EWRAM_DATA u8 gBattleTerrain = 0;
|
||||
EWRAM_DATA u8 gBattleEnvironment = 0;
|
||||
EWRAM_DATA u32 gUnusedFirstBattleVar1 = 0; // Never read
|
||||
EWRAM_DATA struct MultiPartnerMenuPokemon gMultiPartnerParty[MULTI_PARTY_SIZE] = {0};
|
||||
EWRAM_DATA static struct MultiPartnerMenuPokemon* sMultiPartnerPartyBuffer = NULL;
|
||||
EWRAM_DATA static struct MultiPartnerMenuPokemon *sMultiPartnerPartyBuffer = NULL;
|
||||
EWRAM_DATA u8 *gBattleAnimBgTileBuffer = NULL;
|
||||
EWRAM_DATA u8 *gBattleAnimBgTilemapBuffer = NULL;
|
||||
EWRAM_DATA u8 gBattleBufferA[MAX_BATTLERS_COUNT][0x200] = {0};
|
||||
@@ -533,7 +533,7 @@ const struct TrainerMoney gTrainerMoneyTable[] =
|
||||
|
||||
#include "data/text/abilities.h"
|
||||
|
||||
static void (* const sTurnActionsFuncsTable[])(void) =
|
||||
static void (*const sTurnActionsFuncsTable[])(void) =
|
||||
{
|
||||
[B_ACTION_USE_MOVE] = HandleAction_UseMove,
|
||||
[B_ACTION_USE_ITEM] = HandleAction_UseItem,
|
||||
@@ -551,7 +551,7 @@ static void (* const sTurnActionsFuncsTable[])(void) =
|
||||
[B_ACTION_NOTHING_FAINTED] = HandleAction_NothingIsFainted,
|
||||
};
|
||||
|
||||
static void (* const sEndTurnFuncsTable[])(void) =
|
||||
static void (*const sEndTurnFuncsTable[])(void) =
|
||||
{
|
||||
[0] = HandleEndTurn_ContinueBattle,
|
||||
[B_OUTCOME_WON] = HandleEndTurn_BattleWon,
|
||||
@@ -574,7 +574,7 @@ const u8 gStatusConditionString_IceJpn[] = _("こおり$$$$");
|
||||
const u8 gStatusConditionString_ConfusionJpn[] = _("こんらん$$$");
|
||||
const u8 gStatusConditionString_LoveJpn[] = _("メロメロ$$$");
|
||||
|
||||
const u8 * const gStatusConditionStringsTable[][2] =
|
||||
const u8 *const gStatusConditionStringsTable[][2] =
|
||||
{
|
||||
{gStatusConditionString_PoisonJpn, gText_Poison},
|
||||
{gStatusConditionString_SleepJpn, gText_Sleep},
|
||||
@@ -669,9 +669,9 @@ static void CB2_InitBattleInternal(void)
|
||||
gBattle_BG3_X = 0;
|
||||
gBattle_BG3_Y = 0;
|
||||
|
||||
gBattleTerrain = BattleSetup_GetTerrainId();
|
||||
gBattleEnvironment = BattleSetup_GetEnvironmentId();
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
|
||||
gBattleTerrain = BATTLE_TERRAIN_BUILDING;
|
||||
gBattleEnvironment = BATTLE_ENVIRONMENT_BUILDING;
|
||||
|
||||
InitBattleBgsVideo();
|
||||
LoadBattleTextboxAndBackground();
|
||||
@@ -839,7 +839,7 @@ static void SetAllPlayersBerryData(void)
|
||||
{
|
||||
s32 numPlayers;
|
||||
struct BattleEnigmaBerry *src;
|
||||
u8 battlerId;
|
||||
u8 battler;
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
{
|
||||
@@ -851,17 +851,17 @@ static void SetAllPlayersBerryData(void)
|
||||
for (i = 0; i < numPlayers; i++)
|
||||
{
|
||||
src = (struct BattleEnigmaBerry *)(gBlockRecvBuffer[i] + 2);
|
||||
battlerId = gLinkPlayers[i].id;
|
||||
battler = gLinkPlayers[i].id;
|
||||
|
||||
for (j = 0; j < BERRY_NAME_LENGTH; j++)
|
||||
gEnigmaBerries[battlerId].name[j] = src->name[j];
|
||||
gEnigmaBerries[battlerId].name[j] = EOS;
|
||||
gEnigmaBerries[battler].name[j] = src->name[j];
|
||||
gEnigmaBerries[battler].name[j] = EOS;
|
||||
|
||||
for (j = 0; j < BERRY_ITEM_EFFECT_COUNT; j++)
|
||||
gEnigmaBerries[battlerId].itemEffect[j] = src->itemEffect[j];
|
||||
gEnigmaBerries[battler].itemEffect[j] = src->itemEffect[j];
|
||||
|
||||
gEnigmaBerries[battlerId].holdEffect = src->holdEffect;
|
||||
gEnigmaBerries[battlerId].holdEffectParam = src->holdEffectParam;
|
||||
gEnigmaBerries[battler].holdEffect = src->holdEffect;
|
||||
gEnigmaBerries[battler].holdEffectParam = src->holdEffectParam;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -3360,7 +3360,7 @@ static void BattleIntroGetMonsData(void)
|
||||
{
|
||||
case 0:
|
||||
gActiveBattler = gBattleCommunication[1];
|
||||
BtlController_EmitGetMonData(BUFFER_A, REQUEST_ALL_BATTLE, 0);
|
||||
BtlController_EmitGetMonData(B_COMM_TO_CONTROLLER, REQUEST_ALL_BATTLE, 0);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
gBattleCommunication[MULTIUSE_STATE]++;
|
||||
break;
|
||||
@@ -3382,7 +3382,7 @@ static void BattleIntroPrepareBackgroundSlide(void)
|
||||
if (gBattleControllerExecFlags == 0)
|
||||
{
|
||||
gActiveBattler = GetBattlerAtPosition(0);
|
||||
BtlController_EmitIntroSlide(BUFFER_A, gBattleTerrain);
|
||||
BtlController_EmitIntroSlide(B_COMM_TO_CONTROLLER, gBattleEnvironment);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
gBattleMainFunc = BattleIntroDrawTrainersOrMonsSprites;
|
||||
gBattleCommunication[MULTIUSE_STATE] = 0;
|
||||
@@ -3427,7 +3427,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
|
||||
|
||||
if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_LEFT)
|
||||
{
|
||||
BtlController_EmitDrawTrainerPic(BUFFER_A);
|
||||
BtlController_EmitDrawTrainerPic(B_COMM_TO_CONTROLLER);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
|
||||
@@ -3435,7 +3435,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
|
||||
{
|
||||
if (GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_LEFT)
|
||||
{
|
||||
BtlController_EmitDrawTrainerPic(BUFFER_A);
|
||||
BtlController_EmitDrawTrainerPic(B_COMM_TO_CONTROLLER);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT
|
||||
@@ -3460,7 +3460,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
|
||||
{
|
||||
HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality);
|
||||
}
|
||||
BtlController_EmitLoadMonSprite(BUFFER_A);
|
||||
BtlController_EmitLoadMonSprite(B_COMM_TO_CONTROLLER);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES, NULL);
|
||||
}
|
||||
@@ -3471,14 +3471,14 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
|
||||
if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_RIGHT
|
||||
|| GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT)
|
||||
{
|
||||
BtlController_EmitDrawTrainerPic(BUFFER_A);
|
||||
BtlController_EmitDrawTrainerPic(B_COMM_TO_CONTROLLER);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
}
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT)
|
||||
{
|
||||
BtlController_EmitDrawTrainerPic(BUFFER_A);
|
||||
BtlController_EmitDrawTrainerPic(B_COMM_TO_CONTROLLER);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
|
||||
@@ -3513,7 +3513,7 @@ static void BattleIntroDrawPartySummaryScreens(void)
|
||||
}
|
||||
}
|
||||
gActiveBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
|
||||
BtlController_EmitDrawPartyStatusSummary(BUFFER_A, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY);
|
||||
BtlController_EmitDrawPartyStatusSummary(B_COMM_TO_CONTROLLER, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
@@ -3531,7 +3531,7 @@ static void BattleIntroDrawPartySummaryScreens(void)
|
||||
}
|
||||
}
|
||||
gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
|
||||
BtlController_EmitDrawPartyStatusSummary(BUFFER_A, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY);
|
||||
BtlController_EmitDrawPartyStatusSummary(B_COMM_TO_CONTROLLER, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
|
||||
gBattleMainFunc = BattleIntroPrintTrainerWantsToBattle;
|
||||
@@ -3631,7 +3631,7 @@ static void BattleIntroOpponent2SendsOutMonAnimation(void)
|
||||
{
|
||||
if (GetBattlerPosition(gActiveBattler) == position)
|
||||
{
|
||||
BtlController_EmitIntroTrainerBallThrow(BUFFER_A);
|
||||
BtlController_EmitIntroTrainerBallThrow(B_COMM_TO_CONTROLLER);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
}
|
||||
@@ -3669,7 +3669,7 @@ static void BattleIntroOpponent1SendsOutMonAnimation(void)
|
||||
{
|
||||
if (GetBattlerPosition(gActiveBattler) == position)
|
||||
{
|
||||
BtlController_EmitIntroTrainerBallThrow(BUFFER_A);
|
||||
BtlController_EmitIntroTrainerBallThrow(B_COMM_TO_CONTROLLER);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS))
|
||||
{
|
||||
@@ -3761,7 +3761,7 @@ static void BattleIntroPlayer2SendsOutMonAnimation(void)
|
||||
{
|
||||
if (GetBattlerPosition(gActiveBattler) == position)
|
||||
{
|
||||
BtlController_EmitIntroTrainerBallThrow(BUFFER_A);
|
||||
BtlController_EmitIntroTrainerBallThrow(B_COMM_TO_CONTROLLER);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
}
|
||||
@@ -3800,7 +3800,7 @@ static void BattleIntroPlayer1SendsOutMonAnimation(void)
|
||||
{
|
||||
if (GetBattlerPosition(gActiveBattler) == position)
|
||||
{
|
||||
BtlController_EmitIntroTrainerBallThrow(BUFFER_A);
|
||||
BtlController_EmitIntroTrainerBallThrow(B_COMM_TO_CONTROLLER);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
if (gBattleTypeFlags & (BATTLE_TYPE_MULTI))
|
||||
{
|
||||
@@ -3825,7 +3825,7 @@ static void UNUSED BattleIntroSwitchInPlayerMons(void)
|
||||
{
|
||||
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
|
||||
{
|
||||
BtlController_EmitSwitchInAnim(BUFFER_A, gBattlerPartyIndexes[gActiveBattler], FALSE);
|
||||
BtlController_EmitSwitchInAnim(B_COMM_TO_CONTROLLER, gBattlerPartyIndexes[gActiveBattler], FALSE);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
}
|
||||
@@ -4027,7 +4027,7 @@ u8 IsRunningFromBattleImpossible(void)
|
||||
if (gBattleMons[gActiveBattler].item == ITEM_ENIGMA_BERRY)
|
||||
holdEffect = gEnigmaBerries[gActiveBattler].holdEffect;
|
||||
else
|
||||
holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item);
|
||||
holdEffect = GetItemHoldEffect(gBattleMons[gActiveBattler].item);
|
||||
|
||||
gPotentialItemEffectBattler = gActiveBattler;
|
||||
|
||||
@@ -4165,7 +4165,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
BtlController_EmitChooseAction(BUFFER_A, gChosenActionByBattler[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8));
|
||||
BtlController_EmitChooseAction(B_COMM_TO_CONTROLLER, gChosenActionByBattler[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8));
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
gBattleCommunication[gActiveBattler]++;
|
||||
}
|
||||
@@ -4173,7 +4173,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
}
|
||||
break;
|
||||
case STATE_WAIT_ACTION_CHOSEN: // Try to perform an action.
|
||||
if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12))))
|
||||
if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler))
|
||||
{
|
||||
RecordedBattle_SetBattlerAction(gActiveBattler, gBattleBufferB[gActiveBattler][1]);
|
||||
gChosenActionByBattler[gActiveBattler] = gBattleBufferB[gActiveBattler][1];
|
||||
@@ -4214,7 +4214,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
i);
|
||||
}
|
||||
|
||||
BtlController_EmitChooseMove(BUFFER_A, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, &moveInfo);
|
||||
BtlController_EmitChooseMove(B_COMM_TO_CONTROLLER, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, &moveInfo);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
break;
|
||||
@@ -4233,7 +4233,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
BtlController_EmitChooseItem(BUFFER_A, gBattleStruct->battlerPartyOrders[gActiveBattler]);
|
||||
BtlController_EmitChooseItem(B_COMM_TO_CONTROLLER, gBattleStruct->battlerPartyOrders[gActiveBattler]);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
break;
|
||||
@@ -4243,7 +4243,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
|| gBattleTypeFlags & BATTLE_TYPE_ARENA
|
||||
|| gStatuses3[gActiveBattler] & STATUS3_ROOTED)
|
||||
{
|
||||
BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]);
|
||||
BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]);
|
||||
}
|
||||
else if ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_SHADOW_TAG))
|
||||
|| ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_ARENA_TRAP))
|
||||
@@ -4252,16 +4252,16 @@ static void HandleTurnActionSelectionState(void)
|
||||
|| ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0))
|
||||
&& IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL)))
|
||||
{
|
||||
BtlController_EmitChoosePokemon(BUFFER_A, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gLastUsedAbility, gBattleStruct->battlerPartyOrders[gActiveBattler]);
|
||||
BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gLastUsedAbility, gBattleStruct->battlerPartyOrders[gActiveBattler]);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gActiveBattler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH)
|
||||
BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]);
|
||||
BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]);
|
||||
else if (gActiveBattler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH)
|
||||
BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]);
|
||||
BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]);
|
||||
else
|
||||
BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]);
|
||||
BtlController_EmitChoosePokemon(B_COMM_TO_CONTROLLER, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]);
|
||||
}
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
break;
|
||||
@@ -4276,7 +4276,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
}
|
||||
break;
|
||||
case B_ACTION_SAFARI_POKEBLOCK:
|
||||
BtlController_EmitChooseItem(BUFFER_A, gBattleStruct->battlerPartyOrders[gActiveBattler]);
|
||||
BtlController_EmitChooseItem(B_COMM_TO_CONTROLLER, gBattleStruct->battlerPartyOrders[gActiveBattler]);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
break;
|
||||
case B_ACTION_CANCEL_PARTNER:
|
||||
@@ -4286,7 +4286,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
if (gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_MULTIPLETURNS
|
||||
|| gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_RECHARGE)
|
||||
{
|
||||
BtlController_EmitEndBounceEffect(BUFFER_A);
|
||||
BtlController_EmitEndBounceEffect(B_COMM_TO_CONTROLLER);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
return;
|
||||
}
|
||||
@@ -4314,7 +4314,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
{
|
||||
RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 3);
|
||||
}
|
||||
BtlController_EmitEndBounceEffect(BUFFER_A);
|
||||
BtlController_EmitEndBounceEffect(B_COMM_TO_CONTROLLER);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
return;
|
||||
}
|
||||
@@ -4352,7 +4352,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
}
|
||||
break;
|
||||
case STATE_WAIT_ACTION_CASE_CHOSEN:
|
||||
if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12))))
|
||||
if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler))
|
||||
{
|
||||
switch (gChosenActionByBattler[gActiveBattler])
|
||||
{
|
||||
@@ -4456,11 +4456,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
}
|
||||
break;
|
||||
case STATE_WAIT_ACTION_CONFIRMED_STANDBY:
|
||||
if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler])
|
||||
| (0xF << 28)
|
||||
| (gBitTable[gActiveBattler] << 4)
|
||||
| (gBitTable[gActiveBattler] << 8)
|
||||
| (gBitTable[gActiveBattler] << 12))))
|
||||
if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler))
|
||||
{
|
||||
if (AllAtActionConfirmed())
|
||||
i = TRUE;
|
||||
@@ -4471,18 +4467,18 @@ static void HandleTurnActionSelectionState(void)
|
||||
|| (position & BIT_FLANK) != B_FLANK_LEFT
|
||||
|| (*(&gBattleStruct->absentBattlerFlags) & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(position))]))
|
||||
{
|
||||
BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_STOP_BOUNCE, i);
|
||||
BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_MSG_STOP_BOUNCE, i);
|
||||
}
|
||||
else
|
||||
{
|
||||
BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_STOP_BOUNCE_ONLY, i);
|
||||
BtlController_EmitLinkStandbyMsg(B_COMM_TO_CONTROLLER, LINK_STANDBY_STOP_BOUNCE_ONLY, i);
|
||||
}
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
gBattleCommunication[gActiveBattler]++;
|
||||
}
|
||||
break;
|
||||
case STATE_WAIT_ACTION_CONFIRMED:
|
||||
if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12))))
|
||||
if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler))
|
||||
{
|
||||
gBattleCommunication[ACTIONS_CONFIRMED_COUNT]++;
|
||||
}
|
||||
@@ -4496,7 +4492,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
{
|
||||
gBattlerAttacker = gActiveBattler;
|
||||
gBattlescriptCurrInstr = gSelectionBattleScripts[gActiveBattler];
|
||||
if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12))))
|
||||
if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler))
|
||||
{
|
||||
gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]]();
|
||||
}
|
||||
@@ -4504,7 +4500,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
}
|
||||
break;
|
||||
case STATE_WAIT_SET_BEFORE_ACTION:
|
||||
if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12))))
|
||||
if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler))
|
||||
{
|
||||
gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN;
|
||||
}
|
||||
@@ -4528,7 +4524,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
{
|
||||
gBattlerAttacker = gActiveBattler;
|
||||
gBattlescriptCurrInstr = gSelectionBattleScripts[gActiveBattler];
|
||||
if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12))))
|
||||
if (!IS_BATTLE_CONTROLLER_ACTIVE_OR_PENDING_SYNC_ANYWHERE(gActiveBattler))
|
||||
{
|
||||
gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]]();
|
||||
}
|
||||
@@ -4636,8 +4632,8 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves)
|
||||
}
|
||||
else
|
||||
{
|
||||
holdEffect = ItemId_GetHoldEffect(gBattleMons[battler1].item);
|
||||
holdEffectParam = ItemId_GetHoldEffectParam(gBattleMons[battler1].item);
|
||||
holdEffect = GetItemHoldEffect(gBattleMons[battler1].item);
|
||||
holdEffectParam = GetItemHoldEffectParam(gBattleMons[battler1].item);
|
||||
}
|
||||
|
||||
// badge boost
|
||||
@@ -4657,7 +4653,7 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves)
|
||||
if (holdEffect == HOLD_EFFECT_QUICK_CLAW && gRandomTurnNumber < (0xFFFF * holdEffectParam) / 100)
|
||||
speedBattler1 = UINT_MAX;
|
||||
|
||||
// check second battlerId's speed
|
||||
// check second battler's speed
|
||||
|
||||
speedBattler2 = (gBattleMons[battler2].speed * speedMultiplierBattler2)
|
||||
* (gStatStageRatios[gBattleMons[battler2].statStages[STAT_SPEED]][0])
|
||||
@@ -4670,8 +4666,8 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves)
|
||||
}
|
||||
else
|
||||
{
|
||||
holdEffect = ItemId_GetHoldEffect(gBattleMons[battler2].item);
|
||||
holdEffectParam = ItemId_GetHoldEffectParam(gBattleMons[battler2].item);
|
||||
holdEffect = GetItemHoldEffect(gBattleMons[battler2].item);
|
||||
holdEffectParam = GetItemHoldEffectParam(gBattleMons[battler2].item);
|
||||
}
|
||||
|
||||
// badge boost
|
||||
@@ -4953,7 +4949,7 @@ static void RunTurnActionsFunctions(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gBattleStruct->savedTurnActionNumber != gCurrentTurnActionNumber) // action turn has been done, clear hitmarker bits for another battlerId
|
||||
if (gBattleStruct->savedTurnActionNumber != gCurrentTurnActionNumber) // action turn has been done, clear hitmarker bits for another battler
|
||||
{
|
||||
gHitMarker &= ~HITMARKER_NO_ATTACKSTRING;
|
||||
gHitMarker &= ~HITMARKER_UNABLE_TO_USE_MOVE;
|
||||
|
||||
+12
-12
@@ -431,7 +431,7 @@ static const u8 sText_SpDef2[] = _("SP. DEF");
|
||||
static const u8 sText_Accuracy[] = _("accuracy");
|
||||
static const u8 sText_Evasiveness[] = _("evasiveness");
|
||||
|
||||
const u8 * const gStatNamesTable[NUM_BATTLE_STATS] =
|
||||
const u8 *const gStatNamesTable[NUM_BATTLE_STATS] =
|
||||
{
|
||||
[STAT_HP] = sText_HP2,
|
||||
[STAT_ATK] = sText_Attack2,
|
||||
@@ -449,7 +449,7 @@ static const u8 sText_PokeblockWasTooSweet[] = _("was too sweet!");
|
||||
static const u8 sText_PokeblockWasTooBitter[] = _("was too bitter!");
|
||||
static const u8 sText_PokeblockWasTooSour[] = _("was too sour!");
|
||||
|
||||
const u8 * const gPokeblockWasTooXStringTable[FLAVOR_COUNT] =
|
||||
const u8 *const gPokeblockWasTooXStringTable[FLAVOR_COUNT] =
|
||||
{
|
||||
[FLAVOR_SPICY] = sText_PokeblockWasTooSpicy,
|
||||
[FLAVOR_DRY] = sText_PokeblockWasTooDry,
|
||||
@@ -514,7 +514,7 @@ static const u8 sText_Trainer2WinText[];
|
||||
static const u8 sText_TwoInGameTrainersDefeated[];
|
||||
static const u8 sText_Trainer2LoseText[];
|
||||
|
||||
const u8 * const gBattleStringsTable[BATTLESTRINGS_COUNT - BATTLESTRINGS_TABLE_START] =
|
||||
const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT - BATTLESTRINGS_TABLE_START] =
|
||||
{
|
||||
[STRINGID_TRAINER1LOSETEXT - BATTLESTRINGS_TABLE_START] = sText_Trainer1LoseText,
|
||||
[STRINGID_PKMNGAINEDEXP - BATTLESTRINGS_TABLE_START] = sText_PkmnGainedEXP,
|
||||
@@ -1293,7 +1293,7 @@ static const u8 sText_SpAtk[] = _("SP. ATK");
|
||||
static const u8 sText_SpDef[] = _("SP. DEF");
|
||||
|
||||
// Unused
|
||||
static const u8 * const sStatNamesTable2[] =
|
||||
static const u8 *const sStatNamesTable2[] =
|
||||
{
|
||||
sText_HP, sText_SpAtk, sText_Attack,
|
||||
sText_SpDef, sText_Defense, sText_Speed
|
||||
@@ -1406,7 +1406,7 @@ static const u8 sText_LostToOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} lost t
|
||||
static const u8 sText_TiedOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} tied the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE's decision!");
|
||||
static const u8 sText_RefCommenceBattle[] = _("REFEREE: {B_PLAYER_MON1_NAME} VS {B_OPPONENT_MON1_NAME}!\nCommence battling!");
|
||||
|
||||
const u8 * const gRefereeStringsTable[] =
|
||||
const u8 *const gRefereeStringsTable[] =
|
||||
{
|
||||
[B_MSG_REF_NOTHING_IS_DECIDED] = sText_RefIfNothingIsDecided,
|
||||
[B_MSG_REF_THATS_IT] = sText_RefThatsIt,
|
||||
@@ -2283,8 +2283,8 @@ static const u8 *TryGetStatusString(u8 *src)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#define HANDLE_NICKNAME_STRING_CASE(battlerId, monIndex) \
|
||||
if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) \
|
||||
#define HANDLE_NICKNAME_STRING_CASE(battler, monIndex) \
|
||||
if (GetBattlerSide(battler) != B_SIDE_PLAYER) \
|
||||
{ \
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) \
|
||||
toCpy = sText_FoePkmnPrefix; \
|
||||
@@ -2422,7 +2422,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
|
||||
StringGet_Nickname(text);
|
||||
toCpy = text;
|
||||
break;
|
||||
case B_TXT_ATK_NAME_WITH_PREFIX_MON1: // attacker name with prefix, only battlerId 0/1
|
||||
case B_TXT_ATK_NAME_WITH_PREFIX_MON1: // attacker name with prefix, only battler 0/1
|
||||
HANDLE_NICKNAME_STRING_CASE(gBattlerAttacker,
|
||||
gBattlerPartyIndexes[GetBattlerAtPosition(GET_BATTLER_SIDE(gBattlerAttacker))])
|
||||
break;
|
||||
@@ -2441,13 +2441,13 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
|
||||
case B_TXT_DEF_NAME_WITH_PREFIX: // target name with prefix
|
||||
HANDLE_NICKNAME_STRING_CASE(gBattlerTarget, gBattlerPartyIndexes[gBattlerTarget])
|
||||
break;
|
||||
case B_TXT_EFF_NAME_WITH_PREFIX: // effect battlerId name with prefix
|
||||
case B_TXT_EFF_NAME_WITH_PREFIX: // effect battler name with prefix
|
||||
HANDLE_NICKNAME_STRING_CASE(gEffectBattler, gBattlerPartyIndexes[gEffectBattler])
|
||||
break;
|
||||
case B_TXT_ACTIVE_NAME_WITH_PREFIX: // active battlerId name with prefix
|
||||
case B_TXT_ACTIVE_NAME_WITH_PREFIX: // active battler name with prefix
|
||||
HANDLE_NICKNAME_STRING_CASE(gActiveBattler, gBattlerPartyIndexes[gActiveBattler])
|
||||
break;
|
||||
case B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX: // scripting active battlerId name with prefix
|
||||
case B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX: // scripting active battler name with prefix
|
||||
HANDLE_NICKNAME_STRING_CASE(gBattleScripting.battler, gBattlerPartyIndexes[gBattleScripting.battler])
|
||||
break;
|
||||
case B_TXT_CURRENT_MOVE: // current move name
|
||||
@@ -2519,7 +2519,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
|
||||
case B_TXT_SCR_ACTIVE_ABILITY: // scripting active ability
|
||||
toCpy = gAbilityNames[sBattlerAbilities[gBattleScripting.battler]];
|
||||
break;
|
||||
case B_TXT_EFF_ABILITY: // effect battlerId ability
|
||||
case B_TXT_EFF_ABILITY: // effect battler ability
|
||||
toCpy = gAbilityNames[sBattlerAbilities[gEffectBattler]];
|
||||
break;
|
||||
case B_TXT_TRAINER1_CLASS: // trainer class name
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ static void SetRandomPalacePrize(void);
|
||||
static void GivePalacePrize(void);
|
||||
|
||||
// Const rom data.
|
||||
static void (* const sBattlePalaceFunctions[])(void) =
|
||||
static void (*const sBattlePalaceFunctions[])(void) =
|
||||
{
|
||||
[BATTLE_PALACE_FUNC_INIT] = InitPalaceChallenge,
|
||||
[BATTLE_PALACE_FUNC_GET_DATA] = GetPalaceData,
|
||||
|
||||
+2
-2
@@ -476,7 +476,7 @@ static const u8 sFrontierBrainStreakAppearances[NUM_FRONTIER_FACILITIES][4] =
|
||||
[FRONTIER_FACILITY_PYRAMID] = {21, 70, 35, 0},
|
||||
};
|
||||
|
||||
static void (* const sBattlePikeFunctions[])(void) =
|
||||
static void (*const sBattlePikeFunctions[])(void) =
|
||||
{
|
||||
[BATTLE_PIKE_FUNC_SET_ROOM_TYPE] = SetRoomType,
|
||||
[BATTLE_PIKE_FUNC_GET_DATA] = GetBattlePikeData,
|
||||
@@ -531,7 +531,7 @@ static const u8 sNumMonsToHealBeforePikeQueen[][3] =
|
||||
{0, 1, 2},
|
||||
};
|
||||
|
||||
static bool8 (* const sStatusInflictionScreenFlashFuncs[])(struct Task *) =
|
||||
static bool8 (*const sStatusInflictionScreenFlashFuncs[])(struct Task *) =
|
||||
{
|
||||
StatusInflictionFadeOut, StatusInflictionFadeIn
|
||||
};
|
||||
|
||||
@@ -784,7 +784,7 @@ static const u8 sHintTextTypes[] =
|
||||
HINT_EXIT_SHORT_REMAINING_ITEMS,
|
||||
};
|
||||
|
||||
static void (* const sBattlePyramidFunctions[])(void) =
|
||||
static void (*const sBattlePyramidFunctions[])(void) =
|
||||
{
|
||||
[BATTLE_PYRAMID_FUNC_INIT] = InitPyramidChallenge,
|
||||
[BATTLE_PYRAMID_FUNC_GET_DATA] = GetBattlePyramidData,
|
||||
@@ -1023,7 +1023,7 @@ static void HidePyramidItem(void)
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
if (events[i].localId == 0)
|
||||
if (events[i].localId == LOCALID_NONE)
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1857,7 +1857,7 @@ static bool8 TrySetPyramidObjectEventPositionAtCoords(u8 objType, u8 x, u8 y, u8
|
||||
const struct MapHeader *mapHeader;
|
||||
struct ObjectEventTemplate *floorEvents = gSaveBlock1Ptr->objectEventTemplates;
|
||||
|
||||
mapHeader = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(BATTLE_PYRAMID_SQUARE01), floorLayoutOffsets[squareId] + MAP_NUM(BATTLE_PYRAMID_SQUARE01));
|
||||
mapHeader = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(MAP_BATTLE_PYRAMID_SQUARE01), floorLayoutOffsets[squareId] + MAP_NUM(MAP_BATTLE_PYRAMID_SQUARE01));
|
||||
for (i = 0; i < mapHeader->events->objectEventCount; i++)
|
||||
{
|
||||
if (mapHeader->events->objectEvents[i].x != x || mapHeader->events->objectEvents[i].y != y)
|
||||
@@ -1934,7 +1934,7 @@ u8 GetNumBattlePyramidObjectEvents(void)
|
||||
|
||||
for (i = 0; i < OBJECT_EVENTS_COUNT; i++)
|
||||
{
|
||||
if (events[i].localId == 0)
|
||||
if (events[i].localId == LOCALID_NONE)
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
+13
-13
@@ -327,7 +327,7 @@ static const union AnimCmd sAnim_PyramidBag[] =
|
||||
ANIMCMD_END,
|
||||
};
|
||||
|
||||
static const union AnimCmd * const sAnims_PyramidBag[] =
|
||||
static const union AnimCmd *const sAnims_PyramidBag[] =
|
||||
{
|
||||
sAnim_PyramidBag,
|
||||
};
|
||||
@@ -352,7 +352,7 @@ enum {
|
||||
ANIM_BAG_SHAKE,
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd * const sAffineAnims_PyramidBag[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_PyramidBag[] =
|
||||
{
|
||||
[ANIM_BAG_STILL] = sAffineAnim_PyramidBag_Still,
|
||||
[ANIM_BAG_SHAKE] = sAffineAnim_PyramidBag_Shake,
|
||||
@@ -620,7 +620,7 @@ static void SetBagItemsListTemplate(void)
|
||||
|
||||
static void CopyBagItemName(u8 *dst, u16 itemId)
|
||||
{
|
||||
if (ItemId_GetPocket(itemId) == POCKET_BERRIES)
|
||||
if (GetItemPocket(itemId) == POCKET_BERRIES)
|
||||
{
|
||||
ConvertIntToDecimalStringN(gStringVar1, ITEM_TO_BERRY(itemId), STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||
CopyItemName(itemId, gStringVar2);
|
||||
@@ -681,7 +681,7 @@ static void PrintItemDescription(s32 listMenuId)
|
||||
const u8 *desc;
|
||||
if (listMenuId != LIST_CANCEL)
|
||||
{
|
||||
desc = ItemId_GetDescription(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][listMenuId]);
|
||||
desc = GetItemDescription(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][listMenuId]);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -942,7 +942,7 @@ static void OpenContextMenu(u8 taskId)
|
||||
gPyramidBagMenu->menuActionsCount = ARRAY_COUNT(sMenuActionIds_Field);
|
||||
break;
|
||||
case PYRAMIDBAG_LOC_BATTLE:
|
||||
if (ItemId_GetBattleUsage(gSpecialVar_ItemId))
|
||||
if (GetItemBattleUsage(gSpecialVar_ItemId))
|
||||
{
|
||||
gPyramidBagMenu->menuActionIds = sMenuActionIds_Battle;
|
||||
gPyramidBagMenu->menuActionsCount = ARRAY_COUNT(sMenuActionIds_Battle);
|
||||
@@ -1085,7 +1085,7 @@ static void CloseMenuActionWindow(void)
|
||||
|
||||
static void BagAction_UseOnField(u8 taskId)
|
||||
{
|
||||
u8 pocketId = ItemId_GetPocket(gSpecialVar_ItemId);
|
||||
u8 pocketId = GetItemPocket(gSpecialVar_ItemId);
|
||||
|
||||
if (pocketId == POCKET_KEY_ITEMS
|
||||
|| pocketId == POCKET_POKE_BALLS
|
||||
@@ -1095,12 +1095,12 @@ static void BagAction_UseOnField(u8 taskId)
|
||||
CloseMenuActionWindow();
|
||||
DisplayItemMessageInBattlePyramid(taskId, gText_DadsAdvice, Task_CloseBattlePyramidBagMessage);
|
||||
}
|
||||
else if (ItemId_GetFieldFunc(gSpecialVar_ItemId) != NULL)
|
||||
else if (GetItemFieldFunc(gSpecialVar_ItemId) != NULL)
|
||||
{
|
||||
CloseMenuActionWindow();
|
||||
FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0));
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId);
|
||||
GetItemFieldFunc(gSpecialVar_ItemId)(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1250,7 +1250,7 @@ static void BagAction_Give(u8 taskId)
|
||||
{
|
||||
DisplayItemMessageInBattlePyramid(taskId, gText_CantWriteMail, Task_WaitCloseErrorMessage);
|
||||
}
|
||||
else if (!ItemId_GetImportance(gSpecialVar_ItemId))
|
||||
else if (!GetItemImportance(gSpecialVar_ItemId))
|
||||
{
|
||||
gPyramidBagMenu->newScreenCallback = CB2_ChooseMonToGiveItem;
|
||||
CloseBattlePyramidBag(taskId);
|
||||
@@ -1291,7 +1291,7 @@ static void TryCloseBagToGiveItem(u8 taskId)
|
||||
{
|
||||
if (!IsWritingMailAllowed(gSpecialVar_ItemId))
|
||||
DisplayItemMessageInBattlePyramid(taskId, gText_CantWriteMail, Task_WaitCloseErrorMessage);
|
||||
else if (!ItemId_GetImportance(gSpecialVar_ItemId))
|
||||
else if (!GetItemImportance(gSpecialVar_ItemId))
|
||||
CloseBattlePyramidBag(taskId);
|
||||
else
|
||||
ShowCantHoldMessage(taskId);
|
||||
@@ -1299,10 +1299,10 @@ static void TryCloseBagToGiveItem(u8 taskId)
|
||||
|
||||
static void BagAction_UseInBattle(u8 taskId)
|
||||
{
|
||||
if (ItemId_GetBattleFunc(gSpecialVar_ItemId) != NULL)
|
||||
if (GetItemBattleFunc(gSpecialVar_ItemId) != NULL)
|
||||
{
|
||||
CloseMenuActionWindow();
|
||||
ItemId_GetBattleFunc(gSpecialVar_ItemId)(taskId);
|
||||
GetItemBattleFunc(gSpecialVar_ItemId)(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1312,7 +1312,7 @@ static void Task_BeginItemSwap(u8 taskId)
|
||||
|
||||
tListPos = gPyramidBagMenuState.scrollPosition + gPyramidBagMenuState.cursorPosition;
|
||||
gPyramidBagMenu->toSwapPos = tListPos;
|
||||
ListMenuSetUnkIndicatorsStructField(tListTaskId, 0x10, 1);
|
||||
ListMenuSetTemplateField(tListTaskId, LISTFIELD_CURSORKIND, CURSOR_INVISIBLE);
|
||||
CopyItemName(gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.lvlMode][tListPos], gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_MoveVar1Where);
|
||||
FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0));
|
||||
|
||||
+16
-16
@@ -201,7 +201,7 @@ static void UpdateLinkBattleGameStats(s32 battleOutcome)
|
||||
IncrementGameStat(stat);
|
||||
}
|
||||
|
||||
static void UpdateLinkBattleRecords(struct LinkBattleRecords *records, const u8 *name, u16 trainerId, s32 battleOutcome, u8 battlerId)
|
||||
static void UpdateLinkBattleRecords(struct LinkBattleRecords *records, const u8 *name, u16 trainerId, s32 battleOutcome, u8 battler)
|
||||
{
|
||||
s32 index;
|
||||
|
||||
@@ -214,7 +214,7 @@ static void UpdateLinkBattleRecords(struct LinkBattleRecords *records, const u8
|
||||
ClearLinkBattleRecord(&records->entries[index]);
|
||||
StringCopyN(records->entries[index].name, name, PLAYER_NAME_LENGTH);
|
||||
records->entries[index].trainerId = trainerId;
|
||||
records->languages[index] = gLinkPlayers[battlerId].language;
|
||||
records->languages[index] = gLinkPlayers[battler].language;
|
||||
}
|
||||
UpdateLinkBattleRecord(&records->entries[index], battleOutcome);
|
||||
SortLinkBattleRecords(records);
|
||||
@@ -225,48 +225,48 @@ void ClearPlayerLinkBattleRecords(void)
|
||||
ClearLinkBattleRecords(gSaveBlock1Ptr->linkBattleRecords.entries);
|
||||
}
|
||||
|
||||
static void IncTrainerCardWins(s32 battlerId)
|
||||
static void IncTrainerCardWins(s32 battler)
|
||||
{
|
||||
u16 *wins = &gTrainerCards[battlerId].linkBattleWins;
|
||||
u16 *wins = &gTrainerCards[battler].linkBattleWins;
|
||||
(*wins)++;
|
||||
if (*wins > 9999)
|
||||
*wins = 9999;
|
||||
}
|
||||
|
||||
static void IncTrainerCardLosses(s32 battlerId)
|
||||
static void IncTrainerCardLosses(s32 battler)
|
||||
{
|
||||
u16 *losses = &gTrainerCards[battlerId].linkBattleLosses;
|
||||
u16 *losses = &gTrainerCards[battler].linkBattleLosses;
|
||||
(*losses)++;
|
||||
if (*losses > 9999)
|
||||
*losses = 9999;
|
||||
}
|
||||
|
||||
static void UpdateTrainerCardWinsLosses(s32 battlerId)
|
||||
static void UpdateTrainerCardWinsLosses(s32 battler)
|
||||
{
|
||||
switch (gBattleOutcome)
|
||||
{
|
||||
case B_OUTCOME_WON:
|
||||
IncTrainerCardWins(BATTLE_OPPOSITE(battlerId));
|
||||
IncTrainerCardLosses(battlerId);
|
||||
IncTrainerCardWins(BATTLE_OPPOSITE(battler));
|
||||
IncTrainerCardLosses(battler);
|
||||
break;
|
||||
case B_OUTCOME_LOST:
|
||||
IncTrainerCardLosses(BATTLE_OPPOSITE(battlerId));
|
||||
IncTrainerCardWins(battlerId);
|
||||
IncTrainerCardLosses(BATTLE_OPPOSITE(battler));
|
||||
IncTrainerCardWins(battler);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void UpdatePlayerLinkBattleRecords(s32 battlerId)
|
||||
void UpdatePlayerLinkBattleRecords(s32 battler)
|
||||
{
|
||||
if (InUnionRoom() != TRUE)
|
||||
{
|
||||
UpdateTrainerCardWinsLosses(battlerId);
|
||||
UpdateTrainerCardWinsLosses(battler);
|
||||
UpdateLinkBattleRecords(
|
||||
&gSaveBlock1Ptr->linkBattleRecords,
|
||||
gTrainerCards[battlerId].playerName,
|
||||
gTrainerCards[battlerId].trainerId,
|
||||
gTrainerCards[battler].playerName,
|
||||
gTrainerCards[battler].trainerId,
|
||||
gBattleOutcome,
|
||||
battlerId);
|
||||
battler);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+276
-207
File diff suppressed because it is too large
Load Diff
+100
-99
@@ -39,6 +39,7 @@
|
||||
#include "data.h"
|
||||
#include "constants/battle_frontier.h"
|
||||
#include "constants/battle_setup.h"
|
||||
#include "constants/event_objects.h"
|
||||
#include "constants/game_stat.h"
|
||||
#include "constants/items.h"
|
||||
#include "constants/songs.h"
|
||||
@@ -258,84 +259,84 @@ static const struct TrainerBattleParameter sTrainerBContinueScriptBattleParams[]
|
||||
|
||||
const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] =
|
||||
{
|
||||
[REMATCH_ROSE] = REMATCH(TRAINER_ROSE_1, TRAINER_ROSE_2, TRAINER_ROSE_3, TRAINER_ROSE_4, TRAINER_ROSE_5, ROUTE118),
|
||||
[REMATCH_ANDRES] = REMATCH(TRAINER_ANDRES_1, TRAINER_ANDRES_2, TRAINER_ANDRES_3, TRAINER_ANDRES_4, TRAINER_ANDRES_5, ROUTE105),
|
||||
[REMATCH_DUSTY] = REMATCH(TRAINER_DUSTY_1, TRAINER_DUSTY_2, TRAINER_DUSTY_3, TRAINER_DUSTY_4, TRAINER_DUSTY_5, ROUTE111),
|
||||
[REMATCH_LOLA] = REMATCH(TRAINER_LOLA_1, TRAINER_LOLA_2, TRAINER_LOLA_3, TRAINER_LOLA_4, TRAINER_LOLA_5, ROUTE109),
|
||||
[REMATCH_RICKY] = REMATCH(TRAINER_RICKY_1, TRAINER_RICKY_2, TRAINER_RICKY_3, TRAINER_RICKY_4, TRAINER_RICKY_5, ROUTE109),
|
||||
[REMATCH_LILA_AND_ROY] = REMATCH(TRAINER_LILA_AND_ROY_1, TRAINER_LILA_AND_ROY_2, TRAINER_LILA_AND_ROY_3, TRAINER_LILA_AND_ROY_4, TRAINER_LILA_AND_ROY_5, ROUTE124),
|
||||
[REMATCH_CRISTIN] = REMATCH(TRAINER_CRISTIN_1, TRAINER_CRISTIN_2, TRAINER_CRISTIN_3, TRAINER_CRISTIN_4, TRAINER_CRISTIN_5, ROUTE121),
|
||||
[REMATCH_BROOKE] = REMATCH(TRAINER_BROOKE_1, TRAINER_BROOKE_2, TRAINER_BROOKE_3, TRAINER_BROOKE_4, TRAINER_BROOKE_5, ROUTE111),
|
||||
[REMATCH_WILTON] = REMATCH(TRAINER_WILTON_1, TRAINER_WILTON_2, TRAINER_WILTON_3, TRAINER_WILTON_4, TRAINER_WILTON_5, ROUTE111),
|
||||
[REMATCH_VALERIE] = REMATCH(TRAINER_VALERIE_1, TRAINER_VALERIE_2, TRAINER_VALERIE_3, TRAINER_VALERIE_4, TRAINER_VALERIE_5, MT_PYRE_6F),
|
||||
[REMATCH_CINDY] = REMATCH(TRAINER_CINDY_1, TRAINER_CINDY_3, TRAINER_CINDY_4, TRAINER_CINDY_5, TRAINER_CINDY_6, ROUTE104),
|
||||
[REMATCH_THALIA] = REMATCH(TRAINER_THALIA_1, TRAINER_THALIA_2, TRAINER_THALIA_3, TRAINER_THALIA_4, TRAINER_THALIA_5, ABANDONED_SHIP_ROOMS_1F),
|
||||
[REMATCH_JESSICA] = REMATCH(TRAINER_JESSICA_1, TRAINER_JESSICA_2, TRAINER_JESSICA_3, TRAINER_JESSICA_4, TRAINER_JESSICA_5, ROUTE121),
|
||||
[REMATCH_WINSTON] = REMATCH(TRAINER_WINSTON_1, TRAINER_WINSTON_2, TRAINER_WINSTON_3, TRAINER_WINSTON_4, TRAINER_WINSTON_5, ROUTE104),
|
||||
[REMATCH_STEVE] = REMATCH(TRAINER_STEVE_1, TRAINER_STEVE_2, TRAINER_STEVE_3, TRAINER_STEVE_4, TRAINER_STEVE_5, ROUTE114),
|
||||
[REMATCH_TONY] = REMATCH(TRAINER_TONY_1, TRAINER_TONY_2, TRAINER_TONY_3, TRAINER_TONY_4, TRAINER_TONY_5, ROUTE107),
|
||||
[REMATCH_NOB] = REMATCH(TRAINER_NOB_1, TRAINER_NOB_2, TRAINER_NOB_3, TRAINER_NOB_4, TRAINER_NOB_5, ROUTE115),
|
||||
[REMATCH_KOJI] = REMATCH(TRAINER_KOJI_1, TRAINER_KOJI_2, TRAINER_KOJI_3, TRAINER_KOJI_4, TRAINER_KOJI_5, ROUTE127),
|
||||
[REMATCH_FERNANDO] = REMATCH(TRAINER_FERNANDO_1, TRAINER_FERNANDO_2, TRAINER_FERNANDO_3, TRAINER_FERNANDO_4, TRAINER_FERNANDO_5, ROUTE123),
|
||||
[REMATCH_DALTON] = REMATCH(TRAINER_DALTON_1, TRAINER_DALTON_2, TRAINER_DALTON_3, TRAINER_DALTON_4, TRAINER_DALTON_5, ROUTE118),
|
||||
[REMATCH_BERNIE] = REMATCH(TRAINER_BERNIE_1, TRAINER_BERNIE_2, TRAINER_BERNIE_3, TRAINER_BERNIE_4, TRAINER_BERNIE_5, ROUTE114),
|
||||
[REMATCH_ETHAN] = REMATCH(TRAINER_ETHAN_1, TRAINER_ETHAN_2, TRAINER_ETHAN_3, TRAINER_ETHAN_4, TRAINER_ETHAN_5, JAGGED_PASS),
|
||||
[REMATCH_JOHN_AND_JAY] = REMATCH(TRAINER_JOHN_AND_JAY_1, TRAINER_JOHN_AND_JAY_2, TRAINER_JOHN_AND_JAY_3, TRAINER_JOHN_AND_JAY_4, TRAINER_JOHN_AND_JAY_5, METEOR_FALLS_1F_2R),
|
||||
[REMATCH_JEFFREY] = REMATCH(TRAINER_JEFFREY_1, TRAINER_JEFFREY_2, TRAINER_JEFFREY_3, TRAINER_JEFFREY_4, TRAINER_JEFFREY_5, ROUTE120),
|
||||
[REMATCH_CAMERON] = REMATCH(TRAINER_CAMERON_1, TRAINER_CAMERON_2, TRAINER_CAMERON_3, TRAINER_CAMERON_4, TRAINER_CAMERON_5, ROUTE123),
|
||||
[REMATCH_JACKI] = REMATCH(TRAINER_JACKI_1, TRAINER_JACKI_2, TRAINER_JACKI_3, TRAINER_JACKI_4, TRAINER_JACKI_5, ROUTE123),
|
||||
[REMATCH_WALTER] = REMATCH(TRAINER_WALTER_1, TRAINER_WALTER_2, TRAINER_WALTER_3, TRAINER_WALTER_4, TRAINER_WALTER_5, ROUTE121),
|
||||
[REMATCH_KAREN] = REMATCH(TRAINER_KAREN_1, TRAINER_KAREN_2, TRAINER_KAREN_3, TRAINER_KAREN_4, TRAINER_KAREN_5, ROUTE116),
|
||||
[REMATCH_JERRY] = REMATCH(TRAINER_JERRY_1, TRAINER_JERRY_2, TRAINER_JERRY_3, TRAINER_JERRY_4, TRAINER_JERRY_5, ROUTE116),
|
||||
[REMATCH_ANNA_AND_MEG] = REMATCH(TRAINER_ANNA_AND_MEG_1, TRAINER_ANNA_AND_MEG_2, TRAINER_ANNA_AND_MEG_3, TRAINER_ANNA_AND_MEG_4, TRAINER_ANNA_AND_MEG_5, ROUTE117),
|
||||
[REMATCH_ISABEL] = REMATCH(TRAINER_ISABEL_1, TRAINER_ISABEL_2, TRAINER_ISABEL_3, TRAINER_ISABEL_4, TRAINER_ISABEL_5, ROUTE110),
|
||||
[REMATCH_MIGUEL] = REMATCH(TRAINER_MIGUEL_1, TRAINER_MIGUEL_2, TRAINER_MIGUEL_3, TRAINER_MIGUEL_4, TRAINER_MIGUEL_5, ROUTE103),
|
||||
[REMATCH_TIMOTHY] = REMATCH(TRAINER_TIMOTHY_1, TRAINER_TIMOTHY_2, TRAINER_TIMOTHY_3, TRAINER_TIMOTHY_4, TRAINER_TIMOTHY_5, ROUTE115),
|
||||
[REMATCH_SHELBY] = REMATCH(TRAINER_SHELBY_1, TRAINER_SHELBY_2, TRAINER_SHELBY_3, TRAINER_SHELBY_4, TRAINER_SHELBY_5, MT_CHIMNEY),
|
||||
[REMATCH_CALVIN] = REMATCH(TRAINER_CALVIN_1, TRAINER_CALVIN_2, TRAINER_CALVIN_3, TRAINER_CALVIN_4, TRAINER_CALVIN_5, ROUTE102),
|
||||
[REMATCH_ELLIOT] = REMATCH(TRAINER_ELLIOT_1, TRAINER_ELLIOT_2, TRAINER_ELLIOT_3, TRAINER_ELLIOT_4, TRAINER_ELLIOT_5, ROUTE106),
|
||||
[REMATCH_ISAIAH] = REMATCH(TRAINER_ISAIAH_1, TRAINER_ISAIAH_2, TRAINER_ISAIAH_3, TRAINER_ISAIAH_4, TRAINER_ISAIAH_5, ROUTE128),
|
||||
[REMATCH_MARIA] = REMATCH(TRAINER_MARIA_1, TRAINER_MARIA_2, TRAINER_MARIA_3, TRAINER_MARIA_4, TRAINER_MARIA_5, ROUTE117),
|
||||
[REMATCH_ABIGAIL] = REMATCH(TRAINER_ABIGAIL_1, TRAINER_ABIGAIL_2, TRAINER_ABIGAIL_3, TRAINER_ABIGAIL_4, TRAINER_ABIGAIL_5, ROUTE110),
|
||||
[REMATCH_DYLAN] = REMATCH(TRAINER_DYLAN_1, TRAINER_DYLAN_2, TRAINER_DYLAN_3, TRAINER_DYLAN_4, TRAINER_DYLAN_5, ROUTE117),
|
||||
[REMATCH_KATELYN] = REMATCH(TRAINER_KATELYN_1, TRAINER_KATELYN_2, TRAINER_KATELYN_3, TRAINER_KATELYN_4, TRAINER_KATELYN_5, ROUTE128),
|
||||
[REMATCH_BENJAMIN] = REMATCH(TRAINER_BENJAMIN_1, TRAINER_BENJAMIN_2, TRAINER_BENJAMIN_3, TRAINER_BENJAMIN_4, TRAINER_BENJAMIN_5, ROUTE110),
|
||||
[REMATCH_PABLO] = REMATCH(TRAINER_PABLO_1, TRAINER_PABLO_2, TRAINER_PABLO_3, TRAINER_PABLO_4, TRAINER_PABLO_5, ROUTE126),
|
||||
[REMATCH_NICOLAS] = REMATCH(TRAINER_NICOLAS_1, TRAINER_NICOLAS_2, TRAINER_NICOLAS_3, TRAINER_NICOLAS_4, TRAINER_NICOLAS_5, METEOR_FALLS_1F_2R),
|
||||
[REMATCH_ROBERT] = REMATCH(TRAINER_ROBERT_1, TRAINER_ROBERT_2, TRAINER_ROBERT_3, TRAINER_ROBERT_4, TRAINER_ROBERT_5, ROUTE120),
|
||||
[REMATCH_LAO] = REMATCH(TRAINER_LAO_1, TRAINER_LAO_2, TRAINER_LAO_3, TRAINER_LAO_4, TRAINER_LAO_5, ROUTE113),
|
||||
[REMATCH_CYNDY] = REMATCH(TRAINER_CYNDY_1, TRAINER_CYNDY_2, TRAINER_CYNDY_3, TRAINER_CYNDY_4, TRAINER_CYNDY_5, ROUTE115),
|
||||
[REMATCH_MADELINE] = REMATCH(TRAINER_MADELINE_1, TRAINER_MADELINE_2, TRAINER_MADELINE_3, TRAINER_MADELINE_4, TRAINER_MADELINE_5, ROUTE113),
|
||||
[REMATCH_JENNY] = REMATCH(TRAINER_JENNY_1, TRAINER_JENNY_2, TRAINER_JENNY_3, TRAINER_JENNY_4, TRAINER_JENNY_5, ROUTE124),
|
||||
[REMATCH_DIANA] = REMATCH(TRAINER_DIANA_1, TRAINER_DIANA_2, TRAINER_DIANA_3, TRAINER_DIANA_4, TRAINER_DIANA_5, JAGGED_PASS),
|
||||
[REMATCH_AMY_AND_LIV] = REMATCH(TRAINER_AMY_AND_LIV_1, TRAINER_AMY_AND_LIV_2, TRAINER_AMY_AND_LIV_4, TRAINER_AMY_AND_LIV_5, TRAINER_AMY_AND_LIV_6, ROUTE103),
|
||||
[REMATCH_ERNEST] = REMATCH(TRAINER_ERNEST_1, TRAINER_ERNEST_2, TRAINER_ERNEST_3, TRAINER_ERNEST_4, TRAINER_ERNEST_5, ROUTE125),
|
||||
[REMATCH_CORY] = REMATCH(TRAINER_CORY_1, TRAINER_CORY_2, TRAINER_CORY_3, TRAINER_CORY_4, TRAINER_CORY_5, ROUTE108),
|
||||
[REMATCH_EDWIN] = REMATCH(TRAINER_EDWIN_1, TRAINER_EDWIN_2, TRAINER_EDWIN_3, TRAINER_EDWIN_4, TRAINER_EDWIN_5, ROUTE110),
|
||||
[REMATCH_LYDIA] = REMATCH(TRAINER_LYDIA_1, TRAINER_LYDIA_2, TRAINER_LYDIA_3, TRAINER_LYDIA_4, TRAINER_LYDIA_5, ROUTE117),
|
||||
[REMATCH_ISAAC] = REMATCH(TRAINER_ISAAC_1, TRAINER_ISAAC_2, TRAINER_ISAAC_3, TRAINER_ISAAC_4, TRAINER_ISAAC_5, ROUTE117),
|
||||
[REMATCH_GABRIELLE] = REMATCH(TRAINER_GABRIELLE_1, TRAINER_GABRIELLE_2, TRAINER_GABRIELLE_3, TRAINER_GABRIELLE_4, TRAINER_GABRIELLE_5, MT_PYRE_3F),
|
||||
[REMATCH_CATHERINE] = REMATCH(TRAINER_CATHERINE_1, TRAINER_CATHERINE_2, TRAINER_CATHERINE_3, TRAINER_CATHERINE_4, TRAINER_CATHERINE_5, ROUTE119),
|
||||
[REMATCH_JACKSON] = REMATCH(TRAINER_JACKSON_1, TRAINER_JACKSON_2, TRAINER_JACKSON_3, TRAINER_JACKSON_4, TRAINER_JACKSON_5, ROUTE119),
|
||||
[REMATCH_HALEY] = REMATCH(TRAINER_HALEY_1, TRAINER_HALEY_2, TRAINER_HALEY_3, TRAINER_HALEY_4, TRAINER_HALEY_5, ROUTE104),
|
||||
[REMATCH_JAMES] = REMATCH(TRAINER_JAMES_1, TRAINER_JAMES_2, TRAINER_JAMES_3, TRAINER_JAMES_4, TRAINER_JAMES_5, PETALBURG_WOODS),
|
||||
[REMATCH_TRENT] = REMATCH(TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5, ROUTE112),
|
||||
[REMATCH_SAWYER] = REMATCH(TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5, MT_CHIMNEY),
|
||||
[REMATCH_KIRA_AND_DAN] = REMATCH(TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5, ABANDONED_SHIP_ROOMS2_1F),
|
||||
[REMATCH_WALLY_VR] = REMATCH(TRAINER_WALLY_VR_2, TRAINER_WALLY_VR_3, TRAINER_WALLY_VR_4, TRAINER_WALLY_VR_5, TRAINER_WALLY_VR_5, VICTORY_ROAD_1F),
|
||||
[REMATCH_ROXANNE] = REMATCH(TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5, RUSTBORO_CITY),
|
||||
[REMATCH_BRAWLY] = REMATCH(TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5, DEWFORD_TOWN),
|
||||
[REMATCH_WATTSON] = REMATCH(TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5, MAUVILLE_CITY),
|
||||
[REMATCH_FLANNERY] = REMATCH(TRAINER_FLANNERY_1, TRAINER_FLANNERY_2, TRAINER_FLANNERY_3, TRAINER_FLANNERY_4, TRAINER_FLANNERY_5, LAVARIDGE_TOWN),
|
||||
[REMATCH_NORMAN] = REMATCH(TRAINER_NORMAN_1, TRAINER_NORMAN_2, TRAINER_NORMAN_3, TRAINER_NORMAN_4, TRAINER_NORMAN_5, PETALBURG_CITY),
|
||||
[REMATCH_WINONA] = REMATCH(TRAINER_WINONA_1, TRAINER_WINONA_2, TRAINER_WINONA_3, TRAINER_WINONA_4, TRAINER_WINONA_5, FORTREE_CITY),
|
||||
[REMATCH_TATE_AND_LIZA] = REMATCH(TRAINER_TATE_AND_LIZA_1, TRAINER_TATE_AND_LIZA_2, TRAINER_TATE_AND_LIZA_3, TRAINER_TATE_AND_LIZA_4, TRAINER_TATE_AND_LIZA_5, MOSSDEEP_CITY),
|
||||
[REMATCH_JUAN] = REMATCH(TRAINER_JUAN_1, TRAINER_JUAN_2, TRAINER_JUAN_3, TRAINER_JUAN_4, TRAINER_JUAN_5, SOOTOPOLIS_CITY),
|
||||
[REMATCH_SIDNEY] = REMATCH(TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, EVER_GRANDE_CITY),
|
||||
[REMATCH_PHOEBE] = REMATCH(TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, EVER_GRANDE_CITY),
|
||||
[REMATCH_GLACIA] = REMATCH(TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, EVER_GRANDE_CITY),
|
||||
[REMATCH_DRAKE] = REMATCH(TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, EVER_GRANDE_CITY),
|
||||
[REMATCH_WALLACE] = REMATCH(TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, EVER_GRANDE_CITY),
|
||||
[REMATCH_ROSE] = REMATCH(TRAINER_ROSE_1, TRAINER_ROSE_2, TRAINER_ROSE_3, TRAINER_ROSE_4, TRAINER_ROSE_5, MAP_ROUTE118),
|
||||
[REMATCH_ANDRES] = REMATCH(TRAINER_ANDRES_1, TRAINER_ANDRES_2, TRAINER_ANDRES_3, TRAINER_ANDRES_4, TRAINER_ANDRES_5, MAP_ROUTE105),
|
||||
[REMATCH_DUSTY] = REMATCH(TRAINER_DUSTY_1, TRAINER_DUSTY_2, TRAINER_DUSTY_3, TRAINER_DUSTY_4, TRAINER_DUSTY_5, MAP_ROUTE111),
|
||||
[REMATCH_LOLA] = REMATCH(TRAINER_LOLA_1, TRAINER_LOLA_2, TRAINER_LOLA_3, TRAINER_LOLA_4, TRAINER_LOLA_5, MAP_ROUTE109),
|
||||
[REMATCH_RICKY] = REMATCH(TRAINER_RICKY_1, TRAINER_RICKY_2, TRAINER_RICKY_3, TRAINER_RICKY_4, TRAINER_RICKY_5, MAP_ROUTE109),
|
||||
[REMATCH_LILA_AND_ROY] = REMATCH(TRAINER_LILA_AND_ROY_1, TRAINER_LILA_AND_ROY_2, TRAINER_LILA_AND_ROY_3, TRAINER_LILA_AND_ROY_4, TRAINER_LILA_AND_ROY_5, MAP_ROUTE124),
|
||||
[REMATCH_CRISTIN] = REMATCH(TRAINER_CRISTIN_1, TRAINER_CRISTIN_2, TRAINER_CRISTIN_3, TRAINER_CRISTIN_4, TRAINER_CRISTIN_5, MAP_ROUTE121),
|
||||
[REMATCH_BROOKE] = REMATCH(TRAINER_BROOKE_1, TRAINER_BROOKE_2, TRAINER_BROOKE_3, TRAINER_BROOKE_4, TRAINER_BROOKE_5, MAP_ROUTE111),
|
||||
[REMATCH_WILTON] = REMATCH(TRAINER_WILTON_1, TRAINER_WILTON_2, TRAINER_WILTON_3, TRAINER_WILTON_4, TRAINER_WILTON_5, MAP_ROUTE111),
|
||||
[REMATCH_VALERIE] = REMATCH(TRAINER_VALERIE_1, TRAINER_VALERIE_2, TRAINER_VALERIE_3, TRAINER_VALERIE_4, TRAINER_VALERIE_5, MAP_MT_PYRE_6F),
|
||||
[REMATCH_CINDY] = REMATCH(TRAINER_CINDY_1, TRAINER_CINDY_3, TRAINER_CINDY_4, TRAINER_CINDY_5, TRAINER_CINDY_6, MAP_ROUTE104),
|
||||
[REMATCH_THALIA] = REMATCH(TRAINER_THALIA_1, TRAINER_THALIA_2, TRAINER_THALIA_3, TRAINER_THALIA_4, TRAINER_THALIA_5, MAP_ABANDONED_SHIP_ROOMS_1F),
|
||||
[REMATCH_JESSICA] = REMATCH(TRAINER_JESSICA_1, TRAINER_JESSICA_2, TRAINER_JESSICA_3, TRAINER_JESSICA_4, TRAINER_JESSICA_5, MAP_ROUTE121),
|
||||
[REMATCH_WINSTON] = REMATCH(TRAINER_WINSTON_1, TRAINER_WINSTON_2, TRAINER_WINSTON_3, TRAINER_WINSTON_4, TRAINER_WINSTON_5, MAP_ROUTE104),
|
||||
[REMATCH_STEVE] = REMATCH(TRAINER_STEVE_1, TRAINER_STEVE_2, TRAINER_STEVE_3, TRAINER_STEVE_4, TRAINER_STEVE_5, MAP_ROUTE114),
|
||||
[REMATCH_TONY] = REMATCH(TRAINER_TONY_1, TRAINER_TONY_2, TRAINER_TONY_3, TRAINER_TONY_4, TRAINER_TONY_5, MAP_ROUTE107),
|
||||
[REMATCH_NOB] = REMATCH(TRAINER_NOB_1, TRAINER_NOB_2, TRAINER_NOB_3, TRAINER_NOB_4, TRAINER_NOB_5, MAP_ROUTE115),
|
||||
[REMATCH_KOJI] = REMATCH(TRAINER_KOJI_1, TRAINER_KOJI_2, TRAINER_KOJI_3, TRAINER_KOJI_4, TRAINER_KOJI_5, MAP_ROUTE127),
|
||||
[REMATCH_FERNANDO] = REMATCH(TRAINER_FERNANDO_1, TRAINER_FERNANDO_2, TRAINER_FERNANDO_3, TRAINER_FERNANDO_4, TRAINER_FERNANDO_5, MAP_ROUTE123),
|
||||
[REMATCH_DALTON] = REMATCH(TRAINER_DALTON_1, TRAINER_DALTON_2, TRAINER_DALTON_3, TRAINER_DALTON_4, TRAINER_DALTON_5, MAP_ROUTE118),
|
||||
[REMATCH_BERNIE] = REMATCH(TRAINER_BERNIE_1, TRAINER_BERNIE_2, TRAINER_BERNIE_3, TRAINER_BERNIE_4, TRAINER_BERNIE_5, MAP_ROUTE114),
|
||||
[REMATCH_ETHAN] = REMATCH(TRAINER_ETHAN_1, TRAINER_ETHAN_2, TRAINER_ETHAN_3, TRAINER_ETHAN_4, TRAINER_ETHAN_5, MAP_JAGGED_PASS),
|
||||
[REMATCH_JOHN_AND_JAY] = REMATCH(TRAINER_JOHN_AND_JAY_1, TRAINER_JOHN_AND_JAY_2, TRAINER_JOHN_AND_JAY_3, TRAINER_JOHN_AND_JAY_4, TRAINER_JOHN_AND_JAY_5, MAP_METEOR_FALLS_1F_2R),
|
||||
[REMATCH_JEFFREY] = REMATCH(TRAINER_JEFFREY_1, TRAINER_JEFFREY_2, TRAINER_JEFFREY_3, TRAINER_JEFFREY_4, TRAINER_JEFFREY_5, MAP_ROUTE120),
|
||||
[REMATCH_CAMERON] = REMATCH(TRAINER_CAMERON_1, TRAINER_CAMERON_2, TRAINER_CAMERON_3, TRAINER_CAMERON_4, TRAINER_CAMERON_5, MAP_ROUTE123),
|
||||
[REMATCH_JACKI] = REMATCH(TRAINER_JACKI_1, TRAINER_JACKI_2, TRAINER_JACKI_3, TRAINER_JACKI_4, TRAINER_JACKI_5, MAP_ROUTE123),
|
||||
[REMATCH_WALTER] = REMATCH(TRAINER_WALTER_1, TRAINER_WALTER_2, TRAINER_WALTER_3, TRAINER_WALTER_4, TRAINER_WALTER_5, MAP_ROUTE121),
|
||||
[REMATCH_KAREN] = REMATCH(TRAINER_KAREN_1, TRAINER_KAREN_2, TRAINER_KAREN_3, TRAINER_KAREN_4, TRAINER_KAREN_5, MAP_ROUTE116),
|
||||
[REMATCH_JERRY] = REMATCH(TRAINER_JERRY_1, TRAINER_JERRY_2, TRAINER_JERRY_3, TRAINER_JERRY_4, TRAINER_JERRY_5, MAP_ROUTE116),
|
||||
[REMATCH_ANNA_AND_MEG] = REMATCH(TRAINER_ANNA_AND_MEG_1, TRAINER_ANNA_AND_MEG_2, TRAINER_ANNA_AND_MEG_3, TRAINER_ANNA_AND_MEG_4, TRAINER_ANNA_AND_MEG_5, MAP_ROUTE117),
|
||||
[REMATCH_ISABEL] = REMATCH(TRAINER_ISABEL_1, TRAINER_ISABEL_2, TRAINER_ISABEL_3, TRAINER_ISABEL_4, TRAINER_ISABEL_5, MAP_ROUTE110),
|
||||
[REMATCH_MIGUEL] = REMATCH(TRAINER_MIGUEL_1, TRAINER_MIGUEL_2, TRAINER_MIGUEL_3, TRAINER_MIGUEL_4, TRAINER_MIGUEL_5, MAP_ROUTE103),
|
||||
[REMATCH_TIMOTHY] = REMATCH(TRAINER_TIMOTHY_1, TRAINER_TIMOTHY_2, TRAINER_TIMOTHY_3, TRAINER_TIMOTHY_4, TRAINER_TIMOTHY_5, MAP_ROUTE115),
|
||||
[REMATCH_SHELBY] = REMATCH(TRAINER_SHELBY_1, TRAINER_SHELBY_2, TRAINER_SHELBY_3, TRAINER_SHELBY_4, TRAINER_SHELBY_5, MAP_MT_CHIMNEY),
|
||||
[REMATCH_CALVIN] = REMATCH(TRAINER_CALVIN_1, TRAINER_CALVIN_2, TRAINER_CALVIN_3, TRAINER_CALVIN_4, TRAINER_CALVIN_5, MAP_ROUTE102),
|
||||
[REMATCH_ELLIOT] = REMATCH(TRAINER_ELLIOT_1, TRAINER_ELLIOT_2, TRAINER_ELLIOT_3, TRAINER_ELLIOT_4, TRAINER_ELLIOT_5, MAP_ROUTE106),
|
||||
[REMATCH_ISAIAH] = REMATCH(TRAINER_ISAIAH_1, TRAINER_ISAIAH_2, TRAINER_ISAIAH_3, TRAINER_ISAIAH_4, TRAINER_ISAIAH_5, MAP_ROUTE128),
|
||||
[REMATCH_MARIA] = REMATCH(TRAINER_MARIA_1, TRAINER_MARIA_2, TRAINER_MARIA_3, TRAINER_MARIA_4, TRAINER_MARIA_5, MAP_ROUTE117),
|
||||
[REMATCH_ABIGAIL] = REMATCH(TRAINER_ABIGAIL_1, TRAINER_ABIGAIL_2, TRAINER_ABIGAIL_3, TRAINER_ABIGAIL_4, TRAINER_ABIGAIL_5, MAP_ROUTE110),
|
||||
[REMATCH_DYLAN] = REMATCH(TRAINER_DYLAN_1, TRAINER_DYLAN_2, TRAINER_DYLAN_3, TRAINER_DYLAN_4, TRAINER_DYLAN_5, MAP_ROUTE117),
|
||||
[REMATCH_KATELYN] = REMATCH(TRAINER_KATELYN_1, TRAINER_KATELYN_2, TRAINER_KATELYN_3, TRAINER_KATELYN_4, TRAINER_KATELYN_5, MAP_ROUTE128),
|
||||
[REMATCH_BENJAMIN] = REMATCH(TRAINER_BENJAMIN_1, TRAINER_BENJAMIN_2, TRAINER_BENJAMIN_3, TRAINER_BENJAMIN_4, TRAINER_BENJAMIN_5, MAP_ROUTE110),
|
||||
[REMATCH_PABLO] = REMATCH(TRAINER_PABLO_1, TRAINER_PABLO_2, TRAINER_PABLO_3, TRAINER_PABLO_4, TRAINER_PABLO_5, MAP_ROUTE126),
|
||||
[REMATCH_NICOLAS] = REMATCH(TRAINER_NICOLAS_1, TRAINER_NICOLAS_2, TRAINER_NICOLAS_3, TRAINER_NICOLAS_4, TRAINER_NICOLAS_5, MAP_METEOR_FALLS_1F_2R),
|
||||
[REMATCH_ROBERT] = REMATCH(TRAINER_ROBERT_1, TRAINER_ROBERT_2, TRAINER_ROBERT_3, TRAINER_ROBERT_4, TRAINER_ROBERT_5, MAP_ROUTE120),
|
||||
[REMATCH_LAO] = REMATCH(TRAINER_LAO_1, TRAINER_LAO_2, TRAINER_LAO_3, TRAINER_LAO_4, TRAINER_LAO_5, MAP_ROUTE113),
|
||||
[REMATCH_CYNDY] = REMATCH(TRAINER_CYNDY_1, TRAINER_CYNDY_2, TRAINER_CYNDY_3, TRAINER_CYNDY_4, TRAINER_CYNDY_5, MAP_ROUTE115),
|
||||
[REMATCH_MADELINE] = REMATCH(TRAINER_MADELINE_1, TRAINER_MADELINE_2, TRAINER_MADELINE_3, TRAINER_MADELINE_4, TRAINER_MADELINE_5, MAP_ROUTE113),
|
||||
[REMATCH_JENNY] = REMATCH(TRAINER_JENNY_1, TRAINER_JENNY_2, TRAINER_JENNY_3, TRAINER_JENNY_4, TRAINER_JENNY_5, MAP_ROUTE124),
|
||||
[REMATCH_DIANA] = REMATCH(TRAINER_DIANA_1, TRAINER_DIANA_2, TRAINER_DIANA_3, TRAINER_DIANA_4, TRAINER_DIANA_5, MAP_JAGGED_PASS),
|
||||
[REMATCH_AMY_AND_LIV] = REMATCH(TRAINER_AMY_AND_LIV_1, TRAINER_AMY_AND_LIV_2, TRAINER_AMY_AND_LIV_4, TRAINER_AMY_AND_LIV_5, TRAINER_AMY_AND_LIV_6, MAP_ROUTE103),
|
||||
[REMATCH_ERNEST] = REMATCH(TRAINER_ERNEST_1, TRAINER_ERNEST_2, TRAINER_ERNEST_3, TRAINER_ERNEST_4, TRAINER_ERNEST_5, MAP_ROUTE125),
|
||||
[REMATCH_CORY] = REMATCH(TRAINER_CORY_1, TRAINER_CORY_2, TRAINER_CORY_3, TRAINER_CORY_4, TRAINER_CORY_5, MAP_ROUTE108),
|
||||
[REMATCH_EDWIN] = REMATCH(TRAINER_EDWIN_1, TRAINER_EDWIN_2, TRAINER_EDWIN_3, TRAINER_EDWIN_4, TRAINER_EDWIN_5, MAP_ROUTE110),
|
||||
[REMATCH_LYDIA] = REMATCH(TRAINER_LYDIA_1, TRAINER_LYDIA_2, TRAINER_LYDIA_3, TRAINER_LYDIA_4, TRAINER_LYDIA_5, MAP_ROUTE117),
|
||||
[REMATCH_ISAAC] = REMATCH(TRAINER_ISAAC_1, TRAINER_ISAAC_2, TRAINER_ISAAC_3, TRAINER_ISAAC_4, TRAINER_ISAAC_5, MAP_ROUTE117),
|
||||
[REMATCH_GABRIELLE] = REMATCH(TRAINER_GABRIELLE_1, TRAINER_GABRIELLE_2, TRAINER_GABRIELLE_3, TRAINER_GABRIELLE_4, TRAINER_GABRIELLE_5, MAP_MT_PYRE_3F),
|
||||
[REMATCH_CATHERINE] = REMATCH(TRAINER_CATHERINE_1, TRAINER_CATHERINE_2, TRAINER_CATHERINE_3, TRAINER_CATHERINE_4, TRAINER_CATHERINE_5, MAP_ROUTE119),
|
||||
[REMATCH_JACKSON] = REMATCH(TRAINER_JACKSON_1, TRAINER_JACKSON_2, TRAINER_JACKSON_3, TRAINER_JACKSON_4, TRAINER_JACKSON_5, MAP_ROUTE119),
|
||||
[REMATCH_HALEY] = REMATCH(TRAINER_HALEY_1, TRAINER_HALEY_2, TRAINER_HALEY_3, TRAINER_HALEY_4, TRAINER_HALEY_5, MAP_ROUTE104),
|
||||
[REMATCH_JAMES] = REMATCH(TRAINER_JAMES_1, TRAINER_JAMES_2, TRAINER_JAMES_3, TRAINER_JAMES_4, TRAINER_JAMES_5, MAP_PETALBURG_WOODS),
|
||||
[REMATCH_TRENT] = REMATCH(TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5, MAP_ROUTE112),
|
||||
[REMATCH_SAWYER] = REMATCH(TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5, MAP_MT_CHIMNEY),
|
||||
[REMATCH_KIRA_AND_DAN] = REMATCH(TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5, MAP_ABANDONED_SHIP_ROOMS2_1F),
|
||||
[REMATCH_WALLY_VR] = REMATCH(TRAINER_WALLY_VR_2, TRAINER_WALLY_VR_3, TRAINER_WALLY_VR_4, TRAINER_WALLY_VR_5, TRAINER_WALLY_VR_5, MAP_VICTORY_ROAD_1F),
|
||||
[REMATCH_ROXANNE] = REMATCH(TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5, MAP_RUSTBORO_CITY),
|
||||
[REMATCH_BRAWLY] = REMATCH(TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5, MAP_DEWFORD_TOWN),
|
||||
[REMATCH_WATTSON] = REMATCH(TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5, MAP_MAUVILLE_CITY),
|
||||
[REMATCH_FLANNERY] = REMATCH(TRAINER_FLANNERY_1, TRAINER_FLANNERY_2, TRAINER_FLANNERY_3, TRAINER_FLANNERY_4, TRAINER_FLANNERY_5, MAP_LAVARIDGE_TOWN),
|
||||
[REMATCH_NORMAN] = REMATCH(TRAINER_NORMAN_1, TRAINER_NORMAN_2, TRAINER_NORMAN_3, TRAINER_NORMAN_4, TRAINER_NORMAN_5, MAP_PETALBURG_CITY),
|
||||
[REMATCH_WINONA] = REMATCH(TRAINER_WINONA_1, TRAINER_WINONA_2, TRAINER_WINONA_3, TRAINER_WINONA_4, TRAINER_WINONA_5, MAP_FORTREE_CITY),
|
||||
[REMATCH_TATE_AND_LIZA] = REMATCH(TRAINER_TATE_AND_LIZA_1, TRAINER_TATE_AND_LIZA_2, TRAINER_TATE_AND_LIZA_3, TRAINER_TATE_AND_LIZA_4, TRAINER_TATE_AND_LIZA_5, MAP_MOSSDEEP_CITY),
|
||||
[REMATCH_JUAN] = REMATCH(TRAINER_JUAN_1, TRAINER_JUAN_2, TRAINER_JUAN_3, TRAINER_JUAN_4, TRAINER_JUAN_5, MAP_SOOTOPOLIS_CITY),
|
||||
[REMATCH_SIDNEY] = REMATCH(TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, MAP_EVER_GRANDE_CITY),
|
||||
[REMATCH_PHOEBE] = REMATCH(TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, MAP_EVER_GRANDE_CITY),
|
||||
[REMATCH_GLACIA] = REMATCH(TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, MAP_EVER_GRANDE_CITY),
|
||||
[REMATCH_DRAKE] = REMATCH(TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, MAP_EVER_GRANDE_CITY),
|
||||
[REMATCH_WALLACE] = REMATCH(TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, MAP_EVER_GRANDE_CITY),
|
||||
};
|
||||
|
||||
static const u16 sBadgeFlags[NUM_BADGES] =
|
||||
@@ -632,7 +633,7 @@ static void CB2_EndScriptedWildBattle(void)
|
||||
}
|
||||
}
|
||||
|
||||
u8 BattleSetup_GetTerrainId(void)
|
||||
u8 BattleSetup_GetEnvironmentId(void)
|
||||
{
|
||||
u16 tileBehavior;
|
||||
s16 x, y;
|
||||
@@ -641,11 +642,11 @@ u8 BattleSetup_GetTerrainId(void)
|
||||
tileBehavior = MapGridGetMetatileBehaviorAt(x, y);
|
||||
|
||||
if (MetatileBehavior_IsTallGrass(tileBehavior))
|
||||
return BATTLE_TERRAIN_GRASS;
|
||||
return BATTLE_ENVIRONMENT_GRASS;
|
||||
if (MetatileBehavior_IsLongGrass(tileBehavior))
|
||||
return BATTLE_TERRAIN_LONG_GRASS;
|
||||
return BATTLE_ENVIRONMENT_LONG_GRASS;
|
||||
if (MetatileBehavior_IsSandOrDeepSand(tileBehavior))
|
||||
return BATTLE_TERRAIN_SAND;
|
||||
return BATTLE_ENVIRONMENT_SAND;
|
||||
|
||||
switch (gMapHeader.mapType)
|
||||
{
|
||||
@@ -655,41 +656,41 @@ u8 BattleSetup_GetTerrainId(void)
|
||||
break;
|
||||
case MAP_TYPE_UNDERGROUND:
|
||||
if (MetatileBehavior_IsIndoorEncounter(tileBehavior))
|
||||
return BATTLE_TERRAIN_BUILDING;
|
||||
return BATTLE_ENVIRONMENT_BUILDING;
|
||||
if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior))
|
||||
return BATTLE_TERRAIN_POND;
|
||||
return BATTLE_TERRAIN_CAVE;
|
||||
return BATTLE_ENVIRONMENT_POND;
|
||||
return BATTLE_ENVIRONMENT_CAVE;
|
||||
case MAP_TYPE_INDOOR:
|
||||
case MAP_TYPE_SECRET_BASE:
|
||||
return BATTLE_TERRAIN_BUILDING;
|
||||
return BATTLE_ENVIRONMENT_BUILDING;
|
||||
case MAP_TYPE_UNDERWATER:
|
||||
return BATTLE_TERRAIN_UNDERWATER;
|
||||
return BATTLE_ENVIRONMENT_UNDERWATER;
|
||||
case MAP_TYPE_OCEAN_ROUTE:
|
||||
if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior))
|
||||
return BATTLE_TERRAIN_WATER;
|
||||
return BATTLE_TERRAIN_PLAIN;
|
||||
return BATTLE_ENVIRONMENT_WATER;
|
||||
return BATTLE_ENVIRONMENT_PLAIN;
|
||||
}
|
||||
if (MetatileBehavior_IsDeepOrOceanWater(tileBehavior))
|
||||
return BATTLE_TERRAIN_WATER;
|
||||
return BATTLE_ENVIRONMENT_WATER;
|
||||
if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior))
|
||||
return BATTLE_TERRAIN_POND;
|
||||
return BATTLE_ENVIRONMENT_POND;
|
||||
if (MetatileBehavior_IsMountain(tileBehavior))
|
||||
return BATTLE_TERRAIN_MOUNTAIN;
|
||||
return BATTLE_ENVIRONMENT_MOUNTAIN;
|
||||
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
|
||||
{
|
||||
// Is BRIDGE_TYPE_POND_*?
|
||||
if (MetatileBehavior_GetBridgeType(tileBehavior) != BRIDGE_TYPE_OCEAN)
|
||||
return BATTLE_TERRAIN_POND;
|
||||
return BATTLE_ENVIRONMENT_POND;
|
||||
|
||||
if (MetatileBehavior_IsBridgeOverWater(tileBehavior) == TRUE)
|
||||
return BATTLE_TERRAIN_WATER;
|
||||
return BATTLE_ENVIRONMENT_WATER;
|
||||
}
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE113) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE113))
|
||||
return BATTLE_TERRAIN_SAND;
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ROUTE113) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ROUTE113))
|
||||
return BATTLE_ENVIRONMENT_SAND;
|
||||
if (GetSavedWeather() == WEATHER_SANDSTORM)
|
||||
return BATTLE_TERRAIN_SAND;
|
||||
return BATTLE_ENVIRONMENT_SAND;
|
||||
|
||||
return BATTLE_TERRAIN_PLAIN;
|
||||
return BATTLE_ENVIRONMENT_PLAIN;
|
||||
}
|
||||
|
||||
static u8 GetBattleTransitionTypeByMap(void)
|
||||
@@ -1092,7 +1093,7 @@ static void TrainerBattleLoadArgs(const struct TrainerBattleParameter *specs, co
|
||||
|
||||
void SetMapVarsToTrainer(void)
|
||||
{
|
||||
if (sTrainerObjectEventLocalId != 0)
|
||||
if (sTrainerObjectEventLocalId != LOCALID_NONE)
|
||||
{
|
||||
gSpecialVar_LastTalked = sTrainerObjectEventLocalId;
|
||||
gSelectedObjectEvent = GetObjectEventIdByLocalIdAndMap(sTrainerObjectEventLocalId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
|
||||
|
||||
+2
-2
@@ -799,7 +799,7 @@ struct
|
||||
|
||||
#include "data/battle_frontier/battle_tent.h"
|
||||
|
||||
static void (* const sBattleTowerFuncs[])(void) =
|
||||
static void (*const sBattleTowerFuncs[])(void) =
|
||||
{
|
||||
[BATTLE_TOWER_FUNC_INIT] = InitTowerChallenge,
|
||||
[BATTLE_TOWER_FUNC_GET_DATA] = GetTowerData,
|
||||
@@ -2417,7 +2417,7 @@ static void LoadMultiPartnerCandidatesData(void)
|
||||
|
||||
static void GetPotentialPartnerMoveAndSpecies(u16 trainerId, u16 monId)
|
||||
{
|
||||
u16 move = 0;
|
||||
u16 move = MOVE_NONE;
|
||||
u16 species = 0;
|
||||
SetFacilityPtrsGetLevel();
|
||||
|
||||
|
||||
+14
-14
@@ -79,7 +79,7 @@ struct RectangularSpiralLine
|
||||
{
|
||||
u8 state;
|
||||
s16 position;
|
||||
u8 moveIdx;
|
||||
u8 moveIndex;
|
||||
s16 reboundPosition;
|
||||
bool8 outward;
|
||||
};
|
||||
@@ -278,7 +278,7 @@ static s16 IsTrainerPicSlideDone(s16);
|
||||
static bool8 TransitionIntro_FadeToGray(struct Task *);
|
||||
static bool8 TransitionIntro_FadeFromGray(struct Task *);
|
||||
static bool8 IsIntroTaskDone(void);
|
||||
static bool16 UpdateRectangularSpiralLine(const s16 * const *, struct RectangularSpiralLine *);
|
||||
static bool16 UpdateRectangularSpiralLine(const s16 *const *, struct RectangularSpiralLine *);
|
||||
static void SpriteCB_FldEffPokeballTrail(struct Sprite *);
|
||||
static void SpriteCB_MugshotTrainerPic(struct Sprite *);
|
||||
static void SpriteCB_WhiteBarFade(struct Sprite *);
|
||||
@@ -3204,28 +3204,28 @@ static bool8 RectangularSpiral_Init(struct Task *task)
|
||||
// Line starting in top left
|
||||
sRectangularSpiralLines[0].state = SPIRAL_INWARD_START;
|
||||
sRectangularSpiralLines[0].position = -1;
|
||||
sRectangularSpiralLines[0].moveIdx = 1;
|
||||
sRectangularSpiralLines[0].moveIndex = 1;
|
||||
sRectangularSpiralLines[0].reboundPosition = 308;
|
||||
sRectangularSpiralLines[0].outward = FALSE;
|
||||
|
||||
// Line starting in bottom right
|
||||
sRectangularSpiralLines[1].state = SPIRAL_INWARD_START;
|
||||
sRectangularSpiralLines[1].position = -1;
|
||||
sRectangularSpiralLines[1].moveIdx = 1;
|
||||
sRectangularSpiralLines[1].moveIndex = 1;
|
||||
sRectangularSpiralLines[1].reboundPosition = 308;
|
||||
sRectangularSpiralLines[1].outward = FALSE;
|
||||
|
||||
// Line starting in top right
|
||||
sRectangularSpiralLines[2].state = SPIRAL_INWARD_START;
|
||||
sRectangularSpiralLines[2].position = -3;
|
||||
sRectangularSpiralLines[2].moveIdx = 1;
|
||||
sRectangularSpiralLines[2].moveIndex = 1;
|
||||
sRectangularSpiralLines[2].reboundPosition = 307;
|
||||
sRectangularSpiralLines[2].outward = FALSE;
|
||||
|
||||
// Line starting in bottom left
|
||||
sRectangularSpiralLines[3].state = SPIRAL_INWARD_START;
|
||||
sRectangularSpiralLines[3].position = -3;
|
||||
sRectangularSpiralLines[3].moveIdx = 1;
|
||||
sRectangularSpiralLines[3].moveIndex = 1;
|
||||
sRectangularSpiralLines[3].reboundPosition = 307;
|
||||
sRectangularSpiralLines[3].outward = FALSE;
|
||||
|
||||
@@ -3281,14 +3281,14 @@ static bool8 RectangularSpiral_End(struct Task *task)
|
||||
}
|
||||
|
||||
// Returns TRUE if a tile should be drawn, FALSE otherwise
|
||||
static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, struct RectangularSpiralLine *line)
|
||||
static bool16 UpdateRectangularSpiralLine(const s16 *const *moveDataTable, struct RectangularSpiralLine *line)
|
||||
{
|
||||
const s16 *moveData = moveDataTable[line->state];
|
||||
|
||||
// Has spiral finished?
|
||||
// Note that most move data arrays endsin SPIRAL_END but it is
|
||||
// only ever reached on the final array of spiraling outward.
|
||||
if (moveData[line->moveIdx] == SPIRAL_END)
|
||||
if (moveData[line->moveIndex] == SPIRAL_END)
|
||||
return FALSE;
|
||||
|
||||
// Presumably saving data for debug.
|
||||
@@ -3319,21 +3319,21 @@ static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, stru
|
||||
|
||||
// Below check is never true.
|
||||
// SPIRAL_END was already checked, and position is never >= 640
|
||||
if (line->position >= 640 || moveData[line->moveIdx] == SPIRAL_END)
|
||||
if (line->position >= 640 || moveData[line->moveIndex] == SPIRAL_END)
|
||||
return FALSE;
|
||||
|
||||
if (!line->outward && moveData[line->moveIdx] == SPIRAL_REBOUND)
|
||||
if (!line->outward && moveData[line->moveIndex] == SPIRAL_REBOUND)
|
||||
{
|
||||
// Line has reached the final point of spiraling inward.
|
||||
// Time to flip and start spiraling outward.
|
||||
line->outward = TRUE;
|
||||
line->moveIdx = 1;
|
||||
line->moveIndex = 1;
|
||||
line->position = line->reboundPosition;
|
||||
line->state = SPIRAL_OUTWARD_START;
|
||||
}
|
||||
|
||||
// Reached move target, advance to next movement.
|
||||
if (line->position == moveData[line->moveIdx])
|
||||
if (line->position == moveData[line->moveIndex])
|
||||
{
|
||||
line->state++;
|
||||
if (line->outward == TRUE)
|
||||
@@ -3343,7 +3343,7 @@ static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, stru
|
||||
// Still spiraling outward, loop back to the first state
|
||||
// but use the second set of move targets.
|
||||
// For example, the 28 in sRectangularSpiral_Major_OutwardUp
|
||||
line->moveIdx++;
|
||||
line->moveIndex++;
|
||||
line->state = SPIRAL_OUTWARD_START;
|
||||
}
|
||||
}
|
||||
@@ -3354,7 +3354,7 @@ static bool16 UpdateRectangularSpiralLine(const s16 * const *moveDataTable, stru
|
||||
// Still spiraling inward, loop back to the first state
|
||||
// but use the second set of move targets.
|
||||
// For example, the 275 in sRectangularSpiral_Major_InwardRight
|
||||
line->moveIdx++;
|
||||
line->moveIndex++;
|
||||
line->state = SPIRAL_INWARD_START;
|
||||
}
|
||||
}
|
||||
|
||||
+20
-20
@@ -15,8 +15,8 @@ static bool8 IsNotSpecialBattleString(u16 stringId);
|
||||
static void AddMovePoints(u8 caseId, u16 arg1, u8 arg2, u8 arg3);
|
||||
static void TrySetBattleSeminarShow(void);
|
||||
static void AddPointsOnFainting(bool8 targetFainted);
|
||||
static void AddPointsBasedOnWeather(u16 weatherFlags, u16 moveId, u8 moveSlot);
|
||||
static bool8 ShouldCalculateDamage(u16 moveId, s32 *dmg, u16 *powerOverride);
|
||||
static void AddPointsBasedOnWeather(u16 weatherFlags, u16 move, u8 moveSlot);
|
||||
static bool8 ShouldCalculateDamage(u16 move, s32 *dmg, u16 *powerOverride);
|
||||
|
||||
#define TABLE_END ((u16)-1)
|
||||
|
||||
@@ -1056,7 +1056,7 @@ void TryPutLinkBattleTvShowOnAir(void)
|
||||
u8 countPlayer = 0, countOpponent = 0;
|
||||
s16 sum = 0;
|
||||
u16 species = 0;
|
||||
u16 moveId = 0;
|
||||
u16 move = MOVE_NONE;
|
||||
s32 i, j;
|
||||
int zero = 0, one = 1; //needed for matching
|
||||
|
||||
@@ -1124,8 +1124,8 @@ void TryPutLinkBattleTvShowOnAir(void)
|
||||
}
|
||||
}
|
||||
|
||||
moveId = GetMonData(&gPlayerParty[playerBestMonId], MON_DATA_MOVE1 + i, NULL);
|
||||
if (playerBestSum == 0 || moveId == 0)
|
||||
move = GetMonData(&gPlayerParty[playerBestMonId], MON_DATA_MOVE1 + i, NULL);
|
||||
if (playerBestSum == 0 || move == MOVE_NONE)
|
||||
return;
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||
@@ -1134,12 +1134,12 @@ void TryPutLinkBattleTvShowOnAir(void)
|
||||
|| (playerBestMonId >= MULTI_PARTY_SIZE && GetLinkTrainerFlankId(gBattleScripting.multiplayerId)))
|
||||
{
|
||||
j = (opponentBestMonId < MULTI_PARTY_SIZE) ? FALSE : TRUE;
|
||||
PutBattleUpdateOnTheAir(GetOpposingLinkMultiBattlerId(j, gBattleScripting.multiplayerId), moveId, playerBestSpecies, opponentBestSpecies);
|
||||
PutBattleUpdateOnTheAir(GetOpposingLinkMultiBattlerId(j, gBattleScripting.multiplayerId), move, playerBestSpecies, opponentBestSpecies);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
PutBattleUpdateOnTheAir(gBattleScripting.multiplayerId ^ 1, moveId, playerBestSpecies, opponentBestSpecies);
|
||||
PutBattleUpdateOnTheAir(gBattleScripting.multiplayerId ^ 1, move, playerBestSpecies, opponentBestSpecies);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1505,9 +1505,9 @@ static void TrySetBattleSeminarShow(void)
|
||||
gCurrentMove = currMoveSaved;
|
||||
}
|
||||
|
||||
static bool8 ShouldCalculateDamage(u16 moveId, s32 *dmg, u16 *powerOverride)
|
||||
static bool8 ShouldCalculateDamage(u16 move, s32 *dmg, u16 *powerOverride)
|
||||
{
|
||||
if (gBattleMoves[moveId].power == 0)
|
||||
if (gBattleMoves[move].power == 0)
|
||||
{
|
||||
*dmg = 0;
|
||||
return FALSE;
|
||||
@@ -1517,7 +1517,7 @@ static bool8 ShouldCalculateDamage(u16 moveId, s32 *dmg, u16 *powerOverride)
|
||||
s32 i = 0;
|
||||
do
|
||||
{
|
||||
if (moveId == sVariableDmgMoves[i])
|
||||
if (move == sVariableDmgMoves[i])
|
||||
break;
|
||||
i++;
|
||||
} while (sVariableDmgMoves[i] != TABLE_END);
|
||||
@@ -1527,13 +1527,13 @@ static bool8 ShouldCalculateDamage(u16 moveId, s32 *dmg, u16 *powerOverride)
|
||||
*dmg = 0;
|
||||
return FALSE;
|
||||
}
|
||||
else if (moveId == MOVE_PSYWAVE)
|
||||
else if (move == MOVE_PSYWAVE)
|
||||
{
|
||||
*dmg = gBattleMons[gBattlerAttacker].level;
|
||||
*dmg /= 2;
|
||||
return FALSE;
|
||||
}
|
||||
else if (moveId == MOVE_MAGNITUDE)
|
||||
else if (move == MOVE_MAGNITUDE)
|
||||
{
|
||||
*powerOverride = 10;
|
||||
return TRUE;
|
||||
@@ -1568,12 +1568,12 @@ void BattleTv_ClearExplosionFaintCause(void)
|
||||
}
|
||||
}
|
||||
|
||||
u8 GetBattlerMoveSlotId(u8 battlerId, u16 moveId)
|
||||
u8 GetBattlerMoveSlotId(u8 battler, u16 move)
|
||||
{
|
||||
s32 i;
|
||||
struct Pokemon *party;
|
||||
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
party = gPlayerParty;
|
||||
else
|
||||
party = gEnemyParty;
|
||||
@@ -1583,7 +1583,7 @@ u8 GetBattlerMoveSlotId(u8 battlerId, u16 moveId)
|
||||
{
|
||||
if (i >= MAX_MON_MOVES)
|
||||
break;
|
||||
if (GetMonData(&party[gBattlerPartyIndexes[battlerId]], MON_DATA_MOVE1 + i, NULL) == moveId)
|
||||
if (GetMonData(&party[gBattlerPartyIndexes[battler]], MON_DATA_MOVE1 + i, NULL) == move)
|
||||
break;
|
||||
i++;
|
||||
}
|
||||
@@ -1591,14 +1591,14 @@ u8 GetBattlerMoveSlotId(u8 battlerId, u16 moveId)
|
||||
return i;
|
||||
}
|
||||
|
||||
static void AddPointsBasedOnWeather(u16 weatherFlags, u16 moveId, u8 moveSlot)
|
||||
static void AddPointsBasedOnWeather(u16 weatherFlags, u16 move, u8 moveSlot)
|
||||
{
|
||||
if (weatherFlags & B_WEATHER_RAIN)
|
||||
AddMovePoints(PTS_RAIN, moveId, moveSlot, 0);
|
||||
AddMovePoints(PTS_RAIN, move, moveSlot, 0);
|
||||
else if (weatherFlags & B_WEATHER_SUN)
|
||||
AddMovePoints(PTS_SUN, moveId, moveSlot, 0);
|
||||
AddMovePoints(PTS_SUN, move, moveSlot, 0);
|
||||
else if (weatherFlags & B_WEATHER_SANDSTORM)
|
||||
AddMovePoints(PTS_SANDSTORM, moveId, moveSlot, 0);
|
||||
AddMovePoints(PTS_SANDSTORM, move, moveSlot, 0);
|
||||
else if (weatherFlags & B_WEATHER_HAIL)
|
||||
AddMovePoints(PTS_HAIL, moveId, moveSlot, 0);
|
||||
AddMovePoints(PTS_HAIL, move, moveSlot, 0);
|
||||
}
|
||||
|
||||
+180
-167
@@ -414,7 +414,7 @@ bool8 TryRunFromBattle(u8 battler)
|
||||
if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY)
|
||||
holdEffect = gEnigmaBerries[battler].holdEffect;
|
||||
else
|
||||
holdEffect = ItemId_GetHoldEffect(gBattleMons[battler].item);
|
||||
holdEffect = GetItemHoldEffect(gBattleMons[battler].item);
|
||||
|
||||
gPotentialItemEffectBattler = battler;
|
||||
|
||||
@@ -759,7 +759,7 @@ void PressurePPLose(u8 target, u8 attacker, u16 move)
|
||||
if (MOVE_IS_PERMANENT(attacker, moveIndex))
|
||||
{
|
||||
gActiveBattler = attacker;
|
||||
BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + moveIndex, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]);
|
||||
BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + moveIndex, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
}
|
||||
@@ -791,7 +791,7 @@ void PressurePPLoseOnUsingImprison(u8 attacker)
|
||||
if (imprisonPos != MAX_MON_MOVES && MOVE_IS_PERMANENT(attacker, imprisonPos))
|
||||
{
|
||||
gActiveBattler = attacker;
|
||||
BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + imprisonPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisonPos]);
|
||||
BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + imprisonPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisonPos]);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
}
|
||||
@@ -822,11 +822,12 @@ void PressurePPLoseOnUsingPerishSong(u8 attacker)
|
||||
if (perishSongPos != MAX_MON_MOVES && MOVE_IS_PERMANENT(attacker, perishSongPos))
|
||||
{
|
||||
gActiveBattler = attacker;
|
||||
BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]);
|
||||
BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
}
|
||||
|
||||
// See comments for MarkBattlerForControllerExec.
|
||||
static void UNUSED MarkAllBattlersForControllerExec(void)
|
||||
{
|
||||
int i;
|
||||
@@ -834,31 +835,43 @@ static void UNUSED MarkAllBattlersForControllerExec(void)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
|
||||
{
|
||||
for (i = 0; i < gBattlersCount; i++)
|
||||
gBattleControllerExecFlags |= gBitTable[i] << (32 - MAX_BATTLERS_COUNT);
|
||||
MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(i);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0; i < gBattlersCount; i++)
|
||||
gBattleControllerExecFlags |= gBitTable[i];
|
||||
MARK_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(i);
|
||||
}
|
||||
}
|
||||
|
||||
void MarkBattlerForControllerExec(u8 battlerId)
|
||||
// Called when the battle engine dispatches a message to a battle controller.
|
||||
//
|
||||
// During a singleplayer battle, we just immediately mark the controller as
|
||||
// active. During a multiplayer link, we do things a little differently. We
|
||||
// set a bit indicating that we're sending a message over the link. That
|
||||
// message will be received by all other players... *and* by us, the player
|
||||
// sending it, at which point we'll invoke MarkBattlerReceivedLinkData,
|
||||
// below, to clear the "we're sending a message" bit and set the "controller
|
||||
// is now active" bit.
|
||||
void MarkBattlerForControllerExec(u8 battler)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
|
||||
gBattleControllerExecFlags |= gBitTable[battlerId] << (32 - MAX_BATTLERS_COUNT);
|
||||
MARK_BATTLE_CONTROLLER_MESSAGE_OUTBOUND_OVER_LINK(battler);
|
||||
else
|
||||
gBattleControllerExecFlags |= gBitTable[battlerId];
|
||||
MARK_BATTLE_CONTROLLER_ACTIVE_ON_LOCAL(battler);
|
||||
}
|
||||
|
||||
void MarkBattlerReceivedLinkData(u8 battlerId)
|
||||
// Called when a message dispatched from the battle engine to a battle
|
||||
// controller is received over link communications. All players assume
|
||||
// that if they've received the message, everyone else has as well.
|
||||
void MarkBattlerReceivedLinkData(u8 battler)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < GetLinkPlayerCount(); i++)
|
||||
gBattleControllerExecFlags |= gBitTable[battlerId] << (i << 2);
|
||||
MARK_BATTLE_CONTROLLER_ACTIVE_FOR_PLAYER(battler, i);
|
||||
|
||||
gBattleControllerExecFlags &= ~((1 << 28) << battlerId);
|
||||
MARK_BATTLE_CONTROLLER_MESSAGE_SYNCHRONIZED_OVER_LINK(battler);
|
||||
}
|
||||
|
||||
void CancelMultiTurnMoves(u8 battler)
|
||||
@@ -893,7 +906,7 @@ bool8 WasUnableToUseMove(u8 battler)
|
||||
void PrepareStringBattle(u16 stringId, u8 battler)
|
||||
{
|
||||
gActiveBattler = battler;
|
||||
BtlController_EmitPrintString(BUFFER_A, stringId);
|
||||
BtlController_EmitPrintString(B_COMM_TO_CONTROLLER, stringId);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
|
||||
@@ -1031,7 +1044,7 @@ u8 TrySetCantSelectMoveBattleScript(void)
|
||||
if (gBattleMons[gActiveBattler].item == ITEM_ENIGMA_BERRY)
|
||||
holdEffect = gEnigmaBerries[gActiveBattler].holdEffect;
|
||||
else
|
||||
holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item);
|
||||
holdEffect = GetItemHoldEffect(gBattleMons[gActiveBattler].item);
|
||||
|
||||
gPotentialItemEffectBattler = gActiveBattler;
|
||||
|
||||
@@ -1066,44 +1079,44 @@ u8 TrySetCantSelectMoveBattleScript(void)
|
||||
return limitations;
|
||||
}
|
||||
|
||||
u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u8 check)
|
||||
u8 CheckMoveLimitations(u8 battler, u8 unusableMoves, u8 check)
|
||||
{
|
||||
u8 holdEffect;
|
||||
u16 *choicedMove = &gBattleStruct->choicedMove[battlerId];
|
||||
u16 *choicedMove = &gBattleStruct->choicedMove[battler];
|
||||
s32 i;
|
||||
|
||||
if (gBattleMons[battlerId].item == ITEM_ENIGMA_BERRY)
|
||||
holdEffect = gEnigmaBerries[battlerId].holdEffect;
|
||||
if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY)
|
||||
holdEffect = gEnigmaBerries[battler].holdEffect;
|
||||
else
|
||||
holdEffect = ItemId_GetHoldEffect(gBattleMons[battlerId].item);
|
||||
holdEffect = GetItemHoldEffect(gBattleMons[battler].item);
|
||||
|
||||
gPotentialItemEffectBattler = battlerId;
|
||||
gPotentialItemEffectBattler = battler;
|
||||
|
||||
for (i = 0; i < MAX_MON_MOVES; i++)
|
||||
{
|
||||
// No move
|
||||
if (gBattleMons[battlerId].moves[i] == MOVE_NONE && check & MOVE_LIMITATION_ZEROMOVE)
|
||||
if (gBattleMons[battler].moves[i] == MOVE_NONE && check & MOVE_LIMITATION_ZEROMOVE)
|
||||
unusableMoves |= gBitTable[i];
|
||||
// No PP
|
||||
if (gBattleMons[battlerId].pp[i] == 0 && check & MOVE_LIMITATION_PP)
|
||||
if (gBattleMons[battler].pp[i] == 0 && check & MOVE_LIMITATION_PP)
|
||||
unusableMoves |= gBitTable[i];
|
||||
// Disable
|
||||
if (gBattleMons[battlerId].moves[i] == gDisableStructs[battlerId].disabledMove && check & MOVE_LIMITATION_DISABLED)
|
||||
if (gBattleMons[battler].moves[i] == gDisableStructs[battler].disabledMove && check & MOVE_LIMITATION_DISABLED)
|
||||
unusableMoves |= gBitTable[i];
|
||||
// Torment
|
||||
if (gBattleMons[battlerId].moves[i] == gLastMoves[battlerId] && check & MOVE_LIMITATION_TORMENTED && gBattleMons[battlerId].status2 & STATUS2_TORMENT)
|
||||
if (gBattleMons[battler].moves[i] == gLastMoves[battler] && check & MOVE_LIMITATION_TORMENTED && gBattleMons[battler].status2 & STATUS2_TORMENT)
|
||||
unusableMoves |= gBitTable[i];
|
||||
// Taunt
|
||||
if (gDisableStructs[battlerId].tauntTimer && check & MOVE_LIMITATION_TAUNT && gBattleMoves[gBattleMons[battlerId].moves[i]].power == 0)
|
||||
if (gDisableStructs[battler].tauntTimer && check & MOVE_LIMITATION_TAUNT && gBattleMoves[gBattleMons[battler].moves[i]].power == 0)
|
||||
unusableMoves |= gBitTable[i];
|
||||
// Imprison
|
||||
if (GetImprisonedMovesCount(battlerId, gBattleMons[battlerId].moves[i]) && check & MOVE_LIMITATION_IMPRISON)
|
||||
if (GetImprisonedMovesCount(battler, gBattleMons[battler].moves[i]) && check & MOVE_LIMITATION_IMPRISON)
|
||||
unusableMoves |= gBitTable[i];
|
||||
// Encore
|
||||
if (gDisableStructs[battlerId].encoreTimer && gDisableStructs[battlerId].encoredMove != gBattleMons[battlerId].moves[i])
|
||||
if (gDisableStructs[battler].encoreTimer && gDisableStructs[battler].encoredMove != gBattleMons[battler].moves[i])
|
||||
unusableMoves |= gBitTable[i];
|
||||
// Choice Band
|
||||
if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != gBattleMons[battlerId].moves[i])
|
||||
if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != gBattleMons[battler].moves[i])
|
||||
unusableMoves |= gBitTable[i];
|
||||
}
|
||||
return unusableMoves;
|
||||
@@ -1126,11 +1139,11 @@ bool8 AreAllMovesUnusable(void)
|
||||
return (unusable == ALL_MOVES_MASK);
|
||||
}
|
||||
|
||||
u8 GetImprisonedMovesCount(u8 battlerId, u16 move)
|
||||
u8 GetImprisonedMovesCount(u8 battler, u16 move)
|
||||
{
|
||||
s32 i;
|
||||
u8 imprisonedMoves = 0;
|
||||
u8 battlerSide = GetBattlerSide(battlerId);
|
||||
u8 battlerSide = GetBattlerSide(battler);
|
||||
|
||||
for (i = 0; i < gBattlersCount; i++)
|
||||
{
|
||||
@@ -1622,7 +1635,7 @@ u8 DoBattlerEndTurnEffects(void)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
|
||||
BattleScriptExecute(BattleScript_MonWokeUpInUproar);
|
||||
gActiveBattler = gBattlerAttacker;
|
||||
BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
|
||||
BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
break;
|
||||
}
|
||||
@@ -1747,7 +1760,7 @@ u8 DoBattlerEndTurnEffects(void)
|
||||
{
|
||||
CancelMultiTurnMoves(gActiveBattler);
|
||||
gBattleMons[gActiveBattler].status1 |= STATUS1_SLEEP_TURN((Random() & 3) + 2); // 2-5 turns of sleep
|
||||
BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
|
||||
BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
gEffectBattler = gActiveBattler;
|
||||
BattleScriptExecute(BattleScript_YawnMakesAsleep);
|
||||
@@ -2257,7 +2270,7 @@ u8 AtkCanceller_UnableToUseMove(void)
|
||||
if (effect == 2)
|
||||
{
|
||||
gActiveBattler = gBattlerAttacker;
|
||||
BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
|
||||
BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
return effect;
|
||||
@@ -2621,7 +2634,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
|
||||
gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; // fix nightmare glitch
|
||||
gBattleScripting.battler = gActiveBattler = battler;
|
||||
BattleScriptPushCursorAndCallback(BattleScript_ShedSkinActivates);
|
||||
BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1);
|
||||
BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
effect++;
|
||||
}
|
||||
@@ -2933,7 +2946,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
|
||||
gBattlescriptCurrInstr = BattleScript_AbilityCuredStatus;
|
||||
gBattleScripting.battler = battler;
|
||||
gActiveBattler = battler;
|
||||
BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
|
||||
BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
return effect;
|
||||
}
|
||||
@@ -3212,16 +3225,16 @@ enum
|
||||
};
|
||||
|
||||
#define TRY_EAT_CONFUSE_BERRY(flavor) \
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) \
|
||||
if (gBattleMons[battler].hp <= gBattleMons[battler].maxHP / 2 && !moveTurn) \
|
||||
{ \
|
||||
PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, flavor); \
|
||||
gBattleMoveDamage = gBattleMons[battlerId].maxHP / battlerHoldEffectParam; \
|
||||
gBattleMoveDamage = gBattleMons[battler].maxHP / battlerHoldEffectParam; \
|
||||
if (gBattleMoveDamage == 0) \
|
||||
gBattleMoveDamage = 1; \
|
||||
if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) \
|
||||
gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; \
|
||||
if (gBattleMons[battler].hp + gBattleMoveDamage > gBattleMons[battler].maxHP) \
|
||||
gBattleMoveDamage = gBattleMons[battler].maxHP - gBattleMons[battler].hp; \
|
||||
gBattleMoveDamage *= -1; \
|
||||
if (GetFlavorRelationByPersonality(gBattleMons[battlerId].personality, flavor) < 0) \
|
||||
if (GetFlavorRelationByPersonality(gBattleMons[battler].personality, flavor) < 0) \
|
||||
BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); \
|
||||
else \
|
||||
BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); \
|
||||
@@ -3229,11 +3242,11 @@ enum
|
||||
}
|
||||
|
||||
#define TRY_EAT_STAT_UP_BERRY(stat) \
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam \
|
||||
&& !moveTurn && gBattleMons[battlerId].statStages[stat] < MAX_STAT_STAGE) \
|
||||
if (gBattleMons[battler].hp <= gBattleMons[battler].maxHP / battlerHoldEffectParam \
|
||||
&& !moveTurn && gBattleMons[battler].statStages[stat] < MAX_STAT_STAGE) \
|
||||
{ \
|
||||
PREPARE_STAT_BUFFER(gBattleTextBuff1, stat); \
|
||||
gEffectBattler = battlerId; \
|
||||
gEffectBattler = battler; \
|
||||
SET_STATCHANGER(stat, 1, FALSE); \
|
||||
gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + (stat); \
|
||||
gBattleScripting.animArg2 = 0; \
|
||||
@@ -3241,7 +3254,7 @@ enum
|
||||
effect = ITEM_STATS_CHANGE; \
|
||||
}
|
||||
|
||||
u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn)
|
||||
{
|
||||
int i = 0;
|
||||
u8 effect = ITEM_NO_EFFECT;
|
||||
@@ -3250,16 +3263,16 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
u8 battlerHoldEffectParam, atkHoldEffectParam, UNUSED defHoldEffectParam;
|
||||
u16 atkItem, defItem;
|
||||
|
||||
gLastUsedItem = gBattleMons[battlerId].item;
|
||||
gLastUsedItem = gBattleMons[battler].item;
|
||||
if (gLastUsedItem == ITEM_ENIGMA_BERRY)
|
||||
{
|
||||
battlerHoldEffect = gEnigmaBerries[battlerId].holdEffect;
|
||||
battlerHoldEffectParam = gEnigmaBerries[battlerId].holdEffectParam;
|
||||
battlerHoldEffect = gEnigmaBerries[battler].holdEffect;
|
||||
battlerHoldEffectParam = gEnigmaBerries[battler].holdEffectParam;
|
||||
}
|
||||
else
|
||||
{
|
||||
battlerHoldEffect = ItemId_GetHoldEffect(gLastUsedItem);
|
||||
battlerHoldEffectParam = ItemId_GetHoldEffectParam(gLastUsedItem);
|
||||
battlerHoldEffect = GetItemHoldEffect(gLastUsedItem);
|
||||
battlerHoldEffectParam = GetItemHoldEffectParam(gLastUsedItem);
|
||||
}
|
||||
|
||||
atkItem = gBattleMons[gBattlerAttacker].item;
|
||||
@@ -3270,8 +3283,8 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
}
|
||||
else
|
||||
{
|
||||
atkHoldEffect = ItemId_GetHoldEffect(atkItem);
|
||||
atkHoldEffectParam = ItemId_GetHoldEffectParam(atkItem);
|
||||
atkHoldEffect = GetItemHoldEffect(atkItem);
|
||||
atkHoldEffectParam = GetItemHoldEffectParam(atkItem);
|
||||
}
|
||||
|
||||
// def variables are unused
|
||||
@@ -3283,8 +3296,8 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
}
|
||||
else
|
||||
{
|
||||
defHoldEffect = ItemId_GetHoldEffect(defItem);
|
||||
defHoldEffectParam = ItemId_GetHoldEffectParam(defItem);
|
||||
defHoldEffect = GetItemHoldEffect(defItem);
|
||||
defHoldEffectParam = GetItemHoldEffectParam(defItem);
|
||||
}
|
||||
|
||||
switch (caseID)
|
||||
@@ -3293,39 +3306,39 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
switch (battlerHoldEffect)
|
||||
{
|
||||
case HOLD_EFFECT_DOUBLE_PRIZE:
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
gBattleStruct->moneyMultiplier = 2;
|
||||
break;
|
||||
case HOLD_EFFECT_RESTORE_STATS:
|
||||
for (i = 0; i < NUM_BATTLE_STATS; i++)
|
||||
{
|
||||
if (gBattleMons[battlerId].statStages[i] < DEFAULT_STAT_STAGE)
|
||||
if (gBattleMons[battler].statStages[i] < DEFAULT_STAT_STAGE)
|
||||
{
|
||||
gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE;
|
||||
gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE;
|
||||
effect = ITEM_STATS_CHANGE;
|
||||
}
|
||||
}
|
||||
if (effect != 0)
|
||||
{
|
||||
gBattleScripting.battler = battlerId;
|
||||
gPotentialItemEffectBattler = battlerId;
|
||||
gActiveBattler = gBattlerAttacker = battlerId;
|
||||
gBattleScripting.battler = battler;
|
||||
gPotentialItemEffectBattler = battler;
|
||||
gActiveBattler = gBattlerAttacker = battler;
|
||||
BattleScriptExecute(BattleScript_WhiteHerbEnd2);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case ITEMEFFECT_NORMAL:
|
||||
if (gBattleMons[battlerId].hp)
|
||||
if (gBattleMons[battler].hp)
|
||||
{
|
||||
switch (battlerHoldEffect)
|
||||
{
|
||||
case HOLD_EFFECT_RESTORE_HP:
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn)
|
||||
if (gBattleMons[battler].hp <= gBattleMons[battler].maxHP / 2 && !moveTurn)
|
||||
{
|
||||
gBattleMoveDamage = battlerHoldEffectParam;
|
||||
if (gBattleMons[battlerId].hp + battlerHoldEffectParam > gBattleMons[battlerId].maxHP)
|
||||
gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp;
|
||||
if (gBattleMons[battler].hp + battlerHoldEffectParam > gBattleMons[battler].maxHP)
|
||||
gBattleMoveDamage = gBattleMons[battler].maxHP - gBattleMons[battler].hp;
|
||||
gBattleMoveDamage *= -1;
|
||||
BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem);
|
||||
effect = ITEM_HP_CHANGE;
|
||||
@@ -3338,10 +3351,10 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
u8 ppBonuses;
|
||||
u16 move;
|
||||
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
|
||||
mon = &gPlayerParty[gBattlerPartyIndexes[battlerId]];
|
||||
if (GetBattlerSide(battler) == B_SIDE_PLAYER)
|
||||
mon = &gPlayerParty[gBattlerPartyIndexes[battler]];
|
||||
else
|
||||
mon = &gEnemyParty[gBattlerPartyIndexes[battlerId]];
|
||||
mon = &gEnemyParty[gBattlerPartyIndexes[battler]];
|
||||
for (i = 0; i < MAX_MON_MOVES; i++)
|
||||
{
|
||||
move = GetMonData(mon, MON_DATA_MOVE1 + i);
|
||||
@@ -3361,7 +3374,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
PREPARE_MOVE_BUFFER(gBattleTextBuff1, move);
|
||||
|
||||
BattleScriptExecute(BattleScript_BerryPPHealEnd2);
|
||||
BtlController_EmitSetMonData(BUFFER_A, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP);
|
||||
BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
effect = ITEM_PP_CHANGE;
|
||||
}
|
||||
@@ -3370,32 +3383,32 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
case HOLD_EFFECT_RESTORE_STATS:
|
||||
for (i = 0; i < NUM_BATTLE_STATS; i++)
|
||||
{
|
||||
if (gBattleMons[battlerId].statStages[i] < DEFAULT_STAT_STAGE)
|
||||
if (gBattleMons[battler].statStages[i] < DEFAULT_STAT_STAGE)
|
||||
{
|
||||
gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE;
|
||||
gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE;
|
||||
effect = ITEM_STATS_CHANGE;
|
||||
}
|
||||
}
|
||||
if (effect != 0)
|
||||
{
|
||||
gBattleScripting.battler = battlerId;
|
||||
gPotentialItemEffectBattler = battlerId;
|
||||
gActiveBattler = gBattlerAttacker = battlerId;
|
||||
gBattleScripting.battler = battler;
|
||||
gPotentialItemEffectBattler = battler;
|
||||
gActiveBattler = gBattlerAttacker = battler;
|
||||
BattleScriptExecute(BattleScript_WhiteHerbEnd2);
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_LEFTOVERS:
|
||||
if (gBattleMons[battlerId].hp < gBattleMons[battlerId].maxHP && !moveTurn)
|
||||
if (gBattleMons[battler].hp < gBattleMons[battler].maxHP && !moveTurn)
|
||||
{
|
||||
gBattleMoveDamage = gBattleMons[battlerId].maxHP / 16;
|
||||
gBattleMoveDamage = gBattleMons[battler].maxHP / 16;
|
||||
if (gBattleMoveDamage == 0)
|
||||
gBattleMoveDamage = 1;
|
||||
if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP)
|
||||
gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp;
|
||||
if (gBattleMons[battler].hp + gBattleMoveDamage > gBattleMons[battler].maxHP)
|
||||
gBattleMoveDamage = gBattleMons[battler].maxHP - gBattleMons[battler].hp;
|
||||
gBattleMoveDamage *= -1;
|
||||
BattleScriptExecute(BattleScript_ItemHealHP_End2);
|
||||
effect = ITEM_HP_CHANGE;
|
||||
RecordItemEffectBattle(battlerId, battlerHoldEffect);
|
||||
RecordItemEffectBattle(battler, battlerHoldEffect);
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CONFUSE_SPICY:
|
||||
@@ -3414,12 +3427,12 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
TRY_EAT_CONFUSE_BERRY(FLAVOR_SOUR);
|
||||
break;
|
||||
case HOLD_EFFECT_ATTACK_UP:
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam
|
||||
&& !moveTurn && gBattleMons[battlerId].statStages[STAT_ATK] < MAX_STAT_STAGE)
|
||||
if (gBattleMons[battler].hp <= gBattleMons[battler].maxHP / battlerHoldEffectParam
|
||||
&& !moveTurn && gBattleMons[battler].statStages[STAT_ATK] < MAX_STAT_STAGE)
|
||||
{
|
||||
PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_ATK);
|
||||
PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_STATROSE); // Only the Attack stat-up berry has this
|
||||
gEffectBattler = battlerId;
|
||||
gEffectBattler = battler;
|
||||
SET_STATCHANGER(STAT_ATK, 1, FALSE);
|
||||
gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + STAT_ATK;
|
||||
gBattleScripting.animArg2 = 0;
|
||||
@@ -3440,20 +3453,20 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
TRY_EAT_STAT_UP_BERRY(STAT_SPDEF);
|
||||
break;
|
||||
case HOLD_EFFECT_CRITICAL_UP:
|
||||
if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
&& !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY))
|
||||
if (gBattleMons[battler].hp <= gBattleMons[battler].maxHP / battlerHoldEffectParam && !moveTurn
|
||||
&& !(gBattleMons[battler].status2 & STATUS2_FOCUS_ENERGY))
|
||||
{
|
||||
gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY;
|
||||
gBattleMons[battler].status2 |= STATUS2_FOCUS_ENERGY;
|
||||
BattleScriptExecute(BattleScript_BerryFocusEnergyEnd2);
|
||||
effect = ITEM_EFFECT_OTHER;
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_RANDOM_STAT_UP:
|
||||
if (!moveTurn && gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam)
|
||||
if (!moveTurn && gBattleMons[battler].hp <= gBattleMons[battler].maxHP / battlerHoldEffectParam)
|
||||
{
|
||||
for (i = 0; i < NUM_STATS - 1; i++)
|
||||
{
|
||||
if (gBattleMons[battlerId].statStages[STAT_ATK + i] < MAX_STAT_STAGE)
|
||||
if (gBattleMons[battler].statStages[STAT_ATK + i] < MAX_STAT_STAGE)
|
||||
break;
|
||||
}
|
||||
if (i != NUM_STATS - 1)
|
||||
@@ -3461,7 +3474,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
do
|
||||
{
|
||||
i = Random() % (NUM_STATS - 1);
|
||||
} while (gBattleMons[battlerId].statStages[STAT_ATK + i] == MAX_STAT_STAGE);
|
||||
} while (gBattleMons[battler].statStages[STAT_ATK + i] == MAX_STAT_STAGE);
|
||||
|
||||
PREPARE_STAT_BUFFER(gBattleTextBuff1, i + 1);
|
||||
|
||||
@@ -3474,7 +3487,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
gBattleTextBuff2[6] = STRINGID_STATROSE >> 8;
|
||||
gBattleTextBuff2[7] = EOS;
|
||||
|
||||
gEffectBattler = battlerId;
|
||||
gEffectBattler = battler;
|
||||
SET_STATCHANGER(i + 1, 2, FALSE);
|
||||
gBattleScripting.animArg1 = STAT_ANIM_PLUS2 + (i + 1);
|
||||
gBattleScripting.animArg2 = 0;
|
||||
@@ -3484,85 +3497,85 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CURE_PAR:
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS)
|
||||
if (gBattleMons[battler].status1 & STATUS1_PARALYSIS)
|
||||
{
|
||||
gBattleMons[battlerId].status1 &= ~STATUS1_PARALYSIS;
|
||||
gBattleMons[battler].status1 &= ~STATUS1_PARALYSIS;
|
||||
BattleScriptExecute(BattleScript_BerryCurePrlzEnd2);
|
||||
effect = ITEM_STATUS_CHANGE;
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CURE_PSN:
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY)
|
||||
if (gBattleMons[battler].status1 & STATUS1_PSN_ANY)
|
||||
{
|
||||
gBattleMons[battlerId].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER);
|
||||
gBattleMons[battler].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER);
|
||||
BattleScriptExecute(BattleScript_BerryCurePsnEnd2);
|
||||
effect = ITEM_STATUS_CHANGE;
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CURE_BRN:
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_BURN)
|
||||
if (gBattleMons[battler].status1 & STATUS1_BURN)
|
||||
{
|
||||
gBattleMons[battlerId].status1 &= ~STATUS1_BURN;
|
||||
gBattleMons[battler].status1 &= ~STATUS1_BURN;
|
||||
BattleScriptExecute(BattleScript_BerryCureBrnEnd2);
|
||||
effect = ITEM_STATUS_CHANGE;
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CURE_FRZ:
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_FREEZE)
|
||||
if (gBattleMons[battler].status1 & STATUS1_FREEZE)
|
||||
{
|
||||
gBattleMons[battlerId].status1 &= ~STATUS1_FREEZE;
|
||||
gBattleMons[battler].status1 &= ~STATUS1_FREEZE;
|
||||
BattleScriptExecute(BattleScript_BerryCureFrzEnd2);
|
||||
effect = ITEM_STATUS_CHANGE;
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CURE_SLP:
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_SLEEP)
|
||||
if (gBattleMons[battler].status1 & STATUS1_SLEEP)
|
||||
{
|
||||
gBattleMons[battlerId].status1 &= ~STATUS1_SLEEP;
|
||||
gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE;
|
||||
gBattleMons[battler].status1 &= ~STATUS1_SLEEP;
|
||||
gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE;
|
||||
BattleScriptExecute(BattleScript_BerryCureSlpEnd2);
|
||||
effect = ITEM_STATUS_CHANGE;
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CURE_CONFUSION:
|
||||
if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION)
|
||||
if (gBattleMons[battler].status2 & STATUS2_CONFUSION)
|
||||
{
|
||||
gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION;
|
||||
gBattleMons[battler].status2 &= ~STATUS2_CONFUSION;
|
||||
BattleScriptExecute(BattleScript_BerryCureConfusionEnd2);
|
||||
effect = ITEM_EFFECT_OTHER;
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CURE_STATUS:
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_ANY || gBattleMons[battlerId].status2 & STATUS2_CONFUSION)
|
||||
if (gBattleMons[battler].status1 & STATUS1_ANY || gBattleMons[battler].status2 & STATUS2_CONFUSION)
|
||||
{
|
||||
i = 0;
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY)
|
||||
if (gBattleMons[battler].status1 & STATUS1_PSN_ANY)
|
||||
{
|
||||
StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn);
|
||||
i++;
|
||||
}
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_SLEEP)
|
||||
if (gBattleMons[battler].status1 & STATUS1_SLEEP)
|
||||
{
|
||||
gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE;
|
||||
gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE;
|
||||
StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn);
|
||||
i++;
|
||||
}
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS)
|
||||
if (gBattleMons[battler].status1 & STATUS1_PARALYSIS)
|
||||
{
|
||||
StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn);
|
||||
i++;
|
||||
}
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_BURN)
|
||||
if (gBattleMons[battler].status1 & STATUS1_BURN)
|
||||
{
|
||||
StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn);
|
||||
i++;
|
||||
}
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_FREEZE)
|
||||
if (gBattleMons[battler].status1 & STATUS1_FREEZE)
|
||||
{
|
||||
StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn);
|
||||
i++;
|
||||
}
|
||||
if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION)
|
||||
if (gBattleMons[battler].status2 & STATUS2_CONFUSION)
|
||||
{
|
||||
StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn);
|
||||
i++;
|
||||
@@ -3571,16 +3584,16 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM;
|
||||
else
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_NORMALIZED_STATUS;
|
||||
gBattleMons[battlerId].status1 = 0;
|
||||
gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION;
|
||||
gBattleMons[battler].status1 = 0;
|
||||
gBattleMons[battler].status2 &= ~STATUS2_CONFUSION;
|
||||
BattleScriptExecute(BattleScript_BerryCureChosenStatusEnd2);
|
||||
effect = ITEM_STATUS_CHANGE;
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CURE_ATTRACT:
|
||||
if (gBattleMons[battlerId].status2 & STATUS2_INFATUATION)
|
||||
if (gBattleMons[battler].status2 & STATUS2_INFATUATION)
|
||||
{
|
||||
gBattleMons[battlerId].status2 &= ~STATUS2_INFATUATION;
|
||||
gBattleMons[battler].status2 &= ~STATUS2_INFATUATION;
|
||||
StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn);
|
||||
BattleScriptExecute(BattleScript_BerryCureChosenStatusEnd2);
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM;
|
||||
@@ -3590,18 +3603,18 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
}
|
||||
if (effect != 0)
|
||||
{
|
||||
gBattleScripting.battler = battlerId;
|
||||
gPotentialItemEffectBattler = battlerId;
|
||||
gActiveBattler = gBattlerAttacker = battlerId;
|
||||
gBattleScripting.battler = battler;
|
||||
gPotentialItemEffectBattler = battler;
|
||||
gActiveBattler = gBattlerAttacker = battler;
|
||||
switch (effect)
|
||||
{
|
||||
case ITEM_STATUS_CHANGE:
|
||||
BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battlerId].status1);
|
||||
BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
break;
|
||||
case ITEM_PP_CHANGE:
|
||||
if (MOVE_IS_PERMANENT(battlerId, i))
|
||||
gBattleMons[battlerId].pp[i] = changedPP;
|
||||
if (MOVE_IS_PERMANENT(battler, i))
|
||||
gBattleMons[battler].pp[i] = changedPP;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -3610,80 +3623,80 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
case ITEMEFFECT_DUMMY:
|
||||
break;
|
||||
case ITEMEFFECT_MOVE_END:
|
||||
for (battlerId = 0; battlerId < gBattlersCount; battlerId++)
|
||||
for (battler = 0; battler < gBattlersCount; battler++)
|
||||
{
|
||||
gLastUsedItem = gBattleMons[battlerId].item;
|
||||
if (gBattleMons[battlerId].item == ITEM_ENIGMA_BERRY)
|
||||
gLastUsedItem = gBattleMons[battler].item;
|
||||
if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY)
|
||||
{
|
||||
battlerHoldEffect = gEnigmaBerries[battlerId].holdEffect;
|
||||
battlerHoldEffectParam = gEnigmaBerries[battlerId].holdEffectParam;
|
||||
battlerHoldEffect = gEnigmaBerries[battler].holdEffect;
|
||||
battlerHoldEffectParam = gEnigmaBerries[battler].holdEffectParam;
|
||||
}
|
||||
else
|
||||
{
|
||||
battlerHoldEffect = ItemId_GetHoldEffect(gLastUsedItem);
|
||||
battlerHoldEffectParam = ItemId_GetHoldEffectParam(gLastUsedItem);
|
||||
battlerHoldEffect = GetItemHoldEffect(gLastUsedItem);
|
||||
battlerHoldEffectParam = GetItemHoldEffectParam(gLastUsedItem);
|
||||
}
|
||||
switch (battlerHoldEffect)
|
||||
{
|
||||
case HOLD_EFFECT_CURE_PAR:
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS)
|
||||
if (gBattleMons[battler].status1 & STATUS1_PARALYSIS)
|
||||
{
|
||||
gBattleMons[battlerId].status1 &= ~STATUS1_PARALYSIS;
|
||||
gBattleMons[battler].status1 &= ~STATUS1_PARALYSIS;
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_BerryCureParRet;
|
||||
effect = ITEM_STATUS_CHANGE;
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CURE_PSN:
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY)
|
||||
if (gBattleMons[battler].status1 & STATUS1_PSN_ANY)
|
||||
{
|
||||
gBattleMons[battlerId].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER);
|
||||
gBattleMons[battler].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER);
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_BerryCurePsnRet;
|
||||
effect = ITEM_STATUS_CHANGE;
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CURE_BRN:
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_BURN)
|
||||
if (gBattleMons[battler].status1 & STATUS1_BURN)
|
||||
{
|
||||
gBattleMons[battlerId].status1 &= ~STATUS1_BURN;
|
||||
gBattleMons[battler].status1 &= ~STATUS1_BURN;
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_BerryCureBrnRet;
|
||||
effect = ITEM_STATUS_CHANGE;
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CURE_FRZ:
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_FREEZE)
|
||||
if (gBattleMons[battler].status1 & STATUS1_FREEZE)
|
||||
{
|
||||
gBattleMons[battlerId].status1 &= ~STATUS1_FREEZE;
|
||||
gBattleMons[battler].status1 &= ~STATUS1_FREEZE;
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_BerryCureFrzRet;
|
||||
effect = ITEM_STATUS_CHANGE;
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CURE_SLP:
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_SLEEP)
|
||||
if (gBattleMons[battler].status1 & STATUS1_SLEEP)
|
||||
{
|
||||
gBattleMons[battlerId].status1 &= ~STATUS1_SLEEP;
|
||||
gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE;
|
||||
gBattleMons[battler].status1 &= ~STATUS1_SLEEP;
|
||||
gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE;
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_BerryCureSlpRet;
|
||||
effect = ITEM_STATUS_CHANGE;
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CURE_CONFUSION:
|
||||
if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION)
|
||||
if (gBattleMons[battler].status2 & STATUS2_CONFUSION)
|
||||
{
|
||||
gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION;
|
||||
gBattleMons[battler].status2 &= ~STATUS2_CONFUSION;
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_BerryCureConfusionRet;
|
||||
effect = ITEM_EFFECT_OTHER;
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CURE_ATTRACT:
|
||||
if (gBattleMons[battlerId].status2 & STATUS2_INFATUATION)
|
||||
if (gBattleMons[battler].status2 & STATUS2_INFATUATION)
|
||||
{
|
||||
gBattleMons[battlerId].status2 &= ~STATUS2_INFATUATION;
|
||||
gBattleMons[battler].status2 &= ~STATUS2_INFATUATION;
|
||||
StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn);
|
||||
BattleScriptPushCursor();
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM;
|
||||
@@ -3692,31 +3705,31 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
}
|
||||
break;
|
||||
case HOLD_EFFECT_CURE_STATUS:
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_ANY || gBattleMons[battlerId].status2 & STATUS2_CONFUSION)
|
||||
if (gBattleMons[battler].status1 & STATUS1_ANY || gBattleMons[battler].status2 & STATUS2_CONFUSION)
|
||||
{
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY)
|
||||
if (gBattleMons[battler].status1 & STATUS1_PSN_ANY)
|
||||
StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn);
|
||||
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_SLEEP)
|
||||
if (gBattleMons[battler].status1 & STATUS1_SLEEP)
|
||||
{
|
||||
gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE;
|
||||
gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE;
|
||||
StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn);
|
||||
}
|
||||
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS)
|
||||
if (gBattleMons[battler].status1 & STATUS1_PARALYSIS)
|
||||
StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn);
|
||||
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_BURN)
|
||||
if (gBattleMons[battler].status1 & STATUS1_BURN)
|
||||
StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn);
|
||||
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_FREEZE)
|
||||
if (gBattleMons[battler].status1 & STATUS1_FREEZE)
|
||||
StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn);
|
||||
|
||||
if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION)
|
||||
if (gBattleMons[battler].status2 & STATUS2_CONFUSION)
|
||||
StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn);
|
||||
|
||||
gBattleMons[battlerId].status1 = 0;
|
||||
gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION;
|
||||
gBattleMons[battler].status1 = 0;
|
||||
gBattleMons[battler].status2 &= ~STATUS2_CONFUSION;
|
||||
BattleScriptPushCursor();
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM;
|
||||
gBattlescriptCurrInstr = BattleScript_BerryCureChosenStatusRet;
|
||||
@@ -3726,16 +3739,16 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
case HOLD_EFFECT_RESTORE_STATS:
|
||||
for (i = 0; i < NUM_BATTLE_STATS; i++)
|
||||
{
|
||||
if (gBattleMons[battlerId].statStages[i] < DEFAULT_STAT_STAGE)
|
||||
if (gBattleMons[battler].statStages[i] < DEFAULT_STAT_STAGE)
|
||||
{
|
||||
gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE;
|
||||
gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE;
|
||||
effect = ITEM_STATS_CHANGE;
|
||||
}
|
||||
}
|
||||
if (effect != 0)
|
||||
{
|
||||
gBattleScripting.battler = battlerId;
|
||||
gPotentialItemEffectBattler = battlerId;
|
||||
gBattleScripting.battler = battler;
|
||||
gPotentialItemEffectBattler = battler;
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_WhiteHerbRet;
|
||||
return effect;
|
||||
@@ -3744,10 +3757,10 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
}
|
||||
if (effect != 0)
|
||||
{
|
||||
gBattleScripting.battler = battlerId;
|
||||
gPotentialItemEffectBattler = battlerId;
|
||||
gActiveBattler = battlerId;
|
||||
BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
|
||||
gBattleScripting.battler = battler;
|
||||
gPotentialItemEffectBattler = battler;
|
||||
gActiveBattler = battler;
|
||||
BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
break;
|
||||
}
|
||||
@@ -3799,11 +3812,11 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
|
||||
return effect;
|
||||
}
|
||||
|
||||
void ClearFuryCutterDestinyBondGrudge(u8 battlerId)
|
||||
void ClearFuryCutterDestinyBondGrudge(u8 battler)
|
||||
{
|
||||
gDisableStructs[battlerId].furyCutterCounter = 0;
|
||||
gBattleMons[battlerId].status2 &= ~STATUS2_DESTINY_BOND;
|
||||
gStatuses3[battlerId] &= ~STATUS3_GRUDGE;
|
||||
gDisableStructs[battler].furyCutterCounter = 0;
|
||||
gBattleMons[battler].status2 &= ~STATUS2_DESTINY_BOND;
|
||||
gStatuses3[battler] &= ~STATUS3_GRUDGE;
|
||||
}
|
||||
|
||||
void HandleAction_RunBattleScript(void) // identical to RunBattleScriptCommands
|
||||
@@ -3897,14 +3910,14 @@ u8 GetMoveTarget(u16 move, u8 setTarget)
|
||||
return targetBattler;
|
||||
}
|
||||
|
||||
static bool32 IsBattlerModernFatefulEncounter(u8 battlerId)
|
||||
static bool32 IsBattlerModernFatefulEncounter(u8 battler)
|
||||
{
|
||||
if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT)
|
||||
if (GetBattlerSide(battler) == B_SIDE_OPPONENT)
|
||||
return TRUE;
|
||||
if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS
|
||||
&& GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES, NULL) != SPECIES_MEW)
|
||||
if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS
|
||||
&& GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES, NULL) != SPECIES_MEW)
|
||||
return TRUE;
|
||||
return GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_MODERN_FATEFUL_ENCOUNTER, NULL);
|
||||
return GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_MODERN_FATEFUL_ENCOUNTER, NULL);
|
||||
}
|
||||
|
||||
u8 IsMonDisobedient(void)
|
||||
|
||||
+26
-26
@@ -71,7 +71,7 @@ void FreeBattleResources(void)
|
||||
}
|
||||
}
|
||||
|
||||
void AdjustFriendshipOnBattleFaint(u8 battlerId)
|
||||
void AdjustFriendshipOnBattleFaint(u8 battler)
|
||||
{
|
||||
u8 opposingBattlerId;
|
||||
|
||||
@@ -90,37 +90,37 @@ void AdjustFriendshipOnBattleFaint(u8 battlerId)
|
||||
opposingBattlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
|
||||
}
|
||||
|
||||
if (gBattleMons[opposingBattlerId].level > gBattleMons[battlerId].level)
|
||||
if (gBattleMons[opposingBattlerId].level > gBattleMons[battler].level)
|
||||
{
|
||||
if (gBattleMons[opposingBattlerId].level - gBattleMons[battlerId].level > 29)
|
||||
AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], FRIENDSHIP_EVENT_FAINT_LARGE);
|
||||
if (gBattleMons[opposingBattlerId].level - gBattleMons[battler].level > 29)
|
||||
AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battler]], FRIENDSHIP_EVENT_FAINT_LARGE);
|
||||
else
|
||||
AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], FRIENDSHIP_EVENT_FAINT_SMALL);
|
||||
AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battler]], FRIENDSHIP_EVENT_FAINT_SMALL);
|
||||
}
|
||||
else
|
||||
{
|
||||
AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], FRIENDSHIP_EVENT_FAINT_SMALL);
|
||||
AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battler]], FRIENDSHIP_EVENT_FAINT_SMALL);
|
||||
}
|
||||
}
|
||||
|
||||
void SwitchPartyOrderInGameMulti(u8 battlerId, u8 arg1)
|
||||
void SwitchPartyOrderInGameMulti(u8 battler, u8 arg1)
|
||||
{
|
||||
if (GetBattlerSide(battlerId) != B_SIDE_OPPONENT)
|
||||
if (GetBattlerSide(battler) != B_SIDE_OPPONENT)
|
||||
{
|
||||
s32 i;
|
||||
for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++)
|
||||
gBattlePartyCurrentOrder[i] = *(0 * 3 + i + (u8 *)(gBattleStruct->battlerPartyOrders));
|
||||
gBattlePartyCurrentOrder[i] = *(i + (u8 *)(gBattleStruct->battlerPartyOrders));
|
||||
|
||||
SwitchPartyMonSlots(GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battlerId]), GetPartyIdFromBattlePartyId(arg1));
|
||||
SwitchPartyMonSlots(GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battler]), GetPartyIdFromBattlePartyId(arg1));
|
||||
|
||||
for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++)
|
||||
*(0 * 3 + i + (u8 *)(gBattleStruct->battlerPartyOrders)) = gBattlePartyCurrentOrder[i];
|
||||
*(i + (u8 *)(gBattleStruct->battlerPartyOrders)) = gBattlePartyCurrentOrder[i];
|
||||
}
|
||||
}
|
||||
|
||||
// Called when a Pokémon is unable to attack during a Battle Palace battle.
|
||||
// Check if it was because they are frozen/asleep, and if so try to cure the status.
|
||||
u32 BattlePalace_TryEscapeStatus(u8 battlerId)
|
||||
u32 BattlePalace_TryEscapeStatus(u8 battler)
|
||||
{
|
||||
u32 effect = 0;
|
||||
|
||||
@@ -129,13 +129,13 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId)
|
||||
switch (gBattleCommunication[MULTIUSE_STATE])
|
||||
{
|
||||
case 0:
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_SLEEP)
|
||||
if (gBattleMons[battler].status1 & STATUS1_SLEEP)
|
||||
{
|
||||
if (UproarWakeUpCheck(battlerId))
|
||||
if (UproarWakeUpCheck(battler))
|
||||
{
|
||||
// Wake up from Uproar
|
||||
gBattleMons[battlerId].status1 &= ~(STATUS1_SLEEP);
|
||||
gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE);
|
||||
gBattleMons[battler].status1 &= ~(STATUS1_SLEEP);
|
||||
gBattleMons[battler].status2 &= ~(STATUS2_NIGHTMARE);
|
||||
BattleScriptPushCursor();
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WOKE_UP_UPROAR;
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp;
|
||||
@@ -145,18 +145,18 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId)
|
||||
{
|
||||
u32 toSub;
|
||||
|
||||
if (gBattleMons[battlerId].ability == ABILITY_EARLY_BIRD)
|
||||
if (gBattleMons[battler].ability == ABILITY_EARLY_BIRD)
|
||||
toSub = 2;
|
||||
else
|
||||
toSub = 1;
|
||||
|
||||
// Reduce number of sleep turns
|
||||
if ((gBattleMons[battlerId].status1 & STATUS1_SLEEP) < toSub)
|
||||
gBattleMons[battlerId].status1 &= ~(STATUS1_SLEEP);
|
||||
if ((gBattleMons[battler].status1 & STATUS1_SLEEP) < toSub)
|
||||
gBattleMons[battler].status1 &= ~(STATUS1_SLEEP);
|
||||
else
|
||||
gBattleMons[battlerId].status1 -= toSub;
|
||||
gBattleMons[battler].status1 -= toSub;
|
||||
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_SLEEP)
|
||||
if (gBattleMons[battler].status1 & STATUS1_SLEEP)
|
||||
{
|
||||
// Still asleep
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedIsAsleep;
|
||||
@@ -165,7 +165,7 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId)
|
||||
else
|
||||
{
|
||||
// Wake up
|
||||
gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE);
|
||||
gBattleMons[battler].status2 &= ~(STATUS2_NIGHTMARE);
|
||||
BattleScriptPushCursor();
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WOKE_UP;
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp;
|
||||
@@ -176,7 +176,7 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId)
|
||||
gBattleCommunication[MULTIUSE_STATE]++;
|
||||
break;
|
||||
case 1:
|
||||
if (gBattleMons[battlerId].status1 & STATUS1_FREEZE)
|
||||
if (gBattleMons[battler].status1 & STATUS1_FREEZE)
|
||||
{
|
||||
if (Random() % 5 != 0)
|
||||
{
|
||||
@@ -186,7 +186,7 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId)
|
||||
else
|
||||
{
|
||||
// Unfreeze
|
||||
gBattleMons[battlerId].status1 &= ~(STATUS1_FREEZE);
|
||||
gBattleMons[battler].status1 &= ~(STATUS1_FREEZE);
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze;
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DEFROSTED;
|
||||
@@ -203,8 +203,8 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId)
|
||||
|
||||
if (effect == 2)
|
||||
{
|
||||
gActiveBattler = battlerId;
|
||||
BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
|
||||
gActiveBattler = battler;
|
||||
BtlController_EmitSetMonData(B_COMM_TO_CONTROLLER, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1);
|
||||
MarkBattlerForControllerExec(gActiveBattler);
|
||||
}
|
||||
|
||||
|
||||
+3
-9
@@ -1204,15 +1204,9 @@ static u8 GetNumStagesWateredByBerryTreeId(u8 id)
|
||||
return BerryTreeGetNumStagesWatered(GetBerryTreeInfo(id));
|
||||
}
|
||||
|
||||
// Berries can be watered at 4 stages of growth. This function is likely meant
|
||||
// to divide the berry yield range equally into quartiles. If you watered the
|
||||
// tree n times, your yield is a random number in the nth quartile.
|
||||
//
|
||||
// However, this function actually skews towards higher berry yields, because
|
||||
// it rounds `extraYield` to the nearest whole number.
|
||||
//
|
||||
// See resulting yields: https://gist.github.com/hondew/2a099dbe54aa91414decdbfaa524327d,
|
||||
// and bug fix: https://gist.github.com/hondew/0f0164e5b9dadfd72d24f30f2c049a0b.
|
||||
// Berries can be watered at 4 stages of growth. The distribution is largely
|
||||
// even but slightly prefers middle berry yields, since it uniformly draws from
|
||||
// a subset of the total yield range.
|
||||
static u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water)
|
||||
{
|
||||
u32 randMin;
|
||||
|
||||
+5
-5
@@ -1207,7 +1207,7 @@ static void CreateBerrySprite(u16 itemId, u8 playerId)
|
||||
sBerrySpriteData[playerId][4]);
|
||||
}
|
||||
|
||||
static void ConvertItemToBlenderBerry(struct BlenderBerry* berry, u16 itemId)
|
||||
static void ConvertItemToBlenderBerry(struct BlenderBerry *berry, u16 itemId)
|
||||
{
|
||||
const struct Berry *berryInfo = GetBerryInfo(ITEM_TO_BERRY(itemId));
|
||||
|
||||
@@ -1539,7 +1539,7 @@ static u8 GetArrowProximity(u16 arrowPos, u8 playerId)
|
||||
return PROXIMITY_MISS;
|
||||
}
|
||||
|
||||
static void SetOpponentsBerryData(u16 playerBerryItemId, u8 playersNum, struct BlenderBerry* playerBerry)
|
||||
static void SetOpponentsBerryData(u16 playerBerryItemId, u8 playersNum, struct BlenderBerry *playerBerry)
|
||||
{
|
||||
u16 opponentSetId = 0;
|
||||
u16 opponentBerryId;
|
||||
@@ -2243,7 +2243,7 @@ static void Blender_DummiedOutFunc(s16 bgX, s16 bgY)
|
||||
|
||||
}
|
||||
|
||||
static bool8 AreBlenderBerriesSame(struct BlenderBerry* berries, u8 a, u8 b)
|
||||
static bool8 AreBlenderBerriesSame(struct BlenderBerry *berries, u8 a, u8 b)
|
||||
{
|
||||
// First check to itemId is pointless (and wrong anyway?), always false when this is called
|
||||
// Only used to determine if two enigma berries are equivalent
|
||||
@@ -2260,7 +2260,7 @@ static bool8 AreBlenderBerriesSame(struct BlenderBerry* berries, u8 a, u8 b)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static u32 CalculatePokeblockColor(struct BlenderBerry* berries, s16 *_flavors, u8 numPlayers, u8 negativeFlavors)
|
||||
static u32 CalculatePokeblockColor(struct BlenderBerry *berries, s16 *_flavors, u8 numPlayers, u8 negativeFlavors)
|
||||
{
|
||||
s16 flavors[FLAVOR_COUNT + 1];
|
||||
s32 i, j;
|
||||
@@ -2491,7 +2491,7 @@ static void CalculatePokeblock(struct BlenderBerry *berries, struct Pokeblock *p
|
||||
flavors[i] = sPokeblockFlavors[i];
|
||||
}
|
||||
|
||||
static void UNUSED Debug_CalculatePokeblock(struct BlenderBerry* berries, struct Pokeblock* pokeblock, u8 numPlayers, u8 *flavors, u16 maxRPM)
|
||||
static void UNUSED Debug_CalculatePokeblock(struct BlenderBerry *berries, struct Pokeblock *pokeblock, u8 numPlayers, u8 *flavors, u16 maxRPM)
|
||||
{
|
||||
CalculatePokeblock(berries, pokeblock, numPlayers, flavors, maxRPM);
|
||||
}
|
||||
|
||||
+4
-4
@@ -914,7 +914,7 @@ static const u8 *const sResultsTexts[] =
|
||||
[RESULTS_PAGE_POWER + NUM_RESULTS_PAGES] = gText_PressingPowerRankings,
|
||||
};
|
||||
|
||||
static u32 (*const sBerryCrushCommands[])(struct BerryCrushGame * game, u8 * data) =
|
||||
static u32 (*const sBerryCrushCommands[])(struct BerryCrushGame *game, u8 *data) =
|
||||
{
|
||||
[CMD_NONE] = NULL,
|
||||
[CMD_FADE] = Cmd_BeginNormalPaletteFade,
|
||||
@@ -1590,14 +1590,14 @@ static void PrintTextCentered(u8 windowId, u8 left, u8 colorId, const u8 *string
|
||||
AddTextPrinterParameterized3(windowId, FONT_SHORT, left, 0, sTextColorTable[colorId], 0, string);
|
||||
}
|
||||
|
||||
static void PrintResultsText(struct BerryCrushGame * game, u8 page, u8 sp14, u8 baseY)
|
||||
static void PrintResultsText(struct BerryCrushGame *game, u8 page, u8 sp14, u8 baseY)
|
||||
{
|
||||
u8 i, j;
|
||||
u8 playerId = 0;
|
||||
u8 ranking = 0;
|
||||
s32 x;
|
||||
u8 stat;
|
||||
struct BerryCrushGame_Results * results = &game->results;
|
||||
struct BerryCrushGame_Results *results = &game->results;
|
||||
u32 xOffset;
|
||||
s32 y;
|
||||
|
||||
@@ -1942,7 +1942,7 @@ static void DrawPlayerNameWindows(struct BerryCrushGame *game)
|
||||
static void CopyPlayerNameWindowGfxToBg(struct BerryCrushGame *game)
|
||||
{
|
||||
u8 i = 0;
|
||||
u8 * windowGfx;
|
||||
u8 *windowGfx;
|
||||
|
||||
LZ77UnCompWram(gBerryCrush_TextWindows_Tilemap, gDecompressionBuffer);
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ struct {
|
||||
u8 curScene;
|
||||
u16 timer;
|
||||
struct MultiBootParam mb;
|
||||
} static * sBerryFix;
|
||||
} static *sBerryFix;
|
||||
|
||||
static void BerryFix_Main(void);
|
||||
static void BerryFix_GpuSet(void);
|
||||
|
||||
@@ -331,7 +331,7 @@ static bool8 LoadBerryTagGfx(void)
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
LZDecompressWram(gBerryTag_Pal, sBerryTag->tilemapBuffers[2]);
|
||||
LZDecompressWram(gBerryTag_Tilemap, sBerryTag->tilemapBuffers[2]);
|
||||
sBerryTag->gfxState++;
|
||||
break;
|
||||
case 3:
|
||||
|
||||
@@ -916,7 +916,7 @@ void CopyToBgTilemapBufferRect(u8 bg, const void *src, u8 destX, u8 destY, u8 wi
|
||||
{
|
||||
case BG_TYPE_NORMAL:
|
||||
{
|
||||
const u16 * srcCopy = src;
|
||||
const u16 *srcCopy = src;
|
||||
for (destY16 = destY; destY16 < (destY + height); destY16++)
|
||||
{
|
||||
for (destX16 = destX; destX16 < (destX + width); destX16++)
|
||||
@@ -928,7 +928,7 @@ void CopyToBgTilemapBufferRect(u8 bg, const void *src, u8 destX, u8 destY, u8 wi
|
||||
}
|
||||
case BG_TYPE_AFFINE:
|
||||
{
|
||||
const u8 * srcCopy = src;
|
||||
const u8 *srcCopy = src;
|
||||
mode = GetBgMetricAffineMode(bg, 0x1);
|
||||
for (destY16 = destY; destY16 < (destY + height); destY16++)
|
||||
{
|
||||
|
||||
@@ -61,8 +61,8 @@ static void DoBrailleRegisteelEffect(void);
|
||||
bool8 ShouldDoBrailleDigEffect(void)
|
||||
{
|
||||
if (!FlagGet(FLAG_SYS_BRAILLE_DIG)
|
||||
&& (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SEALED_CHAMBER_OUTER_ROOM)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(SEALED_CHAMBER_OUTER_ROOM)))
|
||||
&& (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_SEALED_CHAMBER_OUTER_ROOM)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_SEALED_CHAMBER_OUTER_ROOM)))
|
||||
{
|
||||
if (gSaveBlock1Ptr->pos.x == 10 && gSaveBlock1Ptr->pos.y == 3)
|
||||
return TRUE;
|
||||
@@ -167,8 +167,8 @@ static void Task_SealedChamberShakingEffect(u8 taskId)
|
||||
bool8 ShouldDoBrailleRegirockEffect(void)
|
||||
{
|
||||
if (!FlagGet(FLAG_SYS_REGIROCK_PUZZLE_COMPLETED)
|
||||
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(DESERT_RUINS)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(DESERT_RUINS))
|
||||
&& gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_DESERT_RUINS)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_DESERT_RUINS))
|
||||
{
|
||||
if (gSaveBlock1Ptr->pos.x == 6 && gSaveBlock1Ptr->pos.y == 23)
|
||||
{
|
||||
@@ -218,7 +218,7 @@ static void DoBrailleRegirockEffect(void)
|
||||
|
||||
bool8 ShouldDoBrailleRegisteelEffect(void)
|
||||
{
|
||||
if (!FlagGet(FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED) && (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ANCIENT_TOMB) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ANCIENT_TOMB)))
|
||||
if (!FlagGet(FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED) && (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ANCIENT_TOMB) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ANCIENT_TOMB)))
|
||||
{
|
||||
if (gSaveBlock1Ptr->pos.x == 8 && gSaveBlock1Ptr->pos.y == 25)
|
||||
{
|
||||
@@ -284,8 +284,8 @@ bool8 ShouldDoBrailleRegicePuzzle(void)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ISLAND_CAVE)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(ISLAND_CAVE))
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(MAP_ISLAND_CAVE)
|
||||
&& gSaveBlock1Ptr->location.mapNum == MAP_NUM(MAP_ISLAND_CAVE))
|
||||
{
|
||||
if (FlagGet(FLAG_SYS_BRAILLE_REGICE_COMPLETED))
|
||||
return FALSE;
|
||||
|
||||
+17
-14
@@ -420,7 +420,7 @@ static const union AffineAnimCmd sAffineAnim_SliderHeart_SpinAppear[] =
|
||||
AFFINEANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd* const sAffineAnims_SliderHeart[] =
|
||||
static const union AffineAnimCmd *const sAffineAnims_SliderHeart[] =
|
||||
{
|
||||
[SLIDER_HEART_ANIM_NORMAL] = sAffineAnim_SliderHeart_Normal,
|
||||
[SLIDER_HEART_ANIM_DISAPPEAR] = sAffineAnim_SliderHeart_SpinDisappear,
|
||||
@@ -1347,13 +1347,13 @@ static bool8 SetupContestGraphics(u8 *stateVar)
|
||||
CreateApplauseMeterSprite();
|
||||
CreateJudgeAttentionEyeTask();
|
||||
CreateUnusedBlendTask();
|
||||
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT;
|
||||
gBattlerPositions[3] = B_POSITION_PLAYER_RIGHT;
|
||||
gBattlerPositions[B_BATTLER_0] = B_POSITION_PLAYER_LEFT;
|
||||
gBattlerPositions[B_BATTLER_1] = B_POSITION_OPPONENT_LEFT;
|
||||
gBattlerPositions[B_BATTLER_2] = B_POSITION_OPPONENT_RIGHT;
|
||||
gBattlerPositions[B_BATTLER_3] = B_POSITION_PLAYER_RIGHT;
|
||||
gBattleTypeFlags = 0;
|
||||
gBattlerAttacker = B_POSITION_PLAYER_RIGHT;
|
||||
gBattlerTarget = B_POSITION_OPPONENT_RIGHT;
|
||||
gBattlerAttacker = B_BATTLER_2;
|
||||
gBattlerTarget = B_BATTLER_3;
|
||||
// Unclear why judge sprite is assigned here
|
||||
// Overwritten in APPEALSTATE_SLIDE_MON_IN with the attacking contest mon
|
||||
gBattlerSpriteIds[gBattlerAttacker] = CreateJudgeSprite();
|
||||
@@ -2855,7 +2855,7 @@ void SetContestants(u8 contestType, u8 rank)
|
||||
u8 opponentsCount = 0;
|
||||
u8 opponents[100];
|
||||
bool8 allowPostgameContestants = FALSE;
|
||||
const u8 * filter;
|
||||
const u8 *filter;
|
||||
|
||||
TryPutPlayerLast();
|
||||
|
||||
@@ -3011,7 +3011,7 @@ static void DrawContestantWindowText(void)
|
||||
|
||||
static u8 *Contest_CopyStringWithColor(const u8 *string, u8 color)
|
||||
{
|
||||
u8 * ptr = StringCopy(gDisplayedStringBattle, gText_ColorTransparent);
|
||||
u8 *ptr = StringCopy(gDisplayedStringBattle, gText_ColorTransparent);
|
||||
ptr[-1] = color; // Overwrites the "{COLOR TRANSPARENT}" part of the string.
|
||||
ptr = StringCopy(ptr, string);
|
||||
|
||||
@@ -3171,16 +3171,19 @@ static u16 GetMoveEffectSymbolTileOffset(u16 move, u8 contestant)
|
||||
|
||||
switch (gContestEffects[gContestMoves[move].effect].effectType)
|
||||
{
|
||||
case 0:
|
||||
case 1:
|
||||
case 8:
|
||||
case CONTEST_EFFECT_TYPE_APPEAL:
|
||||
case CONTEST_EFFECT_TYPE_AVOID_STARTLE:
|
||||
case CONTEST_EFFECT_TYPE_UNKNOWN:
|
||||
offset = 0x9082;
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
case CONTEST_EFFECT_TYPE_STARTLE_MON:
|
||||
case CONTEST_EFFECT_TYPE_STARTLE_MONS:
|
||||
offset = 0x9088;
|
||||
break;
|
||||
default:
|
||||
//case CONTEST_EFFECT_TYPE_WORSEN:
|
||||
//case CONTEST_EFFECT_TYPE_SPECIAL_APPEAL:
|
||||
//case CONTEST_EFFECT_TYPE_TURN_ORDER:
|
||||
offset = 0x9086;
|
||||
break;
|
||||
}
|
||||
|
||||
+3
-3
@@ -326,8 +326,8 @@ u8 ContestAI_GetActionToUse(void)
|
||||
{
|
||||
// Randomly choose a move index. If it's the move
|
||||
// with the highest (or tied highest) score, return
|
||||
u8 moveIdx = MOD(Random(), MAX_MON_MOVES);
|
||||
u8 score = eContestAI.moveScores[moveIdx];
|
||||
u8 moveIndex = MOD(Random(), MAX_MON_MOVES);
|
||||
u8 score = eContestAI.moveScores[moveIndex];
|
||||
int i;
|
||||
for (i = 0; i < MAX_MON_MOVES; i++)
|
||||
{
|
||||
@@ -335,7 +335,7 @@ u8 ContestAI_GetActionToUse(void)
|
||||
break;
|
||||
}
|
||||
if (i == MAX_MON_MOVES)
|
||||
return moveIdx;
|
||||
return moveIndex;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+9
-4
@@ -2306,13 +2306,13 @@ void GetNpcContestantLocalId(void)
|
||||
switch (contestant)
|
||||
{
|
||||
case 0:
|
||||
localId = 3;
|
||||
localId = LOCALID_CONTESTANT_1;
|
||||
break;
|
||||
case 1:
|
||||
localId = 4;
|
||||
localId = LOCALID_CONTESTANT_2;
|
||||
break;
|
||||
case 2:
|
||||
localId = 5;
|
||||
localId = LOCALID_CONTESTANT_3;
|
||||
break;
|
||||
default: // Invalid
|
||||
localId = 100;
|
||||
@@ -2512,7 +2512,12 @@ void LoadLinkContestPlayerPalettes(void)
|
||||
u8 objectEventId;
|
||||
int version;
|
||||
struct Sprite *sprite;
|
||||
static const u8 sContestantLocalIds[CONTESTANT_COUNT] = { 3, 4, 5, 14 };
|
||||
static const u8 sContestantLocalIds[CONTESTANT_COUNT] = {
|
||||
LOCALID_CONTESTANT_1,
|
||||
LOCALID_CONTESTANT_2,
|
||||
LOCALID_CONTESTANT_3,
|
||||
LOCALID_CONTESTANT_4,
|
||||
};
|
||||
|
||||
gReservedSpritePaletteCount = 12;
|
||||
if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
heal_locations.h
|
||||
wild_encounters.h
|
||||
region_map/region_map_entries.h
|
||||
region_map/porymap_config.json
|
||||
|
||||
+311
-311
@@ -1,626 +1,626 @@
|
||||
#ifndef GUARD_DATA_BARD_MUSIC_ACTIONS_H
|
||||
#define GUARD_DATA_BARD_MUSIC_ACTIONS_H
|
||||
const struct BardSound gBardSounds_Actions[][6] = {
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
static const struct BardSoundTemplate sBardSoundTemplates_Actions[][MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_INDEX(EC_WORD_MEETS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CONCEDE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 16 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GIVE)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 16 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GIVES)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 4 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PLAYED)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PLAYS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_COLLECT)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WALKING)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 8 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WALKS)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SAYS)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WENT)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SAID)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WAKE_UP)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WAKES_UP)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ANGERS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 13 },
|
||||
[EC_INDEX(EC_WORD_TEACH)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_HELD) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TEACHES)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 13 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PLEASE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LEARN)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CHANGE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_STORY)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TRUST)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LAVISH)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LISTENS)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HEARING)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TRAINS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CHOOSE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_COME)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CAME)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SEARCH)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MAKE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CAUSE)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_KNOW)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_KNOWS)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 47 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_REFUSE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CURE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_STORES)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BRAG)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 2 },
|
||||
[EC_INDEX(EC_WORD_IGNORANT)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THINKS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BELIEVE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SLIDE)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_EATS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 47 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_USE)] = {
|
||||
{ .songId = PHONEME_ID(PH_CURE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 47 },
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_USES)] = {
|
||||
{ .songId = PHONEME_ID(PH_CURE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 47 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_USING)] = {
|
||||
{ .songId = PHONEME_ID(PH_CURE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_COULDN_T)] = {
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 26 },
|
||||
[EC_INDEX(EC_WORD_CAPABLE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DISAPPEAR)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_APPEAR)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THROW)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WORRY)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SLEPT)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SLEEP)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_RELEASE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DRINKS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_RUNS)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_RUN)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WORKS)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 13 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WORKING)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TALKING)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 27 },
|
||||
[EC_INDEX(EC_WORD_TALK)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SINK)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SMACK)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PRETEND)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PRAISE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 41 },
|
||||
[EC_INDEX(EC_WORD_OVERDO)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SHOW)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LOOKS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SEES)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SEEK)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OWN)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TAKE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 35 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ALLOW)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FORGET)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FORGETS)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 13 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_APPEARS)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FAINT)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FAINTED)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
|
||||
+152
-152
@@ -1,293 +1,293 @@
|
||||
#ifndef GUARD_DATA_BARD_MUSIC_ADJECTIVES_H
|
||||
#define GUARD_DATA_BARD_MUSIC_ADJECTIVES_H
|
||||
const struct BardSound gBardSounds_Adjectives[][6] = {
|
||||
{
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 12 },
|
||||
static const struct BardSoundTemplate sBardSoundTemplates_Adjectives[][MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_INDEX(EC_WORD_WANDERING)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 14 },
|
||||
[EC_INDEX(EC_WORD_RICKETY)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 17 },
|
||||
[EC_INDEX(EC_WORD_ROCK_SOLID)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 14 },
|
||||
[EC_INDEX(EC_WORD_HUNGRY)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TIGHT)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 36 },
|
||||
{ .songLengthId = 17 },
|
||||
[EC_INDEX(EC_WORD_TICKLISH)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TWIRLING)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 8 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SPIRALING)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THIRSTY)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LOLLING)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SILKY)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SADLY)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HOPELESS)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 45 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_USELESS)] = {
|
||||
{ .songId = PHONEME_ID(PH_CURE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DROOLING)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 12 },
|
||||
[EC_INDEX(EC_WORD_EXCITING)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THICK)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SMOOTH)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SLIMY)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THIN)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BREAK)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_VORACIOUS)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SCATTER)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AWESOME)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WIMPY)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WOBBLY)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SHAKY)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_RIPPED)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SHREDDED)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 12 },
|
||||
[EC_INDEX(EC_WORD_INCREASING)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_YET)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 30 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DESTROYED)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CHOICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 14 },
|
||||
[EC_INDEX(EC_WORD_FIERY)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 14 },
|
||||
[EC_INDEX(EC_WORD_LOVEY_DOVEY)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 14 },
|
||||
[EC_INDEX(EC_WORD_HAPPILY)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 51 }
|
||||
[EC_INDEX(EC_WORD_ANTICIPATION)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
PREV_BARD_SOUND
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
#ifndef GUARD_BARD_SOUNDS_TABLE_H
|
||||
#define GUARD_BARD_SOUNDS_TABLE_H
|
||||
|
||||
#define NULL_BARD_SOUND { .songLengthId = 0xff }
|
||||
|
||||
#include "pokemon.h"
|
||||
#include "moves.h"
|
||||
#include "trainer.h"
|
||||
#include "status.h"
|
||||
#include "battle.h"
|
||||
#include "greetings.h"
|
||||
#include "people.h"
|
||||
#include "voices.h"
|
||||
#include "speech.h"
|
||||
#include "endings.h"
|
||||
#include "feelings.h"
|
||||
#include "conditions.h"
|
||||
#include "actions.h"
|
||||
#include "lifestyle.h"
|
||||
#include "hobbies.h"
|
||||
#include "time.h"
|
||||
#include "misc.h"
|
||||
#include "adjectives.h"
|
||||
#include "events.h"
|
||||
#include "trendysaying.h"
|
||||
|
||||
const struct BardSound (*const gBardSoundsTable[EC_NUM_GROUPS])[6] = {
|
||||
[EC_GROUP_POKEMON] = NULL, // Handled by gBardSounds_Pokemon
|
||||
[EC_GROUP_TRAINER] = gBardSounds_Trainer,
|
||||
[EC_GROUP_STATUS] = gBardSounds_Status,
|
||||
[EC_GROUP_BATTLE] = gBardSounds_Battle,
|
||||
[EC_GROUP_GREETINGS] = gBardSounds_Greetings,
|
||||
[EC_GROUP_PEOPLE] = gBardSounds_People,
|
||||
[EC_GROUP_VOICES] = gBardSounds_Voices,
|
||||
[EC_GROUP_SPEECH] = gBardSounds_Speech,
|
||||
[EC_GROUP_ENDINGS] = gBardSounds_Endings,
|
||||
[EC_GROUP_FEELINGS] = gBardSounds_Feelings,
|
||||
[EC_GROUP_CONDITIONS] = gBardSounds_Conditions,
|
||||
[EC_GROUP_ACTIONS] = gBardSounds_Actions,
|
||||
[EC_GROUP_LIFESTYLE] = gBardSounds_Lifestyle,
|
||||
[EC_GROUP_HOBBIES] = gBardSounds_Hobbies,
|
||||
[EC_GROUP_TIME] = gBardSounds_Time,
|
||||
[EC_GROUP_MISC] = gBardSounds_Misc,
|
||||
[EC_GROUP_ADJECTIVES] = gBardSounds_Adjectives,
|
||||
[EC_GROUP_EVENTS] = gBardSounds_Events,
|
||||
[EC_GROUP_MOVE_1] = NULL, // Handled by gBardSounds_Moves
|
||||
[EC_GROUP_MOVE_2] = NULL, // Handled by gBardSounds_Moves
|
||||
[EC_GROUP_TRENDY_SAYING] = gBardSounds_TrendySaying,
|
||||
[EC_GROUP_POKEMON_NATIONAL] = NULL // Handled by gBardSounds_Pokemon
|
||||
};
|
||||
|
||||
#endif //GUARD_BARD_SOUNDS_TABLE_H
|
||||
+256
-256
@@ -1,506 +1,506 @@
|
||||
#ifndef GUARD_DATA_BARD_MUSIC_BATTLE_H
|
||||
#define GUARD_DATA_BARD_MUSIC_BATTLE_H
|
||||
const struct BardSound gBardSounds_Battle[][6] = {
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 51 },
|
||||
static const struct BardSoundTemplate sBardSoundTemplates_Battle[][MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_INDEX(EC_WORD_MATCH_UP)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GO)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 44 },
|
||||
[EC_INDEX(EC_WORD_NO_1)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DECIDE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 15 },
|
||||
[EC_INDEX(EC_WORD_LET_ME_WIN)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WINS)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WIN)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WON)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 15 },
|
||||
[EC_INDEX(EC_WORD_IF_I_WIN)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 15 },
|
||||
[EC_INDEX(EC_WORD_WHEN_I_WIN)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CAN_T_WIN)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CAN_WIN)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NO_MATCH)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SPIRIT)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 11 },
|
||||
[EC_INDEX(EC_WORD_DECIDED)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 8 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TRUMP_CARD)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TAKE_THAT)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_COME_ON)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ATTACK)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 48 },
|
||||
[EC_INDEX(EC_WORD_SURRENDER)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GUTSY)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TALENT)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 12 },
|
||||
[EC_INDEX(EC_WORD_STRATEGY)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SMITE)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MATCH)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 14 },
|
||||
[EC_INDEX(EC_WORD_VICTORY)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 21 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OFFENSIVE)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SENSE)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_VERSUS)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FIGHTS)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 35 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_POWER)] = {
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CHALLENGE)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_STRONG)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 41 },
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TOO_STRONG)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 14 },
|
||||
[EC_INDEX(EC_WORD_GO_EASY)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FOE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 44 },
|
||||
[EC_INDEX(EC_WORD_GENIUS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LEGEND)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ESCAPE)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AIM)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BATTLE)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FIGHT)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 5 },
|
||||
[EC_INDEX(EC_WORD_RESUSCITATE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 30 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_POINTS)] = {
|
||||
{ .songId = PHONEME_ID(PH_CHOICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 44 },
|
||||
[EC_INDEX(EC_WORD_SERIOUS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GIVE_UP)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LOSS)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 39 },
|
||||
[EC_INDEX(EC_WORD_IF_I_LOSE)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 22 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LOST)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LOSE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 8 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GUARD)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 21 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PARTNER)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_REJECT)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ACCEPT)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 36 },
|
||||
[EC_INDEX(EC_WORD_INVINCIBLE)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_RECEIVED)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_EASY)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WEAK)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TOO_WEAK)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 41 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 48 },
|
||||
[EC_INDEX(EC_WORD_PUSHOVER)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LEADER)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_RULE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 41 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MOVE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
|
||||
+287
-287
@@ -1,554 +1,554 @@
|
||||
#ifndef GUARD_DATA_BARD_MUSIC_CONDITIONS_H
|
||||
#define GUARD_DATA_BARD_MUSIC_CONDITIONS_H
|
||||
const struct BardSound gBardSounds_Conditions[][6] = {
|
||||
{
|
||||
{ .songLengthId = 21 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
const struct BardSoundTemplate sBardSoundTemplates_Conditions[][MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_INDEX(EC_WORD_HOT)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_EXISTS)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_EXCESS)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 41 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_APPROVED)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HAS)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GOOD)] = {
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LESS)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MOMENTUM)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GOING)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WEIRD)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BUSY)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 41 },
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 50 },
|
||||
[EC_INDEX(EC_WORD_TOGETHER)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FULL)] = {
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ABSENT)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BEING)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NEED)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TASTY)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SKILLED)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 32 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NOISY)] = {
|
||||
{ .songId = PHONEME_ID(PH_CHOICE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BIG)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LATE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 25 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CLOSE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DOCILE)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 17 },
|
||||
[EC_INDEX(EC_WORD_AMUSING)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ENTERTAINING)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PERFECTION)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PRETTY)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HEALTHY)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 11 },
|
||||
[EC_INDEX(EC_WORD_EXCELLENT)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 35 },
|
||||
[EC_INDEX(EC_WORD_UPSIDE_DOWN)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_COLD)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 17 },
|
||||
[EC_INDEX(EC_WORD_REFRESHING)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 30 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 38 },
|
||||
[EC_INDEX(EC_WORD_UNAVOIDABLE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CHOICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MUCH)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OVERWHELMING)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 44 },
|
||||
[EC_INDEX(EC_WORD_FABULOUS)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ELSE)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 17 },
|
||||
[EC_INDEX(EC_WORD_EXPENSIVE)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CORRECT)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 38 },
|
||||
[EC_INDEX(EC_WORD_IMPOSSIBLE)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SMALL)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 11 },
|
||||
[EC_INDEX(EC_WORD_DIFFERENT)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TIRED)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SKILL)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TOP)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 22 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NON_STOP)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_LOT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 22 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PREPOSTEROUS)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_LOT_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NONE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NOTHING)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 38 },
|
||||
[EC_INDEX(EC_WORD_NATURAL)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BECOMES)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 41 },
|
||||
{ .songLengthId = 28 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LUKEWARM)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FAST)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LOW)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 8 },
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AWFUL)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ALONE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BORED)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SECRET)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 14 },
|
||||
[EC_INDEX(EC_WORD_MYSTERY)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LACKS)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BEST)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 33 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LOUSY)] = {
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MISTAKE)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_KIND)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WELL)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 11 },
|
||||
[EC_INDEX(EC_WORD_WEAKENED)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SIMPLE)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 13 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SEEMS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BADLY)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
#ifndef GUARD_default_sound_H
|
||||
#define GUARD_default_sound_H
|
||||
|
||||
const struct BardSound gBardSound_InvalidWord[] = {
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND
|
||||
};
|
||||
|
||||
#endif //GUARD_default_sound_H
|
||||
+269
-269
@@ -1,554 +1,554 @@
|
||||
#ifndef GUARD_DATA_BARD_MUSIC_ENDINGS_H
|
||||
#define GUARD_DATA_BARD_MUSIC_ENDINGS_H
|
||||
const struct BardSound gBardSounds_Endings[][6] = {
|
||||
{
|
||||
{ .songLengthId = 16 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
static const struct BardSoundTemplate sBardSoundTemplates_Endings[][MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_INDEX(EC_WORD_WILL)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 16 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 48 },
|
||||
[EC_INDEX(EC_WORD_WILL_BE_HERE)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OR)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TIMES)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WONDER)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_IS_IT_QUES)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GIMME)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_COULD)] = {
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LIKELY_TO)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WOULD)] = {
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 16 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_IS)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 17 },
|
||||
[EC_INDEX(EC_WORD_ISN_T_IT_QUES)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
[EC_INDEX(EC_WORD_LET_S)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OTHER)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 28 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ARE)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WAS)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WERE)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THOSE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ISN_T)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WON_T)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CAN_T)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CAN)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DON_T)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
[EC_INDEX(EC_WORD_DO)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DOES)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WHOM)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WHICH)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WASN_T)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WEREN_T)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HAVE)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HAVEN_T)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_A)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AN)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NOT)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THERE)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 4 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OK_QUES)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SO)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MAYBE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 35 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ABOUT)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OVER)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_IT)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ALL)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FOR)] = {
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 28 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ON)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 29 },
|
||||
[EC_INDEX(EC_WORD_OFF)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AS)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TO)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WITH)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BETTER)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_EVER)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SINCE)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OF)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BELONGS_TO)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AT)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_IN)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 33 },
|
||||
[EC_INDEX(EC_WORD_OUT)] = {
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TOO)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LIKE)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DID)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DIDN_T)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DOESN_T)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 35 },
|
||||
[EC_INDEX(EC_WORD_WITHOUT)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AFTER)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BEFORE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WHILE)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THAN)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ONCE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ANYWHERE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
|
||||
+119
-119
@@ -1,234 +1,234 @@
|
||||
#ifndef GUARD_DATA_BARD_MUSIC_EVENTS_H
|
||||
#define GUARD_DATA_BARD_MUSIC_EVENTS_H
|
||||
const struct BardSound gBardSounds_Events[][6] = {
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
static const struct BardSoundTemplate sBardSoundTemplates_Events[][MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_INDEX(EC_WORD_APPEAL)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_EVENTS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_STAY_AT_HOME)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BERRY)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CONTEST)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MC)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 43 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_JUDGE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SUPER)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_STAGE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 21 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 4 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HALL_OF_FAME)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_EVOLUTION)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HYPER)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 33 },
|
||||
{ .songLengthId = 48 },
|
||||
[EC_INDEX(EC_WORD_BATTLE_TOWER)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LEADERS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 39 },
|
||||
[EC_INDEX(EC_WORD_BATTLE_ROOM)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HIDDEN)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 4 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SECRET_BASE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BLEND)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_POKEBLOCK)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MASTER)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_RANK)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_RIBBON)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 42 },
|
||||
[EC_INDEX(EC_WORD_CRUSH)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 9 },
|
||||
[EC_INDEX(EC_WORD_DIRECT)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 48 },
|
||||
[EC_INDEX(EC_WORD_TOWER)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 42 },
|
||||
[EC_INDEX(EC_WORD_UNION)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ROOM)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WIRELESS)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 48 },
|
||||
[EC_INDEX(EC_WORD_FRONTIER)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
|
||||
+280
-280
@@ -1,555 +1,555 @@
|
||||
#ifndef GUARD_DATA_BARD_MUSIC_FEELINGS_H
|
||||
#define GUARD_DATA_BARD_MUSIC_FEELINGS_H
|
||||
const struct BardSound gBardSounds_Feelings[][6] = {
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
static const struct BardSoundTemplate sBardSoundTemplates_Feelings[][MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_INDEX(EC_WORD_MEET)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 4 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PLAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HURRIED)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 25 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GOES)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GIDDY)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HAPPY)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 11 },
|
||||
[EC_INDEX(EC_WORD_HAPPINESS)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_EXCITE)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 0 },
|
||||
[EC_INDEX(EC_WORD_IMPORTANT)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FUNNY)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GOT)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GO_HOME)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 30 },
|
||||
{ .songLengthId = 11 },
|
||||
[EC_INDEX(EC_WORD_DISAPPOINTED)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CHOICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 32 },
|
||||
[EC_INDEX(EC_WORD_DISAPPOINTS)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CHOICE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SAD)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TRY)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TRIES)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 49 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HEARS)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 13 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THINK)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 49 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HEAR)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 8 },
|
||||
[EC_INDEX(EC_WORD_WANTS)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MISHEARD)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DISLIKE)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ANGRY)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ANGER)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SCARY)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LONESOME)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 32 },
|
||||
[EC_INDEX(EC_WORD_DISAPPOINT)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CHOICE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 32 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_JOY)] = {
|
||||
{ .songId = PHONEME_ID(PH_CHOICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GETS)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NEVER)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 8 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DARN)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 33 },
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DOWNCAST)] = {
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 38 },
|
||||
[EC_INDEX(EC_WORD_INCREDIBLE)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LIKES)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DISLIKES)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BORING)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 49 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CARE)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 49 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CARES)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ALL_RIGHT)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ADORE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 50 },
|
||||
[EC_INDEX(EC_WORD_DISASTER)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 32 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ENJOY)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_CHOICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 32 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ENJOYS)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_CHOICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_EAT)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LACKING)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BAD)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HARD)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 26 },
|
||||
[EC_INDEX(EC_WORD_TERRIBLE)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 41 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SHOULD)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NICE)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DRINK)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SURPRISE)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FEAR)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WANT)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WAIT)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SATISFIED)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SEE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_RARE)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 17 },
|
||||
[EC_INDEX(EC_WORD_NEGATIVE)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DONE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DANGER)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 11 },
|
||||
[EC_INDEX(EC_WORD_DEFEATED)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BEAT)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 4 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GREAT)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 17 },
|
||||
[EC_INDEX(EC_WORD_ROMANTIC)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_QUESTION)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 2 },
|
||||
[EC_INDEX(EC_WORD_UNDERSTAND)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_UNDERSTANDS)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
}
|
||||
|
||||
+174
-174
@@ -1,338 +1,338 @@
|
||||
#ifndef GUARD_DATA_BARD_MUSIC_GREETINGS_H
|
||||
#define GUARD_DATA_BARD_MUSIC_GREETINGS_H
|
||||
const struct BardSound gBardSounds_Greetings[][6] = {
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
static const struct BardSoundTemplate sBardSoundTemplates_Greetings[][MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_INDEX(EC_WORD_THANKS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_YES)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HERE_GOES)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HERE_I_COME)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 17 },
|
||||
[EC_INDEX(EC_WORD_HERE_IT_IS)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_YEAH)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WELCOME)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 30 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OI)] = {
|
||||
{ .songId = PHONEME_ID(PH_CHOICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 33 },
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HOW_DO)] = {
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CONGRATS)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GIVE_ME)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SORRY)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_APOLOGIZE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 16 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FORGIVE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 4 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HEY_THERE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HELLO)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GOOD_BYE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THANK_YOU)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_I_VE_ARRIVED)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PARDON)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_EXCUSE)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SEE_YA)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 40 },
|
||||
{ .songLengthId = 13 },
|
||||
[EC_INDEX(EC_WORD_EXCUSE_ME)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_HELD) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WELL_THEN)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 11 },
|
||||
[EC_INDEX(EC_WORD_GO_AHEAD)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 5 },
|
||||
[EC_INDEX(EC_WORD_APPRECIATE)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 4 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HEY_QUES)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 43 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WHAT_S_UP_QUES)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HUH_QUES)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NO)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HI)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_YEAH_YEAH)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BYE_BYE)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MEET_YOU)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HEY)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 13 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SMELL)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 17 },
|
||||
[EC_INDEX(EC_WORD_LISTENING)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HOO_HAH)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_YAHOO)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_YO)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 50 },
|
||||
[EC_INDEX(EC_WORD_COME_OVER)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 35 },
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_COUNT_ON)] = {
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
|
||||
+225
-225
@@ -1,434 +1,434 @@
|
||||
#ifndef GUARD_DATA_BARD_MUSIC_HOBBIES_H
|
||||
#define GUARD_DATA_BARD_MUSIC_HOBBIES_H
|
||||
const struct BardSound gBardSounds_Hobbies[][6] = {
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
static const struct BardSoundTemplate sBardSoundTemplates_Hobbies[][MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_INDEX(EC_WORD_IDOL)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 5 },
|
||||
[EC_INDEX(EC_WORD_ANIME)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SONG)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MOVIE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SWEETS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CHAT)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 4 },
|
||||
[EC_INDEX(EC_WORD_CHILD_S_PLAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_HELD) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 30 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TOYS)] = {
|
||||
{ .songId = PHONEME_ID(PH_CHOICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 47 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MUSIC)] = {
|
||||
{ .songId = PHONEME_ID(PH_CURE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CARDS)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 21 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SHOPPING)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 44 },
|
||||
[EC_INDEX(EC_WORD_CAMERA)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 47 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_VIEWING)] = {
|
||||
{ .songId = PHONEME_ID(PH_CURE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 48 },
|
||||
[EC_INDEX(EC_WORD_SPECTATOR)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GOURMET)] = {
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GAME)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 12 },
|
||||
[EC_INDEX(EC_WORD_RPG)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_COLLECTION)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_COMPLETE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MAGAZINE)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WALK)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BIKE)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 21 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HOBBY)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SPORTS)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SOFTWARE)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SONGS)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DIET)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TREASURE)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TRAVEL)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DANCE)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CHANNEL)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MAKING)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FISHING)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DATE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DESIGN)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 17 },
|
||||
[EC_INDEX(EC_WORD_LOCOMOTIVE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PLUSH_DOLL)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PC)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 33 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FLOWERS)] = {
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HERO)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NAP)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HEROINE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FASHION)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 50 },
|
||||
[EC_INDEX(EC_WORD_ADVENTURE)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BOARD)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BALL)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BOOK)] = {
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 8 },
|
||||
[EC_INDEX(EC_WORD_FESTIVAL)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_COMICS)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 5 },
|
||||
[EC_INDEX(EC_WORD_HOLIDAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PLANS)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TRENDY)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_VACATION)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LOOK)] = {
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
#ifndef GUARD_LENGTH_TABLE_H
|
||||
#define GUARD_LENGTH_TABLE_H
|
||||
|
||||
const int gBardSoundLengthTable[] = {
|
||||
9, 22, 15, 16,
|
||||
39, 21, 9, 30,
|
||||
24, 15, 25, 12,
|
||||
22, 45, 24, 15,
|
||||
40, 9, 21, 42,
|
||||
18, 9, 22, 15,
|
||||
27, 48, 18, 27,
|
||||
33, 24, 25, 39,
|
||||
19, 16, 54, 18,
|
||||
9, 45, 15, 12,
|
||||
39, 23, 5, 45,
|
||||
12, 21, 48, 12,
|
||||
21, 69, 18, 15
|
||||
};
|
||||
|
||||
|
||||
#endif //GUARD_LENGTH_TABLE_H
|
||||
+191
-191
@@ -1,362 +1,362 @@
|
||||
#ifndef GUARD_DATA_BARD_MUSIC_LIFESTYLE_H
|
||||
#define GUARD_DATA_BARD_MUSIC_LIFESTYLE_H
|
||||
const struct BardSound gBardSounds_Lifestyle[][6] = {
|
||||
{
|
||||
{ .songLengthId = 49 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
static const struct BardSoundTemplate sBardSoundTemplates_Lifestyle[][MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_INDEX(EC_WORD_CHORES)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HOME)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MONEY)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 35 },
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ALLOWANCE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BATH)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CONVERSATION)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 41 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SCHOOL)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 5 },
|
||||
[EC_INDEX(EC_WORD_COMMEMORATE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HABIT)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GROUP)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WORD)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_STORE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SERVICE)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WORK)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SYSTEM)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TRAIN)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CLASS)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LESSONS)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_INFORMATION)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LIVING)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TEACHER)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 11 },
|
||||
[EC_INDEX(EC_WORD_TOURNAMENT)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LETTER)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_EVENT)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 44 },
|
||||
[EC_INDEX(EC_WORD_DIGITAL)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TEST)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 26 },
|
||||
[EC_INDEX(EC_WORD_DEPT_STORE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TELEVISION)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PHONE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ITEM)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NAME)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NEWS)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 50 },
|
||||
[EC_INDEX(EC_WORD_POPULAR)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 28 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PARTY)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_STUDY)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MACHINE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 36 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MAIL)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MESSAGE)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PROMISE)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DREAM)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_KINDERGARTEN)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LIFE)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 24 },
|
||||
[EC_INDEX(EC_WORD_RADIO)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_RENTAL)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 36 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WORLD)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
|
||||
+168
-168
@@ -1,338 +1,338 @@
|
||||
#ifndef GUARD_DATA_BARD_MUSIC_MISC_H
|
||||
#define GUARD_DATA_BARD_MUSIC_MISC_H
|
||||
const struct BardSound gBardSounds_Misc[][6] = {
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
static const struct BardSoundTemplate sBardSoundTemplates_Misc[][MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_INDEX(EC_WORD_HIGHS)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LOWS)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 43 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_UM)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_REAR)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THINGS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THING)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BELOW)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ABOVE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BACK)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HIGH)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HERE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_INSIDE)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 33 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OUTSIDE)] = {
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BESIDE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 17 },
|
||||
[EC_INDEX(EC_WORD_THIS_IS_IT_EXCL)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THIS)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 14 },
|
||||
[EC_INDEX(EC_WORD_EVERY)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THESE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THESE_WERE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 33 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DOWN)] = {
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THAT)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THOSE_ARE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THOSE_WERE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THAT_S_IT_EXCL)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 16 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AM)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THAT_WAS)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 43 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FRONT)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_UP)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CHOICE)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FAR)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 4 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AWAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NEAR)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WHERE)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 16 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WHEN)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WHAT)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DEEP)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SHALLOW)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WHY)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 46 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CONFUSED)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CURE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 17 },
|
||||
[EC_INDEX(EC_WORD_OPPOSITE)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LEFT)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_RIGHT)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
|
||||
+1194
-1194
File diff suppressed because it is too large
Load Diff
+303
-303
@@ -1,602 +1,602 @@
|
||||
#ifndef GUARD_DATA_BARD_MUSIC_PEOPLE_H
|
||||
#define GUARD_DATA_BARD_MUSIC_PEOPLE_H
|
||||
const struct BardSound gBardSounds_People[][6] = {
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 11 },
|
||||
static const struct BardSoundTemplate sBardSoundTemplates_People[][MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_INDEX(EC_WORD_OPPONENT)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 19 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_I)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 45 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_YOU)] = {
|
||||
{ .songId = PHONEME_ID(PH_CURE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_YOURS)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SON)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26, .songLengthOffset = -0x9 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_YOUR)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO), .lengthAdjustment = -9 },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_YOU_RE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 45 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_YOU_VE)] = {
|
||||
{ .songId = PHONEME_ID(PH_CURE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MOTHER)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 8 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GRANDFATHER)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_UNCLE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 8 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FATHER)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 30 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BOY)] = {
|
||||
{ .songId = PHONEME_ID(PH_CHOICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 36 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ADULT)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 21 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BROTHER)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SISTER)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GRANDMOTHER)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 7 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AUNT)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PARENT)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MAN)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 13 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ME)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GIRL)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 4 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BABE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 14 },
|
||||
[EC_INDEX(EC_WORD_FAMILY)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HER)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HIM)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PLACE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DAUGHTER)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 16 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HIS)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HE_S)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 28 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AREN_T)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SIBLINGS)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_KID)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CHILDREN)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MR)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MRS)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MYSELF)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_I_WAS)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 13 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TO_ME)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MY)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_I_AM)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_I_VE)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 41 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WHO)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SOMEONE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WHO_WAS)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 41 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TO_WHOM)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WHOSE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 16 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WHO_IS)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 16 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_IT_S)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LADY)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FRIEND)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ALLY)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PERSON)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 40 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DUDE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THEY)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THEY_WERE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TO_THEM)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 49 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THEIR)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 49 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THEY_RE)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THEY_VE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BEEN)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TO_US)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 33 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OUR)] = {
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WE_RE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 36 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_RIVAL)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WE_VE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WOMAN)] = {
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SHE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 43 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SHE_WAS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TO_HER)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HERS)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 16 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SHE_IS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SOME)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
|
||||
+1258
-1258
File diff suppressed because it is too large
Load Diff
+240
-240
@@ -1,482 +1,482 @@
|
||||
#ifndef GUARD_DATA_BARD_MUSIC_SPEECH_H
|
||||
#define GUARD_DATA_BARD_MUSIC_SPEECH_H
|
||||
const struct BardSound gBardSounds_Speech[][6] = {
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 16 },
|
||||
{ .songLengthId = 51 },
|
||||
static const struct BardSoundTemplate sBardSoundTemplates_Speech[][MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_INDEX(EC_WORD_LISTEN)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 21 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 12 },
|
||||
[EC_INDEX(EC_WORD_NOT_VERY)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MEAN)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LIE)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 10 },
|
||||
[EC_INDEX(EC_WORD_RECOMMEND)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NITWIT)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_QUITE)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 43 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FROM)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FEELING)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BUT)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 33 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 48 },
|
||||
[EC_INDEX(EC_WORD_HOWEVER)] = {
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CASE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 43 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
[EC_INDEX(EC_WORD_MISS)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 33 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HOW)] = {
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HIT)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ENOUGH)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 23 },
|
||||
[EC_INDEX(EC_WORD_A_LOT)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_A_LITTLE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 45 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ABSOLUTELY)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_CURE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
[EC_INDEX(EC_WORD_AND)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ONLY)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 10 },
|
||||
[EC_INDEX(EC_WORD_AROUND)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 21 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PROBABLY)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_IF)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_VERY)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 17 },
|
||||
[EC_INDEX(EC_WORD_A_TINY_BIT)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WILD)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 11 },
|
||||
[EC_INDEX(EC_WORD_THAT_S)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
[EC_INDEX(EC_WORD_JUST)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_EVEN_SO)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MUST_BE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NATURALLY)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 35 },
|
||||
[EC_INDEX(EC_WORD_FOR_NOW)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 39 },
|
||||
[EC_INDEX(EC_WORD_UNDERSTOOD)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_JOKING)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_READY)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 14 },
|
||||
[EC_INDEX(EC_WORD_SOMETHING)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 35 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SOMEHOW)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ALTHOUGH)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ALSO)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_PERFECT)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 1 },
|
||||
[EC_INDEX(EC_WORD_AS_MUCH_AS)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 14 },
|
||||
[EC_INDEX(EC_WORD_REALLY)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TRULY)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SERIOUSLY)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 7 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TOTALLY)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 16 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_UNTIL)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AS_IF)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 40 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MOOD)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_RATHER)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AWFULLY)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
[EC_INDEX(EC_WORD_MODE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MORE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TOO_LATE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FINALLY)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 8 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ANY)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_INSTEAD)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 43 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FANTASTIC)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
|
||||
+465
-465
File diff suppressed because it is too large
Load Diff
+182
-182
@@ -1,362 +1,362 @@
|
||||
#ifndef GUARD_DATA_BARD_MUSIC_TIME_H
|
||||
#define GUARD_DATA_BARD_MUSIC_TIME_H
|
||||
const struct BardSound gBardSounds_Time[][6] = {
|
||||
{
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
static const struct BardSoundTemplate sBardSoundTemplates_Time[][MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_INDEX(EC_WORD_FALL)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MORNING)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 28 },
|
||||
{ .songLengthId = 26 },
|
||||
[EC_INDEX(EC_WORD_TOMORROW)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LAST)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SOMETIME)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ALWAYS)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CURRENT)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 44 },
|
||||
[EC_INDEX(EC_WORD_FOREVER)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DAYS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_END)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TUESDAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 5 },
|
||||
[EC_INDEX(EC_WORD_YESTERDAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TODAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FRIDAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MONDAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LATER)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 50 },
|
||||
[EC_INDEX(EC_WORD_EARLIER)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 50 },
|
||||
[EC_INDEX(EC_WORD_ANOTHER)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TIME)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FINISH)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WEDNESDAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 40 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SOON)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_START)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MONTH)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_STOP)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 33 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NOW)] = {
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 36 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FINAL)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NEXT)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AGE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 5 },
|
||||
[EC_INDEX(EC_WORD_SATURDAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SUMMER)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SUNDAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BEGINNING)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SPRING)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DAYTIME)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WINTER)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DAILY)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OLDEN)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ALMOST)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NEARLY)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_THURSDAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NIGHTTIME)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NIGHT)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WEEK)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
|
||||
+103
-103
@@ -1,218 +1,218 @@
|
||||
#ifndef GUARD_DATA_BARD_MUSIC_TRAINER_H
|
||||
#define GUARD_DATA_BARD_MUSIC_TRAINER_H
|
||||
const struct BardSound gBardSounds_Trainer[][6] = {
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 45 },
|
||||
static const struct BardSoundTemplate sBardSoundTemplates_Trainer[][MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_INDEX(EC_WORD_I_CHOOSE_YOU)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CURE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 21 },
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GOTCHA)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TRADE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 50 },
|
||||
[EC_INDEX(EC_WORD_SAPPHIRE)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_EVOLVE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 6 },
|
||||
[EC_INDEX(EC_WORD_ENCYCLOPEDIA)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 48 },
|
||||
[EC_INDEX(EC_WORD_NATURE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CENTER)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_EGG)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LINK)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 8 },
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 12 },
|
||||
[EC_INDEX(EC_WORD_SP_ABILITY)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TRAINER)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 50 },
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_VERSION)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 0 },
|
||||
[EC_INDEX(EC_WORD_POKENAV)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 27 },
|
||||
[EC_INDEX(EC_WORD_POKEMON)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GET)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 9 },
|
||||
[EC_INDEX(EC_WORD_POKEDEX)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_RUBY)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LEVEL)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
[EC_INDEX(EC_WORD_RED)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GREEN)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
[EC_INDEX(EC_WORD_BAG)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FLAME)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
[EC_INDEX(EC_WORD_GOLD)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
[EC_INDEX(EC_WORD_LEAF)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 48 },
|
||||
[EC_INDEX(EC_WORD_SILVER)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 6 },
|
||||
[EC_INDEX(EC_WORD_EMERALD)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
|
||||
+137
-137
@@ -1,266 +1,266 @@
|
||||
#ifndef GUARD_DATA_BARD_MUSIC_TRENDYSAYING_H
|
||||
#define GUARD_DATA_BARD_MUSIC_TRENDYSAYING_H
|
||||
const struct BardSound gBardSounds_TrendySaying[][6] = {
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 20 },
|
||||
{ .songLengthId = 51 },
|
||||
static const struct BardSoundTemplate sBardSoundTemplates_TrendySaying[NUM_TRENDY_SAYINGS][MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_INDEX(EC_WORD_KTHX_BYE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_YES_SIR_EXCL)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 27 },
|
||||
{ .songLengthId = 23 },
|
||||
[EC_INDEX(EC_WORD_AVANT_GARDE)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 38 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_COUPLE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 18 },
|
||||
[EC_INDEX(EC_WORD_MUCH_OBLIGED)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 13 },
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_YEEHAW_EXCL)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MEGA)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 26 },
|
||||
[EC_INDEX(EC_WORD_1_HIT_KO_EXCL)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 14 },
|
||||
[EC_INDEX(EC_WORD_DESTINY)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CANCEL)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NEW)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FLATTEN)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_KIDDING)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LOSER)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_LOSING)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 0 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HAPPENING)] = {
|
||||
{ .songId = PHONEME_ID(PH_TRAP_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HIP_AND)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SHAKE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SHADY)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_UPBEAT)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MODERN)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SMELL_YA)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 3 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BANG)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 35 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_KNOCKOUT)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 36 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HASSLE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WINNER)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_FEVER)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 29 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 12 },
|
||||
[EC_INDEX(EC_WORD_WANNABE)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_BABY)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 28 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HEART)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OLD)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 43 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_YOUNG)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_UGLY)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
|
||||
+262
-262
@@ -1,507 +1,507 @@
|
||||
#ifndef GUARD_DATA_BARD_MUSIC_VOICES_H
|
||||
#define GUARD_DATA_BARD_MUSIC_VOICES_H
|
||||
const struct BardSound gBardSounds_Voices[][6] = {
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
static const struct BardSoundTemplate sBardSoundTemplates_Voices[][MAX_BARD_SOUNDS_PER_WORD] = {
|
||||
[EC_INDEX(EC_WORD_EXCL)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_EXCL_EXCL)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_QUES_EXCL)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_QUES)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ELLIPSIS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ELLIPSIS_EXCL)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 48 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 48 },
|
||||
[EC_INDEX(EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DASH)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_DASH_DASH_DASH)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_UH_OH)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 27, .songLengthOffset = 0x5, .unused = 0x8 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WAAAH)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_BLEND), .lengthAdjustment = +5, .unused = 8 },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AHAHA)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OH_QUES)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_NOPE)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 49 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_URGH)] = {
|
||||
{ .songId = PHONEME_ID(PH_NURSE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 40 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HMM)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 25 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WHOAH)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 28 },
|
||||
{ .songLengthId = 49 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WROOOAAR_EXCL)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 35 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WOW)] = {
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 17 },
|
||||
{ .songLengthId = 17 },
|
||||
[EC_INDEX(EC_WORD_GIGGLE)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_KIT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 10 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SIGH)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 2 },
|
||||
{ .songLengthId = 36 },
|
||||
[EC_INDEX(EC_WORD_UNBELIEVABLE)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_FOOT_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 19 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CRIES)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AGREE)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_EH_QUES)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 18 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_CRY)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 12 },
|
||||
[EC_INDEX(EC_WORD_EHEHE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 30 },
|
||||
{ .songLengthId = 30 },
|
||||
{ .songLengthId = 30 },
|
||||
[EC_INDEX(EC_WORD_OI_OI_OI)] = {
|
||||
{ .songId = PHONEME_ID(PH_CHOICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CHOICE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CHOICE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 1 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OH_YEAH)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_TRAP_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OH)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OOPS)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 23 },
|
||||
{ .songLengthId = 11 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SHOCKED)] = {
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_DRESS_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 13 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_EEK)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GRAAAH)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 23 },
|
||||
[EC_INDEX(EC_WORD_GWAHAHAHA)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_LOT_SOLO) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 5 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_TCH)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HEHE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HAH)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_YUP)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 6 },
|
||||
[EC_INDEX(EC_WORD_HAHAHA)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 19 },
|
||||
{ .songLengthId = 13 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AIYEEH)] = {
|
||||
{ .songId = PHONEME_ID(PH_PRICE_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 7 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HIYAH)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 39 },
|
||||
[EC_INDEX(EC_WORD_FUFUFU)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 24 },
|
||||
[EC_INDEX(EC_WORD_LOL)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 26 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_SNORT)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HUMPH)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 12 },
|
||||
{ .songLengthId = 12 },
|
||||
[EC_INDEX(EC_WORD_HEHEHE)] = {
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 9 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_HEH)] = {
|
||||
{ .songId = PHONEME_ID(PH_DRESS_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 24 },
|
||||
[EC_INDEX(EC_WORD_HOHOHO)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 42 },
|
||||
{ .songLengthId = 44 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_UH_HUH)] = {
|
||||
{ .songId = PHONEME_ID(PH_STRUT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_STRUT_SOLO) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 14 },
|
||||
{ .songLengthId = 48 },
|
||||
[EC_INDEX(EC_WORD_OH_DEAR)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_SOLO) },
|
||||
{ .songId = PHONEME_ID(PH_NURSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 28 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_ARRGH)] = {
|
||||
{ .songId = PHONEME_ID(PH_THOUGHT_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 39 },
|
||||
{ .songLengthId = 39 },
|
||||
[EC_INDEX(EC_WORD_MUFUFU)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_GOOSE_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 15 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_MMM)] = {
|
||||
{ .songId = PHONEME_ID(PH_KIT_BLEND) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 4 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OH_KAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 24 },
|
||||
{ .songLengthId = 4 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_OKAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_GOAT_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_FACE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 6 },
|
||||
[EC_INDEX(EC_WORD_LALALA)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 4 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_YAY)] = {
|
||||
{ .songId = PHONEME_ID(PH_FACE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 7 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_AWW)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 34 },
|
||||
{ .songLengthId = 13 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_WOWEE)] = {
|
||||
{ .songId = PHONEME_ID(PH_MOUTH_HELD) },
|
||||
{ .songId = PHONEME_ID(PH_FLEECE_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 7 },
|
||||
{ .songLengthId = 51 },
|
||||
{ .songLengthId = 51 },
|
||||
[EC_INDEX(EC_WORD_GWAH)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_HELD) },
|
||||
PREV_BARD_SOUND,
|
||||
PREV_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
},
|
||||
{
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 6 },
|
||||
{ .songLengthId = 6 },
|
||||
[EC_INDEX(EC_WORD_WAHAHAHA)] = {
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
{ .songId = PHONEME_ID(PH_CLOTH_BLEND) },
|
||||
NULL_BARD_SOUND,
|
||||
NULL_BARD_SOUND,
|
||||
}
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
#ifndef GUARD_WORD_PITCH_H
|
||||
#define GUARD_WORD_PITCH_H
|
||||
|
||||
#define PITCH_END 0x1800
|
||||
|
||||
static const s16 sPitch1_0[] = { -0x300, PITCH_END };
|
||||
static const s16 sPitch1_1[] = { 0x0900, PITCH_END };
|
||||
static const s16 sPitch1_2[] = { 0x0100, PITCH_END };
|
||||
static const s16 sPitch1_3[] = { 0x0400, PITCH_END };
|
||||
static const s16 sPitch1_4[] = { 0x0b00, PITCH_END };
|
||||
static const s16 sPitch2_0[] = { -0x300, -0x100, PITCH_END };
|
||||
static const s16 sPitch2_1[] = { -0x300, 0x0200, PITCH_END };
|
||||
static const s16 sPitch2_2[] = { 0x0200, 0x0400, PITCH_END };
|
||||
static const s16 sPitch2_3[] = { 0x0600, 0x0800, PITCH_END };
|
||||
static const s16 sPitch2_4[] = { 0x0900, 0x0800, PITCH_END };
|
||||
static const s16 sPitch3_0[] = { -0x300, -0x100, -0x300, PITCH_END };
|
||||
static const s16 sPitch3_1[] = { 0x0400, -0x300, 0x0400, PITCH_END };
|
||||
static const s16 sPitch3_2[] = { 0x0900, 0x0800, 0x0600, PITCH_END };
|
||||
static const s16 sPitch3_3[] = { 0x0100, 0x0200, 0x0400, PITCH_END };
|
||||
static const s16 sPitch3_4[] = { 0x0600, 0x1000, 0x0d00, PITCH_END };
|
||||
static const s16 sPitch4_0[] = { 0x0400, 0x0900, 0x0400, 0x0900, PITCH_END };
|
||||
static const s16 sPitch4_1[] = { 0x0900, 0x0400, 0x0d00, 0x0400, PITCH_END };
|
||||
static const s16 sPitch4_2[] = { 0x0100, 0x0200, 0x0400, 0x0600, PITCH_END };
|
||||
static const s16 sPitch4_3[] = { 0x0800, 0x0600, 0x0400, 0x0200, PITCH_END };
|
||||
static const s16 sPitch4_4[] = { 0x0f00, 0x0d00, 0x0b00, 0x0a00, PITCH_END };
|
||||
static const s16 sPitch5_0[] = { -0x300, -0x100, 0x0100, 0x0200, 0x0400, PITCH_END };
|
||||
static const s16 sPitch5_1[] = { 0x0900, 0x0800, 0x0600, 0x0400, 0x0200, PITCH_END };
|
||||
static const s16 sPitch5_2[] = { 0x0100, 0x0400, 0x0900, 0x0400, 0x0100, PITCH_END };
|
||||
static const s16 sPitch5_3[] = { 0x0900, 0x0400, 0x0900, 0x0400, -0x300, PITCH_END };
|
||||
static const s16 sPitch5_4[] = { 0x0b00, 0x0800, 0x0400, 0x0400, 0x0600, PITCH_END };
|
||||
static const s16 sPitch6_0[] = { -0x300, -0x100, 0x0100, 0x0200, 0x0400, 0x0600, PITCH_END };
|
||||
static const s16 sPitch6_1[] = { 0x0800, 0x0600, 0x0400, 0x0200, 0x0100, -0x100, PITCH_END };
|
||||
static const s16 sPitch6_2[] = { 0x0100, 0x0200, 0x0400, 0x0100, 0x0200, 0x1000, PITCH_END };
|
||||
static const s16 sPitch6_3[] = { 0x0400, -0x300, 0x0900, 0x0400, 0x0900, 0x0400, PITCH_END };
|
||||
static const s16 sPitch6_4[] = { 0x0800, 0x0900, 0x0800, 0x0900, 0x0800, 0x0900, PITCH_END };
|
||||
static const s16 sPitch7_0[] = { 0x0200, 0x0100, 0x0200, 0x0100, 0x0200, 0x0400, 0x0200, PITCH_END };
|
||||
static const s16 sPitch7_1[] = { 0x0100, 0x0100, -0x100, -0x100, -0x300, 0x0400, -0x300, PITCH_END };
|
||||
static const s16 sPitch7_2[] = { 0x0800, 0x0900, 0x0b00, 0x0d00, 0x0e00, 0x0d00, 0x0b00, PITCH_END };
|
||||
static const s16 sPitch7_3[] = { 0x0800, 0x0600, 0x0400, 0x0200, 0x0d00, 0x0b00, 0x0900, PITCH_END };
|
||||
static const s16 sPitch7_4[] = { 0x0300, 0x0400, 0x0600, 0x0800, 0x0700, 0x0800, 0x0400, PITCH_END };
|
||||
|
||||
// Only sPitch7_# are used below
|
||||
// This table is always indexed with (x + 30), where x is some value 0 - 4
|
||||
static const s16 *const sBardSoundPitchTables[] = {
|
||||
sPitch1_0, sPitch1_1, sPitch1_2, sPitch1_3, sPitch1_4,
|
||||
sPitch2_0, sPitch2_1, sPitch2_2, sPitch2_3, sPitch2_4,
|
||||
sPitch3_0, sPitch3_1, sPitch3_2, sPitch3_3, sPitch3_4,
|
||||
sPitch4_0, sPitch4_1, sPitch4_2, sPitch4_3, sPitch4_4,
|
||||
sPitch5_0, sPitch5_1, sPitch5_2, sPitch5_3, sPitch5_4,
|
||||
sPitch6_0, sPitch6_1, sPitch6_2, sPitch6_3, sPitch6_4,
|
||||
sPitch7_0, sPitch7_1, sPitch7_2, sPitch7_3, sPitch7_4
|
||||
};
|
||||
|
||||
|
||||
#endif //GUARD_WORD_PITCH_H
|
||||
@@ -298,7 +298,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
|
||||
{
|
||||
{
|
||||
.name = {_("サダヒロ"), _("ALANN"), _("ALAIN"), _("ADELFO"), _("CLAUS"), _("TEO")},
|
||||
.otId = 0xBDC9,
|
||||
.otId = 48585,
|
||||
.facilityClass = FACILITY_CLASS_BUG_CATCHER,
|
||||
.species = {SPECIES_BEAUTIFLY, SPECIES_DUSTOX, SPECIES_ILLUMISE, SPECIES_SHIFTRY, SPECIES_BRELOOM, SPECIES_NINJASK, SPECIES_SHEDINJA, SPECIES_PINSIR, SPECIES_HERACROSS, SPECIES_VOLBEAT},
|
||||
.id = 0,
|
||||
@@ -306,7 +306,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
|
||||
},
|
||||
{
|
||||
.name = {_("ヒロオ"), _("LIONEL"), _("LIONEL"), _("CAIO"), _("LUDWIG"), _("LEO")},
|
||||
.otId = 0xCF09,
|
||||
.otId = 53001,
|
||||
.facilityClass = FACILITY_CLASS_YOUNGSTER,
|
||||
.species = {SPECIES_SWELLOW, SPECIES_SWALOT, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_TORKOAL, SPECIES_HARIYAMA, SPECIES_MIGHTYENA, SPECIES_LUDICOLO, SPECIES_CRAWDAUNT, SPECIES_WHISCASH},
|
||||
.id = 1,
|
||||
@@ -314,7 +314,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
|
||||
},
|
||||
{
|
||||
.name = {_("ケイジ"), _("SONNY"), _("HERVE"), _("FEDRO"), _("WENZEL"), _("SANTI")},
|
||||
.otId = 0x2E34,
|
||||
.otId = 11828,
|
||||
.facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
|
||||
.species = {SPECIES_LINOONE, SPECIES_MIGHTYENA, SPECIES_WHISCASH, SPECIES_ZANGOOSE, SPECIES_SEVIPER, SPECIES_NINETALES, SPECIES_KECLEON, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_MACHAMP},
|
||||
.id = 2,
|
||||
@@ -322,7 +322,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
|
||||
},
|
||||
{
|
||||
.name = {_("ユラ"), _("LAYLA"), _("LAYLA"), _("ASTRID"), _("SONJA"), _("LOLA")},
|
||||
.otId = 0x84EF,
|
||||
.otId = 34031,
|
||||
.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},
|
||||
.id = 3,
|
||||
@@ -330,7 +330,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
|
||||
},
|
||||
{
|
||||
.name = {_("ヨウカ"), _("MACY"), _("AMELIE"), _("CLEO"), _("MARIA"), _("ELISA")},
|
||||
.otId = 0x1E43,
|
||||
.otId = 7747,
|
||||
.facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
|
||||
.species = {SPECIES_WIGGLYTUFF, SPECIES_LINOONE, SPECIES_KINGDRA, SPECIES_DELCATTY, SPECIES_RAICHU, SPECIES_FEAROW, SPECIES_STARMIE, SPECIES_MEDICHAM, SPECIES_SHIFTRY, SPECIES_BEAUTIFLY},
|
||||
.id = 4,
|
||||
@@ -338,7 +338,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
|
||||
},
|
||||
{
|
||||
.name = {_("ヤスシ"), _("DONTE"), _("BRAHIM"), _("GLAUCO"), _("JOSEF"), _("ROQUE")},
|
||||
.otId = 0x379F,
|
||||
.otId = 14239,
|
||||
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
|
||||
.species = {SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_AGGRON, SPECIES_MAGNETON, SPECIES_MACHAMP, SPECIES_ARMALDO, SPECIES_HERACROSS, SPECIES_NOSEPASS, SPECIES_EXPLOUD, SPECIES_MIGHTYENA},
|
||||
.id = 5,
|
||||
@@ -346,7 +346,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
|
||||
},
|
||||
{
|
||||
.name = {_("ミサオ"), _("AMIRA"), _("LAURE"), _("DAFNE"), _("AMELIE"), _("LARA")},
|
||||
.otId = 0xF555,
|
||||
.otId = 62805,
|
||||
.facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
|
||||
.species = {SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_MAGNETON, SPECIES_MEDICHAM, SPECIES_MIGHTYENA, SPECIES_GLALIE, SPECIES_GOLEM, SPECIES_ELECTRODE, SPECIES_PELIPPER, SPECIES_SHARPEDO},
|
||||
.id = 6,
|
||||
@@ -354,7 +354,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
|
||||
},
|
||||
{
|
||||
.name = {_("カズサ"), _("KALI"), _("JODIE"), _("ILENIA"), _("KARO"), _("ELSA")},
|
||||
.otId = 0x8D26,
|
||||
.otId = 36134,
|
||||
.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},
|
||||
.id = 7,
|
||||
@@ -362,7 +362,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
|
||||
},
|
||||
{
|
||||
.name = {_("スミレ"), _("ANNIE"), _("ANNIE"), _("IMELDA"), _("INES"), _("ROSA")},
|
||||
.otId = 0x800C,
|
||||
.otId = 32780,
|
||||
.facilityClass = FACILITY_CLASS_AROMA_LADY,
|
||||
.species = {SPECIES_SCEPTILE, SPECIES_VILEPLUME, SPECIES_BELLOSSOM, SPECIES_ROSELIA, SPECIES_CORSOLA, SPECIES_FLYGON, SPECIES_BRELOOM, SPECIES_MILOTIC, SPECIES_ALTARIA, SPECIES_CRADILY},
|
||||
.id = 8,
|
||||
@@ -370,7 +370,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
|
||||
},
|
||||
{
|
||||
.name = {_("アキノリ"), _("DILLEN"), _("RENE"), _("INDRO"), _("DETLEF"), _("PEDRO")},
|
||||
.otId = 0x469f,
|
||||
.otId = 18079,
|
||||
.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},
|
||||
.id = 9,
|
||||
@@ -378,7 +378,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
|
||||
},
|
||||
{
|
||||
.name = {_("トウゾウ"), _("DALLAS"), _("BRUNO"), _("LEARCO"), _("ANSGAR"), _("MANOLO")},
|
||||
.otId = 0x71FC,
|
||||
.otId = 29180,
|
||||
.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},
|
||||
.id = 10,
|
||||
@@ -386,7 +386,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
|
||||
},
|
||||
{
|
||||
.name = {_("セイヤ"), _("FRANK"), _("FRANK"), _("OLINDO"), _("FRANK"), _("MAURO")},
|
||||
.otId = 0xA39E,
|
||||
.otId = 41886,
|
||||
.facilityClass = FACILITY_CLASS_SAILOR,
|
||||
.species = {SPECIES_QUAGSIRE, SPECIES_STARMIE, SPECIES_PELIPPER, SPECIES_CRAWDAUNT, SPECIES_WAILORD, SPECIES_GYARADOS, SPECIES_SWAMPERT, SPECIES_LANTURN, SPECIES_WHISCASH, SPECIES_SHUCKLE},
|
||||
.id = 11,
|
||||
@@ -394,7 +394,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
|
||||
},
|
||||
{
|
||||
.name = {_("リュウジ"), _("LAMONT"), _("XAV"), _("ORFEO"), _("JÜRGEN"), _("JORGE")},
|
||||
.otId = 0xE590,
|
||||
.otId = 58768,
|
||||
.facilityClass = FACILITY_CLASS_GUITARIST,
|
||||
.species = {SPECIES_ABSOL, SPECIES_CROBAT, SPECIES_EXPLOUD, SPECIES_MAGNETON, SPECIES_SHARPEDO, SPECIES_MANECTRIC, SPECIES_METAGROSS, SPECIES_ELECTRODE, SPECIES_NOSEPASS, SPECIES_WEEZING},
|
||||
.id = 12,
|
||||
@@ -402,7 +402,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
|
||||
},
|
||||
{
|
||||
.name = {_("カツアキ"), _("TYRESE"), _("ANDY"), _("PARIDE"), _("DAVID"), _("CHICHO")},
|
||||
.otId = 0xD018,
|
||||
.otId = 53272,
|
||||
.facilityClass = FACILITY_CLASS_BLACK_BELT,
|
||||
.species = {SPECIES_BLAZIKEN, SPECIES_GOLEM, SPECIES_MACHAMP, SPECIES_RHYDON, SPECIES_HARIYAMA, SPECIES_AGGRON, SPECIES_MEDICHAM, SPECIES_ZANGOOSE, SPECIES_VIGOROTH, SPECIES_SLAKING},
|
||||
.id = 13,
|
||||
@@ -410,7 +410,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
|
||||
},
|
||||
{
|
||||
.name = {_("トシミツ"), _("DANTE"), _("DANTE"), _("RAOUL"), _("LOTHAR"), _("PABLO")},
|
||||
.otId = 0xBC75,
|
||||
.otId = 48245,
|
||||
.facilityClass = FACILITY_CLASS_RUIN_MANIAC,
|
||||
.species = {SPECIES_SCEPTILE, SPECIES_SANDSLASH, SPECIES_FLYGON, SPECIES_CLAYDOL, SPECIES_ARMALDO, SPECIES_CROBAT, SPECIES_CRADILY, SPECIES_SOLROCK, SPECIES_LUNATONE, SPECIES_GOLEM},
|
||||
.id = 14,
|
||||
@@ -418,7 +418,7 @@ const struct ApprenticeTrainer gApprentices[NUM_APPRENTICES] =
|
||||
},
|
||||
{
|
||||
.name = {_("ローウェン"), _("ARTURO"), _("ARTURO"), _("ROMOLO"), _("BRIAN"), _("ARTURO")},
|
||||
.otId = 0xFA02,
|
||||
.otId = 64002,
|
||||
.facilityClass = FACILITY_CLASS_GENTLEMAN,
|
||||
.species = {SPECIES_ABSOL, SPECIES_MIGHTYENA, SPECIES_ALAKAZAM, SPECIES_BANETTE, SPECIES_NINETALES, SPECIES_CLAYDOL, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_WALREIN, SPECIES_DUSCLOPS},
|
||||
.id = 15,
|
||||
@@ -948,7 +948,7 @@ static const u8 sQuestionPossibilities[MAX_APPRENTICE_QUESTIONS] =
|
||||
QUESTION_ID_WIN_SPEECH
|
||||
};
|
||||
|
||||
static void (* const sApprenticeFunctions[])(void) =
|
||||
static void (*const sApprenticeFunctions[])(void) =
|
||||
{
|
||||
[APPRENTICE_FUNC_GAVE_LVLMODE] = Script_GivenApprenticeLvlMode,
|
||||
[APPRENTICE_FUNC_SET_LVLMODE] = Script_SetApprenticeLvlMode,
|
||||
|
||||
@@ -81,469 +81,469 @@ const struct EasyChatWordInfo gEasyChatGroup_Actions[] = {
|
||||
[EC_INDEX(EC_WORD_MEETS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Meets,
|
||||
.alphabeticalOrder = 72,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ALLOW),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CONCEDE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Concede,
|
||||
.alphabeticalOrder = 14,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ANGERS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GIVE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Give,
|
||||
.alphabeticalOrder = 48,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_APPEAR),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GIVES)] =
|
||||
{
|
||||
.text = gEasyChatWord_Gives,
|
||||
.alphabeticalOrder = 75,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_APPEARS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PLAYED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Played,
|
||||
.alphabeticalOrder = 39,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BELIEVE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PLAYS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Plays,
|
||||
.alphabeticalOrder = 36,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BRAG),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_COLLECT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Collect,
|
||||
.alphabeticalOrder = 28,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CAME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WALKING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Walking,
|
||||
.alphabeticalOrder = 46,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CAPABLE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WALKS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Walks,
|
||||
.alphabeticalOrder = 31,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CAUSE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SAYS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Says,
|
||||
.alphabeticalOrder = 19,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CHANGE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WENT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Went,
|
||||
.alphabeticalOrder = 26,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CHOOSE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SAID)] =
|
||||
{
|
||||
.text = gEasyChatWord_Said,
|
||||
.alphabeticalOrder = 6,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_COLLECT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WAKE_UP)] =
|
||||
{
|
||||
.text = gEasyChatWord_WakeUp,
|
||||
.alphabeticalOrder = 27,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_COME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WAKES_UP)] =
|
||||
{
|
||||
.text = gEasyChatWord_WakesUp,
|
||||
.alphabeticalOrder = 1,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CONCEDE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ANGERS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Angers,
|
||||
.alphabeticalOrder = 45,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_COULDN_T),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TEACH)] =
|
||||
{
|
||||
.text = gEasyChatWord_Teach,
|
||||
.alphabeticalOrder = 47,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DISAPPEAR),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TEACHES)] =
|
||||
{
|
||||
.text = gEasyChatWord_Teaches,
|
||||
.alphabeticalOrder = 54,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DRINKS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PLEASE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Please,
|
||||
.alphabeticalOrder = 41,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_EATS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LEARN)] =
|
||||
{
|
||||
.text = gEasyChatWord_Learn,
|
||||
.alphabeticalOrder = 76,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FAINT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CHANGE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Change,
|
||||
.alphabeticalOrder = 77,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FAINTED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_STORY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Story,
|
||||
.alphabeticalOrder = 73,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FORGET),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TRUST)] =
|
||||
{
|
||||
.text = gEasyChatWord_Trust,
|
||||
.alphabeticalOrder = 74,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FORGETS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LAVISH)] =
|
||||
{
|
||||
.text = gEasyChatWord_Lavish,
|
||||
.alphabeticalOrder = 2,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GIVE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LISTENS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Listens,
|
||||
.alphabeticalOrder = 3,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GIVES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HEARING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Hearing,
|
||||
.alphabeticalOrder = 24,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HEARING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TRAINS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Trains,
|
||||
.alphabeticalOrder = 37,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_IGNORANT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CHOOSE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Choose,
|
||||
.alphabeticalOrder = 32,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_KNOW),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_COME)] =
|
||||
{
|
||||
.text = gEasyChatWord_Come,
|
||||
.alphabeticalOrder = 33,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_KNOWS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CAME)] =
|
||||
{
|
||||
.text = gEasyChatWord_Came,
|
||||
.alphabeticalOrder = 22,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LAVISH),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SEARCH)] =
|
||||
{
|
||||
.text = gEasyChatWord_Search,
|
||||
.alphabeticalOrder = 18,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LEARN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MAKE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Make,
|
||||
.alphabeticalOrder = 23,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LISTENS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CAUSE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Cause,
|
||||
.alphabeticalOrder = 67,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LOOKS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_KNOW)] =
|
||||
{
|
||||
.text = gEasyChatWord_Know,
|
||||
.alphabeticalOrder = 30,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MAKE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_KNOWS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Knows,
|
||||
.alphabeticalOrder = 0,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MEETS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_REFUSE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Refuse,
|
||||
.alphabeticalOrder = 65,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_OVERDO),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_STORES)] =
|
||||
{
|
||||
.text = gEasyChatWord_Stores,
|
||||
.alphabeticalOrder = 70,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_OWN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BRAG)] =
|
||||
{
|
||||
.text = gEasyChatWord_Brag,
|
||||
.alphabeticalOrder = 4,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PLAYED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_IGNORANT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Ignorant,
|
||||
.alphabeticalOrder = 5,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PLAYS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THINKS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Thinks,
|
||||
.alphabeticalOrder = 17,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PLEASE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BELIEVE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Believe,
|
||||
.alphabeticalOrder = 64,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PRAISE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SLIDE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Slide,
|
||||
.alphabeticalOrder = 63,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PRETEND),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_EATS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Eats,
|
||||
.alphabeticalOrder = 34,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_REFUSE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_USE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Use,
|
||||
.alphabeticalOrder = 53,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_RELEASE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_USES)] =
|
||||
{
|
||||
.text = gEasyChatWord_Uses,
|
||||
.alphabeticalOrder = 56,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_RUN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_USING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Using,
|
||||
.alphabeticalOrder = 55,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_RUNS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_COULDN_T)] =
|
||||
{
|
||||
.text = gEasyChatWord_Couldnt,
|
||||
.alphabeticalOrder = 11,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SAID),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CAPABLE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Capable,
|
||||
.alphabeticalOrder = 9,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SAYS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DISAPPEAR)] =
|
||||
{
|
||||
.text = gEasyChatWord_Disappear,
|
||||
.alphabeticalOrder = 29,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SEARCH),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_APPEAR)] =
|
||||
{
|
||||
.text = gEasyChatWord_Appear,
|
||||
.alphabeticalOrder = 69,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SEEK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THROW)] =
|
||||
{
|
||||
.text = gEasyChatWord_Throw,
|
||||
.alphabeticalOrder = 68,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SEES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WORRY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Worry,
|
||||
.alphabeticalOrder = 66,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SHOW),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SLEPT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Slept,
|
||||
.alphabeticalOrder = 61,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SINK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SLEEP)] =
|
||||
{
|
||||
.text = gEasyChatWord_Sleep,
|
||||
.alphabeticalOrder = 52,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SLEEP),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_RELEASE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Release,
|
||||
.alphabeticalOrder = 51,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SLEPT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DRINKS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Drinks,
|
||||
.alphabeticalOrder = 40,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SLIDE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_RUNS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Runs,
|
||||
.alphabeticalOrder = 62,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SMACK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_RUN)] =
|
||||
{
|
||||
.text = gEasyChatWord_Run,
|
||||
.alphabeticalOrder = 35,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_STORES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WORKS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Works,
|
||||
.alphabeticalOrder = 20,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_STORY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WORKING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Working,
|
||||
.alphabeticalOrder = 71,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TAKE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TALKING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Talking,
|
||||
.alphabeticalOrder = 60,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TALK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TALK)] =
|
||||
{
|
||||
.text = gEasyChatWord_Talk,
|
||||
.alphabeticalOrder = 59,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TALKING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SINK)] =
|
||||
{
|
||||
.text = gEasyChatWord_Sink,
|
||||
.alphabeticalOrder = 15,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TEACH),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SMACK)] =
|
||||
{
|
||||
.text = gEasyChatWord_Smack,
|
||||
.alphabeticalOrder = 16,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TEACHES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PRETEND)] =
|
||||
{
|
||||
.text = gEasyChatWord_Pretend,
|
||||
.alphabeticalOrder = 38,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THINKS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PRAISE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Praise,
|
||||
.alphabeticalOrder = 49,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THROW),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_OVERDO)] =
|
||||
{
|
||||
.text = gEasyChatWord_Overdo,
|
||||
.alphabeticalOrder = 25,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TRAINS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SHOW)] =
|
||||
{
|
||||
.text = gEasyChatWord_Show,
|
||||
.alphabeticalOrder = 21,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TRUST),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LOOKS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Looks,
|
||||
.alphabeticalOrder = 42,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_USE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SEES)] =
|
||||
{
|
||||
.text = gEasyChatWord_Sees,
|
||||
.alphabeticalOrder = 43,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_USES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SEEK)] =
|
||||
{
|
||||
.text = gEasyChatWord_Seek,
|
||||
.alphabeticalOrder = 44,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_USING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_OWN)] =
|
||||
{
|
||||
.text = gEasyChatWord_Own,
|
||||
.alphabeticalOrder = 12,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WAKE_UP),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TAKE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Take,
|
||||
.alphabeticalOrder = 13,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WAKES_UP),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ALLOW)] =
|
||||
{
|
||||
.text = gEasyChatWord_Allow,
|
||||
.alphabeticalOrder = 7,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WALKING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FORGET)] =
|
||||
{
|
||||
.text = gEasyChatWord_Forget,
|
||||
.alphabeticalOrder = 8,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WALKS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FORGETS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Forgets,
|
||||
.alphabeticalOrder = 10,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WENT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_APPEARS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Appears,
|
||||
.alphabeticalOrder = 58,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WORKING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FAINT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Faint,
|
||||
.alphabeticalOrder = 57,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WORKS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FAINTED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Fainted,
|
||||
.alphabeticalOrder = 50,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WORRY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -39,217 +39,217 @@ const struct EasyChatWordInfo gEasyChatGroup_Adjectives[] = {
|
||||
[EC_INDEX(EC_WORD_WANDERING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Wandering,
|
||||
.alphabeticalOrder = 35,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ANTICIPATION),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_RICKETY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Rickety,
|
||||
.alphabeticalOrder = 23,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_AWESOME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ROCK_SOLID)] =
|
||||
{
|
||||
.text = gEasyChatWord_RockSolid,
|
||||
.alphabeticalOrder = 20,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BREAK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HUNGRY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Hungry,
|
||||
.alphabeticalOrder = 31,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DESTROYED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TIGHT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Tight,
|
||||
.alphabeticalOrder = 14,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DROOLING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TICKLISH)] =
|
||||
{
|
||||
.text = gEasyChatWord_Ticklish,
|
||||
.alphabeticalOrder = 15,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_EXCITING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TWIRLING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Twirling,
|
||||
.alphabeticalOrder = 32,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FIERY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SPIRALING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Spiraling,
|
||||
.alphabeticalOrder = 34,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HAPPILY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THIRSTY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Thirsty,
|
||||
.alphabeticalOrder = 12,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HOPELESS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LOLLING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Lolling,
|
||||
.alphabeticalOrder = 3,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HUNGRY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SILKY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Silky,
|
||||
.alphabeticalOrder = 29,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_INCREASING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SADLY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Sadly,
|
||||
.alphabeticalOrder = 9,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LOLLING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HOPELESS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Hopeless,
|
||||
.alphabeticalOrder = 33,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LOVEY_DOVEY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_USELESS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Useless,
|
||||
.alphabeticalOrder = 1,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_RICKETY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DROOLING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Drooling,
|
||||
.alphabeticalOrder = 27,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_RIPPED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_EXCITING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Exciting,
|
||||
.alphabeticalOrder = 2,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ROCK_SOLID),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THICK)] =
|
||||
{
|
||||
.text = gEasyChatWord_Thick,
|
||||
.alphabeticalOrder = 11,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SADLY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SMOOTH)] =
|
||||
{
|
||||
.text = gEasyChatWord_Smooth,
|
||||
.alphabeticalOrder = 22,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SCATTER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SLIMY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Slimy,
|
||||
.alphabeticalOrder = 26,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SHAKY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THIN)] =
|
||||
{
|
||||
.text = gEasyChatWord_Thin,
|
||||
.alphabeticalOrder = 28,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SHREDDED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BREAK)] =
|
||||
{
|
||||
.text = gEasyChatWord_Break,
|
||||
.alphabeticalOrder = 10,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SILKY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_VORACIOUS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Voracious,
|
||||
.alphabeticalOrder = 18,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SLIMY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SCATTER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Scatter,
|
||||
.alphabeticalOrder = 17,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SMOOTH),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_AWESOME)] =
|
||||
{
|
||||
.text = gEasyChatWord_Awesome,
|
||||
.alphabeticalOrder = 7,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SPIRALING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WIMPY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Wimpy,
|
||||
.alphabeticalOrder = 16,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THICK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WOBBLY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Wobbly,
|
||||
.alphabeticalOrder = 19,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THIN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SHAKY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Shaky,
|
||||
.alphabeticalOrder = 8,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THIRSTY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_RIPPED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Ripped,
|
||||
.alphabeticalOrder = 5,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TICKLISH),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SHREDDED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Shredded,
|
||||
.alphabeticalOrder = 4,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TIGHT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_INCREASING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Increasing,
|
||||
.alphabeticalOrder = 6,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TWIRLING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_YET)] =
|
||||
{
|
||||
.text = gEasyChatWord_Yet,
|
||||
.alphabeticalOrder = 13,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_USELESS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DESTROYED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Destroyed,
|
||||
.alphabeticalOrder = 21,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_VORACIOUS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FIERY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Fiery,
|
||||
.alphabeticalOrder = 0,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WANDERING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LOVEY_DOVEY)] =
|
||||
{
|
||||
.text = gEasyChatWord_LoveyDovey,
|
||||
.alphabeticalOrder = 24,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WIMPY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HAPPILY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Happily,
|
||||
.alphabeticalOrder = 25,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WOBBLY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ANTICIPATION)] =
|
||||
{
|
||||
.text = gEasyChatWord_Anticipation,
|
||||
.alphabeticalOrder = 30,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_YET),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -66,379 +66,379 @@ const struct EasyChatWordInfo gEasyChatGroup_Battle[] = {
|
||||
[EC_INDEX(EC_WORD_MATCH_UP)] =
|
||||
{
|
||||
.text = gEasyChatWord_MatchUp,
|
||||
.alphabeticalOrder = 53,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ACCEPT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GO)] =
|
||||
{
|
||||
.text = gEasyChatWord_Go,
|
||||
.alphabeticalOrder = 39,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_AIM),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_NO_1)] =
|
||||
{
|
||||
.text = gEasyChatWord_No1,
|
||||
.alphabeticalOrder = 18,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ATTACK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DECIDE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Decide,
|
||||
.alphabeticalOrder = 40,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BATTLE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LET_ME_WIN)] =
|
||||
{
|
||||
.text = gEasyChatWord_LetMeWin,
|
||||
.alphabeticalOrder = 11,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CAN_WIN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WINS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Wins,
|
||||
.alphabeticalOrder = 10,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CAN_T_WIN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WIN)] =
|
||||
{
|
||||
.text = gEasyChatWord_Win,
|
||||
.alphabeticalOrder = 31,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CHALLENGE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WON)] =
|
||||
{
|
||||
.text = gEasyChatWord_Won,
|
||||
.alphabeticalOrder = 17,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_COME_ON),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_IF_I_WIN)] =
|
||||
{
|
||||
.text = gEasyChatWord_IfIWin,
|
||||
.alphabeticalOrder = 3,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DECIDE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WHEN_I_WIN)] =
|
||||
{
|
||||
.text = gEasyChatWord_WhenIWin,
|
||||
.alphabeticalOrder = 14,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DECIDED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CAN_T_WIN)] =
|
||||
{
|
||||
.text = gEasyChatWord_CantWin,
|
||||
.alphabeticalOrder = 56,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_EASY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CAN_WIN)] =
|
||||
{
|
||||
.text = gEasyChatWord_CanWin,
|
||||
.alphabeticalOrder = 38,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ESCAPE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_NO_MATCH)] =
|
||||
{
|
||||
.text = gEasyChatWord_NoMatch,
|
||||
.alphabeticalOrder = 41,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FIGHT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SPIRIT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Spirit,
|
||||
.alphabeticalOrder = 29,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FIGHTS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DECIDED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Decided,
|
||||
.alphabeticalOrder = 35,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FOE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TRUMP_CARD)] =
|
||||
{
|
||||
.text = gEasyChatWord_TrumpCard,
|
||||
.alphabeticalOrder = 36,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GENIUS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TAKE_THAT)] =
|
||||
{
|
||||
.text = gEasyChatWord_TakeThat,
|
||||
.alphabeticalOrder = 45,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GIVE_UP),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_COME_ON)] =
|
||||
{
|
||||
.text = gEasyChatWord_ComeOn,
|
||||
.alphabeticalOrder = 1,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GO),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ATTACK)] =
|
||||
{
|
||||
.text = gEasyChatWord_Attack,
|
||||
.alphabeticalOrder = 34,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GO_EASY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SURRENDER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Surrender,
|
||||
.alphabeticalOrder = 50,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GUARD),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GUTSY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Gutsy,
|
||||
.alphabeticalOrder = 20,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GUTSY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TALENT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Talent,
|
||||
.alphabeticalOrder = 47,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_IF_I_LOSE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_STRATEGY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Strategy,
|
||||
.alphabeticalOrder = 8,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_IF_I_WIN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SMITE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Smite,
|
||||
.alphabeticalOrder = 54,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_INVINCIBLE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MATCH)] =
|
||||
{
|
||||
.text = gEasyChatWord_Match,
|
||||
.alphabeticalOrder = 60,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LEADER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_VICTORY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Victory,
|
||||
.alphabeticalOrder = 37,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LEGEND),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_OFFENSIVE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Offensive,
|
||||
.alphabeticalOrder = 4,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LET_ME_WIN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SENSE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Sense,
|
||||
.alphabeticalOrder = 49,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LOSE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_VERSUS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Versus,
|
||||
.alphabeticalOrder = 46,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LOSS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FIGHTS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Fights,
|
||||
.alphabeticalOrder = 48,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LOST),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_POWER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Power,
|
||||
.alphabeticalOrder = 24,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MATCH),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CHALLENGE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Challenge,
|
||||
.alphabeticalOrder = 0,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MATCH_UP),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_STRONG)] =
|
||||
{
|
||||
.text = gEasyChatWord_Strong,
|
||||
.alphabeticalOrder = 62,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MOVE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TOO_STRONG)] =
|
||||
{
|
||||
.text = gEasyChatWord_TooStrong,
|
||||
.alphabeticalOrder = 12,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_NO_MATCH),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GO_EASY)] =
|
||||
{
|
||||
.text = gEasyChatWord_GoEasy,
|
||||
.alphabeticalOrder = 2,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_NO_1),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FOE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Foe,
|
||||
.alphabeticalOrder = 26,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_OFFENSIVE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GENIUS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Genius,
|
||||
.alphabeticalOrder = 51,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PARTNER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LEGEND)] =
|
||||
{
|
||||
.text = gEasyChatWord_Legend,
|
||||
.alphabeticalOrder = 43,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_POINTS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ESCAPE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Escape,
|
||||
.alphabeticalOrder = 30,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_POWER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_AIM)] =
|
||||
{
|
||||
.text = gEasyChatWord_Aim,
|
||||
.alphabeticalOrder = 59,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PUSHOVER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BATTLE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Battle,
|
||||
.alphabeticalOrder = 55,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_RECEIVED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FIGHT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Fight,
|
||||
.alphabeticalOrder = 52,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_REJECT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_RESUSCITATE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Resuscitate,
|
||||
.alphabeticalOrder = 42,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_RESUSCITATE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_POINTS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Points,
|
||||
.alphabeticalOrder = 61,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_RULE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SERIOUS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Serious,
|
||||
.alphabeticalOrder = 27,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SENSE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GIVE_UP)] =
|
||||
{
|
||||
.text = gEasyChatWord_GiveUp,
|
||||
.alphabeticalOrder = 44,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SERIOUS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LOSS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Loss,
|
||||
.alphabeticalOrder = 23,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SMITE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_IF_I_LOSE)] =
|
||||
{
|
||||
.text = gEasyChatWord_IfILose,
|
||||
.alphabeticalOrder = 13,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SPIRIT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LOST)] =
|
||||
{
|
||||
.text = gEasyChatWord_Lost,
|
||||
.alphabeticalOrder = 22,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_STRATEGY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LOSE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Lose,
|
||||
.alphabeticalOrder = 32,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_STRONG),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GUARD)] =
|
||||
{
|
||||
.text = gEasyChatWord_Guard,
|
||||
.alphabeticalOrder = 19,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SURRENDER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PARTNER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Partner,
|
||||
.alphabeticalOrder = 16,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TAKE_THAT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_REJECT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Reject,
|
||||
.alphabeticalOrder = 21,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TALENT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ACCEPT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Accept,
|
||||
.alphabeticalOrder = 33,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TOO_STRONG),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_INVINCIBLE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Invincible,
|
||||
.alphabeticalOrder = 58,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TOO_WEAK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_RECEIVED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Received,
|
||||
.alphabeticalOrder = 15,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TRUMP_CARD),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_EASY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Easy,
|
||||
.alphabeticalOrder = 28,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_VERSUS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WEAK)] =
|
||||
{
|
||||
.text = gEasyChatWord_Weak,
|
||||
.alphabeticalOrder = 25,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_VICTORY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TOO_WEAK)] =
|
||||
{
|
||||
.text = gEasyChatWord_TooWeak,
|
||||
.alphabeticalOrder = 57,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WEAK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PUSHOVER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Pushover,
|
||||
.alphabeticalOrder = 9,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WHEN_I_WIN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LEADER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Leader,
|
||||
.alphabeticalOrder = 6,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WIN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_RULE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Rule,
|
||||
.alphabeticalOrder = 5,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WINS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MOVE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Move,
|
||||
.alphabeticalOrder = 7,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WON),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -72,415 +72,415 @@ const struct EasyChatWordInfo gEasyChatGroup_Conditions[] = {
|
||||
[EC_INDEX(EC_WORD_HOT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Hot,
|
||||
.alphabeticalOrder = 13,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ABSENT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_EXISTS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Exists,
|
||||
.alphabeticalOrder = 55,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ALONE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_EXCESS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Excess,
|
||||
.alphabeticalOrder = 23,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_AMUSING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_APPROVED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Approved,
|
||||
.alphabeticalOrder = 3,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_APPROVED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HAS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Has,
|
||||
.alphabeticalOrder = 54,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_AWFUL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GOOD)] =
|
||||
{
|
||||
.text = gEasyChatWord_Good,
|
||||
.alphabeticalOrder = 68,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BADLY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LESS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Less,
|
||||
.alphabeticalOrder = 50,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BECOMES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MOMENTUM)] =
|
||||
{
|
||||
.text = gEasyChatWord_Momentum,
|
||||
.alphabeticalOrder = 14,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BEING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GOING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Going,
|
||||
.alphabeticalOrder = 60,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BEST),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WEIRD)] =
|
||||
{
|
||||
.text = gEasyChatWord_Weird,
|
||||
.alphabeticalOrder = 19,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BIG),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BUSY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Busy,
|
||||
.alphabeticalOrder = 56,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BORED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TOGETHER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Together,
|
||||
.alphabeticalOrder = 10,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BUSY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FULL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Full,
|
||||
.alphabeticalOrder = 21,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CLOSE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ABSENT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Absent,
|
||||
.alphabeticalOrder = 30,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_COLD),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BEING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Being,
|
||||
.alphabeticalOrder = 38,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CORRECT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_NEED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Need,
|
||||
.alphabeticalOrder = 41,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DIFFERENT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TASTY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Tasty,
|
||||
.alphabeticalOrder = 22,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DOCILE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SKILLED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Skilled,
|
||||
.alphabeticalOrder = 36,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ELSE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_NOISY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Noisy,
|
||||
.alphabeticalOrder = 24,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ENTERTAINING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BIG)] =
|
||||
{
|
||||
.text = gEasyChatWord_Big,
|
||||
.alphabeticalOrder = 28,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_EXCELLENT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LATE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Late,
|
||||
.alphabeticalOrder = 2,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_EXCESS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CLOSE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Close,
|
||||
.alphabeticalOrder = 1,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_EXISTS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DOCILE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Docile,
|
||||
.alphabeticalOrder = 37,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_EXPENSIVE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_AMUSING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Amusing,
|
||||
.alphabeticalOrder = 35,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FABULOUS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ENTERTAINING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Entertaining,
|
||||
.alphabeticalOrder = 52,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FAST),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PERFECTION)] =
|
||||
{
|
||||
.text = gEasyChatWord_Perfection,
|
||||
.alphabeticalOrder = 12,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FULL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PRETTY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Pretty,
|
||||
.alphabeticalOrder = 8,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GOING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HEALTHY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Healthy,
|
||||
.alphabeticalOrder = 5,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GOOD),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_EXCELLENT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Excellent,
|
||||
.alphabeticalOrder = 4,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HAS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_UPSIDE_DOWN)] =
|
||||
{
|
||||
.text = gEasyChatWord_UpsideDown,
|
||||
.alphabeticalOrder = 27,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HEALTHY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_COLD)] =
|
||||
{
|
||||
.text = gEasyChatWord_Cold,
|
||||
.alphabeticalOrder = 0,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HOT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_REFRESHING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Refreshing,
|
||||
.alphabeticalOrder = 39,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_IMPOSSIBLE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_UNAVOIDABLE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Unavoidable,
|
||||
.alphabeticalOrder = 63,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_KIND),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MUCH)] =
|
||||
{
|
||||
.text = gEasyChatWord_Much,
|
||||
.alphabeticalOrder = 59,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LACKS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_OVERWHELMING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Overwhelming,
|
||||
.alphabeticalOrder = 20,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LATE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FABULOUS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Fabulous,
|
||||
.alphabeticalOrder = 6,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LESS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ELSE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Else,
|
||||
.alphabeticalOrder = 61,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LOUSY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_EXPENSIVE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Expensive,
|
||||
.alphabeticalOrder = 53,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LOW),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CORRECT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Correct,
|
||||
.alphabeticalOrder = 51,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LUKEWARM),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_IMPOSSIBLE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Impossible,
|
||||
.alphabeticalOrder = 62,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MISTAKE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SMALL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Small,
|
||||
.alphabeticalOrder = 7,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MOMENTUM),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DIFFERENT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Different,
|
||||
.alphabeticalOrder = 33,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MUCH),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TIRED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Tired,
|
||||
.alphabeticalOrder = 58,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MYSTERY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SKILL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Skill,
|
||||
.alphabeticalOrder = 49,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_NATURAL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TOP)] =
|
||||
{
|
||||
.text = gEasyChatWord_Top,
|
||||
.alphabeticalOrder = 15,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_NEED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_NON_STOP)] =
|
||||
{
|
||||
.text = gEasyChatWord_NonStop,
|
||||
.alphabeticalOrder = 18,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_NOISY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PREPOSTEROUS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Preposterous,
|
||||
.alphabeticalOrder = 45,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_NON_STOP),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_NONE)] =
|
||||
{
|
||||
.text = gEasyChatWord_None,
|
||||
.alphabeticalOrder = 47,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_NONE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_NOTHING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Nothing,
|
||||
.alphabeticalOrder = 48,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_NOTHING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_NATURAL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Natural,
|
||||
.alphabeticalOrder = 34,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_OVERWHELMING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BECOMES)] =
|
||||
{
|
||||
.text = gEasyChatWord_Becomes,
|
||||
.alphabeticalOrder = 25,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PERFECTION),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LUKEWARM)] =
|
||||
{
|
||||
.text = gEasyChatWord_Lukewarm,
|
||||
.alphabeticalOrder = 46,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PREPOSTEROUS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FAST)] =
|
||||
{
|
||||
.text = gEasyChatWord_Fast,
|
||||
.alphabeticalOrder = 26,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PRETTY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LOW)] =
|
||||
{
|
||||
.text = gEasyChatWord_Low,
|
||||
.alphabeticalOrder = 31,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_REFRESHING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_AWFUL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Awful,
|
||||
.alphabeticalOrder = 57,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SECRET),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ALONE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Alone,
|
||||
.alphabeticalOrder = 67,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SEEMS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BORED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Bored,
|
||||
.alphabeticalOrder = 66,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SIMPLE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SECRET)] =
|
||||
{
|
||||
.text = gEasyChatWord_Secret,
|
||||
.alphabeticalOrder = 43,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SKILL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MYSTERY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Mystery,
|
||||
.alphabeticalOrder = 17,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SKILLED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LACKS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Lacks,
|
||||
.alphabeticalOrder = 40,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SMALL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BEST)] =
|
||||
{
|
||||
.text = gEasyChatWord_Best,
|
||||
.alphabeticalOrder = 16,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TASTY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LOUSY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Lousy,
|
||||
.alphabeticalOrder = 42,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TIRED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MISTAKE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Mistake,
|
||||
.alphabeticalOrder = 11,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TOGETHER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_KIND)] =
|
||||
{
|
||||
.text = gEasyChatWord_Kind,
|
||||
.alphabeticalOrder = 44,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TOP),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WELL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Well,
|
||||
.alphabeticalOrder = 32,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_UNAVOIDABLE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WEAKENED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Weakened,
|
||||
.alphabeticalOrder = 29,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_UPSIDE_DOWN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SIMPLE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Simple,
|
||||
.alphabeticalOrder = 65,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WEAKENED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SEEMS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Seems,
|
||||
.alphabeticalOrder = 9,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WEIRD),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BADLY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Badly,
|
||||
.alphabeticalOrder = 64,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WELL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -72,415 +72,415 @@ const struct EasyChatWordInfo gEasyChatGroup_Endings[] = {
|
||||
[EC_INDEX(EC_WORD_WILL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Will,
|
||||
.alphabeticalOrder = 32,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_A),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WILL_BE_HERE)] =
|
||||
{
|
||||
.text = gEasyChatWord_WillBeHere,
|
||||
.alphabeticalOrder = 39,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ABOUT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_OR)] =
|
||||
{
|
||||
.text = gEasyChatWord_Or,
|
||||
.alphabeticalOrder = 63,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_AFTER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TIMES)] =
|
||||
{
|
||||
.text = gEasyChatWord_Times,
|
||||
.alphabeticalOrder = 42,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ALL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WONDER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Wonder,
|
||||
.alphabeticalOrder = 33,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_AN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_IS_IT_QUES)] =
|
||||
{
|
||||
.text = gEasyChatWord_IsItQues,
|
||||
.alphabeticalOrder = 68,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ANYWHERE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Be,
|
||||
.alphabeticalOrder = 15,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ARE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GIMME)] =
|
||||
{
|
||||
.text = gEasyChatWord_Gimme,
|
||||
.alphabeticalOrder = 46,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_AS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_COULD)] =
|
||||
{
|
||||
.text = gEasyChatWord_Could,
|
||||
.alphabeticalOrder = 54,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_AT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LIKELY_TO)] =
|
||||
{
|
||||
.text = gEasyChatWord_LikelyTo,
|
||||
.alphabeticalOrder = 6,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WOULD)] =
|
||||
{
|
||||
.text = gEasyChatWord_Would,
|
||||
.alphabeticalOrder = 64,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BEFORE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_IS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Is,
|
||||
.alphabeticalOrder = 53,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BELONGS_TO),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ISN_T_IT_QUES)] =
|
||||
{
|
||||
.text = gEasyChatWord_IsntItQues,
|
||||
.alphabeticalOrder = 49,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BETTER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LET_S)] =
|
||||
{
|
||||
.text = gEasyChatWord_Lets,
|
||||
.alphabeticalOrder = 22,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CAN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_OTHER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Other,
|
||||
.alphabeticalOrder = 21,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CAN_T),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ARE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Are,
|
||||
.alphabeticalOrder = 8,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_COULD),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WAS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Was,
|
||||
.alphabeticalOrder = 59,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DID),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WERE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Were,
|
||||
.alphabeticalOrder = 60,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DIDN_T),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THOSE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Those,
|
||||
.alphabeticalOrder = 24,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DO),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ISN_T)] =
|
||||
{
|
||||
.text = gEasyChatWord_Isnt,
|
||||
.alphabeticalOrder = 25,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DOES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WON_T)] =
|
||||
{
|
||||
.text = gEasyChatWord_Wont,
|
||||
.alphabeticalOrder = 61,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DOESN_T),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CAN_T)] =
|
||||
{
|
||||
.text = gEasyChatWord_Cant,
|
||||
.alphabeticalOrder = 23,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DON_T),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CAN)] =
|
||||
{
|
||||
.text = gEasyChatWord_Can,
|
||||
.alphabeticalOrder = 50,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_EVER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DON_T)] =
|
||||
{
|
||||
.text = gEasyChatWord_Dont,
|
||||
.alphabeticalOrder = 43,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FOR),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DO)] =
|
||||
{
|
||||
.text = gEasyChatWord_Do,
|
||||
.alphabeticalOrder = 7,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GIMME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DOES)] =
|
||||
{
|
||||
.text = gEasyChatWord_Does,
|
||||
.alphabeticalOrder = 30,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HAVE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WHOM)] =
|
||||
{
|
||||
.text = gEasyChatWord_Whom,
|
||||
.alphabeticalOrder = 31,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HAVEN_T),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WHICH)] =
|
||||
{
|
||||
.text = gEasyChatWord_Which,
|
||||
.alphabeticalOrder = 55,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_IN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WASN_T)] =
|
||||
{
|
||||
.text = gEasyChatWord_Wasnt,
|
||||
.alphabeticalOrder = 11,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_IS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WEREN_T)] =
|
||||
{
|
||||
.text = gEasyChatWord_Werent,
|
||||
.alphabeticalOrder = 5,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_IS_IT_QUES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HAVE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Have,
|
||||
.alphabeticalOrder = 19,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ISN_T),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HAVEN_T)] =
|
||||
{
|
||||
.text = gEasyChatWord_Havent,
|
||||
.alphabeticalOrder = 12,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ISN_T_IT_QUES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_A)] =
|
||||
{
|
||||
.text = gEasyChatWord_A,
|
||||
.alphabeticalOrder = 41,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_IT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_AN)] =
|
||||
{
|
||||
.text = gEasyChatWord_An,
|
||||
.alphabeticalOrder = 13,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LET_S),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_NOT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Not,
|
||||
.alphabeticalOrder = 58,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LIKE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THERE)] =
|
||||
{
|
||||
.text = gEasyChatWord_There,
|
||||
.alphabeticalOrder = 9,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LIKELY_TO),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_OK_QUES)] =
|
||||
{
|
||||
.text = gEasyChatWord_OkQues,
|
||||
.alphabeticalOrder = 38,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MAYBE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SO)] =
|
||||
{
|
||||
.text = gEasyChatWord_So,
|
||||
.alphabeticalOrder = 34,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_NOT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MAYBE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Maybe,
|
||||
.alphabeticalOrder = 52,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_OF),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ABOUT)] =
|
||||
{
|
||||
.text = gEasyChatWord_About,
|
||||
.alphabeticalOrder = 45,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_OFF),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_OVER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Over,
|
||||
.alphabeticalOrder = 36,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_OK_QUES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_IT)] =
|
||||
{
|
||||
.text = gEasyChatWord_It,
|
||||
.alphabeticalOrder = 44,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ON),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ALL)] =
|
||||
{
|
||||
.text = gEasyChatWord_All,
|
||||
.alphabeticalOrder = 67,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ONCE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FOR)] =
|
||||
{
|
||||
.text = gEasyChatWord_For,
|
||||
.alphabeticalOrder = 2,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_OR),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ON)] =
|
||||
{
|
||||
.text = gEasyChatWord_On,
|
||||
.alphabeticalOrder = 14,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_OTHER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_OFF)] =
|
||||
{
|
||||
.text = gEasyChatWord_Off,
|
||||
.alphabeticalOrder = 56,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_OUT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_AS)] =
|
||||
{
|
||||
.text = gEasyChatWord_As,
|
||||
.alphabeticalOrder = 40,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_OVER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TO)] =
|
||||
{
|
||||
.text = gEasyChatWord_To,
|
||||
.alphabeticalOrder = 51,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SINCE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WITH)] =
|
||||
{
|
||||
.text = gEasyChatWord_With,
|
||||
.alphabeticalOrder = 37,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SO),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BETTER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Better,
|
||||
.alphabeticalOrder = 66,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THAN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_EVER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Ever,
|
||||
.alphabeticalOrder = 35,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THERE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SINCE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Since,
|
||||
.alphabeticalOrder = 18,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THOSE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_OF)] =
|
||||
{
|
||||
.text = gEasyChatWord_Of,
|
||||
.alphabeticalOrder = 3,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TIMES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BELONGS_TO)] =
|
||||
{
|
||||
.text = gEasyChatWord_BelongsTo,
|
||||
.alphabeticalOrder = 47,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TO),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_AT)] =
|
||||
{
|
||||
.text = gEasyChatWord_At,
|
||||
.alphabeticalOrder = 57,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TOO),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_IN)] =
|
||||
{
|
||||
.text = gEasyChatWord_In,
|
||||
.alphabeticalOrder = 16,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WAS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_OUT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Out,
|
||||
.alphabeticalOrder = 28,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WASN_T),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TOO)] =
|
||||
{
|
||||
.text = gEasyChatWord_Too,
|
||||
.alphabeticalOrder = 17,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WERE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LIKE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Like,
|
||||
.alphabeticalOrder = 29,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WEREN_T),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DID)] =
|
||||
{
|
||||
.text = gEasyChatWord_Did,
|
||||
.alphabeticalOrder = 27,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WHICH),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DIDN_T)] =
|
||||
{
|
||||
.text = gEasyChatWord_Didnt,
|
||||
.alphabeticalOrder = 65,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WHILE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DOESN_T)] =
|
||||
{
|
||||
.text = gEasyChatWord_Doesnt,
|
||||
.alphabeticalOrder = 26,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WHOM),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WITHOUT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Without,
|
||||
.alphabeticalOrder = 0,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WILL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_AFTER)] =
|
||||
{
|
||||
.text = gEasyChatWord_After,
|
||||
.alphabeticalOrder = 1,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WILL_BE_HERE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BEFORE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Before,
|
||||
.alphabeticalOrder = 48,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WITH),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WHILE)] =
|
||||
{
|
||||
.text = gEasyChatWord_While,
|
||||
.alphabeticalOrder = 62,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WITHOUT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THAN)] =
|
||||
{
|
||||
.text = gEasyChatWord_Than,
|
||||
.alphabeticalOrder = 20,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WON_T),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ONCE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Once,
|
||||
.alphabeticalOrder = 4,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WONDER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ANYWHERE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Anywhere,
|
||||
.alphabeticalOrder = 10,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WOULD),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -32,175 +32,175 @@ const struct EasyChatWordInfo gEasyChatGroup_Events[] = {
|
||||
[EC_INDEX(EC_WORD_APPEAL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Appeal,
|
||||
.alphabeticalOrder = 0,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_APPEAL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_EVENTS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Events,
|
||||
.alphabeticalOrder = 14,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BATTLE_ROOM),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_STAY_AT_HOME)] =
|
||||
{
|
||||
.text = gEasyChatWord_StayAtHome,
|
||||
.alphabeticalOrder = 12,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BATTLE_TOWER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BERRY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Berry,
|
||||
.alphabeticalOrder = 3,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BERRY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CONTEST)] =
|
||||
{
|
||||
.text = gEasyChatWord_Contest,
|
||||
.alphabeticalOrder = 17,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BLEND),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MC)] =
|
||||
{
|
||||
.text = gEasyChatWord_Mc,
|
||||
.alphabeticalOrder = 4,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CONTEST),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_JUDGE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Judge,
|
||||
.alphabeticalOrder = 22,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CRUSH),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SUPER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Super,
|
||||
.alphabeticalOrder = 23,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DIRECT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_STAGE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Stage,
|
||||
.alphabeticalOrder = 1,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_EVENTS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HALL_OF_FAME)] =
|
||||
{
|
||||
.text = gEasyChatWord_HallOfFame,
|
||||
.alphabeticalOrder = 10,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_EVOLUTION),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_EVOLUTION)] =
|
||||
{
|
||||
.text = gEasyChatWord_Evolution,
|
||||
.alphabeticalOrder = 28,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FRONTIER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HYPER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Hyper,
|
||||
.alphabeticalOrder = 9,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HALL_OF_FAME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BATTLE_TOWER)] =
|
||||
{
|
||||
.text = gEasyChatWord_BattleTower,
|
||||
.alphabeticalOrder = 15,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HIDDEN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LEADERS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Leaders,
|
||||
.alphabeticalOrder = 11,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HYPER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BATTLE_ROOM)] =
|
||||
{
|
||||
.text = gEasyChatWord_BattleRoom,
|
||||
.alphabeticalOrder = 6,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_JUDGE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HIDDEN)] =
|
||||
{
|
||||
.text = gEasyChatWord_Hidden,
|
||||
.alphabeticalOrder = 13,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LEADERS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SECRET_BASE)] =
|
||||
{
|
||||
.text = gEasyChatWord_SecretBase,
|
||||
.alphabeticalOrder = 19,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MASTER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BLEND)] =
|
||||
{
|
||||
.text = gEasyChatWord_Blend,
|
||||
.alphabeticalOrder = 5,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MC),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_POKEBLOCK)] =
|
||||
{
|
||||
.text = gEasyChatWord_POKEBLOCK,
|
||||
.alphabeticalOrder = 18,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_POKEBLOCK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MASTER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Master,
|
||||
.alphabeticalOrder = 20,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_RANK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_RANK)] =
|
||||
{
|
||||
.text = gEasyChatWord_Rank,
|
||||
.alphabeticalOrder = 21,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_RIBBON),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_RIBBON)] =
|
||||
{
|
||||
.text = gEasyChatWord_Ribbon,
|
||||
.alphabeticalOrder = 26,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ROOM),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CRUSH)] =
|
||||
{
|
||||
.text = gEasyChatWord_Crush,
|
||||
.alphabeticalOrder = 16,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SECRET_BASE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DIRECT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Direct,
|
||||
.alphabeticalOrder = 8,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_STAGE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TOWER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Tower,
|
||||
.alphabeticalOrder = 2,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_STAY_AT_HOME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_UNION)] =
|
||||
{
|
||||
.text = gEasyChatWord_Union,
|
||||
.alphabeticalOrder = 7,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SUPER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ROOM)] =
|
||||
{
|
||||
.text = gEasyChatWord_Room,
|
||||
.alphabeticalOrder = 24,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TOWER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WIRELESS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Wireless,
|
||||
.alphabeticalOrder = 25,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_UNION),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FRONTIER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Frontier,
|
||||
.alphabeticalOrder = 27,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WIRELESS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -72,415 +72,415 @@ const struct EasyChatWordInfo gEasyChatGroup_Feelings[] = {
|
||||
[EC_INDEX(EC_WORD_MEET)] =
|
||||
{
|
||||
.text = gEasyChatWord_Meet,
|
||||
.alphabeticalOrder = 40,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ADORE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PLAY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Play,
|
||||
.alphabeticalOrder = 39,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ALL_RIGHT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HURRIED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Hurried,
|
||||
.alphabeticalOrder = 24,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ANGER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GOES)] =
|
||||
{
|
||||
.text = gEasyChatWord_Goes,
|
||||
.alphabeticalOrder = 23,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ANGRY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GIDDY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Giddy,
|
||||
.alphabeticalOrder = 46,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BAD),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HAPPY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Happy,
|
||||
.alphabeticalOrder = 63,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BEAT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HAPPINESS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Happiness,
|
||||
.alphabeticalOrder = 36,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BORING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_EXCITE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Excite,
|
||||
.alphabeticalOrder = 37,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CARE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_IMPORTANT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Important,
|
||||
.alphabeticalOrder = 38,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CARES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FUNNY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Funny,
|
||||
.alphabeticalOrder = 61,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DANGER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GOT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Got,
|
||||
.alphabeticalOrder = 31,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DARN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GO_HOME)] =
|
||||
{
|
||||
.text = gEasyChatWord_GoHome,
|
||||
.alphabeticalOrder = 62,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DEFEATED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DISAPPOINTED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Disappointed,
|
||||
.alphabeticalOrder = 27,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DISAPPOINT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DISAPPOINTS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Disappoints,
|
||||
.alphabeticalOrder = 12,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DISAPPOINTED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SAD)] =
|
||||
{
|
||||
.text = gEasyChatWord_Sad,
|
||||
.alphabeticalOrder = 13,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DISAPPOINTS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TRY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Try,
|
||||
.alphabeticalOrder = 41,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DISASTER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TRIES)] =
|
||||
{
|
||||
.text = gEasyChatWord_Tries,
|
||||
.alphabeticalOrder = 22,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DISLIKE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HEARS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Hears,
|
||||
.alphabeticalOrder = 35,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DISLIKES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THINK)] =
|
||||
{
|
||||
.text = gEasyChatWord_Think,
|
||||
.alphabeticalOrder = 60,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DONE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HEAR)] =
|
||||
{
|
||||
.text = gEasyChatWord_Hear,
|
||||
.alphabeticalOrder = 32,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DOWNCAST),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WANTS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Wants,
|
||||
.alphabeticalOrder = 51,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DRINK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MISHEARD)] =
|
||||
{
|
||||
.text = gEasyChatWord_Misheard,
|
||||
.alphabeticalOrder = 44,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_EAT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DISLIKE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Dislike,
|
||||
.alphabeticalOrder = 42,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ENJOY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ANGRY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Angry,
|
||||
.alphabeticalOrder = 43,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ENJOYS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ANGER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Anger,
|
||||
.alphabeticalOrder = 7,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_EXCITE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SCARY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Scary,
|
||||
.alphabeticalOrder = 53,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FEAR),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LONESOME)] =
|
||||
{
|
||||
.text = gEasyChatWord_Lonesome,
|
||||
.alphabeticalOrder = 9,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FUNNY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DISAPPOINT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Disappoint,
|
||||
.alphabeticalOrder = 29,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GETS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_JOY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Joy,
|
||||
.alphabeticalOrder = 4,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GIDDY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GETS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Gets,
|
||||
.alphabeticalOrder = 11,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GO_HOME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_NEVER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Never,
|
||||
.alphabeticalOrder = 3,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GOES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DARN)] =
|
||||
{
|
||||
.text = gEasyChatWord_Darn,
|
||||
.alphabeticalOrder = 10,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GOT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DOWNCAST)] =
|
||||
{
|
||||
.text = gEasyChatWord_Downcast,
|
||||
.alphabeticalOrder = 64,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GREAT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_INCREDIBLE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Incredible,
|
||||
.alphabeticalOrder = 6,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HAPPINESS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LIKES)] =
|
||||
{
|
||||
.text = gEasyChatWord_Likes,
|
||||
.alphabeticalOrder = 5,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HAPPY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DISLIKES)] =
|
||||
{
|
||||
.text = gEasyChatWord_Dislikes,
|
||||
.alphabeticalOrder = 47,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HARD),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BORING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Boring,
|
||||
.alphabeticalOrder = 19,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HEAR),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CARE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Care,
|
||||
.alphabeticalOrder = 17,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HEARS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CARES)] =
|
||||
{
|
||||
.text = gEasyChatWord_Cares,
|
||||
.alphabeticalOrder = 2,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HURRIED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ALL_RIGHT)] =
|
||||
{
|
||||
.text = gEasyChatWord_AllRight,
|
||||
.alphabeticalOrder = 8,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_IMPORTANT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ADORE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Adore,
|
||||
.alphabeticalOrder = 33,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_INCREDIBLE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DISASTER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Disaster,
|
||||
.alphabeticalOrder = 28,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_JOY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ENJOY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Enjoy,
|
||||
.alphabeticalOrder = 45,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LACKING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ENJOYS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Enjoys,
|
||||
.alphabeticalOrder = 34,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LIKES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_EAT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Eat,
|
||||
.alphabeticalOrder = 26,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LONESOME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LACKING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Lacking,
|
||||
.alphabeticalOrder = 0,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MEET),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BAD)] =
|
||||
{
|
||||
.text = gEasyChatWord_Bad,
|
||||
.alphabeticalOrder = 21,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MISHEARD),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HARD)] =
|
||||
{
|
||||
.text = gEasyChatWord_Hard,
|
||||
.alphabeticalOrder = 59,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_NEGATIVE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TERRIBLE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Terrible,
|
||||
.alphabeticalOrder = 30,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_NEVER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SHOULD)] =
|
||||
{
|
||||
.text = gEasyChatWord_Should,
|
||||
.alphabeticalOrder = 50,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_NICE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_NICE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Nice,
|
||||
.alphabeticalOrder = 1,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PLAY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DRINK)] =
|
||||
{
|
||||
.text = gEasyChatWord_Drink,
|
||||
.alphabeticalOrder = 66,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_QUESTION),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SURPRISE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Surprise,
|
||||
.alphabeticalOrder = 58,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_RARE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FEAR)] =
|
||||
{
|
||||
.text = gEasyChatWord_Fear,
|
||||
.alphabeticalOrder = 65,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ROMANTIC),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WANT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Want,
|
||||
.alphabeticalOrder = 14,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SAD),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WAIT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Wait,
|
||||
.alphabeticalOrder = 56,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SATISFIED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SATISFIED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Satisfied,
|
||||
.alphabeticalOrder = 25,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SCARY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SEE)] =
|
||||
{
|
||||
.text = gEasyChatWord_See,
|
||||
.alphabeticalOrder = 57,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SEE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_RARE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Rare,
|
||||
.alphabeticalOrder = 49,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SHOULD),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_NEGATIVE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Negative,
|
||||
.alphabeticalOrder = 52,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SURPRISE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DONE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Done,
|
||||
.alphabeticalOrder = 48,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TERRIBLE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DANGER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Danger,
|
||||
.alphabeticalOrder = 18,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THINK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DEFEATED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Defeated,
|
||||
.alphabeticalOrder = 16,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TRIES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BEAT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Beat,
|
||||
.alphabeticalOrder = 15,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TRY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GREAT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Great,
|
||||
.alphabeticalOrder = 67,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_UNDERSTAND),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ROMANTIC)] =
|
||||
{
|
||||
.text = gEasyChatWord_Romantic,
|
||||
.alphabeticalOrder = 68,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_UNDERSTANDS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_QUESTION)] =
|
||||
{
|
||||
.text = gEasyChatWord_Question,
|
||||
.alphabeticalOrder = 55,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WAIT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_UNDERSTAND)] =
|
||||
{
|
||||
.text = gEasyChatWord_Understand,
|
||||
.alphabeticalOrder = 54,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WANT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_UNDERSTANDS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Understands,
|
||||
.alphabeticalOrder = 20,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WANTS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -45,253 +45,253 @@ const struct EasyChatWordInfo gEasyChatGroup_Greetings[] = {
|
||||
[EC_INDEX(EC_WORD_THANKS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Thanks,
|
||||
.alphabeticalOrder = 12,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_APOLOGIZE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_YES)] =
|
||||
{
|
||||
.text = gEasyChatWord_Yes,
|
||||
.alphabeticalOrder = 25,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_APPRECIATE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HERE_GOES)] =
|
||||
{
|
||||
.text = gEasyChatWord_HereGoes,
|
||||
.alphabeticalOrder = 32,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BYE_BYE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HERE_I_COME)] =
|
||||
{
|
||||
.text = gEasyChatWord_HereICome,
|
||||
.alphabeticalOrder = 40,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_COME_OVER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HERE_IT_IS)] =
|
||||
{
|
||||
.text = gEasyChatWord_HereItIs,
|
||||
.alphabeticalOrder = 9,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CONGRATS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_YEAH)] =
|
||||
{
|
||||
.text = gEasyChatWord_Yeah,
|
||||
.alphabeticalOrder = 41,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_COUNT_ON),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WELCOME)] =
|
||||
{
|
||||
.text = gEasyChatWord_Welcome,
|
||||
.alphabeticalOrder = 20,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_EXCUSE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_OI)] =
|
||||
{
|
||||
.text = gEasyChatWord_Oi,
|
||||
.alphabeticalOrder = 22,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_EXCUSE_ME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HOW_DO)] =
|
||||
{
|
||||
.text = gEasyChatWord_HowDo,
|
||||
.alphabeticalOrder = 13,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FORGIVE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CONGRATS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Congrats,
|
||||
.alphabeticalOrder = 10,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GIVE_ME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GIVE_ME)] =
|
||||
{
|
||||
.text = gEasyChatWord_GiveMe,
|
||||
.alphabeticalOrder = 24,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GO_AHEAD),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SORRY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Sorry,
|
||||
.alphabeticalOrder = 16,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GOOD_BYE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_APOLOGIZE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Apologize,
|
||||
.alphabeticalOrder = 15,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HELLO),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FORGIVE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Forgive,
|
||||
.alphabeticalOrder = 2,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HERE_GOES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HEY_THERE)] =
|
||||
{
|
||||
.text = gEasyChatWord_HeyThere,
|
||||
.alphabeticalOrder = 3,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HERE_I_COME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HELLO)] =
|
||||
{
|
||||
.text = gEasyChatWord_Hello,
|
||||
.alphabeticalOrder = 4,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HERE_IT_IS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GOOD_BYE)] =
|
||||
{
|
||||
.text = gEasyChatWord_GoodBye,
|
||||
.alphabeticalOrder = 34,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HEY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THANK_YOU)] =
|
||||
{
|
||||
.text = gEasyChatWord_ThankYou,
|
||||
.alphabeticalOrder = 14,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HEY_THERE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_I_VE_ARRIVED)] =
|
||||
{
|
||||
.text = gEasyChatWord_IveArrived,
|
||||
.alphabeticalOrder = 26,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HEY_QUES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PARDON)] =
|
||||
{
|
||||
.text = gEasyChatWord_Pardon,
|
||||
.alphabeticalOrder = 30,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HI),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_EXCUSE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Excuse,
|
||||
.alphabeticalOrder = 37,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HOO_HAH),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SEE_YA)] =
|
||||
{
|
||||
.text = gEasyChatWord_SeeYa,
|
||||
.alphabeticalOrder = 8,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HOW_DO),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_EXCUSE_ME)] =
|
||||
{
|
||||
.text = gEasyChatWord_ExcuseMe,
|
||||
.alphabeticalOrder = 28,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HUH_QUES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WELL_THEN)] =
|
||||
{
|
||||
.text = gEasyChatWord_WellThen,
|
||||
.alphabeticalOrder = 18,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_I_VE_ARRIVED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GO_AHEAD)] =
|
||||
{
|
||||
.text = gEasyChatWord_GoAhead,
|
||||
.alphabeticalOrder = 36,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LISTENING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_APPRECIATE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Appreciate,
|
||||
.alphabeticalOrder = 33,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MEET_YOU),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HEY_QUES)] =
|
||||
{
|
||||
.text = gEasyChatWord_HeyQues,
|
||||
.alphabeticalOrder = 29,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_NO),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WHAT_S_UP_QUES)] =
|
||||
{
|
||||
.text = gEasyChatWord_WhatsUpQues,
|
||||
.alphabeticalOrder = 7,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_OI),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HUH_QUES)] =
|
||||
{
|
||||
.text = gEasyChatWord_HuhQues,
|
||||
.alphabeticalOrder = 19,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PARDON),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_NO)] =
|
||||
{
|
||||
.text = gEasyChatWord_No,
|
||||
.alphabeticalOrder = 21,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SEE_YA),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HI)] =
|
||||
{
|
||||
.text = gEasyChatWord_Hi,
|
||||
.alphabeticalOrder = 35,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SMELL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_YEAH_YEAH)] =
|
||||
{
|
||||
.text = gEasyChatWord_YeahYeah,
|
||||
.alphabeticalOrder = 11,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SORRY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BYE_BYE)] =
|
||||
{
|
||||
.text = gEasyChatWord_ByeBye,
|
||||
.alphabeticalOrder = 17,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THANK_YOU),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MEET_YOU)] =
|
||||
{
|
||||
.text = gEasyChatWord_MeetYou,
|
||||
.alphabeticalOrder = 0,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THANKS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HEY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Hey,
|
||||
.alphabeticalOrder = 6,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WELCOME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SMELL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Smell,
|
||||
.alphabeticalOrder = 23,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WELL_THEN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LISTENING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Listening,
|
||||
.alphabeticalOrder = 27,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WHAT_S_UP_QUES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HOO_HAH)] =
|
||||
{
|
||||
.text = gEasyChatWord_HooHah,
|
||||
.alphabeticalOrder = 38,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_YAHOO),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_YAHOO)] =
|
||||
{
|
||||
.text = gEasyChatWord_Yahoo,
|
||||
.alphabeticalOrder = 5,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_YEAH),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_YO)] =
|
||||
{
|
||||
.text = gEasyChatWord_Yo,
|
||||
.alphabeticalOrder = 31,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_YEAH_YEAH),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_COME_OVER)] =
|
||||
{
|
||||
.text = gEasyChatWord_ComeOver,
|
||||
.alphabeticalOrder = 1,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_YES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_COUNT_ON)] =
|
||||
{
|
||||
.text = gEasyChatWord_CountOn,
|
||||
.alphabeticalOrder = 39,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_YO),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -57,325 +57,325 @@ const struct EasyChatWordInfo gEasyChatGroup_Hobbies[] = {
|
||||
[EC_INDEX(EC_WORD_IDOL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Idol,
|
||||
.alphabeticalOrder = 43,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ADVENTURE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ANIME)] =
|
||||
{
|
||||
.text = gEasyChatWord_Anime,
|
||||
.alphabeticalOrder = 1,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ANIME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SONG)] =
|
||||
{
|
||||
.text = gEasyChatWord_Song,
|
||||
.alphabeticalOrder = 45,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BALL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MOVIE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Movie,
|
||||
.alphabeticalOrder = 21,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BIKE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SWEETS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Sweets,
|
||||
.alphabeticalOrder = 44,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BOARD),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CHAT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Chat,
|
||||
.alphabeticalOrder = 46,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BOOK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CHILD_S_PLAY)] =
|
||||
{
|
||||
.text = gEasyChatWord_ChildsPlay,
|
||||
.alphabeticalOrder = 11,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CAMERA),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TOYS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Toys,
|
||||
.alphabeticalOrder = 9,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CARDS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MUSIC)] =
|
||||
{
|
||||
.text = gEasyChatWord_Music,
|
||||
.alphabeticalOrder = 30,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CHANNEL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CARDS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Cards,
|
||||
.alphabeticalOrder = 5,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CHAT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SHOPPING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Shopping,
|
||||
.alphabeticalOrder = 6,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CHILD_S_PLAY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CAMERA)] =
|
||||
{
|
||||
.text = gEasyChatWord_Camera,
|
||||
.alphabeticalOrder = 17,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_COLLECTION),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_VIEWING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Viewing,
|
||||
.alphabeticalOrder = 48,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_COMICS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SPECTATOR)] =
|
||||
{
|
||||
.text = gEasyChatWord_Spectator,
|
||||
.alphabeticalOrder = 18,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_COMPLETE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GOURMET)] =
|
||||
{
|
||||
.text = gEasyChatWord_Gourmet,
|
||||
.alphabeticalOrder = 29,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DANCE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GAME)] =
|
||||
{
|
||||
.text = gEasyChatWord_Game,
|
||||
.alphabeticalOrder = 33,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DATE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_RPG)] =
|
||||
{
|
||||
.text = gEasyChatWord_Rpg,
|
||||
.alphabeticalOrder = 34,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DESIGN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_COLLECTION)] =
|
||||
{
|
||||
.text = gEasyChatWord_Collection,
|
||||
.alphabeticalOrder = 26,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DIET),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_COMPLETE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Complete,
|
||||
.alphabeticalOrder = 42,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FASHION),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MAGAZINE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Magazine,
|
||||
.alphabeticalOrder = 47,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FESTIVAL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WALK)] =
|
||||
{
|
||||
.text = gEasyChatWord_Walk,
|
||||
.alphabeticalOrder = 32,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FISHING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BIKE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Bike,
|
||||
.alphabeticalOrder = 38,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FLOWERS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HOBBY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Hobby,
|
||||
.alphabeticalOrder = 15,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GAME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SPORTS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Sports,
|
||||
.alphabeticalOrder = 14,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GOURMET),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SOFTWARE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Software,
|
||||
.alphabeticalOrder = 39,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HERO),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SONGS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Songs,
|
||||
.alphabeticalOrder = 41,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HEROINE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DIET)] =
|
||||
{
|
||||
.text = gEasyChatWord_Diet,
|
||||
.alphabeticalOrder = 22,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HOBBY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TREASURE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Treasure,
|
||||
.alphabeticalOrder = 49,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HOLIDAY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TRAVEL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Travel,
|
||||
.alphabeticalOrder = 0,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_IDOL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DANCE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Dance,
|
||||
.alphabeticalOrder = 35,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LOCOMOTIVE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CHANNEL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Channel,
|
||||
.alphabeticalOrder = 53,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LOOK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MAKING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Making,
|
||||
.alphabeticalOrder = 19,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MAGAZINE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FISHING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Fishing,
|
||||
.alphabeticalOrder = 31,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MAKING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DATE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Date,
|
||||
.alphabeticalOrder = 3,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MOVIE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DESIGN)] =
|
||||
{
|
||||
.text = gEasyChatWord_Design,
|
||||
.alphabeticalOrder = 8,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MUSIC),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LOCOMOTIVE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Locomotive,
|
||||
.alphabeticalOrder = 40,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_NAP),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PLUSH_DOLL)] =
|
||||
{
|
||||
.text = gEasyChatWord_PlushDoll,
|
||||
.alphabeticalOrder = 37,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PC),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PC)] =
|
||||
{
|
||||
.text = gEasyChatWord_Pc,
|
||||
.alphabeticalOrder = 50,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PLANS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FLOWERS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Flowers,
|
||||
.alphabeticalOrder = 36,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PLUSH_DOLL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HERO)] =
|
||||
{
|
||||
.text = gEasyChatWord_Hero,
|
||||
.alphabeticalOrder = 16,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_RPG),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_NAP)] =
|
||||
{
|
||||
.text = gEasyChatWord_Nap,
|
||||
.alphabeticalOrder = 10,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SHOPPING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HEROINE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Heroine,
|
||||
.alphabeticalOrder = 24,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SOFTWARE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FASHION)] =
|
||||
{
|
||||
.text = gEasyChatWord_Fashion,
|
||||
.alphabeticalOrder = 2,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SONG),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ADVENTURE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Adventure,
|
||||
.alphabeticalOrder = 25,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SONGS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BOARD)] =
|
||||
{
|
||||
.text = gEasyChatWord_Board,
|
||||
.alphabeticalOrder = 13,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SPECTATOR),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BALL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Ball,
|
||||
.alphabeticalOrder = 23,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SPORTS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BOOK)] =
|
||||
{
|
||||
.text = gEasyChatWord_Book,
|
||||
.alphabeticalOrder = 4,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SWEETS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FESTIVAL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Festival,
|
||||
.alphabeticalOrder = 7,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TOYS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_COMICS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Comics,
|
||||
.alphabeticalOrder = 28,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TRAVEL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HOLIDAY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Holiday,
|
||||
.alphabeticalOrder = 27,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TREASURE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PLANS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Plans,
|
||||
.alphabeticalOrder = 51,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TRENDY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TRENDY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Trendy,
|
||||
.alphabeticalOrder = 52,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_VACATION),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_VACATION)] =
|
||||
{
|
||||
.text = gEasyChatWord_Vacation,
|
||||
.alphabeticalOrder = 12,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_VIEWING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LOOK)] =
|
||||
{
|
||||
.text = gEasyChatWord_Look,
|
||||
.alphabeticalOrder = 20,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WALK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -48,271 +48,271 @@ const struct EasyChatWordInfo gEasyChatGroup_Lifestyle[] = {
|
||||
[EC_INDEX(EC_WORD_CHORES)] =
|
||||
{
|
||||
.text = gEasyChatWord_Chores,
|
||||
.alphabeticalOrder = 3,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ALLOWANCE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HOME)] =
|
||||
{
|
||||
.text = gEasyChatWord_Home,
|
||||
.alphabeticalOrder = 4,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BATH),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MONEY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Money,
|
||||
.alphabeticalOrder = 0,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CHORES),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ALLOWANCE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Allowance,
|
||||
.alphabeticalOrder = 16,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CLASS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BATH)] =
|
||||
{
|
||||
.text = gEasyChatWord_Bath,
|
||||
.alphabeticalOrder = 7,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_COMMEMORATE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CONVERSATION)] =
|
||||
{
|
||||
.text = gEasyChatWord_Conversation,
|
||||
.alphabeticalOrder = 5,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CONVERSATION),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SCHOOL)] =
|
||||
{
|
||||
.text = gEasyChatWord_School,
|
||||
.alphabeticalOrder = 26,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DEPT_STORE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_COMMEMORATE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Commemorate,
|
||||
.alphabeticalOrder = 24,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DIGITAL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HABIT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Habit,
|
||||
.alphabeticalOrder = 39,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DREAM),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GROUP)] =
|
||||
{
|
||||
.text = gEasyChatWord_Group,
|
||||
.alphabeticalOrder = 23,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_EVENT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WORD)] =
|
||||
{
|
||||
.text = gEasyChatWord_Word,
|
||||
.alphabeticalOrder = 9,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GROUP),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_STORE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Store,
|
||||
.alphabeticalOrder = 8,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HABIT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SERVICE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Service,
|
||||
.alphabeticalOrder = 1,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HOME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WORK)] =
|
||||
{
|
||||
.text = gEasyChatWord_Work,
|
||||
.alphabeticalOrder = 18,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_INFORMATION),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SYSTEM)] =
|
||||
{
|
||||
.text = gEasyChatWord_System,
|
||||
.alphabeticalOrder = 29,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ITEM),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TRAIN)] =
|
||||
{
|
||||
.text = gEasyChatWord_Train,
|
||||
.alphabeticalOrder = 40,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_KINDERGARTEN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CLASS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Class,
|
||||
.alphabeticalOrder = 17,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LESSONS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LESSONS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Lessons,
|
||||
.alphabeticalOrder = 22,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LETTER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_INFORMATION)] =
|
||||
{
|
||||
.text = gEasyChatWord_Information,
|
||||
.alphabeticalOrder = 41,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LIFE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LIVING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Living,
|
||||
.alphabeticalOrder = 19,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LIVING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TEACHER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Teacher,
|
||||
.alphabeticalOrder = 35,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MACHINE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TOURNAMENT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Tournament,
|
||||
.alphabeticalOrder = 36,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MAIL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LETTER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Letter,
|
||||
.alphabeticalOrder = 37,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MESSAGE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_EVENT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Event,
|
||||
.alphabeticalOrder = 2,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MONEY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DIGITAL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Digital,
|
||||
.alphabeticalOrder = 30,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_NAME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TEST)] =
|
||||
{
|
||||
.text = gEasyChatWord_Test,
|
||||
.alphabeticalOrder = 31,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_NEWS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DEPT_STORE)] =
|
||||
{
|
||||
.text = gEasyChatWord_DeptStore,
|
||||
.alphabeticalOrder = 33,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PARTY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TELEVISION)] =
|
||||
{
|
||||
.text = gEasyChatWord_Television,
|
||||
.alphabeticalOrder = 28,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PHONE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PHONE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Phone,
|
||||
.alphabeticalOrder = 32,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_POPULAR),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ITEM)] =
|
||||
{
|
||||
.text = gEasyChatWord_Item,
|
||||
.alphabeticalOrder = 38,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PROMISE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_NAME)] =
|
||||
{
|
||||
.text = gEasyChatWord_Name,
|
||||
.alphabeticalOrder = 42,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_RADIO),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_NEWS)] =
|
||||
{
|
||||
.text = gEasyChatWord_News,
|
||||
.alphabeticalOrder = 43,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_RENTAL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_POPULAR)] =
|
||||
{
|
||||
.text = gEasyChatWord_Popular,
|
||||
.alphabeticalOrder = 6,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SCHOOL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PARTY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Party,
|
||||
.alphabeticalOrder = 12,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SERVICE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_STUDY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Study,
|
||||
.alphabeticalOrder = 11,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_STORE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MACHINE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Machine,
|
||||
.alphabeticalOrder = 34,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_STUDY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MAIL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Mail,
|
||||
.alphabeticalOrder = 14,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SYSTEM),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MESSAGE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Message,
|
||||
.alphabeticalOrder = 20,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TEACHER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PROMISE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Promise,
|
||||
.alphabeticalOrder = 27,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TELEVISION),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DREAM)] =
|
||||
{
|
||||
.text = gEasyChatWord_Dream,
|
||||
.alphabeticalOrder = 25,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TEST),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_KINDERGARTEN)] =
|
||||
{
|
||||
.text = gEasyChatWord_Kindergarten,
|
||||
.alphabeticalOrder = 21,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TOURNAMENT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LIFE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Life,
|
||||
.alphabeticalOrder = 15,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TRAIN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_RADIO)] =
|
||||
{
|
||||
.text = gEasyChatWord_Radio,
|
||||
.alphabeticalOrder = 10,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WORD),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_RENTAL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Rental,
|
||||
.alphabeticalOrder = 13,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WORK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WORLD)] =
|
||||
{
|
||||
.text = gEasyChatWord_World,
|
||||
.alphabeticalOrder = 44,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WORLD),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -45,253 +45,253 @@ const struct EasyChatWordInfo gEasyChatGroup_Misc[] = {
|
||||
[EC_INDEX(EC_WORD_HIGHS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Highs,
|
||||
.alphabeticalOrder = 7,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ABOVE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LOWS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Lows,
|
||||
.alphabeticalOrder = 24,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_AM),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_UM)] =
|
||||
{
|
||||
.text = gEasyChatWord_Um,
|
||||
.alphabeticalOrder = 30,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_AWAY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_REAR)] =
|
||||
{
|
||||
.text = gEasyChatWord_Rear,
|
||||
.alphabeticalOrder = 8,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BACK),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THINGS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Things,
|
||||
.alphabeticalOrder = 6,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BELOW),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THING)] =
|
||||
{
|
||||
.text = gEasyChatWord_Thing,
|
||||
.alphabeticalOrder = 13,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BESIDE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BELOW)] =
|
||||
{
|
||||
.text = gEasyChatWord_Below,
|
||||
.alphabeticalOrder = 28,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CHOICE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ABOVE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Above,
|
||||
.alphabeticalOrder = 38,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CONFUSED),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BACK)] =
|
||||
{
|
||||
.text = gEasyChatWord_Back,
|
||||
.alphabeticalOrder = 35,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DEEP),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HIGH)] =
|
||||
{
|
||||
.text = gEasyChatWord_High,
|
||||
.alphabeticalOrder = 19,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DOWN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HERE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Here,
|
||||
.alphabeticalOrder = 16,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_EVERY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_INSIDE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Inside,
|
||||
.alphabeticalOrder = 29,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FAR),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_OUTSIDE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Outside,
|
||||
.alphabeticalOrder = 26,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FRONT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BESIDE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Beside,
|
||||
.alphabeticalOrder = 10,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HERE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THIS_IS_IT_EXCL)] =
|
||||
{
|
||||
.text = gEasyChatWord_ThisIsItExcl,
|
||||
.alphabeticalOrder = 9,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HIGH),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THIS)] =
|
||||
{
|
||||
.text = gEasyChatWord_This,
|
||||
.alphabeticalOrder = 0,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HIGHS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_EVERY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Every,
|
||||
.alphabeticalOrder = 11,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_INSIDE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THESE)] =
|
||||
{
|
||||
.text = gEasyChatWord_These,
|
||||
.alphabeticalOrder = 40,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LEFT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THESE_WERE)] =
|
||||
{
|
||||
.text = gEasyChatWord_TheseWere,
|
||||
.alphabeticalOrder = 1,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LOWS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DOWN)] =
|
||||
{
|
||||
.text = gEasyChatWord_Down,
|
||||
.alphabeticalOrder = 31,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_NEAR),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THAT)] =
|
||||
{
|
||||
.text = gEasyChatWord_That,
|
||||
.alphabeticalOrder = 39,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_OPPOSITE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THOSE_ARE)] =
|
||||
{
|
||||
.text = gEasyChatWord_ThoseAre,
|
||||
.alphabeticalOrder = 12,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_OUTSIDE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THOSE_WERE)] =
|
||||
{
|
||||
.text = gEasyChatWord_ThoseWere,
|
||||
.alphabeticalOrder = 3,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_REAR),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THAT_S_IT_EXCL)] =
|
||||
{
|
||||
.text = gEasyChatWord_ThatsItExcl,
|
||||
.alphabeticalOrder = 41,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_RIGHT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_AM)] =
|
||||
{
|
||||
.text = gEasyChatWord_Am,
|
||||
.alphabeticalOrder = 36,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SHALLOW),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THAT_WAS)] =
|
||||
{
|
||||
.text = gEasyChatWord_ThatWas,
|
||||
.alphabeticalOrder = 20,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THAT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FRONT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Front,
|
||||
.alphabeticalOrder = 25,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THAT_WAS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_UP)] =
|
||||
{
|
||||
.text = gEasyChatWord_Up,
|
||||
.alphabeticalOrder = 23,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THAT_S_IT_EXCL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CHOICE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Choice,
|
||||
.alphabeticalOrder = 17,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THESE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FAR)] =
|
||||
{
|
||||
.text = gEasyChatWord_Far,
|
||||
.alphabeticalOrder = 18,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THESE_WERE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_AWAY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Away,
|
||||
.alphabeticalOrder = 5,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THING),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_NEAR)] =
|
||||
{
|
||||
.text = gEasyChatWord_Near,
|
||||
.alphabeticalOrder = 4,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THINGS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WHERE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Where,
|
||||
.alphabeticalOrder = 15,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THIS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WHEN)] =
|
||||
{
|
||||
.text = gEasyChatWord_When,
|
||||
.alphabeticalOrder = 14,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THIS_IS_IT_EXCL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WHAT)] =
|
||||
{
|
||||
.text = gEasyChatWord_What,
|
||||
.alphabeticalOrder = 21,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THOSE_ARE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DEEP)] =
|
||||
{
|
||||
.text = gEasyChatWord_Deep,
|
||||
.alphabeticalOrder = 22,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THOSE_WERE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SHALLOW)] =
|
||||
{
|
||||
.text = gEasyChatWord_Shallow,
|
||||
.alphabeticalOrder = 2,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_UM),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WHY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Why,
|
||||
.alphabeticalOrder = 27,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_UP),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CONFUSED)] =
|
||||
{
|
||||
.text = gEasyChatWord_Confused,
|
||||
.alphabeticalOrder = 34,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WHAT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_OPPOSITE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Opposite,
|
||||
.alphabeticalOrder = 33,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WHEN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LEFT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Left,
|
||||
.alphabeticalOrder = 32,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WHERE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_RIGHT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Right,
|
||||
.alphabeticalOrder = 37,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WHY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -78,451 +78,451 @@ const struct EasyChatWordInfo gEasyChatGroup_People[] = {
|
||||
[EC_INDEX(EC_WORD_OPPONENT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Opponent,
|
||||
.alphabeticalOrder = 13,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ADULT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_I)] =
|
||||
{
|
||||
.text = gEasyChatWord_I,
|
||||
.alphabeticalOrder = 52,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ALLY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_YOU)] =
|
||||
{
|
||||
.text = gEasyChatWord_You,
|
||||
.alphabeticalOrder = 31,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_AREN_T),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_YOURS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Yours,
|
||||
.alphabeticalOrder = 17,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_AUNT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SON)] =
|
||||
{
|
||||
.text = gEasyChatWord_Son,
|
||||
.alphabeticalOrder = 22,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BABE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_YOUR)] =
|
||||
{
|
||||
.text = gEasyChatWord_Your,
|
||||
.alphabeticalOrder = 62,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BEEN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_YOU_RE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Youre,
|
||||
.alphabeticalOrder = 12,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BOY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_YOU_VE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Youve,
|
||||
.alphabeticalOrder = 14,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_BROTHER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MOTHER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Mother,
|
||||
.alphabeticalOrder = 34,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_CHILDREN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GRANDFATHER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Grandfather,
|
||||
.alphabeticalOrder = 28,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DAUGHTER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_UNCLE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Uncle,
|
||||
.alphabeticalOrder = 54,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_DUDE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FATHER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Father,
|
||||
.alphabeticalOrder = 23,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FAMILY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BOY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Boy,
|
||||
.alphabeticalOrder = 11,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FATHER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ADULT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Adult,
|
||||
.alphabeticalOrder = 51,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_FRIEND),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BROTHER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Brother,
|
||||
.alphabeticalOrder = 21,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GIRL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SISTER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Sister,
|
||||
.alphabeticalOrder = 9,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GRANDFATHER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GRANDMOTHER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Grandmother,
|
||||
.alphabeticalOrder = 16,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_GRANDMOTHER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_AUNT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Aunt,
|
||||
.alphabeticalOrder = 26,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PARENT)] =
|
||||
{
|
||||
.text = gEasyChatWord_Parent,
|
||||
.alphabeticalOrder = 30,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HE_S),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MAN)] =
|
||||
{
|
||||
.text = gEasyChatWord_Man,
|
||||
.alphabeticalOrder = 24,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ME)] =
|
||||
{
|
||||
.text = gEasyChatWord_Me,
|
||||
.alphabeticalOrder = 72,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HERS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_GIRL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Girl,
|
||||
.alphabeticalOrder = 25,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HIM),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BABE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Babe,
|
||||
.alphabeticalOrder = 29,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_HIS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FAMILY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Family,
|
||||
.alphabeticalOrder = 1,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_I),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Her,
|
||||
.alphabeticalOrder = 41,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_I_AM),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HIM)] =
|
||||
{
|
||||
.text = gEasyChatWord_Him,
|
||||
.alphabeticalOrder = 38,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_I_WAS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HE)] =
|
||||
{
|
||||
.text = gEasyChatWord_He,
|
||||
.alphabeticalOrder = 42,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_I_VE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PLACE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Place,
|
||||
.alphabeticalOrder = 49,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_IT_S),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DAUGHTER)] =
|
||||
{
|
||||
.text = gEasyChatWord_Daughter,
|
||||
.alphabeticalOrder = 33,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_KID),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HIS)] =
|
||||
{
|
||||
.text = gEasyChatWord_His,
|
||||
.alphabeticalOrder = 50,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_LADY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HE_S)] =
|
||||
{
|
||||
.text = gEasyChatWord_Hes,
|
||||
.alphabeticalOrder = 19,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MAN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_AREN_T)] =
|
||||
{
|
||||
.text = gEasyChatWord_Arent,
|
||||
.alphabeticalOrder = 20,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_ME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SIBLINGS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Siblings,
|
||||
.alphabeticalOrder = 8,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MOTHER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_KID)] =
|
||||
{
|
||||
.text = gEasyChatWord_Kid,
|
||||
.alphabeticalOrder = 35,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MR),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_CHILDREN)] =
|
||||
{
|
||||
.text = gEasyChatWord_Children,
|
||||
.alphabeticalOrder = 36,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MRS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MR)] =
|
||||
{
|
||||
.text = gEasyChatWord_Mr,
|
||||
.alphabeticalOrder = 40,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MRS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Mrs,
|
||||
.alphabeticalOrder = 37,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_MYSELF),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MYSELF)] =
|
||||
{
|
||||
.text = gEasyChatWord_Myself,
|
||||
.alphabeticalOrder = 0,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_OPPONENT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_I_WAS)] =
|
||||
{
|
||||
.text = gEasyChatWord_IWas,
|
||||
.alphabeticalOrder = 64,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_OUR),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TO_ME)] =
|
||||
{
|
||||
.text = gEasyChatWord_ToMe,
|
||||
.alphabeticalOrder = 18,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PARENT),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_MY)] =
|
||||
{
|
||||
.text = gEasyChatWord_My,
|
||||
.alphabeticalOrder = 53,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PERSON),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_I_AM)] =
|
||||
{
|
||||
.text = gEasyChatWord_IAm,
|
||||
.alphabeticalOrder = 27,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_PLACE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_I_VE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Ive,
|
||||
.alphabeticalOrder = 66,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_RIVAL),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WHO)] =
|
||||
{
|
||||
.text = gEasyChatWord_Who,
|
||||
.alphabeticalOrder = 69,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SHE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SOMEONE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Someone,
|
||||
.alphabeticalOrder = 73,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SHE_IS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WHO_WAS)] =
|
||||
{
|
||||
.text = gEasyChatWord_WhoWas,
|
||||
.alphabeticalOrder = 70,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SHE_WAS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TO_WHOM)] =
|
||||
{
|
||||
.text = gEasyChatWord_ToWhom,
|
||||
.alphabeticalOrder = 32,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SIBLINGS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WHOSE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Whose,
|
||||
.alphabeticalOrder = 15,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SISTER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WHO_IS)] =
|
||||
{
|
||||
.text = gEasyChatWord_WhoIs,
|
||||
.alphabeticalOrder = 74,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SOME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_IT_S)] =
|
||||
{
|
||||
.text = gEasyChatWord_Its,
|
||||
.alphabeticalOrder = 44,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SOMEONE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_LADY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Lady,
|
||||
.alphabeticalOrder = 4,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_SON),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_FRIEND)] =
|
||||
{
|
||||
.text = gEasyChatWord_Friend,
|
||||
.alphabeticalOrder = 58,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THEIR),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_ALLY)] =
|
||||
{
|
||||
.text = gEasyChatWord_Ally,
|
||||
.alphabeticalOrder = 55,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THEY),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_PERSON)] =
|
||||
{
|
||||
.text = gEasyChatWord_Person,
|
||||
.alphabeticalOrder = 56,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THEY_WERE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_DUDE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Dude,
|
||||
.alphabeticalOrder = 59,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THEY_RE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THEY)] =
|
||||
{
|
||||
.text = gEasyChatWord_They,
|
||||
.alphabeticalOrder = 60,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_THEY_VE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THEY_WERE)] =
|
||||
{
|
||||
.text = gEasyChatWord_TheyWere,
|
||||
.alphabeticalOrder = 71,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TO_HER),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TO_THEM)] =
|
||||
{
|
||||
.text = gEasyChatWord_ToThem,
|
||||
.alphabeticalOrder = 39,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TO_ME),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THEIR)] =
|
||||
{
|
||||
.text = gEasyChatWord_Their,
|
||||
.alphabeticalOrder = 57,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TO_THEM),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THEY_RE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Theyre,
|
||||
.alphabeticalOrder = 63,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TO_US),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_THEY_VE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Theyve,
|
||||
.alphabeticalOrder = 46,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_TO_WHOM),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WE)] =
|
||||
{
|
||||
.text = gEasyChatWord_We,
|
||||
.alphabeticalOrder = 10,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_UNCLE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_BEEN)] =
|
||||
{
|
||||
.text = gEasyChatWord_Been,
|
||||
.alphabeticalOrder = 61,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TO_US)] =
|
||||
{
|
||||
.text = gEasyChatWord_ToUs,
|
||||
.alphabeticalOrder = 65,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WE_RE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_OUR)] =
|
||||
{
|
||||
.text = gEasyChatWord_Our,
|
||||
.alphabeticalOrder = 67,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WE_VE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WE_RE)] =
|
||||
{
|
||||
.text = gEasyChatWord_WeRe,
|
||||
.alphabeticalOrder = 43,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WHO),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_RIVAL)] =
|
||||
{
|
||||
.text = gEasyChatWord_Rival,
|
||||
.alphabeticalOrder = 48,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WHO_IS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WE_VE)] =
|
||||
{
|
||||
.text = gEasyChatWord_Weve,
|
||||
.alphabeticalOrder = 45,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WHO_WAS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_WOMAN)] =
|
||||
{
|
||||
.text = gEasyChatWord_Woman,
|
||||
.alphabeticalOrder = 47,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WHOSE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SHE)] =
|
||||
{
|
||||
.text = gEasyChatWord_She,
|
||||
.alphabeticalOrder = 68,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_WOMAN),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SHE_WAS)] =
|
||||
{
|
||||
.text = gEasyChatWord_SheWas,
|
||||
.alphabeticalOrder = 2,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_YOU),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_TO_HER)] =
|
||||
{
|
||||
.text = gEasyChatWord_ToHer,
|
||||
.alphabeticalOrder = 6,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_YOU_RE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_HERS)] =
|
||||
{
|
||||
.text = gEasyChatWord_Hers,
|
||||
.alphabeticalOrder = 7,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_YOU_VE),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SHE_IS)] =
|
||||
{
|
||||
.text = gEasyChatWord_SheIs,
|
||||
.alphabeticalOrder = 5,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_YOUR),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
[EC_INDEX(EC_WORD_SOME)] =
|
||||
{
|
||||
.text = gEasyChatWord_Some,
|
||||
.alphabeticalOrder = 3,
|
||||
.alphabeticalOrder = EC_INDEX(EC_WORD_YOURS),
|
||||
.enabled = TRUE,
|
||||
},
|
||||
};
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user