summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/data/easy_chat/easy_chat_group_actions.h472
-rw-r--r--src/data/easy_chat/easy_chat_group_adjectives.h220
-rw-r--r--src/data/easy_chat/easy_chat_group_battle.h382
-rw-r--r--src/data/easy_chat/easy_chat_group_conditions.h418
-rw-r--r--src/data/easy_chat/easy_chat_group_endings.h418
-rw-r--r--src/data/easy_chat/easy_chat_group_events.h172
-rw-r--r--src/data/easy_chat/easy_chat_group_feelings.h418
-rw-r--r--src/data/easy_chat/easy_chat_group_greetings.h256
-rw-r--r--src/data/easy_chat/easy_chat_group_hobbies.h328
-rw-r--r--src/data/easy_chat/easy_chat_group_lifestyle.h274
-rw-r--r--src/data/easy_chat/easy_chat_group_misc.h256
-rw-r--r--src/data/easy_chat/easy_chat_group_move_1.h158
-rw-r--r--src/data/easy_chat/easy_chat_group_move_2.h204
-rw-r--r--src/data/easy_chat/easy_chat_group_people.h454
-rw-r--r--src/data/easy_chat/easy_chat_group_pokemon.h206
-rw-r--r--src/data/easy_chat/easy_chat_group_pokemon2.h255
-rw-r--r--src/data/easy_chat/easy_chat_group_speech.h364
-rw-r--r--src/data/easy_chat/easy_chat_group_status.h658
-rw-r--r--src/data/easy_chat/easy_chat_group_time.h274
-rw-r--r--src/data/easy_chat/easy_chat_group_trainer.h160
-rw-r--r--src/data/easy_chat/easy_chat_group_trendy_saying.h202
-rw-r--r--src/data/easy_chat/easy_chat_group_voices.h382
-rw-r--r--src/data/easy_chat/easy_chat_groups.h137
-rw-r--r--src/data/easy_chat/easy_chat_words_by_letter.h2075
-rw-r--r--src/data/ingame_trades.h2
-rw-r--r--src/easy_chat.c4749
26 files changed, 13893 insertions, 1 deletions
diff --git a/src/data/easy_chat/easy_chat_group_actions.h b/src/data/easy_chat/easy_chat_group_actions.h
new file mode 100644
index 000000000..860e5c2aa
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_actions.h
@@ -0,0 +1,472 @@
+
+const u8 gEasyChatWord_Meets[] = _("MEETS");
+const u8 gEasyChatWord_Concede[] = _("CONCEDE");
+const u8 gEasyChatWord_Give[] = _("GIVE");
+const u8 gEasyChatWord_Gives[] = _("GIVES");
+const u8 gEasyChatWord_Played[] = _("PLAYED");
+const u8 gEasyChatWord_Plays[] = _("PLAYS");
+const u8 gEasyChatWord_Collect[] = _("COLLECT");
+const u8 gEasyChatWord_Walking[] = _("WALKING");
+const u8 gEasyChatWord_Walks[] = _("WALKS");
+const u8 gEasyChatWord_Says[] = _("SAYS");
+const u8 gEasyChatWord_Went[] = _("WENT");
+const u8 gEasyChatWord_Said[] = _("SAID");
+const u8 gEasyChatWord_WakeUp[] = _("WAKE UP");
+const u8 gEasyChatWord_WakesUp[] = _("WAKES UP");
+const u8 gEasyChatWord_Angers[] = _("ANGERS");
+const u8 gEasyChatWord_Teach[] = _("TEACH");
+const u8 gEasyChatWord_Teaches[] = _("TEACHES");
+const u8 gEasyChatWord_Please[] = _("PLEASE");
+const u8 gEasyChatWord_Learn[] = _("LEARN");
+const u8 gEasyChatWord_Change[] = _("CHANGE");
+const u8 gEasyChatWord_Story[] = _("STORY");
+const u8 gEasyChatWord_Trust[] = _("TRUST");
+const u8 gEasyChatWord_Lavish[] = _("LAVISH");
+const u8 gEasyChatWord_Listens[] = _("LISTENS");
+const u8 gEasyChatWord_Hearing[] = _("HEARING");
+const u8 gEasyChatWord_Trains[] = _("TRAINS");
+const u8 gEasyChatWord_Choose[] = _("CHOOSE");
+const u8 gEasyChatWord_Come[] = _("COME");
+const u8 gEasyChatWord_Came[] = _("CAME");
+const u8 gEasyChatWord_Search[] = _("SEARCH");
+const u8 gEasyChatWord_Make[] = _("MAKE");
+const u8 gEasyChatWord_Cause[] = _("CAUSE");
+const u8 gEasyChatWord_Know[] = _("KNOW");
+const u8 gEasyChatWord_Knows[] = _("KNOWS");
+const u8 gEasyChatWord_Refuse[] = _("REFUSE");
+const u8 gEasyChatWord_Stores[] = _("STORES");
+const u8 gEasyChatWord_Brag[] = _("BRAG");
+const u8 gEasyChatWord_Ignorant[] = _("IGNORANT");
+const u8 gEasyChatWord_Thinks[] = _("THINKS");
+const u8 gEasyChatWord_Believe[] = _("BELIEVE");
+const u8 gEasyChatWord_Slide[] = _("SLIDE");
+const u8 gEasyChatWord_Eats[] = _("EATS");
+const u8 gEasyChatWord_Use[] = _("USE");
+const u8 gEasyChatWord_Uses[] = _("USES");
+const u8 gEasyChatWord_Using[] = _("USING");
+const u8 gEasyChatWord_Couldnt[] = _("COULDN'T");
+const u8 gEasyChatWord_Capable[] = _("CAPABLE");
+const u8 gEasyChatWord_Disappear[] = _("DISAPPEAR");
+const u8 gEasyChatWord_Appear[] = _("APPEAR");
+const u8 gEasyChatWord_Throw[] = _("THROW");
+const u8 gEasyChatWord_Worry[] = _("WORRY");
+const u8 gEasyChatWord_Slept[] = _("SLEPT");
+const u8 gEasyChatWord_Sleep[] = _("SLEEP");
+const u8 gEasyChatWord_Release[] = _("RELEASE");
+const u8 gEasyChatWord_Drinks[] = _("DRINKS");
+const u8 gEasyChatWord_Runs[] = _("RUNS");
+const u8 gEasyChatWord_Run[] = _("RUN");
+const u8 gEasyChatWord_Works[] = _("WORKS");
+const u8 gEasyChatWord_Working[] = _("WORKING");
+const u8 gEasyChatWord_Talking[] = _("TALKING");
+const u8 gEasyChatWord_Talk[] = _("TALK");
+const u8 gEasyChatWord_Sink[] = _("SINK");
+const u8 gEasyChatWord_Smack[] = _("SMACK");
+const u8 gEasyChatWord_Pretend[] = _("PRETEND");
+const u8 gEasyChatWord_Praise[] = _("PRAISE");
+const u8 gEasyChatWord_Overdo[] = _("OVERDO");
+const u8 gEasyChatWord_Show[] = _("SHOW");
+const u8 gEasyChatWord_Looks[] = _("LOOKS");
+const u8 gEasyChatWord_Sees[] = _("SEES");
+const u8 gEasyChatWord_Seek[] = _("SEEK");
+const u8 gEasyChatWord_Own[] = _("OWN");
+const u8 gEasyChatWord_Take[] = _("TAKE");
+const u8 gEasyChatWord_Allow[] = _("ALLOW");
+const u8 gEasyChatWord_Forget[] = _("FORGET");
+const u8 gEasyChatWord_Forgets[] = _("FORGETS");
+const u8 gEasyChatWord_Appears[] = _("APPEARS");
+const u8 gEasyChatWord_Faint[] = _("FAINT");
+const u8 gEasyChatWord_Fainted[] = _("FAINTED");
+
+const struct EasyChatWordInfo gEasyChatGroup_Actions[] = {
+ {
+ .text = gEasyChatWord_Meets,
+ .alphabeticalOrder = 72,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Concede,
+ .alphabeticalOrder = 14,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Give,
+ .alphabeticalOrder = 48,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Gives,
+ .alphabeticalOrder = 75,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Played,
+ .alphabeticalOrder = 39,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Plays,
+ .alphabeticalOrder = 36,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Collect,
+ .alphabeticalOrder = 28,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Walking,
+ .alphabeticalOrder = 46,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Walks,
+ .alphabeticalOrder = 31,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Says,
+ .alphabeticalOrder = 19,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Went,
+ .alphabeticalOrder = 26,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Said,
+ .alphabeticalOrder = 6,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_WakeUp,
+ .alphabeticalOrder = 27,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_WakesUp,
+ .alphabeticalOrder = 1,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Angers,
+ .alphabeticalOrder = 45,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Teach,
+ .alphabeticalOrder = 47,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Teaches,
+ .alphabeticalOrder = 54,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Please,
+ .alphabeticalOrder = 41,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Learn,
+ .alphabeticalOrder = 76,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Change,
+ .alphabeticalOrder = 77,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Story,
+ .alphabeticalOrder = 73,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Trust,
+ .alphabeticalOrder = 74,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lavish,
+ .alphabeticalOrder = 2,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Listens,
+ .alphabeticalOrder = 3,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hearing,
+ .alphabeticalOrder = 24,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Trains,
+ .alphabeticalOrder = 37,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Choose,
+ .alphabeticalOrder = 32,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Come,
+ .alphabeticalOrder = 33,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Came,
+ .alphabeticalOrder = 22,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Search,
+ .alphabeticalOrder = 18,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Make,
+ .alphabeticalOrder = 23,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Cause,
+ .alphabeticalOrder = 67,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Know,
+ .alphabeticalOrder = 30,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Knows,
+ .alphabeticalOrder = 0,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Refuse,
+ .alphabeticalOrder = 65,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Stores,
+ .alphabeticalOrder = 70,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Brag,
+ .alphabeticalOrder = 4,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Ignorant,
+ .alphabeticalOrder = 5,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Thinks,
+ .alphabeticalOrder = 17,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Believe,
+ .alphabeticalOrder = 64,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Slide,
+ .alphabeticalOrder = 63,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Eats,
+ .alphabeticalOrder = 34,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Use,
+ .alphabeticalOrder = 53,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Uses,
+ .alphabeticalOrder = 56,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Using,
+ .alphabeticalOrder = 55,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Couldnt,
+ .alphabeticalOrder = 11,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Capable,
+ .alphabeticalOrder = 9,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Disappear,
+ .alphabeticalOrder = 29,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Appear,
+ .alphabeticalOrder = 69,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Throw,
+ .alphabeticalOrder = 68,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Worry,
+ .alphabeticalOrder = 66,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Slept,
+ .alphabeticalOrder = 61,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Sleep,
+ .alphabeticalOrder = 52,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Release,
+ .alphabeticalOrder = 51,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Drinks,
+ .alphabeticalOrder = 40,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Runs,
+ .alphabeticalOrder = 62,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Run,
+ .alphabeticalOrder = 35,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Works,
+ .alphabeticalOrder = 20,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Working,
+ .alphabeticalOrder = 71,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Talking,
+ .alphabeticalOrder = 60,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Talk,
+ .alphabeticalOrder = 59,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Sink,
+ .alphabeticalOrder = 15,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Smack,
+ .alphabeticalOrder = 16,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Pretend,
+ .alphabeticalOrder = 38,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Praise,
+ .alphabeticalOrder = 49,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Overdo,
+ .alphabeticalOrder = 25,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Show,
+ .alphabeticalOrder = 21,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Looks,
+ .alphabeticalOrder = 42,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Sees,
+ .alphabeticalOrder = 43,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Seek,
+ .alphabeticalOrder = 44,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Own,
+ .alphabeticalOrder = 12,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Take,
+ .alphabeticalOrder = 13,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Allow,
+ .alphabeticalOrder = 7,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Forget,
+ .alphabeticalOrder = 8,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Forgets,
+ .alphabeticalOrder = 10,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Appears,
+ .alphabeticalOrder = 58,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Faint,
+ .alphabeticalOrder = 57,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Fainted,
+ .alphabeticalOrder = 50,
+ .enabled = TRUE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_group_adjectives.h b/src/data/easy_chat/easy_chat_group_adjectives.h
new file mode 100644
index 000000000..9c11ae17e
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_adjectives.h
@@ -0,0 +1,220 @@
+
+const u8 gEasyChatWord_Wandering[] = _("WANDERING");
+const u8 gEasyChatWord_Rickety[] = _("RICKETY");
+const u8 gEasyChatWord_RockSolid[] = _("ROCK-SOLID");
+const u8 gEasyChatWord_Hungry[] = _("HUNGRY");
+const u8 gEasyChatWord_Tight[] = _("TIGHT");
+const u8 gEasyChatWord_Ticklish[] = _("TICKLISH");
+const u8 gEasyChatWord_Twirling[] = _("TWIRLING");
+const u8 gEasyChatWord_Spiraling[] = _("SPIRALING");
+const u8 gEasyChatWord_Thirsty[] = _("THIRSTY");
+const u8 gEasyChatWord_Lolling[] = _("LOLLING");
+const u8 gEasyChatWord_Silky[] = _("SILKY");
+const u8 gEasyChatWord_Sadly[] = _("SADLY");
+const u8 gEasyChatWord_Hopeless[] = _("HOPELESS");
+const u8 gEasyChatWord_Useless[] = _("USELESS");
+const u8 gEasyChatWord_Drooling[] = _("DROOLING");
+const u8 gEasyChatWord_Exciting[] = _("EXCITING");
+const u8 gEasyChatWord_Thick[] = _("THICK");
+const u8 gEasyChatWord_Smooth[] = _("SMOOTH");
+const u8 gEasyChatWord_Slimy[] = _("SLIMY");
+const u8 gEasyChatWord_Thin[] = _("THIN");
+const u8 gEasyChatWord_Break[] = _("BREAK");
+const u8 gEasyChatWord_Voracious[] = _("VORACIOUS");
+const u8 gEasyChatWord_Scatter[] = _("SCATTER");
+const u8 gEasyChatWord_Awesome[] = _("AWESOME");
+const u8 gEasyChatWord_Wimpy[] = _("WIMPY");
+const u8 gEasyChatWord_Wobbly[] = _("WOBBLY");
+const u8 gEasyChatWord_Shaky[] = _("SHAKY");
+const u8 gEasyChatWord_Ripped[] = _("RIPPED");
+const u8 gEasyChatWord_Shredded[] = _("SHREDDED");
+const u8 gEasyChatWord_Increasing[] = _("INCREASING");
+const u8 gEasyChatWord_Yet[] = _("YET");
+const u8 gEasyChatWord_Destroyed[] = _("DESTROYED");
+const u8 gEasyChatWord_Fiery[] = _("FIERY");
+const u8 gEasyChatWord_LoveyDovey[] = _("LOVEY-DOVEY");
+const u8 gEasyChatWord_Happily[] = _("HAPPILY");
+const u8 gEasyChatWord_Anticipation[] = _("ANTICIPATION");
+
+const struct EasyChatWordInfo gEasyChatGroup_Adjectives[] = {
+ {
+ .text = gEasyChatWord_Wandering,
+ .alphabeticalOrder = 35,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Rickety,
+ .alphabeticalOrder = 23,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_RockSolid,
+ .alphabeticalOrder = 20,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hungry,
+ .alphabeticalOrder = 31,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Tight,
+ .alphabeticalOrder = 14,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Ticklish,
+ .alphabeticalOrder = 15,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Twirling,
+ .alphabeticalOrder = 32,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Spiraling,
+ .alphabeticalOrder = 34,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Thirsty,
+ .alphabeticalOrder = 12,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lolling,
+ .alphabeticalOrder = 3,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Silky,
+ .alphabeticalOrder = 29,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Sadly,
+ .alphabeticalOrder = 9,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hopeless,
+ .alphabeticalOrder = 33,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Useless,
+ .alphabeticalOrder = 1,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Drooling,
+ .alphabeticalOrder = 27,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Exciting,
+ .alphabeticalOrder = 2,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Thick,
+ .alphabeticalOrder = 11,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Smooth,
+ .alphabeticalOrder = 22,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Slimy,
+ .alphabeticalOrder = 26,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Thin,
+ .alphabeticalOrder = 28,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Break,
+ .alphabeticalOrder = 10,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Voracious,
+ .alphabeticalOrder = 18,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Scatter,
+ .alphabeticalOrder = 17,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Awesome,
+ .alphabeticalOrder = 7,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Wimpy,
+ .alphabeticalOrder = 16,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Wobbly,
+ .alphabeticalOrder = 19,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Shaky,
+ .alphabeticalOrder = 8,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Ripped,
+ .alphabeticalOrder = 5,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Shredded,
+ .alphabeticalOrder = 4,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Increasing,
+ .alphabeticalOrder = 6,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Yet,
+ .alphabeticalOrder = 13,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Destroyed,
+ .alphabeticalOrder = 21,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Fiery,
+ .alphabeticalOrder = 0,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_LoveyDovey,
+ .alphabeticalOrder = 24,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Happily,
+ .alphabeticalOrder = 25,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Anticipation,
+ .alphabeticalOrder = 30,
+ .enabled = TRUE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_group_battle.h b/src/data/easy_chat/easy_chat_group_battle.h
new file mode 100644
index 000000000..2f65701d3
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_battle.h
@@ -0,0 +1,382 @@
+
+const u8 gEasyChatWord_MatchUp[] = _("MATCH UP");
+const u8 gEasyChatWord_Go[] = _("GO");
+const u8 gEasyChatWord_No1[] = _("NO. 1");
+const u8 gEasyChatWord_Decide[] = _("DECIDE");
+const u8 gEasyChatWord_LetMeWin[] = _("LET ME WIN");
+const u8 gEasyChatWord_Wins[] = _("WINS");
+const u8 gEasyChatWord_Win[] = _("WIN");
+const u8 gEasyChatWord_Won[] = _("WON");
+const u8 gEasyChatWord_IfIWin[] = _("IF I WIN");
+const u8 gEasyChatWord_WhenIWin[] = _("WHEN I WIN");
+const u8 gEasyChatWord_CantWin[] = _("CAN'T WIN");
+const u8 gEasyChatWord_CanWin[] = _("CAN WIN");
+const u8 gEasyChatWord_NoMatch[] = _("NO MATCH");
+const u8 gEasyChatWord_Spirit[] = _("SPIRIT");
+const u8 gEasyChatWord_Decided[] = _("DECIDED");
+const u8 gEasyChatWord_TrumpCard[] = _("TRUMP CARD");
+const u8 gEasyChatWord_TakeThat[] = _("TAKE THAT");
+const u8 gEasyChatWord_ComeOn[] = _("COME ON");
+const u8 gEasyChatWord_Attack[] = _("ATTACK");
+const u8 gEasyChatWord_Surrender[] = _("SURRENDER");
+const u8 gEasyChatWord_Gutsy[] = _("GUTSY");
+const u8 gEasyChatWord_Talent[] = _("TALENT");
+const u8 gEasyChatWord_Strategy[] = _("STRATEGY");
+const u8 gEasyChatWord_Smite[] = _("SMITE");
+const u8 gEasyChatWord_Match[] = _("MATCH");
+const u8 gEasyChatWord_Victory[] = _("VICTORY");
+const u8 gEasyChatWord_Offensive[] = _("OFFENSIVE");
+const u8 gEasyChatWord_Sense[] = _("SENSE");
+const u8 gEasyChatWord_Versus[] = _("VERSUS");
+const u8 gEasyChatWord_Fights[] = _("FIGHTS");
+const u8 gEasyChatWord_Power[] = _("POWER");
+const u8 gEasyChatWord_Challenge[] = _("CHALLENGE");
+const u8 gEasyChatWord_Strong[] = _("STRONG");
+const u8 gEasyChatWord_TooStrong[] = _("TOO STRONG");
+const u8 gEasyChatWord_GoEasy[] = _("GO EASY");
+const u8 gEasyChatWord_Foe[] = _("FOE");
+const u8 gEasyChatWord_Genius[] = _("GENIUS");
+const u8 gEasyChatWord_Legend[] = _("LEGEND");
+const u8 gEasyChatWord_Escape[] = _("ESCAPE");
+const u8 gEasyChatWord_Aim[] = _("AIM");
+const u8 gEasyChatWord_Battle[] = _("BATTLE");
+const u8 gEasyChatWord_Fight[] = _("FIGHT");
+const u8 gEasyChatWord_Resuscitate[] = _("RESUSCITATE");
+const u8 gEasyChatWord_Points[] = _("POINTS");
+const u8 gEasyChatWord_Serious[] = _("SERIOUS");
+const u8 gEasyChatWord_GiveUp[] = _("GIVE UP");
+const u8 gEasyChatWord_Loss[] = _("LOSS");
+const u8 gEasyChatWord_IfILose[] = _("IF I LOSE");
+const u8 gEasyChatWord_Lost[] = _("LOST");
+const u8 gEasyChatWord_Lose[] = _("LOSE");
+const u8 gEasyChatWord_Guard[] = _("GUARD");
+const u8 gEasyChatWord_Partner[] = _("PARTNER");
+const u8 gEasyChatWord_Reject[] = _("REJECT");
+const u8 gEasyChatWord_Accept[] = _("ACCEPT");
+const u8 gEasyChatWord_Invincible[] = _("INVINCIBLE");
+const u8 gEasyChatWord_Received[] = _("RECEIVED");
+const u8 gEasyChatWord_Easy[] = _("EASY");
+const u8 gEasyChatWord_Weak[] = _("WEAK");
+const u8 gEasyChatWord_TooWeak[] = _("TOO WEAK");
+const u8 gEasyChatWord_Pushover[] = _("PUSHOVER");
+const u8 gEasyChatWord_Leader[] = _("LEADER");
+const u8 gEasyChatWord_Rule[] = _("RULE");
+const u8 gEasyChatWord_Move[] = _("MOVE");
+
+const struct EasyChatWordInfo gEasyChatGroup_Battle[] = {
+ {
+ .text = gEasyChatWord_MatchUp,
+ .alphabeticalOrder = 53,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Go,
+ .alphabeticalOrder = 39,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_No1,
+ .alphabeticalOrder = 18,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Decide,
+ .alphabeticalOrder = 40,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_LetMeWin,
+ .alphabeticalOrder = 11,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Wins,
+ .alphabeticalOrder = 10,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Win,
+ .alphabeticalOrder = 31,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Won,
+ .alphabeticalOrder = 17,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_IfIWin,
+ .alphabeticalOrder = 3,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_WhenIWin,
+ .alphabeticalOrder = 14,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_CantWin,
+ .alphabeticalOrder = 56,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_CanWin,
+ .alphabeticalOrder = 38,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_NoMatch,
+ .alphabeticalOrder = 41,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Spirit,
+ .alphabeticalOrder = 29,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Decided,
+ .alphabeticalOrder = 35,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_TrumpCard,
+ .alphabeticalOrder = 36,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_TakeThat,
+ .alphabeticalOrder = 45,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ComeOn,
+ .alphabeticalOrder = 1,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Attack,
+ .alphabeticalOrder = 34,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Surrender,
+ .alphabeticalOrder = 50,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Gutsy,
+ .alphabeticalOrder = 20,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Talent,
+ .alphabeticalOrder = 47,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Strategy,
+ .alphabeticalOrder = 8,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Smite,
+ .alphabeticalOrder = 54,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Match,
+ .alphabeticalOrder = 60,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Victory,
+ .alphabeticalOrder = 37,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Offensive,
+ .alphabeticalOrder = 4,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Sense,
+ .alphabeticalOrder = 49,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Versus,
+ .alphabeticalOrder = 46,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Fights,
+ .alphabeticalOrder = 48,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Power,
+ .alphabeticalOrder = 24,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Challenge,
+ .alphabeticalOrder = 0,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Strong,
+ .alphabeticalOrder = 62,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_TooStrong,
+ .alphabeticalOrder = 12,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_GoEasy,
+ .alphabeticalOrder = 2,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Foe,
+ .alphabeticalOrder = 26,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Genius,
+ .alphabeticalOrder = 51,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Legend,
+ .alphabeticalOrder = 43,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Escape,
+ .alphabeticalOrder = 30,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Aim,
+ .alphabeticalOrder = 59,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Battle,
+ .alphabeticalOrder = 55,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Fight,
+ .alphabeticalOrder = 52,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Resuscitate,
+ .alphabeticalOrder = 42,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Points,
+ .alphabeticalOrder = 61,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Serious,
+ .alphabeticalOrder = 27,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_GiveUp,
+ .alphabeticalOrder = 44,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Loss,
+ .alphabeticalOrder = 23,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_IfILose,
+ .alphabeticalOrder = 13,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lost,
+ .alphabeticalOrder = 22,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lose,
+ .alphabeticalOrder = 32,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Guard,
+ .alphabeticalOrder = 19,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Partner,
+ .alphabeticalOrder = 16,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Reject,
+ .alphabeticalOrder = 21,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Accept,
+ .alphabeticalOrder = 33,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Invincible,
+ .alphabeticalOrder = 58,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Received,
+ .alphabeticalOrder = 15,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Easy,
+ .alphabeticalOrder = 28,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Weak,
+ .alphabeticalOrder = 25,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_TooWeak,
+ .alphabeticalOrder = 57,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Pushover,
+ .alphabeticalOrder = 9,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Leader,
+ .alphabeticalOrder = 6,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Rule,
+ .alphabeticalOrder = 5,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Move,
+ .alphabeticalOrder = 7,
+ .enabled = TRUE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_group_conditions.h b/src/data/easy_chat/easy_chat_group_conditions.h
new file mode 100644
index 000000000..cf0da0237
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_conditions.h
@@ -0,0 +1,418 @@
+
+const u8 gEasyChatWord_Hot[] = _("HOT");
+const u8 gEasyChatWord_Exists[] = _("EXISTS");
+const u8 gEasyChatWord_Excess[] = _("EXCESS");
+const u8 gEasyChatWord_Approved[] = _("APPROVED");
+const u8 gEasyChatWord_Has[] = _("HAS");
+const u8 gEasyChatWord_Good[] = _("GOOD");
+const u8 gEasyChatWord_Less[] = _("LESS");
+const u8 gEasyChatWord_Momentum[] = _("MOMENTUM");
+const u8 gEasyChatWord_Going[] = _("GOING");
+const u8 gEasyChatWord_Weird[] = _("WEIRD");
+const u8 gEasyChatWord_Busy[] = _("BUSY");
+const u8 gEasyChatWord_Together[] = _("TOGETHER");
+const u8 gEasyChatWord_Full[] = _("FULL");
+const u8 gEasyChatWord_Absent[] = _("ABSENT");
+const u8 gEasyChatWord_Being[] = _("BEING");
+const u8 gEasyChatWord_Need[] = _("NEED");
+const u8 gEasyChatWord_Tasty[] = _("TASTY");
+const u8 gEasyChatWord_Skilled[] = _("SKILLED");
+const u8 gEasyChatWord_Noisy[] = _("NOISY");
+const u8 gEasyChatWord_Big[] = _("BIG");
+const u8 gEasyChatWord_Late[] = _("LATE");
+const u8 gEasyChatWord_Close[] = _("CLOSE");
+const u8 gEasyChatWord_Docile[] = _("DOCILE");
+const u8 gEasyChatWord_Amusing[] = _("AMUSING");
+const u8 gEasyChatWord_Entertaining[] = _("ENTERTAINING");
+const u8 gEasyChatWord_Perfection[] = _("PERFECTION");
+const u8 gEasyChatWord_Pretty[] = _("PRETTY");
+const u8 gEasyChatWord_Healthy[] = _("HEALTHY");
+const u8 gEasyChatWord_Excellent[] = _("EXCELLENT");
+const u8 gEasyChatWord_UpsideDown[] = _("UPSIDE DOWN");
+const u8 gEasyChatWord_Cold[] = _("COLD");
+const u8 gEasyChatWord_Refreshing[] = _("REFRESHING");
+const u8 gEasyChatWord_Unavoidable[] = _("UNAVOIDABLE");
+const u8 gEasyChatWord_Much[] = _("MUCH");
+const u8 gEasyChatWord_Overwhelming[] = _("OVERWHELMING");
+const u8 gEasyChatWord_Fabulous[] = _("FABULOUS");
+const u8 gEasyChatWord_Else[] = _("ELSE");
+const u8 gEasyChatWord_Expensive[] = _("EXPENSIVE");
+const u8 gEasyChatWord_Correct[] = _("CORRECT");
+const u8 gEasyChatWord_Impossible[] = _("IMPOSSIBLE");
+const u8 gEasyChatWord_Small[] = _("SMALL");
+const u8 gEasyChatWord_Different[] = _("DIFFERENT");
+const u8 gEasyChatWord_Tired[] = _("TIRED");
+const u8 gEasyChatWord_Skill[] = _("SKILL");
+const u8 gEasyChatWord_Top[] = _("TOP");
+const u8 gEasyChatWord_NonStop[] = _("NON-STOP");
+const u8 gEasyChatWord_Preposterous[] = _("PREPOSTEROUS");
+const u8 gEasyChatWord_None[] = _("NONE");
+const u8 gEasyChatWord_Nothing[] = _("NOTHING");
+const u8 gEasyChatWord_Natural[] = _("NATURAL");
+const u8 gEasyChatWord_Becomes[] = _("BECOMES");
+const u8 gEasyChatWord_Lukewarm[] = _("LUKEWARM");
+const u8 gEasyChatWord_Fast[] = _("FAST");
+const u8 gEasyChatWord_Low[] = _("LOW");
+const u8 gEasyChatWord_Awful[] = _("AWFUL");
+const u8 gEasyChatWord_Alone[] = _("ALONE");
+const u8 gEasyChatWord_Bored[] = _("BORED");
+const u8 gEasyChatWord_Secret[] = _("SECRET");
+const u8 gEasyChatWord_Mystery[] = _("MYSTERY");
+const u8 gEasyChatWord_Lacks[] = _("LACKS");
+const u8 gEasyChatWord_Best[] = _("BEST");
+const u8 gEasyChatWord_Lousy[] = _("LOUSY");
+const u8 gEasyChatWord_Mistake[] = _("MISTAKE");
+const u8 gEasyChatWord_Kind[] = _("KIND");
+const u8 gEasyChatWord_Well[] = _("WELL");
+const u8 gEasyChatWord_Weakened[] = _("WEAKENED");
+const u8 gEasyChatWord_Simple[] = _("SIMPLE");
+const u8 gEasyChatWord_Seems[] = _("SEEMS");
+const u8 gEasyChatWord_Badly[] = _("BADLY");
+
+const struct EasyChatWordInfo gEasyChatGroup_Conditions[] = {
+ {
+ .text = gEasyChatWord_Hot,
+ .alphabeticalOrder = 13,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Exists,
+ .alphabeticalOrder = 55,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Excess,
+ .alphabeticalOrder = 23,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Approved,
+ .alphabeticalOrder = 3,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Has,
+ .alphabeticalOrder = 54,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Good,
+ .alphabeticalOrder = 68,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Less,
+ .alphabeticalOrder = 50,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Momentum,
+ .alphabeticalOrder = 14,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Going,
+ .alphabeticalOrder = 60,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Weird,
+ .alphabeticalOrder = 19,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Busy,
+ .alphabeticalOrder = 56,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Together,
+ .alphabeticalOrder = 10,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Full,
+ .alphabeticalOrder = 21,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Absent,
+ .alphabeticalOrder = 30,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Being,
+ .alphabeticalOrder = 38,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Need,
+ .alphabeticalOrder = 41,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Tasty,
+ .alphabeticalOrder = 22,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Skilled,
+ .alphabeticalOrder = 36,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Noisy,
+ .alphabeticalOrder = 24,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Big,
+ .alphabeticalOrder = 28,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Late,
+ .alphabeticalOrder = 2,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Close,
+ .alphabeticalOrder = 1,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Docile,
+ .alphabeticalOrder = 37,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Amusing,
+ .alphabeticalOrder = 35,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Entertaining,
+ .alphabeticalOrder = 52,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Perfection,
+ .alphabeticalOrder = 12,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Pretty,
+ .alphabeticalOrder = 8,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Healthy,
+ .alphabeticalOrder = 5,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Excellent,
+ .alphabeticalOrder = 4,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_UpsideDown,
+ .alphabeticalOrder = 27,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Cold,
+ .alphabeticalOrder = 0,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Refreshing,
+ .alphabeticalOrder = 39,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Unavoidable,
+ .alphabeticalOrder = 63,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Much,
+ .alphabeticalOrder = 59,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Overwhelming,
+ .alphabeticalOrder = 20,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Fabulous,
+ .alphabeticalOrder = 6,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Else,
+ .alphabeticalOrder = 61,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Expensive,
+ .alphabeticalOrder = 53,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Correct,
+ .alphabeticalOrder = 51,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Impossible,
+ .alphabeticalOrder = 62,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Small,
+ .alphabeticalOrder = 7,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Different,
+ .alphabeticalOrder = 33,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Tired,
+ .alphabeticalOrder = 58,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Skill,
+ .alphabeticalOrder = 49,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Top,
+ .alphabeticalOrder = 15,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_NonStop,
+ .alphabeticalOrder = 18,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Preposterous,
+ .alphabeticalOrder = 45,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_None,
+ .alphabeticalOrder = 47,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Nothing,
+ .alphabeticalOrder = 48,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Natural,
+ .alphabeticalOrder = 34,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Becomes,
+ .alphabeticalOrder = 25,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lukewarm,
+ .alphabeticalOrder = 46,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Fast,
+ .alphabeticalOrder = 26,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Low,
+ .alphabeticalOrder = 31,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Awful,
+ .alphabeticalOrder = 57,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Alone,
+ .alphabeticalOrder = 67,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Bored,
+ .alphabeticalOrder = 66,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Secret,
+ .alphabeticalOrder = 43,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Mystery,
+ .alphabeticalOrder = 17,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lacks,
+ .alphabeticalOrder = 40,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Best,
+ .alphabeticalOrder = 16,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lousy,
+ .alphabeticalOrder = 42,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Mistake,
+ .alphabeticalOrder = 11,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Kind,
+ .alphabeticalOrder = 44,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Well,
+ .alphabeticalOrder = 32,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Weakened,
+ .alphabeticalOrder = 29,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Simple,
+ .alphabeticalOrder = 65,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Seems,
+ .alphabeticalOrder = 9,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Badly,
+ .alphabeticalOrder = 64,
+ .enabled = TRUE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_group_endings.h b/src/data/easy_chat/easy_chat_group_endings.h
new file mode 100644
index 000000000..4eee121a3
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_endings.h
@@ -0,0 +1,418 @@
+
+const u8 gEasyChatWord_Will[] = _("WILL");
+const u8 gEasyChatWord_WillBeHere[] = _("WILL BE HERE");
+const u8 gEasyChatWord_Or[] = _("OR");
+const u8 gEasyChatWord_Times[] = _("TIMES");
+const u8 gEasyChatWord_Wonder[] = _("WONDER");
+const u8 gEasyChatWord_IsItQues[] = _("IS IT?");
+const u8 gEasyChatWord_Be[] = _("BE");
+const u8 gEasyChatWord_Gimme[] = _("GIMME");
+const u8 gEasyChatWord_Could[] = _("COULD");
+const u8 gEasyChatWord_LikelyTo[] = _("LIKELY TO");
+const u8 gEasyChatWord_Would[] = _("WOULD");
+const u8 gEasyChatWord_Is[] = _("IS");
+const u8 gEasyChatWord_IsntItQues[] = _("ISN'T IT?");
+const u8 gEasyChatWord_Lets[] = _("LET'S");
+const u8 gEasyChatWord_Other[] = _("OTHER");
+const u8 gEasyChatWord_Are[] = _("ARE");
+const u8 gEasyChatWord_Was[] = _("WAS");
+const u8 gEasyChatWord_Were[] = _("WERE");
+const u8 gEasyChatWord_Those[] = _("THOSE");
+const u8 gEasyChatWord_Isnt[] = _("ISN'T");
+const u8 gEasyChatWord_Wont[] = _("WON'T");
+const u8 gEasyChatWord_Cant[] = _("CAN'T");
+const u8 gEasyChatWord_Can[] = _("CAN");
+const u8 gEasyChatWord_Dont[] = _("DON'T");
+const u8 gEasyChatWord_Do[] = _("DO");
+const u8 gEasyChatWord_Does[] = _("DOES");
+const u8 gEasyChatWord_Whom[] = _("WHOM");
+const u8 gEasyChatWord_Which[] = _("WHICH");
+const u8 gEasyChatWord_Wasnt[] = _("WASN'T");
+const u8 gEasyChatWord_Werent[] = _("WEREN'T");
+const u8 gEasyChatWord_Have[] = _("HAVE");
+const u8 gEasyChatWord_Havent[] = _("HAVEN'T");
+const u8 gEasyChatWord_A[] = _("A");
+const u8 gEasyChatWord_An[] = _("AN");
+const u8 gEasyChatWord_Not[] = _("NOT");
+const u8 gEasyChatWord_There[] = _("THERE");
+const u8 gEasyChatWord_OkQues[] = _("OK?");
+const u8 gEasyChatWord_So[] = _("SO");
+const u8 gEasyChatWord_Maybe[] = _("MAYBE");
+const u8 gEasyChatWord_About[] = _("ABOUT");
+const u8 gEasyChatWord_Over[] = _("OVER");
+const u8 gEasyChatWord_It[] = _("IT");
+const u8 gEasyChatWord_All[] = _("ALL");
+const u8 gEasyChatWord_For[] = _("FOR");
+const u8 gEasyChatWord_On[] = _("ON");
+const u8 gEasyChatWord_Off[] = _("OFF");
+const u8 gEasyChatWord_As[] = _("AS");
+const u8 gEasyChatWord_To[] = _("TO");
+const u8 gEasyChatWord_With[] = _("WITH");
+const u8 gEasyChatWord_Better[] = _("BETTER");
+const u8 gEasyChatWord_Ever[] = _("EVER");
+const u8 gEasyChatWord_Since[] = _("SINCE");
+const u8 gEasyChatWord_Of[] = _("OF");
+const u8 gEasyChatWord_BelongsTo[] = _("BELONGS TO");
+const u8 gEasyChatWord_At[] = _("AT");
+const u8 gEasyChatWord_In[] = _("IN");
+const u8 gEasyChatWord_Out[] = _("OUT");
+const u8 gEasyChatWord_Too[] = _("TOO");
+const u8 gEasyChatWord_Like[] = _("LIKE");
+const u8 gEasyChatWord_Did[] = _("DID");
+const u8 gEasyChatWord_Didnt[] = _("DIDN'T");
+const u8 gEasyChatWord_Doesnt[] = _("DOESN'T");
+const u8 gEasyChatWord_Without[] = _("WITHOUT");
+const u8 gEasyChatWord_After[] = _("AFTER");
+const u8 gEasyChatWord_Before[] = _("BEFORE");
+const u8 gEasyChatWord_While[] = _("WHILE");
+const u8 gEasyChatWord_Than[] = _("THAN");
+const u8 gEasyChatWord_Once[] = _("ONCE");
+const u8 gEasyChatWord_Anywhere[] = _("ANYWHERE");
+
+const struct EasyChatWordInfo gEasyChatGroup_Endings[] = {
+ {
+ .text = gEasyChatWord_Will,
+ .alphabeticalOrder = 32,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_WillBeHere,
+ .alphabeticalOrder = 39,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Or,
+ .alphabeticalOrder = 63,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Times,
+ .alphabeticalOrder = 42,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Wonder,
+ .alphabeticalOrder = 33,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_IsItQues,
+ .alphabeticalOrder = 68,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Be,
+ .alphabeticalOrder = 15,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Gimme,
+ .alphabeticalOrder = 46,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Could,
+ .alphabeticalOrder = 54,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_LikelyTo,
+ .alphabeticalOrder = 6,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Would,
+ .alphabeticalOrder = 64,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Is,
+ .alphabeticalOrder = 53,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_IsntItQues,
+ .alphabeticalOrder = 49,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lets,
+ .alphabeticalOrder = 22,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Other,
+ .alphabeticalOrder = 21,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Are,
+ .alphabeticalOrder = 8,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Was,
+ .alphabeticalOrder = 59,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Were,
+ .alphabeticalOrder = 60,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Those,
+ .alphabeticalOrder = 24,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Isnt,
+ .alphabeticalOrder = 25,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Wont,
+ .alphabeticalOrder = 61,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Cant,
+ .alphabeticalOrder = 23,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Can,
+ .alphabeticalOrder = 50,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Dont,
+ .alphabeticalOrder = 43,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Do,
+ .alphabeticalOrder = 7,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Does,
+ .alphabeticalOrder = 30,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Whom,
+ .alphabeticalOrder = 31,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Which,
+ .alphabeticalOrder = 55,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Wasnt,
+ .alphabeticalOrder = 11,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Werent,
+ .alphabeticalOrder = 5,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Have,
+ .alphabeticalOrder = 19,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Havent,
+ .alphabeticalOrder = 12,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_A,
+ .alphabeticalOrder = 41,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_An,
+ .alphabeticalOrder = 13,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Not,
+ .alphabeticalOrder = 58,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_There,
+ .alphabeticalOrder = 9,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_OkQues,
+ .alphabeticalOrder = 38,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_So,
+ .alphabeticalOrder = 34,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Maybe,
+ .alphabeticalOrder = 52,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_About,
+ .alphabeticalOrder = 45,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Over,
+ .alphabeticalOrder = 36,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_It,
+ .alphabeticalOrder = 44,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_All,
+ .alphabeticalOrder = 67,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_For,
+ .alphabeticalOrder = 2,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_On,
+ .alphabeticalOrder = 14,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Off,
+ .alphabeticalOrder = 56,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_As,
+ .alphabeticalOrder = 40,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_To,
+ .alphabeticalOrder = 51,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_With,
+ .alphabeticalOrder = 37,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Better,
+ .alphabeticalOrder = 66,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Ever,
+ .alphabeticalOrder = 35,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Since,
+ .alphabeticalOrder = 18,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Of,
+ .alphabeticalOrder = 3,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_BelongsTo,
+ .alphabeticalOrder = 47,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_At,
+ .alphabeticalOrder = 57,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_In,
+ .alphabeticalOrder = 16,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Out,
+ .alphabeticalOrder = 28,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Too,
+ .alphabeticalOrder = 17,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Like,
+ .alphabeticalOrder = 29,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Did,
+ .alphabeticalOrder = 27,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Didnt,
+ .alphabeticalOrder = 65,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Doesnt,
+ .alphabeticalOrder = 26,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Without,
+ .alphabeticalOrder = 0,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_After,
+ .alphabeticalOrder = 1,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Before,
+ .alphabeticalOrder = 48,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_While,
+ .alphabeticalOrder = 62,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Than,
+ .alphabeticalOrder = 20,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Once,
+ .alphabeticalOrder = 4,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Anywhere,
+ .alphabeticalOrder = 10,
+ .enabled = TRUE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_group_events.h b/src/data/easy_chat/easy_chat_group_events.h
new file mode 100644
index 000000000..15b5ab7f8
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_events.h
@@ -0,0 +1,172 @@
+
+const u8 gEasyChatWord_Appeal[] = _("APPEAL");
+const u8 gEasyChatWord_Events[] = _("EVENTS");
+const u8 gEasyChatWord_StayAtHome[] = _("STAY-AT-HOME");
+const u8 gEasyChatWord_Berry[] = _("BERRY");
+const u8 gEasyChatWord_Contest[] = _("CONTEST");
+const u8 gEasyChatWord_Mc[] = _("MC");
+const u8 gEasyChatWord_Judge[] = _("JUDGE");
+const u8 gEasyChatWord_Super[] = _("SUPER");
+const u8 gEasyChatWord_Stage[] = _("STAGE");
+const u8 gEasyChatWord_HallOfFame[] = _("HALL OF FAME");
+const u8 gEasyChatWord_Evolution[] = _("EVOLUTION");
+const u8 gEasyChatWord_Hyper[] = _("HYPER");
+const u8 gEasyChatWord_BattleTower[] = _("BATTLE TOWER");
+const u8 gEasyChatWord_Leaders[] = _("LEADERS");
+const u8 gEasyChatWord_BattleRoom[] = _("BATTLE ROOM");
+const u8 gEasyChatWord_Hidden[] = _("HIDDEN");
+const u8 gEasyChatWord_SecretBase[] = _("SECRET BASE");
+const u8 gEasyChatWord_Blend[] = _("BLEND");
+const u8 gEasyChatWord_POKEBLOCK[] = _("{POKEBLOCK}");
+const u8 gEasyChatWord_Master[] = _("MASTER");
+const u8 gEasyChatWord_Rank[] = _("RANK");
+const u8 gEasyChatWord_Ribbon[] = _("RIBBON");
+const u8 gEasyChatWord_Crush[] = _("CRUSH");
+const u8 gEasyChatWord_Direct[] = _("DIRECT");
+const u8 gEasyChatWord_Tower[] = _("TOWER");
+const u8 gEasyChatWord_Union[] = _("UNION");
+const u8 gEasyChatWord_Room[] = _("ROOM");
+const u8 gEasyChatWord_Wireless[] = _("WIRELESS");
+
+const struct EasyChatWordInfo gEasyChatGroup_Events[] = {
+ {
+ .text = gEasyChatWord_Appeal,
+ .alphabeticalOrder = 0,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Events,
+ .alphabeticalOrder = 14,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_StayAtHome,
+ .alphabeticalOrder = 12,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Berry,
+ .alphabeticalOrder = 3,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Contest,
+ .alphabeticalOrder = 17,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Mc,
+ .alphabeticalOrder = 4,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Judge,
+ .alphabeticalOrder = 22,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Super,
+ .alphabeticalOrder = 23,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Stage,
+ .alphabeticalOrder = 1,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_HallOfFame,
+ .alphabeticalOrder = 10,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Evolution,
+ .alphabeticalOrder = 9,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hyper,
+ .alphabeticalOrder = 15,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_BattleTower,
+ .alphabeticalOrder = 11,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Leaders,
+ .alphabeticalOrder = 6,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_BattleRoom,
+ .alphabeticalOrder = 13,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Hidden,
+ .alphabeticalOrder = 19,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_SecretBase,
+ .alphabeticalOrder = 5,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Blend,
+ .alphabeticalOrder = 18,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_POKEBLOCK,
+ .alphabeticalOrder = 20,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Master,
+ .alphabeticalOrder = 21,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Rank,
+ .alphabeticalOrder = 26,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Ribbon,
+ .alphabeticalOrder = 16,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Crush,
+ .alphabeticalOrder = 8,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Direct,
+ .alphabeticalOrder = 2,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Tower,
+ .alphabeticalOrder = 7,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Union,
+ .alphabeticalOrder = 24,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Room,
+ .alphabeticalOrder = 25,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Wireless,
+ .alphabeticalOrder = 27,
+ .enabled = TRUE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_group_feelings.h b/src/data/easy_chat/easy_chat_group_feelings.h
new file mode 100644
index 000000000..796339c50
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_feelings.h
@@ -0,0 +1,418 @@
+
+const u8 gEasyChatWord_Meet[] = _("MEET");
+const u8 gEasyChatWord_Play[] = _("PLAY");
+const u8 gEasyChatWord_Hurried[] = _("HURRIED");
+const u8 gEasyChatWord_Goes[] = _("GOES");
+const u8 gEasyChatWord_Giddy[] = _("GIDDY");
+const u8 gEasyChatWord_Happy[] = _("HAPPY");
+const u8 gEasyChatWord_Happiness[] = _("HAPPINESS");
+const u8 gEasyChatWord_Excite[] = _("EXCITE");
+const u8 gEasyChatWord_Important[] = _("IMPORTANT");
+const u8 gEasyChatWord_Funny[] = _("FUNNY");
+const u8 gEasyChatWord_Got[] = _("GOT");
+const u8 gEasyChatWord_GoHome[] = _("GO HOME");
+const u8 gEasyChatWord_Disappointed[] = _("DISAPPOINTED");
+const u8 gEasyChatWord_Disappoints[] = _("DISAPPOINTS");
+const u8 gEasyChatWord_Sad[] = _("SAD");
+const u8 gEasyChatWord_Try[] = _("TRY");
+const u8 gEasyChatWord_Tries[] = _("TRIES");
+const u8 gEasyChatWord_Hears[] = _("HEARS");
+const u8 gEasyChatWord_Think[] = _("THINK");
+const u8 gEasyChatWord_Hear[] = _("HEAR");
+const u8 gEasyChatWord_Wants[] = _("WANTS");
+const u8 gEasyChatWord_Misheard[] = _("MISHEARD");
+const u8 gEasyChatWord_Dislike[] = _("DISLIKE");
+const u8 gEasyChatWord_Angry[] = _("ANGRY");
+const u8 gEasyChatWord_Anger[] = _("ANGER");
+const u8 gEasyChatWord_Scary[] = _("SCARY");
+const u8 gEasyChatWord_Lonesome[] = _("LONESOME");
+const u8 gEasyChatWord_Disappoint[] = _("DISAPPOINT");
+const u8 gEasyChatWord_Joy[] = _("JOY");
+const u8 gEasyChatWord_Gets[] = _("GETS");
+const u8 gEasyChatWord_Never[] = _("NEVER");
+const u8 gEasyChatWord_Darn[] = _("DARN");
+const u8 gEasyChatWord_Downcast[] = _("DOWNCAST");
+const u8 gEasyChatWord_Incredible[] = _("INCREDIBLE");
+const u8 gEasyChatWord_Likes[] = _("LIKES");
+const u8 gEasyChatWord_Dislikes[] = _("DISLIKES");
+const u8 gEasyChatWord_Boring[] = _("BORING");
+const u8 gEasyChatWord_Care[] = _("CARE");
+const u8 gEasyChatWord_Cares[] = _("CARES");
+const u8 gEasyChatWord_AllRight[] = _("ALL RIGHT");
+const u8 gEasyChatWord_Adore[] = _("ADORE");
+const u8 gEasyChatWord_Disaster[] = _("DISASTER");
+const u8 gEasyChatWord_Enjoy[] = _("ENJOY");
+const u8 gEasyChatWord_Enjoys[] = _("ENJOYS");
+const u8 gEasyChatWord_Eat[] = _("EAT");
+const u8 gEasyChatWord_Lacking[] = _("LACKING");
+const u8 gEasyChatWord_Bad[] = _("BAD");
+const u8 gEasyChatWord_Hard[] = _("HARD");
+const u8 gEasyChatWord_Terrible[] = _("TERRIBLE");
+const u8 gEasyChatWord_Should[] = _("SHOULD");
+const u8 gEasyChatWord_Nice[] = _("NICE");
+const u8 gEasyChatWord_Drink[] = _("DRINK");
+const u8 gEasyChatWord_Surprise[] = _("SURPRISE");
+const u8 gEasyChatWord_Fear[] = _("FEAR");
+const u8 gEasyChatWord_Want[] = _("WANT");
+const u8 gEasyChatWord_Wait[] = _("WAIT");
+const u8 gEasyChatWord_Satisfied[] = _("SATISFIED");
+const u8 gEasyChatWord_See[] = _("SEE");
+const u8 gEasyChatWord_Rare[] = _("RARE");
+const u8 gEasyChatWord_Negative[] = _("NEGATIVE");
+const u8 gEasyChatWord_Done[] = _("DONE");
+const u8 gEasyChatWord_Danger[] = _("DANGER");
+const u8 gEasyChatWord_Defeated[] = _("DEFEATED");
+const u8 gEasyChatWord_Beat[] = _("BEAT");
+const u8 gEasyChatWord_Great[] = _("GREAT");
+const u8 gEasyChatWord_Romantic[] = _("ROMANTIC");
+const u8 gEasyChatWord_Question[] = _("QUESTION");
+const u8 gEasyChatWord_Understand[] = _("UNDERSTAND");
+const u8 gEasyChatWord_Understands[] = _("UNDERSTANDS");
+
+const struct EasyChatWordInfo gEasyChatGroup_Feelings[] = {
+ {
+ .text = gEasyChatWord_Meet,
+ .alphabeticalOrder = 40,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Play,
+ .alphabeticalOrder = 39,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hurried,
+ .alphabeticalOrder = 24,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Goes,
+ .alphabeticalOrder = 23,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Giddy,
+ .alphabeticalOrder = 46,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Happy,
+ .alphabeticalOrder = 63,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Happiness,
+ .alphabeticalOrder = 36,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Excite,
+ .alphabeticalOrder = 37,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Important,
+ .alphabeticalOrder = 38,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Funny,
+ .alphabeticalOrder = 61,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Got,
+ .alphabeticalOrder = 31,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_GoHome,
+ .alphabeticalOrder = 62,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Disappointed,
+ .alphabeticalOrder = 27,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Disappoints,
+ .alphabeticalOrder = 12,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Sad,
+ .alphabeticalOrder = 13,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Try,
+ .alphabeticalOrder = 41,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Tries,
+ .alphabeticalOrder = 22,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hears,
+ .alphabeticalOrder = 35,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Think,
+ .alphabeticalOrder = 60,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hear,
+ .alphabeticalOrder = 32,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Wants,
+ .alphabeticalOrder = 51,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Misheard,
+ .alphabeticalOrder = 44,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Dislike,
+ .alphabeticalOrder = 42,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Angry,
+ .alphabeticalOrder = 43,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Anger,
+ .alphabeticalOrder = 7,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Scary,
+ .alphabeticalOrder = 53,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lonesome,
+ .alphabeticalOrder = 9,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Disappoint,
+ .alphabeticalOrder = 29,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Joy,
+ .alphabeticalOrder = 4,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Gets,
+ .alphabeticalOrder = 11,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Never,
+ .alphabeticalOrder = 3,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Darn,
+ .alphabeticalOrder = 10,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Downcast,
+ .alphabeticalOrder = 64,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Incredible,
+ .alphabeticalOrder = 6,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Likes,
+ .alphabeticalOrder = 5,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Dislikes,
+ .alphabeticalOrder = 47,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Boring,
+ .alphabeticalOrder = 19,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Care,
+ .alphabeticalOrder = 17,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Cares,
+ .alphabeticalOrder = 2,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_AllRight,
+ .alphabeticalOrder = 8,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Adore,
+ .alphabeticalOrder = 33,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Disaster,
+ .alphabeticalOrder = 28,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Enjoy,
+ .alphabeticalOrder = 45,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Enjoys,
+ .alphabeticalOrder = 34,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Eat,
+ .alphabeticalOrder = 26,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lacking,
+ .alphabeticalOrder = 0,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Bad,
+ .alphabeticalOrder = 21,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hard,
+ .alphabeticalOrder = 59,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Terrible,
+ .alphabeticalOrder = 30,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Should,
+ .alphabeticalOrder = 50,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Nice,
+ .alphabeticalOrder = 1,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Drink,
+ .alphabeticalOrder = 66,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Surprise,
+ .alphabeticalOrder = 58,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Fear,
+ .alphabeticalOrder = 65,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Want,
+ .alphabeticalOrder = 14,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Wait,
+ .alphabeticalOrder = 56,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Satisfied,
+ .alphabeticalOrder = 25,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_See,
+ .alphabeticalOrder = 57,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Rare,
+ .alphabeticalOrder = 49,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Negative,
+ .alphabeticalOrder = 52,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Done,
+ .alphabeticalOrder = 48,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Danger,
+ .alphabeticalOrder = 18,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Defeated,
+ .alphabeticalOrder = 16,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Beat,
+ .alphabeticalOrder = 15,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Great,
+ .alphabeticalOrder = 67,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Romantic,
+ .alphabeticalOrder = 68,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Question,
+ .alphabeticalOrder = 55,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Understand,
+ .alphabeticalOrder = 54,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Understands,
+ .alphabeticalOrder = 20,
+ .enabled = TRUE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_group_greetings.h b/src/data/easy_chat/easy_chat_group_greetings.h
new file mode 100644
index 000000000..c8dc6c1dc
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_greetings.h
@@ -0,0 +1,256 @@
+
+const u8 gEasyChatWord_Thanks[] = _("THANKS");
+const u8 gEasyChatWord_Yes[] = _("YES");
+const u8 gEasyChatWord_HereGoes[] = _("HERE GOES");
+const u8 gEasyChatWord_HereICome[] = _("HERE I COME");
+const u8 gEasyChatWord_HereItIs[] = _("HERE IT IS");
+const u8 gEasyChatWord_Yeah[] = _("YEAH");
+const u8 gEasyChatWord_Welcome[] = _("WELCOME");
+const u8 gEasyChatWord_Oi[] = _("OI");
+const u8 gEasyChatWord_HowDo[] = _("HOW DO");
+const u8 gEasyChatWord_Congrats[] = _("CONGRATS");
+const u8 gEasyChatWord_GiveMe[] = _("GIVE ME");
+const u8 gEasyChatWord_Sorry[] = _("SORRY");
+const u8 gEasyChatWord_Apologize[] = _("APOLOGIZE");
+const u8 gEasyChatWord_Forgive[] = _("FORGIVE");
+const u8 gEasyChatWord_HeyThere[] = _("HEY, THERE");
+const u8 gEasyChatWord_Hello[] = _("HELLO");
+const u8 gEasyChatWord_GoodBye[] = _("GOOD-BYE");
+const u8 gEasyChatWord_ThankYou[] = _("THANK YOU");
+const u8 gEasyChatWord_IveArrived[] = _("I'VE ARRIVED");
+const u8 gEasyChatWord_Pardon[] = _("PARDON");
+const u8 gEasyChatWord_Excuse[] = _("EXCUSE");
+const u8 gEasyChatWord_SeeYa[] = _("SEE YA");
+const u8 gEasyChatWord_ExcuseMe[] = _("EXCUSE ME");
+const u8 gEasyChatWord_WellThen[] = _("WELL, THEN");
+const u8 gEasyChatWord_GoAhead[] = _("GO AHEAD");
+const u8 gEasyChatWord_Appreciate[] = _("APPRECIATE");
+const u8 gEasyChatWord_HeyQues[] = _("HEY?");
+const u8 gEasyChatWord_WhatsUpQues[] = _("WHAT'S UP?");
+const u8 gEasyChatWord_HuhQues[] = _("HUH?");
+const u8 gEasyChatWord_No[] = _("NO");
+const u8 gEasyChatWord_Hi[] = _("HI");
+const u8 gEasyChatWord_YeahYeah[] = _("YEAH, YEAH");
+const u8 gEasyChatWord_ByeBye[] = _("BYE-BYE");
+const u8 gEasyChatWord_MeetYou[] = _("MEET YOU");
+const u8 gEasyChatWord_Hey[] = _("HEY");
+const u8 gEasyChatWord_Smell[] = _("SMELL");
+const u8 gEasyChatWord_Listening[] = _("LISTENING");
+const u8 gEasyChatWord_HooHah[] = _("HOO-HAH");
+const u8 gEasyChatWord_Yahoo[] = _("YAHOO");
+const u8 gEasyChatWord_Yo[] = _("YO");
+const u8 gEasyChatWord_ComeOver[] = _("COME OVER");
+const u8 gEasyChatWord_CountOn[] = _("COUNT ON");
+
+const struct EasyChatWordInfo gEasyChatGroup_Greetings[] = {
+ {
+ .text = gEasyChatWord_Thanks,
+ .alphabeticalOrder = 12,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Yes,
+ .alphabeticalOrder = 25,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_HereGoes,
+ .alphabeticalOrder = 32,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_HereICome,
+ .alphabeticalOrder = 40,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_HereItIs,
+ .alphabeticalOrder = 9,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Yeah,
+ .alphabeticalOrder = 41,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Welcome,
+ .alphabeticalOrder = 20,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Oi,
+ .alphabeticalOrder = 22,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_HowDo,
+ .alphabeticalOrder = 13,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Congrats,
+ .alphabeticalOrder = 10,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_GiveMe,
+ .alphabeticalOrder = 24,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Sorry,
+ .alphabeticalOrder = 16,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Apologize,
+ .alphabeticalOrder = 15,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Forgive,
+ .alphabeticalOrder = 2,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_HeyThere,
+ .alphabeticalOrder = 3,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hello,
+ .alphabeticalOrder = 4,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_GoodBye,
+ .alphabeticalOrder = 34,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ThankYou,
+ .alphabeticalOrder = 14,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_IveArrived,
+ .alphabeticalOrder = 26,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Pardon,
+ .alphabeticalOrder = 30,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Excuse,
+ .alphabeticalOrder = 37,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_SeeYa,
+ .alphabeticalOrder = 8,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ExcuseMe,
+ .alphabeticalOrder = 28,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_WellThen,
+ .alphabeticalOrder = 18,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_GoAhead,
+ .alphabeticalOrder = 36,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Appreciate,
+ .alphabeticalOrder = 33,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_HeyQues,
+ .alphabeticalOrder = 29,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_WhatsUpQues,
+ .alphabeticalOrder = 7,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_HuhQues,
+ .alphabeticalOrder = 19,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_No,
+ .alphabeticalOrder = 21,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hi,
+ .alphabeticalOrder = 35,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_YeahYeah,
+ .alphabeticalOrder = 11,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ByeBye,
+ .alphabeticalOrder = 17,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_MeetYou,
+ .alphabeticalOrder = 0,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hey,
+ .alphabeticalOrder = 6,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Smell,
+ .alphabeticalOrder = 23,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Listening,
+ .alphabeticalOrder = 27,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_HooHah,
+ .alphabeticalOrder = 38,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Yahoo,
+ .alphabeticalOrder = 5,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Yo,
+ .alphabeticalOrder = 31,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ComeOver,
+ .alphabeticalOrder = 1,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_CountOn,
+ .alphabeticalOrder = 39,
+ .enabled = TRUE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_group_hobbies.h b/src/data/easy_chat/easy_chat_group_hobbies.h
new file mode 100644
index 000000000..64c9e3c3d
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_hobbies.h
@@ -0,0 +1,328 @@
+
+const u8 gEasyChatWord_Idol[] = _("IDOL");
+const u8 gEasyChatWord_Anime[] = _("ANIME");
+const u8 gEasyChatWord_Song[] = _("SONG");
+const u8 gEasyChatWord_Movie[] = _("MOVIE");
+const u8 gEasyChatWord_Sweets[] = _("SWEETS");
+const u8 gEasyChatWord_Chat[] = _("CHAT");
+const u8 gEasyChatWord_ChildsPlay[] = _("CHILD'S PLAY");
+const u8 gEasyChatWord_Toys[] = _("TOYS");
+const u8 gEasyChatWord_Music[] = _("MUSIC");
+const u8 gEasyChatWord_Cards[] = _("CARDS");
+const u8 gEasyChatWord_Shopping[] = _("SHOPPING");
+const u8 gEasyChatWord_Camera[] = _("CAMERA");
+const u8 gEasyChatWord_Viewing[] = _("VIEWING");
+const u8 gEasyChatWord_Spectator[] = _("SPECTATOR");
+const u8 gEasyChatWord_Gourmet[] = _("GOURMET");
+const u8 gEasyChatWord_Game[] = _("GAME");
+const u8 gEasyChatWord_Rpg[] = _("RPG");
+const u8 gEasyChatWord_Collection[] = _("COLLECTION");
+const u8 gEasyChatWord_Complete[] = _("COMPLETE");
+const u8 gEasyChatWord_Magazine[] = _("MAGAZINE");
+const u8 gEasyChatWord_Walk[] = _("WALK");
+const u8 gEasyChatWord_Bike[] = _("BIKE");
+const u8 gEasyChatWord_Hobby[] = _("HOBBY");
+const u8 gEasyChatWord_Sports[] = _("SPORTS");
+const u8 gEasyChatWord_Software[] = _("SOFTWARE");
+const u8 gEasyChatWord_Songs[] = _("SONGS");
+const u8 gEasyChatWord_Diet[] = _("DIET");
+const u8 gEasyChatWord_Treasure[] = _("TREASURE");
+const u8 gEasyChatWord_Travel[] = _("TRAVEL");
+const u8 gEasyChatWord_Dance[] = _("DANCE");
+const u8 gEasyChatWord_Channel[] = _("CHANNEL");
+const u8 gEasyChatWord_Making[] = _("MAKING");
+const u8 gEasyChatWord_Fishing[] = _("FISHING");
+const u8 gEasyChatWord_Date[] = _("DATE");
+const u8 gEasyChatWord_Design[] = _("DESIGN");
+const u8 gEasyChatWord_Locomotive[] = _("LOCOMOTIVE");
+const u8 gEasyChatWord_PlushDoll[] = _("PLUSH DOLL");
+const u8 gEasyChatWord_Pc[] = _("PC");
+const u8 gEasyChatWord_Flowers[] = _("FLOWERS");
+const u8 gEasyChatWord_Hero[] = _("HERO");
+const u8 gEasyChatWord_Nap[] = _("NAP");
+const u8 gEasyChatWord_Heroine[] = _("HEROINE");
+const u8 gEasyChatWord_Fashion[] = _("FASHION");
+const u8 gEasyChatWord_Adventure[] = _("ADVENTURE");
+const u8 gEasyChatWord_Board[] = _("BOARD");
+const u8 gEasyChatWord_Ball[] = _("BALL");
+const u8 gEasyChatWord_Book[] = _("BOOK");
+const u8 gEasyChatWord_Festival[] = _("FESTIVAL");
+const u8 gEasyChatWord_Comics[] = _("COMICS");
+const u8 gEasyChatWord_Holiday[] = _("HOLIDAY");
+const u8 gEasyChatWord_Plans[] = _("PLANS");
+const u8 gEasyChatWord_Trendy[] = _("TRENDY");
+const u8 gEasyChatWord_Vacation[] = _("VACATION");
+const u8 gEasyChatWord_Look[] = _("LOOK");
+
+const struct EasyChatWordInfo gEasyChatGroup_Hobbies[] = {
+ {
+ .text = gEasyChatWord_Idol,
+ .alphabeticalOrder = 43,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Anime,
+ .alphabeticalOrder = 1,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Song,
+ .alphabeticalOrder = 45,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Movie,
+ .alphabeticalOrder = 21,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Sweets,
+ .alphabeticalOrder = 44,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Chat,
+ .alphabeticalOrder = 46,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ChildsPlay,
+ .alphabeticalOrder = 11,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Toys,
+ .alphabeticalOrder = 9,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Music,
+ .alphabeticalOrder = 30,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Cards,
+ .alphabeticalOrder = 5,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Shopping,
+ .alphabeticalOrder = 6,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Camera,
+ .alphabeticalOrder = 17,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Viewing,
+ .alphabeticalOrder = 48,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Spectator,
+ .alphabeticalOrder = 18,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Gourmet,
+ .alphabeticalOrder = 29,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Game,
+ .alphabeticalOrder = 33,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Rpg,
+ .alphabeticalOrder = 34,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Collection,
+ .alphabeticalOrder = 26,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Complete,
+ .alphabeticalOrder = 42,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Magazine,
+ .alphabeticalOrder = 47,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Walk,
+ .alphabeticalOrder = 32,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Bike,
+ .alphabeticalOrder = 38,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hobby,
+ .alphabeticalOrder = 15,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Sports,
+ .alphabeticalOrder = 14,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Software,
+ .alphabeticalOrder = 39,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Songs,
+ .alphabeticalOrder = 41,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Diet,
+ .alphabeticalOrder = 22,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Treasure,
+ .alphabeticalOrder = 49,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Travel,
+ .alphabeticalOrder = 0,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Dance,
+ .alphabeticalOrder = 35,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Channel,
+ .alphabeticalOrder = 53,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Making,
+ .alphabeticalOrder = 19,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Fishing,
+ .alphabeticalOrder = 31,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Date,
+ .alphabeticalOrder = 3,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Design,
+ .alphabeticalOrder = 8,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Locomotive,
+ .alphabeticalOrder = 40,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_PlushDoll,
+ .alphabeticalOrder = 37,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Pc,
+ .alphabeticalOrder = 50,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Flowers,
+ .alphabeticalOrder = 36,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hero,
+ .alphabeticalOrder = 16,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Nap,
+ .alphabeticalOrder = 10,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Heroine,
+ .alphabeticalOrder = 24,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Fashion,
+ .alphabeticalOrder = 2,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Adventure,
+ .alphabeticalOrder = 25,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Board,
+ .alphabeticalOrder = 13,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Ball,
+ .alphabeticalOrder = 23,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Book,
+ .alphabeticalOrder = 4,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Festival,
+ .alphabeticalOrder = 7,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Comics,
+ .alphabeticalOrder = 28,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Holiday,
+ .alphabeticalOrder = 27,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Plans,
+ .alphabeticalOrder = 51,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Trendy,
+ .alphabeticalOrder = 52,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Vacation,
+ .alphabeticalOrder = 12,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Look,
+ .alphabeticalOrder = 20,
+ .enabled = TRUE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_group_lifestyle.h b/src/data/easy_chat/easy_chat_group_lifestyle.h
new file mode 100644
index 000000000..615759212
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_lifestyle.h
@@ -0,0 +1,274 @@
+
+const u8 gEasyChatWord_Chores[] = _("CHORES");
+const u8 gEasyChatWord_Home[] = _("HOME");
+const u8 gEasyChatWord_Money[] = _("MONEY");
+const u8 gEasyChatWord_Allowance[] = _("ALLOWANCE");
+const u8 gEasyChatWord_Bath[] = _("BATH");
+const u8 gEasyChatWord_Conversation[] = _("CONVERSATION");
+const u8 gEasyChatWord_School[] = _("SCHOOL");
+const u8 gEasyChatWord_Commemorate[] = _("COMMEMORATE");
+const u8 gEasyChatWord_Habit[] = _("HABIT");
+const u8 gEasyChatWord_Group[] = _("GROUP");
+const u8 gEasyChatWord_Word[] = _("WORD");
+const u8 gEasyChatWord_Store[] = _("STORE");
+const u8 gEasyChatWord_Service[] = _("SERVICE");
+const u8 gEasyChatWord_Work[] = _("WORK");
+const u8 gEasyChatWord_System[] = _("SYSTEM");
+const u8 gEasyChatWord_Train[] = _("TRAIN");
+const u8 gEasyChatWord_Class[] = _("CLASS");
+const u8 gEasyChatWord_Lessons[] = _("LESSONS");
+const u8 gEasyChatWord_Information[] = _("INFORMATION");
+const u8 gEasyChatWord_Living[] = _("LIVING");
+const u8 gEasyChatWord_Teacher[] = _("TEACHER");
+const u8 gEasyChatWord_Tournament[] = _("TOURNAMENT");
+const u8 gEasyChatWord_Letter[] = _("LETTER");
+const u8 gEasyChatWord_Event[] = _("EVENT");
+const u8 gEasyChatWord_Digital[] = _("DIGITAL");
+const u8 gEasyChatWord_Test[] = _("TEST");
+const u8 gEasyChatWord_DeptStore[] = _("DEPT. STORE");
+const u8 gEasyChatWord_Television[] = _("TELEVISION");
+const u8 gEasyChatWord_Phone[] = _("PHONE");
+const u8 gEasyChatWord_Item[] = _("ITEM");
+const u8 gEasyChatWord_Name[] = _("NAME");
+const u8 gEasyChatWord_News[] = _("NEWS");
+const u8 gEasyChatWord_Popular[] = _("POPULAR");
+const u8 gEasyChatWord_Party[] = _("PARTY");
+const u8 gEasyChatWord_Study[] = _("STUDY");
+const u8 gEasyChatWord_Machine[] = _("MACHINE");
+const u8 gEasyChatWord_Mail[] = _("MAIL");
+const u8 gEasyChatWord_Message[] = _("MESSAGE");
+const u8 gEasyChatWord_Promise[] = _("PROMISE");
+const u8 gEasyChatWord_Dream[] = _("DREAM");
+const u8 gEasyChatWord_Kindergarten[] = _("KINDERGARTEN");
+const u8 gEasyChatWord_Life[] = _("LIFE");
+const u8 gEasyChatWord_Radio[] = _("RADIO");
+const u8 gEasyChatWord_Rental[] = _("RENTAL");
+const u8 gEasyChatWord_World[] = _("WORLD");
+
+const struct EasyChatWordInfo gEasyChatGroup_Lifestyle[] = {
+ {
+ .text = gEasyChatWord_Chores,
+ .alphabeticalOrder = 3,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Home,
+ .alphabeticalOrder = 4,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Money,
+ .alphabeticalOrder = 0,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Allowance,
+ .alphabeticalOrder = 16,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Bath,
+ .alphabeticalOrder = 7,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Conversation,
+ .alphabeticalOrder = 5,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_School,
+ .alphabeticalOrder = 26,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Commemorate,
+ .alphabeticalOrder = 24,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Habit,
+ .alphabeticalOrder = 39,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Group,
+ .alphabeticalOrder = 23,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Word,
+ .alphabeticalOrder = 9,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Store,
+ .alphabeticalOrder = 8,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Service,
+ .alphabeticalOrder = 1,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Work,
+ .alphabeticalOrder = 18,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_System,
+ .alphabeticalOrder = 29,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Train,
+ .alphabeticalOrder = 40,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Class,
+ .alphabeticalOrder = 17,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lessons,
+ .alphabeticalOrder = 22,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Information,
+ .alphabeticalOrder = 41,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Living,
+ .alphabeticalOrder = 19,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Teacher,
+ .alphabeticalOrder = 35,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Tournament,
+ .alphabeticalOrder = 36,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Letter,
+ .alphabeticalOrder = 37,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Event,
+ .alphabeticalOrder = 2,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Digital,
+ .alphabeticalOrder = 30,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Test,
+ .alphabeticalOrder = 31,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_DeptStore,
+ .alphabeticalOrder = 33,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Television,
+ .alphabeticalOrder = 28,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Phone,
+ .alphabeticalOrder = 32,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Item,
+ .alphabeticalOrder = 38,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Name,
+ .alphabeticalOrder = 42,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_News,
+ .alphabeticalOrder = 43,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Popular,
+ .alphabeticalOrder = 6,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Party,
+ .alphabeticalOrder = 12,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Study,
+ .alphabeticalOrder = 11,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Machine,
+ .alphabeticalOrder = 34,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Mail,
+ .alphabeticalOrder = 14,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Message,
+ .alphabeticalOrder = 20,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Promise,
+ .alphabeticalOrder = 27,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Dream,
+ .alphabeticalOrder = 25,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Kindergarten,
+ .alphabeticalOrder = 21,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Life,
+ .alphabeticalOrder = 15,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Radio,
+ .alphabeticalOrder = 10,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Rental,
+ .alphabeticalOrder = 13,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_World,
+ .alphabeticalOrder = 44,
+ .enabled = TRUE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_group_misc.h b/src/data/easy_chat/easy_chat_group_misc.h
new file mode 100644
index 000000000..c88b99bb2
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_misc.h
@@ -0,0 +1,256 @@
+
+const u8 gEasyChatWord_Highs[] = _("HIGHS");
+const u8 gEasyChatWord_Lows[] = _("LOWS");
+const u8 gEasyChatWord_Um[] = _("UM");
+const u8 gEasyChatWord_Rear[] = _("REAR");
+const u8 gEasyChatWord_Things[] = _("THINGS");
+const u8 gEasyChatWord_Thing[] = _("THING");
+const u8 gEasyChatWord_Below[] = _("BELOW");
+const u8 gEasyChatWord_Above[] = _("ABOVE");
+const u8 gEasyChatWord_Back[] = _("BACK");
+const u8 gEasyChatWord_High[] = _("HIGH");
+const u8 gEasyChatWord_Here[] = _("HERE");
+const u8 gEasyChatWord_Inside[] = _("INSIDE");
+const u8 gEasyChatWord_Outside[] = _("OUTSIDE");
+const u8 gEasyChatWord_Beside[] = _("BESIDE");
+const u8 gEasyChatWord_ThisIsItExcl[] = _("THIS IS IT!");
+const u8 gEasyChatWord_This[] = _("THIS");
+const u8 gEasyChatWord_Every[] = _("EVERY");
+const u8 gEasyChatWord_These[] = _("THESE");
+const u8 gEasyChatWord_TheseWere[] = _("THESE WERE");
+const u8 gEasyChatWord_Down[] = _("DOWN");
+const u8 gEasyChatWord_That[] = _("THAT");
+const u8 gEasyChatWord_ThoseAre[] = _("THOSE ARE");
+const u8 gEasyChatWord_ThoseWere[] = _("THOSE WERE");
+const u8 gEasyChatWord_ThatsItExcl[] = _("THAT'S IT!");
+const u8 gEasyChatWord_Am[] = _("AM");
+const u8 gEasyChatWord_ThatWas[] = _("THAT WAS");
+const u8 gEasyChatWord_Front[] = _("FRONT");
+const u8 gEasyChatWord_Up[] = _("UP");
+const u8 gEasyChatWord_Choice[] = _("CHOICE");
+const u8 gEasyChatWord_Far[] = _("FAR");
+const u8 gEasyChatWord_Away[] = _("AWAY");
+const u8 gEasyChatWord_Near[] = _("NEAR");
+const u8 gEasyChatWord_Where[] = _("WHERE");
+const u8 gEasyChatWord_When[] = _("WHEN");
+const u8 gEasyChatWord_What[] = _("WHAT");
+const u8 gEasyChatWord_Deep[] = _("DEEP");
+const u8 gEasyChatWord_Shallow[] = _("SHALLOW");
+const u8 gEasyChatWord_Why[] = _("WHY");
+const u8 gEasyChatWord_Confused[] = _("CONFUSED");
+const u8 gEasyChatWord_Opposite[] = _("OPPOSITE");
+const u8 gEasyChatWord_Left[] = _("LEFT");
+const u8 gEasyChatWord_Right[] = _("RIGHT");
+
+const struct EasyChatWordInfo gEasyChatGroup_Misc[] = {
+ {
+ .text = gEasyChatWord_Highs,
+ .alphabeticalOrder = 7,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lows,
+ .alphabeticalOrder = 24,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Um,
+ .alphabeticalOrder = 30,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Rear,
+ .alphabeticalOrder = 8,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Things,
+ .alphabeticalOrder = 6,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Thing,
+ .alphabeticalOrder = 13,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Below,
+ .alphabeticalOrder = 28,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Above,
+ .alphabeticalOrder = 38,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Back,
+ .alphabeticalOrder = 35,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_High,
+ .alphabeticalOrder = 19,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Here,
+ .alphabeticalOrder = 16,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Inside,
+ .alphabeticalOrder = 29,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Outside,
+ .alphabeticalOrder = 26,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Beside,
+ .alphabeticalOrder = 10,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ThisIsItExcl,
+ .alphabeticalOrder = 9,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_This,
+ .alphabeticalOrder = 0,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Every,
+ .alphabeticalOrder = 11,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_These,
+ .alphabeticalOrder = 40,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_TheseWere,
+ .alphabeticalOrder = 1,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Down,
+ .alphabeticalOrder = 31,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_That,
+ .alphabeticalOrder = 39,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ThoseAre,
+ .alphabeticalOrder = 12,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ThoseWere,
+ .alphabeticalOrder = 3,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ThatsItExcl,
+ .alphabeticalOrder = 41,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Am,
+ .alphabeticalOrder = 36,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ThatWas,
+ .alphabeticalOrder = 20,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Front,
+ .alphabeticalOrder = 25,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Up,
+ .alphabeticalOrder = 23,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Choice,
+ .alphabeticalOrder = 17,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Far,
+ .alphabeticalOrder = 18,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Away,
+ .alphabeticalOrder = 5,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Near,
+ .alphabeticalOrder = 4,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Where,
+ .alphabeticalOrder = 15,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_When,
+ .alphabeticalOrder = 14,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_What,
+ .alphabeticalOrder = 21,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Deep,
+ .alphabeticalOrder = 22,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Shallow,
+ .alphabeticalOrder = 2,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Why,
+ .alphabeticalOrder = 27,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Confused,
+ .alphabeticalOrder = 34,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Opposite,
+ .alphabeticalOrder = 33,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Left,
+ .alphabeticalOrder = 32,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Right,
+ .alphabeticalOrder = 37,
+ .enabled = TRUE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_group_move_1.h b/src/data/easy_chat/easy_chat_group_move_1.h
new file mode 100644
index 000000000..3b0e8acca
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_move_1.h
@@ -0,0 +1,158 @@
+#include "constants/moves.h"
+
+const u16 gEasyChatGroup_Move1[] = {
+ MOVE_ABSORB,
+ MOVE_AEROBLAST,
+ MOVE_AGILITY,
+ MOVE_AIR_CUTTER,
+ MOVE_ANCIENT_POWER,
+ MOVE_AROMATHERAPY,
+ MOVE_ASTONISH,
+ MOVE_AURORA_BEAM,
+ MOVE_BIDE,
+ MOVE_BIND,
+ MOVE_BITE,
+ MOVE_BRICK_BREAK,
+ MOVE_BUBBLE,
+ MOVE_CHARGE,
+ MOVE_CHARM,
+ MOVE_CLAMP,
+ MOVE_CONFUSE_RAY,
+ MOVE_CONSTRICT,
+ MOVE_COSMIC_POWER,
+ MOVE_COUNTER,
+ MOVE_CRABHAMMER,
+ MOVE_CROSS_CHOP,
+ MOVE_CRUNCH,
+ MOVE_CUT,
+ MOVE_DIG,
+ MOVE_DISABLE,
+ MOVE_DOUBLE_TEAM,
+ MOVE_DOUBLE_EDGE,
+ MOVE_DOUBLE_SLAP,
+ MOVE_EARTHQUAKE,
+ MOVE_ENCORE,
+ MOVE_ENDEAVOR,
+ MOVE_ENDURE,
+ MOVE_EXTRASENSORY,
+ MOVE_EXTREME_SPEED,
+ MOVE_FACADE,
+ MOVE_FAKE_TEARS,
+ MOVE_FISSURE,
+ MOVE_FLAIL,
+ MOVE_FLAME_WHEEL,
+ MOVE_FLAMETHROWER,
+ MOVE_FLATTER,
+ MOVE_FLY,
+ MOVE_FOCUS_ENERGY,
+ MOVE_FOCUS_PUNCH,
+ MOVE_FOLLOW_ME,
+ MOVE_GIGA_DRAIN,
+ MOVE_GRASS_WHISTLE,
+ MOVE_GROWTH,
+ MOVE_GRUDGE,
+ MOVE_GUST,
+ MOVE_HAIL,
+ MOVE_HARDEN,
+ MOVE_HAZE,
+ MOVE_HEADBUTT,
+ MOVE_HEAL_BELL,
+ MOVE_HYPNOSIS,
+ MOVE_ICE_BALL,
+ MOVE_ICY_WIND,
+ MOVE_IRON_TAIL,
+ MOVE_KARATE_CHOP,
+ MOVE_KINESIS,
+ MOVE_LEECH_LIFE,
+ MOVE_LICK,
+ MOVE_LOVELY_KISS,
+ MOVE_LOW_KICK,
+ MOVE_MEAN_LOOK,
+ MOVE_MEMENTO,
+ MOVE_METAL_SOUND,
+ MOVE_METEOR_MASH,
+ MOVE_MIND_READER,
+ MOVE_MIRROR_MOVE,
+ MOVE_MIST,
+ MOVE_MORNING_SUN,
+ MOVE_NATURE_POWER,
+ MOVE_NIGHTMARE,
+ MOVE_OCTAZOOKA,
+ MOVE_ODOR_SLEUTH,
+ MOVE_OUTRAGE,
+ MOVE_OVERHEAT,
+ MOVE_PAIN_SPLIT,
+ MOVE_POWDER_SNOW,
+ MOVE_PSYBEAM,
+ MOVE_PSYCH_UP,
+ MOVE_PSYCHIC,
+ MOVE_PSYCHO_BOOST,
+ MOVE_PSYWAVE,
+ MOVE_PURSUIT,
+ MOVE_RAGE,
+ MOVE_RAIN_DANCE,
+ MOVE_RAPID_SPIN,
+ MOVE_RAZOR_WIND,
+ MOVE_RECOVER,
+ MOVE_RETURN,
+ MOVE_REVERSAL,
+ MOVE_ROCK_SLIDE,
+ MOVE_ROCK_SMASH,
+ MOVE_ROCK_THROW,
+ MOVE_ROCK_TOMB,
+ MOVE_ROLLOUT,
+ MOVE_SACRED_FIRE,
+ MOVE_SAFEGUARD,
+ MOVE_SAND_TOMB,
+ MOVE_SAND_ATTACK,
+ MOVE_SANDSTORM,
+ MOVE_SCARY_FACE,
+ MOVE_SCREECH,
+ MOVE_SELF_DESTRUCT,
+ MOVE_SHADOW_BALL,
+ MOVE_SHADOW_PUNCH,
+ MOVE_SHARPEN,
+ MOVE_SHEER_COLD,
+ MOVE_SIGNAL_BEAM,
+ MOVE_SILVER_WIND,
+ MOVE_SING,
+ MOVE_SKETCH,
+ MOVE_SKILL_SWAP,
+ MOVE_SKY_ATTACK,
+ MOVE_SKY_UPPERCUT,
+ MOVE_SLASH,
+ MOVE_SMELLING_SALT,
+ MOVE_SMOG,
+ MOVE_SMOKESCREEN,
+ MOVE_SNORE,
+ MOVE_SOLAR_BEAM,
+ MOVE_SONIC_BOOM,
+ MOVE_SPARK,
+ MOVE_SPIDER_WEB,
+ MOVE_SPITE,
+ MOVE_SPORE,
+ MOVE_STRENGTH,
+ MOVE_STRING_SHOT,
+ MOVE_STUN_SPORE,
+ MOVE_SUBMISSION,
+ MOVE_SUPER_FANG,
+ MOVE_SWAGGER,
+ MOVE_SWEET_SCENT,
+ MOVE_SWIFT,
+ MOVE_SYNTHESIS,
+ MOVE_TAIL_WHIP,
+ MOVE_THRASH,
+ MOVE_THUNDER,
+ MOVE_THUNDERBOLT,
+ MOVE_THUNDER_PUNCH,
+ MOVE_TICKLE,
+ MOVE_TORMENT,
+ MOVE_UPROAR,
+ MOVE_VITAL_THROW,
+ MOVE_WATER_SPOUT,
+ MOVE_WEATHER_BALL,
+ MOVE_WHIRLPOOL,
+ MOVE_WILL_O_WISP,
+ MOVE_WITHDRAW,
+ MOVE_YAWN,
+};
diff --git a/src/data/easy_chat/easy_chat_group_move_2.h b/src/data/easy_chat/easy_chat_group_move_2.h
new file mode 100644
index 000000000..e0a0cd379
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_move_2.h
@@ -0,0 +1,204 @@
+#include "constants/moves.h"
+
+const u16 gEasyChatGroup_Move2[] = {
+ MOVE_ACID,
+ MOVE_ACID_ARMOR,
+ MOVE_AERIAL_ACE,
+ MOVE_AMNESIA,
+ MOVE_ARM_THRUST,
+ MOVE_ASSIST,
+ MOVE_ATTRACT,
+ MOVE_BARRAGE,
+ MOVE_BARRIER,
+ MOVE_BATON_PASS,
+ MOVE_BEAT_UP,
+ MOVE_BELLY_DRUM,
+ MOVE_BLAST_BURN,
+ MOVE_BLAZE_KICK,
+ MOVE_BLIZZARD,
+ MOVE_BLOCK,
+ MOVE_BODY_SLAM,
+ MOVE_BONE_CLUB,
+ MOVE_BONE_RUSH,
+ MOVE_BONEMERANG,
+ MOVE_BOUNCE,
+ MOVE_BUBBLE_BEAM,
+ MOVE_BULK_UP,
+ MOVE_BULLET_SEED,
+ MOVE_CALM_MIND,
+ MOVE_CAMOUFLAGE,
+ MOVE_COMET_PUNCH,
+ MOVE_CONFUSION,
+ MOVE_CONVERSION,
+ MOVE_CONVERSION_2,
+ MOVE_COTTON_SPORE,
+ MOVE_COVET,
+ MOVE_CRUSH_CLAW,
+ MOVE_CURSE,
+ MOVE_DEFENSE_CURL,
+ MOVE_DESTINY_BOND,
+ MOVE_DETECT,
+ MOVE_DIVE,
+ MOVE_DIZZY_PUNCH,
+ MOVE_DOOM_DESIRE,
+ MOVE_DOUBLE_KICK,
+ MOVE_DRAGON_CLAW,
+ MOVE_DRAGON_DANCE,
+ MOVE_DRAGON_RAGE,
+ MOVE_DRAGON_BREATH,
+ MOVE_DREAM_EATER,
+ MOVE_DRILL_PECK,
+ MOVE_DYNAMIC_PUNCH,
+ MOVE_EGG_BOMB,
+ MOVE_EMBER,
+ MOVE_ERUPTION,
+ MOVE_EXPLOSION,
+ MOVE_FAINT_ATTACK,
+ MOVE_FAKE_OUT,
+ MOVE_FALSE_SWIPE,
+ MOVE_FEATHER_DANCE,
+ MOVE_FIRE_BLAST,
+ MOVE_FIRE_PUNCH,
+ MOVE_FIRE_SPIN,
+ MOVE_FLASH,
+ MOVE_FORESIGHT,
+ MOVE_FRENZY_PLANT,
+ MOVE_FRUSTRATION,
+ MOVE_FURY_ATTACK,
+ MOVE_FURY_CUTTER,
+ MOVE_FURY_SWIPES,
+ MOVE_FUTURE_SIGHT,
+ MOVE_GLARE,
+ MOVE_GROWL,
+ MOVE_GUILLOTINE,
+ MOVE_HEAT_WAVE,
+ MOVE_HELPING_HAND,
+ MOVE_HI_JUMP_KICK,
+ MOVE_HIDDEN_POWER,
+ MOVE_HORN_ATTACK,
+ MOVE_HORN_DRILL,
+ MOVE_HOWL,
+ MOVE_HYDRO_CANNON,
+ MOVE_HYDRO_PUMP,
+ MOVE_HYPER_BEAM,
+ MOVE_HYPER_FANG,
+ MOVE_HYPER_VOICE,
+ MOVE_ICE_BEAM,
+ MOVE_ICE_PUNCH,
+ MOVE_ICICLE_SPEAR,
+ MOVE_IMPRISON,
+ MOVE_INGRAIN,
+ MOVE_IRON_DEFENSE,
+ MOVE_JUMP_KICK,
+ MOVE_KNOCK_OFF,
+ MOVE_LEAF_BLADE,
+ MOVE_LEECH_SEED,
+ MOVE_LEER,
+ MOVE_LIGHT_SCREEN,
+ MOVE_LOCK_ON,
+ MOVE_LUSTER_PURGE,
+ MOVE_MACH_PUNCH,
+ MOVE_MAGIC_COAT,
+ MOVE_MAGICAL_LEAF,
+ MOVE_MAGNITUDE,
+ MOVE_MEDITATE,
+ MOVE_MEGA_DRAIN,
+ MOVE_MEGA_KICK,
+ MOVE_MEGA_PUNCH,
+ MOVE_MEGAHORN,
+ MOVE_METAL_CLAW,
+ MOVE_METRONOME,
+ MOVE_MILK_DRINK,
+ MOVE_MIMIC,
+ MOVE_MINIMIZE,
+ MOVE_MIRROR_COAT,
+ MOVE_MIST_BALL,
+ MOVE_MOONLIGHT,
+ MOVE_MUD_SHOT,
+ MOVE_MUD_SPORT,
+ MOVE_MUD_SLAP,
+ MOVE_MUDDY_WATER,
+ MOVE_NEEDLE_ARM,
+ MOVE_NIGHT_SHADE,
+ MOVE_PAY_DAY,
+ MOVE_PECK,
+ MOVE_PERISH_SONG,
+ MOVE_PETAL_DANCE,
+ MOVE_PIN_MISSILE,
+ MOVE_POISON_FANG,
+ MOVE_POISON_GAS,
+ MOVE_POISON_STING,
+ MOVE_POISON_TAIL,
+ MOVE_POISON_POWDER,
+ MOVE_POUND,
+ MOVE_PRESENT,
+ MOVE_PROTECT,
+ MOVE_QUICK_ATTACK,
+ MOVE_RAZOR_LEAF,
+ MOVE_RECYCLE,
+ MOVE_REFLECT,
+ MOVE_REFRESH,
+ MOVE_REST,
+ MOVE_REVENGE,
+ MOVE_ROAR,
+ MOVE_ROCK_BLAST,
+ MOVE_ROLE_PLAY,
+ MOVE_ROLLING_KICK,
+ MOVE_SCRATCH,
+ MOVE_SECRET_POWER,
+ MOVE_SEISMIC_TOSS,
+ MOVE_SHOCK_WAVE,
+ MOVE_SKULL_BASH,
+ MOVE_SLACK_OFF,
+ MOVE_SLAM,
+ MOVE_SLEEP_POWDER,
+ MOVE_SLEEP_TALK,
+ MOVE_SLUDGE,
+ MOVE_SLUDGE_BOMB,
+ MOVE_SNATCH,
+ MOVE_SOFT_BOILED,
+ MOVE_SPIKE_CANNON,
+ MOVE_SPIKES,
+ MOVE_SPIT_UP,
+ MOVE_SPLASH,
+ MOVE_STEEL_WING,
+ MOVE_STOCKPILE,
+ MOVE_STOMP,
+ MOVE_STRUGGLE,
+ MOVE_SUBSTITUTE,
+ MOVE_SUNNY_DAY,
+ MOVE_SUPERPOWER,
+ MOVE_SUPERSONIC,
+ MOVE_SURF,
+ MOVE_SWALLOW,
+ MOVE_SWEET_KISS,
+ MOVE_SWORDS_DANCE,
+ MOVE_TACKLE,
+ MOVE_TAIL_GLOW,
+ MOVE_TAKE_DOWN,
+ MOVE_TAUNT,
+ MOVE_TEETER_DANCE,
+ MOVE_TELEPORT,
+ MOVE_THIEF,
+ MOVE_THUNDER_WAVE,
+ MOVE_THUNDER_SHOCK,
+ MOVE_TOXIC,
+ MOVE_TRANSFORM,
+ MOVE_TRI_ATTACK,
+ MOVE_TRICK,
+ MOVE_TRIPLE_KICK,
+ MOVE_TWINEEDLE,
+ MOVE_TWISTER,
+ MOVE_VICE_GRIP,
+ MOVE_VINE_WHIP,
+ MOVE_VOLT_TACKLE,
+ MOVE_WATER_GUN,
+ MOVE_WATER_PULSE,
+ MOVE_WATER_SPORT,
+ MOVE_WATERFALL,
+ MOVE_WHIRLWIND,
+ MOVE_WING_ATTACK,
+ MOVE_WISH,
+ MOVE_WRAP,
+ MOVE_ZAP_CANNON,
+};
diff --git a/src/data/easy_chat/easy_chat_group_people.h b/src/data/easy_chat/easy_chat_group_people.h
new file mode 100644
index 000000000..0e2bf936a
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_people.h
@@ -0,0 +1,454 @@
+
+const u8 gEasyChatWord_Opponent[] = _("OPPONENT");
+const u8 gEasyChatWord_I[] = _("I");
+const u8 gEasyChatWord_You[] = _("YOU");
+const u8 gEasyChatWord_Yours[] = _("YOURS");
+const u8 gEasyChatWord_Son[] = _("SON");
+const u8 gEasyChatWord_Your[] = _("YOUR");
+const u8 gEasyChatWord_Youre[] = _("YOU'RE");
+const u8 gEasyChatWord_Youve[] = _("YOU'VE");
+const u8 gEasyChatWord_Mother[] = _("MOTHER");
+const u8 gEasyChatWord_Grandfather[] = _("GRANDFATHER");
+const u8 gEasyChatWord_Uncle[] = _("UNCLE");
+const u8 gEasyChatWord_Father[] = _("FATHER");
+const u8 gEasyChatWord_Boy[] = _("BOY");
+const u8 gEasyChatWord_Adult[] = _("ADULT");
+const u8 gEasyChatWord_Brother[] = _("BROTHER");
+const u8 gEasyChatWord_Sister[] = _("SISTER");
+const u8 gEasyChatWord_Grandmother[] = _("GRANDMOTHER");
+const u8 gEasyChatWord_Aunt[] = _("AUNT");
+const u8 gEasyChatWord_Parent[] = _("PARENT");
+const u8 gEasyChatWord_Man[] = _("MAN");
+const u8 gEasyChatWord_Me[] = _("ME");
+const u8 gEasyChatWord_Girl[] = _("GIRL");
+const u8 gEasyChatWord_Babe[] = _("BABE");
+const u8 gEasyChatWord_Family[] = _("FAMILY");
+const u8 gEasyChatWord_Her[] = _("HER");
+const u8 gEasyChatWord_Him[] = _("HIM");
+const u8 gEasyChatWord_He[] = _("HE");
+const u8 gEasyChatWord_Place[] = _("PLACE");
+const u8 gEasyChatWord_Daughter[] = _("DAUGHTER");
+const u8 gEasyChatWord_His[] = _("HIS");
+const u8 gEasyChatWord_Hes[] = _("HE'S");
+const u8 gEasyChatWord_Arent[] = _("AREN'T");
+const u8 gEasyChatWord_Siblings[] = _("SIBLINGS");
+const u8 gEasyChatWord_Kid[] = _("KID");
+const u8 gEasyChatWord_Children[] = _("CHILDREN");
+const u8 gEasyChatWord_Mr[] = _("MR.");
+const u8 gEasyChatWord_Mrs[] = _("MRS.");
+const u8 gEasyChatWord_Myself[] = _("MYSELF");
+const u8 gEasyChatWord_IWas[] = _("I WAS");
+const u8 gEasyChatWord_ToMe[] = _("TO ME");
+const u8 gEasyChatWord_My[] = _("MY");
+const u8 gEasyChatWord_IAm[] = _("I AM");
+const u8 gEasyChatWord_Ive[] = _("I'VE");
+const u8 gEasyChatWord_Who[] = _("WHO");
+const u8 gEasyChatWord_Someone[] = _("SOMEONE");
+const u8 gEasyChatWord_WhoWas[] = _("WHO WAS");
+const u8 gEasyChatWord_ToWhom[] = _("TO WHOM");
+const u8 gEasyChatWord_Whose[] = _("WHOSE");
+const u8 gEasyChatWord_WhoIs[] = _("WHO IS");
+const u8 gEasyChatWord_Its[] = _("IT'S");
+const u8 gEasyChatWord_Lady[] = _("LADY");
+const u8 gEasyChatWord_Friend[] = _("FRIEND");
+const u8 gEasyChatWord_Ally[] = _("ALLY");
+const u8 gEasyChatWord_Person[] = _("PERSON");
+const u8 gEasyChatWord_Dude[] = _("DUDE");
+const u8 gEasyChatWord_They[] = _("THEY");
+const u8 gEasyChatWord_TheyWere[] = _("THEY WERE");
+const u8 gEasyChatWord_ToThem[] = _("TO THEM");
+const u8 gEasyChatWord_Their[] = _("THEIR");
+const u8 gEasyChatWord_Theyre[] = _("THEY'RE");
+const u8 gEasyChatWord_Theyve[] = _("THEY'VE");
+const u8 gEasyChatWord_We[] = _("WE");
+const u8 gEasyChatWord_Been[] = _("BEEN");
+const u8 gEasyChatWord_ToUs[] = _("TO US");
+const u8 gEasyChatWord_Our[] = _("OUR");
+const u8 gEasyChatWord_WeAre[] = _("WE'RE");
+const u8 gEasyChatWord_Rival[] = _("RIVAL");
+const u8 gEasyChatWord_Weve[] = _("WE'VE");
+const u8 gEasyChatWord_Woman[] = _("WOMAN");
+const u8 gEasyChatWord_She[] = _("SHE");
+const u8 gEasyChatWord_SheWas[] = _("SHE WAS");
+const u8 gEasyChatWord_ToHer[] = _("TO HER");
+const u8 gEasyChatWord_Hers[] = _("HERS");
+const u8 gEasyChatWord_SheIs[] = _("SHE IS");
+const u8 gEasyChatWord_Some[] = _("SOME");
+
+const struct EasyChatWordInfo gEasyChatGroup_People[] = {
+ {
+ .text = gEasyChatWord_Opponent,
+ .alphabeticalOrder = 13,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_I,
+ .alphabeticalOrder = 52,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_You,
+ .alphabeticalOrder = 31,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Yours,
+ .alphabeticalOrder = 17,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Son,
+ .alphabeticalOrder = 22,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Your,
+ .alphabeticalOrder = 62,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Youre,
+ .alphabeticalOrder = 12,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Youve,
+ .alphabeticalOrder = 14,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Mother,
+ .alphabeticalOrder = 34,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Grandfather,
+ .alphabeticalOrder = 28,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Uncle,
+ .alphabeticalOrder = 54,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Father,
+ .alphabeticalOrder = 23,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Boy,
+ .alphabeticalOrder = 11,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Adult,
+ .alphabeticalOrder = 51,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Brother,
+ .alphabeticalOrder = 21,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Sister,
+ .alphabeticalOrder = 9,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Grandmother,
+ .alphabeticalOrder = 16,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Aunt,
+ .alphabeticalOrder = 26,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Parent,
+ .alphabeticalOrder = 30,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Man,
+ .alphabeticalOrder = 24,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Me,
+ .alphabeticalOrder = 72,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Girl,
+ .alphabeticalOrder = 25,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Babe,
+ .alphabeticalOrder = 29,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Family,
+ .alphabeticalOrder = 1,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Her,
+ .alphabeticalOrder = 41,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Him,
+ .alphabeticalOrder = 38,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_He,
+ .alphabeticalOrder = 42,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Place,
+ .alphabeticalOrder = 49,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Daughter,
+ .alphabeticalOrder = 33,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_His,
+ .alphabeticalOrder = 50,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hes,
+ .alphabeticalOrder = 19,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Arent,
+ .alphabeticalOrder = 20,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Siblings,
+ .alphabeticalOrder = 8,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Kid,
+ .alphabeticalOrder = 35,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Children,
+ .alphabeticalOrder = 36,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Mr,
+ .alphabeticalOrder = 40,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Mrs,
+ .alphabeticalOrder = 37,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Myself,
+ .alphabeticalOrder = 0,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_IWas,
+ .alphabeticalOrder = 64,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ToMe,
+ .alphabeticalOrder = 18,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_My,
+ .alphabeticalOrder = 53,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_IAm,
+ .alphabeticalOrder = 27,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Ive,
+ .alphabeticalOrder = 66,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Who,
+ .alphabeticalOrder = 69,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Someone,
+ .alphabeticalOrder = 73,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_WhoWas,
+ .alphabeticalOrder = 70,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ToWhom,
+ .alphabeticalOrder = 32,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Whose,
+ .alphabeticalOrder = 15,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_WhoIs,
+ .alphabeticalOrder = 74,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Its,
+ .alphabeticalOrder = 44,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lady,
+ .alphabeticalOrder = 4,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Friend,
+ .alphabeticalOrder = 58,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Ally,
+ .alphabeticalOrder = 55,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Person,
+ .alphabeticalOrder = 56,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Dude,
+ .alphabeticalOrder = 59,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_They,
+ .alphabeticalOrder = 60,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_TheyWere,
+ .alphabeticalOrder = 71,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ToThem,
+ .alphabeticalOrder = 39,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Their,
+ .alphabeticalOrder = 57,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Theyre,
+ .alphabeticalOrder = 63,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Theyve,
+ .alphabeticalOrder = 46,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_We,
+ .alphabeticalOrder = 10,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Been,
+ .alphabeticalOrder = 61,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ToUs,
+ .alphabeticalOrder = 65,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Our,
+ .alphabeticalOrder = 67,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_WeAre,
+ .alphabeticalOrder = 43,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Rival,
+ .alphabeticalOrder = 48,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Weve,
+ .alphabeticalOrder = 45,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Woman,
+ .alphabeticalOrder = 47,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_She,
+ .alphabeticalOrder = 68,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_SheWas,
+ .alphabeticalOrder = 2,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ToHer,
+ .alphabeticalOrder = 6,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hers,
+ .alphabeticalOrder = 7,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_SheIs,
+ .alphabeticalOrder = 5,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Some,
+ .alphabeticalOrder = 3,
+ .enabled = TRUE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_group_pokemon.h b/src/data/easy_chat/easy_chat_group_pokemon.h
new file mode 100644
index 000000000..9993a5144
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_pokemon.h
@@ -0,0 +1,206 @@
+#include "constants/species.h"
+
+const u16 gEasyChatGroup_Pokemon[] = {
+ SPECIES_ABRA,
+ SPECIES_ABSOL,
+ SPECIES_AGGRON,
+ SPECIES_ALAKAZAM,
+ SPECIES_ALTARIA,
+ SPECIES_ANORITH,
+ SPECIES_ARMALDO,
+ SPECIES_ARON,
+ SPECIES_AZUMARILL,
+ SPECIES_AZURILL,
+ SPECIES_BAGON,
+ SPECIES_BALTOY,
+ SPECIES_BANETTE,
+ SPECIES_BARBOACH,
+ SPECIES_BEAUTIFLY,
+ SPECIES_BELDUM,
+ SPECIES_BELLOSSOM,
+ SPECIES_BLAZIKEN,
+ SPECIES_BRELOOM,
+ SPECIES_CACNEA,
+ SPECIES_CACTURNE,
+ SPECIES_CAMERUPT,
+ SPECIES_CARVANHA,
+ SPECIES_CASCOON,
+ SPECIES_CASTFORM,
+ SPECIES_CHIMECHO,
+ SPECIES_CHINCHOU,
+ SPECIES_CLAMPERL,
+ SPECIES_CLAYDOL,
+ SPECIES_COMBUSKEN,
+ SPECIES_CORPHISH,
+ SPECIES_CORSOLA,
+ SPECIES_CRADILY,
+ SPECIES_CRAWDAUNT,
+ SPECIES_CROBAT,
+ SPECIES_DELCATTY,
+ SPECIES_DEOXYS,
+ SPECIES_DODRIO,
+ SPECIES_DODUO,
+ SPECIES_DONPHAN,
+ SPECIES_DUSCLOPS,
+ SPECIES_DUSKULL,
+ SPECIES_DUSTOX,
+ SPECIES_ELECTRIKE,
+ SPECIES_ELECTRODE,
+ SPECIES_EXPLOUD,
+ SPECIES_FEEBAS,
+ SPECIES_FLYGON,
+ SPECIES_GARDEVOIR,
+ SPECIES_GEODUDE,
+ SPECIES_GIRAFARIG,
+ SPECIES_GLALIE,
+ SPECIES_GLOOM,
+ SPECIES_GOLBAT,
+ SPECIES_GOLDEEN,
+ SPECIES_GOLDUCK,
+ SPECIES_GOLEM,
+ SPECIES_GOREBYSS,
+ SPECIES_GRAVELER,
+ SPECIES_GRIMER,
+ SPECIES_GROUDON,
+ SPECIES_GROVYLE,
+ SPECIES_GRUMPIG,
+ SPECIES_GULPIN,
+ SPECIES_GYARADOS,
+ SPECIES_HARIYAMA,
+ SPECIES_HERACROSS,
+ SPECIES_HORSEA,
+ SPECIES_HUNTAIL,
+ SPECIES_IGGLYBUFF,
+ SPECIES_ILLUMISE,
+ SPECIES_JIGGLYPUFF,
+ SPECIES_JIRACHI,
+ SPECIES_KADABRA,
+ SPECIES_KECLEON,
+ SPECIES_KINGDRA,
+ SPECIES_KIRLIA,
+ SPECIES_KOFFING,
+ SPECIES_KYOGRE,
+ SPECIES_LAIRON,
+ SPECIES_LANTURN,
+ SPECIES_LATIAS,
+ SPECIES_LATIOS,
+ SPECIES_LILEEP,
+ SPECIES_LINOONE,
+ SPECIES_LOMBRE,
+ SPECIES_LOTAD,
+ SPECIES_LOUDRED,
+ SPECIES_LUDICOLO,
+ SPECIES_LUNATONE,
+ SPECIES_LUVDISC,
+ SPECIES_MACHAMP,
+ SPECIES_MACHOKE,
+ SPECIES_MACHOP,
+ SPECIES_MAGCARGO,
+ SPECIES_MAGIKARP,
+ SPECIES_MAGNEMITE,
+ SPECIES_MAGNETON,
+ SPECIES_MAKUHITA,
+ SPECIES_MANECTRIC,
+ SPECIES_MARILL,
+ SPECIES_MARSHTOMP,
+ SPECIES_MASQUERAIN,
+ SPECIES_MAWILE,
+ SPECIES_MEDICHAM,
+ SPECIES_MEDITITE,
+ SPECIES_METAGROSS,
+ SPECIES_METANG,
+ SPECIES_MIGHTYENA,
+ SPECIES_MILOTIC,
+ SPECIES_MINUN,
+ SPECIES_MUDKIP,
+ SPECIES_MUK,
+ SPECIES_NATU,
+ SPECIES_NINCADA,
+ SPECIES_NINETALES,
+ SPECIES_NINJASK,
+ SPECIES_NOSEPASS,
+ SPECIES_NUMEL,
+ SPECIES_NUZLEAF,
+ SPECIES_ODDISH,
+ SPECIES_PELIPPER,
+ SPECIES_PHANPY,
+ SPECIES_PICHU,
+ SPECIES_PIKACHU,
+ SPECIES_PINSIR,
+ SPECIES_PLUSLE,
+ SPECIES_POOCHYENA,
+ SPECIES_PSYDUCK,
+ SPECIES_RAICHU,
+ SPECIES_RALTS,
+ SPECIES_RAYQUAZA,
+ SPECIES_REGICE,
+ SPECIES_REGIROCK,
+ SPECIES_REGISTEEL,
+ SPECIES_RELICANTH,
+ SPECIES_RHYDON,
+ SPECIES_RHYHORN,
+ SPECIES_ROSELIA,
+ SPECIES_SABLEYE,
+ SPECIES_SALAMENCE,
+ SPECIES_SANDSHREW,
+ SPECIES_SANDSLASH,
+ SPECIES_SCEPTILE,
+ SPECIES_SEADRA,
+ SPECIES_SEAKING,
+ SPECIES_SEALEO,
+ SPECIES_SEEDOT,
+ SPECIES_SEVIPER,
+ SPECIES_SHARPEDO,
+ SPECIES_SHEDINJA,
+ SPECIES_SHELGON,
+ SPECIES_SHIFTRY,
+ SPECIES_SHROOMISH,
+ SPECIES_SHUPPET,
+ SPECIES_SILCOON,
+ SPECIES_SKARMORY,
+ SPECIES_SKITTY,
+ SPECIES_SLAKING,
+ SPECIES_SLAKOTH,
+ SPECIES_SLUGMA,
+ SPECIES_SNORUNT,
+ SPECIES_SOLROCK,
+ SPECIES_SPHEAL,
+ SPECIES_SPINDA,
+ SPECIES_SPOINK,
+ SPECIES_STARMIE,
+ SPECIES_STARYU,
+ SPECIES_SURSKIT,
+ SPECIES_SWABLU,
+ SPECIES_SWALOT,
+ SPECIES_SWAMPERT,
+ SPECIES_SWELLOW,
+ SPECIES_TAILLOW,
+ SPECIES_TENTACOOL,
+ SPECIES_TENTACRUEL,
+ SPECIES_TORCHIC,
+ SPECIES_TORKOAL,
+ SPECIES_TRAPINCH,
+ SPECIES_TREECKO,
+ SPECIES_TROPIUS,
+ SPECIES_VIBRAVA,
+ SPECIES_VIGOROTH,
+ SPECIES_VILEPLUME,
+ SPECIES_VOLBEAT,
+ SPECIES_VOLTORB,
+ SPECIES_VULPIX,
+ SPECIES_WAILMER,
+ SPECIES_WAILORD,
+ SPECIES_WALREIN,
+ SPECIES_WEEZING,
+ SPECIES_WHISCASH,
+ SPECIES_WHISMUR,
+ SPECIES_WIGGLYTUFF,
+ SPECIES_WINGULL,
+ SPECIES_WOBBUFFET,
+ SPECIES_WURMPLE,
+ SPECIES_WYNAUT,
+ SPECIES_XATU,
+ SPECIES_ZANGOOSE,
+ SPECIES_ZIGZAGOON,
+ SPECIES_ZUBAT,
+};
diff --git a/src/data/easy_chat/easy_chat_group_pokemon2.h b/src/data/easy_chat/easy_chat_group_pokemon2.h
new file mode 100644
index 000000000..35b0a03cb
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_pokemon2.h
@@ -0,0 +1,255 @@
+#include "constants/species.h"
+
+const u16 gEasyChatGroup_Pokemon2[] = {
+ SPECIES_ABRA,
+ SPECIES_AERODACTYL,
+ SPECIES_AIPOM,
+ SPECIES_ALAKAZAM,
+ SPECIES_AMPHAROS,
+ SPECIES_ARBOK,
+ SPECIES_ARCANINE,
+ SPECIES_ARIADOS,
+ SPECIES_ARTICUNO,
+ SPECIES_AZUMARILL,
+ SPECIES_BAYLEEF,
+ SPECIES_BEEDRILL,
+ SPECIES_BELLOSSOM,
+ SPECIES_BELLSPROUT,
+ SPECIES_BLASTOISE,
+ SPECIES_BLISSEY,
+ SPECIES_BULBASAUR,
+ SPECIES_BUTTERFREE,
+ SPECIES_CATERPIE,
+ SPECIES_CELEBI,
+ SPECIES_CHANSEY,
+ SPECIES_CHARIZARD,
+ SPECIES_CHARMANDER,
+ SPECIES_CHARMELEON,
+ SPECIES_CHIKORITA,
+ SPECIES_CHINCHOU,
+ SPECIES_CLEFABLE,
+ SPECIES_CLEFAIRY,
+ SPECIES_CLEFFA,
+ SPECIES_CLOYSTER,
+ SPECIES_CORSOLA,
+ SPECIES_CROBAT,
+ SPECIES_CROCONAW,
+ SPECIES_CUBONE,
+ SPECIES_CYNDAQUIL,
+ SPECIES_DELIBIRD,
+ SPECIES_DEWGONG,
+ SPECIES_DIGLETT,
+ SPECIES_DITTO,
+ SPECIES_DODRIO,
+ SPECIES_DODUO,
+ SPECIES_DONPHAN,
+ SPECIES_DRAGONAIR,
+ SPECIES_DRAGONITE,
+ SPECIES_DRATINI,
+ SPECIES_DROWZEE,
+ SPECIES_DUGTRIO,
+ SPECIES_DUNSPARCE,
+ SPECIES_EEVEE,
+ SPECIES_EKANS,
+ SPECIES_ELECTABUZZ,
+ SPECIES_ELECTRODE,
+ SPECIES_ELEKID,
+ SPECIES_ENTEI,
+ SPECIES_ESPEON,
+ SPECIES_EXEGGCUTE,
+ SPECIES_EXEGGUTOR,
+ SPECIES_FARFETCHD,
+ SPECIES_FEAROW,
+ SPECIES_FERALIGATR,
+ SPECIES_FLAAFFY,
+ SPECIES_FLAREON,
+ SPECIES_FORRETRESS,
+ SPECIES_FURRET,
+ SPECIES_GASTLY,
+ SPECIES_GENGAR,
+ SPECIES_GEODUDE,
+ SPECIES_GIRAFARIG,
+ SPECIES_GLIGAR,
+ SPECIES_GLOOM,
+ SPECIES_GOLBAT,
+ SPECIES_GOLDEEN,
+ SPECIES_GOLDUCK,
+ SPECIES_GOLEM,
+ SPECIES_GRANBULL,
+ SPECIES_GRAVELER,
+ SPECIES_GRIMER,
+ SPECIES_GROWLITHE,
+ SPECIES_GYARADOS,
+ SPECIES_HAUNTER,
+ SPECIES_HERACROSS,
+ SPECIES_HITMONCHAN,
+ SPECIES_HITMONLEE,
+ SPECIES_HITMONTOP,
+ SPECIES_HO_OH,
+ SPECIES_HOOTHOOT,
+ SPECIES_HOPPIP,
+ SPECIES_HORSEA,
+ SPECIES_HOUNDOOM,
+ SPECIES_HOUNDOUR,
+ SPECIES_HYPNO,
+ SPECIES_IGGLYBUFF,
+ SPECIES_IVYSAUR,
+ SPECIES_JIGGLYPUFF,
+ SPECIES_JOLTEON,
+ SPECIES_JUMPLUFF,
+ SPECIES_JYNX,
+ SPECIES_KABUTO,
+ SPECIES_KABUTOPS,
+ SPECIES_KADABRA,
+ SPECIES_KAKUNA,
+ SPECIES_KANGASKHAN,
+ SPECIES_KINGDRA,
+ SPECIES_KINGLER,
+ SPECIES_KOFFING,
+ SPECIES_KRABBY,
+ SPECIES_LANTURN,
+ SPECIES_LAPRAS,
+ SPECIES_LARVITAR,
+ SPECIES_LEDIAN,
+ SPECIES_LEDYBA,
+ SPECIES_LICKITUNG,
+ SPECIES_LUGIA,
+ SPECIES_MACHAMP,
+ SPECIES_MACHOKE,
+ SPECIES_MACHOP,
+ SPECIES_MAGBY,
+ SPECIES_MAGCARGO,
+ SPECIES_MAGIKARP,
+ SPECIES_MAGMAR,
+ SPECIES_MAGNEMITE,
+ SPECIES_MAGNETON,
+ SPECIES_MANKEY,
+ SPECIES_MANTINE,
+ SPECIES_MAREEP,
+ SPECIES_MARILL,
+ SPECIES_MAROWAK,
+ SPECIES_MEGANIUM,
+ SPECIES_MEOWTH,
+ SPECIES_METAPOD,
+ SPECIES_MEW,
+ SPECIES_MEWTWO,
+ SPECIES_MILTANK,
+ SPECIES_MISDREAVUS,
+ SPECIES_MOLTRES,
+ SPECIES_MR_MIME,
+ SPECIES_MUK,
+ SPECIES_MURKROW,
+ SPECIES_NATU,
+ SPECIES_NIDOKING,
+ SPECIES_NIDOQUEEN,
+ SPECIES_NIDORAN_F,
+ SPECIES_NIDORAN_M,
+ SPECIES_NIDORINA,
+ SPECIES_NIDORINO,
+ SPECIES_NINETALES,
+ SPECIES_NOCTOWL,
+ SPECIES_OCTILLERY,
+ SPECIES_ODDISH,
+ SPECIES_OMANYTE,
+ SPECIES_OMASTAR,
+ SPECIES_ONIX,
+ SPECIES_PARAS,
+ SPECIES_PARASECT,
+ SPECIES_PERSIAN,
+ SPECIES_PHANPY,
+ SPECIES_PICHU,
+ SPECIES_PIDGEOT,
+ SPECIES_PIDGEOTTO,
+ SPECIES_PIDGEY,
+ SPECIES_PIKACHU,
+ SPECIES_PILOSWINE,
+ SPECIES_PINECO,
+ SPECIES_PINSIR,
+ SPECIES_POLITOED,
+ SPECIES_POLIWAG,
+ SPECIES_POLIWHIRL,
+ SPECIES_POLIWRATH,
+ SPECIES_PONYTA,
+ SPECIES_PORYGON,
+ SPECIES_PORYGON2,
+ SPECIES_PRIMEAPE,
+ SPECIES_PSYDUCK,
+ SPECIES_PUPITAR,
+ SPECIES_QUAGSIRE,
+ SPECIES_QUILAVA,
+ SPECIES_QWILFISH,
+ SPECIES_RAICHU,
+ SPECIES_RAIKOU,
+ SPECIES_RAPIDASH,
+ SPECIES_RATICATE,
+ SPECIES_RATTATA,
+ SPECIES_REMORAID,
+ SPECIES_RHYDON,
+ SPECIES_RHYHORN,
+ SPECIES_SANDSHREW,
+ SPECIES_SANDSLASH,
+ SPECIES_SCIZOR,
+ SPECIES_SCYTHER,
+ SPECIES_SEADRA,
+ SPECIES_SEAKING,
+ SPECIES_SEEL,
+ SPECIES_SENTRET,
+ SPECIES_SHELLDER,
+ SPECIES_SHUCKLE,
+ SPECIES_SKARMORY,
+ SPECIES_SKIPLOOM,
+ SPECIES_SLOWBRO,
+ SPECIES_SLOWKING,
+ SPECIES_SLOWPOKE,
+ SPECIES_SLUGMA,
+ SPECIES_SMEARGLE,
+ SPECIES_SMOOCHUM,
+ SPECIES_SNEASEL,
+ SPECIES_SNORLAX,
+ SPECIES_SNUBBULL,
+ SPECIES_SPEAROW,
+ SPECIES_SPINARAK,
+ SPECIES_SQUIRTLE,
+ SPECIES_STANTLER,
+ SPECIES_STARMIE,
+ SPECIES_STARYU,
+ SPECIES_STEELIX,
+ SPECIES_SUDOWOODO,
+ SPECIES_SUICUNE,
+ SPECIES_SUNFLORA,
+ SPECIES_SUNKERN,
+ SPECIES_SWINUB,
+ SPECIES_TANGELA,
+ SPECIES_TAUROS,
+ SPECIES_TEDDIURSA,
+ SPECIES_TENTACOOL,
+ SPECIES_TENTACRUEL,
+ SPECIES_TOGEPI,
+ SPECIES_TOGETIC,
+ SPECIES_TOTODILE,
+ SPECIES_TYPHLOSION,
+ SPECIES_TYRANITAR,
+ SPECIES_TYROGUE,
+ SPECIES_UMBREON,
+ SPECIES_UNOWN,
+ SPECIES_URSARING,
+ SPECIES_VAPOREON,
+ SPECIES_VENOMOTH,
+ SPECIES_VENONAT,
+ SPECIES_VENUSAUR,
+ SPECIES_VICTREEBEL,
+ SPECIES_VILEPLUME,
+ SPECIES_VOLTORB,
+ SPECIES_VULPIX,
+ SPECIES_WARTORTLE,
+ SPECIES_WEEDLE,
+ SPECIES_WEEPINBELL,
+ SPECIES_WEEZING,
+ SPECIES_WIGGLYTUFF,
+ SPECIES_WOBBUFFET,
+ SPECIES_WOOPER,
+ SPECIES_XATU,
+ SPECIES_YANMA,
+ SPECIES_ZAPDOS,
+ SPECIES_ZUBAT,
+};
diff --git a/src/data/easy_chat/easy_chat_group_speech.h b/src/data/easy_chat/easy_chat_group_speech.h
new file mode 100644
index 000000000..626a4c012
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_speech.h
@@ -0,0 +1,364 @@
+
+const u8 gEasyChatWord_Listen[] = _("LISTEN");
+const u8 gEasyChatWord_NotVery[] = _("NOT VERY");
+const u8 gEasyChatWord_Mean[] = _("MEAN");
+const u8 gEasyChatWord_Lie[] = _("LIE");
+const u8 gEasyChatWord_Lay[] = _("LAY");
+const u8 gEasyChatWord_Recommend[] = _("RECOMMEND");
+const u8 gEasyChatWord_Nitwit[] = _("NITWIT");
+const u8 gEasyChatWord_Quite[] = _("QUITE");
+const u8 gEasyChatWord_From[] = _("FROM");
+const u8 gEasyChatWord_Feeling[] = _("FEELING");
+const u8 gEasyChatWord_But[] = _("BUT");
+const u8 gEasyChatWord_However[] = _("HOWEVER");
+const u8 gEasyChatWord_Case[] = _("CASE");
+const u8 gEasyChatWord_The[] = _("THE");
+const u8 gEasyChatWord_Miss[] = _("MISS");
+const u8 gEasyChatWord_How[] = _("HOW");
+const u8 gEasyChatWord_Hit[] = _("HIT");
+const u8 gEasyChatWord_Enough[] = _("ENOUGH");
+const u8 gEasyChatWord_ALot[] = _("A LOT");
+const u8 gEasyChatWord_ALittle[] = _("A LITTLE");
+const u8 gEasyChatWord_Absolutely[] = _("ABSOLUTELY");
+const u8 gEasyChatWord_And[] = _("AND");
+const u8 gEasyChatWord_Only[] = _("ONLY");
+const u8 gEasyChatWord_Around[] = _("AROUND");
+const u8 gEasyChatWord_Probably[] = _("PROBABLY");
+const u8 gEasyChatWord_If[] = _("IF");
+const u8 gEasyChatWord_Very[] = _("VERY");
+const u8 gEasyChatWord_ATinyBit[] = _("A TINY BIT");
+const u8 gEasyChatWord_Wild[] = _("WILD");
+const u8 gEasyChatWord_Thats[] = _("THAT'S");
+const u8 gEasyChatWord_Just[] = _("JUST");
+const u8 gEasyChatWord_EvenSo[] = _("EVEN SO,");
+const u8 gEasyChatWord_MustBe[] = _("MUST BE");
+const u8 gEasyChatWord_Naturally[] = _("NATURALLY");
+const u8 gEasyChatWord_ForNow[] = _("FOR NOW,");
+const u8 gEasyChatWord_Understood[] = _("UNDERSTOOD");
+const u8 gEasyChatWord_Joking[] = _("JOKING");
+const u8 gEasyChatWord_Ready[] = _("READY");
+const u8 gEasyChatWord_Something[] = _("SOMETHING");
+const u8 gEasyChatWord_Somehow[] = _("SOMEHOW");
+const u8 gEasyChatWord_Although[] = _("ALTHOUGH");
+const u8 gEasyChatWord_Also[] = _("ALSO");
+const u8 gEasyChatWord_Perfect[] = _("PERFECT");
+const u8 gEasyChatWord_AsMuchAs[] = _("AS MUCH AS");
+const u8 gEasyChatWord_Really[] = _("REALLY");
+const u8 gEasyChatWord_Truly[] = _("TRULY");
+const u8 gEasyChatWord_Seriously[] = _("SERIOUSLY");
+const u8 gEasyChatWord_Totally[] = _("TOTALLY");
+const u8 gEasyChatWord_Until[] = _("UNTIL");
+const u8 gEasyChatWord_AsIf[] = _("AS IF");
+const u8 gEasyChatWord_Mood[] = _("MOOD");
+const u8 gEasyChatWord_Rather[] = _("RATHER");
+const u8 gEasyChatWord_Awfully[] = _("AWFULLY");
+const u8 gEasyChatWord_Mode[] = _("MODE");
+const u8 gEasyChatWord_More[] = _("MORE");
+const u8 gEasyChatWord_TooLate[] = _("TOO LATE");
+const u8 gEasyChatWord_Finally[] = _("FINALLY");
+const u8 gEasyChatWord_Any[] = _("ANY");
+const u8 gEasyChatWord_Instead[] = _("INSTEAD");
+const u8 gEasyChatWord_Fantastic[] = _("FANTASTIC");
+
+const struct EasyChatWordInfo gEasyChatGroup_Speech[] = {
+ {
+ .text = gEasyChatWord_Listen,
+ .alphabeticalOrder = 19,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_NotVery,
+ .alphabeticalOrder = 18,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Mean,
+ .alphabeticalOrder = 27,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lie,
+ .alphabeticalOrder = 20,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lay,
+ .alphabeticalOrder = 41,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Recommend,
+ .alphabeticalOrder = 40,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Nitwit,
+ .alphabeticalOrder = 21,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Quite,
+ .alphabeticalOrder = 57,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_From,
+ .alphabeticalOrder = 23,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Feeling,
+ .alphabeticalOrder = 49,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_But,
+ .alphabeticalOrder = 43,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_However,
+ .alphabeticalOrder = 52,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Case,
+ .alphabeticalOrder = 10,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_The,
+ .alphabeticalOrder = 12,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Miss,
+ .alphabeticalOrder = 17,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_How,
+ .alphabeticalOrder = 31,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hit,
+ .alphabeticalOrder = 59,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Enough,
+ .alphabeticalOrder = 9,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ALot,
+ .alphabeticalOrder = 56,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ALittle,
+ .alphabeticalOrder = 34,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Absolutely,
+ .alphabeticalOrder = 8,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_And,
+ .alphabeticalOrder = 16,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Only,
+ .alphabeticalOrder = 15,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Around,
+ .alphabeticalOrder = 11,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Probably,
+ .alphabeticalOrder = 25,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_If,
+ .alphabeticalOrder = 58,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Very,
+ .alphabeticalOrder = 36,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ATinyBit,
+ .alphabeticalOrder = 30,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Wild,
+ .alphabeticalOrder = 4,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Thats,
+ .alphabeticalOrder = 3,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Just,
+ .alphabeticalOrder = 0,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_EvenSo,
+ .alphabeticalOrder = 2,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_MustBe,
+ .alphabeticalOrder = 14,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Naturally,
+ .alphabeticalOrder = 53,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ForNow,
+ .alphabeticalOrder = 50,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Understood,
+ .alphabeticalOrder = 54,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Joking,
+ .alphabeticalOrder = 32,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Ready,
+ .alphabeticalOrder = 33,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Something,
+ .alphabeticalOrder = 6,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Somehow,
+ .alphabeticalOrder = 1,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Although,
+ .alphabeticalOrder = 22,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Also,
+ .alphabeticalOrder = 42,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Perfect,
+ .alphabeticalOrder = 24,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_AsMuchAs,
+ .alphabeticalOrder = 7,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Really,
+ .alphabeticalOrder = 51,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Truly,
+ .alphabeticalOrder = 37,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Seriously,
+ .alphabeticalOrder = 44,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Totally,
+ .alphabeticalOrder = 5,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Until,
+ .alphabeticalOrder = 46,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_AsIf,
+ .alphabeticalOrder = 39,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Mood,
+ .alphabeticalOrder = 38,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Rather,
+ .alphabeticalOrder = 29,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Awfully,
+ .alphabeticalOrder = 13,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Mode,
+ .alphabeticalOrder = 55,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_More,
+ .alphabeticalOrder = 47,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_TooLate,
+ .alphabeticalOrder = 45,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Finally,
+ .alphabeticalOrder = 35,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Any,
+ .alphabeticalOrder = 48,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Instead,
+ .alphabeticalOrder = 26,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Fantastic,
+ .alphabeticalOrder = 28,
+ .enabled = TRUE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_group_status.h b/src/data/easy_chat/easy_chat_group_status.h
new file mode 100644
index 000000000..73faa1978
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_status.h
@@ -0,0 +1,658 @@
+
+const u8 gEasyChatWord_Dark[] = _("DARK");
+const u8 gEasyChatWord_Stench[] = _("STENCH");
+const u8 gEasyChatWord_ThickFat[] = _("THICK FAT");
+const u8 gEasyChatWord_RainDish[] = _("RAIN DISH");
+const u8 gEasyChatWord_Drizzle[] = _("DRIZZLE");
+const u8 gEasyChatWord_ArenaTrap[] = _("ARENA TRAP");
+const u8 gEasyChatWord_Intimidate[] = _("INTIMIDATE");
+const u8 gEasyChatWord_RockHead[] = _("ROCK HEAD");
+const u8 gEasyChatWord_Color[] = _("COLOR");
+const u8 gEasyChatWord_AltColor[] = _("ALT. COLOR");
+const u8 gEasyChatWord_Rock[] = _("ROCK");
+const u8 gEasyChatWord_Beautiful[] = _("BEAUTIFUL");
+const u8 gEasyChatWord_Beauty[] = _("BEAUTY");
+const u8 gEasyChatWord_AirLock[] = _("AIR LOCK");
+const u8 gEasyChatWord_Psychic[] = _("PSYCHIC");
+const u8 gEasyChatWord_HyperCutter[] = _("HYPER CUTTER");
+const u8 gEasyChatWord_Fighting[] = _("FIGHTING");
+const u8 gEasyChatWord_ShadowTag[] = _("SHADOW TAG");
+const u8 gEasyChatWord_Smart[] = _("SMART");
+const u8 gEasyChatWord_Smartness[] = _("SMARTNESS");
+const u8 gEasyChatWord_SpeedBoost[] = _("SPEED BOOST");
+const u8 gEasyChatWord_Cool[] = _("COOL");
+const u8 gEasyChatWord_Coolness[] = _("COOLNESS");
+const u8 gEasyChatWord_BattleArmor[] = _("BATTLE ARMOR");
+const u8 gEasyChatWord_Cute[] = _("CUTE");
+const u8 gEasyChatWord_Cuteness[] = _("CUTENESS");
+const u8 gEasyChatWord_Sturdy[] = _("STURDY");
+const u8 gEasyChatWord_SuctionCups[] = _("SUCTION CUPS");
+const u8 gEasyChatWord_Grass[] = _("GRASS");
+const u8 gEasyChatWord_ClearBody[] = _("CLEAR BODY");
+const u8 gEasyChatWord_Torrent[] = _("TORRENT");
+const u8 gEasyChatWord_Ghost[] = _("GHOST");
+const u8 gEasyChatWord_Ice[] = _("ICE");
+const u8 gEasyChatWord_Guts[] = _("GUTS");
+const u8 gEasyChatWord_RoughSkin[] = _("ROUGH SKIN");
+const u8 gEasyChatWord_ShellArmor[] = _("SHELL ARMOR");
+const u8 gEasyChatWord_NaturalCure[] = _("NATURAL CURE");
+const u8 gEasyChatWord_Damp[] = _("DAMP");
+const u8 gEasyChatWord_Ground[] = _("GROUND");
+const u8 gEasyChatWord_Limber[] = _("LIMBER");
+const u8 gEasyChatWord_MagnetPull[] = _("MAGNET PULL");
+const u8 gEasyChatWord_WhiteSmoke[] = _("WHITE SMOKE");
+const u8 gEasyChatWord_Synchronize[] = _("SYNCHRONIZE");
+const u8 gEasyChatWord_Overgrow[] = _("OVERGROW");
+const u8 gEasyChatWord_SwiftSwim[] = _("SWIFT SWIM");
+const u8 gEasyChatWord_SandStream[] = _("SAND STREAM");
+const u8 gEasyChatWord_SandVeil[] = _("SAND VEIL");
+const u8 gEasyChatWord_KeenEye[] = _("KEEN EYE");
+const u8 gEasyChatWord_InnerFocus[] = _("INNER FOCUS");
+const u8 gEasyChatWord_Static[] = _("STATIC");
+const u8 gEasyChatWord_Type[] = _("TYPE");
+const u8 gEasyChatWord_Tough[] = _("TOUGH");
+const u8 gEasyChatWord_Toughness[] = _("TOUGHNESS");
+const u8 gEasyChatWord_ShedSkin[] = _("SHED SKIN");
+const u8 gEasyChatWord_HugePower[] = _("HUGE POWER");
+const u8 gEasyChatWord_VoltAbsorb[] = _("VOLT ABSORB");
+const u8 gEasyChatWord_WaterAbsorb[] = _("WATER ABSORB");
+const u8 gEasyChatWord_Electric[] = _("ELECTRIC");
+const u8 gEasyChatWord_Forecast[] = _("FORECAST");
+const u8 gEasyChatWord_SereneGrace[] = _("SERENE GRACE");
+const u8 gEasyChatWord_Poison[] = _("POISON");
+const u8 gEasyChatWord_PoisonPoint[] = _("POISON POINT");
+const u8 gEasyChatWord_Dragon[] = _("DRAGON");
+const u8 gEasyChatWord_Trace[] = _("TRACE");
+const u8 gEasyChatWord_Oblivious[] = _("OBLIVIOUS");
+const u8 gEasyChatWord_Truant[] = _("TRUANT");
+const u8 gEasyChatWord_RunAway[] = _("RUN AWAY");
+const u8 gEasyChatWord_StickyHold[] = _("STICKY HOLD");
+const u8 gEasyChatWord_CloudNine[] = _("CLOUD NINE");
+const u8 gEasyChatWord_Normal[] = _("NORMAL");
+const u8 gEasyChatWord_Steel[] = _("STEEL");
+const u8 gEasyChatWord_Illuminate[] = _("ILLUMINATE");
+const u8 gEasyChatWord_EarlyBird[] = _("EARLY BIRD");
+const u8 gEasyChatWord_Hustle[] = _("HUSTLE");
+const u8 gEasyChatWord_Shine[] = _("SHINE");
+const u8 gEasyChatWord_Flying[] = _("FLYING");
+const u8 gEasyChatWord_Drought[] = _("DROUGHT");
+const u8 gEasyChatWord_Lightningrod[] = _("LIGHTNINGROD");
+const u8 gEasyChatWord_Compoundeyes[] = _("COMPOUNDEYES");
+const u8 gEasyChatWord_MarvelScale[] = _("MARVEL SCALE");
+const u8 gEasyChatWord_WonderGuard[] = _("WONDER GUARD");
+const u8 gEasyChatWord_Insomnia[] = _("INSOMNIA");
+const u8 gEasyChatWord_Levitate[] = _("LEVITATE");
+const u8 gEasyChatWord_Plus[] = _("PLUS");
+const u8 gEasyChatWord_Pressure[] = _("PRESSURE");
+const u8 gEasyChatWord_LiquidOoze[] = _("LIQUID OOZE");
+const u8 gEasyChatWord_ColorChange[] = _("COLOR CHANGE");
+const u8 gEasyChatWord_Soundproof[] = _("SOUNDPROOF");
+const u8 gEasyChatWord_EffectSpore[] = _("EFFECT SPORE");
+const u8 gEasyChatWord_Pkrs[] = _("{PK}RS");
+const u8 gEasyChatWord_Fire[] = _("FIRE");
+const u8 gEasyChatWord_FlameBody[] = _("FLAME BODY");
+const u8 gEasyChatWord_Minus[] = _("MINUS");
+const u8 gEasyChatWord_OwnTempo[] = _("OWN TEMPO");
+const u8 gEasyChatWord_MagmaArmor[] = _("MAGMA ARMOR");
+const u8 gEasyChatWord_Water[] = _("WATER");
+const u8 gEasyChatWord_WaterVeil[] = _("WATER VEIL");
+const u8 gEasyChatWord_Bug[] = _("BUG");
+const u8 gEasyChatWord_Swarm[] = _("SWARM");
+const u8 gEasyChatWord_CuteCharm[] = _("CUTE CHARM");
+const u8 gEasyChatWord_Immunity[] = _("IMMUNITY");
+const u8 gEasyChatWord_Blaze[] = _("BLAZE");
+const u8 gEasyChatWord_Pickup[] = _("PICKUP");
+const u8 gEasyChatWord_Pattern[] = _("PATTERN");
+const u8 gEasyChatWord_FlashFire[] = _("FLASH FIRE");
+const u8 gEasyChatWord_VitalSpirit[] = _("VITAL SPIRIT");
+const u8 gEasyChatWord_Chlorophyll[] = _("CHLOROPHYLL");
+const u8 gEasyChatWord_PurePower[] = _("PURE POWER");
+const u8 gEasyChatWord_ShieldDust[] = _("SHIELD DUST");
+
+const struct EasyChatWordInfo gEasyChatGroup_Status[] = {
+ {
+ .text = gEasyChatWord_Dark,
+ .alphabeticalOrder = 13,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Stench,
+ .alphabeticalOrder = 9,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ThickFat,
+ .alphabeticalOrder = 5,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_RainDish,
+ .alphabeticalOrder = 23,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Drizzle,
+ .alphabeticalOrder = 11,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ArenaTrap,
+ .alphabeticalOrder = 12,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Intimidate,
+ .alphabeticalOrder = 101,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_RockHead,
+ .alphabeticalOrder = 97,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Color,
+ .alphabeticalOrder = 106,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_AltColor,
+ .alphabeticalOrder = 29,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Rock,
+ .alphabeticalOrder = 68,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Beautiful,
+ .alphabeticalOrder = 8,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Beauty,
+ .alphabeticalOrder = 86,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_AirLock,
+ .alphabeticalOrder = 78,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Psychic,
+ .alphabeticalOrder = 21,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_HyperCutter,
+ .alphabeticalOrder = 22,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Fighting,
+ .alphabeticalOrder = 24,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ShadowTag,
+ .alphabeticalOrder = 99,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Smart,
+ .alphabeticalOrder = 25,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Smartness,
+ .alphabeticalOrder = 37,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_SpeedBoost,
+ .alphabeticalOrder = 0,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Cool,
+ .alphabeticalOrder = 62,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Coolness,
+ .alphabeticalOrder = 4,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_BattleArmor,
+ .alphabeticalOrder = 76,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Cute,
+ .alphabeticalOrder = 72,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Cuteness,
+ .alphabeticalOrder = 88,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Sturdy,
+ .alphabeticalOrder = 57,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_SuctionCups,
+ .alphabeticalOrder = 16,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Grass,
+ .alphabeticalOrder = 90,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ClearBody,
+ .alphabeticalOrder = 91,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Torrent,
+ .alphabeticalOrder = 104,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Ghost,
+ .alphabeticalOrder = 75,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Ice,
+ .alphabeticalOrder = 58,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Guts,
+ .alphabeticalOrder = 31,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_RoughSkin,
+ .alphabeticalOrder = 28,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ShellArmor,
+ .alphabeticalOrder = 38,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_NaturalCure,
+ .alphabeticalOrder = 33,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Damp,
+ .alphabeticalOrder = 54,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Ground,
+ .alphabeticalOrder = 73,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Limber,
+ .alphabeticalOrder = 15,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_MagnetPull,
+ .alphabeticalOrder = 32,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_WhiteSmoke,
+ .alphabeticalOrder = 71,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Synchronize,
+ .alphabeticalOrder = 100,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Overgrow,
+ .alphabeticalOrder = 48,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_SwiftSwim,
+ .alphabeticalOrder = 81,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_SandStream,
+ .alphabeticalOrder = 6,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_SandVeil,
+ .alphabeticalOrder = 47,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_KeenEye,
+ .alphabeticalOrder = 82,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_InnerFocus,
+ .alphabeticalOrder = 77,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Static,
+ .alphabeticalOrder = 39,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Type,
+ .alphabeticalOrder = 85,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Tough,
+ .alphabeticalOrder = 94,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Toughness,
+ .alphabeticalOrder = 40,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ShedSkin,
+ .alphabeticalOrder = 79,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_HugePower,
+ .alphabeticalOrder = 92,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_VoltAbsorb,
+ .alphabeticalOrder = 36,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_WaterAbsorb,
+ .alphabeticalOrder = 69,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Electric,
+ .alphabeticalOrder = 64,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Forecast,
+ .alphabeticalOrder = 43,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_SereneGrace,
+ .alphabeticalOrder = 93,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Poison,
+ .alphabeticalOrder = 103,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_PoisonPoint,
+ .alphabeticalOrder = 102,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Dragon,
+ .alphabeticalOrder = 89,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Trace,
+ .alphabeticalOrder = 83,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Oblivious,
+ .alphabeticalOrder = 60,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Truant,
+ .alphabeticalOrder = 61,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_RunAway,
+ .alphabeticalOrder = 84,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_StickyHold,
+ .alphabeticalOrder = 14,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_CloudNine,
+ .alphabeticalOrder = 107,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Normal,
+ .alphabeticalOrder = 3,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Steel,
+ .alphabeticalOrder = 10,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Illuminate,
+ .alphabeticalOrder = 7,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_EarlyBird,
+ .alphabeticalOrder = 34,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hustle,
+ .alphabeticalOrder = 66,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Shine,
+ .alphabeticalOrder = 45,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Flying,
+ .alphabeticalOrder = 46,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Drought,
+ .alphabeticalOrder = 59,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lightningrod,
+ .alphabeticalOrder = 17,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Compoundeyes,
+ .alphabeticalOrder = 53,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_MarvelScale,
+ .alphabeticalOrder = 35,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_WonderGuard,
+ .alphabeticalOrder = 108,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Insomnia,
+ .alphabeticalOrder = 74,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Levitate,
+ .alphabeticalOrder = 18,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Plus,
+ .alphabeticalOrder = 19,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Pressure,
+ .alphabeticalOrder = 87,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_LiquidOoze,
+ .alphabeticalOrder = 20,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ColorChange,
+ .alphabeticalOrder = 49,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Soundproof,
+ .alphabeticalOrder = 70,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_EffectSpore,
+ .alphabeticalOrder = 1,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Pkrs,
+ .alphabeticalOrder = 67,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Fire,
+ .alphabeticalOrder = 26,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_FlameBody,
+ .alphabeticalOrder = 27,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Minus,
+ .alphabeticalOrder = 98,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_OwnTempo,
+ .alphabeticalOrder = 44,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_MagmaArmor,
+ .alphabeticalOrder = 42,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Water,
+ .alphabeticalOrder = 2,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_WaterVeil,
+ .alphabeticalOrder = 30,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Bug,
+ .alphabeticalOrder = 51,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Swarm,
+ .alphabeticalOrder = 52,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_CuteCharm,
+ .alphabeticalOrder = 63,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Immunity,
+ .alphabeticalOrder = 65,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Blaze,
+ .alphabeticalOrder = 50,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Pickup,
+ .alphabeticalOrder = 105,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Pattern,
+ .alphabeticalOrder = 55,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_FlashFire,
+ .alphabeticalOrder = 95,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_VitalSpirit,
+ .alphabeticalOrder = 56,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Chlorophyll,
+ .alphabeticalOrder = 96,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_PurePower,
+ .alphabeticalOrder = 41,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ShieldDust,
+ .alphabeticalOrder = 80,
+ .enabled = TRUE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_group_time.h b/src/data/easy_chat/easy_chat_group_time.h
new file mode 100644
index 000000000..6ea1caee6
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_time.h
@@ -0,0 +1,274 @@
+
+const u8 gEasyChatWord_Fall[] = _("FALL");
+const u8 gEasyChatWord_Morning[] = _("MORNING");
+const u8 gEasyChatWord_Tomorrow[] = _("TOMORROW");
+const u8 gEasyChatWord_Last[] = _("LAST");
+const u8 gEasyChatWord_Day[] = _("DAY");
+const u8 gEasyChatWord_Sometime[] = _("SOMETIME");
+const u8 gEasyChatWord_Always[] = _("ALWAYS");
+const u8 gEasyChatWord_Current[] = _("CURRENT");
+const u8 gEasyChatWord_Forever[] = _("FOREVER");
+const u8 gEasyChatWord_Days[] = _("DAYS");
+const u8 gEasyChatWord_End[] = _("END");
+const u8 gEasyChatWord_Tuesday[] = _("TUESDAY");
+const u8 gEasyChatWord_Yesterday[] = _("YESTERDAY");
+const u8 gEasyChatWord_Today[] = _("TODAY");
+const u8 gEasyChatWord_Friday[] = _("FRIDAY");
+const u8 gEasyChatWord_Monday[] = _("MONDAY");
+const u8 gEasyChatWord_Later[] = _("LATER");
+const u8 gEasyChatWord_Earlier[] = _("EARLIER");
+const u8 gEasyChatWord_Another[] = _("ANOTHER");
+const u8 gEasyChatWord_Time[] = _("TIME");
+const u8 gEasyChatWord_Finish[] = _("FINISH");
+const u8 gEasyChatWord_Wednesday[] = _("WEDNESDAY");
+const u8 gEasyChatWord_Soon[] = _("SOON");
+const u8 gEasyChatWord_Start[] = _("START");
+const u8 gEasyChatWord_Month[] = _("MONTH");
+const u8 gEasyChatWord_Stop[] = _("STOP");
+const u8 gEasyChatWord_Now[] = _("NOW");
+const u8 gEasyChatWord_Final[] = _("FINAL");
+const u8 gEasyChatWord_Next[] = _("NEXT");
+const u8 gEasyChatWord_Age[] = _("AGE");
+const u8 gEasyChatWord_Saturday[] = _("SATURDAY");
+const u8 gEasyChatWord_Summer[] = _("SUMMER");
+const u8 gEasyChatWord_Sunday[] = _("SUNDAY");
+const u8 gEasyChatWord_Beginning[] = _("BEGINNING");
+const u8 gEasyChatWord_Spring[] = _("SPRING");
+const u8 gEasyChatWord_Daytime[] = _("DAYTIME");
+const u8 gEasyChatWord_Winter[] = _("WINTER");
+const u8 gEasyChatWord_Daily[] = _("DAILY");
+const u8 gEasyChatWord_Olden[] = _("OLDEN");
+const u8 gEasyChatWord_Almost[] = _("ALMOST");
+const u8 gEasyChatWord_Nearly[] = _("NEARLY");
+const u8 gEasyChatWord_Thursday[] = _("THURSDAY");
+const u8 gEasyChatWord_Nighttime[] = _("NIGHTTIME");
+const u8 gEasyChatWord_Night[] = _("NIGHT");
+const u8 gEasyChatWord_Week[] = _("WEEK");
+
+const struct EasyChatWordInfo gEasyChatGroup_Time[] = {
+ {
+ .text = gEasyChatWord_Fall,
+ .alphabeticalOrder = 29,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Morning,
+ .alphabeticalOrder = 39,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Tomorrow,
+ .alphabeticalOrder = 6,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Last,
+ .alphabeticalOrder = 18,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Day,
+ .alphabeticalOrder = 33,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Sometime,
+ .alphabeticalOrder = 7,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Always,
+ .alphabeticalOrder = 37,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Current,
+ .alphabeticalOrder = 4,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Forever,
+ .alphabeticalOrder = 9,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Days,
+ .alphabeticalOrder = 35,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_End,
+ .alphabeticalOrder = 17,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Tuesday,
+ .alphabeticalOrder = 10,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Yesterday,
+ .alphabeticalOrder = 0,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Today,
+ .alphabeticalOrder = 27,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Friday,
+ .alphabeticalOrder = 20,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Monday,
+ .alphabeticalOrder = 8,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Later,
+ .alphabeticalOrder = 14,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Earlier,
+ .alphabeticalOrder = 3,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Another,
+ .alphabeticalOrder = 16,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Time,
+ .alphabeticalOrder = 15,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Finish,
+ .alphabeticalOrder = 24,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Wednesday,
+ .alphabeticalOrder = 1,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Soon,
+ .alphabeticalOrder = 40,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Start,
+ .alphabeticalOrder = 28,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Month,
+ .alphabeticalOrder = 43,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Stop,
+ .alphabeticalOrder = 42,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Now,
+ .alphabeticalOrder = 26,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Final,
+ .alphabeticalOrder = 38,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Next,
+ .alphabeticalOrder = 30,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Age,
+ .alphabeticalOrder = 5,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Saturday,
+ .alphabeticalOrder = 22,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Summer,
+ .alphabeticalOrder = 34,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Sunday,
+ .alphabeticalOrder = 23,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Beginning,
+ .alphabeticalOrder = 25,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Spring,
+ .alphabeticalOrder = 31,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Daytime,
+ .alphabeticalOrder = 32,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Winter,
+ .alphabeticalOrder = 41,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Daily,
+ .alphabeticalOrder = 19,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Olden,
+ .alphabeticalOrder = 13,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Almost,
+ .alphabeticalOrder = 2,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Nearly,
+ .alphabeticalOrder = 11,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Thursday,
+ .alphabeticalOrder = 21,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Nighttime,
+ .alphabeticalOrder = 44,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Night,
+ .alphabeticalOrder = 36,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Week,
+ .alphabeticalOrder = 12,
+ .enabled = TRUE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_group_trainer.h b/src/data/easy_chat/easy_chat_group_trainer.h
new file mode 100644
index 000000000..ea36d4268
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_trainer.h
@@ -0,0 +1,160 @@
+
+const u8 gEasyChatWord_IChooseYou[] = _("I CHOOSE YOU");
+const u8 gEasyChatWord_Gotcha[] = _("GOTCHA");
+const u8 gEasyChatWord_Trade[] = _("TRADE");
+const u8 gEasyChatWord_Sapphire[] = _("SAPPHIRE");
+const u8 gEasyChatWord_Evolve[] = _("EVOLVE");
+const u8 gEasyChatWord_Encyclopedia[] = _("ENCYCLOPEDIA");
+const u8 gEasyChatWord_Nature[] = _("NATURE");
+const u8 gEasyChatWord_Center[] = _("CENTER");
+const u8 gEasyChatWord_Egg[] = _("EGG");
+const u8 gEasyChatWord_Link[] = _("LINK");
+const u8 gEasyChatWord_SpAbility[] = _("SP. ABILITY");
+const u8 gEasyChatWord_Trainer[] = _("TRAINER");
+const u8 gEasyChatWord_Version[] = _("VERSION");
+const u8 gEasyChatWord_Pokenav[] = _("POKéNAV");
+const u8 gEasyChatWord_Pokemon[] = _("POKéMON");
+const u8 gEasyChatWord_Get[] = _("GET");
+const u8 gEasyChatWord_Pokedex[] = _("POKéDEX");
+const u8 gEasyChatWord_Ruby[] = _("RUBY");
+const u8 gEasyChatWord_Level[] = _("LEVEL");
+const u8 gEasyChatWord_Red[] = _("RED");
+const u8 gEasyChatWord_Green[] = _("GREEN");
+const u8 gEasyChatWord_Bag[] = _("BAG");
+const u8 gEasyChatWord_Flame[] = _("FLAME");
+const u8 gEasyChatWord_Gold[] = _("GOLD");
+const u8 gEasyChatWord_Leaf[] = _("LEAF");
+const u8 gEasyChatWord_Silver[] = _("SILVER");
+
+const struct EasyChatWordInfo gEasyChatGroup_Trainer[] = {
+ {
+ .text = gEasyChatWord_IChooseYou,
+ .alphabeticalOrder = 21,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Gotcha,
+ .alphabeticalOrder = 7,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Trade,
+ .alphabeticalOrder = 8,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Sapphire,
+ .alphabeticalOrder = 5,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Evolve,
+ .alphabeticalOrder = 4,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Encyclopedia,
+ .alphabeticalOrder = 22,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Nature,
+ .alphabeticalOrder = 15,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Center,
+ .alphabeticalOrder = 23,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Egg,
+ .alphabeticalOrder = 1,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Link,
+ .alphabeticalOrder = 20,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_SpAbility,
+ .alphabeticalOrder = 0,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Trainer,
+ .alphabeticalOrder = 24,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Version,
+ .alphabeticalOrder = 18,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Pokenav,
+ .alphabeticalOrder = 9,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Pokemon,
+ .alphabeticalOrder = 6,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Get,
+ .alphabeticalOrder = 16,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Pokedex,
+ .alphabeticalOrder = 14,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Ruby,
+ .alphabeticalOrder = 13,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Level,
+ .alphabeticalOrder = 19,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Red,
+ .alphabeticalOrder = 17,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Green,
+ .alphabeticalOrder = 3,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Bag,
+ .alphabeticalOrder = 25,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Flame,
+ .alphabeticalOrder = 10,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Gold,
+ .alphabeticalOrder = 2,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Leaf,
+ .alphabeticalOrder = 11,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Silver,
+ .alphabeticalOrder = 12,
+ .enabled = TRUE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_group_trendy_saying.h b/src/data/easy_chat/easy_chat_group_trendy_saying.h
new file mode 100644
index 000000000..08cda8e3d
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_trendy_saying.h
@@ -0,0 +1,202 @@
+
+const u8 gEasyChatWord_KthxBye[] = _("KTHX, BYE.");
+const u8 gEasyChatWord_YesSirExcl[] = _("YES, SIR!");
+const u8 gEasyChatWord_AvantGarde[] = _("AVANT GARDE");
+const u8 gEasyChatWord_Couple[] = _("COUPLE");
+const u8 gEasyChatWord_MuchObliged[] = _("MUCH OBLIGED");
+const u8 gEasyChatWord_YeehawExcl[] = _("YEEHAW!");
+const u8 gEasyChatWord_Mega[] = _("MEGA");
+const u8 gEasyChatWord_1HitKOExcl[] = _("1-HIT KO!");
+const u8 gEasyChatWord_Destiny[] = _("DESTINY");
+const u8 gEasyChatWord_Cancel[] = _("CANCEL");
+const u8 gEasyChatWord_New[] = _("NEW");
+const u8 gEasyChatWord_Flatten[] = _("FLATTEN");
+const u8 gEasyChatWord_Kidding[] = _("KIDDING");
+const u8 gEasyChatWord_Loser[] = _("LOSER");
+const u8 gEasyChatWord_Losing[] = _("LOSING");
+const u8 gEasyChatWord_Happening[] = _("HAPPENING");
+const u8 gEasyChatWord_HipAnd[] = _("HIP AND");
+const u8 gEasyChatWord_Shake[] = _("SHAKE");
+const u8 gEasyChatWord_Shady[] = _("SHADY");
+const u8 gEasyChatWord_Upbeat[] = _("UPBEAT");
+const u8 gEasyChatWord_Modern[] = _("MODERN");
+const u8 gEasyChatWord_SmellYa[] = _("SMELL YA");
+const u8 gEasyChatWord_Bang[] = _("BANG");
+const u8 gEasyChatWord_Knockout[] = _("KNOCKOUT");
+const u8 gEasyChatWord_Hassle[] = _("HASSLE");
+const u8 gEasyChatWord_Winner[] = _("WINNER");
+const u8 gEasyChatWord_Fever[] = _("FEVER");
+const u8 gEasyChatWord_Wannabe[] = _("WANNABE");
+const u8 gEasyChatWord_Baby[] = _("BABY");
+const u8 gEasyChatWord_Heart[] = _("HEART");
+const u8 gEasyChatWord_Old[] = _("OLD");
+const u8 gEasyChatWord_Young[] = _("YOUNG");
+const u8 gEasyChatWord_Ugly[] = _("UGLY");
+
+const struct EasyChatWordInfo gEasyChatGroup_TrendySaying[] = {
+ {
+ .text = gEasyChatWord_KthxBye,
+ .alphabeticalOrder = 7,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_YesSirExcl,
+ .alphabeticalOrder = 2,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_AvantGarde,
+ .alphabeticalOrder = 28,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Couple,
+ .alphabeticalOrder = 22,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_MuchObliged,
+ .alphabeticalOrder = 9,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_YeehawExcl,
+ .alphabeticalOrder = 3,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Mega,
+ .alphabeticalOrder = 8,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_1HitKOExcl,
+ .alphabeticalOrder = 26,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Destiny,
+ .alphabeticalOrder = 11,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Cancel,
+ .alphabeticalOrder = 15,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_New,
+ .alphabeticalOrder = 24,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Flatten,
+ .alphabeticalOrder = 29,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Kidding,
+ .alphabeticalOrder = 16,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Loser,
+ .alphabeticalOrder = 12,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Losing,
+ .alphabeticalOrder = 23,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Happening,
+ .alphabeticalOrder = 0,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_HipAnd,
+ .alphabeticalOrder = 13,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Shake,
+ .alphabeticalOrder = 14,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Shady,
+ .alphabeticalOrder = 6,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Upbeat,
+ .alphabeticalOrder = 20,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Modern,
+ .alphabeticalOrder = 4,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_SmellYa,
+ .alphabeticalOrder = 10,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Bang,
+ .alphabeticalOrder = 30,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Knockout,
+ .alphabeticalOrder = 18,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Hassle,
+ .alphabeticalOrder = 17,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Winner,
+ .alphabeticalOrder = 21,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Fever,
+ .alphabeticalOrder = 32,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Wannabe,
+ .alphabeticalOrder = 19,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Baby,
+ .alphabeticalOrder = 27,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Heart,
+ .alphabeticalOrder = 25,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Old,
+ .alphabeticalOrder = 5,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Young,
+ .alphabeticalOrder = 1,
+ .enabled = FALSE
+ },
+ {
+ .text = gEasyChatWord_Ugly,
+ .alphabeticalOrder = 31,
+ .enabled = FALSE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_group_voices.h b/src/data/easy_chat/easy_chat_group_voices.h
new file mode 100644
index 000000000..565ad6f40
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_group_voices.h
@@ -0,0 +1,382 @@
+
+const u8 gEasyChatWord_Excl[] = _("!");
+const u8 gEasyChatWord_ExclExcl[] = _("!!");
+const u8 gEasyChatWord_QuesExcl[] = _("?!");
+const u8 gEasyChatWord_Ques[] = _("?");
+const u8 gEasyChatWord_Ellipsis[] = _("…");
+const u8 gEasyChatWord_EllipsisExcl[] = _("…!");
+const u8 gEasyChatWord_EllipsisEllipsisEllipsis[] = _("………");
+const u8 gEasyChatWord_Dash[] = _("-");
+const u8 gEasyChatWord_DashDashDash[] = _("- - -");
+const u8 gEasyChatWord_UhOh[] = _("UH-OH");
+const u8 gEasyChatWord_Waaah[] = _("WAAAH");
+const u8 gEasyChatWord_Ahaha[] = _("AHAHA");
+const u8 gEasyChatWord_OhQues[] = _("OH?");
+const u8 gEasyChatWord_Nope[] = _("NOPE");
+const u8 gEasyChatWord_Urgh[] = _("URGH");
+const u8 gEasyChatWord_Hmm[] = _("HMM");
+const u8 gEasyChatWord_Whoah[] = _("WHOAH");
+const u8 gEasyChatWord_WroooaarExcl[] = _("WROOOAAR!");
+const u8 gEasyChatWord_Wow[] = _("WOW");
+const u8 gEasyChatWord_Giggle[] = _("GIGGLE");
+const u8 gEasyChatWord_Sigh[] = _("SIGH");
+const u8 gEasyChatWord_Unbelievable[] = _("UNBELIEVABLE");
+const u8 gEasyChatWord_Cries[] = _("CRIES");
+const u8 gEasyChatWord_Agree[] = _("AGREE");
+const u8 gEasyChatWord_EhQues[] = _("EH?");
+const u8 gEasyChatWord_Cry[] = _("CRY");
+const u8 gEasyChatWord_Ehehe[] = _("EHEHE");
+const u8 gEasyChatWord_OiOiOi[] = _("OI, OI, OI");
+const u8 gEasyChatWord_OhYeah[] = _("OH, YEAH");
+const u8 gEasyChatWord_Oh[] = _("OH");
+const u8 gEasyChatWord_Oops[] = _("OOPS");
+const u8 gEasyChatWord_Shocked[] = _("SHOCKED");
+const u8 gEasyChatWord_Eek[] = _("EEK");
+const u8 gEasyChatWord_Graaah[] = _("GRAAAH");
+const u8 gEasyChatWord_Gwahahaha[] = _("GWAHAHAHA");
+const u8 gEasyChatWord_Way[] = _("WAY");
+const u8 gEasyChatWord_Tch[] = _("TCH");
+const u8 gEasyChatWord_Hehe[] = _("HEHE");
+const u8 gEasyChatWord_Hah[] = _("HAH");
+const u8 gEasyChatWord_Yup[] = _("YUP");
+const u8 gEasyChatWord_Hahaha[] = _("HAHAHA");
+const u8 gEasyChatWord_Aiyeeh[] = _("AIYEEH");
+const u8 gEasyChatWord_Hiyah[] = _("HIYAH");
+const u8 gEasyChatWord_Fufufu[] = _("FUFUFU");
+const u8 gEasyChatWord_Lol[] = _("LOL");
+const u8 gEasyChatWord_Snort[] = _("SNORT");
+const u8 gEasyChatWord_Humph[] = _("HUMPH");
+const u8 gEasyChatWord_Hehehe[] = _("HEHEHE");
+const u8 gEasyChatWord_Heh[] = _("HEH");
+const u8 gEasyChatWord_Hohoho[] = _("HOHOHO");
+const u8 gEasyChatWord_UhHuh[] = _("UH-HUH");
+const u8 gEasyChatWord_OhDear[] = _("OH, DEAR");
+const u8 gEasyChatWord_Arrgh[] = _("ARRGH");
+const u8 gEasyChatWord_Mufufu[] = _("MUFUFU");
+const u8 gEasyChatWord_Mmm[] = _("MMM");
+const u8 gEasyChatWord_OhKay[] = _("OH-KAY");
+const u8 gEasyChatWord_Okay[] = _("OKAY");
+const u8 gEasyChatWord_Lalala[] = _("LALALA");
+const u8 gEasyChatWord_Yay[] = _("YAY");
+const u8 gEasyChatWord_Aww[] = _("AWW");
+const u8 gEasyChatWord_Wowee[] = _("WOWEE");
+const u8 gEasyChatWord_Gwah[] = _("GWAH");
+const u8 gEasyChatWord_Wahahaha[] = _("WAHAHAHA");
+
+const struct EasyChatWordInfo gEasyChatGroup_Voices[] = {
+ {
+ .text = gEasyChatWord_Excl,
+ .alphabeticalOrder = 0,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_ExclExcl,
+ .alphabeticalOrder = 1,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_QuesExcl,
+ .alphabeticalOrder = 7,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Ques,
+ .alphabeticalOrder = 8,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Ellipsis,
+ .alphabeticalOrder = 4,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_EllipsisExcl,
+ .alphabeticalOrder = 5,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_EllipsisEllipsisEllipsis,
+ .alphabeticalOrder = 6,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Dash,
+ .alphabeticalOrder = 3,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_DashDashDash,
+ .alphabeticalOrder = 2,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_UhOh,
+ .alphabeticalOrder = 23,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Waaah,
+ .alphabeticalOrder = 11,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Ahaha,
+ .alphabeticalOrder = 41,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_OhQues,
+ .alphabeticalOrder = 52,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Nope,
+ .alphabeticalOrder = 59,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Urgh,
+ .alphabeticalOrder = 22,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hmm,
+ .alphabeticalOrder = 25,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Whoah,
+ .alphabeticalOrder = 32,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_WroooaarExcl,
+ .alphabeticalOrder = 24,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Wow,
+ .alphabeticalOrder = 26,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Giggle,
+ .alphabeticalOrder = 43,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Sigh,
+ .alphabeticalOrder = 19,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Unbelievable,
+ .alphabeticalOrder = 33,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Cries,
+ .alphabeticalOrder = 61,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Agree,
+ .alphabeticalOrder = 34,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_EhQues,
+ .alphabeticalOrder = 38,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Cry,
+ .alphabeticalOrder = 40,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Ehehe,
+ .alphabeticalOrder = 48,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_OiOiOi,
+ .alphabeticalOrder = 37,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_OhYeah,
+ .alphabeticalOrder = 47,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Oh,
+ .alphabeticalOrder = 42,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Oops,
+ .alphabeticalOrder = 15,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Shocked,
+ .alphabeticalOrder = 49,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Eek,
+ .alphabeticalOrder = 46,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Graaah,
+ .alphabeticalOrder = 57,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Gwahahaha,
+ .alphabeticalOrder = 44,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Way,
+ .alphabeticalOrder = 54,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Tch,
+ .alphabeticalOrder = 53,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hehe,
+ .alphabeticalOrder = 13,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hah,
+ .alphabeticalOrder = 29,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Yup,
+ .alphabeticalOrder = 51,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hahaha,
+ .alphabeticalOrder = 28,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Aiyeeh,
+ .alphabeticalOrder = 55,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hiyah,
+ .alphabeticalOrder = 12,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Fufufu,
+ .alphabeticalOrder = 27,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lol,
+ .alphabeticalOrder = 56,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Snort,
+ .alphabeticalOrder = 30,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Humph,
+ .alphabeticalOrder = 31,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hehehe,
+ .alphabeticalOrder = 20,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Heh,
+ .alphabeticalOrder = 45,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Hohoho,
+ .alphabeticalOrder = 36,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_UhHuh,
+ .alphabeticalOrder = 50,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_OhDear,
+ .alphabeticalOrder = 9,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Arrgh,
+ .alphabeticalOrder = 21,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Mufufu,
+ .alphabeticalOrder = 14,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Mmm,
+ .alphabeticalOrder = 10,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_OhKay,
+ .alphabeticalOrder = 62,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Okay,
+ .alphabeticalOrder = 35,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Lalala,
+ .alphabeticalOrder = 16,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Yay,
+ .alphabeticalOrder = 18,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Aww,
+ .alphabeticalOrder = 60,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Wowee,
+ .alphabeticalOrder = 17,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Gwah,
+ .alphabeticalOrder = 58,
+ .enabled = TRUE
+ },
+ {
+ .text = gEasyChatWord_Wahahaha,
+ .alphabeticalOrder = 39,
+ .enabled = TRUE
+ }
+};
diff --git a/src/data/easy_chat/easy_chat_groups.h b/src/data/easy_chat/easy_chat_groups.h
new file mode 100644
index 000000000..b57a6fa3f
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_groups.h
@@ -0,0 +1,137 @@
+#include "easy_chat.h"
+
+#include "easy_chat_group_pokemon.h"
+#include "easy_chat_group_trainer.h"
+#include "easy_chat_group_status.h"
+#include "easy_chat_group_battle.h"
+#include "easy_chat_group_greetings.h"
+#include "easy_chat_group_people.h"
+#include "easy_chat_group_voices.h"
+#include "easy_chat_group_speech.h"
+#include "easy_chat_group_endings.h"
+#include "easy_chat_group_feelings.h"
+#include "easy_chat_group_conditions.h"
+#include "easy_chat_group_actions.h"
+#include "easy_chat_group_lifestyle.h"
+#include "easy_chat_group_hobbies.h"
+#include "easy_chat_group_time.h"
+#include "easy_chat_group_misc.h"
+#include "easy_chat_group_adjectives.h"
+#include "easy_chat_group_events.h"
+#include "easy_chat_group_move_1.h"
+#include "easy_chat_group_move_2.h"
+#include "easy_chat_group_trendy_saying.h"
+#include "easy_chat_group_pokemon2.h"
+
+const struct EasyChatGroup gEasyChatGroups[] = {
+ {
+ .wordData = {.valueList = gEasyChatGroup_Pokemon},
+ .numWords = 202,
+ .numEnabledWords = 202
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_Trainer},
+ .numWords = 26,
+ .numEnabledWords = 25
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_Status},
+ .numWords = 109,
+ .numEnabledWords = 109
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_Battle},
+ .numWords = 63,
+ .numEnabledWords = 63
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_Greetings},
+ .numWords = 42,
+ .numEnabledWords = 42
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_People},
+ .numWords = 75,
+ .numEnabledWords = 75
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_Voices},
+ .numWords = 63,
+ .numEnabledWords = 63
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_Speech},
+ .numWords = 60,
+ .numEnabledWords = 60
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_Endings},
+ .numWords = 69,
+ .numEnabledWords = 69
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_Feelings},
+ .numWords = 69,
+ .numEnabledWords = 69
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_Conditions},
+ .numWords = 69,
+ .numEnabledWords = 69
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_Actions},
+ .numWords = 78,
+ .numEnabledWords = 78
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_Lifestyle},
+ .numWords = 45,
+ .numEnabledWords = 45
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_Hobbies},
+ .numWords = 54,
+ .numEnabledWords = 54
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_Time},
+ .numWords = 45,
+ .numEnabledWords = 45
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_Misc},
+ .numWords = 42,
+ .numEnabledWords = 42
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_Adjectives},
+ .numWords = 36,
+ .numEnabledWords = 36
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_Events},
+ .numWords = 28,
+ .numEnabledWords = 19
+ },
+ {
+ .wordData = {.valueList = gEasyChatGroup_Move1},
+ .numWords = 154,
+ .numEnabledWords = 154
+ },
+ {
+ .wordData = {.valueList = gEasyChatGroup_Move2},
+ .numWords = 200,
+ .numEnabledWords = 200
+ },
+ {
+ .wordData = {.words = gEasyChatGroup_TrendySaying},
+ .numWords = 33,
+ .numEnabledWords = 0
+ },
+ {
+ .wordData = {.valueList = gEasyChatGroup_Pokemon2},
+ .numWords = 251,
+ .numEnabledWords = 251
+ },
+};
diff --git a/src/data/easy_chat/easy_chat_words_by_letter.h b/src/data/easy_chat/easy_chat_words_by_letter.h
new file mode 100644
index 000000000..14ece96c3
--- /dev/null
+++ b/src/data/easy_chat/easy_chat_words_by_letter.h
@@ -0,0 +1,2075 @@
+#include "easy_chat.h"
+#include "constants/easy_chat.h"
+
+const u16 gEasyChatWordsByLetter_Others[] = {
+ EC_WORD_EXCL,
+ EC_WORD_EXCL_EXCL,
+ EC_WORD_DASH,
+ EC_WORD_DASH_DASH_DASH,
+ EC_WORD_ELLIPSIS,
+ EC_WORD_ELLIPSIS_EXCL,
+ EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS,
+ EC_WORD_1_HIT_KO_EXCL,
+ EC_WORD_QUES,
+ EC_WORD_QUES_EXCL,
+};
+
+const u16 gEasyChatWordsByLetter_A[] = {
+ EC_WORD_A,
+ EC_WORD_A_LITTLE,
+ EC_WORD_A_LOT,
+ EC_WORD_A_TINY_BIT,
+ EC_WORD_ABOUT,
+ EC_WORD_ABOVE,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(ABRA),
+ EC_POKEMON(ABRA),
+ EC_WORD_ABSENT,
+ EC_POKEMON2(ABSOL),
+ EC_WORD_ABSOLUTELY,
+ EC_MOVE(ABSORB),
+ EC_WORD_ACCEPT,
+ EC_MOVE2(ACID),
+ EC_MOVE2(ACID_ARMOR),
+ EC_WORD_ADORE,
+ EC_WORD_ADULT,
+ EC_WORD_ADVENTURE,
+ EC_MOVE2(AERIAL_ACE),
+ EC_MOVE(AEROBLAST),
+ EC_POKEMON(AERODACTYL),
+ EC_WORD_AFTER,
+ EC_WORD_AGE,
+ EC_POKEMON2(AGGRON),
+ EC_MOVE(AGILITY),
+ EC_WORD_AGREE,
+ EC_WORD_AHAHA,
+ EC_WORD_AIM,
+ EC_POKEMON(AIPOM),
+ EC_MOVE(AIR_CUTTER),
+ EC_WORD_AIR_LOCK,
+ EC_WORD_AIYEEH,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(ALAKAZAM),
+ EC_POKEMON(ALAKAZAM),
+ EC_WORD_ALL,
+ EC_WORD_ALL_RIGHT,
+ EC_WORD_ALLOW,
+ EC_WORD_ALLOWANCE,
+ EC_WORD_ALLY,
+ EC_WORD_ALMOST,
+ EC_WORD_ALONE,
+ EC_WORD_ALSO,
+ EC_WORD_ALT_COLOR,
+ EC_POKEMON2(ALTARIA),
+ EC_WORD_ALTHOUGH,
+ EC_WORD_ALWAYS,
+ EC_WORD_AM,
+ EC_MOVE2(AMNESIA),
+ EC_POKEMON(AMPHAROS),
+ EC_WORD_AMUSING,
+ EC_WORD_AN,
+ EC_MOVE(ANCIENT_POWER),
+ EC_WORD_AND,
+ EC_WORD_ANGER,
+ EC_WORD_ANGERS,
+ EC_WORD_ANGRY,
+ EC_WORD_ANIME,
+ EC_POKEMON2(ANORITH),
+ EC_WORD_ANOTHER,
+ EC_WORD_ANTICIPATION,
+ EC_WORD_ANY,
+ EC_WORD_ANYWHERE,
+ EC_WORD_APOLOGIZE,
+ EC_WORD_APPEAL,
+ EC_WORD_APPEAR,
+ EC_WORD_APPEARS,
+ EC_WORD_APPRECIATE,
+ EC_WORD_APPROVED,
+ EC_POKEMON(ARBOK),
+ EC_POKEMON(ARCANINE),
+ EC_WORD_ARE,
+ EC_WORD_AREN_T,
+ EC_WORD_ARENA_TRAP,
+ EC_POKEMON(ARIADOS),
+ EC_MOVE2(ARM_THRUST),
+ EC_POKEMON2(ARMALDO),
+ EC_MOVE(AROMATHERAPY),
+ EC_POKEMON2(ARON),
+ EC_WORD_AROUND,
+ EC_WORD_ARRGH,
+ EC_POKEMON(ARTICUNO),
+ EC_WORD_AS,
+ EC_WORD_AS_IF,
+ EC_WORD_AS_MUCH_AS,
+ EC_MOVE2(ASSIST),
+ EC_MOVE(ASTONISH),
+ EC_WORD_AT,
+ EC_WORD_ATTACK,
+ EC_MOVE2(ATTRACT),
+ EC_WORD_AUNT,
+ EC_MOVE(AURORA_BEAM),
+ EC_WORD_AVANT_GARDE,
+ EC_WORD_AWAY,
+ EC_WORD_AWESOME,
+ EC_WORD_AWFUL,
+ EC_WORD_AWFULLY,
+ EC_WORD_AWW,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(AZUMARILL),
+ EC_POKEMON(AZUMARILL),
+ EC_POKEMON2(AZURILL),
+};
+
+const u16 gEasyChatWordsByLetter_B[] = {
+ EC_WORD_BABE,
+ EC_WORD_BABY,
+ EC_WORD_BACK,
+ EC_WORD_BAD,
+ EC_WORD_BADLY,
+ EC_WORD_BAG,
+ EC_POKEMON2(BAGON),
+ EC_WORD_BALL,
+ EC_POKEMON2(BALTOY),
+ EC_POKEMON2(BANETTE),
+ EC_WORD_BANG,
+ EC_POKEMON2(BARBOACH),
+ EC_MOVE2(BARRAGE),
+ EC_MOVE2(BARRIER),
+ EC_WORD_BATH,
+ EC_MOVE2(BATON_PASS),
+ EC_WORD_BATTLE,
+ EC_WORD_BATTLE_ARMOR,
+ EC_WORD_BATTLE_ROOM,
+ EC_WORD_BATTLE_TOWER,
+ EC_POKEMON(BAYLEEF),
+ EC_WORD_BE,
+ EC_WORD_BEAT,
+ EC_MOVE2(BEAT_UP),
+ EC_POKEMON2(BEAUTIFLY),
+ EC_WORD_BEAUTIFUL,
+ EC_WORD_BEAUTY,
+ EC_WORD_BECOMES,
+ EC_POKEMON(BEEDRILL),
+ EC_WORD_BEEN,
+ EC_WORD_BEFORE,
+ EC_WORD_BEGINNING,
+ EC_WORD_BEING,
+ EC_POKEMON2(BELDUM),
+ EC_WORD_BELIEVE,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(BELLOSSOM),
+ EC_POKEMON(BELLOSSOM),
+ EC_POKEMON(BELLSPROUT),
+ EC_MOVE2(BELLY_DRUM),
+ EC_WORD_BELONGS_TO,
+ EC_WORD_BELOW,
+ EC_WORD_BERRY,
+ EC_WORD_BESIDE,
+ EC_WORD_BEST,
+ EC_WORD_BETTER,
+ EC_MOVE(BIDE),
+ EC_WORD_BIG,
+ EC_WORD_BIKE,
+ EC_MOVE(BIND),
+ EC_MOVE(BITE),
+ EC_MOVE2(BLAST_BURN),
+ EC_POKEMON(BLASTOISE),
+ EC_WORD_BLAZE,
+ EC_MOVE2(BLAZE_KICK),
+ EC_POKEMON2(BLAZIKEN),
+ EC_WORD_BLEND,
+ EC_POKEMON(BLISSEY),
+ EC_MOVE2(BLIZZARD),
+ EC_MOVE2(BLOCK),
+ EC_WORD_BOARD,
+ EC_MOVE2(BODY_SLAM),
+ EC_MOVE2(BONE_CLUB),
+ EC_MOVE2(BONE_RUSH),
+ EC_MOVE2(BONEMERANG),
+ EC_WORD_BOOK,
+ EC_WORD_BORED,
+ EC_WORD_BORING,
+ EC_MOVE2(BOUNCE),
+ EC_WORD_BOY,
+ EC_WORD_BRAG,
+ EC_WORD_BREAK,
+ EC_POKEMON2(BRELOOM),
+ EC_MOVE(BRICK_BREAK),
+ EC_WORD_BROTHER,
+ EC_MOVE(BUBBLE),
+ EC_MOVE2(BUBBLE_BEAM),
+ EC_WORD_BUG,
+ EC_POKEMON(BULBASAUR),
+ EC_MOVE2(BULK_UP),
+ EC_MOVE2(BULLET_SEED),
+ EC_WORD_BUSY,
+ EC_WORD_BUT,
+ EC_POKEMON(BUTTERFREE),
+ EC_WORD_BYE_BYE,
+};
+
+const u16 gEasyChatWordsByLetter_C[] = {
+ EC_POKEMON2(CACNEA),
+ EC_POKEMON2(CACTURNE),
+ EC_MOVE2(CALM_MIND),
+ EC_WORD_CAME,
+ EC_WORD_CAMERA,
+ EC_POKEMON2(CAMERUPT),
+ EC_MOVE2(CAMOUFLAGE),
+ EC_WORD_CAN,
+ EC_WORD_CAN_WIN,
+ EC_WORD_CAN_T,
+ EC_WORD_CAN_T_WIN,
+ EC_WORD_CANCEL,
+ EC_WORD_CAPABLE,
+ EC_WORD_CARDS,
+ EC_WORD_CARE,
+ EC_WORD_CARES,
+ EC_POKEMON2(CARVANHA),
+ EC_POKEMON2(CASCOON),
+ EC_WORD_CASE,
+ EC_POKEMON2(CASTFORM),
+ EC_POKEMON(CATERPIE),
+ EC_WORD_CAUSE,
+ EC_POKEMON(CELEBI),
+ EC_WORD_CENTER,
+ EC_WORD_CHALLENGE,
+ EC_WORD_CHANGE,
+ EC_WORD_CHANNEL,
+ EC_POKEMON(CHANSEY),
+ EC_MOVE(CHARGE),
+ EC_POKEMON(CHARIZARD),
+ EC_MOVE(CHARM),
+ EC_POKEMON(CHARMANDER),
+ EC_POKEMON(CHARMELEON),
+ EC_WORD_CHAT,
+ EC_POKEMON(CHIKORITA),
+ EC_WORD_CHILD_S_PLAY,
+ EC_WORD_CHILDREN,
+ EC_POKEMON2(CHIMECHO),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(CHINCHOU),
+ EC_POKEMON(CHINCHOU),
+ EC_WORD_CHLOROPHYLL,
+ EC_WORD_CHOICE,
+ EC_WORD_CHOOSE,
+ EC_WORD_CHORES,
+ EC_MOVE(CLAMP),
+ EC_POKEMON2(CLAMPERL),
+ EC_WORD_CLASS,
+ EC_POKEMON2(CLAYDOL),
+ EC_WORD_CLEAR_BODY,
+ EC_POKEMON(CLEFABLE),
+ EC_POKEMON(CLEFAIRY),
+ EC_POKEMON(CLEFFA),
+ EC_WORD_CLOSE,
+ EC_WORD_CLOUD_NINE,
+ EC_POKEMON(CLOYSTER),
+ EC_WORD_COLD,
+ EC_WORD_COLLECT,
+ EC_WORD_COLLECTION,
+ EC_WORD_COLOR,
+ EC_WORD_COLOR_CHANGE,
+ EC_POKEMON2(COMBUSKEN),
+ EC_WORD_COME,
+ EC_WORD_COME_ON,
+ EC_WORD_COME_OVER,
+ EC_MOVE2(COMET_PUNCH),
+ EC_WORD_COMICS,
+ EC_WORD_COMMEMORATE,
+ EC_WORD_COMPLETE,
+ EC_WORD_COMPOUNDEYES,
+ EC_WORD_CONCEDE,
+ EC_MOVE(CONFUSE_RAY),
+ EC_WORD_CONFUSED,
+ EC_MOVE2(CONFUSION),
+ EC_WORD_CONGRATS,
+ EC_MOVE(CONSTRICT),
+ EC_WORD_CONTEST,
+ EC_WORD_CONVERSATION,
+ EC_MOVE2(CONVERSION),
+ EC_MOVE2(CONVERSION_2),
+ EC_WORD_COOL,
+ EC_WORD_COOLNESS,
+ EC_POKEMON2(CORPHISH),
+ EC_WORD_CORRECT,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(CORSOLA),
+ EC_POKEMON(CORSOLA),
+ EC_MOVE(COSMIC_POWER),
+ EC_MOVE2(COTTON_SPORE),
+ EC_WORD_COULD,
+ EC_WORD_COULDN_T,
+ EC_WORD_COUNT_ON,
+ EC_MOVE(COUNTER),
+ EC_WORD_COUPLE,
+ EC_MOVE2(COVET),
+ EC_MOVE(CRABHAMMER),
+ EC_POKEMON2(CRADILY),
+ EC_POKEMON2(CRAWDAUNT),
+ EC_WORD_CRIES,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(CROBAT),
+ EC_POKEMON(CROBAT),
+ EC_POKEMON(CROCONAW),
+ EC_MOVE(CROSS_CHOP),
+ EC_MOVE(CRUNCH),
+ EC_WORD_CRUSH,
+ EC_MOVE2(CRUSH_CLAW),
+ EC_WORD_CRY,
+ EC_POKEMON(CUBONE),
+ EC_WORD_CURRENT,
+ EC_MOVE2(CURSE),
+ EC_MOVE(CUT),
+ EC_WORD_CUTE,
+ EC_WORD_CUTE_CHARM,
+ EC_WORD_CUTENESS,
+ EC_POKEMON(CYNDAQUIL),
+};
+
+const u16 gEasyChatWordsByLetter_D[] = {
+ EC_WORD_DAILY,
+ EC_WORD_DAMP,
+ EC_WORD_DANCE,
+ EC_WORD_DANGER,
+ EC_WORD_DARK,
+ EC_WORD_DARN,
+ EC_WORD_DATE,
+ EC_WORD_DAUGHTER,
+ EC_WORD_DAY,
+ EC_WORD_DAYS,
+ EC_WORD_DAYTIME,
+ EC_WORD_DECIDE,
+ EC_WORD_DECIDED,
+ EC_WORD_DEEP,
+ EC_WORD_DEFEATED,
+ EC_MOVE2(DEFENSE_CURL),
+ EC_POKEMON2(DELCATTY),
+ EC_POKEMON(DELIBIRD),
+ EC_POKEMON2(DEOXYS),
+ EC_WORD_DEPT_STORE,
+ EC_WORD_DESIGN,
+ EC_WORD_DESTINY,
+ EC_MOVE2(DESTINY_BOND),
+ EC_WORD_DESTROYED,
+ EC_MOVE2(DETECT),
+ EC_POKEMON(DEWGONG),
+ EC_WORD_DID,
+ EC_WORD_DIDN_T,
+ EC_WORD_DIET,
+ EC_WORD_DIFFERENT,
+ EC_MOVE(DIG),
+ EC_WORD_DIGITAL,
+ EC_POKEMON(DIGLETT),
+ EC_WORD_DIRECT,
+ EC_MOVE(DISABLE),
+ EC_WORD_DISAPPEAR,
+ EC_WORD_DISAPPOINT,
+ EC_WORD_DISAPPOINTED,
+ EC_WORD_DISAPPOINTS,
+ EC_WORD_DISASTER,
+ EC_WORD_DISLIKE,
+ EC_WORD_DISLIKES,
+ EC_POKEMON(DITTO),
+ EC_MOVE2(DIVE),
+ EC_MOVE2(DIZZY_PUNCH),
+ EC_WORD_DO,
+ EC_WORD_DOCILE,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(DODRIO),
+ EC_POKEMON(DODRIO),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(DODUO),
+ EC_POKEMON(DODUO),
+ EC_WORD_DOES,
+ EC_WORD_DOESN_T,
+ EC_WORD_DON_T,
+ EC_WORD_DONE,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(DONPHAN),
+ EC_POKEMON(DONPHAN),
+ EC_MOVE2(DOOM_DESIRE),
+ EC_MOVE2(DOUBLE_KICK),
+ EC_MOVE(DOUBLE_TEAM),
+ EC_MOVE(DOUBLE_EDGE),
+ EC_MOVE(DOUBLE_SLAP),
+ EC_WORD_DOWN,
+ EC_WORD_DOWNCAST,
+ EC_WORD_DRAGON,
+ EC_MOVE2(DRAGON_CLAW),
+ EC_MOVE2(DRAGON_DANCE),
+ EC_MOVE2(DRAGON_RAGE),
+ EC_POKEMON(DRAGONAIR),
+ EC_MOVE2(DRAGON_BREATH),
+ EC_POKEMON(DRAGONITE),
+ EC_POKEMON(DRATINI),
+ EC_WORD_DREAM,
+ EC_MOVE2(DREAM_EATER),
+ EC_MOVE2(DRILL_PECK),
+ EC_WORD_DRINK,
+ EC_WORD_DRINKS,
+ EC_WORD_DRIZZLE,
+ EC_WORD_DROOLING,
+ EC_WORD_DROUGHT,
+ EC_POKEMON(DROWZEE),
+ EC_WORD_DUDE,
+ EC_POKEMON(DUGTRIO),
+ EC_POKEMON(DUNSPARCE),
+ EC_POKEMON2(DUSCLOPS),
+ EC_POKEMON2(DUSKULL),
+ EC_POKEMON2(DUSTOX),
+ EC_MOVE2(DYNAMIC_PUNCH),
+};
+
+const u16 gEasyChatWordsByLetter_E[] = {
+ EC_WORD_EARLIER,
+ EC_WORD_EARLY_BIRD,
+ EC_MOVE(EARTHQUAKE),
+ EC_WORD_EASY,
+ EC_WORD_EAT,
+ EC_WORD_EATS,
+ EC_WORD_EEK,
+ EC_POKEMON(EEVEE),
+ EC_WORD_EFFECT_SPORE,
+ EC_WORD_EGG,
+ EC_MOVE2(EGG_BOMB),
+ EC_WORD_EH_QUES,
+ EC_WORD_EHEHE,
+ EC_POKEMON(EKANS),
+ EC_POKEMON(ELECTABUZZ),
+ EC_WORD_ELECTRIC,
+ EC_POKEMON2(ELECTRIKE),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(ELECTRODE),
+ EC_POKEMON(ELECTRODE),
+ EC_POKEMON(ELEKID),
+ EC_WORD_ELSE,
+ EC_MOVE2(EMBER),
+ EC_MOVE(ENCORE),
+ EC_WORD_ENCYCLOPEDIA,
+ EC_WORD_END,
+ EC_MOVE(ENDEAVOR),
+ EC_MOVE(ENDURE),
+ EC_WORD_ENJOY,
+ EC_WORD_ENJOYS,
+ EC_WORD_ENOUGH,
+ EC_POKEMON(ENTEI),
+ EC_WORD_ENTERTAINING,
+ EC_MOVE2(ERUPTION),
+ EC_WORD_ESCAPE,
+ EC_POKEMON(ESPEON),
+ EC_WORD_EVEN_SO,
+ EC_WORD_EVENT,
+ EC_WORD_EVENTS,
+ EC_WORD_EVER,
+ EC_WORD_EVERY,
+ EC_WORD_EVOLUTION,
+ EC_WORD_EVOLVE,
+ EC_WORD_EXCELLENT,
+ EC_WORD_EXCESS,
+ EC_WORD_EXCITE,
+ EC_WORD_EXCITING,
+ EC_WORD_EXCUSE,
+ EC_WORD_EXCUSE_ME,
+ EC_POKEMON(EXEGGCUTE),
+ EC_POKEMON(EXEGGUTOR),
+ EC_WORD_EXISTS,
+ EC_WORD_EXPENSIVE,
+ EC_MOVE2(EXPLOSION),
+ EC_POKEMON2(EXPLOUD),
+ EC_MOVE(EXTRASENSORY),
+ EC_MOVE(EXTREME_SPEED),
+};
+
+const u16 gEasyChatWordsByLetter_F[] = {
+ EC_WORD_FABULOUS,
+ EC_MOVE(FACADE),
+ EC_WORD_FAINT,
+ EC_MOVE2(FAINT_ATTACK),
+ EC_WORD_FAINTED,
+ EC_MOVE2(FAKE_OUT),
+ EC_MOVE(FAKE_TEARS),
+ EC_WORD_FALL,
+ EC_MOVE2(FALSE_SWIPE),
+ EC_WORD_FAMILY,
+ EC_WORD_FANTASTIC,
+ EC_WORD_FAR,
+ EC_POKEMON(FARFETCHD),
+ EC_WORD_FASHION,
+ EC_WORD_FAST,
+ EC_WORD_FATHER,
+ EC_WORD_FEAR,
+ EC_POKEMON(FEAROW),
+ EC_MOVE2(FEATHER_DANCE),
+ EC_POKEMON2(FEEBAS),
+ EC_WORD_FEELING,
+ EC_POKEMON(FERALIGATR),
+ EC_WORD_FESTIVAL,
+ EC_WORD_FEVER,
+ EC_WORD_FIERY,
+ EC_WORD_FIGHT,
+ EC_WORD_FIGHTING,
+ EC_WORD_FIGHTS,
+ EC_WORD_FINAL,
+ EC_WORD_FINALLY,
+ EC_WORD_FINISH,
+ EC_WORD_FIRE,
+ EC_MOVE2(FIRE_BLAST),
+ EC_MOVE2(FIRE_PUNCH),
+ EC_MOVE2(FIRE_SPIN),
+ EC_WORD_FISHING,
+ EC_MOVE(FISSURE),
+ EC_POKEMON(FLAAFFY),
+ EC_MOVE(FLAIL),
+ EC_WORD_FLAME,
+ EC_WORD_FLAME_BODY,
+ EC_MOVE(FLAME_WHEEL),
+ EC_MOVE(FLAMETHROWER),
+ EC_POKEMON(FLAREON),
+ EC_MOVE2(FLASH),
+ EC_WORD_FLASH_FIRE,
+ EC_WORD_FLATTEN,
+ EC_MOVE(FLATTER),
+ EC_WORD_FLOWERS,
+ EC_MOVE(FLY),
+ EC_POKEMON2(FLYGON),
+ EC_WORD_FLYING,
+ EC_MOVE(FOCUS_ENERGY),
+ EC_MOVE(FOCUS_PUNCH),
+ EC_WORD_FOE,
+ EC_MOVE(FOLLOW_ME),
+ EC_WORD_FOR,
+ EC_WORD_FOR_NOW,
+ EC_WORD_FORECAST,
+ EC_MOVE2(FORESIGHT),
+ EC_WORD_FOREVER,
+ EC_WORD_FORGET,
+ EC_WORD_FORGETS,
+ EC_WORD_FORGIVE,
+ EC_POKEMON(FORRETRESS),
+ EC_MOVE2(FRENZY_PLANT),
+ EC_WORD_FRIDAY,
+ EC_WORD_FRIEND,
+ EC_WORD_FROM,
+ EC_WORD_FRONT,
+ EC_MOVE2(FRUSTRATION),
+ EC_WORD_FUFUFU,
+ EC_WORD_FULL,
+ EC_WORD_FUNNY,
+ EC_POKEMON(FURRET),
+ EC_MOVE2(FURY_ATTACK),
+ EC_MOVE2(FURY_CUTTER),
+ EC_MOVE2(FURY_SWIPES),
+ EC_MOVE2(FUTURE_SIGHT),
+};
+
+const u16 gEasyChatWordsByLetter_G[] = {
+ EC_WORD_GAME,
+ EC_POKEMON2(GARDEVOIR),
+ EC_POKEMON(GASTLY),
+ EC_POKEMON(GENGAR),
+ EC_WORD_GENIUS,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(GEODUDE),
+ EC_POKEMON(GEODUDE),
+ EC_WORD_GET,
+ EC_WORD_GETS,
+ EC_WORD_GHOST,
+ EC_WORD_GIDDY,
+ EC_MOVE(GIGA_DRAIN),
+ EC_WORD_GIGGLE,
+ EC_WORD_GIMME,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(GIRAFARIG),
+ EC_POKEMON(GIRAFARIG),
+ EC_WORD_GIRL,
+ EC_WORD_GIVE,
+ EC_WORD_GIVE_ME,
+ EC_WORD_GIVE_UP,
+ EC_WORD_GIVES,
+ EC_POKEMON2(GLALIE),
+ EC_MOVE2(GLARE),
+ EC_POKEMON(GLIGAR),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(GLOOM),
+ EC_POKEMON(GLOOM),
+ EC_WORD_GO,
+ EC_WORD_GO_AHEAD,
+ EC_WORD_GO_EASY,
+ EC_WORD_GO_HOME,
+ EC_WORD_GOES,
+ EC_WORD_GOING,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(GOLBAT),
+ EC_POKEMON(GOLBAT),
+ EC_WORD_GOLD,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(GOLDEEN),
+ EC_POKEMON(GOLDEEN),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(GOLDUCK),
+ EC_POKEMON(GOLDUCK),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(GOLEM),
+ EC_POKEMON(GOLEM),
+ EC_WORD_GOOD,
+ EC_WORD_GOOD_BYE,
+ EC_POKEMON2(GOREBYSS),
+ EC_WORD_GOT,
+ EC_WORD_GOTCHA,
+ EC_WORD_GOURMET,
+ EC_WORD_GRAAAH,
+ EC_POKEMON(GRANBULL),
+ EC_WORD_GRANDFATHER,
+ EC_WORD_GRANDMOTHER,
+ EC_WORD_GRASS,
+ EC_MOVE(GRASS_WHISTLE),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(GRAVELER),
+ EC_POKEMON(GRAVELER),
+ EC_WORD_GREAT,
+ EC_WORD_GREEN,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(GRIMER),
+ EC_POKEMON(GRIMER),
+ EC_POKEMON2(GROUDON),
+ EC_WORD_GROUND,
+ EC_WORD_GROUP,
+ EC_POKEMON2(GROVYLE),
+ EC_MOVE2(GROWL),
+ EC_POKEMON(GROWLITHE),
+ EC_MOVE(GROWTH),
+ EC_MOVE(GRUDGE),
+ EC_POKEMON2(GRUMPIG),
+ EC_WORD_GUARD,
+ EC_MOVE2(GUILLOTINE),
+ EC_POKEMON2(GULPIN),
+ EC_MOVE(GUST),
+ EC_WORD_GUTS,
+ EC_WORD_GUTSY,
+ EC_WORD_GWAH,
+ EC_WORD_GWAHAHAHA,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(GYARADOS),
+ EC_POKEMON(GYARADOS),
+};
+
+const u16 gEasyChatWordsByLetter_H[] = {
+ EC_WORD_HABIT,
+ EC_WORD_HAH,
+ EC_WORD_HAHAHA,
+ EC_MOVE(HAIL),
+ EC_WORD_HALL_OF_FAME,
+ EC_WORD_HAPPENING,
+ EC_WORD_HAPPILY,
+ EC_WORD_HAPPINESS,
+ EC_WORD_HAPPY,
+ EC_WORD_HARD,
+ EC_MOVE(HARDEN),
+ EC_POKEMON2(HARIYAMA),
+ EC_WORD_HAS,
+ EC_WORD_HASSLE,
+ EC_POKEMON(HAUNTER),
+ EC_WORD_HAVE,
+ EC_WORD_HAVEN_T,
+ EC_MOVE(HAZE),
+ EC_WORD_HE,
+ EC_WORD_HE_S,
+ EC_MOVE(HEADBUTT),
+ EC_MOVE(HEAL_BELL),
+ EC_WORD_HEALTHY,
+ EC_WORD_HEAR,
+ EC_WORD_HEARING,
+ EC_WORD_HEARS,
+ EC_WORD_HEART,
+ EC_MOVE2(HEAT_WAVE),
+ EC_WORD_HEH,
+ EC_WORD_HEHE,
+ EC_WORD_HEHEHE,
+ EC_WORD_HELLO,
+ EC_MOVE2(HELPING_HAND),
+ EC_WORD_HER,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(HERACROSS),
+ EC_POKEMON(HERACROSS),
+ EC_WORD_HERE,
+ EC_WORD_HERE_GOES,
+ EC_WORD_HERE_I_COME,
+ EC_WORD_HERE_IT_IS,
+ EC_WORD_HERO,
+ EC_WORD_HEROINE,
+ EC_WORD_HERS,
+ EC_WORD_HEY,
+ EC_WORD_HEY_THERE,
+ EC_WORD_HEY_QUES,
+ EC_WORD_HI,
+ EC_MOVE2(HI_JUMP_KICK),
+ EC_WORD_HIDDEN,
+ EC_MOVE2(HIDDEN_POWER),
+ EC_WORD_HIGH,
+ EC_WORD_HIGHS,
+ EC_WORD_HIM,
+ EC_WORD_HIP_AND,
+ EC_WORD_HIS,
+ EC_WORD_HIT,
+ EC_POKEMON(HITMONCHAN),
+ EC_POKEMON(HITMONLEE),
+ EC_POKEMON(HITMONTOP),
+ EC_WORD_HIYAH,
+ EC_WORD_HMM,
+ EC_POKEMON(HO_OH),
+ EC_WORD_HOBBY,
+ EC_WORD_HOHOHO,
+ EC_WORD_HOLIDAY,
+ EC_WORD_HOME,
+ EC_WORD_HOO_HAH,
+ EC_POKEMON(HOOTHOOT),
+ EC_WORD_HOPELESS,
+ EC_POKEMON(HOPPIP),
+ EC_MOVE2(HORN_ATTACK),
+ EC_MOVE2(HORN_DRILL),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(HORSEA),
+ EC_POKEMON(HORSEA),
+ EC_WORD_HOT,
+ EC_POKEMON(HOUNDOOM),
+ EC_POKEMON(HOUNDOUR),
+ EC_WORD_HOW,
+ EC_WORD_HOW_DO,
+ EC_WORD_HOWEVER,
+ EC_MOVE2(HOWL),
+ EC_WORD_HUGE_POWER,
+ EC_WORD_HUH_QUES,
+ EC_WORD_HUMPH,
+ EC_WORD_HUNGRY,
+ EC_POKEMON2(HUNTAIL),
+ EC_WORD_HURRIED,
+ EC_WORD_HUSTLE,
+ EC_MOVE2(HYDRO_CANNON),
+ EC_MOVE2(HYDRO_PUMP),
+ EC_WORD_HYPER,
+ EC_MOVE2(HYPER_BEAM),
+ EC_WORD_HYPER_CUTTER,
+ EC_MOVE2(HYPER_FANG),
+ EC_MOVE2(HYPER_VOICE),
+ EC_POKEMON(HYPNO),
+ EC_MOVE(HYPNOSIS),
+};
+
+const u16 gEasyChatWordsByLetter_I[] = {
+ EC_WORD_I,
+ EC_WORD_I_AM,
+ EC_WORD_I_CHOOSE_YOU,
+ EC_WORD_I_WAS,
+ EC_WORD_I_VE,
+ EC_WORD_I_VE_ARRIVED,
+ EC_WORD_ICE,
+ EC_MOVE(ICE_BALL),
+ EC_MOVE2(ICE_BEAM),
+ EC_MOVE2(ICE_PUNCH),
+ EC_MOVE2(ICICLE_SPEAR),
+ EC_MOVE(ICY_WIND),
+ EC_WORD_IDOL,
+ EC_WORD_IF,
+ EC_WORD_IF_I_LOSE,
+ EC_WORD_IF_I_WIN,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(IGGLYBUFF),
+ EC_POKEMON(IGGLYBUFF),
+ EC_WORD_IGNORANT,
+ EC_WORD_ILLUMINATE,
+ EC_POKEMON2(ILLUMISE),
+ EC_WORD_IMMUNITY,
+ EC_WORD_IMPORTANT,
+ EC_WORD_IMPOSSIBLE,
+ EC_MOVE2(IMPRISON),
+ EC_WORD_IN,
+ EC_WORD_INCREASING,
+ EC_WORD_INCREDIBLE,
+ EC_WORD_INFORMATION,
+ EC_MOVE2(INGRAIN),
+ EC_WORD_INNER_FOCUS,
+ EC_WORD_INSIDE,
+ EC_WORD_INSOMNIA,
+ EC_WORD_INSTEAD,
+ EC_WORD_INTIMIDATE,
+ EC_WORD_INVINCIBLE,
+ EC_MOVE2(IRON_DEFENSE),
+ EC_MOVE(IRON_TAIL),
+ EC_WORD_IS,
+ EC_WORD_IS_IT_QUES,
+ EC_WORD_ISN_T,
+ EC_WORD_ISN_T_IT_QUES,
+ EC_WORD_IT,
+ EC_WORD_IT_S,
+ EC_WORD_ITEM,
+ EC_POKEMON(IVYSAUR),
+};
+
+const u16 gEasyChatWordsByLetter_J[] = {
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(JIGGLYPUFF),
+ EC_POKEMON(JIGGLYPUFF),
+ EC_POKEMON2(JIRACHI),
+ EC_WORD_JOKING,
+ EC_POKEMON(JOLTEON),
+ EC_WORD_JOY,
+ EC_WORD_JUDGE,
+ EC_MOVE2(JUMP_KICK),
+ EC_POKEMON(JUMPLUFF),
+ EC_WORD_JUST,
+ EC_POKEMON(JYNX),
+};
+
+const u16 gEasyChatWordsByLetter_K[] = {
+ EC_POKEMON(KABUTO),
+ EC_POKEMON(KABUTOPS),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(KADABRA),
+ EC_POKEMON(KADABRA),
+ EC_POKEMON(KAKUNA),
+ EC_POKEMON(KANGASKHAN),
+ EC_MOVE(KARATE_CHOP),
+ EC_POKEMON2(KECLEON),
+ EC_WORD_KEEN_EYE,
+ EC_WORD_KID,
+ EC_WORD_KIDDING,
+ EC_WORD_KIND,
+ EC_WORD_KINDERGARTEN,
+ EC_MOVE(KINESIS),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(KINGDRA),
+ EC_POKEMON(KINGDRA),
+ EC_POKEMON(KINGLER),
+ EC_POKEMON2(KIRLIA),
+ EC_MOVE2(KNOCK_OFF),
+ EC_WORD_KNOCKOUT,
+ EC_WORD_KNOW,
+ EC_WORD_KNOWS,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(KOFFING),
+ EC_POKEMON(KOFFING),
+ EC_POKEMON(KRABBY),
+ EC_WORD_KTHX_BYE,
+ EC_POKEMON2(KYOGRE),
+};
+
+const u16 gEasyChatWordsByLetter_L[] = {
+ EC_WORD_LACKING,
+ EC_WORD_LACKS,
+ EC_WORD_LADY,
+ EC_POKEMON2(LAIRON),
+ EC_WORD_LALALA,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(LANTURN),
+ EC_POKEMON(LANTURN),
+ EC_POKEMON(LAPRAS),
+ EC_POKEMON(LARVITAR),
+ EC_WORD_LAST,
+ EC_WORD_LATE,
+ EC_WORD_LATER,
+ EC_POKEMON2(LATIAS),
+ EC_POKEMON2(LATIOS),
+ EC_WORD_LAVISH,
+ EC_WORD_LAY,
+ EC_WORD_LEADER,
+ EC_WORD_LEADERS,
+ EC_WORD_LEAF,
+ EC_MOVE2(LEAF_BLADE),
+ EC_WORD_LEARN,
+ EC_POKEMON(LEDIAN),
+ EC_POKEMON(LEDYBA),
+ EC_MOVE(LEECH_LIFE),
+ EC_MOVE2(LEECH_SEED),
+ EC_MOVE2(LEER),
+ EC_WORD_LEFT,
+ EC_WORD_LEGEND,
+ EC_WORD_LESS,
+ EC_WORD_LESSONS,
+ EC_WORD_LET_ME_WIN,
+ EC_WORD_LET_S,
+ EC_WORD_LETTER,
+ EC_WORD_LEVEL,
+ EC_WORD_LEVITATE,
+ EC_MOVE(LICK),
+ EC_POKEMON(LICKITUNG),
+ EC_WORD_LIE,
+ EC_WORD_LIFE,
+ EC_MOVE2(LIGHT_SCREEN),
+ EC_WORD_LIGHTNINGROD,
+ EC_WORD_LIKE,
+ EC_WORD_LIKELY_TO,
+ EC_WORD_LIKES,
+ EC_POKEMON2(LILEEP),
+ EC_WORD_LIMBER,
+ EC_WORD_LINK,
+ EC_POKEMON2(LINOONE),
+ EC_WORD_LIQUID_OOZE,
+ EC_WORD_LISTEN,
+ EC_WORD_LISTENING,
+ EC_WORD_LISTENS,
+ EC_WORD_LIVING,
+ EC_MOVE2(LOCK_ON),
+ EC_WORD_LOCOMOTIVE,
+ EC_WORD_LOL,
+ EC_WORD_LOLLING,
+ EC_POKEMON2(LOMBRE),
+ EC_WORD_LONESOME,
+ EC_WORD_LOOK,
+ EC_WORD_LOOKS,
+ EC_WORD_LOSE,
+ EC_WORD_LOSER,
+ EC_WORD_LOSING,
+ EC_WORD_LOSS,
+ EC_WORD_LOST,
+ EC_POKEMON2(LOTAD),
+ EC_POKEMON2(LOUDRED),
+ EC_WORD_LOUSY,
+ EC_MOVE(LOVELY_KISS),
+ EC_WORD_LOVEY_DOVEY,
+ EC_WORD_LOW,
+ EC_MOVE(LOW_KICK),
+ EC_WORD_LOWS,
+ EC_POKEMON2(LUDICOLO),
+ EC_POKEMON(LUGIA),
+ EC_WORD_LUKEWARM,
+ EC_POKEMON2(LUNATONE),
+ EC_MOVE2(LUSTER_PURGE),
+ EC_POKEMON2(LUVDISC),
+};
+
+const u16 gEasyChatWordsByLetter_M[] = {
+ EC_MOVE2(MACH_PUNCH),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(MACHAMP),
+ EC_POKEMON(MACHAMP),
+ EC_WORD_MACHINE,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(MACHOKE),
+ EC_POKEMON(MACHOKE),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(MACHOP),
+ EC_POKEMON(MACHOP),
+ EC_WORD_MAGAZINE,
+ EC_POKEMON(MAGBY),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(MAGCARGO),
+ EC_POKEMON(MAGCARGO),
+ EC_MOVE2(MAGIC_COAT),
+ EC_MOVE2(MAGICAL_LEAF),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(MAGIKARP),
+ EC_POKEMON(MAGIKARP),
+ EC_WORD_MAGMA_ARMOR,
+ EC_POKEMON(MAGMAR),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(MAGNEMITE),
+ EC_POKEMON(MAGNEMITE),
+ EC_WORD_MAGNET_PULL,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(MAGNETON),
+ EC_POKEMON(MAGNETON),
+ EC_MOVE2(MAGNITUDE),
+ EC_WORD_MAIL,
+ EC_WORD_MAKE,
+ EC_WORD_MAKING,
+ EC_POKEMON2(MAKUHITA),
+ EC_WORD_MAN,
+ EC_POKEMON2(MANECTRIC),
+ EC_POKEMON(MANKEY),
+ EC_POKEMON(MANTINE),
+ EC_POKEMON(MAREEP),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(MARILL),
+ EC_POKEMON(MARILL),
+ EC_POKEMON(MAROWAK),
+ EC_POKEMON2(MARSHTOMP),
+ EC_WORD_MARVEL_SCALE,
+ EC_POKEMON2(MASQUERAIN),
+ EC_WORD_MASTER,
+ EC_WORD_MATCH,
+ EC_WORD_MATCH_UP,
+ EC_POKEMON2(MAWILE),
+ EC_WORD_MAYBE,
+ EC_WORD_MC,
+ EC_WORD_ME,
+ EC_WORD_MEAN,
+ EC_MOVE(MEAN_LOOK),
+ EC_POKEMON2(MEDICHAM),
+ EC_MOVE2(MEDITATE),
+ EC_POKEMON2(MEDITITE),
+ EC_WORD_MEET,
+ EC_WORD_MEET_YOU,
+ EC_WORD_MEETS,
+ EC_WORD_MEGA,
+ EC_MOVE2(MEGA_DRAIN),
+ EC_MOVE2(MEGA_KICK),
+ EC_MOVE2(MEGA_PUNCH),
+ EC_MOVE2(MEGAHORN),
+ EC_POKEMON(MEGANIUM),
+ EC_MOVE(MEMENTO),
+ EC_POKEMON(MEOWTH),
+ EC_WORD_MESSAGE,
+ EC_POKEMON2(METAGROSS),
+ EC_MOVE2(METAL_CLAW),
+ EC_MOVE(METAL_SOUND),
+ EC_POKEMON2(METANG),
+ EC_POKEMON(METAPOD),
+ EC_MOVE(METEOR_MASH),
+ EC_MOVE2(METRONOME),
+ EC_POKEMON(MEW),
+ EC_POKEMON(MEWTWO),
+ EC_POKEMON2(MIGHTYENA),
+ EC_MOVE2(MILK_DRINK),
+ EC_POKEMON2(MILOTIC),
+ EC_POKEMON(MILTANK),
+ EC_MOVE2(MIMIC),
+ EC_MOVE(MIND_READER),
+ EC_MOVE2(MINIMIZE),
+ EC_POKEMON2(MINUN),
+ EC_WORD_MINUS,
+ EC_MOVE2(MIRROR_COAT),
+ EC_MOVE(MIRROR_MOVE),
+ EC_POKEMON(MISDREAVUS),
+ EC_WORD_MISHEARD,
+ EC_WORD_MISS,
+ EC_MOVE(MIST),
+ EC_MOVE2(MIST_BALL),
+ EC_WORD_MISTAKE,
+ EC_WORD_MMM,
+ EC_WORD_MODE,
+ EC_WORD_MODERN,
+ EC_POKEMON(MOLTRES),
+ EC_WORD_MOMENTUM,
+ EC_WORD_MONDAY,
+ EC_WORD_MONEY,
+ EC_WORD_MONTH,
+ EC_WORD_MOOD,
+ EC_MOVE2(MOONLIGHT),
+ EC_WORD_MORE,
+ EC_WORD_MORNING,
+ EC_MOVE(MORNING_SUN),
+ EC_WORD_MOTHER,
+ EC_WORD_MOVE,
+ EC_WORD_MOVIE,
+ EC_WORD_MR,
+ EC_POKEMON(MR_MIME),
+ EC_WORD_MRS,
+ EC_WORD_MUCH,
+ EC_WORD_MUCH_OBLIGED,
+ EC_MOVE2(MUD_SHOT),
+ EC_MOVE2(MUD_SPORT),
+ EC_MOVE2(MUD_SLAP),
+ EC_MOVE2(MUDDY_WATER),
+ EC_POKEMON2(MUDKIP),
+ EC_WORD_MUFUFU,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(MUK),
+ EC_POKEMON(MUK),
+ EC_POKEMON(MURKROW),
+ EC_WORD_MUSIC,
+ EC_WORD_MUST_BE,
+ EC_WORD_MY,
+ EC_WORD_MYSELF,
+ EC_WORD_MYSTERY,
+};
+
+const u16 gEasyChatWordsByLetter_N[] = {
+ EC_WORD_NAME,
+ EC_WORD_NAP,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(NATU),
+ EC_POKEMON(NATU),
+ EC_WORD_NATURAL,
+ EC_WORD_NATURAL_CURE,
+ EC_WORD_NATURALLY,
+ EC_WORD_NATURE,
+ EC_MOVE(NATURE_POWER),
+ EC_WORD_NEAR,
+ EC_WORD_NEARLY,
+ EC_WORD_NEED,
+ EC_MOVE2(NEEDLE_ARM),
+ EC_WORD_NEGATIVE,
+ EC_WORD_NEVER,
+ EC_WORD_NEW,
+ EC_WORD_NEWS,
+ EC_WORD_NEXT,
+ EC_WORD_NICE,
+ EC_POKEMON(NIDOKING),
+ EC_POKEMON(NIDOQUEEN),
+ EC_POKEMON(NIDORAN_F),
+ EC_POKEMON(NIDORAN_M),
+ EC_POKEMON(NIDORINA),
+ EC_POKEMON(NIDORINO),
+ EC_WORD_NIGHT,
+ EC_MOVE2(NIGHT_SHADE),
+ EC_MOVE(NIGHTMARE),
+ EC_WORD_NIGHTTIME,
+ EC_POKEMON2(NINCADA),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(NINETALES),
+ EC_POKEMON(NINETALES),
+ EC_POKEMON2(NINJASK),
+ EC_WORD_NITWIT,
+ EC_WORD_NO,
+ EC_WORD_NO_MATCH,
+ EC_WORD_NO_1,
+ EC_POKEMON(NOCTOWL),
+ EC_WORD_NOISY,
+ EC_WORD_NON_STOP,
+ EC_WORD_NONE,
+ EC_WORD_NOPE,
+ EC_WORD_NORMAL,
+ EC_POKEMON2(NOSEPASS),
+ EC_WORD_NOT,
+ EC_WORD_NOT_VERY,
+ EC_WORD_NOTHING,
+ EC_WORD_NOW,
+ EC_POKEMON2(NUMEL),
+ EC_POKEMON2(NUZLEAF),
+};
+
+const u16 gEasyChatWordsByLetter_O[] = {
+ EC_WORD_OBLIVIOUS,
+ EC_MOVE(OCTAZOOKA),
+ EC_POKEMON(OCTILLERY),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(ODDISH),
+ EC_POKEMON(ODDISH),
+ EC_MOVE(ODOR_SLEUTH),
+ EC_WORD_OF,
+ EC_WORD_OFF,
+ EC_WORD_OFFENSIVE,
+ EC_WORD_OH,
+ EC_WORD_OH_DEAR,
+ EC_WORD_OH_YEAH,
+ EC_WORD_OH_KAY,
+ EC_WORD_OH_QUES,
+ EC_WORD_OI,
+ EC_WORD_OI_OI_OI,
+ EC_WORD_OK_QUES,
+ EC_WORD_OKAY,
+ EC_WORD_OLD,
+ EC_WORD_OLDEN,
+ EC_POKEMON(OMANYTE),
+ EC_POKEMON(OMASTAR),
+ EC_WORD_ON,
+ EC_WORD_ONCE,
+ EC_POKEMON(ONIX),
+ EC_WORD_ONLY,
+ EC_WORD_OOPS,
+ EC_WORD_OPPONENT,
+ EC_WORD_OPPOSITE,
+ EC_WORD_OR,
+ EC_WORD_OTHER,
+ EC_WORD_OUR,
+ EC_WORD_OUT,
+ EC_MOVE(OUTRAGE),
+ EC_WORD_OUTSIDE,
+ EC_WORD_OVER,
+ EC_WORD_OVERDO,
+ EC_WORD_OVERGROW,
+ EC_MOVE(OVERHEAT),
+ EC_WORD_OVERWHELMING,
+ EC_WORD_OWN,
+ EC_WORD_OWN_TEMPO,
+};
+
+const u16 gEasyChatWordsByLetter_P[] = {
+ EC_MOVE(PAIN_SPLIT),
+ EC_POKEMON(PARAS),
+ EC_POKEMON(PARASECT),
+ EC_WORD_PARDON,
+ EC_WORD_PARENT,
+ EC_WORD_PARTNER,
+ EC_WORD_PARTY,
+ EC_WORD_PATTERN,
+ EC_MOVE2(PAY_DAY),
+ EC_WORD_PC,
+ EC_MOVE2(PECK),
+ EC_POKEMON2(PELIPPER),
+ EC_WORD_PERFECT,
+ EC_WORD_PERFECTION,
+ EC_MOVE2(PERISH_SONG),
+ EC_POKEMON(PERSIAN),
+ EC_WORD_PERSON,
+ EC_MOVE2(PETAL_DANCE),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(PHANPY),
+ EC_POKEMON(PHANPY),
+ EC_WORD_PHONE,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(PICHU),
+ EC_POKEMON(PICHU),
+ EC_WORD_PICKUP,
+ EC_POKEMON(PIDGEOT),
+ EC_POKEMON(PIDGEOTTO),
+ EC_POKEMON(PIDGEY),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(PIKACHU),
+ EC_POKEMON(PIKACHU),
+ EC_POKEMON(PILOSWINE),
+ EC_MOVE2(PIN_MISSILE),
+ EC_POKEMON(PINECO),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(PINSIR),
+ EC_POKEMON(PINSIR),
+ EC_WORD_PKRS,
+ EC_WORD_PLACE,
+ EC_WORD_PLANS,
+ EC_WORD_PLAY,
+ EC_WORD_PLAYED,
+ EC_WORD_PLAYS,
+ EC_WORD_PLEASE,
+ EC_WORD_PLUS,
+ EC_WORD_PLUSH_DOLL,
+ EC_POKEMON2(PLUSLE),
+ EC_WORD_POINTS,
+ EC_WORD_POISON,
+ EC_MOVE2(POISON_FANG),
+ EC_MOVE2(POISON_GAS),
+ EC_WORD_POISON_POINT,
+ EC_MOVE2(POISON_STING),
+ EC_MOVE2(POISON_TAIL),
+ EC_MOVE2(POISON_POWDER),
+ EC_WORD_POKEBLOCK,
+ EC_WORD_POKEDEX,
+ EC_WORD_POKEMON,
+ EC_WORD_POKENAV,
+ EC_POKEMON(POLITOED),
+ EC_POKEMON(POLIWAG),
+ EC_POKEMON(POLIWHIRL),
+ EC_POKEMON(POLIWRATH),
+ EC_POKEMON(PONYTA),
+ EC_POKEMON2(POOCHYENA),
+ EC_WORD_POPULAR,
+ EC_POKEMON(PORYGON),
+ EC_POKEMON(PORYGON2),
+ EC_MOVE2(POUND),
+ EC_MOVE(POWDER_SNOW),
+ EC_WORD_POWER,
+ EC_WORD_PRAISE,
+ EC_WORD_PREPOSTEROUS,
+ EC_MOVE2(PRESENT),
+ EC_WORD_PRESSURE,
+ EC_WORD_PRETEND,
+ EC_WORD_PRETTY,
+ EC_POKEMON(PRIMEAPE),
+ EC_WORD_PROBABLY,
+ EC_WORD_PROMISE,
+ EC_MOVE2(PROTECT),
+ EC_MOVE(PSYBEAM),
+ EC_MOVE(PSYCH_UP),
+ -1, 2, // Doubled pokemon species name
+ EC_WORD_PSYCHIC,
+ EC_MOVE(PSYCHIC),
+ EC_MOVE(PSYCHO_BOOST),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(PSYDUCK),
+ EC_POKEMON(PSYDUCK),
+ EC_MOVE(PSYWAVE),
+ EC_POKEMON(PUPITAR),
+ EC_WORD_PURE_POWER,
+ EC_MOVE(PURSUIT),
+ EC_WORD_PUSHOVER,
+};
+
+const u16 gEasyChatWordsByLetter_Q[] = {
+ EC_POKEMON(QUAGSIRE),
+ EC_WORD_QUESTION,
+ EC_MOVE2(QUICK_ATTACK),
+ EC_POKEMON(QUILAVA),
+ EC_WORD_QUITE,
+ EC_POKEMON(QWILFISH),
+};
+
+const u16 gEasyChatWordsByLetter_R[] = {
+ EC_WORD_RADIO,
+ EC_MOVE(RAGE),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(RAICHU),
+ EC_POKEMON(RAICHU),
+ EC_POKEMON(RAIKOU),
+ EC_MOVE(RAIN_DANCE),
+ EC_WORD_RAIN_DISH,
+ EC_POKEMON2(RALTS),
+ EC_WORD_RANK,
+ EC_MOVE(RAPID_SPIN),
+ EC_POKEMON(RAPIDASH),
+ EC_WORD_RARE,
+ EC_WORD_RATHER,
+ EC_POKEMON(RATICATE),
+ EC_POKEMON(RATTATA),
+ EC_POKEMON2(RAYQUAZA),
+ EC_MOVE2(RAZOR_LEAF),
+ EC_MOVE(RAZOR_WIND),
+ EC_WORD_READY,
+ EC_WORD_REALLY,
+ EC_WORD_REAR,
+ EC_WORD_RECEIVED,
+ EC_WORD_RECOMMEND,
+ EC_MOVE(RECOVER),
+ EC_MOVE2(RECYCLE),
+ EC_WORD_RED,
+ EC_MOVE2(REFLECT),
+ EC_MOVE2(REFRESH),
+ EC_WORD_REFRESHING,
+ EC_WORD_REFUSE,
+ EC_POKEMON2(REGICE),
+ EC_POKEMON2(REGIROCK),
+ EC_POKEMON2(REGISTEEL),
+ EC_WORD_REJECT,
+ EC_WORD_RELEASE,
+ EC_POKEMON2(RELICANTH),
+ EC_POKEMON(REMORAID),
+ EC_WORD_RENTAL,
+ EC_MOVE2(REST),
+ EC_WORD_RESUSCITATE,
+ EC_MOVE(RETURN),
+ EC_MOVE2(REVENGE),
+ EC_MOVE(REVERSAL),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(RHYDON),
+ EC_POKEMON(RHYDON),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(RHYHORN),
+ EC_POKEMON(RHYHORN),
+ EC_WORD_RIBBON,
+ EC_WORD_RICKETY,
+ EC_WORD_RIGHT,
+ EC_WORD_RIPPED,
+ EC_WORD_RIVAL,
+ EC_MOVE2(ROAR),
+ EC_WORD_ROCK,
+ EC_MOVE2(ROCK_BLAST),
+ EC_WORD_ROCK_HEAD,
+ EC_MOVE(ROCK_SLIDE),
+ EC_MOVE(ROCK_SMASH),
+ EC_MOVE(ROCK_THROW),
+ EC_MOVE(ROCK_TOMB),
+ EC_WORD_ROCK_SOLID,
+ EC_MOVE2(ROLE_PLAY),
+ EC_MOVE2(ROLLING_KICK),
+ EC_MOVE(ROLLOUT),
+ EC_WORD_ROMANTIC,
+ EC_WORD_ROOM,
+ EC_POKEMON2(ROSELIA),
+ EC_WORD_ROUGH_SKIN,
+ EC_WORD_RPG,
+ EC_WORD_RUBY,
+ EC_WORD_RULE,
+ EC_WORD_RUN,
+ EC_WORD_RUN_AWAY,
+ EC_WORD_RUNS,
+};
+
+const u16 gEasyChatWordsByLetter_S[] = {
+ EC_POKEMON2(SABLEYE),
+ EC_MOVE(SACRED_FIRE),
+ EC_WORD_SAD,
+ EC_WORD_SADLY,
+ EC_MOVE(SAFEGUARD),
+ EC_WORD_SAID,
+ EC_POKEMON2(SALAMENCE),
+ EC_WORD_SAND_STREAM,
+ EC_MOVE(SAND_TOMB),
+ EC_WORD_SAND_VEIL,
+ EC_MOVE(SAND_ATTACK),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(SANDSHREW),
+ EC_POKEMON(SANDSHREW),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(SANDSLASH),
+ EC_POKEMON(SANDSLASH),
+ EC_MOVE(SANDSTORM),
+ EC_WORD_SAPPHIRE,
+ EC_WORD_SATISFIED,
+ EC_WORD_SATURDAY,
+ EC_WORD_SAYS,
+ EC_WORD_SCARY,
+ EC_MOVE(SCARY_FACE),
+ EC_WORD_SCATTER,
+ EC_POKEMON2(SCEPTILE),
+ EC_WORD_SCHOOL,
+ EC_POKEMON(SCIZOR),
+ EC_MOVE2(SCRATCH),
+ EC_MOVE(SCREECH),
+ EC_POKEMON(SCYTHER),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(SEADRA),
+ EC_POKEMON(SEADRA),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(SEAKING),
+ EC_POKEMON(SEAKING),
+ EC_POKEMON2(SEALEO),
+ EC_WORD_SEARCH,
+ EC_WORD_SECRET,
+ EC_WORD_SECRET_BASE,
+ EC_MOVE2(SECRET_POWER),
+ EC_WORD_SEE,
+ EC_WORD_SEE_YA,
+ EC_POKEMON2(SEEDOT),
+ EC_WORD_SEEK,
+ EC_POKEMON(SEEL),
+ EC_WORD_SEEMS,
+ EC_WORD_SEES,
+ EC_MOVE2(SEISMIC_TOSS),
+ EC_MOVE(SELF_DESTRUCT),
+ EC_WORD_SENSE,
+ EC_POKEMON(SENTRET),
+ EC_WORD_SERENE_GRACE,
+ EC_WORD_SERIOUS,
+ EC_WORD_SERIOUSLY,
+ EC_WORD_SERVICE,
+ EC_POKEMON2(SEVIPER),
+ EC_MOVE(SHADOW_BALL),
+ EC_MOVE(SHADOW_PUNCH),
+ EC_WORD_SHADOW_TAG,
+ EC_WORD_SHADY,
+ EC_WORD_SHAKE,
+ EC_WORD_SHAKY,
+ EC_WORD_SHALLOW,
+ EC_POKEMON2(SHARPEDO),
+ EC_MOVE(SHARPEN),
+ EC_WORD_SHE,
+ EC_WORD_SHE_IS,
+ EC_WORD_SHE_WAS,
+ EC_WORD_SHED_SKIN,
+ EC_POKEMON2(SHEDINJA),
+ EC_MOVE(SHEER_COLD),
+ EC_POKEMON2(SHELGON),
+ EC_WORD_SHELL_ARMOR,
+ EC_POKEMON(SHELLDER),
+ EC_WORD_SHIELD_DUST,
+ EC_POKEMON2(SHIFTRY),
+ EC_WORD_SHINE,
+ EC_MOVE2(SHOCK_WAVE),
+ EC_WORD_SHOCKED,
+ EC_WORD_SHOPPING,
+ EC_WORD_SHOULD,
+ EC_WORD_SHOW,
+ EC_WORD_SHREDDED,
+ EC_POKEMON2(SHROOMISH),
+ EC_POKEMON(SHUCKLE),
+ EC_POKEMON2(SHUPPET),
+ EC_WORD_SIBLINGS,
+ EC_WORD_SIGH,
+ EC_MOVE(SIGNAL_BEAM),
+ EC_POKEMON2(SILCOON),
+ EC_WORD_SILKY,
+ EC_WORD_SILVER,
+ EC_MOVE(SILVER_WIND),
+ EC_WORD_SIMPLE,
+ EC_WORD_SINCE,
+ EC_MOVE(SING),
+ EC_WORD_SINK,
+ EC_WORD_SISTER,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(SKARMORY),
+ EC_POKEMON(SKARMORY),
+ EC_MOVE(SKETCH),
+ EC_WORD_SKILL,
+ EC_MOVE(SKILL_SWAP),
+ EC_WORD_SKILLED,
+ EC_POKEMON(SKIPLOOM),
+ EC_POKEMON2(SKITTY),
+ EC_MOVE2(SKULL_BASH),
+ EC_MOVE(SKY_ATTACK),
+ EC_MOVE(SKY_UPPERCUT),
+ EC_MOVE2(SLACK_OFF),
+ EC_POKEMON2(SLAKING),
+ EC_POKEMON2(SLAKOTH),
+ EC_MOVE2(SLAM),
+ EC_MOVE(SLASH),
+ EC_WORD_SLEEP,
+ EC_MOVE2(SLEEP_POWDER),
+ EC_MOVE2(SLEEP_TALK),
+ EC_WORD_SLEPT,
+ EC_WORD_SLIDE,
+ EC_WORD_SLIMY,
+ EC_POKEMON(SLOWBRO),
+ EC_POKEMON(SLOWKING),
+ EC_POKEMON(SLOWPOKE),
+ EC_MOVE2(SLUDGE),
+ EC_MOVE2(SLUDGE_BOMB),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(SLUGMA),
+ EC_POKEMON(SLUGMA),
+ EC_WORD_SMACK,
+ EC_WORD_SMALL,
+ EC_WORD_SMART,
+ EC_WORD_SMARTNESS,
+ EC_POKEMON(SMEARGLE),
+ EC_WORD_SMELL,
+ EC_WORD_SMELL_YA,
+ EC_MOVE(SMELLING_SALT),
+ EC_WORD_SMITE,
+ EC_MOVE(SMOG),
+ EC_MOVE(SMOKESCREEN),
+ EC_POKEMON(SMOOCHUM),
+ EC_WORD_SMOOTH,
+ EC_MOVE2(SNATCH),
+ EC_POKEMON(SNEASEL),
+ EC_MOVE(SNORE),
+ EC_POKEMON(SNORLAX),
+ EC_WORD_SNORT,
+ EC_POKEMON2(SNORUNT),
+ EC_POKEMON(SNUBBULL),
+ EC_WORD_SO,
+ EC_MOVE2(SOFT_BOILED),
+ EC_WORD_SOFTWARE,
+ EC_MOVE(SOLAR_BEAM),
+ EC_POKEMON2(SOLROCK),
+ EC_WORD_SOME,
+ EC_WORD_SOMEHOW,
+ EC_WORD_SOMEONE,
+ EC_WORD_SOMETHING,
+ EC_WORD_SOMETIME,
+ EC_WORD_SON,
+ EC_WORD_SONG,
+ EC_WORD_SONGS,
+ EC_MOVE(SONIC_BOOM),
+ EC_WORD_SOON,
+ EC_WORD_SORRY,
+ EC_WORD_SOUNDPROOF,
+ EC_WORD_SP_ABILITY,
+ EC_MOVE(SPARK),
+ EC_POKEMON(SPEAROW),
+ EC_WORD_SPECTATOR,
+ EC_WORD_SPEED_BOOST,
+ EC_POKEMON2(SPHEAL),
+ EC_MOVE(SPIDER_WEB),
+ EC_MOVE2(SPIKE_CANNON),
+ EC_MOVE2(SPIKES),
+ EC_POKEMON(SPINARAK),
+ EC_POKEMON2(SPINDA),
+ EC_WORD_SPIRALING,
+ EC_WORD_SPIRIT,
+ EC_MOVE2(SPIT_UP),
+ EC_MOVE(SPITE),
+ EC_MOVE2(SPLASH),
+ EC_POKEMON2(SPOINK),
+ EC_MOVE(SPORE),
+ EC_WORD_SPORTS,
+ EC_WORD_SPRING,
+ EC_POKEMON(SQUIRTLE),
+ EC_WORD_STAGE,
+ EC_POKEMON(STANTLER),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(STARMIE),
+ EC_POKEMON(STARMIE),
+ EC_WORD_START,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(STARYU),
+ EC_POKEMON(STARYU),
+ EC_WORD_STATIC,
+ EC_WORD_STAY_AT_HOME,
+ EC_WORD_STEEL,
+ EC_MOVE2(STEEL_WING),
+ EC_POKEMON(STEELIX),
+ EC_WORD_STENCH,
+ EC_WORD_STICKY_HOLD,
+ EC_MOVE2(STOCKPILE),
+ EC_MOVE2(STOMP),
+ EC_WORD_STOP,
+ EC_WORD_STORE,
+ EC_WORD_STORES,
+ EC_WORD_STORY,
+ EC_WORD_STRATEGY,
+ EC_MOVE(STRENGTH),
+ EC_MOVE(STRING_SHOT),
+ EC_WORD_STRONG,
+ EC_MOVE2(STRUGGLE),
+ EC_WORD_STUDY,
+ EC_MOVE(STUN_SPORE),
+ EC_WORD_STURDY,
+ EC_MOVE(SUBMISSION),
+ EC_MOVE2(SUBSTITUTE),
+ EC_WORD_SUCTION_CUPS,
+ EC_POKEMON(SUDOWOODO),
+ EC_POKEMON(SUICUNE),
+ EC_WORD_SUMMER,
+ EC_WORD_SUNDAY,
+ EC_POKEMON(SUNFLORA),
+ EC_POKEMON(SUNKERN),
+ EC_MOVE2(SUNNY_DAY),
+ EC_WORD_SUPER,
+ EC_MOVE(SUPER_FANG),
+ EC_MOVE2(SUPERPOWER),
+ EC_MOVE2(SUPERSONIC),
+ EC_MOVE2(SURF),
+ EC_WORD_SURPRISE,
+ EC_WORD_SURRENDER,
+ EC_POKEMON2(SURSKIT),
+ EC_POKEMON2(SWABLU),
+ EC_MOVE(SWAGGER),
+ EC_MOVE2(SWALLOW),
+ EC_POKEMON2(SWALOT),
+ EC_POKEMON2(SWAMPERT),
+ EC_WORD_SWARM,
+ EC_MOVE2(SWEET_KISS),
+ EC_MOVE(SWEET_SCENT),
+ EC_WORD_SWEETS,
+ EC_POKEMON2(SWELLOW),
+ EC_MOVE(SWIFT),
+ EC_WORD_SWIFT_SWIM,
+ EC_POKEMON(SWINUB),
+ EC_MOVE2(SWORDS_DANCE),
+ EC_WORD_SYNCHRONIZE,
+ EC_MOVE(SYNTHESIS),
+ EC_WORD_SYSTEM,
+};
+
+const u16 gEasyChatWordsByLetter_T[] = {
+ EC_MOVE2(TACKLE),
+ EC_MOVE2(TAIL_GLOW),
+ EC_MOVE(TAIL_WHIP),
+ EC_POKEMON2(TAILLOW),
+ EC_WORD_TAKE,
+ EC_MOVE2(TAKE_DOWN),
+ EC_WORD_TAKE_THAT,
+ EC_WORD_TALENT,
+ EC_WORD_TALK,
+ EC_WORD_TALKING,
+ EC_POKEMON(TANGELA),
+ EC_WORD_TASTY,
+ EC_MOVE2(TAUNT),
+ EC_POKEMON(TAUROS),
+ EC_WORD_TCH,
+ EC_WORD_TEACH,
+ EC_WORD_TEACHER,
+ EC_WORD_TEACHES,
+ EC_POKEMON(TEDDIURSA),
+ EC_MOVE2(TEETER_DANCE),
+ EC_MOVE2(TELEPORT),
+ EC_WORD_TELEVISION,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(TENTACOOL),
+ EC_POKEMON(TENTACOOL),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(TENTACRUEL),
+ EC_POKEMON(TENTACRUEL),
+ EC_WORD_TERRIBLE,
+ EC_WORD_TEST,
+ EC_WORD_THAN,
+ EC_WORD_THANK_YOU,
+ EC_WORD_THANKS,
+ EC_WORD_THAT,
+ EC_WORD_THAT_WAS,
+ EC_WORD_THAT_S,
+ EC_WORD_THAT_S_IT_EXCL,
+ EC_WORD_THE,
+ EC_WORD_THEIR,
+ EC_WORD_THERE,
+ EC_WORD_THESE,
+ EC_WORD_THESE_WERE,
+ EC_WORD_THEY,
+ EC_WORD_THEY_WERE,
+ EC_WORD_THEY_RE,
+ EC_WORD_THEY_VE,
+ EC_WORD_THICK,
+ EC_WORD_THICK_FAT,
+ EC_MOVE2(THIEF),
+ EC_WORD_THIN,
+ EC_WORD_THING,
+ EC_WORD_THINGS,
+ EC_WORD_THINK,
+ EC_WORD_THINKS,
+ EC_WORD_THIRSTY,
+ EC_WORD_THIS,
+ EC_WORD_THIS_IS_IT_EXCL,
+ EC_WORD_THOSE,
+ EC_WORD_THOSE_ARE,
+ EC_WORD_THOSE_WERE,
+ EC_MOVE(THRASH),
+ EC_WORD_THROW,
+ EC_MOVE(THUNDER),
+ EC_MOVE2(THUNDER_WAVE),
+ EC_MOVE(THUNDERBOLT),
+ EC_MOVE(THUNDER_PUNCH),
+ EC_MOVE2(THUNDER_SHOCK),
+ EC_WORD_THURSDAY,
+ EC_MOVE(TICKLE),
+ EC_WORD_TICKLISH,
+ EC_WORD_TIGHT,
+ EC_WORD_TIME,
+ EC_WORD_TIMES,
+ EC_WORD_TIRED,
+ EC_WORD_TO,
+ EC_WORD_TO_HER,
+ EC_WORD_TO_ME,
+ EC_WORD_TO_THEM,
+ EC_WORD_TO_US,
+ EC_WORD_TO_WHOM,
+ EC_WORD_TODAY,
+ EC_POKEMON(TOGEPI),
+ EC_WORD_TOGETHER,
+ EC_POKEMON(TOGETIC),
+ EC_WORD_TOMORROW,
+ EC_WORD_TOO,
+ EC_WORD_TOO_LATE,
+ EC_WORD_TOO_STRONG,
+ EC_WORD_TOO_WEAK,
+ EC_WORD_TOP,
+ EC_POKEMON2(TORCHIC),
+ EC_POKEMON2(TORKOAL),
+ EC_MOVE(TORMENT),
+ EC_WORD_TORRENT,
+ EC_WORD_TOTALLY,
+ EC_POKEMON(TOTODILE),
+ EC_WORD_TOUGH,
+ EC_WORD_TOUGHNESS,
+ EC_WORD_TOURNAMENT,
+ EC_WORD_TOWER,
+ EC_MOVE2(TOXIC),
+ EC_WORD_TOYS,
+ EC_WORD_TRACE,
+ EC_WORD_TRADE,
+ EC_WORD_TRAIN,
+ EC_WORD_TRAINER,
+ EC_WORD_TRAINS,
+ EC_MOVE2(TRANSFORM),
+ EC_POKEMON2(TRAPINCH),
+ EC_WORD_TRAVEL,
+ EC_WORD_TREASURE,
+ EC_POKEMON2(TREECKO),
+ EC_WORD_TRENDY,
+ EC_MOVE2(TRI_ATTACK),
+ EC_MOVE2(TRICK),
+ EC_WORD_TRIES,
+ EC_MOVE2(TRIPLE_KICK),
+ EC_POKEMON2(TROPIUS),
+ EC_WORD_TRUANT,
+ EC_WORD_TRULY,
+ EC_WORD_TRUMP_CARD,
+ EC_WORD_TRUST,
+ EC_WORD_TRY,
+ EC_WORD_TUESDAY,
+ EC_MOVE2(TWINEEDLE),
+ EC_WORD_TWIRLING,
+ EC_MOVE2(TWISTER),
+ EC_WORD_TYPE,
+ EC_POKEMON(TYPHLOSION),
+ EC_POKEMON(TYRANITAR),
+ EC_POKEMON(TYROGUE),
+};
+
+const u16 gEasyChatWordsByLetter_U[] = {
+ EC_WORD_UGLY,
+ EC_WORD_UH_HUH,
+ EC_WORD_UH_OH,
+ EC_WORD_UM,
+ EC_POKEMON(UMBREON),
+ EC_WORD_UNAVOIDABLE,
+ EC_WORD_UNBELIEVABLE,
+ EC_WORD_UNCLE,
+ EC_WORD_UNDERSTAND,
+ EC_WORD_UNDERSTANDS,
+ EC_WORD_UNDERSTOOD,
+ EC_WORD_UNION,
+ EC_POKEMON(UNOWN),
+ EC_WORD_UNTIL,
+ EC_WORD_UP,
+ EC_WORD_UPBEAT,
+ EC_MOVE(UPROAR),
+ EC_WORD_UPSIDE_DOWN,
+ EC_WORD_URGH,
+ EC_POKEMON(URSARING),
+ EC_WORD_USE,
+ EC_WORD_USELESS,
+ EC_WORD_USES,
+ EC_WORD_USING,
+};
+
+const u16 gEasyChatWordsByLetter_V[] = {
+ EC_WORD_VACATION,
+ EC_POKEMON(VAPOREON),
+ EC_POKEMON(VENOMOTH),
+ EC_POKEMON(VENONAT),
+ EC_POKEMON(VENUSAUR),
+ EC_WORD_VERSION,
+ EC_WORD_VERSUS,
+ EC_WORD_VERY,
+ EC_POKEMON2(VIBRAVA),
+ EC_MOVE2(VICE_GRIP),
+ EC_WORD_VICTORY,
+ EC_POKEMON(VICTREEBEL),
+ EC_WORD_VIEWING,
+ EC_POKEMON2(VIGOROTH),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(VILEPLUME),
+ EC_POKEMON(VILEPLUME),
+ EC_MOVE2(VINE_WHIP),
+ EC_WORD_VITAL_SPIRIT,
+ EC_MOVE(VITAL_THROW),
+ EC_POKEMON2(VOLBEAT),
+ EC_WORD_VOLT_ABSORB,
+ EC_MOVE2(VOLT_TACKLE),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(VOLTORB),
+ EC_POKEMON(VOLTORB),
+ EC_WORD_VORACIOUS,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(VULPIX),
+ EC_POKEMON(VULPIX),
+};
+
+const u16 gEasyChatWordsByLetter_W[] = {
+ EC_WORD_WAAAH,
+ EC_WORD_WAHAHAHA,
+ EC_POKEMON2(WAILMER),
+ EC_POKEMON2(WAILORD),
+ EC_WORD_WAIT,
+ EC_WORD_WAKE_UP,
+ EC_WORD_WAKES_UP,
+ EC_WORD_WALK,
+ EC_WORD_WALKING,
+ EC_WORD_WALKS,
+ EC_POKEMON2(WALREIN),
+ EC_WORD_WANDERING,
+ EC_WORD_WANNABE,
+ EC_WORD_WANT,
+ EC_WORD_WANTS,
+ EC_POKEMON(WARTORTLE),
+ EC_WORD_WAS,
+ EC_WORD_WASN_T,
+ EC_WORD_WATER,
+ EC_WORD_WATER_ABSORB,
+ EC_MOVE2(WATER_GUN),
+ EC_MOVE2(WATER_PULSE),
+ EC_MOVE2(WATER_SPORT),
+ EC_MOVE(WATER_SPOUT),
+ EC_WORD_WATER_VEIL,
+ EC_MOVE2(WATERFALL),
+ EC_WORD_WAY,
+ EC_WORD_WE,
+ EC_WORD_WE_RE,
+ EC_WORD_WE_VE,
+ EC_WORD_WEAK,
+ EC_WORD_WEAKENED,
+ EC_MOVE(WEATHER_BALL),
+ EC_WORD_WEDNESDAY,
+ EC_POKEMON(WEEDLE),
+ EC_WORD_WEEK,
+ EC_POKEMON(WEEPINBELL),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(WEEZING),
+ EC_POKEMON(WEEZING),
+ EC_WORD_WEIRD,
+ EC_WORD_WELCOME,
+ EC_WORD_WELL,
+ EC_WORD_WELL_THEN,
+ EC_WORD_WENT,
+ EC_WORD_WERE,
+ EC_WORD_WEREN_T,
+ EC_WORD_WHAT,
+ EC_WORD_WHAT_S_UP_QUES,
+ EC_WORD_WHEN,
+ EC_WORD_WHEN_I_WIN,
+ EC_WORD_WHERE,
+ EC_WORD_WHICH,
+ EC_WORD_WHILE,
+ EC_MOVE(WHIRLPOOL),
+ EC_MOVE2(WHIRLWIND),
+ EC_POKEMON2(WHISCASH),
+ EC_POKEMON2(WHISMUR),
+ EC_WORD_WHITE_SMOKE,
+ EC_WORD_WHO,
+ EC_WORD_WHO_IS,
+ EC_WORD_WHO_WAS,
+ EC_WORD_WHOAH,
+ EC_WORD_WHOM,
+ EC_WORD_WHOSE,
+ EC_WORD_WHY,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(WIGGLYTUFF),
+ EC_POKEMON(WIGGLYTUFF),
+ EC_WORD_WILD,
+ EC_WORD_WILL,
+ EC_WORD_WILL_BE_HERE,
+ EC_MOVE(WILL_O_WISP),
+ EC_WORD_WIMPY,
+ EC_WORD_WIN,
+ EC_MOVE2(WING_ATTACK),
+ EC_POKEMON2(WINGULL),
+ EC_WORD_WINNER,
+ EC_WORD_WINS,
+ EC_WORD_WINTER,
+ EC_WORD_WIRELESS,
+ EC_MOVE2(WISH),
+ EC_WORD_WITH,
+ EC_MOVE(WITHDRAW),
+ EC_WORD_WITHOUT,
+ EC_WORD_WOBBLY,
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(WOBBUFFET),
+ EC_POKEMON(WOBBUFFET),
+ EC_WORD_WOMAN,
+ EC_WORD_WON,
+ EC_WORD_WON_T,
+ EC_WORD_WONDER,
+ EC_WORD_WONDER_GUARD,
+ EC_POKEMON(WOOPER),
+ EC_WORD_WORD,
+ EC_WORD_WORK,
+ EC_WORD_WORKING,
+ EC_WORD_WORKS,
+ EC_WORD_WORLD,
+ EC_WORD_WORRY,
+ EC_WORD_WOULD,
+ EC_WORD_WOW,
+ EC_WORD_WOWEE,
+ EC_MOVE2(WRAP),
+ EC_WORD_WROOOAAR_EXCL,
+ EC_POKEMON2(WURMPLE),
+ EC_POKEMON2(WYNAUT),
+};
+
+const u16 gEasyChatWordsByLetter_X[] = {
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(XATU),
+ EC_POKEMON(XATU),
+};
+
+const u16 gEasyChatWordsByLetter_Y[] = {
+ EC_WORD_YAHOO,
+ EC_POKEMON(YANMA),
+ EC_MOVE(YAWN),
+ EC_WORD_YAY,
+ EC_WORD_YEAH,
+ EC_WORD_YEAH_YEAH,
+ EC_WORD_YEEHAW_EXCL,
+ EC_WORD_YES,
+ EC_WORD_YES_SIR_EXCL,
+ EC_WORD_YESTERDAY,
+ EC_WORD_YET,
+ EC_WORD_YO,
+ EC_WORD_YOU,
+ EC_WORD_YOU_RE,
+ EC_WORD_YOU_VE,
+ EC_WORD_YOUNG,
+ EC_WORD_YOUR,
+ EC_WORD_YOURS,
+ EC_WORD_YUP,
+};
+
+const u16 gEasyChatWordsByLetter_Z[] = {
+ EC_POKEMON2(ZANGOOSE),
+ EC_MOVE2(ZAP_CANNON),
+ EC_POKEMON(ZAPDOS),
+ EC_POKEMON2(ZIGZAGOON),
+ -1, 2, // Doubled pokemon species name
+ EC_POKEMON2(ZUBAT),
+ EC_POKEMON(ZUBAT),
+};
+
+const struct EasyChatWordsByLetter gEasyChatWordsByLetterPointers[] = {
+ {
+ .words = gEasyChatWordsByLetter_Others,
+ .numWords = 10,
+ },
+ {
+ .words = gEasyChatWordsByLetter_A,
+ .numWords = 106,
+ },
+ {
+ .words = gEasyChatWordsByLetter_B,
+ .numWords = 86,
+ },
+ {
+ .words = gEasyChatWordsByLetter_C,
+ .numWords = 119,
+ },
+ {
+ .words = gEasyChatWordsByLetter_D,
+ .numWords = 94,
+ },
+ {
+ .words = gEasyChatWordsByLetter_E,
+ .numWords = 58,
+ },
+ {
+ .words = gEasyChatWordsByLetter_F,
+ .numWords = 79,
+ },
+ {
+ .words = gEasyChatWordsByLetter_G,
+ .numWords = 98,
+ },
+ {
+ .words = gEasyChatWordsByLetter_H,
+ .numWords = 101,
+ },
+ {
+ .words = gEasyChatWordsByLetter_I,
+ .numWords = 48,
+ },
+ {
+ .words = gEasyChatWordsByLetter_J,
+ .numWords = 13,
+ },
+ {
+ .words = gEasyChatWordsByLetter_K,
+ .numWords = 33,
+ },
+ {
+ .words = gEasyChatWordsByLetter_L,
+ .numWords = 82,
+ },
+ {
+ .words = gEasyChatWordsByLetter_M,
+ .numWords = 142,
+ },
+ {
+ .words = gEasyChatWordsByLetter_N,
+ .numWords = 54,
+ },
+ {
+ .words = gEasyChatWordsByLetter_O,
+ .numWords = 44,
+ },
+ {
+ .words = gEasyChatWordsByLetter_P,
+ .numWords = 102,
+ },
+ {
+ .words = gEasyChatWordsByLetter_Q,
+ .numWords = 6,
+ },
+ {
+ .words = gEasyChatWordsByLetter_R,
+ .numWords = 80,
+ },
+ {
+ .words = gEasyChatWordsByLetter_S,
+ .numWords = 262,
+ },
+ {
+ .words = gEasyChatWordsByLetter_T,
+ .numWords = 133,
+ },
+ {
+ .words = gEasyChatWordsByLetter_U,
+ .numWords = 24,
+ },
+ {
+ .words = gEasyChatWordsByLetter_V,
+ .numWords = 33,
+ },
+ {
+ .words = gEasyChatWordsByLetter_W,
+ .numWords = 111,
+ },
+ {
+ .words = gEasyChatWordsByLetter_X,
+ .numWords = 4,
+ },
+ {
+ .words = gEasyChatWordsByLetter_Y,
+ .numWords = 19,
+ },
+ {
+ .words = gEasyChatWordsByLetter_Z,
+ .numWords = 8,
+ },
+};
diff --git a/src/data/ingame_trades.h b/src/data/ingame_trades.h
index 59304242b..25a5afbe3 100644
--- a/src/data/ingame_trades.h
+++ b/src/data/ingame_trades.h
@@ -134,7 +134,7 @@ static const u16 sInGameTradeMailMessages[][10] = {
EC_WORD_THAT_S,
EC_WORD_A,
EC_WORD_HEALTHY,
- EC_POKEMON2(JYNX),
+ EC_POKEMON(JYNX),
EC_WORD_EXCL,
EC_WORD_BE,
EC_WORD_KIND,
diff --git a/src/easy_chat.c b/src/easy_chat.c
new file mode 100644
index 000000000..3f03dec54
--- /dev/null
+++ b/src/easy_chat.c
@@ -0,0 +1,4749 @@
+#include "global.h"
+#include "malloc.h"
+#include "bg.h"
+#include "data.h"
+#include "decompress.h"
+#include "dynamic_placeholder_text_util.h"
+#include "easy_chat.h"
+#include "event_data.h"
+#include "field_message_box.h"
+#include "field_weather.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "main.h"
+#include "mevent.h"
+#include "menu.h"
+#include "overworld.h"
+#include "palette.h"
+#include "pokedex.h"
+#include "random.h"
+#include "sound.h"
+#include "string_util.h"
+#include "strings.h"
+#include "task.h"
+#include "text_window.h"
+#include "window.h"
+#include "constants/easy_chat.h"
+#include "constants/map_objects.h"
+#include "constants/flags.h"
+#include "constants/songs.h"
+#include "constants/species.h"
+
+#define EZCHAT_TASK_STATE 0
+#define EZCHAT_TASK_TYPE 1
+#define EZCHAT_TASK_WORDS 2
+#define EZCHAT_TASK_MAINCALLBACK 4
+#define EZCHAT_TASK_UNK06 6
+#define EZCHAT_TASK_SIZE 7
+
+EWRAM_DATA struct EasyChatScreen *sEasyChatScreen = NULL;
+EWRAM_DATA struct Unk203A11C *sUnknown_0203A11C = NULL;
+EWRAM_DATA struct Unk203A120 *sUnknown_0203A120 = NULL;
+
+void sub_811A2C0(u8);
+void MainCallback_EasyChatScreen(void);
+bool8 sub_811A428(u8);
+void sub_811A2FC(u8);
+void sub_811A4D0(MainCallback);
+bool32 sub_811A88C(u16);
+void sub_811A8A4(u16);
+bool8 EasyChat_AllocateResources(u8, u16 *, u8);
+void EasyChat_FreeResources(void);
+u16 sub_811AAAC(void);
+u16 sub_811AB68(void);
+u16 sub_811ACDC(void);
+u16 sub_811AE44(void);
+u16 sub_811AF00(void);
+u16 sub_811AF8C(void);
+u16 sub_811AFEC(void);
+u16 sub_811B040(void);
+u16 sub_811B08C(void);
+u16 sub_811B0BC(void);
+u16 sub_811B0E8(void);
+u16 sub_811B0F8(void);
+u16 sub_811B150(void);
+u16 sub_811B1B4(void);
+u8 GetEasyChatScreenFrameId(void);
+u8 GetEachChatScreenTemplateId(u8);
+void sub_811BDF0(u8 *);
+void sub_811BF78(void);
+bool8 sub_811BF8C(void);
+bool8 sub_811BFA4(void);
+void sub_811C13C(void);
+void sub_811C158(u16);
+bool8 sub_811C170(void);
+bool8 sub_811F28C(void);
+void sub_811F2B8(void);
+u8 sub_811F3AC(void);
+int FooterHasFourOptions(void);
+int sub_811B184(void);
+int sub_811B264(void);
+int sub_811B32C(void);
+int sub_811B2B0(void);
+int sub_811B33C(void);
+int sub_811B368(void);
+u16 sub_811B528(int);
+u16 sub_811B794(u32);
+int sub_811B394(void);
+u8 sub_811B2A4(void);
+void sub_811B3E4(void);
+void sub_811BE9C(void);
+int sub_811B4EC(void);
+void sub_811B418(void);
+void sub_811B454(void);
+int sub_811BD64(void);
+int sub_811BDB0(void);
+int sub_811BD2C(void);
+int sub_811BCF4(void);
+u16 sub_811B8E8(void);
+u8 sub_811F3B8(u8);
+void sub_811F548(int, u16);
+int sub_811B908(void);
+u16 sub_811F5B0(void);
+void sub_811B488(u16);
+u16 sub_811B940(void);
+u16 sub_811F578(u16);
+int sub_811BF88(int);
+u16 sub_811B8C8(void);
+int sub_811B568(u32);
+int sub_811B634(u32);
+int sub_811B6C4(u32);
+void sub_811B978(void);
+void sub_811B744(void);
+u8 sub_811B9C8(void);
+void sub_811B768(void);
+u8 sub_811B960(u8);
+void sub_811B9A0(void);
+u8 sub_811BA1C(void);
+int sub_811BF20(void);
+u16 sub_811BF40(void);
+bool8 sub_811CE94(void);
+void sub_811CF64(void);
+void sub_811CF04(void);
+void sub_811D60C(void);
+void sub_811D424(u16 *);
+void sub_811D230(void);
+void sub_811E948(void);
+void sub_811CFCC(void);
+void sub_811D0BC(void);
+void sub_811D2C8(void);
+void sub_811D684(void);
+void sub_811DE90(void);
+void sub_811DEC4(void);
+void sub_811DF28(struct Sprite *);
+void sub_811DE5C(u8, u8, u8, u8);
+void sub_811E5D4(void);
+void sub_811E720(void);
+void sub_811E828(void);
+bool8 sub_811C2D4(void);
+bool8 sub_811C30C(void);
+bool8 sub_811C3E4(void);
+bool8 sub_811C48C(void);
+bool8 sub_811C404(void);
+bool8 sub_811C448(void);
+bool8 sub_811C4D0(void);
+bool8 sub_811C518(void);
+bool8 sub_811C554(void);
+bool8 sub_811C620(void);
+bool8 sub_811C830(void);
+bool8 sub_811C8F0(void);
+bool8 sub_811C99C(void);
+bool8 sub_811CA5C(void);
+bool8 sub_811C780(void);
+bool8 sub_811C78C(void);
+bool8 sub_811C7D4(void);
+bool8 sub_811CB18(void);
+bool8 sub_811CB98(void);
+bool8 sub_811CB24(void);
+bool8 sub_811CC90(void);
+bool8 sub_811CC08(void);
+bool8 sub_811C6C0(void);
+bool8 sub_811CD14(void);
+bool8 sub_811CD54(void);
+bool8 sub_811CD94(void);
+bool8 sub_811CDD4(void);
+bool8 sub_811CE14(void);
+bool8 sub_811CE54(void);
+void sub_811DF60(u8, u8);
+int GetFooterOptionXOffset(int);
+void sub_811DF90(void);
+void sub_811D104(u8);
+void sub_811D214(u8);
+void sub_811DFB0(void);
+void sub_811D6D4(void);
+void sub_811D9CC(int);
+void sub_811E3AC(void);
+bool8 sub_811E418(void);
+void sub_811DFC8(void);
+void sub_811E6E0(int);
+bool8 sub_811DAA4(void);
+void sub_811E64C(void);
+void sub_811E050(void);
+void sub_811E4AC(void);
+void sub_811E6B0(void);
+void sub_811E55C(void);
+bool8 sub_811E4D0(void);
+bool8 sub_811E5B8(void);
+void sub_811E578(void);
+void sub_811E088(void);
+void sub_811DDAC(s16, u8);
+bool8 sub_811DE10(void);
+void sub_811D9B4(void);
+void sub_811D698(u32);
+void sub_811E288(void);
+void sub_811E794(void);
+void sub_811E380(void);
+void sub_811E7F8(void);
+void sub_811E30C(void);
+void sub_811D7A4(void);
+void sub_811D7C8(void);
+int sub_811DE48(void);
+void sub_811D7EC(void);
+void sub_811D830(void);
+void sub_811D058(u8, u8, const u8 *, u8, u8, u8, u8, u8, u8);
+void sub_811DD84(void);
+void sub_811D6F4(void);
+void PrintEasyChatKeyboardText(void);
+void sub_811D794(void);
+const u8 *GetEasyChatWordGroupName(u8);
+void sub_811D864(u8, u8);
+void sub_811D950(u8, u8);
+void sub_811DADC(u8);
+void sub_811DC28(int, int, int, int);
+void sub_811E0EC(s8, s8);
+void sub_811E1A4(s8, s8);
+void sub_811E2DC(struct Sprite *);
+void sub_811E34C(u8, u8);
+bool8 sub_811F0F8(void);
+u16 sub_811F108(void);
+void sub_811F2D4(void);
+void sub_811F46C(void);
+u8 *CopyEasyChatWordPadded(u8 *, u16, u16);
+u8 sub_811F860(u16);
+u16 sub_811F5C4(u16);
+u16 sub_811F6B8(u16);
+bool8 sub_811F764(u16, u8);
+int sub_811F838(u16);
+void DoQuizAnswerEasyChatScreen(void);
+void DoQuizQuestionEasyChatScreen(void);
+void DoQuizSetAnswerEasyChatScreen(void);
+void DoQuizSetQuestionEasyChatScreen(void);
+
+#include "data/easy_chat/easy_chat_groups.h"
+#include "data/easy_chat/easy_chat_words_by_letter.h"
+
+const u8 *const gEasyChatGroupNamePointers[] = {
+ [EC_GROUP_POKEMON] = gEasyChatGroupName_Pokemon,
+ [EC_GROUP_TRAINER] = gEasyChatGroupName_Trainer,
+ [EC_GROUP_STATUS] = gEasyChatGroupName_Status,
+ [EC_GROUP_BATTLE] = gEasyChatGroupName_Battle,
+ [EC_GROUP_GREETINGS] = gEasyChatGroupName_Greetings,
+ [EC_GROUP_PEOPLE] = gEasyChatGroupName_People,
+ [EC_GROUP_VOICES] = gEasyChatGroupName_Voices,
+ [EC_GROUP_SPEECH] = gEasyChatGroupName_Speech,
+ [EC_GROUP_ENDINGS] = gEasyChatGroupName_Endings,
+ [EC_GROUP_FEELINGS] = gEasyChatGroupName_Feelings,
+ [EC_GROUP_CONDITIONS] = gEasyChatGroupName_Conditions,
+ [EC_GROUP_ACTIONS] = gEasyChatGroupName_Actions,
+ [EC_GROUP_LIFESTYLE] = gEasyChatGroupName_Lifestyle,
+ [EC_GROUP_HOBBIES] = gEasyChatGroupName_Hobbies,
+ [EC_GROUP_TIME] = gEasyChatGroupName_Time,
+ [EC_GROUP_MISC] = gEasyChatGroupName_Misc,
+ [EC_GROUP_ADJECTIVES] = gEasyChatGroupName_Adjectives,
+ [EC_GROUP_EVENTS] = gEasyChatGroupName_Events,
+ [EC_GROUP_MOVE_1] = gEasyChatGroupName_Move1,
+ [EC_GROUP_MOVE_2] = gEasyChatGroupName_Move2,
+ [EC_GROUP_TRENDY_SAYING] = gEasyChatGroupName_TrendySaying,
+ [EC_GROUP_POKEMON_2] = gEasyChatGroupName_Pokemon2,
+};
+
+const u16 sDefaultProfileWords[] = {
+ EC_WORD_I_AM,
+ EC_WORD_A,
+ EC_WORD_POKEMON,
+ EC_WORD_FRIEND,
+};
+
+const u16 sDefaultBattleStartWords[] = {
+ EC_WORD_ARE,
+ EC_WORD_YOU,
+ EC_WORD_READY,
+ EC_WORD_QUES,
+ EC_WORD_HERE_I_COME,
+ EC_WORD_EXCL,
+};
+
+const u16 gUnknown_83EE004[] = {
+ SPECIES_DEOXYS,
+};
+/*
+
+void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback, u8 displayedPersonType)
+{
+ u8 taskId;
+
+ ResetTasks();
+ taskId = CreateTask(sub_811A2C0, 0);
+ gTasks[taskId].data[EZCHAT_TASK_TYPE] = type;
+ gTasks[taskId].data[EZCHAT_TASK_SIZE] = displayedPersonType;
+ SetWordTaskArg(taskId, EZCHAT_TASK_WORDS, (u32)words);
+ SetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK, (u32)callback);
+ SetMainCallback2(MainCallback_EasyChatScreen);
+}
+
+void MainCallback_EasyChatScreen(void)
+{
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+void VBlankCallback_EasyChatScreen(void)
+{
+ TransferPlttBuffer();
+ LoadOam();
+ ProcessSpriteCopyRequests();
+}
+
+void sub_811A2A4(u8 taskId, TaskFunc taskFunc)
+{
+ gTasks[taskId].func = taskFunc;
+ gTasks[taskId].data[EZCHAT_TASK_STATE] = 0;
+}
+
+void sub_811A2C0(u8 taskId)
+{
+ if (!IsUpdateLinkStateCBActive())
+ {
+ while (sub_811A428(taskId));
+ }
+ else
+ {
+ if (sub_811A428(taskId) == TRUE)
+ {
+ return;
+ }
+ }
+ sub_811A2A4(taskId, sub_811A2FC);
+}
+
+void sub_811A2FC(u8 taskId)
+{
+ u16 v0;
+ s16 *data;
+
+ data = gTasks[taskId].data;
+ switch (data[EZCHAT_TASK_STATE])
+ {
+ case 0:
+ SetVBlankCallback(VBlankCallback_EasyChatScreen);
+ BlendPalettes(0xFFFFFFFF, 16, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK);
+ data[EZCHAT_TASK_STATE] = 5;
+ break;
+ case 1:
+ v0 = sub_811AAAC();
+ if (sub_811A88C(v0))
+ {
+ BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK);
+ data[EZCHAT_TASK_STATE] = 3;
+ data[EZCHAT_TASK_UNK06] = v0;
+ }
+ else if (v0 == 0x18)
+ {
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK);
+ data[EZCHAT_TASK_STATE] = 4;
+ }
+ else if (v0 != 0)
+ {
+ PlaySE(SE_SELECT);
+ sub_811C158(v0);
+ data[EZCHAT_TASK_STATE] ++;
+ }
+ break;
+ case 2:
+ if (!sub_811C170())
+ data[EZCHAT_TASK_STATE] = 1;
+ break;
+ case 3:
+ if (!gPaletteFade.active)
+ sub_811A8A4(data[EZCHAT_TASK_UNK06]);
+ break;
+ case 4:
+ if (!gPaletteFade.active)
+ sub_811A4D0((MainCallback)GetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK));
+ break;
+ case 5:
+ if (!gPaletteFade.active)
+ data[EZCHAT_TASK_STATE] = 1;
+ break;
+ }
+}
+
+bool8 sub_811A428(u8 taskId)
+{
+ s16 *data;
+
+ data = gTasks[taskId].data;
+ switch (data[EZCHAT_TASK_STATE])
+ {
+ case 0:
+ SetVBlankCallback(NULL);
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ ResetPaletteFade();
+ break;
+ case 1:
+ if (!sub_811F28C())
+ {
+ sub_811A4D0((MainCallback)GetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK));
+ }
+ break;
+ case 2:
+ if (!EasyChat_AllocateResources(data[EZCHAT_TASK_TYPE], (u16 *)GetWordTaskArg(taskId, EZCHAT_TASK_WORDS), data[EZCHAT_TASK_SIZE]))
+ {
+ sub_811A4D0((MainCallback)GetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK));
+ }
+ break;
+ case 3:
+ if (!sub_811BF8C())
+ {
+ sub_811A4D0((MainCallback)GetWordTaskArg(taskId, EZCHAT_TASK_MAINCALLBACK));
+ }
+ break;
+ case 4:
+ if (sub_811BFA4())
+ {
+ return TRUE;
+ }
+ break;
+ default:
+ return FALSE;
+ }
+ data[EZCHAT_TASK_STATE] ++;
+ return TRUE;
+}
+
+void sub_811A4D0(MainCallback callback)
+{
+ sub_811C13C();
+ EasyChat_FreeResources();
+ sub_811F2B8();
+ FreeAllWindowBuffers();
+ SetMainCallback2(callback);
+}
+
+void ShowEasyChatScreen(void)
+{
+ int i;
+ u16 *words;
+ struct MauvilleManBard *bard;
+ u8 displayedPersonType = EASY_CHAT_PERSON_DISPLAY_NONE;
+ switch (gSpecialVar_0x8004)
+ {
+ case EASY_CHAT_TYPE_PROFILE:
+ words = gSaveBlock1Ptr->easyChatProfile;
+ break;
+ case EASY_CHAT_TYPE_BATTLE_START:
+ words = gSaveBlock1Ptr->easyChatBattleStart;
+ break;
+ case EASY_CHAT_TYPE_BATTLE_WON:
+ words = gSaveBlock1Ptr->easyChatBattleWon;
+ break;
+ case EASY_CHAT_TYPE_BATTLE_LOST:
+ words = gSaveBlock1Ptr->easyChatBattleLost;
+ break;
+ case EASY_CHAT_TYPE_MAIL:
+ words = gSaveBlock1Ptr->mail[gSpecialVar_0x8005].words;
+ break;
+ case EASY_CHAT_TYPE_BARD_SONG:
+ bard = &gSaveBlock1Ptr->oldMan.bard;
+ for (i = 0; i < 6; i ++)
+ bard->temporaryLyrics[i] = bard->songLyrics[i];
+
+ words = bard->temporaryLyrics;
+ break;
+ case EASY_CHAT_TYPE_INTERVIEW:
+ words = gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].bravoTrainer.words;
+ displayedPersonType = gSpecialVar_0x8006;
+ break;
+ case EASY_CHAT_TYPE_FAN_CLUB:
+ words = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].fanclubOpinions.words[gSpecialVar_0x8006];
+ displayedPersonType = EASY_CHAT_PERSON_REPORTER_FEMALE;
+ break;
+ case EASY_CHAT_TYPE_UNK_8:
+ words = gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].unkShow04.words;
+ displayedPersonType = EASY_CHAT_PERSON_REPORTER_MALE;
+ break;
+ case EASY_CHAT_TYPE_TRENDY_PHRASE:
+ words = (u16 *)gStringVar3;
+ words[0] = gSaveBlock1Ptr->easyChatPairs[0].words[0];
+ words[1] = gSaveBlock1Ptr->easyChatPairs[0].words[1];
+ break;
+ case EASY_CHAT_TYPE_GABBY_AND_TY:
+ words = gSaveBlock1Ptr->gabbyAndTyData.quote;
+ *words = -1;
+ displayedPersonType = EASY_CHAT_PERSON_REPORTER_FEMALE;
+ break;
+ case EASY_CHAT_TYPE_CONTEST_INTERVIEW:
+ words = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].bravoTrainer.words[gSpecialVar_0x8006];
+ displayedPersonType = EASY_CHAT_PERSON_REPORTER_MALE;
+ break;
+ case EASY_CHAT_TYPE_BATTLE_TOWER_INTERVIEW:
+ words = gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].fanclubOpinions.words18;
+ displayedPersonType = EASY_CHAT_PERSON_REPORTER_FEMALE;
+ break;
+ case EASY_CHAT_TYPE_GOOD_SAYING:
+ words = (u16 *)gStringVar3;
+ InitializeEasyChatWordArray(words, 2);
+ break;
+ case EASY_CHAT_TYPE_FAN_QUESTION:
+ words = gSaveBlock1Ptr->tvShows[gSpecialVar_0x8005].fanClubSpecial.words;
+ words[0] = -1;
+ displayedPersonType = EASY_CHAT_PERSON_BOY;
+ break;
+ case EASY_CHAT_TYPE_QUIZ_ANSWER:
+ words = &gSaveBlock1Ptr->lilycoveLady.quiz.playerAnswer;
+ break;
+ case EASY_CHAT_TYPE_QUIZ_QUESTION:
+ return;
+ case EASY_CHAT_TYPE_QUIZ_SET_QUESTION:
+ words = gSaveBlock1Ptr->lilycoveLady.quiz.question;
+ break;
+ case EASY_CHAT_TYPE_QUIZ_SET_ANSWER:
+ words = &gSaveBlock1Ptr->lilycoveLady.quiz.correctAnswer;
+ break;
+ case EASY_CHAT_TYPE_APPRENTICE:
+ words = gSaveBlock2Ptr->apprentices[0].easyChatWords;
+ break;
+ case EASY_CHAT_TYPE_QUESTIONNAIRE:
+ words = sub_801B058();
+ break;
+ default:
+ return;
+ }
+
+ CleanupOverworldWindowsAndTilemaps();
+ DoEasyChatScreen(gSpecialVar_0x8004, words, CB2_ReturnToFieldContinueScript, displayedPersonType);
+}
+
+void CB2_QuizLadyQuestion(void)
+{
+ LilycoveLady *lilycoveLady;
+
+ UpdatePaletteFade();
+ switch (gMain.state)
+ {
+ case 0:
+ FadeScreen(1, 0);
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ {
+ lilycoveLady = &gSaveBlock1Ptr->lilycoveLady;
+ lilycoveLady->quiz.playerAnswer = -1;
+ CleanupOverworldWindowsAndTilemaps();
+ DoQuizQuestionEasyChatScreen();
+ }
+ return;
+ }
+ gMain.state ++;
+}
+
+void QuizLadyShowQuizQuestion(void)
+{
+ SetMainCallback2(CB2_QuizLadyQuestion);
+}
+
+int sub_811A868(u16 word)
+{
+ int i;
+
+ for (i = 0; i < ARRAY_COUNT(sUnknown_08597530); i ++)
+ {
+ if (word == sUnknown_08597530[i].word)
+ return i;
+ }
+ return -1;
+}
+
+bool32 sub_811A88C(u16 word)
+{
+ return sub_811A868(word) == -1 ? FALSE : TRUE;
+}
+
+void sub_811A8A4(u16 word)
+{
+ int i;
+
+ i = sub_811A868(word);
+ ResetTasks();
+ sub_811A4D0(sUnknown_08597530[i].callback);
+}
+
+void DoQuizAnswerEasyChatScreen(void)
+{
+ DoEasyChatScreen(
+ EASY_CHAT_TYPE_QUIZ_ANSWER,
+ &gSaveBlock1Ptr->lilycoveLady.quiz.playerAnswer,
+ CB2_ReturnToFieldContinueScript,
+ EASY_CHAT_PERSON_DISPLAY_NONE);
+}
+
+void DoQuizQuestionEasyChatScreen(void)
+{
+ DoEasyChatScreen(EASY_CHAT_TYPE_QUIZ_QUESTION,
+ gSaveBlock1Ptr->lilycoveLady.quiz.question,
+ CB2_ReturnToFieldContinueScript,
+ EASY_CHAT_PERSON_DISPLAY_NONE);
+}
+
+void DoQuizSetAnswerEasyChatScreen(void)
+{
+ DoEasyChatScreen(EASY_CHAT_TYPE_QUIZ_SET_ANSWER,
+ &gSaveBlock1Ptr->lilycoveLady.quiz.correctAnswer,
+ CB2_ReturnToFieldContinueScript,
+ EASY_CHAT_PERSON_DISPLAY_NONE);
+}
+
+void DoQuizSetQuestionEasyChatScreen(void)
+{
+ DoEasyChatScreen(EASY_CHAT_TYPE_QUIZ_SET_QUESTION,
+ gSaveBlock1Ptr->lilycoveLady.quiz.question,
+ CB2_ReturnToFieldContinueScript,
+ EASY_CHAT_PERSON_DISPLAY_NONE);
+}
+
+bool8 EasyChat_AllocateResources(u8 type, u16 *words, u8 displayedPersonType)
+{
+ u8 templateId;
+ int i;
+
+ sEasyChatScreen = malloc(sizeof(*sEasyChatScreen));
+ if (sEasyChatScreen == NULL)
+ return FALSE;
+
+ sEasyChatScreen->type = type;
+ sEasyChatScreen->words = words;
+ sEasyChatScreen->mainCursorColumn = 0;
+ sEasyChatScreen->mainCursorRow = 0;
+ sEasyChatScreen->unk_09 = 0;
+ sEasyChatScreen->displayedPersonType = displayedPersonType;
+ sEasyChatScreen->unk_13 = 0;
+ templateId = GetEachChatScreenTemplateId(type);
+ if (type == EASY_CHAT_TYPE_QUIZ_QUESTION)
+ {
+ sub_811BDF0(sEasyChatScreen->unk_14);
+ sEasyChatScreen->titleText = sEasyChatScreen->unk_14;
+ sEasyChatScreen->state = 7;
+ }
+ else
+ {
+ sEasyChatScreen->state = 0;
+ sEasyChatScreen->titleText = sEasyChatScreenTemplates[templateId].titleText;
+ }
+
+ sEasyChatScreen->numColumns = sEasyChatScreenTemplates[templateId].numColumns;
+ sEasyChatScreen->numRows = sEasyChatScreenTemplates[templateId].numRows;
+ sEasyChatScreen->unk_07 = sEasyChatScreen->numColumns * sEasyChatScreen->numRows;
+ sEasyChatScreen->templateId = templateId;
+ if (sEasyChatScreen->unk_07 > 9)
+ sEasyChatScreen->unk_07 = 9;
+
+ if (words != NULL)
+ {
+ CpuCopy16(words, sEasyChatScreen->ecWordBuffer, sEasyChatScreen->unk_07 * sizeof(u16));
+ }
+ else
+ {
+ for (i = 0; i < sEasyChatScreen->unk_07; i ++)
+ sEasyChatScreen->ecWordBuffer[i] = -1;
+
+ sEasyChatScreen->words = sEasyChatScreen->ecWordBuffer;
+ }
+
+ sEasyChatScreen->unk_0d = (sub_811F3AC() - 1) / 2 + 1;
+ return TRUE;
+}
+
+void EasyChat_FreeResources(void)
+{
+ if (sEasyChatScreen != NULL)
+ FREE_AND_SET_NULL(sEasyChatScreen);
+}
+
+u16 sub_811AAAC(void)
+{
+ switch (sEasyChatScreen->state)
+ {
+ case 0:
+ return sub_811AB68();
+ case 1:
+ return sub_811ACDC();
+ case 2:
+ return sub_811AE44();
+ case 3:
+ return sub_811AF00();
+ case 4:
+ return sub_811AF8C();
+ case 5:
+ return sub_811B040();
+ case 6:
+ return sub_811AFEC();
+ case 7:
+ return sub_811B08C();
+ case 8:
+ return sub_811B0BC();
+ case 9:
+ return sub_811B0E8();
+ case 10:
+ return sub_811B0F8();
+ }
+ return 0;
+}
+
+bool32 sub_811AB44(void)
+{
+ switch (GetEasyChatScreenFrameId())
+ {
+ case 2:
+ case 7:
+ case 8:
+ return TRUE;
+ }
+ return FALSE;
+}
+
+u16 sub_811AB68(void)
+{
+ do
+ {
+ if (gMain.newKeys & A_BUTTON)
+ {
+ sub_811BF78();
+ sEasyChatScreen->state = 2;
+ sEasyChatScreen->unk_0a = 0;
+ sEasyChatScreen->unk_0b = 0;
+ sEasyChatScreen->unk_0c = 0;
+ return 9;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ return sub_811B150();
+ }
+ else if (gMain.newKeys & START_BUTTON)
+ {
+ return sub_811B1B4();
+ }
+ else if (gMain.newKeys & DPAD_UP)
+ {
+ sEasyChatScreen->mainCursorRow--;
+ break;
+ }
+ else if (gMain.newKeys & DPAD_LEFT)
+ {
+ sEasyChatScreen->mainCursorColumn--;
+ break;
+ }
+ else if (gMain.newKeys & DPAD_DOWN)
+ {
+ sEasyChatScreen->mainCursorRow++;
+ break;
+ }
+ else if (gMain.newKeys & DPAD_RIGHT)
+ {
+ sEasyChatScreen->mainCursorColumn++;
+ break;
+ }
+
+ return 0;
+ } while (0);
+
+ if (sEasyChatScreen->mainCursorRow < 0)
+ sEasyChatScreen->mainCursorRow = sEasyChatScreenTemplates[sEasyChatScreen->templateId].numRows;
+
+ if (sEasyChatScreen->mainCursorRow > sEasyChatScreenTemplates[sEasyChatScreen->templateId].numRows)
+ sEasyChatScreen->mainCursorRow = 0;
+
+ if (sEasyChatScreen->mainCursorRow == sEasyChatScreenTemplates[sEasyChatScreen->templateId].numRows)
+ {
+ if (sEasyChatScreen->mainCursorColumn > 2)
+ sEasyChatScreen->mainCursorColumn = 2;
+
+ sEasyChatScreen->state = 1;
+ return 3;
+ }
+
+ if (sEasyChatScreen->mainCursorColumn < 0)
+ sEasyChatScreen->mainCursorColumn = sEasyChatScreenTemplates[sEasyChatScreen->templateId].numColumns - 1;
+
+ if (sEasyChatScreen->mainCursorColumn >= sEasyChatScreenTemplates[sEasyChatScreen->templateId].numColumns)
+ sEasyChatScreen->mainCursorColumn = 0;
+
+ if (sub_811AB44() && sEasyChatScreen->mainCursorColumn == 1 && sEasyChatScreen->mainCursorRow == 4)
+ sEasyChatScreen->mainCursorColumn = 0;
+
+ return 2;
+}
+
+u16 sub_811ACDC(void)
+{
+ do
+ {
+ if (gMain.newKeys & A_BUTTON)
+ {
+ switch (sEasyChatScreen->mainCursorColumn)
+ {
+ case 0:
+ return sub_811B184();
+ case 1:
+ return sub_811B150();
+ case 2:
+ return sub_811B1B4();
+ case 3:
+ return sub_811B264();
+ }
+ }
+
+ if (gMain.newKeys & B_BUTTON)
+ {
+ return sub_811B150();
+ }
+ else if (gMain.newKeys & START_BUTTON)
+ {
+ return sub_811B1B4();
+ }
+ else if (gMain.newKeys & DPAD_UP)
+ {
+ sEasyChatScreen->mainCursorRow--;
+ break;
+ }
+ else if (gMain.newKeys & DPAD_LEFT)
+ {
+ sEasyChatScreen->mainCursorColumn--;
+ break;
+ }
+ else if (gMain.newKeys & DPAD_DOWN)
+ {
+ sEasyChatScreen->mainCursorRow = 0;
+ break;
+ }
+ else if (gMain.newKeys & DPAD_RIGHT)
+ {
+ sEasyChatScreen->mainCursorColumn++;
+ break;
+ }
+
+ return 0;
+ } while (0);
+
+ if (sEasyChatScreen->mainCursorRow == sEasyChatScreenTemplates[sEasyChatScreen->templateId].numRows)
+ {
+ int numFooterColumns = FooterHasFourOptions() ? 4 : 3;
+ if (sEasyChatScreen->mainCursorColumn < 0)
+ sEasyChatScreen->mainCursorColumn = numFooterColumns - 1;
+
+ if (sEasyChatScreen->mainCursorColumn >= numFooterColumns)
+ sEasyChatScreen->mainCursorColumn = 0;
+
+ return 3;
+ }
+
+ if (sEasyChatScreen->mainCursorColumn >= sEasyChatScreenTemplates[sEasyChatScreen->templateId].numColumns)
+ sEasyChatScreen->mainCursorColumn = sEasyChatScreenTemplates[sEasyChatScreen->templateId].numColumns - 1;
+
+ if (sub_811AB44() && sEasyChatScreen->mainCursorColumn == 1 && sEasyChatScreen->mainCursorRow == 4)
+ sEasyChatScreen->mainCursorColumn = 0;
+
+ sEasyChatScreen->state = 0;
+ return 2;
+}
+
+u16 sub_811AE44(void)
+{
+ if (gMain.newKeys & B_BUTTON)
+ return sub_811B32C();
+
+ if (gMain.newKeys & A_BUTTON)
+ {
+ if (sEasyChatScreen->unk_0a != -1)
+ return sub_811B2B0();
+
+ switch (sEasyChatScreen->unk_0b)
+ {
+ case 0:
+ return sub_811B33C();
+ case 1:
+ return sub_811B368();
+ case 2:
+ return sub_811B32C();
+ }
+ }
+
+ if (gMain.newKeys & SELECT_BUTTON)
+ return sub_811B33C();
+
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ return sub_811B528(2);
+
+ if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ return sub_811B528(3);
+
+ if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ return sub_811B528(1);
+
+ if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ return sub_811B528(0);
+
+ return 0;
+}
+
+u16 sub_811AF00(void)
+{
+ if (gMain.newKeys & B_BUTTON)
+ {
+ sEasyChatScreen->state = 2;
+ return 14;
+ }
+
+ if (gMain.newKeys & A_BUTTON)
+ return sub_811B394();
+
+ if (gMain.newKeys & START_BUTTON)
+ return sub_811B794(4);
+
+ if (gMain.newKeys & SELECT_BUTTON)
+ return sub_811B794(5);
+
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ return sub_811B794(2);
+
+ if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ return sub_811B794(3);
+
+ if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ return sub_811B794(1);
+
+ if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ return sub_811B794(0);
+
+ return 0;
+}
+
+u16 sub_811AF8C(void)
+{
+ u8 var0;
+
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case MENU_B_PRESSED: // B Button
+ case 1: // No
+ sEasyChatScreen->state = sub_811B2A4();
+ return 7;
+ case 0: // Yes
+ gSpecialVar_Result = 0;
+ var0 = sEasyChatScreen->type - EASY_CHAT_TYPE_QUIZ_SET_QUESTION;
+ if (var0 < 2)
+ sub_811B3E4();
+
+ return 24;
+ default:
+ return 0;
+ }
+}
+
+u16 sub_811AFEC(void)
+{
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case MENU_B_PRESSED: // B Button
+ case 1: // No
+ sEasyChatScreen->state = sub_811B2A4();
+ return 7;
+ case 0: // Yes
+ sub_811BE9C();
+ gSpecialVar_Result = sub_811B4EC();
+ sub_811B3E4();
+ return 24;
+ default:
+ return 0;
+ }
+}
+
+u16 sub_811B040(void)
+{
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case MENU_B_PRESSED: // B Button
+ case 1: // No
+ sEasyChatScreen->state = 1;
+ return 7;
+ case 0: // Yes
+ sub_811B418();
+ sEasyChatScreen->state = 1;
+ return 8;
+ default:
+ return 0;
+ }
+}
+
+u16 sub_811B08C(void)
+{
+ if (gMain.newKeys & A_BUTTON)
+ return 26;
+
+ if (gMain.newKeys & B_BUTTON)
+ return sub_811B150();
+
+ return 0;
+}
+
+u16 sub_811B0BC(void)
+{
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
+ sEasyChatScreen->state = sub_811B2A4();
+ return 7;
+ }
+
+ return 0;
+}
+
+u16 sub_811B0E8(void)
+{
+ sEasyChatScreen->state = 10;
+ return 6;
+}
+
+u16 sub_811B0F8(void)
+{
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case MENU_B_PRESSED: // B Button
+ case 1: // No
+ sub_811B454();
+ sEasyChatScreen->stateBackup = 0;
+ sEasyChatScreen->state = 8;
+ return 31;
+ case 0: // Yes
+ gSpecialVar_Result = sub_811B4EC();
+ sub_811B3E4();
+ return 24;
+ default:
+ return 0;
+ }
+}
+
+u16 sub_811B150(void)
+{
+ if (sEasyChatScreen->type == EASY_CHAT_TYPE_APPRENTICE
+ || sEasyChatScreen->type == EASY_CHAT_TYPE_CONTEST_INTERVIEW)
+ {
+ sEasyChatScreen->stateBackup = sEasyChatScreen->state;
+ sEasyChatScreen->state = 8;
+ return 34;
+ }
+ else
+ {
+ sEasyChatScreen->stateBackup = sEasyChatScreen->state;
+ sEasyChatScreen->state = 4;
+ return 5;
+ }
+}
+
+int sub_811B184(void)
+{
+ sEasyChatScreen->stateBackup = sEasyChatScreen->state;
+ if (sEasyChatScreen->type != EASY_CHAT_TYPE_BARD_SONG)
+ {
+ sEasyChatScreen->state = 5;
+ return 4;
+ }
+ else
+ {
+ sEasyChatScreen->stateBackup = sEasyChatScreen->state;
+ sEasyChatScreen->state = 8;
+ return 32;
+ }
+}
+
+u16 sub_811B1B4(void)
+{
+ sEasyChatScreen->stateBackup = sEasyChatScreen->state;
+ if (sEasyChatScreen->type == EASY_CHAT_TYPE_QUIZ_SET_QUESTION)
+ {
+ if (sub_811BD64())
+ {
+ sEasyChatScreen->state = 8;
+ return 29;
+ }
+
+ if (sub_811BDB0())
+ {
+ sEasyChatScreen->state = 8;
+ return 30;
+ }
+
+ sEasyChatScreen->state = 6;
+ return 6;
+ }
+ else if (sEasyChatScreen->type == EASY_CHAT_TYPE_QUIZ_SET_ANSWER)
+ {
+ if (sub_811BDB0())
+ {
+ sEasyChatScreen->state = 8;
+ return 30;
+ }
+
+ if (sub_811BD64())
+ {
+ sEasyChatScreen->state = 8;
+ return 29;
+ }
+
+ sEasyChatScreen->state = 6;
+ return 6;
+ }
+ else if (sEasyChatScreen->type == EASY_CHAT_TYPE_TRENDY_PHRASE
+ || sEasyChatScreen->type == EASY_CHAT_TYPE_GOOD_SAYING)
+ {
+ if (!sub_811BD2C())
+ {
+ sEasyChatScreen->state = 8;
+ return 33;
+ }
+
+ sEasyChatScreen->state = 6;
+ return 6;
+ }
+ else if (sEasyChatScreen->type == EASY_CHAT_TYPE_APPRENTICE
+ || sEasyChatScreen->type == EASY_CHAT_TYPE_CONTEST_INTERVIEW)
+ {
+ if (sub_811BCF4())
+ {
+ sEasyChatScreen->state = 8;
+ return 34;
+ }
+
+ sEasyChatScreen->state = 6;
+ return 6;
+ }
+ else if (sEasyChatScreen->type == EASY_CHAT_TYPE_QUESTIONNAIRE)
+ {
+ sEasyChatScreen->state = 6;
+ return 6;
+ }
+ else
+ {
+ if (sub_811BCF4() == 1 || !sub_811B4EC())
+ {
+ sEasyChatScreen->state = 4;
+ return 5;
+ }
+
+ sEasyChatScreen->state = 6;
+ return 6;
+ }
+}
+
+int sub_811B264(void)
+{
+ sEasyChatScreen->stateBackup = sEasyChatScreen->state;
+ switch (sEasyChatScreen->type)
+ {
+ case EASY_CHAT_TYPE_QUIZ_ANSWER:
+ return 25;
+ case EASY_CHAT_TYPE_QUIZ_SET_QUESTION:
+ sub_811B3E4();
+ return 28;
+ case EASY_CHAT_TYPE_QUIZ_SET_ANSWER:
+ sub_811B3E4();
+ return 27;
+ default:
+ return 0;
+ }
+}
+
+u8 sub_811B2A4(void)
+{
+ return sEasyChatScreen->stateBackup;
+}
+
+int sub_811B2B0(void)
+{
+ u16 var1;
+
+ if (sEasyChatScreen->unk_09 == 0)
+ {
+ u8 groupId = sub_811F3B8(sub_811B8E8());
+ sub_811F548(0, groupId);
+ }
+ else
+ {
+ sub_811F548(1, sub_811B908());
+ }
+
+ var1 = sub_811F5B0();
+ if (var1 == 0)
+ return 0;
+
+ sEasyChatScreen->unk_0f = (var1 - 1) / 2;
+ sEasyChatScreen->unk_0e = 0;
+ sEasyChatScreen->unk_10 = 0;
+ sEasyChatScreen->unk_11 = 0;
+ sEasyChatScreen->state = 3;
+ return 11;
+}
+
+int sub_811B32C(void)
+{
+ sEasyChatScreen->state = 0;
+ return 10;
+}
+
+int sub_811B33C(void)
+{
+ sEasyChatScreen->unk_0a = 0;
+ sEasyChatScreen->unk_0b = 0;
+ sEasyChatScreen->unk_0c = 0;
+ if (!sEasyChatScreen->unk_09)
+ sEasyChatScreen->unk_09 = 1;
+ else
+ sEasyChatScreen->unk_09 = 0;
+
+ return 23;
+}
+
+int sub_811B368(void)
+{
+ if (sEasyChatScreen->type == EASY_CHAT_TYPE_BARD_SONG)
+ {
+ PlaySE(SE_HAZURE);
+ return 0;
+ }
+ else
+ {
+ sub_811B488(0xFFFF);
+ return 1;
+ }
+}
+
+int sub_811B394(void)
+{
+ u16 easyChatWord = sub_811F578(sub_811B940());
+ if (sub_811BF88(easyChatWord))
+ {
+ PlaySE(SE_HAZURE);
+ return 0;
+ }
+ else
+ {
+ sub_811B488(easyChatWord);
+ if (sEasyChatScreen->type != EASY_CHAT_TYPE_BARD_SONG)
+ {
+ sEasyChatScreen->state = 0;
+ return 12;
+ }
+ else
+ {
+ sEasyChatScreen->state = 9;
+ return 13;
+ }
+ }
+}
+
+void sub_811B3E4(void)
+{
+ int i;
+ for (i = 0; i < sEasyChatScreen->unk_07; i++)
+ sEasyChatScreen->words[i] = sEasyChatScreen->ecWordBuffer[i];
+}
+
+void sub_811B418(void)
+{
+ int i;
+ for (i = 0; i < sEasyChatScreen->unk_07; i++)
+ sEasyChatScreen->ecWordBuffer[i] = 0xFFFF;
+}
+
+void sub_811B454(void)
+{
+ int i;
+ for (i = 0; i < sEasyChatScreen->unk_07; i++)
+ sEasyChatScreen->ecWordBuffer[i] = sEasyChatScreen->words[i];
+}
+
+void sub_811B488(u16 easyChatWord)
+{
+ u16 index = sub_811B8C8();
+ sEasyChatScreen->ecWordBuffer[index] = easyChatWord;
+}
+
+u8 sub_811B4AC(void)
+{
+ u16 i;
+ for (i = 0; i < sEasyChatScreen->unk_07; i++)
+ {
+ if (sEasyChatScreen->ecWordBuffer[i] != sEasyChatScreen->words[i])
+ return 1;
+ }
+
+ return 0;
+}
+
+int sub_811B4EC(void)
+{
+ u8 var0 = sEasyChatScreen->type - EASY_CHAT_TYPE_QUIZ_SET_QUESTION;
+ if (var0 < 2)
+ {
+ if (sub_811BD64())
+ return 0;
+
+ if (sub_811BDB0())
+ return 0;
+
+ return 1;
+ }
+ else
+ {
+ return sub_811B4AC();
+ }
+}
+
+u16 sub_811B528(int arg0)
+{
+ if (sEasyChatScreen->unk_0a != -1)
+ {
+ if (sEasyChatScreen->unk_09 == 0)
+ return sub_811B568(arg0);
+ else
+ return sub_811B634(arg0);
+ }
+ else
+ {
+ return sub_811B6C4(arg0);
+ }
+}
+
+int sub_811B568(u32 arg0)
+{
+ switch (arg0)
+ {
+ case 2:
+ if (sEasyChatScreen->unk_0b != -sEasyChatScreen->unk_0c)
+ {
+ if (sEasyChatScreen->unk_0b)
+ {
+ sEasyChatScreen->unk_0b--;
+ return 15;
+ }
+ else
+ {
+ sEasyChatScreen->unk_0c--;
+ return 17;
+ }
+ }
+ break;
+ case 3:
+ if (sEasyChatScreen->unk_0b + sEasyChatScreen->unk_0c < sEasyChatScreen->unk_0d - 1)
+ {
+ int var0;
+ if (sEasyChatScreen->unk_0b < 3)
+ {
+ sEasyChatScreen->unk_0b++;
+ var0 = 15;
+ }
+ else
+ {
+ sEasyChatScreen->unk_0c++;
+ var0 = 16;
+ }
+
+ sub_811B978();
+ return var0;
+ }
+ break;
+ case 1:
+ if (sEasyChatScreen->unk_0a)
+ sEasyChatScreen->unk_0a--;
+ else
+ sub_811B744();
+
+ return 15;
+ case 0:
+ if (sEasyChatScreen->unk_0a < 1)
+ {
+ sEasyChatScreen->unk_0a++;
+ if (sub_811B9C8())
+ sub_811B744();
+ }
+ else
+ {
+ sub_811B744();
+ }
+ return 15;
+ }
+
+ return 0;
+}
+
+int sub_811B634(u32 arg0)
+{
+ switch (arg0)
+ {
+ case 2:
+ if (sEasyChatScreen->unk_0b > 0)
+ sEasyChatScreen->unk_0b--;
+ else
+ sEasyChatScreen->unk_0b = 3;
+
+ sub_811B978();
+ return 15;
+ case 3:
+ if (sEasyChatScreen->unk_0b < 3)
+ sEasyChatScreen->unk_0b++;
+ else
+ sEasyChatScreen->unk_0b = 0;
+
+ sub_811B978();
+ return 15;
+ case 0:
+ sEasyChatScreen->unk_0a++;
+ if (sub_811B9C8())
+ sub_811B744();
+
+ return 15;
+ case 1:
+ sEasyChatScreen->unk_0a--;
+ if (sEasyChatScreen->unk_0a < 0)
+ sub_811B744();
+
+ return 15;
+ }
+
+ return 0;
+}
+
+int sub_811B6C4(u32 arg0)
+{
+ switch (arg0)
+ {
+ case 2:
+ if (sEasyChatScreen->unk_0b)
+ sEasyChatScreen->unk_0b--;
+ else
+ sEasyChatScreen->unk_0b = 2;
+
+ return 15;
+ case 3:
+ if (sEasyChatScreen->unk_0b < 2)
+ sEasyChatScreen->unk_0b++;
+ else
+ sEasyChatScreen->unk_0b = 0;
+
+ return 15;
+ case 1:
+ sEasyChatScreen->unk_0b++;
+ sub_811B768();
+ return 15;
+ case 0:
+ sEasyChatScreen->unk_0a = 0;
+ sEasyChatScreen->unk_0b++;
+ return 15;
+ }
+
+ return 0;
+}
+
+void sub_811B744(void)
+{
+ sEasyChatScreen->unk_0a = 0xFF;
+ if (sEasyChatScreen->unk_0b)
+ sEasyChatScreen->unk_0b--;
+}
+
+void sub_811B768(void)
+{
+ if (sEasyChatScreen->unk_09 == 0)
+ {
+ sEasyChatScreen->unk_0a = 1;
+ sub_811B978();
+ }
+ else
+ {
+ sEasyChatScreen->unk_0a = sub_811B960(sEasyChatScreen->unk_0b);
+ }
+}
+
+u16 sub_811B794(u32 arg0)
+{
+ u16 result;
+ switch (arg0)
+ {
+ case 2:
+ if (sEasyChatScreen->unk_11 + sEasyChatScreen->unk_0e > 0)
+ {
+ if (sEasyChatScreen->unk_11 > 0)
+ {
+ sEasyChatScreen->unk_11--;
+ result = 18;
+ }
+ else
+ {
+ sEasyChatScreen->unk_0e--;
+ result = 19;
+ }
+
+ sub_811B9A0();
+ return result;
+ }
+ break;
+ case 3:
+ if (sEasyChatScreen->unk_11 + sEasyChatScreen->unk_0e < sEasyChatScreen->unk_0f)
+ {
+ if (sEasyChatScreen->unk_11 < 3)
+ {
+ sEasyChatScreen->unk_11++;
+ result = 18;
+ }
+ else
+ {
+ sEasyChatScreen->unk_0e++;
+ result = 20;
+ }
+
+ sub_811B9A0();
+ return result;
+ }
+ break;
+ case 1:
+ if (sEasyChatScreen->unk_10 > 0)
+ sEasyChatScreen->unk_10--;
+ else
+ sEasyChatScreen->unk_10 = 1;
+
+ sub_811B9A0();
+ return 18;
+ case 0:
+ if (sEasyChatScreen->unk_10 < 1)
+ {
+ sEasyChatScreen->unk_10++;
+ if (sub_811BA1C())
+ sEasyChatScreen->unk_10 = 0;
+ }
+ else
+ {
+ sEasyChatScreen->unk_10 = 0;
+ }
+ return 18;
+ case 4:
+ if (sEasyChatScreen->unk_0e)
+ {
+ if (sEasyChatScreen->unk_0e > 3)
+ sEasyChatScreen->unk_0e -= 4;
+ else
+ sEasyChatScreen->unk_0e = 0;
+
+ return 21;
+ }
+ break;
+ case 5:
+ if (sEasyChatScreen->unk_0e <= sEasyChatScreen->unk_0f - 4)
+ {
+ sEasyChatScreen->unk_0e += 4;
+ if (sEasyChatScreen->unk_0e > sEasyChatScreen->unk_0f - 3)
+ sEasyChatScreen->unk_0e = sEasyChatScreen->unk_0f + 0xFD;
+
+ sub_811B9A0();
+ return 22;
+ }
+ break;
+ }
+
+ return 0;
+}
+
+u16 sub_811B8C8(void)
+{
+ return (sEasyChatScreen->mainCursorRow * sEasyChatScreen->numColumns) + sEasyChatScreen->mainCursorColumn;
+}
+
+u16 sub_811B8E8(void)
+{
+ return 2 * (sEasyChatScreen->unk_0b + sEasyChatScreen->unk_0c) + sEasyChatScreen->unk_0a;
+}
+
+int sub_811B908(void)
+{
+ int var0 = (u8)sEasyChatScreen->unk_0a < 7 ? sEasyChatScreen->unk_0a : 0;
+ int var1 = (u8)sEasyChatScreen->unk_0b < 4 ? sEasyChatScreen->unk_0b : 0;
+ return sUnknown_08597748[var1][var0];
+}
+
+u16 sub_811B940(void)
+{
+ return 2 * (sEasyChatScreen->unk_11 + sEasyChatScreen->unk_0e) + sEasyChatScreen->unk_10;
+}
+
+u8 sub_811B960(u8 arg0)
+{
+ switch (arg0)
+ {
+ case 0:
+ default:
+ return 6;
+ case 1:
+ return 5;
+ }
+}
+
+void sub_811B978(void)
+{
+ while (sub_811B9C8())
+ {
+ if (sEasyChatScreen->unk_0a)
+ sEasyChatScreen->unk_0a--;
+ else
+ break;
+ }
+}
+
+void sub_811B9A0(void)
+{
+ while (sub_811BA1C())
+ {
+ if (sEasyChatScreen->unk_10)
+ sEasyChatScreen->unk_10--;
+ else
+ break;
+ }
+}
+
+u8 sub_811B9C8(void)
+{
+ if (sEasyChatScreen->unk_09 == 0)
+ return sub_811B8E8() >= sub_811F3AC() ? 1 : 0;
+ else
+ return sEasyChatScreen->unk_0a > sub_811B960(sEasyChatScreen->unk_0b) ? 1 : 0;
+}
+
+u8 sub_811BA1C(void)
+{
+ return sub_811B940() >= sub_811F5B0() ? 1 : 0;
+}
+
+int FooterHasFourOptions(void)
+{
+ return sEasyChatScreenTemplates[sEasyChatScreen->templateId].fourFooterOptions;
+}
+
+u8 GetEasyChatScreenType(void)
+{
+ return sEasyChatScreen->type;
+}
+
+u8 GetEasyChatScreenFrameId(void)
+{
+ return sEasyChatScreenTemplates[sEasyChatScreen->templateId].frameId;
+}
+
+const u8 *GetTitleText(void)
+{
+ return sEasyChatScreen->titleText;
+}
+
+u16 *GetEasyChatWordBuffer(void)
+{
+ return sEasyChatScreen->ecWordBuffer;
+}
+
+u8 GetNumRows(void)
+{
+ return sEasyChatScreen->numRows;
+}
+
+u8 GetNumColumns(void)
+{
+ return sEasyChatScreen->numColumns;
+}
+
+u8 GetMainCursorColumn(void)
+{
+ return sEasyChatScreen->mainCursorColumn;
+}
+
+u8 GetMainCursorRow(void)
+{
+ return sEasyChatScreen->mainCursorRow;
+}
+
+void GetEasyChatInstructionsText(const u8 **str1, const u8 **str2)
+{
+ *str1 = sEasyChatScreenTemplates[sEasyChatScreen->templateId].instructionsText1;
+ *str2 = sEasyChatScreenTemplates[sEasyChatScreen->templateId].instructionsText2;
+}
+
+void GetEasyChatConfirmText(const u8 **str1, const u8 **str2)
+{
+ *str1 = sEasyChatScreenTemplates[sEasyChatScreen->templateId].confirmText1;
+ *str2 = sEasyChatScreenTemplates[sEasyChatScreen->templateId].confirmText2;
+}
+
+void sub_811BB40(const u8 **str1, const u8 **str2)
+{
+ switch (sEasyChatScreen->type)
+ {
+ case EASY_CHAT_TYPE_MAIL:
+ *str1 = gText_StopGivingPkmnMail;
+ *str2 = NULL;
+ break;
+ case EASY_CHAT_TYPE_QUIZ_ANSWER:
+ case EASY_CHAT_TYPE_QUIZ_QUESTION:
+ *str1 = gText_LikeToQuitQuiz;
+ *str2 = gText_ChallengeQuestionMark;
+ break;
+ default:
+ *str1 = gText_QuitEditing;
+ *str2 = NULL;
+ break;
+ }
+
+}
+
+void GetEasyChatConfirmDeletionText(const u8 **str1, const u8 **str2)
+{
+ *str1 = gText_AllTextBeingEditedWill;
+ *str2 = gText_BeDeletedThatOkay;
+}
+
+void sub_811BB9C(u8 *arg0, u8 *arg1)
+{
+ *arg0 = sEasyChatScreen->unk_0a;
+ *arg1 = sEasyChatScreen->unk_0b;
+}
+
+u8 sub_811BBB0(void)
+{
+ return sEasyChatScreen->unk_09;
+}
+
+u8 sub_811BBBC(void)
+{
+ return sEasyChatScreen->unk_0c;
+}
+
+void sub_811BBC8(u8 *arg0, u8 *arg1)
+{
+ *arg0 = sEasyChatScreen->unk_10;
+ *arg1 = sEasyChatScreen->unk_11;
+}
+
+u8 sub_811BBDC(void)
+{
+ return sEasyChatScreen->unk_0e;
+}
+
+u8 sub_811BBE8(void)
+{
+ return sEasyChatScreen->unk_0f;
+}
+
+u8 unref_sub_811BBF4(void)
+{
+ return 0;
+}
+
+int sub_811BBF8(void)
+{
+ switch (sEasyChatScreen->state)
+ {
+ case 2:
+ if (sEasyChatScreen->unk_09 == 0 && sEasyChatScreen->unk_0c)
+ return 1;
+ break;
+ case 3:
+ if (sEasyChatScreen->unk_0e)
+ return 1;
+ break;
+ }
+
+ return 0;
+}
+
+int sub_811BC2C(void)
+{
+ switch (sEasyChatScreen->state)
+ {
+ case 2:
+ if (sEasyChatScreen->unk_09 == 0 && sEasyChatScreen->unk_0c + 4 <= sEasyChatScreen->unk_0d - 1)
+ return 1;
+ break;
+ case 3:
+ if (sEasyChatScreen->unk_0e + 4 <= sEasyChatScreen->unk_0f)
+ return 1;
+ break;
+ }
+
+ return 0;
+}
+
+int FooterHasFourOptions_(void)
+{
+ return FooterHasFourOptions();
+}
+
+u8 sub_811BC7C(const u16 *arg0, u8 arg1)
+{
+ u8 i;
+
+ for (i = 0; i < arg1; i++)
+ {
+ if (arg0[i] != sEasyChatScreen->ecWordBuffer[i])
+ return 1;
+ }
+
+ return 0;
+}
+
+u8 GetDisplayedPersonType(void)
+{
+ return sEasyChatScreen->displayedPersonType;
+}
+
+u8 GetEachChatScreenTemplateId(u8 type)
+{
+ u32 i;
+
+ for (i = 0; i < ARRAY_COUNT(sEasyChatScreenTemplates); i++)
+ {
+ if (sEasyChatScreenTemplates[i].type == type)
+ return i;
+ }
+
+ return 0;
+}
+
+int sub_811BCF4(void)
+{
+ int i;
+
+ for (i = 0; i < sEasyChatScreen->unk_07; i++)
+ {
+ if (sEasyChatScreen->ecWordBuffer[i] != 0xFFFF)
+ return 0;
+ }
+
+ return 1;
+}
+
+int sub_811BD2C(void)
+{
+ int i;
+
+ for (i = 0; i < sEasyChatScreen->unk_07; i++)
+ {
+ if (sEasyChatScreen->ecWordBuffer[i] == 0xFFFF)
+ return 0;
+ }
+
+ return 1;
+}
+
+int sub_811BD64(void)
+{
+ int i;
+ struct SaveBlock1 *saveBlock1;
+
+ if (sEasyChatScreen->type == EASY_CHAT_TYPE_QUIZ_SET_QUESTION)
+ return sub_811BCF4();
+
+ saveBlock1 = gSaveBlock1Ptr;
+ for (i = 0; i < QUIZ_QUESTION_LEN; i++)
+ {
+ if (saveBlock1->lilycoveLady.quiz.question[i] != 0xFFFF)
+ return 0;
+ }
+
+ return 1;
+}
+
+int sub_811BDB0(void)
+{
+ struct LilycoveLadyQuiz *quiz;
+ if (sEasyChatScreen->type == EASY_CHAT_TYPE_QUIZ_SET_ANSWER)
+ return sub_811BCF4();
+
+ quiz = &gSaveBlock1Ptr->lilycoveLady.quiz;
+ return quiz->correctAnswer == 0xFFFF ? 1 : 0;
+}
+
+void sub_811BDF0(u8 *arg0)
+{
+ u8 name[32];
+ struct SaveBlock1 *saveBlock1 = gSaveBlock1Ptr;
+ DynamicPlaceholderTextUtil_Reset();
+ if (StringLength(saveBlock1->lilycoveLady.quiz.playerName) != 0)
+ {
+ TVShowConvertInternationalString(name, saveBlock1->lilycoveLady.quiz.playerName, saveBlock1->lilycoveLady.quiz.language);
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, name);
+ }
+ else
+ {
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gText_Lady);
+ }
+
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(arg0, gText_F700sQuiz);
+}
+
+void sub_811BE54(void)
+{
+ int i;
+ u16 *ecWord;
+ u8 *str;
+
+ ecWord = sEasyChatScreen->ecWordBuffer;
+ str = gStringVar2;
+ i = 0;
+ while (i < sEasyChatScreen->unk_07)
+ {
+ str = CopyEasyChatWordPadded(str, *ecWord, 0);
+ *str = 0;
+ str++;
+ ecWord++;
+ i++;
+ }
+
+ str--;
+ str[0] = 0xFF;
+}
+
+void sub_811BE9C(void)
+{
+ switch (sEasyChatScreen->type)
+ {
+ case EASY_CHAT_TYPE_PROFILE:
+ FlagSet(FLAG_SYS_CHAT_USED);
+ break;
+ case EASY_CHAT_TYPE_QUESTIONNAIRE:
+ if (sub_811BF20())
+ gSpecialVar_0x8004 = 2;
+ else
+ gSpecialVar_0x8004 = 0;
+ break;
+ case EASY_CHAT_TYPE_TRENDY_PHRASE:
+ sub_811BE54();
+ gSpecialVar_0x8004 = sub_81226D8(sEasyChatScreen->ecWordBuffer);
+ break;
+ case EASY_CHAT_TYPE_GOOD_SAYING:
+ gSpecialVar_0x8004 = sub_811BF40();
+ break;
+ }
+}
+
+int sub_811BF20(void)
+{
+ return sub_811BC7C(sMysteryGiftPhrase, ARRAY_COUNT(sMysteryGiftPhrase)) == 0;
+}
+
+u16 sub_811BF40(void)
+{
+ int i;
+ for (i = 0; i < 5; i++)
+ {
+ if (!sub_811BC7C(sBerryMasterWifePhrases[i], ARRAY_COUNT(*sBerryMasterWifePhrases)))
+ return i + 1;
+ }
+
+ return 0;
+}
+
+void sub_811BF78(void)
+{
+ sEasyChatScreen->unk_13 = 0;
+}
+
+int sub_811BF88(int easyChatWord)
+{
+ return 0;
+}
+
+bool8 sub_811BF8C(void)
+{
+ if (!sub_811CE94())
+ return 0;
+ else
+ return 1;
+}
+
+bool8 sub_811BFA4(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, sEasyChatBgTemplates, ARRAY_COUNT(sEasyChatBgTemplates));
+ SetBgTilemapBuffer(3, sUnknown_0203A11C->unkB00);
+ SetBgTilemapBuffer(1, sUnknown_0203A11C->unk300);
+ InitWindows(sEasyChatWindowTemplates);
+ DeactivateAllTextPrinters();
+ sub_811CF64();
+ sub_811CF04();
+ CpuFastFill(0, (void *)VRAM + 0x1000000, 0x400);
+ break;
+ case 1:
+ DecompressAndLoadBgGfxUsingHeap(3, gEasyChatWindow_Gfx, 0, 0, 0);
+ CopyToBgTilemapBuffer(3, gEasyChatWindow_Tilemap, 0, 0);
+ sub_811D60C();
+ sub_811D424(sUnknown_0203A11C->unk300);
+ sub_811D230();
+ sub_811E948();
+ CopyBgTilemapBufferToVram(3);
+ break;
+ case 2:
+ DecompressAndLoadBgGfxUsingHeap(1, sUnknown_08597B54, 0, 0, 0);
+ CopyBgTilemapBufferToVram(1);
+ break;
+ case 3:
+ sub_811CFCC();
+ sub_811D0BC();
+ sub_811D2C8();
+ sub_811D684();
+ break;
+ case 4:
+ sub_811DE90();
+ if (GetEasyChatScreenType() != EASY_CHAT_TYPE_QUIZ_QUESTION)
+ sub_811DEC4();
+ break;
+ case 5:
+ if (IsDma3ManagerBusyWithBgCopy())
+ {
+ return TRUE;
+ }
+ else
+ {
+ sub_811DE5C(0, 0, 0, 0);
+ SetGpuReg(REG_OFFSET_WININ, WIN_RANGE(0, 63));
+ SetGpuReg(REG_OFFSET_WINOUT, WIN_RANGE(0, 59));
+ ShowBg(3);
+ ShowBg(1);
+ ShowBg(2);
+ ShowBg(0);
+ sub_811E5D4();
+ sub_811E720();
+ sub_811E828();
+ }
+ break;
+ default:
+ return FALSE;
+ }
+
+ sUnknown_0203A11C->unk0++;
+ return TRUE;
+}
+
+void sub_811C13C(void)
+{
+ if (sUnknown_0203A11C)
+ FREE_AND_SET_NULL(sUnknown_0203A11C);
+}
+
+void sub_811C158(u16 arg0)
+{
+ sUnknown_0203A11C->unk4 = arg0;
+ sUnknown_0203A11C->unk0 = 0;
+ sub_811C170();
+}
+
+bool8 sub_811C170(void)
+{
+ switch (sUnknown_0203A11C->unk4)
+ {
+ case 0: return FALSE;
+ case 1: return sub_811C2D4();
+ case 2: return sub_811C30C();
+ case 3: return sub_811C3E4();
+ case 4: return sub_811C48C();
+ case 5: return sub_811C404();
+ case 6: return sub_811C448();
+ case 7: return sub_811C4D0();
+ case 8: return sub_811C518();
+ case 9: return sub_811C554();
+ case 10: return sub_811C620();
+ case 11: return sub_811C830();
+ case 12: return sub_811C8F0();
+ case 13: return sub_811C99C();
+ case 14: return sub_811CA5C();
+ case 15: return sub_811C780();
+ case 16: return sub_811C78C();
+ case 17: return sub_811C7D4();
+ case 18: return sub_811CB18();
+ case 19: return sub_811CB98();
+ case 20: return sub_811CB24();
+ case 21: return sub_811CC90();
+ case 22: return sub_811CC08();
+ case 23: return sub_811C6C0();
+ case 24: return FALSE;
+ case 25: return FALSE;
+ case 26: return FALSE;
+ case 27: return FALSE;
+ case 28: return FALSE;
+ case 29: return sub_811CD14();
+ case 30: return sub_811CD54();
+ case 31: return sub_811CD94();
+ case 32: return sub_811CDD4();
+ case 33: return sub_811CE14();
+ case 34: return sub_811CE54();
+ default: return FALSE;
+ }
+}
+
+bool8 sub_811C2D4(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811D2C8();
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811C30C(void)
+{
+ u8 i;
+ u16 *ecWordBuffer;
+ u16 *ecWord;
+ u8 frameId;
+ u8 cursorColumn, cursorRow, numColumns;
+ s16 var1;
+ int stringWidth;
+ int trueStringWidth;
+ u8 var2;
+ u8 str[64];
+
+ ecWordBuffer = GetEasyChatWordBuffer();
+ frameId = GetEasyChatScreenFrameId();
+ cursorColumn = GetMainCursorColumn();
+ cursorRow = GetMainCursorRow();
+ numColumns = GetNumColumns();
+ ecWord = &ecWordBuffer[cursorRow * numColumns];
+ var1 = 8 * sPhraseFrameDimensions[frameId].left + 13;
+ for (i = 0; i < cursorColumn; i++)
+ {
+ if (*ecWord == 0xFFFF)
+ {
+ stringWidth = 72;
+ }
+ else
+ {
+ CopyEasyChatWord(str, *ecWord);
+ stringWidth = GetStringWidth(1, str, 0);
+ }
+
+ trueStringWidth = stringWidth + 17;
+ var1 += trueStringWidth;
+ ecWord++;
+ }
+
+ var2 = 8 * (sPhraseFrameDimensions[frameId].top + cursorRow * 2);
+ sub_811DF60(var1, var2 + 8);
+ return FALSE;
+}
+
+bool8 sub_811C3E4(void)
+{
+ u8 xOffset = GetFooterOptionXOffset(GetMainCursorColumn());
+ sub_811DF60(xOffset, 96);
+ return FALSE;
+}
+
+bool8 sub_811C404(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811DF90();
+ sub_811D104(2);
+ sub_811D214(1);
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811C448(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811DF90();
+ sub_811D104(3);
+ sub_811D214(0);
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811C48C(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811DF90();
+ sub_811D104(1);
+ sub_811D214(1);
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811C4D0(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811DFB0();
+ sub_811D104(0);
+ sub_811D2C8();
+ ShowBg(0);
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811C518(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811DFB0();
+ sub_811D104(0);
+ sub_811D2C8();
+ sUnknown_0203A11C->unk0++;
+ // Fall through
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811C554(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811DF90();
+ HideBg(0);
+ sub_811DE5C(0, 0, 0, 0);
+ sub_811D6D4();
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_811D9CC(0);
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 2:
+ if (!IsDma3ManagerBusyWithBgCopy() && !sub_811DAA4())
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 3:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_811E3AC();
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 4:
+ if (!sub_811E418())
+ {
+ sub_811DFC8();
+ sub_811E6E0(0);
+ sub_811E64C();
+ sUnknown_0203A11C->unk0++;
+ return FALSE;
+ }
+ break;
+ default:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811C620(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811E050();
+ sub_811E4AC();
+ sub_811E6B0();
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ if (sub_811E4D0() == TRUE)
+ break;
+
+ sub_811D9CC(1);
+ sUnknown_0203A11C->unk0++;
+ // Fall through
+ case 2:
+ if (!sub_811DAA4())
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 3:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_811DFB0();
+ ShowBg(0);
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 4:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811C6C0(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811E050();
+ sub_811E6B0();
+ sub_811E55C();
+ sub_811D9CC(5);
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ if (!sub_811DAA4() && !sub_811E5B8())
+ {
+ sub_811D6D4();
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 2:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_811D9CC(6);
+ sub_811E578();
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 3:
+ if (!sub_811DAA4() && !sub_811E5B8())
+ {
+ sub_811E64C();
+ sub_811DFC8();
+ sUnknown_0203A11C->unk0++;
+ return FALSE;
+ }
+ break;
+ case 4:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811C780(void)
+{
+ sub_811E088();
+ return FALSE;
+}
+
+bool8 sub_811C78C(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811DDAC(1, 4);
+ sUnknown_0203A11C->unk0++;
+ // Fall through
+ case 1:
+ if (!sub_811DE10())
+ {
+ sub_811E088();
+ sub_811E64C();
+ return FALSE;
+ }
+ break;
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811C7D4(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811DDAC(-1, 4);
+ sUnknown_0203A11C->unk0++;
+ // Fall through
+ case 1:
+ if (!sub_811DE10())
+ {
+ sub_811E64C();
+ sUnknown_0203A11C->unk0++;
+ return FALSE;
+ }
+ break;
+ case 2:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811C830(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811E050();
+ sub_811E4AC();
+ sub_811E6B0();
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ if (!sub_811E4D0())
+ {
+ sub_811D9B4();
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 2:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_811D9CC(2);
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 3:
+ if (!sub_811DAA4())
+ {
+ sub_811D698(2);
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 4:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_811E288();
+ sub_811E6E0(1);
+ sub_811E64C();
+ sub_811E794();
+ sUnknown_0203A11C->unk0++;
+ return FALSE;
+ }
+ break;
+ case 5:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811C8F0(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811D2C8();
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ sub_811E380();
+ sub_811E6B0();
+ sub_811E7F8();
+ sub_811D9B4();
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 2:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_811D9CC(3);
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 3:
+ if (!sub_811DAA4())
+ {
+ ShowBg(0);
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 4:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_811DFB0();
+ sUnknown_0203A11C->unk0++;
+ return FALSE;
+ }
+ break;
+ case 5:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811C99C(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811D2C8();
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ sub_811E380();
+ sub_811E6B0();
+ sub_811E7F8();
+ sub_811D9B4();
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 2:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_811D9CC(3);
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 3:
+ if (!sub_811DAA4())
+ {
+ sub_811D104(3);
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 4:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ ShowBg(0);
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 5:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_811DFB0();
+ sUnknown_0203A11C->unk0++;
+ return FALSE;
+ }
+ break;
+ case 6:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811CA5C(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811E380();
+ sub_811E6B0();
+ sub_811E7F8();
+ sub_811D9B4();
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_811D9CC(4);
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 2:
+ if (!sub_811DAA4())
+ {
+ sub_811D6D4();
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 3:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_811E3AC();
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 4:
+ if (!sub_811E418())
+ {
+ sub_811DFC8();
+ sub_811E6E0(0);
+ sub_811E64C();
+ sUnknown_0203A11C->unk0++;
+ return FALSE;
+ }
+ break;
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811CB18(void)
+{
+ sub_811E30C();
+ return FALSE;
+}
+
+bool8 sub_811CB24(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811D7A4();
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_811DDAC(1, 4);
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 2:
+ if (!sub_811DE10())
+ {
+ sub_811E30C();
+ sub_811E64C();
+ sub_811E794();
+ sUnknown_0203A11C->unk0++;
+ return FALSE;
+ }
+ break;
+ case 3:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811CB98(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811D7C8();
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_811DDAC(-1, 4);
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 2:
+ if (!sub_811DE10())
+ {
+ sub_811E64C();
+ sub_811E794();
+ sUnknown_0203A11C->unk0++;
+ return FALSE;
+ }
+ break;
+ case 3:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811CC08(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811D7EC();
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ s16 var0 = sub_811BBDC() - sub_811DE48();
+ sub_811DDAC(var0, 8);
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 2:
+ if (!sub_811DE10())
+ {
+ sub_811E30C();
+ sub_811E64C();
+ sub_811E794();
+ sUnknown_0203A11C->unk0++;
+ return FALSE;
+ }
+ break;
+ case 3:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811CC90(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811D830();
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ s16 var0 = sub_811BBDC() - sub_811DE48();
+ sub_811DDAC(var0, 8);
+ sUnknown_0203A11C->unk0++;
+ }
+ break;
+ case 2:
+ if (!sub_811DE10())
+ {
+ sub_811E64C();
+ sub_811E794();
+ sUnknown_0203A11C->unk0++;
+ return FALSE;
+ }
+ break;
+ case 3:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811CD14(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811DF90();
+ sub_811D104(4);
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811CD54(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811DF90();
+ sub_811D104(5);
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811CD94(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811DF90();
+ sub_811D104(6);
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811CDD4(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811DF90();
+ sub_811D104(7);
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811CE14(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811DF90();
+ sub_811D104(8);
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811CE54(void)
+{
+ switch (sUnknown_0203A11C->unk0)
+ {
+ case 0:
+ sub_811DF90();
+ sub_811D104(9);
+ sUnknown_0203A11C->unk0++;
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+bool8 sub_811CE94(void)
+{
+ sUnknown_0203A11C = Alloc(sizeof(*sUnknown_0203A11C));
+ if (!sUnknown_0203A11C)
+ return FALSE;
+
+ sUnknown_0203A11C->unk0 = 0;
+ sUnknown_0203A11C->unk2D8 = NULL;
+ sUnknown_0203A11C->unk2DC = NULL;
+ sUnknown_0203A11C->unk2E0 = NULL;
+ sUnknown_0203A11C->unk2E4 = NULL;
+ sUnknown_0203A11C->unk2E8 = NULL;
+ sUnknown_0203A11C->unk2EC = NULL;
+ sUnknown_0203A11C->unk2F0 = NULL;
+ sUnknown_0203A11C->unk2F4 = NULL;
+ sUnknown_0203A11C->unk2F8 = NULL;
+ sUnknown_0203A11C->unk2FC = NULL;
+ sUnknown_0203A11C->unkA = FooterHasFourOptions_();
+ return TRUE;
+}
+
+void sub_811CF04(void)
+{
+ ChangeBgX(3, 0, 0);
+ ChangeBgY(3, 0, 0);
+ ChangeBgX(1, 0, 0);
+ ChangeBgY(1, 0, 0);
+ ChangeBgX(2, 0, 0);
+ ChangeBgY(2, 0, 0);
+ ChangeBgX(0, 0, 0);
+ ChangeBgY(0, 0, 0);
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON);
+}
+
+void sub_811CF64(void)
+{
+ ResetPaletteFade();
+ LoadPalette(gEasyChatMode_Pal, 0, 32);
+ LoadPalette(sUnknown_08597B14, 1 * 16, 32);
+ LoadPalette(sUnknown_08597B34, 4 * 16, 32);
+ LoadPalette(sUnknown_08597C1C, 10 * 16, 8);
+ LoadPalette(sUnknown_08597C24, 11 * 16, 12);
+ LoadPalette(sUnknown_08597C24, 15 * 16, 12);
+ LoadPalette(sUnknown_08597C24, 3 * 16, 12);
+}
+
+void sub_811CFCC(void)
+{
+ int xOffset;
+ const u8 *titleText = GetTitleText();
+ if (!titleText)
+ return;
+
+ xOffset = GetStringCenterAlignXOffset(1, titleText, 144);
+ FillWindowPixelBuffer(0, PIXEL_FILL(0));
+ sub_811D058(0, 1, titleText, xOffset, 1, 0xFF, 0, 2, 3);
+ PutWindowTilemap(0);
+ CopyWindowToVram(0, 3);
+}
+
+void sub_811D028(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16))
+{
+ AddTextPrinterParameterized(windowId, fontId, str, x, y, speed, callback);
+}
+
+void sub_811D058(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, u8 red, u8 green, u8 blue)
+{
+ u8 color[3];
+ color[0] = red;
+ color[1] = green;
+ color[2] = blue;
+ AddTextPrinterParameterized3(windowId, fontId, left, top, color, speed, str);
+}
+
+void sub_811D0BC(void)
+{
+ FillBgTilemapBufferRect(0, 0, 0, 0, 32, 20, 17);
+ LoadUserWindowBorderGfx(1, 1, 0xE0);
+ DrawTextBorderOuter(1, 1, 14);
+ sub_811D104(0);
+ PutWindowTilemap(1);
+ CopyBgTilemapBufferToVram(0);
+}
+
+void sub_811D104(u8 arg0)
+{
+ const u8 *text2 = NULL;
+ const u8 *text1 = NULL;
+ switch (arg0)
+ {
+ case 0:
+ GetEasyChatInstructionsText(&text1, &text2);
+ break;
+ case 2:
+ sub_811BB40(&text1, &text2);
+ break;
+ case 3:
+ GetEasyChatConfirmText(&text1, &text2);
+ break;
+ case 1:
+ GetEasyChatConfirmDeletionText(&text1, &text2);
+ break;
+ case 4:
+ text1 = gText_CreateAQuiz;
+ break;
+ case 5:
+ text1 = gText_SelectTheAnswer;
+ break;
+ case 6:
+ text1 = gText_OnlyOnePhrase;
+ text2 = gText_OriginalSongWillBeUsed;
+ break;
+ case 7:
+ text1 = gText_LyricsCantBeDeleted;
+ break;
+ case 8:
+ text1 = gText_CombineTwoWordsOrPhrases3;
+ break;
+ case 9:
+ text1 = gText_YouCannotQuitHere;
+ text2 = gText_SectionMustBeCompleted;
+ break;
+ }
+
+ FillWindowPixelBuffer(1, PIXEL_FILL(1));
+ if (text1)
+ sub_811D028(1, 1, text1, 0, 1, 0xFF, 0);
+
+ if (text2)
+ sub_811D028(1, 1, text2, 0, 17, 0xFF, 0);
+
+ CopyWindowToVram(1, 3);
+}
+
+void sub_811D214(u8 initialCursorPos)
+{
+ CreateYesNoMenu(&sEasyChatYesNoWindowTemplate, 1, 14, initialCursorPos);
+}
+
+void sub_811D230(void)
+{
+ u8 frameId;
+ struct WindowTemplate template;
+
+ frameId = GetEasyChatScreenFrameId();
+ template.bg = 3;
+ template.tilemapLeft = sPhraseFrameDimensions[frameId].left;
+ template.tilemapTop = sPhraseFrameDimensions[frameId].top;
+ template.width = sPhraseFrameDimensions[frameId].width;
+ template.height = sPhraseFrameDimensions[frameId].height;
+ template.paletteNum = 11;
+ template.baseBlock = 0x6C;
+ sUnknown_0203A11C->windowId = AddWindow(&template);
+ PutWindowTilemap(sUnknown_0203A11C->windowId);
+}
+
+void sub_811D2C8(void)
+{
+ u8 spC[4];
+ u16 *ecWord;
+ u8 numColumns, numRows;
+ u8 *str;
+ int frameId;
+ int var1;
+ int i, j, k;
+
+ ecWord = GetEasyChatWordBuffer();
+ numColumns = GetNumColumns();
+ numRows = GetNumRows();
+ frameId = GetEasyChatScreenFrameId();
+ var1 = 0;
+ if (frameId == 7)
+ var1 = 1;
+
+ FillWindowPixelBuffer(sUnknown_0203A11C->windowId, PIXEL_FILL(1));
+ for (i = 0; i < numRows; i++)
+ {
+ memcpy(spC, sText_Clear17, sizeof(sText_Clear17));
+ if (var1)
+ spC[2] = 6;
+
+ str = sUnknown_0203A11C->unkB;
+ sUnknown_0203A11C->unkB[0] = EOS;
+ str = StringAppend(str, spC);
+ for (j = 0; j < numColumns; j++)
+ {
+ if (*ecWord != 0xFFFF)
+ {
+ str = CopyEasyChatWord(str, *ecWord);
+ ecWord++;
+ }
+ else
+ {
+ ecWord++;
+ if (!var1)
+ {
+ str = WriteColorChangeControlCode(str, 0, 4);
+ for (k = 0; k < 12; k++)
+ {
+ *str = CHAR_HYPHEN;
+ str++;
+ }
+
+ str = WriteColorChangeControlCode(str, 0, 2);
+ }
+ }
+
+ if (var1)
+ spC[2] = 3;
+
+ str = StringAppend(str, spC);
+ if (frameId == 2 || frameId == 7 || frameId == 8)
+ {
+ if (j == 0 && i == 4)
+ break;
+ }
+ }
+
+ *str = EOS;
+ sub_811D028(sUnknown_0203A11C->windowId, 1, sUnknown_0203A11C->unkB, 0, i * 16 + 1, 0xFF, 0);
+ }
+
+ CopyWindowToVram(sUnknown_0203A11C->windowId, 3);
+}
+
+void sub_811D424(u16 *tilemap)
+{
+ u8 frameId;
+ int right, bottom;
+ int x, y;
+
+ frameId = GetEasyChatScreenFrameId();
+ CpuFastFill(0, tilemap, BG_SCREEN_SIZE);
+ if (frameId == 2 || frameId == 8)
+ {
+ right = sPhraseFrameDimensions[frameId].left + sPhraseFrameDimensions[frameId].width;
+ bottom = sPhraseFrameDimensions[frameId].top + sPhraseFrameDimensions[frameId].height;
+ for (y = sPhraseFrameDimensions[frameId].top; y < bottom; y++)
+ {
+ x = sPhraseFrameDimensions[frameId].left - 1;
+ tilemap[y * 32 + x] = 0x1005;
+ x++;
+ for (; x < right; x++)
+ tilemap[y * 32 + x] = 0x1000;
+
+ tilemap[y* 32 + x] = 0x1007;
+ }
+ }
+ else
+ {
+ y = sPhraseFrameDimensions[frameId].top - 1;
+ x = sPhraseFrameDimensions[frameId].left - 1;
+ right = sPhraseFrameDimensions[frameId].left + sPhraseFrameDimensions[frameId].width;
+ bottom = sPhraseFrameDimensions[frameId].top + sPhraseFrameDimensions[frameId].height;
+ tilemap[y * 32 + x] = 0x1001;
+ x++;
+ for (; x < right; x++)
+ tilemap[y * 32 + x] = 0x1002;
+
+ tilemap[y * 32 + x] = 0x1003;
+ y++;
+ for (; y < bottom; y++)
+ {
+ x = sPhraseFrameDimensions[frameId].left - 1;
+ tilemap[y * 32 + x] = 0x1005;
+ x++;
+ for (; x < right; x++)
+ tilemap[y * 32 + x] = 0x1000;
+
+ tilemap[y* 32 + x] = 0x1007;
+ }
+
+ x = sPhraseFrameDimensions[frameId].left - 1;
+ tilemap[y * 32 + x] = 0x1009;
+ x++;
+ for (; x < right; x++)
+ tilemap[y * 32 + x] = 0x100A;
+
+ tilemap[y * 32 + x] = 0x100B;
+ }
+}
+
+void sub_811D60C(void)
+{
+ u8 frameId;
+ u16 *tilemap;
+
+ tilemap = GetBgTilemapBuffer(3);
+ frameId = GetEasyChatScreenFrameId();
+ switch (sPhraseFrameDimensions[frameId].footerId)
+ {
+ case 2:
+ tilemap += 0x2A0;
+ CopyToBgTilemapBufferRect(3, tilemap, 0, 11, 32, 2);
+ break;
+ case 1:
+ tilemap += 0x300;
+ CopyToBgTilemapBufferRect(3, tilemap, 0, 11, 32, 2);
+ break;
+ case 3:
+ CopyToBgTilemapBufferRect(3, tilemap, 0, 10, 32, 4);
+ break;
+ }
+}
+
+void sub_811D684(void)
+{
+ PutWindowTilemap(2);
+ CopyBgTilemapBufferToVram(2);
+}
+
+void sub_811D698(u32 arg0)
+{
+ sub_811DD84();
+ FillWindowPixelBuffer(2, PIXEL_FILL(1));
+ switch (arg0)
+ {
+ case 0:
+ sub_811D6F4();
+ break;
+ case 1:
+ PrintEasyChatKeyboardText();
+ break;
+ case 2:
+ sub_811D794();
+ break;
+ }
+
+ CopyWindowToVram(2, 2);
+}
+
+void sub_811D6D4(void)
+{
+ if (!sub_811BBB0())
+ sub_811D698(0);
+ else
+ sub_811D698(1);
+}
+
+void sub_811D6F4(void)
+{
+ int i;
+ int x, y;
+
+ i = 0;
+ y = 97;
+ while (1)
+ {
+ for (x = 0; x < 2; x++)
+ {
+ u8 groupId = sub_811F3B8(i++);
+ if (groupId == EC_NUM_GROUPS)
+ {
+ sub_811DDAC(sub_811BBBC(), 0);
+ return;
+ }
+
+ sub_811D028(2, 1, GetEasyChatWordGroupName(groupId), x * 84 + 10, y, 0xFF, NULL);
+ }
+
+ y += 16;
+ }
+}
+
+void PrintEasyChatKeyboardText(void)
+{
+ u32 i;
+
+ for (i = 0; i < ARRAY_COUNT(sEasyChatKeyboardText); i++)
+ sub_811D028(2, 1, sEasyChatKeyboardText[i], 10, 97 + i * 16, 0xFF, NULL);
+}
+
+void sub_811D794(void)
+{
+ sub_811D864(0, 4);
+}
+
+void sub_811D7A4(void)
+{
+ u8 var0 = sub_811BBDC() + 3;
+ sub_811D950(var0, 1);
+ sub_811D864(var0, 1);
+}
+
+void sub_811D7C8(void)
+{
+ u8 var0 = sub_811BBDC();
+ sub_811D950(var0, 1);
+ sub_811D864(var0, 1);
+}
+
+void sub_811D7EC(void)
+{
+ u8 var0 = sub_811BBDC();
+ u8 var1 = var0 + 4;
+ u8 var2 = sub_811BBE8() + 1;
+ if (var1 > var2)
+ var1 = var2;
+
+ if (var0 < var1)
+ {
+ u8 var3 = var1 - var0;
+ sub_811D950(var0, var3);
+ sub_811D864(var0, var3);
+ }
+}
+
+void sub_811D830(void)
+{
+ u8 var0 = sub_811BBDC();
+ u8 var1 = sub_811DE48();
+ if (var0 < var1)
+ {
+ u8 var2 = var1 - var0;
+ sub_811D950(var0, var2);
+ sub_811D864(var0, var2);
+ }
+}
+
+void sub_811D864(u8 arg0, u8 arg1)
+{
+ int i, j;
+ u16 easyChatWord;
+ u8 *str;
+ int y;
+ int var0;
+
+ var0 = arg0 * 2;
+ y = (arg0 * 16 + 96) & 0xFF;
+ y++;
+ for (i = 0; i < arg1; i++)
+ {
+ for (j = 0; j < 2; j++)
+ {
+ easyChatWord = sub_811F578(var0++);
+ if (easyChatWord != 0xFFFF)
+ {
+ CopyEasyChatWordPadded(sUnknown_0203A11C->unkCC, easyChatWord, 0);
+ if (!sub_811BF88(easyChatWord))
+ sub_811D028(2, 1, sUnknown_0203A11C->unkCC, (j * 13 + 3) * 8, y, 0xFF, NULL);
+ else
+ sub_811D058(2, 1, sUnknown_0203A11C->unkCC, (j * 13 + 3) * 8, y, 0xFF, 1, 5, 3);
+ }
+ }
+
+ y += 16;
+ }
+
+ CopyWindowToVram(2, 2);
+}
+
+void sub_811D950(u8 arg0, u8 arg1)
+{
+ int y;
+ int var0;
+ int var1;
+ int var2;
+
+ y = (arg0 * 16 + 96) & 0xFF;
+ var2 = arg1 * 16;
+ var0 = y + var2;
+ if (var0 > 255)
+ {
+ var1 = var0 - 256;
+ var2 = 256 - y;
+ }
+ else
+ {
+ var1 = 0;
+ }
+
+ FillWindowPixelRect(2, PIXEL_FILL(1), 0, y, 224, var2);
+ if (var1)
+ FillWindowPixelRect(2, PIXEL_FILL(1), 0, 0, 224, var1);
+}
+
+void sub_811D9B4(void)
+{
+ FillWindowPixelBuffer(2, PIXEL_FILL(1));
+ CopyWindowToVram(2, 2);
+}
+
+void sub_811D9CC(int arg0)
+{
+ switch (arg0)
+ {
+ case 0:
+ sUnknown_0203A11C->unk6 = 0;
+ sUnknown_0203A11C->unk7 = 10;
+ break;
+ case 1:
+ sUnknown_0203A11C->unk6 = 9;
+ sUnknown_0203A11C->unk7 = 0;
+ break;
+ case 2:
+ sUnknown_0203A11C->unk6 = 11;
+ sUnknown_0203A11C->unk7 = 17;
+ break;
+ case 3:
+ sUnknown_0203A11C->unk6 = 17;
+ sUnknown_0203A11C->unk7 = 0;
+ break;
+ case 4:
+ sUnknown_0203A11C->unk6 = 17;
+ sUnknown_0203A11C->unk7 = 10;
+ break;
+ case 5:
+ sUnknown_0203A11C->unk6 = 18;
+ sUnknown_0203A11C->unk7 = 22;
+ break;
+ case 6:
+ sUnknown_0203A11C->unk6 = 22;
+ sUnknown_0203A11C->unk7 = 18;
+ break;
+ }
+
+ sUnknown_0203A11C->unk8 = sUnknown_0203A11C->unk6 < sUnknown_0203A11C->unk7 ? 1 : -1;
+}
+
+bool8 sub_811DAA4(void)
+{
+ u8 var0, var1;
+ if (sUnknown_0203A11C->unk6 == sUnknown_0203A11C->unk7)
+ return FALSE;
+
+ sUnknown_0203A11C->unk6 += sUnknown_0203A11C->unk8;
+ sub_811DADC(sUnknown_0203A11C->unk6);
+ var0 = sUnknown_0203A11C->unk6;
+ var1 = sUnknown_0203A11C->unk7;
+ return (var0 ^ var1) > 0;
+}
+
+void sub_811DADC(u8 arg0)
+{
+ FillBgTilemapBufferRect_Palette0(1, 0, 0, 10, 30, 10);
+ switch (arg0)
+ {
+ case 0:
+ break;
+ case 1:
+ sub_811DC28(11, 14, 3, 2);
+ break;
+ case 2:
+ sub_811DC28(9, 14, 7, 2);
+ break;
+ case 3:
+ sub_811DC28(7, 14, 11, 2);
+ break;
+ case 4:
+ sub_811DC28(5, 14, 15, 2);
+ break;
+ case 5:
+ sub_811DC28(3, 14, 19, 2);
+ break;
+ case 6:
+ sub_811DC28(1, 14, 23, 2);
+ break;
+ case 11:
+ sub_811DC28(1, 10, 24, 10);
+ break;
+ case 12:
+ sub_811DC28(1, 10, 25, 10);
+ break;
+ case 13:
+ sub_811DC28(1, 10, 26, 10);
+ break;
+ case 14:
+ sub_811DC28(1, 10, 27, 10);
+ break;
+ case 15:
+ sub_811DC28(1, 10, 28, 10);
+ break;
+ case 16:
+ sub_811DC28(1, 10, 29, 10);
+ break;
+ case 17:
+ sub_811DC28(0, 10, 30, 10);
+ break;
+ case 10:
+ case 18:
+ sub_811DC28(1, 10, 23, 10);
+ break;
+ case 9:
+ case 19:
+ sub_811DC28(1, 11, 23, 8);
+ break;
+ case 8:
+ case 20:
+ sub_811DC28(1, 12, 23, 6);
+ break;
+ case 7:
+ case 21:
+ sub_811DC28(1, 13, 23, 4);
+ break;
+ case 22:
+ sub_811DC28(1, 14, 23, 2);
+ break;
+ }
+
+ CopyBgTilemapBufferToVram(1);
+}
+
+void sub_811DC28(int left, int top, int width, int height)
+{
+ u16 *tilemap;
+ int right;
+ int bottom;
+ int x, y;
+
+ tilemap = sUnknown_0203A11C->unk300;
+ right = left + width - 1;
+ bottom = top + height - 1;
+ x = left;
+ y = top;
+ tilemap[y * 32 + x] = 0x4001;
+ x++;
+ for (; x < right; x++)
+ tilemap[y * 32 + x] = 0x4002;
+
+ tilemap[y * 32 + x] = 0x4003;
+ y++;
+ for (; y < bottom; y++)
+ {
+ tilemap[y * 32 + left] = 0x4005;
+ x = left + 1;
+ for (; x < right; x++)
+ tilemap[y * 32 + x] = 0x4000;
+
+ tilemap[y * 32 + x] = 0x4007;
+ }
+
+ tilemap[y * 32 + left] = 0x4009;
+ x = left + 1;
+ for (; x < right; x++)
+ tilemap[y * 32 + x] = 0x400A;
+
+ tilemap[y * 32 + x] = 0x400B;
+ sub_811DE5C((left + 1) * 8, (top + 1) * 8, (width - 2) * 8, (height - 2) * 8);
+}
+
+void sub_811DD84(void)
+{
+ ChangeBgY(2, 0x800, 0);
+ sUnknown_0203A11C->unk2CE = 0;
+}
+
+void sub_811DDAC(s16 arg0, u8 arg1)
+{
+ int bgY;
+ s16 var0;
+
+ bgY = GetBgY(2);
+ sUnknown_0203A11C->unk2CE += arg0;
+ var0 = arg0 * 16;
+ bgY += var0 << 8;
+ if (arg1)
+ {
+ sUnknown_0203A11C->unk2D0 = bgY;
+ sUnknown_0203A11C->unk2D4 = arg1 * 256;
+ if (var0 < 0)
+ sUnknown_0203A11C->unk2D4 = -sUnknown_0203A11C->unk2D4;
+ }
+ else
+ {
+ ChangeBgY(2, bgY, 0);
+ }
+}
+
+bool8 sub_811DE10(void)
+{
+ int bgY;
+
+ bgY = GetBgY(2);
+ if (bgY == sUnknown_0203A11C->unk2D0)
+ {
+ return FALSE;
+ }
+ else
+ {
+ ChangeBgY(2, sUnknown_0203A11C->unk2D4, 1);
+ return TRUE;
+ }
+}
+
+int sub_811DE48(void)
+{
+ return sUnknown_0203A11C->unk2CE;
+}
+
+void sub_811DE5C(u8 left, u8 top, u8 width, u8 height)
+{
+ u16 horizontalDimensions = WIN_RANGE(left, left + width);
+ u16 verticalDimensions = WIN_RANGE(top, top + height);
+ SetGpuReg(REG_OFFSET_WIN0H, horizontalDimensions);
+ SetGpuReg(REG_OFFSET_WIN0V, verticalDimensions);
+}
+
+void sub_811DE90(void)
+{
+ u32 i;
+
+ LoadSpriteSheets(sEasyChatSpriteSheets);
+ LoadSpritePalettes(sEasyChatSpritePalettes);
+ for (i = 0; i < ARRAY_COUNT(sUnknown_08597CE8); i++)
+ LoadCompressedSpriteSheet(&sUnknown_08597CE8[i]);
+}
+
+void sub_811DEC4(void)
+{
+ u8 frameId = GetEasyChatScreenFrameId();
+ int x = sPhraseFrameDimensions[frameId].left * 8 + 13;
+ int y = sPhraseFrameDimensions[frameId].top * 8 + 8;
+ u8 spriteId = CreateSprite(&sUnknown_08597D18, x, y, 2);
+ sUnknown_0203A11C->unk2D8 = &gSprites[spriteId];
+ gSprites[spriteId].data[1] = 1;
+}
+
+void sub_811DF28(struct Sprite *sprite)
+{
+ if (sprite->data[1])
+ {
+ if (++sprite->data[0] > 2)
+ {
+ sprite->data[0] = 0;
+ if (++sprite->pos2.x > 0)
+ sprite->pos2.x = -6;
+ }
+ }
+}
+
+void sub_811DF60(u8 x, u8 y)
+{
+ sUnknown_0203A11C->unk2D8->pos1.x = x;
+ sUnknown_0203A11C->unk2D8->pos1.y = y;
+ sUnknown_0203A11C->unk2D8->pos2.x = 0;
+ sUnknown_0203A11C->unk2D8->data[0] = 0;
+}
+
+void sub_811DF90(void)
+{
+ sUnknown_0203A11C->unk2D8->data[0] = 0;
+ sUnknown_0203A11C->unk2D8->data[1] = 0;
+ sUnknown_0203A11C->unk2D8->pos2.x = 0;
+}
+
+void sub_811DFB0(void)
+{
+ sUnknown_0203A11C->unk2D8->data[1] = 1;
+}
+
+void sub_811DFC8(void)
+{
+ u8 spriteId = CreateSprite(&sUnknown_08597D68, 0, 0, 3);
+ sUnknown_0203A11C->unk2DC = &gSprites[spriteId];
+ sUnknown_0203A11C->unk2DC->pos2.x = 32;
+
+ spriteId = CreateSprite(&sUnknown_08597D68, 0, 0, 3);
+ sUnknown_0203A11C->unk2E0 = &gSprites[spriteId];
+ sUnknown_0203A11C->unk2E0->pos2.x = -32;
+
+ sUnknown_0203A11C->unk2DC->hFlip = 1;
+ sub_811E088();
+}
+
+void sub_811E050(void)
+{
+ DestroySprite(sUnknown_0203A11C->unk2DC);
+ sUnknown_0203A11C->unk2DC = NULL;
+ DestroySprite(sUnknown_0203A11C->unk2E0);
+ sUnknown_0203A11C->unk2E0 = NULL;
+}
+
+void sub_811E088(void)
+{
+ u8 var0;
+ u8 var1;
+
+ if (sUnknown_0203A11C->unk2DC && sUnknown_0203A11C->unk2E0)
+ {
+ sub_811BB9C(&var0, &var1);
+ if (!sub_811BBB0())
+ sub_811E0EC(var0, var1);
+ else
+ sub_811E1A4(var0, var1);
+ }
+}
+
+void sub_811E0EC(s8 arg0, s8 arg1)
+{
+ if (arg0 != -1)
+ {
+ StartSpriteAnim(sUnknown_0203A11C->unk2DC, 0);
+ sUnknown_0203A11C->unk2DC->pos1.x = arg0 * 84 + 58;
+ sUnknown_0203A11C->unk2DC->pos1.y = arg1 * 16 + 96;
+
+ StartSpriteAnim(sUnknown_0203A11C->unk2E0, 0);
+ sUnknown_0203A11C->unk2E0->pos1.x = arg0 * 84 + 58;
+ sUnknown_0203A11C->unk2E0->pos1.y = arg1 * 16 + 96;
+ }
+ else
+ {
+ StartSpriteAnim(sUnknown_0203A11C->unk2DC, 1);
+ sUnknown_0203A11C->unk2DC->pos1.x = 216;
+ sUnknown_0203A11C->unk2DC->pos1.y = arg1 * 16 + 112;
+
+ StartSpriteAnim(sUnknown_0203A11C->unk2E0, 1);
+ sUnknown_0203A11C->unk2E0->pos1.x = 216;
+ sUnknown_0203A11C->unk2E0->pos1.y = arg1 * 16 + 112;
+ }
+}
+
+void sub_811E1A4(s8 arg0, s8 arg1)
+{
+ int anim;
+ int x, y;
+
+ if (arg0 != -1)
+ {
+ y = arg1 * 16 + 96;
+ x = 32;
+ if (arg0 == 6 && arg1 == 0)
+ {
+ x = 158;
+ anim = 2;
+ }
+ else
+ {
+ x += sUnknown_08597D08[arg0 < ARRAY_COUNT(sUnknown_08597D08) ? arg0 : 0];
+ anim = 3;
+ }
+
+ StartSpriteAnim(sUnknown_0203A11C->unk2DC, anim);
+ sUnknown_0203A11C->unk2DC->pos1.x = x;
+ sUnknown_0203A11C->unk2DC->pos1.y = y;
+
+ StartSpriteAnim(sUnknown_0203A11C->unk2E0, anim);
+ sUnknown_0203A11C->unk2E0->pos1.x = x;
+ sUnknown_0203A11C->unk2E0->pos1.y = y;
+ }
+ else
+ {
+ StartSpriteAnim(sUnknown_0203A11C->unk2DC, 1);
+ sUnknown_0203A11C->unk2DC->pos1.x = 216;
+ sUnknown_0203A11C->unk2DC->pos1.y = arg1 * 16 + 112;
+
+ StartSpriteAnim(sUnknown_0203A11C->unk2E0, 1);
+ sUnknown_0203A11C->unk2E0->pos1.x = 216;
+ sUnknown_0203A11C->unk2E0->pos1.y = arg1 * 16 + 112;
+ }
+}
+
+void sub_811E288(void)
+{
+ u8 spriteId = CreateSprite(&sUnknown_08597D18, 0, 0, 4);
+ sUnknown_0203A11C->unk2E4 = &gSprites[spriteId];
+ sUnknown_0203A11C->unk2E4->callback = sub_811E2DC;
+ sUnknown_0203A11C->unk2E4->oam.priority = 2;
+ sub_811E30C();
+}
+
+void sub_811E2DC(struct Sprite *sprite)
+{
+ if (++sprite->data[0] > 2)
+ {
+ sprite->data[0] = 0;
+ if (++sprite->pos2.x > 0)
+ sprite->pos2.x = -6;
+ }
+}
+
+void sub_811E30C(void)
+{
+ s8 var0, var1, x, y;
+
+ sub_811BBC8(&var0, &var1);
+ x = var0 * 13;
+ x = x * 8 + 28;
+ y = var1 * 16 + 96;
+ sub_811E34C(x, y);
+}
+
+void sub_811E34C(u8 x, u8 y)
+{
+ if (sUnknown_0203A11C->unk2E4)
+ {
+ sUnknown_0203A11C->unk2E4->pos1.x = x;
+ sUnknown_0203A11C->unk2E4->pos1.y = y;
+ sUnknown_0203A11C->unk2E4->pos2.x = 0;
+ sUnknown_0203A11C->unk2E4->data[0] = 0;
+ }
+}
+
+void sub_811E380(void)
+{
+ if (sUnknown_0203A11C->unk2E4)
+ {
+ DestroySprite(sUnknown_0203A11C->unk2E4);
+ sUnknown_0203A11C->unk2E4 = NULL;
+ }
+}
+
+void sub_811E3AC(void)
+{
+ u8 spriteId = CreateSprite(&sUnknown_08597DF0, 208, 128, 6);
+ sUnknown_0203A11C->unk2E8 = &gSprites[spriteId];
+ sUnknown_0203A11C->unk2E8->pos2.x = -64;
+
+ spriteId = CreateSprite(&sUnknown_08597DD0, 208, 80, 5);
+ sUnknown_0203A11C->unk2EC = &gSprites[spriteId];
+ sUnknown_0203A11C->unk9 = 0;
+}
+
+bool8 sub_811E418(void)
+{
+ switch (sUnknown_0203A11C->unk9)
+ {
+ default:
+ return FALSE;
+ case 0:
+ sUnknown_0203A11C->unk2E8->pos2.x += 8;
+ if (sUnknown_0203A11C->unk2E8->pos2.x >= 0)
+ {
+ sUnknown_0203A11C->unk2E8->pos2.x = 0;
+ if (!sub_811BBB0())
+ StartSpriteAnim(sUnknown_0203A11C->unk2EC, 1);
+ else
+ StartSpriteAnim(sUnknown_0203A11C->unk2EC, 2);
+
+ sUnknown_0203A11C->unk9++;
+ }
+ break;
+ case 1:
+ if (sUnknown_0203A11C->unk2EC->animEnded)
+ {
+ sUnknown_0203A11C->unk9 = 2;
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+void sub_811E4AC(void)
+{
+ sUnknown_0203A11C->unk9 = 0;
+ StartSpriteAnim(sUnknown_0203A11C->unk2EC, 3);
+}
+
+bool8 sub_811E4D0(void)
+{
+ switch (sUnknown_0203A11C->unk9)
+ {
+ default:
+ return FALSE;
+ case 0:
+ if (sUnknown_0203A11C->unk2EC->animEnded)
+ sUnknown_0203A11C->unk9 = 1;
+ break;
+ case 1:
+ sUnknown_0203A11C->unk2E8->pos2.x -= 8;
+ if (sUnknown_0203A11C->unk2E8->pos2.x <= -64)
+ {
+ DestroySprite(sUnknown_0203A11C->unk2EC);
+ DestroySprite(sUnknown_0203A11C->unk2E8);
+ sUnknown_0203A11C->unk2EC = NULL;
+ sUnknown_0203A11C->unk2E8 = NULL;
+ sUnknown_0203A11C->unk9++;
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+void sub_811E55C(void)
+{
+ StartSpriteAnim(sUnknown_0203A11C->unk2EC, 4);
+}
+
+void sub_811E578(void)
+{
+ if (!sub_811BBB0())
+ StartSpriteAnim(sUnknown_0203A11C->unk2EC, 1);
+ else
+ StartSpriteAnim(sUnknown_0203A11C->unk2EC, 2);
+}
+
+bool8 sub_811E5B8(void)
+{
+ return !sUnknown_0203A11C->unk2EC->animEnded;
+}
+
+void sub_811E5D4(void)
+{
+ u8 spriteId = CreateSprite(&sUnknown_08597E48, 96, 80, 0);
+ if (spriteId != MAX_SPRITES)
+ sUnknown_0203A11C->unk2F0 = &gSprites[spriteId];
+
+ spriteId = CreateSprite(&sUnknown_08597E48, 96, 156, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ sUnknown_0203A11C->unk2F4 = &gSprites[spriteId];
+ sUnknown_0203A11C->unk2F4->vFlip = 1;
+ }
+
+ sub_811E6B0();
+}
+
+void sub_811E64C(void)
+{
+ sUnknown_0203A11C->unk2F0->invisible = !sub_811BBF8();
+ sUnknown_0203A11C->unk2F4->invisible = !sub_811BC2C();
+}
+
+void sub_811E6B0(void)
+{
+ sUnknown_0203A11C->unk2F0->invisible = 1;
+ sUnknown_0203A11C->unk2F4->invisible = 1;
+}
+
+void sub_811E6E0(int arg0)
+{
+ if (!arg0)
+ {
+ sUnknown_0203A11C->unk2F0->pos1.x = 96;
+ sUnknown_0203A11C->unk2F4->pos1.x = 96;
+ }
+ else
+ {
+ sUnknown_0203A11C->unk2F0->pos1.x = 120;
+ sUnknown_0203A11C->unk2F4->pos1.x = 120;
+ }
+}
+
+void sub_811E720(void)
+{
+ u8 spriteId = CreateSprite(&sUnknown_08597E30, 220, 84, 1);
+ if (spriteId != MAX_SPRITES)
+ sUnknown_0203A11C->unk2F8 = &gSprites[spriteId];
+
+ spriteId = CreateSprite(&sUnknown_08597E30, 220, 156, 1);
+ if (spriteId != MAX_SPRITES)
+ {
+ sUnknown_0203A11C->unk2FC = &gSprites[spriteId];
+ StartSpriteAnim(sUnknown_0203A11C->unk2FC, 1);
+ }
+
+ sub_811E7F8();
+}
+
+void sub_811E794(void)
+{
+ sUnknown_0203A11C->unk2F8->invisible = !sub_811BBF8();
+ sUnknown_0203A11C->unk2FC->invisible = !sub_811BC2C();
+}
+
+void sub_811E7F8(void)
+{
+ sUnknown_0203A11C->unk2F8->invisible = 1;
+ sUnknown_0203A11C->unk2FC->invisible = 1;
+}
+
+void sub_811E828(void)
+{
+ int graphicsId;
+ u8 spriteId;
+
+ switch (GetDisplayedPersonType())
+ {
+ case EASY_CHAT_PERSON_REPORTER_MALE:
+ graphicsId = EVENT_OBJ_GFX_REPORTER_M;
+ break;
+ case EASY_CHAT_PERSON_REPORTER_FEMALE:
+ graphicsId = EVENT_OBJ_GFX_REPORTER_F;
+ break;
+ case EASY_CHAT_PERSON_BOY:
+ graphicsId = EVENT_OBJ_GFX_BOY_1;
+ break;
+ default:
+ return;
+ }
+
+ if (GetEasyChatScreenFrameId() != 4)
+ return;
+
+ spriteId = AddPseudoEventObject(graphicsId, SpriteCallbackDummy, 76, 40, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].oam.priority = 0;
+ StartSpriteAnim(&gSprites[spriteId], 2);
+ }
+
+ spriteId = AddPseudoEventObject(
+ gSaveBlock2Ptr->playerGender == MALE ? EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL : EVENT_OBJ_GFX_RIVAL_MAY_NORMAL,
+ SpriteCallbackDummy,
+ 52,
+ 40,
+ 0);
+
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].oam.priority = 0;
+ StartSpriteAnim(&gSprites[spriteId], 3);
+ }
+}
+
+int GetFooterIndex(void)
+{
+ u8 frameId = GetEasyChatScreenFrameId();
+ switch (sPhraseFrameDimensions[frameId].footerId)
+ {
+ case 1:
+ return 1;
+ case 2:
+ return 2;
+ case 0:
+ return 0;
+ default:
+ return 3;
+ }
+}
+
+int GetFooterOptionXOffset(int option)
+{
+ int footerIndex = GetFooterIndex();
+ if (footerIndex < 3)
+ return sFooterOptionXOffsets[footerIndex][option] + 4;
+ else
+ return 0;
+}
+
+void sub_811E948(void)
+{
+ int i;
+ u16 windowId;
+ struct WindowTemplate template;
+ int footerId = GetFooterIndex();
+ if (footerId == 3)
+ return;
+
+ template.bg = 3;
+ template.tilemapLeft = 1;
+ template.tilemapTop = 11;
+ template.width = 28;
+ template.height = 2;
+ template.paletteNum = 11;
+ template.baseBlock = 0x34;
+ windowId = AddWindow(&template);
+ FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
+ for (i = 0; i < 4; i++)
+ {
+ const u8 *str = sFooterTextOptions[footerId][i];
+ if (str)
+ {
+ int x = sFooterOptionXOffsets[footerId][i];
+ sub_811D028(windowId, 1, str, x, 1, 0, NULL);
+ }
+ }
+
+ PutWindowTilemap(windowId);
+}
+
+bool8 sub_811EA28(u8 groupId)
+{
+ switch (groupId)
+ {
+ case EC_GROUP_TRENDY_SAYING:
+ return FlagGet(FLAG_SYS_HIPSTER_MEET);
+ case EC_GROUP_EVENTS:
+ case EC_GROUP_MOVE_1:
+ case EC_GROUP_MOVE_2:
+ return FlagGet(FLAG_SYS_GAME_CLEAR);
+ case EC_GROUP_POKEMON_2:
+ return sub_811F0F8();
+ default:
+ return TRUE;
+ }
+}
+
+u16 EasyChat_GetNumWordsInGroup(u8 groupId)
+{
+ if (groupId == EC_GROUP_POKEMON)
+ return GetNationalPokedexCount(FLAG_GET_SEEN);
+
+ if (sub_811EA28(groupId))
+ return gEasyChatGroups[groupId].numEnabledWords;
+
+ return 0;
+}
+
+bool8 sub_811EAA4(u16 easyChatWord)
+{
+ u16 i;
+ u8 groupId;
+ u32 index;
+ u16 numWords;
+ const u16 *list;
+ if (easyChatWord == 0xFFFF)
+ return FALSE;
+
+ groupId = EC_GROUP(easyChatWord);
+ index = EC_INDEX(easyChatWord);
+ if (groupId >= EC_NUM_GROUPS)
+ return TRUE;
+
+ numWords = gEasyChatGroups[groupId].numWords;
+ switch (groupId)
+ {
+ case EC_GROUP_POKEMON:
+ case EC_GROUP_POKEMON_2:
+ case EC_GROUP_MOVE_1:
+ case EC_GROUP_MOVE_2:
+ list = gEasyChatGroups[groupId].wordData.valueList;
+ for (i = 0; i < numWords; i++)
+ {
+ if (index == list[i])
+ return FALSE;
+ }
+ return TRUE;
+ default:
+ if (index >= numWords)
+ return TRUE;
+ else
+ return FALSE;
+ }
+}
+
+bool8 ECWord_CheckIfOutsideOfValidRange(u16 easyChatWord)
+{
+ int numWordsInGroup;
+ u8 groupId = EC_GROUP(easyChatWord);
+ u32 index = EC_INDEX(easyChatWord);
+ if (groupId >= EC_NUM_GROUPS)
+ return TRUE;
+
+ switch (groupId)
+ {
+ case EC_GROUP_POKEMON:
+ case EC_GROUP_POKEMON_2:
+ numWordsInGroup = gNumSpeciesNames;
+ break;
+ case EC_GROUP_MOVE_1:
+ case EC_GROUP_MOVE_2:
+ numWordsInGroup = gUnknown_085FA1D4;
+ break;
+ default:
+ numWordsInGroup = gEasyChatGroups[groupId].numWords;
+ break;
+ }
+
+ if (numWordsInGroup <= index)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+const u8 *GetEasyChatWord(u8 groupId, u16 index)
+{
+ switch (groupId)
+ {
+ case EC_GROUP_POKEMON:
+ case EC_GROUP_POKEMON_2:
+ return gSpeciesNames[index];
+ case EC_GROUP_MOVE_1:
+ case EC_GROUP_MOVE_2:
+ return gMoveNames[index];
+ default:
+ return gEasyChatGroups[groupId].wordData.words[index].text;
+ }
+}
+
+u8 *CopyEasyChatWord(u8 *dest, u16 easyChatWord)
+{
+ u8 *resultStr;
+ if (sub_811EAA4(easyChatWord))
+ {
+ resultStr = StringCopy(dest, gText_ThreeQuestionMarks);
+ }
+ else if (easyChatWord != 0xFFFF)
+ {
+ u16 index = EC_INDEX(easyChatWord);
+ u8 groupId = EC_GROUP(easyChatWord);
+ resultStr = StringCopy(dest, GetEasyChatWord(groupId, index));
+ }
+ else
+ {
+ *dest = EOS;
+ resultStr = dest;
+ }
+
+ return resultStr;
+}
+
+u8 *ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows)
+{
+ u16 i, j;
+ u16 numColumns = columns - 1;
+
+ for (i = 0; i < rows; i++)
+ {
+ for (j = 0; j < numColumns; j++)
+ {
+ dest = CopyEasyChatWord(dest, *src);
+ if (*src != 0xFFFF)
+ {
+ *dest = CHAR_SPACE;
+ dest++;
+ }
+
+ src++;
+ }
+
+ dest = CopyEasyChatWord(dest, *(src++));
+ *dest = CHAR_NEWLINE;
+ dest++;
+ }
+
+ dest--;
+ *dest = EOS;
+ return dest;
+}
+
+u8 *unref_sub_811EC98(u8 *dest, const u16 *src, u16 columns, u16 rows)
+{
+ u16 i, j, k;
+ u16 numColumns;
+ int var0, var1;
+
+ numColumns = columns;
+ var1 = 0;
+ columns--;
+ for (i = 0; i < rows; i++)
+ {
+ const u16 *var2 = src;
+ var0 = 0;
+ for (j = 0; j < numColumns; j++)
+ {
+ if (var2[j] != 0xFFFF)
+ var0 = 1;
+ }
+
+ if (!var0)
+ {
+ src += numColumns;
+ continue;
+ }
+
+ for (k = 0; k < columns; k++)
+ {
+ dest = CopyEasyChatWord(dest, *src);
+ if (*src != 0xFFFF)
+ {
+ *dest = CHAR_SPACE;
+ dest++;
+ }
+
+ src++;
+ }
+
+ dest = CopyEasyChatWord(dest, *(src++));
+ if (var1 == 0)
+ *dest = CHAR_NEWLINE;
+ else
+ *dest = CHAR_PROMPT_SCROLL;
+
+ dest++;
+ var1++;
+ }
+
+ dest--;
+ *dest = EOS;
+ return dest;
+}
+
+u16 GetEasyChatWordStringLength(u16 easyChatWord)
+{
+ if (easyChatWord == 0xFFFF)
+ return 0;
+
+ if (sub_811EAA4(easyChatWord))
+ {
+ return StringLength(gText_ThreeQuestionMarks);
+ }
+ else
+ {
+ u16 index = EC_INDEX(easyChatWord);
+ u8 groupId = EC_GROUP(easyChatWord);
+ return StringLength(GetEasyChatWord(groupId, index));
+ }
+}
+
+bool8 sub_811EDC4(const u16 *easyChatWords, u8 arg1, u8 arg2, u16 arg3)
+{
+ u8 i, j;
+
+ for (i = 0; i < arg2; i++)
+ {
+ u16 totalLength = arg1 - 1;
+ for (j = 0; j < arg1; j++)
+ totalLength += GetEasyChatWordStringLength(*(easyChatWords++));
+
+ if (totalLength > arg3)
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+u16 sub_811EE38(u16 groupId)
+{
+ u16 index = Random() % gEasyChatGroups[groupId].numWords;
+ if (groupId == EC_GROUP_POKEMON
+ || groupId == EC_GROUP_POKEMON_2
+ || groupId == EC_GROUP_MOVE_1
+ || groupId == EC_GROUP_MOVE_2)
+ {
+ index = gEasyChatGroups[groupId].wordData.valueList[index];
+ }
+
+ return EC_WORD(groupId, index);
+}
+
+u16 sub_811EE90(u16 groupId)
+{
+ if (!sub_811EA28(groupId))
+ return 0xFFFF;
+
+ if (groupId == EC_GROUP_POKEMON)
+ return sub_811F108();
+
+ return sub_811EE38(groupId);
+}
+
+void sub_811EECC(void)
+{
+ u16 *easyChatWords;
+ int columns, rows;
+ switch (gSpecialVar_0x8004)
+ {
+ case 0:
+ easyChatWords = gSaveBlock1Ptr->easyChatProfile;
+ columns = 2;
+ rows = 2;
+ break;
+ case 1:
+ easyChatWords = gSaveBlock1Ptr->easyChatBattleStart;
+ if (sub_811EDC4(gSaveBlock1Ptr->easyChatBattleStart, 3, 2, 18))
+ {
+ columns = 2;
+ rows = 3;
+ }
+ else
+ {
+ columns = 3;
+ rows = 2;
+ }
+ break;
+ case 2:
+ easyChatWords = gSaveBlock1Ptr->easyChatBattleWon;
+ columns = 3;
+ rows = 2;
+ break;
+ case 3:
+ easyChatWords = gSaveBlock1Ptr->easyChatBattleLost;
+ columns = 3;
+ rows = 2;
+ break;
+ default:
+ return;
+ }
+
+ ConvertEasyChatWordsToString(gStringVar4, easyChatWords, columns, rows);
+ ShowFieldAutoScrollMessage(gStringVar4);
+}
+
+void sub_811EF6C(void)
+{
+ int groupId = Random() & 1 ? EC_GROUP_HOBBIES : EC_GROUP_LIFESTYLE;
+ u16 easyChatWord = sub_811EE90(groupId);
+ CopyEasyChatWord(gStringVar2, easyChatWord);
+}
+
+bool8 sub_811EF98(u8 additionalPhraseId)
+{
+ int byteOffset = additionalPhraseId / 8;
+ int shift = additionalPhraseId % 8;
+ return (gSaveBlock1Ptr->additionalPhrases[byteOffset] >> shift) & 1;
+}
+
+void sub_811EFC0(u8 additionalPhraseId)
+{
+ if (additionalPhraseId < 33)
+ {
+ int byteOffset = additionalPhraseId / 8;
+ int shift = additionalPhraseId % 8;
+ gSaveBlock1Ptr->additionalPhrases[byteOffset] |= 1 << shift;
+ }
+}
+
+u8 sub_811EFF0(void)
+{
+ u8 i;
+ u8 numAdditionalPhrasesUnlocked;
+
+ for (i = 0, numAdditionalPhrasesUnlocked = 0; i < 33; i++)
+ {
+ if (sub_811EF98(i))
+ numAdditionalPhrasesUnlocked++;
+ }
+
+ return numAdditionalPhrasesUnlocked;
+}
+
+u16 sub_811F01C(void)
+{
+ u16 i;
+ u16 additionalPhraseId;
+ u8 numAdditionalPhrasesUnlocked = sub_811EFF0();
+ if (numAdditionalPhrasesUnlocked == 33)
+ return 0xFFFF;
+
+ additionalPhraseId = Random() % (33 - numAdditionalPhrasesUnlocked);
+ for (i = 0; i < 33; i++)
+ {
+ if (!sub_811EF98(i))
+ {
+ if (additionalPhraseId)
+ {
+ additionalPhraseId--;
+ }
+ else
+ {
+ sub_811EFC0(i);
+ return EC_WORD(EC_GROUP_TRENDY_SAYING, i);
+ }
+ }
+ }
+
+ return 0xFFFF;
+}
+
+u16 sub_811F090(void)
+{
+ u16 i;
+ u16 additionalPhraseId = sub_811EFF0();
+ if (additionalPhraseId == 0)
+ return 0xFFFF;
+
+ additionalPhraseId = Random() % additionalPhraseId;
+ for (i = 0; i < 33; i++)
+ {
+ if (sub_811EF98(i))
+ {
+ if (additionalPhraseId)
+ additionalPhraseId--;
+ else
+ return EC_WORD(EC_GROUP_TRENDY_SAYING, i);
+ }
+ }
+
+ return 0xFFFF;
+}
+
+bool8 sub_811F0F8(void)
+{
+ return IsNationalPokedexEnabled();
+}
+
+u16 sub_811F108(void)
+{
+ u16 i;
+ u16 numWords;
+ const u16 *species;
+ u16 index = EasyChat_GetNumWordsInGroup(EC_GROUP_POKEMON);
+ if (index == 0)
+ return 0xFFFF;
+
+ index = Random() % index;
+ species = gEasyChatGroups[EC_GROUP_POKEMON].wordData.valueList;
+ numWords = gEasyChatGroups[EC_GROUP_POKEMON].numWords;
+ for (i = 0; i < numWords; i++)
+ {
+ u16 dexNum = SpeciesToNationalPokedexNum(*species);
+ if (GetSetPokedexFlag(dexNum, FLAG_GET_SEEN))
+ {
+ if (index)
+ index--;
+ else
+ return EC_WORD(EC_GROUP_POKEMON, *species);
+ }
+
+ species++;
+ }
+
+ return 0xFFFF;
+}
+
+void InitEasyChatPhrases(void)
+{
+ u16 i, j;
+
+ for (i = 0; i < 4; i++)
+ gSaveBlock1Ptr->easyChatProfile[i] = sDefaultProfileWords[i];
+
+ for (i = 0; i < 6; i++)
+ gSaveBlock1Ptr->easyChatBattleStart[i] = sDefaultBattleStartWords[i];
+
+ for (i = 0; i < 6; i++)
+ gSaveBlock1Ptr->easyChatBattleWon[i] = sUnknown_0859E640[i];
+
+ for (i = 0; i < 6; i++)
+ gSaveBlock1Ptr->easyChatBattleLost[i] = sUnknown_0859E64C[i];
+
+ for (i = 0; i < MAIL_COUNT; i++)
+ {
+ for (j = 0; j < MAIL_WORDS_COUNT; j++)
+ gSaveBlock1Ptr->mail[i].words[j] = 0xFFFF;
+ }
+
+ // BUG: This is supposed to clear 64 bits, but this loop is clearing 64 bytes.
+ // However, this bug has no resulting effect on gameplay because only the
+ // Mauville old man data is corrupted, which is initialized directly after
+ // this function is called when starting a new game.
+ for (i = 0; i < 64; i++)
+ gSaveBlock1Ptr->additionalPhrases[i] = 0;
+}
+
+bool8 sub_811F28C(void)
+{
+ sUnknown_0203A120 = Alloc(sizeof(*sUnknown_0203A120));
+ if (!sUnknown_0203A120)
+ return FALSE;
+
+ sub_811F2D4();
+ sub_811F46C();
+ return TRUE;
+}
+
+void sub_811F2B8(void)
+{
+ if (sUnknown_0203A120)
+ FREE_AND_SET_NULL(sUnknown_0203A120);
+}
+
+void sub_811F2D4(void)
+{
+ int i;
+
+ sUnknown_0203A120->unk0 = 0;
+ if (GetNationalPokedexCount(FLAG_GET_SEEN))
+ sUnknown_0203A120->unk2[sUnknown_0203A120->unk0++] = EC_GROUP_POKEMON;
+
+ for (i = EC_GROUP_TRAINER; i <= EC_GROUP_ADJECTIVES; i++)
+ sUnknown_0203A120->unk2[sUnknown_0203A120->unk0++] = i;
+
+ if (FlagGet(FLAG_SYS_GAME_CLEAR))
+ {
+ sUnknown_0203A120->unk2[sUnknown_0203A120->unk0++] = EC_GROUP_EVENTS;
+ sUnknown_0203A120->unk2[sUnknown_0203A120->unk0++] = EC_GROUP_MOVE_1;
+ sUnknown_0203A120->unk2[sUnknown_0203A120->unk0++] = EC_GROUP_MOVE_2;
+ }
+
+ if (FlagGet(FLAG_SYS_HIPSTER_MEET))
+ sUnknown_0203A120->unk2[sUnknown_0203A120->unk0++] = EC_GROUP_TRENDY_SAYING;
+
+ if (IsNationalPokedexEnabled())
+ sUnknown_0203A120->unk2[sUnknown_0203A120->unk0++] = EC_GROUP_POKEMON_2;
+}
+
+u8 sub_811F3AC(void)
+{
+ return sUnknown_0203A120->unk0;
+}
+
+u8 sub_811F3B8(u8 index)
+{
+ if (index >= sUnknown_0203A120->unk0)
+ return EC_NUM_GROUPS;
+ else
+ return sUnknown_0203A120->unk2[index];
+}
+
+u8 *unref_sub_811F3E0(u8 *dest, u8 groupId, u16 totalChars)
+{
+ u16 i;
+ u8 *str = StringCopy(dest, gEasyChatGroupNamePointers[groupId]);
+ for (i = str - dest; i < totalChars; i++)
+ {
+ *str = CHAR_SPACE;
+ str++;
+ }
+
+ *str = EOS;
+ return str;
+}
+
+const u8 *GetEasyChatWordGroupName(u8 groupId)
+{
+ return gEasyChatGroupNamePointers[groupId];
+}
+
+u8 *CopyEasyChatWordPadded(u8 *dest, u16 easyChatWord, u16 totalChars)
+{
+ u16 i;
+ u8 *str = CopyEasyChatWord(dest, easyChatWord);
+ for (i = str - dest; i < totalChars; i++)
+ {
+ *str = CHAR_SPACE;
+ str++;
+ }
+
+ *str = EOS;
+ return str;
+}
+
+void sub_811F46C(void)
+{
+ int i, j, k;
+ int numWords;
+ const u16 *words;
+ u16 numToProcess;
+ int index;
+
+ for (i = 0; i < 27; i++)
+ {
+ numWords = gEasyChatWordsByLetterPointers[i].numWords;
+ words = gEasyChatWordsByLetterPointers[i].words;
+ sUnknown_0203A120->unk2E[i] = 0;
+ index = 0;
+ for (j = 0; j < numWords; j++)
+ {
+ if (*words == 0xFFFF)
+ {
+ words++;
+ numToProcess = *words;
+ words++;
+ j += 1 + numToProcess;
+ }
+ else
+ {
+ numToProcess = 1;
+ }
+
+ for (k = 0; k < numToProcess; k++)
+ {
+ if (sub_811F860(words[k]))
+ {
+ sUnknown_0203A120->unk64[i][index++] = words[k];
+ sUnknown_0203A120->unk2E[i]++;
+ break;
+ }
+ }
+
+ words += numToProcess;
+ }
+ }
+}
+
+void sub_811F548(int arg0, u16 groupId)
+{
+ if (!arg0)
+ sUnknown_0203A120->unk3BA0 = sub_811F5C4(groupId);
+ else
+ sUnknown_0203A120->unk3BA0 = sub_811F6B8(groupId);
+}
+
+u16 sub_811F578(u16 arg0)
+{
+ if (arg0 >= sUnknown_0203A120->unk3BA0)
+ return 0xFFFF;
+ else
+ return sUnknown_0203A120->unk3984[arg0];
+}
+
+u16 sub_811F5B0(void)
+{
+ return sUnknown_0203A120->unk3BA0;
+}
+
+u16 sub_811F5C4(u16 groupId)
+{
+ u32 i;
+ int totalWords;
+ const u16 *list;
+ const struct EasyChatWordInfo *wordInfo;
+ u16 numWords = gEasyChatGroups[groupId].numWords;
+
+ if (groupId == EC_GROUP_POKEMON || groupId == EC_GROUP_POKEMON_2
+ || groupId == EC_GROUP_MOVE_1 || groupId == EC_GROUP_MOVE_2)
+ {
+ list = gEasyChatGroups[groupId].wordData.valueList;
+ for (i = 0, totalWords = 0; i < numWords; i++)
+ {
+ if (sub_811F764(list[i], groupId))
+ sUnknown_0203A120->unk3984[totalWords++] = EC_WORD(groupId, list[i]);
+ }
+
+ return totalWords;
+ }
+ else
+ {
+ wordInfo = gEasyChatGroups[groupId].wordData.words;
+ for (i = 0, totalWords = 0; i < numWords; i++)
+ {
+ u16 alphabeticalOrder = wordInfo[i].alphabeticalOrder;
+ if (sub_811F764(alphabeticalOrder, groupId))
+ sUnknown_0203A120->unk3984[totalWords++] = EC_WORD(groupId, alphabeticalOrder);
+ }
+
+ return totalWords;
+ }
+}
+
+u16 sub_811F6B8(u16 alphabeticalGroup)
+{
+ u16 i;
+ u16 totalWords;
+
+ for (i = 0, totalWords = 0; i < sUnknown_0203A120->unk2E[alphabeticalGroup]; i++)
+ sUnknown_0203A120->unk3984[totalWords++] = sUnknown_0203A120->unk64[alphabeticalGroup][i];
+
+ return totalWords;
+}
+
+bool8 sub_811F72C(u8 arg0)
+{
+ int i;
+ for (i = 0; i < sUnknown_0203A120->unk0; i++)
+ {
+ if (sUnknown_0203A120->unk2[i] == arg0)
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+bool8 sub_811F764(u16 wordIndex, u8 groupId)
+{
+ switch (groupId)
+ {
+ case EC_GROUP_POKEMON:
+ return GetSetPokedexFlag(SpeciesToNationalPokedexNum(wordIndex), FLAG_GET_SEEN);
+ case EC_GROUP_POKEMON_2:
+ if (sub_811F838(wordIndex))
+ GetSetPokedexFlag(SpeciesToNationalPokedexNum(wordIndex), FLAG_GET_SEEN);
+ return TRUE;
+ case EC_GROUP_MOVE_1:
+ case EC_GROUP_MOVE_2:
+ return TRUE;
+ case EC_GROUP_TRENDY_SAYING:
+ return sub_811EF98(wordIndex);
+ default:
+ return gEasyChatGroups[groupId].wordData.words[wordIndex].enabled;
+ }
+}
+
+int sub_811F838(u16 species)
+{
+ u32 i;
+ for (i = 0; i < ARRAY_COUNT(sUnknown_0859E658); i++)
+ {
+ if (sUnknown_0859E658[i] == species)
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+u8 sub_811F860(u16 easyChatWord)
+{
+ u8 groupId = EC_GROUP(easyChatWord);
+ u32 index = EC_INDEX(easyChatWord);
+ if (!sub_811F72C(groupId))
+ return FALSE;
+ else
+ return sub_811F764(index, groupId);
+}
+
+void InitializeEasyChatWordArray(u16 *words, u16 length)
+{
+ u16 i;
+ for (i = length - 1; i != 0xFFFF; i--)
+ *(words++) = 0xFFFF;
+}
+
+void sub_811F8BC(void)
+{
+ int i;
+ u16 *words = sub_801B058();
+ for (i = 0; i < 4; i++)
+ words[i] = 0xFFFF;
+}
+
+bool32 sub_811F8D8(int easyChatWord)
+{
+ int groupId = EC_GROUP(easyChatWord);
+ int mask = 0x7F;
+ int index = EC_INDEX(easyChatWord);
+ if (!sub_811EA28(groupId & mask))
+ return FALSE;
+ else
+ return sub_811F764(index, groupId & mask);
+}
+*/