From 08e173e524f5c529dbb5d53a87d3026d2cdc67df Mon Sep 17 00:00:00 2001 From: Pseurae Date: Sat, 19 Oct 2024 03:55:50 +0000 Subject: [PATCH] Repoint trainer pokemon data to C files --- charmap.txt | 173 - config.asm | 3 + include/battle.h | 60 + include/constants/trainers.h | 695 ++ include/event_object_movement.h | 3 +- linker/rodata.ld | 1 + main.asm | 9 +- pyscripts/charmap.py | 57 + pyscripts/constants/items.py | 357 + .../{constants.py => constants/moves.py} | 2 +- pyscripts/constants/pokemon.py | 445 + pyscripts/constants/trainers.py | 169 + pyscripts/extract_move_data.py | 10 +- pyscripts/extract_move_desc.py | 26 +- pyscripts/extract_move_names.py | 38 +- pyscripts/extract_poke_learnsets.py | 2 +- pyscripts/extract_trainer_data.py | 130 + pyscripts/find_free_space.py | 16 + pyscripts/helpers.py | 4 + pyscripts/retrieve_repoints.py | 9 +- scripts/trainers.asm | 697 ++ src/data/trainers.c | 10215 ++++++++++++++++ 22 files changed, 12872 insertions(+), 249 deletions(-) create mode 100644 include/constants/trainers.h create mode 100644 pyscripts/charmap.py create mode 100644 pyscripts/constants/items.py rename pyscripts/{constants.py => constants/moves.py} (99%) create mode 100644 pyscripts/constants/pokemon.py create mode 100644 pyscripts/constants/trainers.py create mode 100644 pyscripts/extract_trainer_data.py create mode 100644 pyscripts/find_free_space.py create mode 100644 pyscripts/helpers.py create mode 100644 scripts/trainers.asm create mode 100644 src/data/trainers.c diff --git a/charmap.txt b/charmap.txt index 0485917..d75e941 100644 --- a/charmap.txt +++ b/charmap.txt @@ -155,179 +155,6 @@ SUPER_RE = A0 TALL_PLUS = FC 0C FB '$' = FF -@ Hiragana -'あ' = 01 -'い' = 02 -'う' = 03 -'え' = 04 -'お' = 05 -'か' = 06 -'き' = 07 -'く' = 08 -'け' = 09 -'こ' = 0A -'さ' = 0B -'し' = 0C -'す' = 0D -'せ' = 0E -'そ' = 0F -'た' = 10 -'ち' = 11 -'つ' = 12 -'て' = 13 -'と' = 14 -'な' = 15 -'に' = 16 -'ぬ' = 17 -'ね' = 18 -'の' = 19 -'は' = 1A -'ひ' = 1B -'ふ' = 1C -'へ' = 1D -'ほ' = 1E -'ま' = 1F -'み' = 20 -'む' = 21 -'め' = 22 -'も' = 23 -'や' = 24 -'ゆ' = 25 -'よ' = 26 -'ら' = 27 -'り' = 28 -'る' = 29 -'れ' = 2A -'ろ' = 2B -'わ' = 2C -'を' = 2D -'ん' = 2E -'ぁ' = 2F -'ぃ' = 30 -'ぅ' = 31 -'ぇ' = 32 -'ぉ' = 33 -'ゃ' = 34 -'ゅ' = 35 -'ょ' = 36 -'が' = 37 -'ぎ' = 38 -'ぐ' = 39 -'げ' = 3A -'ご' = 3B -'ざ' = 3C -'じ' = 3D -'ず' = 3E -'ぜ' = 3F -'ぞ' = 40 -'だ' = 41 -'ぢ' = 42 -'づ' = 43 -'で' = 44 -'ど' = 45 -'ば' = 46 -'び' = 47 -'ぶ' = 48 -'べ' = 49 -'ぼ' = 4A -'ぱ' = 4B -'ぴ' = 4C -'ぷ' = 4D -'ぺ' = 4E -'ぽ' = 4F -'っ' = 50 - -@ Katakana -'ア' = 51 -'イ' = 52 -'ウ' = 53 -'エ' = 54 -'オ' = 55 -'カ' = 56 -'キ' = 57 -'ク' = 58 -'ケ' = 59 -'コ' = 5A -'サ' = 5B -'シ' = 5C -'ス' = 5D -'セ' = 5E -'ソ' = 5F -'タ' = 60 -'チ' = 61 -'ツ' = 62 -'テ' = 63 -'ト' = 64 -'ナ' = 65 -'ニ' = 66 -'ヌ' = 67 -'ネ' = 68 -'ノ' = 69 -'ハ' = 6A -'ヒ' = 6B -'フ' = 6C -'ヘ' = 6D -'ホ' = 6E -'マ' = 6F -'ミ' = 70 -'ム' = 71 -'メ' = 72 -'モ' = 73 -'ヤ' = 74 -'ユ' = 75 -'ヨ' = 76 -'ラ' = 77 -'リ' = 78 -'ル' = 79 -'レ' = 7A -'ロ' = 7B -'ワ' = 7C -'ヲ' = 7D -'ン' = 7E -'ァ' = 7F -'ィ' = 80 -'ゥ' = 81 -'ェ' = 82 -'ォ' = 83 -'ャ' = 84 -'ュ' = 85 -'ョ' = 86 -'ガ' = 87 -'ギ' = 88 -'グ' = 89 -'ゲ' = 8A -'ゴ' = 8B -'ザ' = 8C -'ジ' = 8D -'ズ' = 8E -'ゼ' = 8F -'ゾ' = 90 -'ダ' = 91 -'ヂ' = 92 -'ヅ' = 93 -'デ' = 94 -'ド' = 95 -'バ' = 96 -'ビ' = 97 -'ブ' = 98 -'ベ' = 99 -'ボ' = 9A -'パ' = 9B -'ピ' = 9C -'プ' = 9D -'ペ' = 9E -'ポ' = 9F -'ッ' = A0 - -@ Japanese punctuation -' ' = 00 -'!' = AB -'?' = AC -'。' = AD -'ー' = AE -'·' = AF -'‥' = B0 - STRING = FD @ string placeholders diff --git a/config.asm b/config.asm index 03f482d..f921a20 100644 --- a/config.asm +++ b/config.asm @@ -93,6 +93,9 @@ ; Adds an item which allows you to see your Pokemon's base stats, IVs and EVs. .definelabel STATS_VIEWER, 1 +; Trainer battle balances. +.definelabel TRAINER_CHANGES, 1 + ; Bugfixes ; -------- diff --git a/include/battle.h b/include/battle.h index e8b6c45..192a035 100644 --- a/include/battle.h +++ b/include/battle.h @@ -225,6 +225,65 @@ struct PACKED ChooseMoveStruct u8 monType2; }; +struct PACKED TrainerMonNoItemDefaultMoves +{ + u16 iv; + u16 level; // Is actually a u8, but the high byte is always 0 + u16 species; + u16 filler1; +}; + +// IV + LEVEL + SPECIES + MOVES +struct PACKED TrainerMonNoItemCustomMoves +{ + u16 iv; + u16 level; + u16 species; + u16 moves[4]; + u16 filler1; +}; + +// IV + LEVEL + SPECIES + ITEMS +struct PACKED TrainerMonItemDefaultMoves +{ + u16 iv; + u16 level; + u16 species; + u16 heldItem; +}; + +// IV + LEVEL + SPECIES + ITEMS + MOVES +struct PACKED TrainerMonItemCustomMoves +{ + u16 iv; + u16 level; + u16 species; + u16 heldItem; + u16 moves[4]; +}; + +union TrainerMonPtr +{ + const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves; + const struct TrainerMonNoItemCustomMoves *NoItemCustomMoves; + const struct TrainerMonItemDefaultMoves *ItemDefaultMoves; + const struct TrainerMonItemCustomMoves *ItemCustomMoves; +}; + +struct PACKED Trainer +{ + /*0x00*/ u8 partyFlags; + /*0x01*/ u8 trainerClass; + /*0x02*/ u8 encounterMusic_gender; + /*0x03*/ u8 trainerPic; + /*0x04*/ u8 trainerName[12]; + /*0x10*/ u16 items[4]; + /*0x18*/ bool8 doubleBattle; + /*0x1C*/ u32 aiFlags; + /*0x20*/ u8 partySize; + /*0x24*/ union TrainerMonPtr party; +}; + extern u16 gBattleTypeFlags; extern struct BattlePokemon gBattleMons[4]; extern u16 gCurrentMove; @@ -253,6 +312,7 @@ extern s32 gTakenDmg[4]; extern u8 gTakenDmgByBattler[4]; extern u8 BattleScript_SubstituteFade[]; extern u8 gBattleBufferA[][0x200]; +extern const struct Trainer gTrainers[]; extern const u8 gBattleMoveSplit[NUM_MOVES]; diff --git a/include/constants/trainers.h b/include/constants/trainers.h new file mode 100644 index 0000000..04f52a2 --- /dev/null +++ b/include/constants/trainers.h @@ -0,0 +1,695 @@ +#pragma once + +#define TRAINER_ROLV_1 1 +#define TRAINER_THERESA 2 +#define TRAINER_MIGUEL_1 3 +#define TRAINER_FRANKLIN 4 +#define TRAINER_MARVIN 5 +#define TRAINER_TOMAS 6 +#define TRAINER_VITRUVIO 7 +#define TRAINER_BELDUM 8 +#define TRAINER_METEOR_1 9 +#define TRAINER_TOMU 10 +#define TRAINER_SHIRASAGI 11 +#define TRAINER_NAOTA 12 +#define TRAINER_PAOLO 13 +#define TRAINER_NIIZUMA 14 +#define TRAINER_WATTSON_1 15 +#define TRAINER_WATTSON_2 16 +#define TRAINER_FOOTMAN_1 17 +#define TRAINER_AKATSUKI 18 +#define TRAINER_MIKOV_1 19 +#define TRAINER_BOBOV_1 20 +#define TRAINER_GUNKOV_1 21 +#define TRAINER_KARKOV_1 22 +#define TRAINER_ROBOTNOV_1 23 +#define TRAINER_ROLV_2 24 +#define TRAINER_SPUTNOV_1 25 +#define TRAINER_VLADOV_1 26 +#define TRAINER_ADOLV_1 27 +#define TRAINER_ASIMOV_1 28 +#define TRAINER_LIAM 29 +#define TRAINER_LIZZIE 30 +#define TRAINER_MIKOV_2 31 +#define TRAINER_BOBOV_2 32 +#define TRAINER_GUNKOV_2 33 +#define TRAINER_KARKOV_2 34 +#define TRAINER_ROBOTNOV_2 35 +#define TRAINER_ED 36 +#define TRAINER_TESRAEL 37 +#define TRAINER_LILY 38 +#define TRAINER_RAN_MAO 39 +#define TRAINER_SPUTNOV_2 40 +#define TRAINER_VLADOV_2 41 +#define TRAINER_ADOLV_2 42 +#define TRAINER_ASIMOV_2 43 +#define TRAINER_CRANKSHAFT 44 +#define TRAINER_ZAPPIZOR 45 +#define TRAINER_ARTURO 46 +#define TRAINER_DOUBLEACT_1 47 +#define TRAINER_GAOLER_1 48 +#define TRAINER_GAOLER_2 49 +#define TRAINER_MALFEASANCE 50 +#define TRAINER_TINAANDBRUCE_1 51 +#define TRAINER_TINAANDBRUCE_2 52 +#define TRAINER_TINAANDBRUCE_3 53 +#define TRAINER_TINAANDBRUCE_4 54 +#define TRAINER_TINAANDBRUCE_5 55 +#define TRAINER_TINAANDBRUCE_6 56 +#define TRAINER_DUBLIQUE 57 +#define TRAINER_MIKE 58 +#define TRAINER_GWEN 59 +#define TRAINER_CARMEN 60 +#define TRAINER_GENGUI 61 +#define TRAINER_RICKY_1 62 +#define TRAINER_LOLA 63 +#define TRAINER_BUCCHA 64 +#define TRAINER_SIMON 65 +#define TRAINER_MACGUFFIN 66 +#define TRAINER_RICKY_2 67 +#define TRAINER_LOLIDRAGON 68 +#define TRAINER_LIRIACHEN 69 +#define TRAINER_MCDOUGAL 70 +#define TRAINER_RANDALL 71 +#define TRAINER_PARKER 72 +#define TRAINER_GEORGE 73 +#define TRAINER_BERKE 74 +#define TRAINER_MAJIDE 75 +#define TRAINER_VINCENT 76 +#define TRAINER_LEROY 77 +#define TRAINER_ICHI 78 +#define TRAINER_MANGOMAN 79 +#define TRAINER_ALBERTO 80 +#define TRAINER_ENIGMA 81 +#define TRAINER_CORLEONE 82 +#define TRAINER_CASTANO 83 +#define TRAINER_FIVENINJA_1 84 +#define TRAINER_INIGO 85 +#define TRAINER_MANFRED_1 86 +#define TRAINER_WILTON 87 +#define TRAINER_GIMLETEYE 88 +#define TRAINER_MARY 89 +#define TRAINER_LORI 90 +#define TRAINER_JODY 91 +#define TRAINER_MEI_RIN 92 +#define TRAINER_ELAINE 93 +#define TRAINER_JEMIMA 94 +#define TRAINER_BLAIRWITCH 95 +#define TRAINER_BETHANY 96 +#define TRAINER_FISHGIRL_1 97 +#define TRAINER_SUSAN 98 +#define TRAINER_FIVENINJA_2 99 +#define TRAINER_JULIANNE 100 +#define TRAINER_BROOKE 101 +#define TRAINER_WHITNEY 102 +#define TRAINER_MARLENE 103 +#define TRAINER_MIKOV_3 104 +#define TRAINER_PATRICIA 105 +#define TRAINER_RUBRIC 106 +#define TRAINER_TCHAIKOVSKY 107 +#define TRAINER_TABBY 108 +#define TRAINER_BILLSTOKEY 109 +#define TRAINER_VALERIE 110 +#define TRAINER_BOBOV_3 111 +#define TRAINER_GUNKOV_3 112 +#define TRAINER_KARKOV_3 113 +#define TRAINER_TILLY 114 +#define TRAINER_DANI 115 +#define TRAINER_BRIANNA 116 +#define TRAINER_CINDY 117 +#define TRAINER_ROBOTNOV_3 118 +#define TRAINER_ANETTE 119 +#define TRAINER_ROLV_3 120 +#define TRAINER_SPUTNOV_3 121 +#define TRAINER_VLADOV_3 122 +#define TRAINER_ADOLV_3 123 +#define TRAINER_WEISHI 124 +#define TRAINER_CHAOYUN 125 +#define TRAINER_SHUYI 126 +#define TRAINER_HIRO 127 +#define TRAINER_CONNIE 128 +#define TRAINER_BRIDGET 129 +#define TRAINER_OLIVIA 130 +#define TRAINER_TIFFANY 131 +#define TRAINER_JESSICA 132 +#define TRAINER_ASIMOV_3 133 +#define TRAINER_BARBARA 134 +#define TRAINER_MIMI 135 +#define TRAINER_RICHIE 136 +#define TRAINER_OROBAS 137 +#define TRAINER_GARRET 138 +#define TRAINER_WINSTON_1 139 +#define TRAINER_DUNCAN 140 +#define TRAINER_DIRTHUGGER 141 +#define TRAINER_BIFBOFBEE_1 142 +#define TRAINER_STEVE_1 143 +#define TRAINER_CHRIS 144 +#define TRAINER_MACHI 145 +#define TRAINER_KENN 146 +#define TRAINER_STEVE_2 147 +#define TRAINER_ROLV_4 148 +#define TRAINER_EOWYN 149 +#define TRAINER_BRUNELLA 150 +#define TRAINER_LUIS 151 +#define TRAINER_VEGAS 152 +#define TRAINER_PEKABO 153 +#define TRAINER_TARQUIN 154 +#define TRAINER_MIKHAIL 155 +#define TRAINER_JACKABY 156 +#define TRAINER_MATTHEW 157 +#define TRAINER_ERLANDU 158 +#define TRAINER_PETRUCHIO 159 +#define TRAINER_OBLIGATION 160 +#define TRAINER_CODY 161 +#define TRAINER_STAN 162 +#define TRAINER_CHUCKLES 163 +#define TRAINER_SEAMUSII 164 +#define TRAINER_BIFBOFBEE_2 165 +#define TRAINER_GONZALES 166 +#define TRAINER_SHUNKLE 167 +#define TRAINER_BENJI 168 +#define TRAINER_DONATELLO 169 +#define TRAINER_MUSHUSHSHU 170 +#define TRAINER_DANNY 171 +#define TRAINER_FUNHOUSE 172 +#define TRAINER_DUDLEY 173 +#define TRAINER_CHAD 174 +#define TRAINER_TONY 175 +#define TRAINER_FOOTMAN_2 176 +#define TRAINER_MANFRED_2 177 +#define TRAINER_KERRI 178 +#define TRAINER_KONGAMOTO 179 +#define TRAINER_FINALSMASH 180 +#define TRAINER_HATSUHARU 181 +#define TRAINER_ICHIROU 182 +#define TRAINER_NOB 183 +#define TRAINER_MARY_SUE 184 +#define TRAINER_ALCAPONE 185 +#define TRAINER_ANJOU 186 +#define TRAINER_MISSY 187 +#define TRAINER_YUJI 188 +#define TRAINER_DAISUKE 189 +#define TRAINER_ZACHARY 190 +#define TRAINER_KIRK 191 +#define TRAINER_SCOTT 192 +#define TRAINER_HARVEY_1 193 +#define TRAINER_SHAWN 194 +#define TRAINER_RANDY 195 +#define TRAINER_DALTON 196 +#define TRAINER_BESS 197 +#define TRAINER_TOHRU 198 +#define TRAINER_KYOU 199 +#define TRAINER_YUKI 200 +#define TRAINER_YONGLIANG 201 +#define TRAINER_FLINT 202 +#define TRAINER_TINGFENG 203 +#define TRAINER_JAKE 204 +#define TRAINER_GUIREN 205 +#define TRAINER_BERNIE_1 206 +#define TRAINER_LONGWEI 207 +#define TRAINER_BERNIE_2 208 +#define TRAINER_MIKOV_4 209 +#define TRAINER_BOBOV_4 210 +#define TRAINER_KEN 211 +#define TRAINER_HAYATE 212 +#define TRAINER_WESTLEY 213 +#define TRAINER_SHANE 214 +#define TRAINER_JUSTIN 215 +#define TRAINER_CHINBAO 216 +#define TRAINER_JEFF 217 +#define TRAINER_HORODA 218 +#define TRAINER_ETHAN 219 +#define TRAINER_GAOLER_3 220 +#define TRAINER_BRAVO 221 +#define TRAINER_MINA 222 +#define TRAINER_BRENT 223 +#define TRAINER_DONALD 224 +#define TRAINER_TAYLOR 225 +#define TRAINER_CHIKICORMA 226 +#define TRAINER_DEREK 227 +#define TRAINER_HATORI 228 +#define TRAINER_MOMIJI 229 +#define TRAINER_BRANDON 230 +#define TRAINER_GUNKOV_4 231 +#define TRAINER_EDWARD 232 +#define TRAINER_AQUIFER 233 +#define TRAINER_THUNDORA 234 +#define TRAINER_MONS 235 +#define TRAINER_DONPUNCHIES 236 +#define TRAINER_JOSHUA 237 +#define TRAINER_YVES 238 +#define TRAINER_CAMERON_1 239 +#define TRAINER_CAMERON_2 240 +#define TRAINER_CAMERON_3 241 +#define TRAINER_CAMERON_4 242 +#define TRAINER_FOOTMAN_3 243 +#define TRAINER_VENTANA 244 +#define TRAINER_GAIA 245 +#define TRAINER_FLAMMA 246 +#define TRAINER_CHERIE 247 +#define TRAINER_ALEXIS 248 +#define TRAINER_SHUBITZ 249 +#define TRAINER_JACKI_1 250 +#define TRAINER_GLEIS_1 251 +#define TRAINER_JACKI_2 252 +#define TRAINER_TEX 253 +#define TRAINER_WINSTON_2 254 +#define TRAINER_TUCKER 255 +#define TRAINER_THOMAS 256 +#define TRAINER_WALTER 257 +#define TRAINER_KARKOV_4 258 +#define TRAINER_ROBOTNOV_4 259 +#define TRAINER_ROLV_5 260 +#define TRAINER_CAITLIN 261 +#define TRAINER_BENNY_1 262 +#define TRAINER_GLACIA 263 +#define TRAINER_INDIGO 264 +#define TRAINER_ROXANNE 265 +#define TRAINER_HARUKO 266 +#define TRAINER_WATTSON_3 267 +#define TRAINER_VERACITY 268 +#define TRAINER_NORMAN 269 +#define TRAINER_WINONA 270 +#define TRAINER_TATEANDLIZA 271 +#define TRAINER_ESAU 272 +#define TRAINER_MORPH_1 273 +#define TRAINER_TED 274 +#define TRAINER_PAUL 275 +#define TRAINER_MORPH_2 276 +#define TRAINER_JERRY 277 +#define TRAINER_NOTTINGHAM 278 +#define TRAINER_BANDITO 279 +#define TRAINER_SCISSORA 280 +#define TRAINER_GEORGIA 281 +#define TRAINER_KAREN 282 +#define TRAINER_FOOTMAN_4 283 +#define TRAINER_FOOTMAN_5 284 +#define TRAINER_FIVENINJA_3 285 +#define TRAINER_JADEANDSARA 286 +#define TRAINER_KATANDBERT 287 +#define TRAINER_ANNAANDMEG_1 288 +#define TRAINER_SASHA 289 +#define TRAINER_DOUBLEACT_2 290 +#define TRAINER_ANNAANDMEG_2 291 +#define TRAINER_MUGWIN_1 292 +#define TRAINER_MIGUEL_2 293 +#define TRAINER_COLTON 294 +#define TRAINER_CHLOE_1 295 +#define TRAINER_FISHGIRL_2 296 +#define TRAINER_MANZANA 297 +#define TRAINER_MIGUEL_3 298 +#define TRAINER_MUGWIN_2 299 +#define TRAINER_UGBUOON 300 +#define TRAINER_MARISSA 301 +#define TRAINER_ROCKIT 302 +#define TRAINER_ISABEL_1 303 +#define TRAINER_ISABEL_2 304 +#define TRAINER_TARNATION 305 +#define TRAINER_HANNAH 306 +#define TRAINER_GUARDIAN 307 +#define TRAINER_CHLOE_2 308 +#define TRAINER_PERKINS 309 +#define TRAINER_MAGDALENE 310 +#define TRAINER_TIMOTHY 311 +#define TRAINER_MUGWIN_3 312 +#define TRAINER_QINGXUE 313 +#define TRAINER_SHELBY_1 314 +#define TRAINER_KATHY 315 +#define TRAINER_SHELBY_2 316 +#define TRAINER_SHELBY_3 317 +#define TRAINER_CALVIN_1 318 +#define TRAINER_LAURENCE 319 +#define TRAINER_JOSH 320 +#define TRAINER_TOMMY 321 +#define TRAINER_ASMODEUS 322 +#define TRAINER_BEN 323 +#define TRAINER_BELIAL_1 324 +#define TRAINER_KEVIN 325 +#define TRAINER_NEAL 326 +#define TRAINER_FOOTMAN_6 327 +#define TRAINER_CALVIN_2 328 +#define TRAINER_CALVIN_3 329 +#define TRAINER_CLINT 330 +#define TRAINER_SENEX_1 331 +#define TRAINER_EDDIE 332 +#define TRAINER_ALLEN 333 +#define TRAINER_FOOTMAN_7 334 +#define TRAINER_FENGLEI 335 +#define TRAINER_TIMANDTINA 336 +#define TRAINER_DUNSTAN 337 +#define TRAINER_FOOTMAN_8 338 +#define TRAINER_SMASHSHOT 339 +#define TRAINER_NED 340 +#define TRAINER_MASHIMA 341 +#define TRAINER_FOOTMAN_9 342 +#define TRAINER_FERNANDO 343 +#define TRAINER_OSWALD 344 +#define TRAINER_RICARDO 345 +#define TRAINER_ELLIOT_1 346 +#define TRAINER_TEMULENCE_1 347 +#define TRAINER_ELLIOT_2 348 +#define TRAINER_FIVENINJA_4 349 +#define TRAINER_UNBONE 350 +#define TRAINER_JACOB 351 +#define TRAINER_ANTHONY 352 +#define TRAINER_BENJAMIN_1 353 +#define TRAINER_BENJAMIN_2 354 +#define TRAINER_BENJAMIN_3 355 +#define TRAINER_BENJAMIN_4 356 +#define TRAINER_BENJAMIN_5 357 +#define TRAINER_ABIGAIL_1 358 +#define TRAINER_JASMINE 359 +#define TRAINER_ABIGAIL_2 360 +#define TRAINER_ABIGAIL_3 361 +#define TRAINER_ABIGAIL_4 362 +#define TRAINER_ABIGAIL_5 363 +#define TRAINER_HEIWAJIMA 364 +#define TRAINER_DYLAN_1 365 +#define TRAINER_DYLAN_2 366 +#define TRAINER_DYLAN_3 367 +#define TRAINER_DYLAN_4 368 +#define TRAINER_MARIA_1 369 +#define TRAINER_WAYNE 370 +#define TRAINER_WOODY 371 +#define TRAINER_MARIA_2 372 +#define TRAINER_MARIA_3 373 +#define TRAINER_MONKLEY 374 +#define TRAINER_THESHERIFF 375 +#define TRAINER_CYRUS 376 +#define TRAINER_MANLYHERO 377 +#define TRAINER_HUNKY_DORY 378 +#define TRAINER_ISAIAH_1 379 +#define TRAINER_ISAIAH_2 380 +#define TRAINER_ISAIAH_3 381 +#define TRAINER_MAGNUSVII 382 +#define TRAINER_METEOR_2 383 +#define TRAINER_MAXINE 384 +#define TRAINER_METEOR_3 385 +#define TRAINER_PERJURY 386 +#define TRAINER_MARIEBAIN 387 +#define TRAINER_KATELYN_1 388 +#define TRAINER_KATELYN_2 389 +#define TRAINER_KATELYN_3 390 +#define TRAINER_KATELYN_4 391 +#define TRAINER_NICOLAS_1 392 +#define TRAINER_NICOLAS_2 393 +#define TRAINER_NICOLAS_3 394 +#define TRAINER_NICKYP 395 +#define TRAINER_FORTUNO 396 +#define TRAINER_LIUBEI 397 +#define TRAINER_JAIME 398 +#define TRAINER_HUGHIE 399 +#define TRAINER_PHILIP 400 +#define TRAINER_JARED 401 +#define TRAINER_MITCHELL 402 +#define TRAINER_TANNER 403 +#define TRAINER_WILL 404 +#define TRAINER_MAYBEWITCH 405 +#define TRAINER_BADFAIRY 406 +#define TRAINER_BENNY_2 407 +#define TRAINER_HESTER 408 +#define TRAINER_GLEIS_2 409 +#define TRAINER_TEMULENCE_2 410 +#define TRAINER_ROBERT 411 +#define TRAINER_BURKE 412 +#define TRAINER_OSTAFAN 413 +#define TRAINER_DECKARD 414 +#define TRAINER_ROGER 415 +#define TRAINER_BRET 416 +#define TRAINER_MAKOTO 417 +#define TRAINER_HIDEO 418 +#define TRAINER_TANCRED 419 +#define TRAINER_CHARLES 420 +#define TRAINER_LAO_1 421 +#define TRAINER_LAO_2 422 +#define TRAINER_SCHWARTZ_1 423 +#define TRAINER_SCHWARTZ_2 424 +#define TRAINER_TYRONE 425 +#define TRAINER_MATTEO 426 +#define TRAINER_LAURA 427 +#define TRAINER_CORA 428 +#define TRAINER_JILL 429 +#define TRAINER_CYNDY_1 430 +#define TRAINER_CYNDY_2 431 +#define TRAINER_SCHWARTZ_3 432 +#define TRAINER_SCHWARTZ_4 433 +#define TRAINER_VINNIE 434 +#define TRAINER_ANGELWITCH 435 +#define TRAINER_EASTWITCH 436 +#define TRAINER_MADELINE_1 437 +#define TRAINER_STANISLAUS 438 +#define TRAINER_BOSS 439 +#define TRAINER_MADELINE_2 440 +#define TRAINER_BEVERLY 441 +#define TRAINER_DAWN 442 +#define TRAINER_BEATRICE 443 +#define TRAINER_DENISE 444 +#define TRAINER_BETH 445 +#define TRAINER_KRIS 446 +#define TRAINER_JESUS 447 +#define TRAINER_ALICE 448 +#define TRAINER_WORCESTERIA 449 +#define TRAINER_HUAJIAO 450 +#define TRAINER_TANYA 451 +#define TRAINER_SHARON 452 +#define TRAINER_ENDLESS 453 +#define TRAINER_KOTOKABE 454 +#define TRAINER_CATALANA 455 +#define TRAINER_CREPERIE 456 +#define TRAINER_DONGIGA 457 +#define TRAINER_DANAPIX 458 +#define TRAINER_ERIN 459 +#define TRAINER_MEADOWBREAK 460 +#define TRAINER_BAKANEKO 461 +#define TRAINER_KAYLEE 462 +#define TRAINER_BALBOON 463 +#define TRAINER_DARCY 464 +#define TRAINER_JENNY_1 465 +#define TRAINER_JENNY_2 466 +#define TRAINER_JENNY_3 467 +#define TRAINER_JENNY_4 468 +#define TRAINER_NAKAJIMA 469 +#define TRAINER_SHIZUO 470 +#define TRAINER_LENNA 471 +#define TRAINER_FOOTMAN_10 472 +#define TRAINER_MARTHA 473 +#define TRAINER_YONGSHUI 474 +#define TRAINER_NINA 475 +#define TRAINER_RYUUGAMINE 476 +#define TRAINER_DIANA_1 477 +#define TRAINER_DIANA_2 478 +#define TRAINER_DIANA_3 479 +#define TRAINER_DIANA_4 480 +#define TRAINER_AKAGI 481 +#define TRAINER_AMYANDLIV_1 482 +#define TRAINER_DOUGANDLOLA 483 +#define TRAINER_MIRAI 484 +#define TRAINER_AMYANDLIV_2 485 +#define TRAINER_GINAANDMIA 486 +#define TRAINER_AMYANDLIV_3 487 +#define TRAINER_AMYANDLIV_4 488 +#define TRAINER_AMYANDLIV_5 489 +#define TRAINER_PIOUS 490 +#define TRAINER_BARRABAS 491 +#define TRAINER_ERNEST_1 492 +#define TRAINER_DWAYNE 493 +#define TRAINER_PHILLIP 494 +#define TRAINER_LEONARD 495 +#define TRAINER_FORMAGGIO 496 +#define TRAINER_ERNEST_2 497 +#define TRAINER_ERNEST_3 498 +#define TRAINER_ERNEST_4 499 +#define TRAINER_ERNEST_5 500 +#define TRAINER__1 501 +#define TRAINER__2 502 +#define TRAINER__3 503 +#define TRAINER_SONNY 504 +#define TRAINER_DONOVAN 505 +#define TRAINER_GERALD 506 +#define TRAINER_KELVIN 507 +#define TRAINER_KODY 508 +#define TRAINER_TEVIN 509 +#define TRAINER_DAMON 510 +#define TRAINER_PABLO 511 +#define TRAINER_FOOTMAN_11 512 +#define TRAINER_HECTOR_1 513 +#define TRAINER_HECTOR_2 514 +#define TRAINER_EDWIN_1 515 +#define TRAINER_EDWIN_2 516 +#define TRAINER_EDWIN_3 517 +#define TRAINER_EDWIN_4 518 +#define TRAINER_TEMULENCE_3 519 +#define TRAINER_BERT 520 +#define TRAINER_BRENDAN_1 521 +#define TRAINER_BRENDAN_2 522 +#define TRAINER_BRENDAN_3 523 +#define TRAINER_BRENDAN_4 524 +#define TRAINER_BRENDAN_5 525 +#define TRAINER_BRENDAN_6 526 +#define TRAINER_BRENDAN_7 527 +#define TRAINER_BRENDAN_8 528 +#define TRAINER_ALICIA_UNKNOWN 529 +#define TRAINER_ALICIA_1 530 +#define TRAINER_ALICIA_2 531 +#define TRAINER_WAR 532 +#define TRAINER_MAY_1 533 +#define TRAINER_MAY_2 534 +#define TRAINER_MAY_3 535 +#define TRAINER_MAY_4 536 +#define TRAINER_MAY_5 537 +#define TRAINER_ISAAC_1 538 +#define TRAINER_RILEY 539 +#define TRAINER_AIDAN 540 +#define TRAINER_ISAAC_2 541 +#define TRAINER_ISAAC_3 542 +#define TRAINER_ISAAC_4 543 +#define TRAINER_ISAAC_5 544 +#define TRAINER_HIROAKI 545 +#define TRAINER_ALEXIA 546 +#define TRAINER_DANIELLE 547 +#define TRAINER_LYDIA_1 548 +#define TRAINER_LYDIA_2 549 +#define TRAINER_LYDIA_3 550 +#define TRAINER_LYDIA_4 551 +#define TRAINER_YULVARIN 552 +#define TRAINER_SWINEWITCH 553 +#define TRAINER_SEBASTIAN 554 +#define TRAINER_JACKSON_1 555 +#define TRAINER_JACKSON_2 556 +#define TRAINER_JACKSON_3 557 +#define TRAINER_JACKSON_4 558 +#define TRAINER_CATHERINE_1 559 +#define TRAINER_TOOTHWITCH 560 +#define TRAINER_SOPHIA 561 +#define TRAINER_CATHERINE_2 562 +#define TRAINER_SALARYMAN_1 563 +#define TRAINER_CATHERINE_3 564 +#define TRAINER_CATHERINE_4 565 +#define TRAINER_TEMULENCE_4 566 +#define TRAINER_FOOTMAN_12 567 +#define TRAINER_SALARYMAN_2 568 +#define TRAINER_FOOTMAN_13 569 +#define TRAINER_SALARYMAN_3 570 +#define TRAINER_GRUNT_1 571 +#define TRAINER_GRUNT_2 572 +#define TRAINER_GRUNT_3 573 +#define TRAINER_GRUNT_4 574 +#define TRAINER_ZABULON 575 +#define TRAINER_GRUNT_5 576 +#define TRAINER_GRUNT_6 577 +#define TRAINER_GRUNT_7 578 +#define TRAINER_GRUNT_8 579 +#define TRAINER_GRUNT_9 580 +#define TRAINER_BELIAL_2 581 +#define TRAINER_MIGHT 582 +#define TRAINER_GRUNT_10 583 +#define TRAINER_GRUNT_11 584 +#define TRAINER_GRUNT_12 585 +#define TRAINER_GRUNT_13 586 +#define TRAINER_GRUNT_14 587 +#define TRAINER_GRUNT_15 588 +#define TRAINER_GRUNT_16 589 +#define TRAINER_GRUNT_17 590 +#define TRAINER_LINDA 591 +#define TRAINER_SALARYMAN_4 592 +#define TRAINER_SALARYMAN_5 593 +#define TRAINER_KENT 594 +#define TRAINER_PESTILENCE 595 +#define TRAINER_SALARYMAN_6 596 +#define TRAINER_TABITHA 597 +#define TRAINER_SHADERU 598 +#define TRAINER_GLEIS_3 599 +#define TRAINER_COURTNEY 600 +#define TRAINER_MAXIE_1 601 +#define TRAINER_MAXIE_2 602 +#define TRAINER_TIANA 603 +#define TRAINER_HARVEY_2 604 +#define TRAINER_JANICE 605 +#define TRAINER_MUGWIN_4 606 +#define TRAINER_HALEY_1 607 +#define TRAINER_HALEY_2 608 +#define TRAINER_HALEY_3 609 +#define TRAINER_HALEY_4 610 +#define TRAINER_SALLY 611 +#define TRAINER_ROBIN 612 +#define TRAINER_ANDREA 613 +#define TRAINER_CRISSY 614 +#define TRAINER_RICA 615 +#define TRAINER_LYLE 616 +#define TRAINER_JOSE 617 +#define TRAINER_DOUG 618 +#define TRAINER_TOMMO 619 +#define TRAINER_CINNABAR 620 +#define TRAINER_ANDROMALIUS 621 +#define TRAINER_JAMES_1 622 +#define TRAINER_FLOATZEL 623 +#define TRAINER_JAMES_2 624 +#define TRAINER_JAMES_3 625 +#define TRAINER_KLOTHOK 626 +#define TRAINER_RAAKOR 627 +#define TRAINER_LENNY 628 +#define TRAINER_LUCAS_1 629 +#define TRAINER_ALAN 630 +#define TRAINER_CLARK 631 +#define TRAINER_FENGDARIN 632 +#define TRAINER_LUCAS_2 633 +#define TRAINER_BRENTFORD 634 +#define TRAINER_HERO 635 +#define TRAINER_TRENT_1 636 +#define TRAINER_ZUUL 637 +#define TRAINER_KYLIE 638 +#define TRAINER_TRENT_2 639 +#define TRAINER_MAIANDHIRO 640 +#define TRAINER_LEAANDJED 641 +#define TRAINER_LOLAANDLUTE 642 +#define TRAINER_LOISANDHAL_1 643 +#define TRAINER_LOISANDHAL_2 644 +#define TRAINER_LOISANDHAL_3 645 +#define TRAINER_LOISANDHAL_4 646 +#define TRAINER_JOHANNA 647 +#define TRAINER_MEILIN 648 +#define TRAINER_VIVIAN 649 +#define TRAINER_NIANZHU 650 +#define TRAINER_SIOBHAN 651 +#define TRAINER_WITCH 652 +#define TRAINER_SANDWITCH 653 +#define TRAINER_ASPHODEL 654 +#define TRAINER_LEOZAR 655 +#define TRAINER_GLEIS_4 656 +#define TRAINER_SPUTNOV_4 657 +#define TRAINER_VLADOV_4 658 +#define TRAINER_ADOLV_4 659 +#define TRAINER_CHIEF 660 +#define TRAINER_BRENDAN_9 661 +#define TRAINER_PYRITE 662 +#define TRAINER_BRENDAN_10 663 +#define TRAINER_MAY_6 664 +#define TRAINER_MAY_7 665 +#define TRAINER_SENEX_2 666 +#define TRAINER_BURNAGGIO 667 +#define TRAINER_FROZONE 668 +#define TRAINER_PARALISI 669 +#define TRAINER_JOURDELAYS 670 +#define TRAINER_MSDOLITTLE 671 +#define TRAINER_ULTRAKICK 672 +#define TRAINER_WAYNEFLETE 673 +#define TRAINER_DYNAMO 674 +#define TRAINER_ICIKLING 675 +#define TRAINER_TRISHA 676 +#define TRAINER_KENANDBEL 677 +#define TRAINER_KIMANDIRIS 678 +#define TRAINER_DOUBLEACT_3 679 +#define TRAINER_JANANDJON 680 +#define TRAINER_JOHNANDJAY_1 681 +#define TRAINER_JOHNANDJAY_2 682 +#define TRAINER_JOHNANDJAY_3 683 +#define TRAINER_JOHNANDJAY_4 684 +#define TRAINER_JOHNANDJAY_5 685 +#define TRAINER_HANAANDMIKI 686 +#define TRAINER_VENUSANDMILO 687 +#define TRAINER_RITAANDSAM_1 688 +#define TRAINER_RITAANDSAM_2 689 +#define TRAINER_RITAANDSAM_3 690 +#define TRAINER_RITAANDSAM_4 691 +#define TRAINER_SIMONANDTABBY 692 +#define TRAINER_EUGENE 693 diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 0dbee46..deffe4b 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -23,7 +23,8 @@ void LONG_CALL ObjectEventClearHeldMovement(struct ObjectEvent *); void LONG_CALL FreezeObjectEvents(void); u8 LONG_CALL SpawnSpecialObjectEvent(struct ObjectEventTemplate *objectEventTemplate); void LONG_CALL RemoveObjectEvent(struct ObjectEvent *objectEvent); -u8 LONG_CALL SpawnSpecialObjectEventParametrized(u8 graphicsId, u8 movementType, u8 localId, s16 x, s16 y, u8 elevation); +u8 LONG_CALL SpawnSpecialObjectEventParametrized( + u8 graphicsId, u8 movementType, u8 localId, s16 x, s16 y, u8 elevation); #define GROUND_EFFECT_FLAG_TALL_GRASS_ON_SPAWN (1 << 0) #define GROUND_EFFECT_FLAG_TALL_GRASS_ON_MOVE (1 << 1) diff --git a/linker/rodata.ld b/linker/rodata.ld index 0fe547d..e3fad7a 100644 --- a/linker/rodata.ld +++ b/linker/rodata.ld @@ -59,3 +59,4 @@ BattleStatText_SpDef = 0x84007f2; OtherText_MaleSymbol = 0x8410458; OtherText_FemaleSymbol = 0x841045a; gNamingScreenPtr = 0x83ce214; +gTrainers = 0x81f04fc; \ No newline at end of file diff --git a/main.asm b/main.asm index 5a47243..559748a 100644 --- a/main.asm +++ b/main.asm @@ -15,12 +15,8 @@ .include "scripts/include/types.asm" .include "scripts/include/vars_flags.asm" -.org 0x8729e20 -.region 0xaca0 -.endregion - -.org 0x886d1f0 -.region 0x9850 +.org 0x88866c0 +.region 0x479940 .endregion .autoregion @@ -76,5 +72,6 @@ .include "scripts/save_flash_failed.asm" .include "scripts/stats_viewer.asm" .include "scripts/summary_screen.asm" +.include "scripts/trainers.asm" .close \ No newline at end of file diff --git a/pyscripts/charmap.py b/pyscripts/charmap.py new file mode 100644 index 0000000..0c2f528 --- /dev/null +++ b/pyscripts/charmap.py @@ -0,0 +1,57 @@ +class Charmap(): + __slots__ = ("_EOS", "_chars") + + def __init__(self): + self._EOS = None + self._chars = { } + + def parseCharmap(self, filename): + f = open(filename, "r") + + while (line := f.readline()): + line = line.strip() + + if line.startswith("@"): + continue + + try: + lhs, _, rhs = line.rpartition("=") + except Exception: + print(line) + raise ValueError("Could not split line to LHS and RHS.") + + lhs = lhs.strip() + rhs = rhs.strip() + + if lhs.startswith("'"): + lhs = lhs[1:-1] + is_escape = lhs.startswith("\\") + + if (not is_escape and len(lhs) > 1): + raise ValueError("Multiple Characters.") + + if (is_escape and lhs[1] == "'"): + lhs = "'" + + comment_start = rhs.find("@") + if comment_start != -1: + rhs = rhs[:comment_start] + + if lhs == "$": + self._EOS = int(rhs, 16) + continue + + self._chars[int(rhs, 16)] = lhs + + f.close() + + def decode(self, string, unknown=""): + ret = "" + + for i in string: + if i == self._EOS: + break + + ret += self._chars.get(i, unknown) + + return ret \ No newline at end of file diff --git a/pyscripts/constants/items.py b/pyscripts/constants/items.py new file mode 100644 index 0000000..512b29f --- /dev/null +++ b/pyscripts/constants/items.py @@ -0,0 +1,357 @@ +names = [ + "ITEM_NONE", + + "ITEM_AFRO_BALL", + "ITEM_ULTRA_BALL", + "ITEM_GREAT_BALL", + "ITEM_POKE_BALL", + "ITEM_NECRO_BALL", + "ITEM_NET_BALL", + "ITEM_DIVE_BALL", + "ITEM_NEST_BALL", + "ITEM_REPEAT_BALL", + "ITEM_TIMER_BALL", + "ITEM_LUXURY_BALL", + "ITEM_ORPHEUS_BALL", + + "ITEM_LIGHT_POTION", + "ITEM_ANTIDOTE", + "ITEM_WATER_BOTTLE", + "ITEM_ANTIFREEZE", + "ITEM_AWAKENING", + "ITEM_PARALYZE_HEAL", + "ITEM_FULL_RESTORE", + "ITEM_MAXI_POTION", + "ITEM_HYPER_POTION", + "ITEM_SUPER_POTION", + "ITEM_SNAKE_OIL", + "ITEM_REVIVE", + "ITEM_MAX_REVIVE", + "ITEM_ZOMBIE_LIVER", + "ITEM_SODA_POP", + "ITEM_LEMONADE", + "ITEM_GATEAU", + "ITEM_ENERGY_POWDER", + "ITEM_ENERGY_ROOT", + "ITEM_ACONITE_JUICE", + "ITEM_ZOMBIE_CUKE", + "ITEM_ETHER", + "ITEM_MAX_ETHER", + "ITEM_ELIXIR", + "ITEM_MAX_ELIXIR", + "ITEM_CHIKUWA", + "ITEM_BLUE_FLUTE", + "ITEM_YELLOW_FLUTE", + "ITEM_RED_FLUTE", + "ITEM_BLACK_FLUTE", + "ITEM_WHITE_FLUTE", + "ITEM_CHOC_ORANGE", + "ITEM_TURMURSPORE", + "ITEM_SHOAL_SALT", + "ITEM_SHOAL_SHELL", + "ITEM_HARDDISKSOLO", + "ITEM_BLUE_SHARD", + "ITEM_YELLOW_SHARD", + "ITEM_GREEN_SHARD", + "ITEM_034", + "ITEM_035", + "ITEM_036", + "ITEM_037", + "ITEM_038", + "ITEM_039", + "ITEM_03A", + "ITEM_03B", + "ITEM_03C", + "ITEM_03D", + "ITEM_03E", + "ITEM_WHITE_RABBIT", + "ITEM_RIESEN", + "ITEM_KINDER_EGG", + "ITEM_MAGIC_STARS", + "ITEM_STARMIX", + "ITEM_RAGECANDYBAR", + "ITEM_CARAMAC", + "ITEM_WINE_GUMS", + "ITEM_WAGON_WHEEL", + "ITEM_048", + "ITEM_REDUCT_REDUCE", + "ITEM_CRIT_PLUS", + "ITEM_ATTACK_PLUS", + "ITEM_DEFEND_PLUS", + "ITEM_SPEED_PLUS", + "ITEM_ACCURACY_PLUS", + "ITEM_SPECIAL_PLUS", + "ITEM_POKE_DOLL", + "ITEM_FLUFFY_TAIL", + "ITEM_052", + "ITEM_SUPER_REPEL", + "ITEM_MAX_REPEL", + "ITEM_TELEPORTER", + "ITEM_REPEL", + "ITEM_057", + "ITEM_058", + "ITEM_059", + "ITEM_05A", + "ITEM_05B", + "ITEM_05C", + "ITEM_SUN_STONE", + "ITEM_MOON_STONE", + "ITEM_FIRE_STONE", + "ITEM_THUNDER_STONE", + "ITEM_WATER_STONE", + "ITEM_LEAF_STONE", + "ITEM_063", + "ITEM_064", + "ITEM_065", + "ITEM_066", + "ITEM_COLOGNE", + "ITEM_SPARK_TOKEN", + "ITEM_069", + "ITEM_PEARL", + "ITEM_MUSH_MASK", + "ITEM_STARDUST", + "ITEM_STAR_PIECE", + "ITEM_NUGGET", + "ITEM_BLUE_ROCK", + "ITEM_070", + "ITEM_071", + "ITEM_072", + "ITEM_073", + "ITEM_074", + "ITEM_075", + "ITEM_076", + "ITEM_077", + "ITEM_078", + "ITEM_ORANGE_MAIL", + "ITEM_HARBOR_MAIL", + "ITEM_GLITTER_MAIL", + "ITEM_MECH_MAIL", + "ITEM_WOOD_MAIL", + "ITEM_WAVE_MAIL", + "ITEM_BEAD_MAIL", + "ITEM_SHADOW_MAIL", + "ITEM_TROPIC_MAIL", + "ITEM_DREAM_MAIL", + "ITEM_FAB_MAIL", + "ITEM_RETRO_MAIL", + "ITEM_CHERI_BERRY", + "ITEM_CHESTO_BERRY", + "ITEM_PECHA_BERRY", + "ITEM_RAWST_BERRY", + "ITEM_ASPEAR_BERRY", + "ITEM_LEPPA_BERRY", + "ITEM_ORAN_BERRY", + "ITEM_PERSIM_BERRY", + "ITEM_LUM_BERRY", + "ITEM_SITRUS_BERRY", + "ITEM_FIGY_BERRY", + "ITEM_WIKI_BERRY", + "ITEM_MAGO_BERRY", + "ITEM_AGUAV_BERRY", + "ITEM_IAPAPA_BERRY", + "ITEM_RAZZ_BERRY", + "ITEM_BLUK_BERRY", + "ITEM_NANAB_BERRY", + "ITEM_WEPEAR_BERRY", + "ITEM_PINAP_BERRY", + "ITEM_POMEG_BERRY", + "ITEM_KELPSY_BERRY", + "ITEM_QUALOT_BERRY", + "ITEM_HONDEW_BERRY", + "ITEM_GREPA_BERRY", + "ITEM_TAMATO_BERRY", + "ITEM_CORNN_BERRY", + "ITEM_MAGOST_BERRY", + "ITEM_RABUTA_BERRY", + "ITEM_NOMEL_BERRY", + "ITEM_SPELON_BERRY", + "ITEM_PAMTRE_BERRY", + "ITEM_WATMEL_BERRY", + "ITEM_DURIN_BERRY", + "ITEM_BELUE_BERRY", + "ITEM_LIECHI_BERRY", + "ITEM_GANLON_BERRY", + "ITEM_SALAC_BERRY", + "ITEM_PETAYA_BERRY", + "ITEM_APICOT_BERRY", + "ITEM_LANSAT_BERRY", + "ITEM_STARF_BERRY", + "ITEM_ENIGMA_BERRY", + "ITEM_0B0", + "ITEM_0B1", + "ITEM_0B2", + + "ITEM_YOUYOUYOU", + "ITEM_GLOW_HERB", + "ITEM_DUMBBELLS", + "ITEM_BRAIN_LINK", + "ITEM_DEMON_HORN", + "ITEM_KILIN_HORN", + "ITEM_LOVESLAYER", + "ITEM_POWER_HAT", + "ITEM_SOME_TEETH", + "ITEM_FLASH_SCALES", + "ITEM_GAMBLE_FISH", + "ITEM_DISPELL_TOKEN", + "ITEM_TAIJI_DUST", + "ITEM_DEEP_SEA_TOOTH", + "ITEM_DEEP_SEA_SCALE", + "ITEM_VOODOO_CANDY", + "ITEM_NEVERSTONE", + "ITEM_CHAOS_OF_ODEN", + "ITEM_LOVE_DRAIN", + "ITEM_SNIPE_SCOPE", + "ITEM_EXCALIBUR", + "ITEM_LEFTOVERS", + "ITEM_RED_STEW", + "ITEM_MINER_TM", + "ITEM_VOLCANO_POT", + "ITEM_OLD_BRICK", + "ITEM_WONDERPLUM", + "ITEM_BASS_GUITAR", + "ITEM_SPIKED_GLOVE", + "ITEM_ELECTRICHONEY", + "ITEM_GODS_TEAR", + "ITEM_ANADRIN_TALON", + "ITEM_SNAKE_EYES", + "ITEM_RAINBOWFROST", + "ITEM_CURSED_SKULL", + "ITEM_MEWTWO_BRAIN", + "ITEM_CINNAMON", + "ITEM_TREASURE_BALL", + "ITEM_PLUS_BAND", + "ITEM_MINER_DOLL", + "ITEM_MEATY_BELL", + "ITEM_SOMA", + "ITEM_SAND_CLOAK", + "ITEM_POKEPHONE", + "ITEM_GASEOUS_ZINC", + "ITEM_POKEGEAR", + "ITEM_PACHI_SWORD", + "ITEM_STATS_VIEWER", + "ITEM_0E3", + "ITEM_0E4", + "ITEM_0E5", + "ITEM_0E6", + "ITEM_0E7", + "ITEM_0E8", + "ITEM_0E9", + "ITEM_0EA", + "ITEM_0EB", + "ITEM_0EC", + "ITEM_0ED", + "ITEM_0EE", + "ITEM_0EF", + "ITEM_0F0", + "ITEM_0F1", + "ITEM_0F2", + "ITEM_0F3", + "ITEM_0F4", + "ITEM_0F5", + "ITEM_0F6", + "ITEM_0F7", + "ITEM_0F8", + "ITEM_0F9", + "ITEM_SECRET_KEY", + "ITEM_HIDDEN_KEY", + "ITEM_ARCANE_KEY", + "ITEM_ABSTRUSE_KEY", + "ITEM_RED_SCARF", + "ITEM_BLUE_SCARF", + "ITEM_PINK_SCARF", + "ITEM_GREEN_SCARF", + "ITEM_YELLOW_SCARF", + + "ITEM_YELLOW_VESPA", + "ITEM_COIN_CASE", + "ITEM_ITEMFINDER", + "ITEM_OLD_ROD", + "ITEM_CURSED_ROD", + "ITEM_KINGDRA_ROD", + "ITEM_SS_TICKET", + "ITEM_CATS_EYE", + "ITEM_10B", + "ITEM_WAILMER_PAIL", + "ITEM_SPANNER", + "ITEM_BONE_KEYRING", + "ITEM_BROKEN_HEART", + "ITEM_AIR_TREKS", + "ITEM_POKEBLOCK_CASE", + "ITEM_GYM_TICKETS", + "ITEM_SPATIAL_PASS", + "ITEM_BLUE_FISH", + "ITEM_PINK_INK", + "ITEM_ODD_KEYSTONE", + "ITEM_HAJIKE_BIRD", + "ITEM_RYDRAKE_WING", + "ITEM_SCRATCHKITTEN", + "ITEM_THUNDER_CUB", + "ITEM_SCRUFFY_CHICK", + "ITEM_FLASH_PUPPY", + "ITEM_SPARKLY_PONY", + "ITEM_VISITORS_PASS", + "ITEM_DRAGON_EGG", + "ITEM_ASTRAL_LENS", + + "ITEM_TM01_FOCUS_PUNCH", + "ITEM_TM02_DRAGON_CLAW", + "ITEM_TM03_WATER_PULSE", + "ITEM_TM04_CALM_MIND", + "ITEM_TM05_ROAR", + "ITEM_TM06_TOXIC", + "ITEM_TM07_HAIL", + "ITEM_TM08_BULK_UP", + "ITEM_TM09_GRASSWHISTLE", + "ITEM_TM10_HIDDEN_POWER", + "ITEM_TM11_SUNNY_DAY", + "ITEM_TM12_TAUNT", + "ITEM_TM13_ICE_BEAM", + "ITEM_TM14_BLIZZARD", + "ITEM_TM15_HYPER_BEAM", + "ITEM_TM16_LIGHT_SCREEN", + "ITEM_TM17_PROTECT", + "ITEM_TM18_RAIN_DANCE", + "ITEM_TM19_GIGA_DRAIN", + "ITEM_TM20_SAFEGUARD", + "ITEM_TM21_FRUSTRATION", + "ITEM_TM22_SOLARBEAM", + "ITEM_TM23_IRON_SLAM", + "ITEM_TM24_THUNDERBOLT", + "ITEM_TM25_THUNDER", + "ITEM_TM26_EARTHQUAKE", + "ITEM_TM27_RETURN", + "ITEM_TM28_DIG", + "ITEM_TM29_PSYCHIC", + "ITEM_TM30_SHADOW_BALL", + "ITEM_TM31_ICE_PUNCH", + "ITEM_TM32_DOUBLE_TEAM", + "ITEM_TM33_REFLECT", + "ITEM_TM34_SHOCK_WAVE", + "ITEM_TM35_FIRE_PUMP", + "ITEM_TM36_SLUDGE_BOMB", + "ITEM_TM37_SANDSTORM", + "ITEM_TM38_FIRE_BLAST", + "ITEM_TM39_ROCK_TOMB", + "ITEM_TM40_BEAT_UP", + "ITEM_TM41_TORMENT", + "ITEM_TM42_FACADE", + "ITEM_TM43_SECRET_POWER", + "ITEM_TM44_REST", + "ITEM_TM45_ATTRACT", + "ITEM_TM46_THIEF", + "ITEM_TM47_STEEL_WING", + "ITEM_TM48_SKILL_SWAP", + "ITEM_TM49_SNATCH", + "ITEM_TM50_OVERHEAT", + "ITEM_HM01_CUT", + "ITEM_HM02_FLY", + "ITEM_HM03_SURF", + "ITEM_HM04_STRENGTH", + "ITEM_HM05_FLASH", + "ITEM_HM06_ROCK_SMASH", + "ITEM_HM07_WATERFALL", + "ITEM_HM08_DIVE", + + "ITEM_15B", + "ITEM_15C", +] \ No newline at end of file diff --git a/pyscripts/constants.py b/pyscripts/constants/moves.py similarity index 99% rename from pyscripts/constants.py rename to pyscripts/constants/moves.py index 5e99d99..c4dc9ff 100644 --- a/pyscripts/constants.py +++ b/pyscripts/constants/moves.py @@ -1,4 +1,4 @@ -moves = [ +names = [ "MOVE_NONE", "MOVE_POUND", "MOVE_KARATE_CHOP", diff --git a/pyscripts/constants/pokemon.py b/pyscripts/constants/pokemon.py new file mode 100644 index 0000000..029cc23 --- /dev/null +++ b/pyscripts/constants/pokemon.py @@ -0,0 +1,445 @@ +names = [ + "SPECIES_NONE", + "SPECIES_BOILBASAUR", + "SPECIES_SHRIVLSAUR", + "SPECIES_VIVOSAUR", + "SPECIES_ROTMANDER", + "SPECIES_CHARMEWORM", + "SPECIES_DRAGON", + "SPECIES_OOZLE", + "SPECIES_ENTRAILTLE", + "SPECIES_BLEEDOISE", + "SPECIES_SHINIGAMI", + "SPECIES_STITCHER", + "SPECIES_ANTISPIRAL", + "SPECIES_GLUTE", + "SPECIES_BUTE", + "SPECIES_NUTE", + "SPECIES_FANGASU", + "SPECIES_NIGERA", + "SPECIES_GOOSUBOA", + "SPECIES_RAMSHAKER", + "SPECIES_RATICATE", + "SPECIES_SPEAROW", + "SPECIES_FEAROW", + "SPECIES_SEVICIOUS", + "SPECIES_ZANGOL", + "SPECIES_PIKACHU", + "SPECIES_RAICHU", + "SPECIES_SANDSHREW", + "SPECIES_SANDSLASH", + "SPECIES_NIDORAN_F", + "SPECIES_NIDORINA", + "SPECIES_NIDOQUEEN", + "SPECIES_NIDORAN_M", + "SPECIES_NIDORINO", + "SPECIES_NIDOKING", + "SPECIES_CLEFAIRY", + "SPECIES_CLEFABLE", + "SPECIES_VULPIX", + "SPECIES_NINETALES", + "SPECIES_JIGGLYPUFF", + "SPECIES_WIGGLYTUFF", + "SPECIES_ZUBAT", + "SPECIES_GOLBAT", + "SPECIES_ODDISH", + "SPECIES_GLOOM", + "SPECIES_VILEPLUME", + "SPECIES_PARAS", + "SPECIES_PARASECT", + "SPECIES_VENONAT", + "SPECIES_A_MONSTER", + "SPECIES_GIGAWOLF", + "SPECIES_GALACTIMON", + "SPECIES_MEOWTH", + "SPECIES_PERSIAN", + "SPECIES_PSYDUCK", + "SPECIES_GOLDUCK", + "SPECIES_MANKEY", + "SPECIES_PRIMEAPE", + "SPECIES_GROWLITHE", + "SPECIES_ARCANINE", + "SPECIES_POLIHAG", + "SPECIES_POLIWORM", + "SPECIES_POLIWRAITH", + "SPECIES_ABRA", + "SPECIES_KADABRA", + "SPECIES_ALAKAZAM", + "SPECIES_MACHOP", + "SPECIES_MACHOKE", + "SPECIES_MACHAMP", + "SPECIES_KURIPUTO", + "SPECIES_ROODANSE", + "SPECIES_OOSHE", + "SPECIES_QWILFISH", + "SPECIES_QWILSHARK", + "SPECIES_GEODUDE", + "SPECIES_GRAVELER", + "SPECIES_GOLEM", + "SPECIES_PONYTA", + "SPECIES_RAPIDASH", + "SPECIES_SLOWPOKE", + "SPECIES_SLOWBRO", + "SPECIES_MAGNEMITE", + "SPECIES_MAGNETON", + "SPECIES_DRAGOONE", + "SPECIES_DODUO", + "SPECIES_DODRIO", + "SPECIES_SEEL", + "SPECIES_DEWGONG", + "SPECIES_MOULDER", + "SPECIES_YUCK", + "SPECIES_SHELLDER", + "SPECIES_CLOYSTER", + "SPECIES_GASTLY", + "SPECIES_HAUNTER", + "SPECIES_GENGAR", + "SPECIES_ONIX", + "SPECIES_DROWZEE", + "SPECIES_HYPNO", + "SPECIES_KRABBY", + "SPECIES_KINGLER", + "SPECIES_VOLTORB", + "SPECIES_ELECTRODE", + "SPECIES_EXEGGCUTE", + "SPECIES_EXEGGUTOR", + "SPECIES_CUBONE", + "SPECIES_MAROWAK", + "SPECIES_HITMONLEE", + "SPECIES_HITMONCHAN", + "SPECIES_LICKITUNG", + "SPECIES_KOFFING", + "SPECIES_WEEZING", + "SPECIES_RHYHORN", + "SPECIES_RHYDON", + "SPECIES_CHANSEY", + "SPECIES_TANGELA", + "SPECIES_ROCLOBSTER", + "SPECIES_HORSEA", + "SPECIES_SEADRA", + "SPECIES_GOLDEEN", + "SPECIES_SEAKING", + "SPECIES_STARYU", + "SPECIES_STARMIE", + "SPECIES_VIGOURLAN", + "SPECIES_GRIMREAPER", + "SPECIES_EYE_EYE", + "SPECIES_ELECTABUGS", + "SPECIES_MIASMAR", + "SPECIES_PINSIR", + "SPECIES_TAUROS", + "SPECIES_MAGIKARP", + "SPECIES_GYARADOS", + "SPECIES_LAPRAS", + "SPECIES_DITTO", + "SPECIES_EEVEE", + "SPECIES_VAPOREON", + "SPECIES_JOLTEON", + "SPECIES_FLAREON", + "SPECIES_PORYGON", + "SPECIES_OMANYTE", + "SPECIES_OMASTAR", + "SPECIES_KABUTO", + "SPECIES_KABUTOPS", + "SPECIES_AERODACTYL", + "SPECIES_GORELAX", + "SPECIES_ARTICUNO", + "SPECIES_ZAPDOS", + "SPECIES_MOLTRES", + "SPECIES_DRATINI", + "SPECIES_DRAGONAIR", + "SPECIES_DRAGONITE", + "SPECIES_MUTAGON", + "SPECIES_MEWBY", + "SPECIES_CHIKORITA", + "SPECIES_BAYLEEF", + "SPECIES_MEGANIUM", + "SPECIES_CYNDAQUIL", + "SPECIES_QUILAVA", + "SPECIES_TYPHLOSION", + "SPECIES_TOTODILE", + "SPECIES_CROCONAW", + "SPECIES_FERALIGATR", + "SPECIES_BLITZLE", + "SPECIES_ZEBSTRIKA", + "SPECIES_HOOTHOOT", + "SPECIES_NOCTOWL", + "SPECIES_LEDYBA", + "SPECIES_LEDIAN", + "SPECIES_SPINARAK", + "SPECIES_ARIADOS", + "SPECIES_CROBAT", + "SPECIES_CHINCHOU", + "SPECIES_LANTURN", + "SPECIES_PICHU", + "SPECIES_CLEFFA", + "SPECIES_IGGLYBUFF", + "SPECIES_KAMINA", + "SPECIES_TOGETIC", + "SPECIES_NATU", + "SPECIES_XATU", + "SPECIES_MAREEP", + "SPECIES_FLAAFFY", + "SPECIES_AMPHAROS", + "SPECIES_BELLOSSOM", + "SPECIES_GRAVEILL", + "SPECIES_AZOMBARILL", + "SPECIES_GLUEMADIO", + "SPECIES_ZOMBIFIED", + "SPECIES_EARTHMADIO", + "SPECIES_BONEMADIO", + "SPECIES_CRAZYMADIO", + "SPECIES_SEAMADIO", + "SPECIES_BURSTMADIO", + "SPECIES_BLASTMADIO", + "SPECIES_TREEMADIO", + "SPECIES_WOOPER", + "SPECIES_QUAGSIRE", + "SPECIES_TOXEON", + "SPECIES_DEMONEON", + "SPECIES_DIRTKROW", + "SPECIES_SLOWKING", + "SPECIES_MISDREAVUS", + "SPECIES_UNOWN", + "SPECIES_WOBBUFFET", + "SPECIES_AEROMADIO", + "SPECIES_PINECO", + "SPECIES_FORRETRESS", + "SPECIES_DIAMANDIX", + "SPECIES_NORMADIO", + "SPECIES_STEELIX", + "SPECIES_CINDERCO", + "SPECIES_RADIORANGE", + "SPECIES_TELSON", + "SPECIES_IRONREAPER", + "SPECIES_SHUCKLE", + "SPECIES_HERACROSS", + "SPECIES_MAW", + "SPECIES_BASCULIN", + "SPECIES_CHOCWORK", + "SPECIES_SLUGMA", + "SPECIES_MAGCARGO", + "SPECIES_SWINUB", + "SPECIES_PILOSWINE", + "SPECIES_CORSOLA", + "SPECIES_REMORAID", + "SPECIES_OCTILLERY", + "SPECIES_MYSTERYEGG", + "SPECIES_MANTINE", + "SPECIES_SKARMORY", + "SPECIES_HOUNDSOUR", + "SPECIES_HEADDOOM", + "SPECIES_KINGDRA", + "SPECIES_PHANPY", + "SPECIES_DONPHAN", + "SPECIES_EXCADRILL", + "SPECIES_STANTLER", + "SPECIES_SMEARGLE", + "SPECIES_TYROGUE", + "SPECIES_HITMONTOP", + "SPECIES_SMOOCHUM", + "SPECIES_ELEKID", + "SPECIES_MAGBY", + "SPECIES_MILTANK", + "SPECIES_BLISSEY", + "SPECIES_RAIKOU", + "SPECIES_ENTEI", + "SPECIES_SUICUNE", + "SPECIES_LARVITAR", + "SPECIES_PUPITAR", + "SPECIES_TYRANITAR", + "SPECIES_SCAR_LUGIA", + "SPECIES_HO_OH", + "SPECIES_CELEBI", + + "SPECIES_OLD_UNOWN_B", + "SPECIES_OLD_UNOWN_C", + "SPECIES_OLD_UNOWN_D", + "SPECIES_OLD_UNOWN_E", + "SPECIES_OLD_UNOWN_F", + "SPECIES_OLD_UNOWN_G", + "SPECIES_OLD_UNOWN_H", + "SPECIES_OLD_UNOWN_I", + "SPECIES_OLD_UNOWN_J", + "SPECIES_OLD_UNOWN_K", + "SPECIES_OLD_UNOWN_L", + "SPECIES_OLD_UNOWN_M", + "SPECIES_OLD_UNOWN_N", + "SPECIES_OLD_UNOWN_O", + "SPECIES_OLD_UNOWN_P", + "SPECIES_OLD_UNOWN_Q", + "SPECIES_OLD_UNOWN_R", + "SPECIES_OLD_UNOWN_S", + "SPECIES_OLD_UNOWN_T", + "SPECIES_OLD_UNOWN_U", + "SPECIES_OLD_UNOWN_V", + "SPECIES_OLD_UNOWN_W", + "SPECIES_OLD_UNOWN_X", + "SPECIES_OLD_UNOWN_Y", + "SPECIES_OLD_UNOWN_Z", + + "SPECIES_TREECKO", + "SPECIES_GROVYLE", + "SPECIES_SCEPTILE", + "SPECIES_TORCHIC", + "SPECIES_COMBUSKEN", + "SPECIES_BLAZIKEN", + "SPECIES_MUDKIP", + "SPECIES_MARSHTOMP", + "SPECIES_SWAMPERT", + "SPECIES_POOCHYENA", + "SPECIES_MIGHTYENA", + "SPECIES_ZIGZAGOON", + "SPECIES_LINOONE", + "SPECIES_WURMPLE", + "SPECIES_SILCOON", + "SPECIES_BEAUTIFLY", + "SPECIES_CASCOON", + "SPECIES_DUSTOX", + "SPECIES_MUNCHLAX", + "SPECIES_SNORLAX", + "SPECIES_SKYLAX", + "SPECIES_SEEDOT", + "SPECIES_NUZLEAF", + "SPECIES_SHIFTRY", + "SPECIES_HYPEREGG", + "SPECIES_SECRETEGG", + "SPECIES_KAJILIANTH", + "SPECIES_TAILLOW", + "SPECIES_SWELLOW", + "SPECIES_SHROOMISH", + "SPECIES_BRELOOM", + "SPECIES_SPINDA", + "SPECIES_WINGULL", + "SPECIES_PELIPPER", + "SPECIES_SURSKIT", + "SPECIES_MASQUERAIN", + "SPECIES_WAILMER", + "SPECIES_WAILORD", + "SPECIES_SKITTY", + "SPECIES_DELCATTY", + "SPECIES_KECLEON", + "SPECIES_BALTOY", + "SPECIES_CLAYDOL", + "SPECIES_NOSEPASS", + "SPECIES_TORKOAL", + "SPECIES_SABLEYE", + "SPECIES_BARBOACH", + "SPECIES_WHISCASH", + "SPECIES_LUVDISC", + "SPECIES_CORPHISH", + "SPECIES_CRAWDAUNT", + "SPECIES_FEEBAS", + "SPECIES_MILOTIC", + "SPECIES_CARVANHA", + "SPECIES_SHARPEDO", + "SPECIES_TRAPINCH", + "SPECIES_VIBRAVA", + "SPECIES_FLYGON", + "SPECIES_MAKUHITA", + "SPECIES_HARIYAMA", + "SPECIES_SHINX", + "SPECIES_LUXIO", + "SPECIES_HOMBONE", + "SPECIES_HOMBEAST", + "SPECIES_SPHEAL", + "SPECIES_SEALEO", + "SPECIES_WALREIN", + "SPECIES_KENCHIRA", + "SPECIES_KENCHUKUO", + "SPECIES_SNORUNT", + "SPECIES_GLALIE", + "SPECIES_LUNATONE", + "SPECIES_SOLROCK", + "SPECIES_X43874", + "SPECIES_SPOINK", + "SPECIES_GRUMPIG", + "SPECIES_LUXRAY", + "SPECIES_WEAVILE", + "SPECIES_SNEASEL", + "SPECIES_MEDITITE", + "SPECIES_MEDICHAM", + "SPECIES_SWABLU", + "SPECIES_ALTARIA", + "SPECIES_WYNAUT", + "SPECIES_DUSKULL", + "SPECIES_DUSCLOPS", + "SPECIES_ROSELIA", + "SPECIES_SLAKOTH", + "SPECIES_VIGOROTH", + "SPECIES_SLAKING", + "SPECIES_BOUFFALANT", + "SPECIES_KINGMADIO", + "SPECIES_TROPIUS", + "SPECIES_WHISMUR", + "SPECIES_LOUDRED", + "SPECIES_EXPLOUD", + "SPECIES_WEEDLE", + "SPECIES_KAKUNA", + "SPECIES_BEEDRILL", + "SPECIES_ABSOL", + "SPECIES_SHUPPET", + "SPECIES_BANETTE", + "SPECIES_SEVIPER", + "SPECIES_ZANGOOSE", + "SPECIES_RELICANTH", + "SPECIES_ARON", + "SPECIES_LAIRON", + "SPECIES_AGGRON", + "SPECIES_CASTFORM", + "SPECIES_VOLBEAT", + "SPECIES_ILLUMISE", + "SPECIES_LILEEP", + "SPECIES_CRADILY", + "SPECIES_ANORITH", + "SPECIES_ARMALDO", + "SPECIES_RALTS", + "SPECIES_KIRLIA", + "SPECIES_GARDEVOIR", + "SPECIES_PSYPIG", + "SPECIES_SPIRITOMB", + "SPECIES_CALFBY", + "SPECIES_BELDUM", + "SPECIES_METANG", + "SPECIES_METAGROSS", + "SPECIES_FURI_X", + "SPECIES_FURI_Z", + "SPECIES_FURI_Q", + "SPECIES_TURMUR", + "SPECIES_EMOLGA", + "SPECIES_SENEX", + "SPECIES_LUCA_ZAMON", + "SPECIES_TEA_BARQAN", + "SPECIES_SHADERU", + "SPECIES_FACELEECH", + "SPECIES_TOXICROAK", + "SPECIES_EGG", + + "SPECIES_UNOWN_B", + "SPECIES_UNOWN_C", + "SPECIES_UNOWN_D", + "SPECIES_UNOWN_E", + "SPECIES_UNOWN_F", + "SPECIES_UNOWN_G", + "SPECIES_UNOWN_H", + "SPECIES_UNOWN_I", + "SPECIES_UNOWN_J", + "SPECIES_UNOWN_K", + "SPECIES_UNOWN_L", + "SPECIES_UNOWN_M", + "SPECIES_UNOWN_N", + "SPECIES_UNOWN_O", + "SPECIES_UNOWN_P", + "SPECIES_UNOWN_Q", + "SPECIES_UNOWN_R", + "SPECIES_UNOWN_S", + "SPECIES_UNOWN_T", + "SPECIES_UNOWN_U", + "SPECIES_UNOWN_V", + "SPECIES_UNOWN_W", + "SPECIES_UNOWN_X", + "SPECIES_UNOWN_Y", + "SPECIES_UNOWN_Z", + "SPECIES_UNOWN_EMARK", + "SPECIES_UNOWN_QMARK", +] \ No newline at end of file diff --git a/pyscripts/constants/trainers.py b/pyscripts/constants/trainers.py new file mode 100644 index 0000000..9a66b8b --- /dev/null +++ b/pyscripts/constants/trainers.py @@ -0,0 +1,169 @@ +party_flags = [ + "0" + "F_TRAINER_PARTY_CUSTOM_MOVESET", + "F_TRAINER_PARTY_HELD_ITEM" +] + +encounter_music = [ + "TRAINER_ENCOUNTER_MUSIC_MALE", + "TRAINER_ENCOUNTER_MUSIC_FEMALE", + "TRAINER_ENCOUNTER_MUSIC_GIRL", + "TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS", + "TRAINER_ENCOUNTER_MUSIC_INTENSE", + "TRAINER_ENCOUNTER_MUSIC_COOL", + "TRAINER_ENCOUNTER_MUSIC_AQUA", + "TRAINER_ENCOUNTER_MUSIC_MAGMA", + "TRAINER_ENCOUNTER_MUSIC_SWIMMER", + "TRAINER_ENCOUNTER_MUSIC_TWINS", + "TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR", + "TRAINER_ENCOUNTER_MUSIC_HIKER", + "TRAINER_ENCOUNTER_MUSIC_INTERVIEWER", + "TRAINER_ENCOUNTER_MUSIC_RICH", +] + +trainer_pics = [ + "TRAINER_PIC_BRENDAN", + "TRAINER_PIC_MAY", + "TRAINER_PIC_LASS", + "TRAINER_PIC_YOUNGSTER", + "TRAINER_PIC_HIKER", + "TRAINER_PIC_BEAUTY", + "TRAINER_PIC_FISHERMAN", + "TRAINER_PIC_LADY", + "TRAINER_PIC_CYCLING_TRIATHLETE_M", + "TRAINER_PIC_AQUA_GRUNT_M", + "TRAINER_PIC_TWINS", + "TRAINER_PIC_SWIMMER_F", + "TRAINER_PIC_BUG_CATCHER", + "TRAINER_PIC_SCHOOL_KID_M", + "TRAINER_PIC_RICH_BOY", + "TRAINER_PIC_SR_AND_JR", + "TRAINER_PIC_BLACK_BELT", + "TRAINER_PIC_WALLY", + "TRAINER_PIC_AQUA_GRUNT_F", + "TRAINER_PIC_TUBER_F", + "TRAINER_PIC_HEX_MANIAC", + "TRAINER_PIC_POKEMON_BREEDER_F", + "TRAINER_PIC_MAGMA_GRUNT_M", + "TRAINER_PIC_MAGMA_GRUNT_F", + "TRAINER_PIC_INTERVIEWER", + "TRAINER_PIC_TUBER_M", + "TRAINER_PIC_YOUNG_COUPLE", + "TRAINER_PIC_GUITARIST", + "TRAINER_PIC_GENTLEMAN", + "TRAINER_PIC_STEVEN", + "TRAINER_PIC_MAXIE", + "TRAINER_PIC_RUNNING_TRIATHLETE_F", + "TRAINER_PIC_RUNNING_TRIATHLETE_M", + "TRAINER_PIC_BATTLE_GIRL", + "TRAINER_PIC_CYCLING_TRIATHLETE_F", + "TRAINER_PIC_SWIMMER_M", + "TRAINER_PIC_POKEFAN_F", + "TRAINER_PIC_EXPERT_M", + "TRAINER_PIC_EXPERT_F", + "TRAINER_PIC_SWIMMING_TRIATHLETE_M", + "TRAINER_PIC_SWIMMING_TRIATHLETE_F", + "TRAINER_PIC_DRAGON_TAMER", + "TRAINER_PIC_BIRD_KEEPER", + "TRAINER_PIC_NINJA_BOY", + "TRAINER_PIC_PARASOL_LADY", + "TRAINER_PIC_BUG_MANIAC", + "TRAINER_PIC_SAILOR", + "TRAINER_PIC_COLLECTOR", + "TRAINER_PIC_POKEMON_BREEDER_M", + "TRAINER_PIC_POKEMON_RANGER_M", + "TRAINER_PIC_POKEMON_RANGER_F", + "TRAINER_PIC_MAGMA_ADMIN_M", + "TRAINER_PIC_MAGMA_ADMIN_F", + "TRAINER_PIC_AROMA_LADY", + "TRAINER_PIC_RUIN_MANIAC", + "TRAINER_PIC_COOL_TRAINER_M", + "TRAINER_PIC_COOL_TRAINER_F", + "TRAINER_PIC_POKEMANIAC", + "TRAINER_PIC_KINDLER", + "TRAINER_PIC_CAMPER", + "TRAINER_PIC_PICNICKER", + "TRAINER_PIC_PSYCHIC_M", + "TRAINER_PIC_PSYCHIC_F", + "TRAINER_PIC_SCHOOL_KID_F", + "TRAINER_PIC_POKEFAN_M", + "TRAINER_PIC_SIS_AND_BRO", + "TRAINER_PIC_OLD_COUPLE", + "TRAINER_PIC_AQUA_ADMIN_M", + "TRAINER_PIC_AQUA_ADMIN_F", + "TRAINER_PIC_UNUSED_AQUA", + "TRAINER_PIC_ARCHIE", + "TRAINER_PIC_ROXANNE", + "TRAINER_PIC_BRAWLY", + "TRAINER_PIC_WATTSON", + "TRAINER_PIC_FLANNERY", + "TRAINER_PIC_NORMAN", + "TRAINER_PIC_WINONA", + "TRAINER_PIC_TATE_AND_LIZA", + "TRAINER_PIC_WALLACE", + "TRAINER_PIC_SIDNEY", + "TRAINER_PIC_PHOEBE", + "TRAINER_PIC_GLACIA", + "TRAINER_PIC_DRAKE", +] + +trainer_classes = [ + "TRAINER_CLASS_POKEMON_TRAINER_1", + "TRAINER_CLASS_POKEMON_TRAINER_2", + "TRAINER_CLASS_AQUA_LEADER", + "TRAINER_CLASS_TEAM_AQUA", + "TRAINER_CLASS_AQUA_ADMIN", + "TRAINER_CLASS_AROMA_LADY", + "TRAINER_CLASS_RUIN_MANIAC", + "TRAINER_CLASS_INTERVIEWER", + "TRAINER_CLASS_TUBER_F", + "TRAINER_CLASS_TUBER_M", + "TRAINER_CLASS_COOL_TRAINER", + "TRAINER_CLASS_HEX_MANIAC", + "TRAINER_CLASS_LADY", + "TRAINER_CLASS_BEAUTY", + "TRAINER_CLASS_RICH_BOY", + "TRAINER_CLASS_POKEMANIAC", + "TRAINER_CLASS_SWIMMER_M", + "TRAINER_CLASS_BLACK_BELT", + "TRAINER_CLASS_GUITARIST", + "TRAINER_CLASS_KINDLER", + "TRAINER_CLASS_CAMPER", + "TRAINER_CLASS_BUG_MANIAC", + "TRAINER_CLASS_PSYCHIC", + "TRAINER_CLASS_GENTLEMAN", + "TRAINER_CLASS_ELITE_FOUR", + "TRAINER_CLASS_LEADER", + "TRAINER_CLASS_SCHOOL_KID", + "TRAINER_CLASS_SR_AND_JR", + "TRAINER_CLASS_WINSTRATE", + "TRAINER_CLASS_POKEFAN", + "TRAINER_CLASS_EXPERT", + "TRAINER_CLASS_YOUNGSTER", + "TRAINER_CLASS_CHAMPION", + "TRAINER_CLASS_FISHERMAN", + "TRAINER_CLASS_TRIATHLETE", + "TRAINER_CLASS_DRAGON_TAMER", + "TRAINER_CLASS_BIRD_KEEPER", + "TRAINER_CLASS_NINJA_BOY", + "TRAINER_CLASS_BATTLE_GIRL", + "TRAINER_CLASS_PARASOL_LADY", + "TRAINER_CLASS_SWIMMER_F", + "TRAINER_CLASS_PICNICKER", + "TRAINER_CLASS_TWINS", + "TRAINER_CLASS_SAILOR", + "TRAINER_CLASS_BOARDER", + "TRAINER_CLASS_COLLECTOR", + "TRAINER_CLASS_POKEMON_TRAINER_3", + "TRAINER_CLASS_POKEMON_BREEDER", + "TRAINER_CLASS_POKEMON_RANGER", + "TRAINER_CLASS_MAGMA_LEADER", + "TRAINER_CLASS_TEAM_MAGMA", + "TRAINER_CLASS_MAGMA_ADMIN", + "TRAINER_CLASS_LASS", + "TRAINER_CLASS_BUG_CATCHER", + "TRAINER_CLASS_HIKER", + "TRAINER_CLASS_YOUNG_COUPLE", + "TRAINER_CLASS_OLD_COUPLE", + "TRAINER_CLASS_SIS_AND_BRO", +] \ No newline at end of file diff --git a/pyscripts/extract_move_data.py b/pyscripts/extract_move_data.py index c725586..f7dc8d2 100644 --- a/pyscripts/extract_move_data.py +++ b/pyscripts/extract_move_data.py @@ -1,11 +1,7 @@ -from constants import targets, moves, types, effects, flags +from constants.moves import targets, names, types, effects, flags +from helpers import fast_log from struct import unpack -def fast_log(x): - result = 0 - while x := (x >> 1): pass - return result - def iter_movedesc_ptrs(rom): for i in range(355): yield unpack(" 1: + return f"{name_format(name).upper()}_{i}" + return f"{name_format(name).upper()}" + +def name_to_varname(name, i): + if previous_names[name] > 1: + return f"gTrainerParty_{name_format(name)}{i}" + return f"gTrainerParty_{name_format(name)}" + +struct_names = [ + "TrainerMonNoItemDefaultMoves", + "TrainerMonNoItemCustomMoves", + "TrainerMonItemDefaultMoves", + "TrainerMonItemCustomMoves" +] + +if __name__ == "__main__": + party_data = [] + + cm = Charmap() + cm.parseCharmap("charmap.txt") + + rom = open("snakewood.gba", "rb") + rom.seek(0x1f04fc) + + trainer_data_file = open('trainer_data.txt', 'w') + trainer_repoints_file = open('trainer_repoints.txt', 'w') + trainer_defines_file = open('trainer_defines.txt', 'w') + + for _ in range(694): + raw_data = rom.read(40) + pflag, tclass, encountermusic, tpic = unpack(r'> 1): pass + return result diff --git a/pyscripts/retrieve_repoints.py b/pyscripts/retrieve_repoints.py index 735c883..0c35678 100644 --- a/pyscripts/retrieve_repoints.py +++ b/pyscripts/retrieve_repoints.py @@ -14,10 +14,11 @@ def convert_to_pointer(b): return int.from_bytes(b, "little") if __name__ == "__main__": - add_offset_to_check("gBattleMoves", 0x81fb12c, 12) - add_offset_to_check("gMoveNames", 0x81f8320) - add_offset_to_check("gBattleAnims_Moves", 0x81c7168) - add_offset_to_check("gMoveDescriptions", 0x83c09d8) + # add_offset_to_check("gBattleMoves", 0x81fb12c, 12) + # add_offset_to_check("gMoveNames", 0x81f8320) + # add_offset_to_check("gBattleAnims_Moves", 0x81c7168) + # add_offset_to_check("gMoveDescriptions", 0x83c09d8) + add_offset_to_check("gTrainers", 0x81f04fc, 40) rom = open("snakewood.gba", "rb") rom.seek(192) diff --git a/scripts/trainers.asm b/scripts/trainers.asm new file mode 100644 index 0000000..e46e3cd --- /dev/null +++ b/scripts/trainers.asm @@ -0,0 +1,697 @@ +.if TRAINER_CHANGES + +.org 0x81f0548 :: .word gTrainerParty_Rolv1 +.org 0x81f0570 :: .word gTrainerParty_Theresa +.org 0x81f0598 :: .word gTrainerParty_Miguel1 +.org 0x81f05c0 :: .word gTrainerParty_Franklin +.org 0x81f05e8 :: .word gTrainerParty_Marvin +.org 0x81f0610 :: .word gTrainerParty_Tomas +.org 0x81f0638 :: .word gTrainerParty_Vitruvio +.org 0x81f0660 :: .word gTrainerParty_Beldum +.org 0x81f0688 :: .word gTrainerParty_Meteor1 +.org 0x81f06b0 :: .word gTrainerParty_Tomu +.org 0x81f06d8 :: .word gTrainerParty_Shirasagi +.org 0x81f0700 :: .word gTrainerParty_Naota +.org 0x81f0728 :: .word gTrainerParty_Paolo +.org 0x81f0750 :: .word gTrainerParty_Niizuma +.org 0x81f0778 :: .word gTrainerParty_Wattson1 +.org 0x81f07a0 :: .word gTrainerParty_Wattson2 +.org 0x81f07c8 :: .word gTrainerParty_Footman1 +.org 0x81f07f0 :: .word gTrainerParty_Akatsuki +.org 0x81f0818 :: .word gTrainerParty_Mikov1 +.org 0x81f0840 :: .word gTrainerParty_Bobov1 +.org 0x81f0868 :: .word gTrainerParty_Gunkov1 +.org 0x81f0890 :: .word gTrainerParty_Karkov1 +.org 0x81f08b8 :: .word gTrainerParty_Robotnov1 +.org 0x81f08e0 :: .word gTrainerParty_Rolv2 +.org 0x81f0908 :: .word gTrainerParty_Sputnov1 +.org 0x81f0930 :: .word gTrainerParty_Vladov1 +.org 0x81f0958 :: .word gTrainerParty_Adolv1 +.org 0x81f0980 :: .word gTrainerParty_Asimov1 +.org 0x81f09a8 :: .word gTrainerParty_Liam +.org 0x81f09d0 :: .word gTrainerParty_Lizzie +.org 0x81f09f8 :: .word gTrainerParty_Mikov2 +.org 0x81f0a20 :: .word gTrainerParty_Bobov2 +.org 0x81f0a48 :: .word gTrainerParty_Gunkov2 +.org 0x81f0a70 :: .word gTrainerParty_Karkov2 +.org 0x81f0a98 :: .word gTrainerParty_Robotnov2 +.org 0x81f0ac0 :: .word gTrainerParty_Ed +.org 0x81f0ae8 :: .word gTrainerParty_Tesrael +.org 0x81f0b10 :: .word gTrainerParty_Lily +.org 0x81f0b38 :: .word gTrainerParty_Ran_Mao +.org 0x81f0b60 :: .word gTrainerParty_Sputnov2 +.org 0x81f0b88 :: .word gTrainerParty_Vladov2 +.org 0x81f0bb0 :: .word gTrainerParty_Adolv2 +.org 0x81f0bd8 :: .word gTrainerParty_Asimov2 +.org 0x81f0c00 :: .word gTrainerParty_Crankshaft +.org 0x81f0c28 :: .word gTrainerParty_Zappizor +.org 0x81f0c50 :: .word gTrainerParty_Arturo +.org 0x81f0c78 :: .word gTrainerParty_DoubleAct1 +.org 0x81f0ca0 :: .word gTrainerParty_Gaoler1 +.org 0x81f0cc8 :: .word gTrainerParty_Gaoler2 +.org 0x81f0cf0 :: .word gTrainerParty_Malfeasance +.org 0x81f0d18 :: .word gTrainerParty_TinaAndBruce1 +.org 0x81f0d40 :: .word gTrainerParty_TinaAndBruce2 +.org 0x81f0d68 :: .word gTrainerParty_TinaAndBruce3 +.org 0x81f0d90 :: .word gTrainerParty_TinaAndBruce4 +.org 0x81f0db8 :: .word gTrainerParty_TinaAndBruce5 +.org 0x81f0de0 :: .word gTrainerParty_TinaAndBruce6 +.org 0x81f0e08 :: .word gTrainerParty_Dublique +.org 0x81f0e30 :: .word gTrainerParty_Mike +.org 0x81f0e58 :: .word gTrainerParty_Gwen +.org 0x81f0e80 :: .word gTrainerParty_Carmen +.org 0x81f0ea8 :: .word gTrainerParty_GenGui +.org 0x81f0ed0 :: .word gTrainerParty_Ricky1 +.org 0x81f0ef8 :: .word gTrainerParty_Lola +.org 0x81f0f20 :: .word gTrainerParty_Buccha +.org 0x81f0f48 :: .word gTrainerParty_Simon +.org 0x81f0f70 :: .word gTrainerParty_Macguffin +.org 0x81f0f98 :: .word gTrainerParty_Ricky2 +.org 0x81f0fc0 :: .word gTrainerParty_Lolidragon +.org 0x81f0fe8 :: .word gTrainerParty_LiriaChen +.org 0x81f1010 :: .word gTrainerParty_Mcdougal +.org 0x81f1038 :: .word gTrainerParty_Randall +.org 0x81f1060 :: .word gTrainerParty_Parker +.org 0x81f1088 :: .word gTrainerParty_George +.org 0x81f10b0 :: .word gTrainerParty_Berke +.org 0x81f10d8 :: .word gTrainerParty_Majide +.org 0x81f1100 :: .word gTrainerParty_Vincent +.org 0x81f1128 :: .word gTrainerParty_Leroy +.org 0x81f1150 :: .word gTrainerParty_Ichi +.org 0x81f1178 :: .word gTrainerParty_MangoMan +.org 0x81f11a0 :: .word gTrainerParty_Alberto +.org 0x81f11c8 :: .word gTrainerParty_Enigma +.org 0x81f11f0 :: .word gTrainerParty_Corleone +.org 0x81f1218 :: .word gTrainerParty_Castano +.org 0x81f1240 :: .word gTrainerParty_FiveNinja1 +.org 0x81f1268 :: .word gTrainerParty_Inigo +.org 0x81f1290 :: .word gTrainerParty_Manfred1 +.org 0x81f12b8 :: .word gTrainerParty_Wilton +.org 0x81f12e0 :: .word gTrainerParty_GimletEye +.org 0x81f1308 :: .word gTrainerParty_Mary +.org 0x81f1330 :: .word gTrainerParty_Lori +.org 0x81f1358 :: .word gTrainerParty_Jody +.org 0x81f1380 :: .word gTrainerParty_Mei_Rin +.org 0x81f13a8 :: .word gTrainerParty_Elaine +.org 0x81f13d0 :: .word gTrainerParty_Jemima +.org 0x81f13f8 :: .word gTrainerParty_BlairWitch +.org 0x81f1420 :: .word gTrainerParty_Bethany +.org 0x81f1448 :: .word gTrainerParty_Fishgirl1 +.org 0x81f1470 :: .word gTrainerParty_Susan +.org 0x81f1498 :: .word gTrainerParty_FiveNinja2 +.org 0x81f14c0 :: .word gTrainerParty_Julianne +.org 0x81f14e8 :: .word gTrainerParty_Brooke +.org 0x81f1510 :: .word gTrainerParty_Whitney +.org 0x81f1538 :: .word gTrainerParty_Marlene +.org 0x81f1560 :: .word gTrainerParty_Mikov3 +.org 0x81f1588 :: .word gTrainerParty_Patricia +.org 0x81f15b0 :: .word gTrainerParty_Rubric +.org 0x81f15d8 :: .word gTrainerParty_Tchaikovsky +.org 0x81f1600 :: .word gTrainerParty_Tabby +.org 0x81f1628 :: .word gTrainerParty_BillStokey +.org 0x81f1650 :: .word gTrainerParty_Valerie +.org 0x81f1678 :: .word gTrainerParty_Bobov3 +.org 0x81f16a0 :: .word gTrainerParty_Gunkov3 +.org 0x81f16c8 :: .word gTrainerParty_Karkov3 +.org 0x81f16f0 :: .word gTrainerParty_Tilly +.org 0x81f1718 :: .word gTrainerParty_Dani +.org 0x81f1740 :: .word gTrainerParty_Brianna +.org 0x81f1768 :: .word gTrainerParty_Cindy +.org 0x81f1790 :: .word gTrainerParty_Robotnov3 +.org 0x81f17b8 :: .word gTrainerParty_Anette +.org 0x81f17e0 :: .word gTrainerParty_Rolv3 +.org 0x81f1808 :: .word gTrainerParty_Sputnov3 +.org 0x81f1830 :: .word gTrainerParty_Vladov3 +.org 0x81f1858 :: .word gTrainerParty_Adolv3 +.org 0x81f1880 :: .word gTrainerParty_WeiShi +.org 0x81f18a8 :: .word gTrainerParty_ChaoYun +.org 0x81f18d0 :: .word gTrainerParty_ShuYi +.org 0x81f18f8 :: .word gTrainerParty_Hiro +.org 0x81f1920 :: .word gTrainerParty_Connie +.org 0x81f1948 :: .word gTrainerParty_Bridget +.org 0x81f1970 :: .word gTrainerParty_Olivia +.org 0x81f1998 :: .word gTrainerParty_Tiffany +.org 0x81f19c0 :: .word gTrainerParty_Jessica +.org 0x81f19e8 :: .word gTrainerParty_Asimov3 +.org 0x81f1a10 :: .word gTrainerParty_Barbara +.org 0x81f1a38 :: .word gTrainerParty_Mimi +.org 0x81f1a60 :: .word gTrainerParty_Richie +.org 0x81f1a88 :: .word gTrainerParty_Orobas +.org 0x81f1ab0 :: .word gTrainerParty_Garret +.org 0x81f1ad8 :: .word gTrainerParty_Winston1 +.org 0x81f1b00 :: .word gTrainerParty_Duncan +.org 0x81f1b28 :: .word gTrainerParty_Dirthugger +.org 0x81f1b50 :: .word gTrainerParty_BifBofBee1 +.org 0x81f1b78 :: .word gTrainerParty_Steve1 +.org 0x81f1ba0 :: .word gTrainerParty_Chris +.org 0x81f1bc8 :: .word gTrainerParty_Machi +.org 0x81f1bf0 :: .word gTrainerParty_Kenn +.org 0x81f1c18 :: .word gTrainerParty_Steve2 +.org 0x81f1c40 :: .word gTrainerParty_Rolv4 +.org 0x81f1c68 :: .word gTrainerParty_Eowyn +.org 0x81f1c90 :: .word gTrainerParty_Brunella +.org 0x81f1cb8 :: .word gTrainerParty_Luis +.org 0x81f1ce0 :: .word gTrainerParty_Vegas +.org 0x81f1d08 :: .word gTrainerParty_Pekabo +.org 0x81f1d30 :: .word gTrainerParty_Tarquin +.org 0x81f1d58 :: .word gTrainerParty_Mikhail +.org 0x81f1d80 :: .word gTrainerParty_Jackaby +.org 0x81f1da8 :: .word gTrainerParty_Matthew +.org 0x81f1dd0 :: .word gTrainerParty_Erlandu +.org 0x81f1df8 :: .word gTrainerParty_Petruchio +.org 0x81f1e20 :: .word gTrainerParty_Obligation +.org 0x81f1e48 :: .word gTrainerParty_Cody +.org 0x81f1e70 :: .word gTrainerParty_Stan +.org 0x81f1e98 :: .word gTrainerParty_Chuckles +.org 0x81f1ec0 :: .word gTrainerParty_SeamusIi +.org 0x81f1ee8 :: .word gTrainerParty_BifBofBee2 +.org 0x81f1f10 :: .word gTrainerParty_Gonzales +.org 0x81f1f38 :: .word gTrainerParty_Shunkle +.org 0x81f1f60 :: .word gTrainerParty_Benji +.org 0x81f1f88 :: .word gTrainerParty_Donatello +.org 0x81f1fb0 :: .word gTrainerParty_Mushushshu +.org 0x81f1fd8 :: .word gTrainerParty_Danny +.org 0x81f2000 :: .word gTrainerParty_FunHouse +.org 0x81f2028 :: .word gTrainerParty_Dudley +.org 0x81f2050 :: .word gTrainerParty_Chad +.org 0x81f2078 :: .word gTrainerParty_Tony +.org 0x81f20a0 :: .word gTrainerParty_Footman2 +.org 0x81f20c8 :: .word gTrainerParty_Manfred2 +.org 0x81f20f0 :: .word gTrainerParty_Kerri +.org 0x81f2118 :: .word gTrainerParty_Kongamoto +.org 0x81f2140 :: .word gTrainerParty_FinalSmash +.org 0x81f2168 :: .word gTrainerParty_Hatsuharu +.org 0x81f2190 :: .word gTrainerParty_Ichirou +.org 0x81f21b8 :: .word gTrainerParty_Nob +.org 0x81f21e0 :: .word gTrainerParty_Mary_Sue +.org 0x81f2208 :: .word gTrainerParty_AlCapone +.org 0x81f2230 :: .word gTrainerParty_Anjou +.org 0x81f2258 :: .word gTrainerParty_Missy +.org 0x81f2280 :: .word gTrainerParty_Yuji +.org 0x81f22a8 :: .word gTrainerParty_Daisuke +.org 0x81f22d0 :: .word gTrainerParty_Zachary +.org 0x81f22f8 :: .word gTrainerParty_Kirk +.org 0x81f2320 :: .word gTrainerParty_Scott +.org 0x81f2348 :: .word gTrainerParty_Harvey1 +.org 0x81f2370 :: .word gTrainerParty_Shawn +.org 0x81f2398 :: .word gTrainerParty_Randy +.org 0x81f23c0 :: .word gTrainerParty_Dalton +.org 0x81f23e8 :: .word gTrainerParty_Bess +.org 0x81f2410 :: .word gTrainerParty_Tohru +.org 0x81f2438 :: .word gTrainerParty_Kyou +.org 0x81f2460 :: .word gTrainerParty_Yuki +.org 0x81f2488 :: .word gTrainerParty_Yongliang +.org 0x81f24b0 :: .word gTrainerParty_Flint +.org 0x81f24d8 :: .word gTrainerParty_TingFeng +.org 0x81f2500 :: .word gTrainerParty_Jake +.org 0x81f2528 :: .word gTrainerParty_Guiren +.org 0x81f2550 :: .word gTrainerParty_Bernie1 +.org 0x81f2578 :: .word gTrainerParty_Longwei +.org 0x81f25a0 :: .word gTrainerParty_Bernie2 +.org 0x81f25c8 :: .word gTrainerParty_Mikov4 +.org 0x81f25f0 :: .word gTrainerParty_Bobov4 +.org 0x81f2618 :: .word gTrainerParty_Ken +.org 0x81f2640 :: .word gTrainerParty_Hayate +.org 0x81f2668 :: .word gTrainerParty_Westley +.org 0x81f2690 :: .word gTrainerParty_Shane +.org 0x81f26b8 :: .word gTrainerParty_Justin +.org 0x81f26e0 :: .word gTrainerParty_ChinBao +.org 0x81f2708 :: .word gTrainerParty_Jeff +.org 0x81f2730 :: .word gTrainerParty_Horoda +.org 0x81f2758 :: .word gTrainerParty_Ethan +.org 0x81f2780 :: .word gTrainerParty_Gaoler3 +.org 0x81f27a8 :: .word gTrainerParty_Bravo +.org 0x81f27d0 :: .word gTrainerParty_Mina +.org 0x81f27f8 :: .word gTrainerParty_Brent +.org 0x81f2820 :: .word gTrainerParty_Donald +.org 0x81f2848 :: .word gTrainerParty_Taylor +.org 0x81f2870 :: .word gTrainerParty_ChikiCorma +.org 0x81f2898 :: .word gTrainerParty_Derek +.org 0x81f28c0 :: .word gTrainerParty_Hatori +.org 0x81f28e8 :: .word gTrainerParty_Momiji +.org 0x81f2910 :: .word gTrainerParty_Brandon +.org 0x81f2938 :: .word gTrainerParty_Gunkov4 +.org 0x81f2960 :: .word gTrainerParty_Edward +.org 0x81f2988 :: .word gTrainerParty_Aquifer +.org 0x81f29b0 :: .word gTrainerParty_Thundora +.org 0x81f29d8 :: .word gTrainerParty_Mons +.org 0x81f2a00 :: .word gTrainerParty_Donpunchies +.org 0x81f2a28 :: .word gTrainerParty_Joshua +.org 0x81f2a50 :: .word gTrainerParty_Yves +.org 0x81f2a78 :: .word gTrainerParty_Cameron1 +.org 0x81f2aa0 :: .word gTrainerParty_Cameron2 +.org 0x81f2ac8 :: .word gTrainerParty_Cameron3 +.org 0x81f2af0 :: .word gTrainerParty_Cameron4 +.org 0x81f2b18 :: .word gTrainerParty_Footman3 +.org 0x81f2b40 :: .word gTrainerParty_Ventana +.org 0x81f2b68 :: .word gTrainerParty_Gaia +.org 0x81f2b90 :: .word gTrainerParty_Flamma +.org 0x81f2bb8 :: .word gTrainerParty_Cherie +.org 0x81f2be0 :: .word gTrainerParty_Alexis +.org 0x81f2c08 :: .word gTrainerParty_Shubitz +.org 0x81f2c30 :: .word gTrainerParty_Jacki1 +.org 0x81f2c58 :: .word gTrainerParty_Gleis1 +.org 0x81f2c80 :: .word gTrainerParty_Jacki2 +.org 0x81f2ca8 :: .word gTrainerParty_Tex +.org 0x81f2cd0 :: .word gTrainerParty_Winston2 +.org 0x81f2cf8 :: .word gTrainerParty_Tucker +.org 0x81f2d20 :: .word gTrainerParty_Thomas +.org 0x81f2d48 :: .word gTrainerParty_Walter +.org 0x81f2d70 :: .word gTrainerParty_Karkov4 +.org 0x81f2d98 :: .word gTrainerParty_Robotnov4 +.org 0x81f2dc0 :: .word gTrainerParty_Rolv5 +.org 0x81f2de8 :: .word gTrainerParty_Caitlin +.org 0x81f2e10 :: .word gTrainerParty_Benny1 +.org 0x81f2e38 :: .word gTrainerParty_Glacia +.org 0x81f2e60 :: .word gTrainerParty_Indigo +.org 0x81f2e88 :: .word gTrainerParty_Roxanne +.org 0x81f2eb0 :: .word gTrainerParty_Haruko +.org 0x81f2ed8 :: .word gTrainerParty_Wattson3 +.org 0x81f2f00 :: .word gTrainerParty_Veracity +.org 0x81f2f28 :: .word gTrainerParty_Norman +.org 0x81f2f50 :: .word gTrainerParty_Winona +.org 0x81f2f78 :: .word gTrainerParty_TateAndLiza +.org 0x81f2fa0 :: .word gTrainerParty_Esau +.org 0x81f2fc8 :: .word gTrainerParty_Morph1 +.org 0x81f2ff0 :: .word gTrainerParty_Ted +.org 0x81f3018 :: .word gTrainerParty_Paul +.org 0x81f3040 :: .word gTrainerParty_Morph2 +.org 0x81f3068 :: .word gTrainerParty_Jerry +.org 0x81f3090 :: .word gTrainerParty_Nottingham +.org 0x81f30b8 :: .word gTrainerParty_Bandito +.org 0x81f30e0 :: .word gTrainerParty_Scissora +.org 0x81f3108 :: .word gTrainerParty_Georgia +.org 0x81f3130 :: .word gTrainerParty_Karen +.org 0x81f3158 :: .word gTrainerParty_Footman4 +.org 0x81f3180 :: .word gTrainerParty_Footman5 +.org 0x81f31a8 :: .word gTrainerParty_FiveNinja3 +.org 0x81f31d0 :: .word gTrainerParty_JadeAndSara +.org 0x81f31f8 :: .word gTrainerParty_KatAndBert +.org 0x81f3220 :: .word gTrainerParty_AnnaAndMeg1 +.org 0x81f3248 :: .word gTrainerParty_Sasha +.org 0x81f3270 :: .word gTrainerParty_DoubleAct2 +.org 0x81f3298 :: .word gTrainerParty_AnnaAndMeg2 +.org 0x81f32c0 :: .word gTrainerParty_Mugwin1 +.org 0x81f32e8 :: .word gTrainerParty_Miguel2 +.org 0x81f3310 :: .word gTrainerParty_Colton +.org 0x81f3338 :: .word gTrainerParty_Chloe1 +.org 0x81f3360 :: .word gTrainerParty_Fishgirl2 +.org 0x81f3388 :: .word gTrainerParty_Manzana +.org 0x81f33b0 :: .word gTrainerParty_Miguel3 +.org 0x81f33d8 :: .word gTrainerParty_Mugwin2 +.org 0x81f3400 :: .word gTrainerParty_Ugbuoon +.org 0x81f3428 :: .word gTrainerParty_Marissa +.org 0x81f3450 :: .word gTrainerParty_Rockit +.org 0x81f3478 :: .word gTrainerParty_Isabel1 +.org 0x81f34a0 :: .word gTrainerParty_Isabel2 +.org 0x81f34c8 :: .word gTrainerParty_Tarnation +.org 0x81f34f0 :: .word gTrainerParty_Hannah +.org 0x81f3518 :: .word gTrainerParty_Guardian +.org 0x81f3540 :: .word gTrainerParty_Chloe2 +.org 0x81f3568 :: .word gTrainerParty_Perkins +.org 0x81f3590 :: .word gTrainerParty_Magdalene +.org 0x81f35b8 :: .word gTrainerParty_Timothy +.org 0x81f35e0 :: .word gTrainerParty_Mugwin3 +.org 0x81f3608 :: .word gTrainerParty_QingXue +.org 0x81f3630 :: .word gTrainerParty_Shelby1 +.org 0x81f3658 :: .word gTrainerParty_Kathy +.org 0x81f3680 :: .word gTrainerParty_Shelby2 +.org 0x81f36a8 :: .word gTrainerParty_Shelby3 +.org 0x81f36d0 :: .word gTrainerParty_Calvin1 +.org 0x81f36f8 :: .word gTrainerParty_Laurence +.org 0x81f3720 :: .word gTrainerParty_Josh +.org 0x81f3748 :: .word gTrainerParty_Tommy +.org 0x81f3770 :: .word gTrainerParty_Asmodeus +.org 0x81f3798 :: .word gTrainerParty_Ben +.org 0x81f37c0 :: .word gTrainerParty_Belial1 +.org 0x81f37e8 :: .word gTrainerParty_Kevin +.org 0x81f3810 :: .word gTrainerParty_Neal +.org 0x81f3838 :: .word gTrainerParty_Footman6 +.org 0x81f3860 :: .word gTrainerParty_Calvin2 +.org 0x81f3888 :: .word gTrainerParty_Calvin3 +.org 0x81f38b0 :: .word gTrainerParty_Clint +.org 0x81f38d8 :: .word gTrainerParty_Senex1 +.org 0x81f3900 :: .word gTrainerParty_Eddie +.org 0x81f3928 :: .word gTrainerParty_Allen +.org 0x81f3950 :: .word gTrainerParty_Footman7 +.org 0x81f3978 :: .word gTrainerParty_FengLei +.org 0x81f39a0 :: .word gTrainerParty_TimAndTina +.org 0x81f39c8 :: .word gTrainerParty_Dunstan +.org 0x81f39f0 :: .word gTrainerParty_Footman8 +.org 0x81f3a18 :: .word gTrainerParty_SmashShot +.org 0x81f3a40 :: .word gTrainerParty_Ned +.org 0x81f3a68 :: .word gTrainerParty_Mashima +.org 0x81f3a90 :: .word gTrainerParty_Footman9 +.org 0x81f3ab8 :: .word gTrainerParty_Fernando +.org 0x81f3ae0 :: .word gTrainerParty_Oswald +.org 0x81f3b08 :: .word gTrainerParty_Ricardo +.org 0x81f3b30 :: .word gTrainerParty_Elliot1 +.org 0x81f3b58 :: .word gTrainerParty_Temulence1 +.org 0x81f3b80 :: .word gTrainerParty_Elliot2 +.org 0x81f3ba8 :: .word gTrainerParty_FiveNinja4 +.org 0x81f3bd0 :: .word gTrainerParty_Unbone +.org 0x81f3bf8 :: .word gTrainerParty_Jacob +.org 0x81f3c20 :: .word gTrainerParty_Anthony +.org 0x81f3c48 :: .word gTrainerParty_Benjamin1 +.org 0x81f3c70 :: .word gTrainerParty_Benjamin2 +.org 0x81f3c98 :: .word gTrainerParty_Benjamin3 +.org 0x81f3cc0 :: .word gTrainerParty_Benjamin4 +.org 0x81f3ce8 :: .word gTrainerParty_Benjamin5 +.org 0x81f3d10 :: .word gTrainerParty_Abigail1 +.org 0x81f3d38 :: .word gTrainerParty_Jasmine +.org 0x81f3d60 :: .word gTrainerParty_Abigail2 +.org 0x81f3d88 :: .word gTrainerParty_Abigail3 +.org 0x81f3db0 :: .word gTrainerParty_Abigail4 +.org 0x81f3dd8 :: .word gTrainerParty_Abigail5 +.org 0x81f3e00 :: .word gTrainerParty_Heiwajima +.org 0x81f3e28 :: .word gTrainerParty_Dylan1 +.org 0x81f3e50 :: .word gTrainerParty_Dylan2 +.org 0x81f3e78 :: .word gTrainerParty_Dylan3 +.org 0x81f3ea0 :: .word gTrainerParty_Dylan4 +.org 0x81f3ec8 :: .word gTrainerParty_Maria1 +.org 0x81f3ef0 :: .word gTrainerParty_Wayne +.org 0x81f3f18 :: .word gTrainerParty_Woody +.org 0x81f3f40 :: .word gTrainerParty_Maria2 +.org 0x81f3f68 :: .word gTrainerParty_Maria3 +.org 0x81f3f90 :: .word gTrainerParty_Monkley +.org 0x81f3fb8 :: .word gTrainerParty_TheSheriff +.org 0x81f3fe0 :: .word gTrainerParty_Cyrus +.org 0x81f4008 :: .word gTrainerParty_ManlyHero +.org 0x81f4030 :: .word gTrainerParty_Hunky_Dory +.org 0x81f4058 :: .word gTrainerParty_Isaiah1 +.org 0x81f4080 :: .word gTrainerParty_Isaiah2 +.org 0x81f40a8 :: .word gTrainerParty_Isaiah3 +.org 0x81f40d0 :: .word gTrainerParty_MagnusVii +.org 0x81f40f8 :: .word gTrainerParty_Meteor2 +.org 0x81f4120 :: .word gTrainerParty_Maxine +.org 0x81f4148 :: .word gTrainerParty_Meteor3 +.org 0x81f4170 :: .word gTrainerParty_Perjury +.org 0x81f4198 :: .word gTrainerParty_MarieBain +.org 0x81f41c0 :: .word gTrainerParty_Katelyn1 +.org 0x81f41e8 :: .word gTrainerParty_Katelyn2 +.org 0x81f4210 :: .word gTrainerParty_Katelyn3 +.org 0x81f4238 :: .word gTrainerParty_Katelyn4 +.org 0x81f4260 :: .word gTrainerParty_Nicolas1 +.org 0x81f4288 :: .word gTrainerParty_Nicolas2 +.org 0x81f42b0 :: .word gTrainerParty_Nicolas3 +.org 0x81f42d8 :: .word gTrainerParty_NickyP +.org 0x81f4300 :: .word gTrainerParty_Fortuno +.org 0x81f4328 :: .word gTrainerParty_LiuBei +.org 0x81f4350 :: .word gTrainerParty_Jaime +.org 0x81f4378 :: .word gTrainerParty_Hughie +.org 0x81f43a0 :: .word gTrainerParty_Philip +.org 0x81f43c8 :: .word gTrainerParty_Jared +.org 0x81f43f0 :: .word gTrainerParty_Mitchell +.org 0x81f4418 :: .word gTrainerParty_Tanner +.org 0x81f4440 :: .word gTrainerParty_Will +.org 0x81f4468 :: .word gTrainerParty_MaybeWitch +.org 0x81f4490 :: .word gTrainerParty_BadFairy +.org 0x81f44b8 :: .word gTrainerParty_Benny2 +.org 0x81f44e0 :: .word gTrainerParty_Hester +.org 0x81f4508 :: .word gTrainerParty_Gleis2 +.org 0x81f4530 :: .word gTrainerParty_Temulence2 +.org 0x81f4558 :: .word gTrainerParty_Robert +.org 0x81f4580 :: .word gTrainerParty_Burke +.org 0x81f45a8 :: .word gTrainerParty_Ostafan +.org 0x81f45d0 :: .word gTrainerParty_Deckard +.org 0x81f45f8 :: .word gTrainerParty_Roger +.org 0x81f4620 :: .word gTrainerParty_Bret +.org 0x81f4648 :: .word gTrainerParty_Makoto +.org 0x81f4670 :: .word gTrainerParty_Hideo +.org 0x81f4698 :: .word gTrainerParty_Tancred +.org 0x81f46c0 :: .word gTrainerParty_Charles +.org 0x81f46e8 :: .word gTrainerParty_Lao1 +.org 0x81f4710 :: .word gTrainerParty_Lao2 +.org 0x81f4738 :: .word gTrainerParty_Schwartz1 +.org 0x81f4760 :: .word gTrainerParty_Schwartz2 +.org 0x81f4788 :: .word gTrainerParty_Tyrone +.org 0x81f47b0 :: .word gTrainerParty_Matteo +.org 0x81f47d8 :: .word gTrainerParty_Laura +.org 0x81f4800 :: .word gTrainerParty_Cora +.org 0x81f4828 :: .word gTrainerParty_Jill +.org 0x81f4850 :: .word gTrainerParty_Cyndy1 +.org 0x81f4878 :: .word gTrainerParty_Cyndy2 +.org 0x81f48a0 :: .word gTrainerParty_Schwartz3 +.org 0x81f48c8 :: .word gTrainerParty_Schwartz4 +.org 0x81f48f0 :: .word gTrainerParty_Vinnie +.org 0x81f4918 :: .word gTrainerParty_AngelWitch +.org 0x81f4940 :: .word gTrainerParty_EastWitch +.org 0x81f4968 :: .word gTrainerParty_Madeline1 +.org 0x81f4990 :: .word gTrainerParty_Stanislaus +.org 0x81f49b8 :: .word gTrainerParty_Boss +.org 0x81f49e0 :: .word gTrainerParty_Madeline2 +.org 0x81f4a08 :: .word gTrainerParty_Beverly +.org 0x81f4a30 :: .word gTrainerParty_Dawn +.org 0x81f4a58 :: .word gTrainerParty_Beatrice +.org 0x81f4a80 :: .word gTrainerParty_Denise +.org 0x81f4aa8 :: .word gTrainerParty_Beth +.org 0x81f4ad0 :: .word gTrainerParty_Kris +.org 0x81f4af8 :: .word gTrainerParty_Jesus +.org 0x81f4b20 :: .word gTrainerParty_Alice +.org 0x81f4b48 :: .word gTrainerParty_Worcesteria +.org 0x81f4b70 :: .word gTrainerParty_HuaJiao +.org 0x81f4b98 :: .word gTrainerParty_Tanya +.org 0x81f4bc0 :: .word gTrainerParty_Sharon +.org 0x81f4be8 :: .word gTrainerParty_Endless +.org 0x81f4c10 :: .word gTrainerParty_Kotokabe +.org 0x81f4c38 :: .word gTrainerParty_Catalana +.org 0x81f4c60 :: .word gTrainerParty_Creperie +.org 0x81f4c88 :: .word gTrainerParty_Dongiga +.org 0x81f4cb0 :: .word gTrainerParty_Danapix +.org 0x81f4cd8 :: .word gTrainerParty_Erin +.org 0x81f4d00 :: .word gTrainerParty_Meadowbreak +.org 0x81f4d28 :: .word gTrainerParty_BakaNeko +.org 0x81f4d50 :: .word gTrainerParty_Kaylee +.org 0x81f4d78 :: .word gTrainerParty_Balboon +.org 0x81f4da0 :: .word gTrainerParty_Darcy +.org 0x81f4dc8 :: .word gTrainerParty_Jenny1 +.org 0x81f4df0 :: .word gTrainerParty_Jenny2 +.org 0x81f4e18 :: .word gTrainerParty_Jenny3 +.org 0x81f4e40 :: .word gTrainerParty_Jenny4 +.org 0x81f4e68 :: .word gTrainerParty_Nakajima +.org 0x81f4e90 :: .word gTrainerParty_Shizuo +.org 0x81f4eb8 :: .word gTrainerParty_Lenna +.org 0x81f4ee0 :: .word gTrainerParty_Footman10 +.org 0x81f4f08 :: .word gTrainerParty_Martha +.org 0x81f4f30 :: .word gTrainerParty_YongShui +.org 0x81f4f58 :: .word gTrainerParty_Nina +.org 0x81f4f80 :: .word gTrainerParty_Ryuugamine +.org 0x81f4fa8 :: .word gTrainerParty_Diana1 +.org 0x81f4fd0 :: .word gTrainerParty_Diana2 +.org 0x81f4ff8 :: .word gTrainerParty_Diana3 +.org 0x81f5020 :: .word gTrainerParty_Diana4 +.org 0x81f5048 :: .word gTrainerParty_Akagi +.org 0x81f5070 :: .word gTrainerParty_AmyAndLiv1 +.org 0x81f5098 :: .word gTrainerParty_DougAndLola +.org 0x81f50c0 :: .word gTrainerParty_Mirai +.org 0x81f50e8 :: .word gTrainerParty_AmyAndLiv2 +.org 0x81f5110 :: .word gTrainerParty_GinaAndMia +.org 0x81f5138 :: .word gTrainerParty_AmyAndLiv3 +.org 0x81f5160 :: .word gTrainerParty_AmyAndLiv4 +.org 0x81f5188 :: .word gTrainerParty_AmyAndLiv5 +.org 0x81f51b0 :: .word gTrainerParty_Pious +.org 0x81f51d8 :: .word gTrainerParty_Barrabas +.org 0x81f5200 :: .word gTrainerParty_Ernest1 +.org 0x81f5228 :: .word gTrainerParty_Dwayne +.org 0x81f5250 :: .word gTrainerParty_Phillip +.org 0x81f5278 :: .word gTrainerParty_Leonard +.org 0x81f52a0 :: .word gTrainerParty_Formaggio +.org 0x81f52c8 :: .word gTrainerParty_Ernest2 +.org 0x81f52f0 :: .word gTrainerParty_Ernest3 +.org 0x81f5318 :: .word gTrainerParty_Ernest4 +.org 0x81f5340 :: .word gTrainerParty_Ernest5 +.org 0x81f5368 :: .word gTrainerParty_1 +.org 0x81f5390 :: .word gTrainerParty_2 +.org 0x81f53b8 :: .word gTrainerParty_3 +.org 0x81f53e0 :: .word gTrainerParty_Sonny +.org 0x81f5408 :: .word gTrainerParty_Donovan +.org 0x81f5430 :: .word gTrainerParty_Gerald +.org 0x81f5458 :: .word gTrainerParty_Kelvin +.org 0x81f5480 :: .word gTrainerParty_Kody +.org 0x81f54a8 :: .word gTrainerParty_Tevin +.org 0x81f54d0 :: .word gTrainerParty_Damon +.org 0x81f54f8 :: .word gTrainerParty_Pablo +.org 0x81f5520 :: .word gTrainerParty_Footman11 +.org 0x81f5548 :: .word gTrainerParty_Hector1 +.org 0x81f5570 :: .word gTrainerParty_Hector2 +.org 0x81f5598 :: .word gTrainerParty_Edwin1 +.org 0x81f55c0 :: .word gTrainerParty_Edwin2 +.org 0x81f55e8 :: .word gTrainerParty_Edwin3 +.org 0x81f5610 :: .word gTrainerParty_Edwin4 +.org 0x81f5638 :: .word gTrainerParty_Temulence3 +.org 0x81f5660 :: .word gTrainerParty_Bert +.org 0x81f5688 :: .word gTrainerParty_Brendan1 +.org 0x81f56b0 :: .word gTrainerParty_Brendan2 +.org 0x81f56d8 :: .word gTrainerParty_Brendan3 +.org 0x81f5700 :: .word gTrainerParty_Brendan4 +.org 0x81f5728 :: .word gTrainerParty_Brendan5 +.org 0x81f5750 :: .word gTrainerParty_Brendan6 +.org 0x81f5778 :: .word gTrainerParty_Brendan7 +.org 0x81f57a0 :: .word gTrainerParty_Brendan8 +.org 0x81f57c8 :: .word gTrainerParty_AliciaUnknown +.org 0x81f57f0 :: .word gTrainerParty_Alicia1 +.org 0x81f5818 :: .word gTrainerParty_Alicia2 +.org 0x81f5840 :: .word gTrainerParty_War +.org 0x81f5868 :: .word gTrainerParty_May1 +.org 0x81f5890 :: .word gTrainerParty_May2 +.org 0x81f58b8 :: .word gTrainerParty_May3 +.org 0x81f58e0 :: .word gTrainerParty_May4 +.org 0x81f5908 :: .word gTrainerParty_May5 +.org 0x81f5930 :: .word gTrainerParty_Isaac1 +.org 0x81f5958 :: .word gTrainerParty_Riley +.org 0x81f5980 :: .word gTrainerParty_Aidan +.org 0x81f59a8 :: .word gTrainerParty_Isaac2 +.org 0x81f59d0 :: .word gTrainerParty_Isaac3 +.org 0x81f59f8 :: .word gTrainerParty_Isaac4 +.org 0x81f5a20 :: .word gTrainerParty_Isaac5 +.org 0x81f5a48 :: .word gTrainerParty_Hiroaki +.org 0x81f5a70 :: .word gTrainerParty_Alexia +.org 0x81f5a98 :: .word gTrainerParty_Danielle +.org 0x81f5ac0 :: .word gTrainerParty_Lydia1 +.org 0x81f5ae8 :: .word gTrainerParty_Lydia2 +.org 0x81f5b10 :: .word gTrainerParty_Lydia3 +.org 0x81f5b38 :: .word gTrainerParty_Lydia4 +.org 0x81f5b60 :: .word gTrainerParty_YulVarin +.org 0x81f5b88 :: .word gTrainerParty_SwineWitch +.org 0x81f5bb0 :: .word gTrainerParty_Sebastian +.org 0x81f5bd8 :: .word gTrainerParty_Jackson1 +.org 0x81f5c00 :: .word gTrainerParty_Jackson2 +.org 0x81f5c28 :: .word gTrainerParty_Jackson3 +.org 0x81f5c50 :: .word gTrainerParty_Jackson4 +.org 0x81f5c78 :: .word gTrainerParty_Catherine1 +.org 0x81f5ca0 :: .word gTrainerParty_ToothWitch +.org 0x81f5cc8 :: .word gTrainerParty_Sophia +.org 0x81f5cf0 :: .word gTrainerParty_Catherine2 +.org 0x81f5d18 :: .word gTrainerParty_Salaryman1 +.org 0x81f5d40 :: .word gTrainerParty_Catherine3 +.org 0x81f5d68 :: .word gTrainerParty_Catherine4 +.org 0x81f5d90 :: .word gTrainerParty_Temulence4 +.org 0x81f5db8 :: .word gTrainerParty_Footman12 +.org 0x81f5de0 :: .word gTrainerParty_Salaryman2 +.org 0x81f5e08 :: .word gTrainerParty_Footman13 +.org 0x81f5e30 :: .word gTrainerParty_Salaryman3 +.org 0x81f5e58 :: .word gTrainerParty_Grunt1 +.org 0x81f5e80 :: .word gTrainerParty_Grunt2 +.org 0x81f5ea8 :: .word gTrainerParty_Grunt3 +.org 0x81f5ed0 :: .word gTrainerParty_Grunt4 +.org 0x81f5ef8 :: .word gTrainerParty_Zabulon +.org 0x81f5f20 :: .word gTrainerParty_Grunt5 +.org 0x81f5f48 :: .word gTrainerParty_Grunt6 +.org 0x81f5f70 :: .word gTrainerParty_Grunt7 +.org 0x81f5f98 :: .word gTrainerParty_Grunt8 +.org 0x81f5fc0 :: .word gTrainerParty_Grunt9 +.org 0x81f5fe8 :: .word gTrainerParty_Belial2 +.org 0x81f6010 :: .word gTrainerParty_Might +.org 0x81f6038 :: .word gTrainerParty_Grunt10 +.org 0x81f6060 :: .word gTrainerParty_Grunt11 +.org 0x81f6088 :: .word gTrainerParty_Grunt12 +.org 0x81f60b0 :: .word gTrainerParty_Grunt13 +.org 0x81f60d8 :: .word gTrainerParty_Grunt14 +.org 0x81f6100 :: .word gTrainerParty_Grunt15 +.org 0x81f6128 :: .word gTrainerParty_Grunt16 +.org 0x81f6150 :: .word gTrainerParty_Grunt17 +.org 0x81f6178 :: .word gTrainerParty_Linda +.org 0x81f61a0 :: .word gTrainerParty_Salaryman4 +.org 0x81f61c8 :: .word gTrainerParty_Salaryman5 +.org 0x81f61f0 :: .word gTrainerParty_Kent +.org 0x81f6218 :: .word gTrainerParty_Pestilence +.org 0x81f6240 :: .word gTrainerParty_Salaryman6 +.org 0x81f6268 :: .word gTrainerParty_Tabitha +.org 0x81f6290 :: .word gTrainerParty_Shaderu +.org 0x81f62b8 :: .word gTrainerParty_Gleis3 +.org 0x81f62e0 :: .word gTrainerParty_Courtney +.org 0x81f6308 :: .word gTrainerParty_Maxie1 +.org 0x81f6330 :: .word gTrainerParty_Maxie2 +.org 0x81f6358 :: .word gTrainerParty_Tiana +.org 0x81f6380 :: .word gTrainerParty_Harvey2 +.org 0x81f63a8 :: .word gTrainerParty_Janice +.org 0x81f63d0 :: .word gTrainerParty_Mugwin4 +.org 0x81f63f8 :: .word gTrainerParty_Haley1 +.org 0x81f6420 :: .word gTrainerParty_Haley2 +.org 0x81f6448 :: .word gTrainerParty_Haley3 +.org 0x81f6470 :: .word gTrainerParty_Haley4 +.org 0x81f6498 :: .word gTrainerParty_Sally +.org 0x81f64c0 :: .word gTrainerParty_Robin +.org 0x81f64e8 :: .word gTrainerParty_Andrea +.org 0x81f6510 :: .word gTrainerParty_Crissy +.org 0x81f6538 :: .word gTrainerParty_Rica +.org 0x81f6560 :: .word gTrainerParty_Lyle +.org 0x81f6588 :: .word gTrainerParty_Jose +.org 0x81f65b0 :: .word gTrainerParty_Doug +.org 0x81f65d8 :: .word gTrainerParty_Tommo +.org 0x81f6600 :: .word gTrainerParty_Cinnabar +.org 0x81f6628 :: .word gTrainerParty_Andromalius +.org 0x81f6650 :: .word gTrainerParty_James1 +.org 0x81f6678 :: .word gTrainerParty_Floatzel +.org 0x81f66a0 :: .word gTrainerParty_James2 +.org 0x81f66c8 :: .word gTrainerParty_James3 +.org 0x81f66f0 :: .word gTrainerParty_KloThok +.org 0x81f6718 :: .word gTrainerParty_RaaKor +.org 0x81f6740 :: .word gTrainerParty_Lenny +.org 0x81f6768 :: .word gTrainerParty_Lucas1 +.org 0x81f6790 :: .word gTrainerParty_Alan +.org 0x81f67b8 :: .word gTrainerParty_Clark +.org 0x81f67e0 :: .word gTrainerParty_FengDarin +.org 0x81f6808 :: .word gTrainerParty_Lucas2 +.org 0x81f6830 :: .word gTrainerParty_Brentford +.org 0x81f6858 :: .word gTrainerParty_Hero +.org 0x81f6880 :: .word gTrainerParty_Trent1 +.org 0x81f68a8 :: .word gTrainerParty_Zuul +.org 0x81f68d0 :: .word gTrainerParty_Kylie +.org 0x81f68f8 :: .word gTrainerParty_Trent2 +.org 0x81f6920 :: .word gTrainerParty_MaiAndHiro +.org 0x81f6948 :: .word gTrainerParty_LeaAndJed +.org 0x81f6970 :: .word gTrainerParty_LolaAndLute +.org 0x81f6998 :: .word gTrainerParty_LoisAndHal1 +.org 0x81f69c0 :: .word gTrainerParty_LoisAndHal2 +.org 0x81f69e8 :: .word gTrainerParty_LoisAndHal3 +.org 0x81f6a10 :: .word gTrainerParty_LoisAndHal4 +.org 0x81f6a38 :: .word gTrainerParty_Johanna +.org 0x81f6a60 :: .word gTrainerParty_MeiLin +.org 0x81f6a88 :: .word gTrainerParty_Vivian +.org 0x81f6ab0 :: .word gTrainerParty_Nianzhu +.org 0x81f6ad8 :: .word gTrainerParty_Siobhan +.org 0x81f6b00 :: .word gTrainerParty_Witch +.org 0x81f6b28 :: .word gTrainerParty_SandWitch +.org 0x81f6b50 :: .word gTrainerParty_Asphodel +.org 0x81f6b78 :: .word gTrainerParty_Leozar +.org 0x81f6ba0 :: .word gTrainerParty_Gleis4 +.org 0x81f6bc8 :: .word gTrainerParty_Sputnov4 +.org 0x81f6bf0 :: .word gTrainerParty_Vladov4 +.org 0x81f6c18 :: .word gTrainerParty_Adolv4 +.org 0x81f6c40 :: .word gTrainerParty_Chief +.org 0x81f6c68 :: .word gTrainerParty_Brendan9 +.org 0x81f6c90 :: .word gTrainerParty_Pyrite +.org 0x81f6cb8 :: .word gTrainerParty_Brendan10 +.org 0x81f6ce0 :: .word gTrainerParty_May6 +.org 0x81f6d08 :: .word gTrainerParty_May7 +.org 0x81f6d30 :: .word gTrainerParty_Senex2 +.org 0x81f6d58 :: .word gTrainerParty_Burnaggio +.org 0x81f6d80 :: .word gTrainerParty_Frozone +.org 0x81f6da8 :: .word gTrainerParty_Paralisi +.org 0x81f6dd0 :: .word gTrainerParty_Jourdelays +.org 0x81f6df8 :: .word gTrainerParty_MsDolittle +.org 0x81f6e20 :: .word gTrainerParty_UltraKick +.org 0x81f6e48 :: .word gTrainerParty_Wayneflete +.org 0x81f6e70 :: .word gTrainerParty_Dynamo +.org 0x81f6e98 :: .word gTrainerParty_Icikling +.org 0x81f6ec0 :: .word gTrainerParty_Trisha +.org 0x81f6ee8 :: .word gTrainerParty_KenAndBel +.org 0x81f6f10 :: .word gTrainerParty_KimAndIris +.org 0x81f6f38 :: .word gTrainerParty_DoubleAct3 +.org 0x81f6f60 :: .word gTrainerParty_JanAndJon +.org 0x81f6f88 :: .word gTrainerParty_JohnAndJay1 +.org 0x81f6fb0 :: .word gTrainerParty_JohnAndJay2 +.org 0x81f6fd8 :: .word gTrainerParty_JohnAndJay3 +.org 0x81f7000 :: .word gTrainerParty_JohnAndJay4 +.org 0x81f7028 :: .word gTrainerParty_JohnAndJay5 +.org 0x81f7050 :: .word gTrainerParty_HanaAndMiki +.org 0x81f7078 :: .word gTrainerParty_VenusAndMilo +.org 0x81f70a0 :: .word gTrainerParty_RitaAndSam1 +.org 0x81f70c8 :: .word gTrainerParty_RitaAndSam2 +.org 0x81f70f0 :: .word gTrainerParty_RitaAndSam3 +.org 0x81f7118 :: .word gTrainerParty_RitaAndSam4 +.org 0x81f7140 :: .word gTrainerParty_SimonAndTabby +.org 0x81f7168 :: .word gTrainerParty_Eugene + +.endif \ No newline at end of file diff --git a/src/data/trainers.c b/src/data/trainers.c new file mode 100644 index 0000000..630fa1e --- /dev/null +++ b/src/data/trainers.c @@ -0,0 +1,10215 @@ +#include "types.h" +#include "battle.h" +#include "constants/items.h" +#include "constants/species.h" + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rolv1[2] = { + { + .iv = 200, + .level = 40, + .species = SPECIES_METANG, + }, + { + .iv = 200, + .level = 41, + .species = SPECIES_METANG, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Theresa[2] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_SHRIVLSAUR, + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_CHARMEWORM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Miguel1[4] = { + { + .iv = 100, + .level = 15, + .species = SPECIES_SNEASEL, + }, + { + .iv = 100, + .level = 16, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 100, + .level = 17, + .species = SPECIES_CARVANHA, + }, + { + .iv = 100, + .level = 18, + .species = SPECIES_POOCHYENA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Franklin[2] = { + { + .iv = 100, + .level = 17, + .species = SPECIES_MEOWTH, + }, + { + .iv = 100, + .level = 20, + .species = SPECIES_PERSIAN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marvin[1] = { + { + .iv = 100, + .level = 20, + .species = SPECIES_CARVANHA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tomas[2] = { + { + .iv = 100, + .level = 17, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 100, + .level = 18, + .species = SPECIES_SNEASEL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vitruvio[1] = { + { + .iv = 200, + .level = 24, + .species = SPECIES_PERSIAN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beldum[3] = { + { + .iv = 100, + .level = 16, + .species = SPECIES_SHINX, + }, + { + .iv = 100, + .level = 16, + .species = SPECIES_SHINX, + }, + { + .iv = 150, + .level = 16, + .species = SPECIES_LUXIO, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Meteor1[2] = { + { + .iv = 100, + .level = 20, + .species = SPECIES_DRAGON, + .moves = { MOVE_DRAGON_BREATH, MOVE_RAGE, MOVE_FIRE_PUMP, MOVE_QUICK_ATTACK }, + }, + { + .iv = 100, + .level = 21, + .species = SPECIES_DRAGON, + .moves = { MOVE_DRAGON_BREATH, MOVE_RAGE, MOVE_WING_ATTACK, MOVE_GLARE }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tomu[1] = { + { + .iv = 100, + .level = 30, + .species = SPECIES_MUNCHLAX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shirasagi[2] = { + { + .iv = 0, + .level = 24, + .species = SPECIES_MUNCHLAX, + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_KIRLIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Naota[2] = { + { + .iv = 0, + .level = 25, + .species = SPECIES_MUNCHLAX, + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_KIRLIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paolo[2] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_HOMBONE, + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_HOMBONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Niizuma[2] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_MUNCHLAX, + }, + { + .iv = 0, + .level = 27, + .species = SPECIES_KIRLIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wattson1[6] = { + { + .iv = 255, + .level = 100, + .species = SPECIES_LUXRAY, + }, + { + .iv = 255, + .level = 100, + .species = SPECIES_LANTURN, + }, + { + .iv = 255, + .level = 100, + .species = SPECIES_RAICHU, + }, + { + .iv = 255, + .level = 100, + .species = SPECIES_JOLTEON, + }, + { + .iv = 255, + .level = 100, + .species = SPECIES_LUXRAY, + }, + { + .iv = 255, + .level = 100, + .species = SPECIES_RAIKOU, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wattson2[6] = { + { + .iv = 100, + .level = 24, + .species = SPECIES_SHINX, + }, + { + .iv = 110, + .level = 24, + .species = SPECIES_LANTURN, + }, + { + .iv = 110, + .level = 27, + .species = SPECIES_PIKACHU, + }, + { + .iv = 110, + .level = 27, + .species = SPECIES_JOLTEON, + }, + { + .iv = 110, + .level = 28, + .species = SPECIES_LUXIO, + }, + { + .iv = 110, + .level = 33, + .species = SPECIES_RAIKOU, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Footman1[2] = { + { + .iv = 100, + .level = 27, + .species = SPECIES_HOMBONE, + }, + { + .iv = 100, + .level = 27, + .species = SPECIES_LAIRON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Akatsuki[1] = { + { + .iv = 200, + .level = 30, + .species = SPECIES_GARDEVOIR, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mikov1[1] = { + { + .iv = 0, + .level = 28, + .species = SPECIES_ODDISH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bobov1[1] = { + { + .iv = 0, + .level = 28, + .species = SPECIES_ONIX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gunkov1[1] = { + { + .iv = 0, + .level = 28, + .species = SPECIES_KENCHIRA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karkov1[1] = { + { + .iv = 0, + .level = 28, + .species = SPECIES_TRAPINCH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robotnov1[1] = { + { + .iv = 0, + .level = 28, + .species = SPECIES_ZUBAT, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rolv2[1] = { + { + .iv = 122, + .level = 28, + .species = SPECIES_BELDUM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sputnov1[1] = { + { + .iv = 200, + .level = 28, + .species = SPECIES_MAREEP, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vladov1[1] = { + { + .iv = 200, + .level = 28, + .species = SPECIES_CALFBY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Adolv1[1] = { + { + .iv = 200, + .level = 28, + .species = SPECIES_DRATINI, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Asimov1[1] = { + { + .iv = 0, + .level = 28, + .species = SPECIES_LARVITAR, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Liam[1] = { + { + .iv = 0, + .level = 3, + .species = SPECIES_BOILBASAUR, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lizzie[2] = { + { + .iv = 0, + .level = 4, + .species = SPECIES_POLIHAG, + }, + { + .iv = 0, + .level = 4, + .species = SPECIES_ROTMANDER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mikov2[3] = { + { + .iv = 50, + .level = 36, + .species = SPECIES_GLOOM, + }, + { + .iv = 50, + .level = 36, + .species = SPECIES_GLOOM, + }, + { + .iv = 50, + .level = 38, + .species = SPECIES_VILEPLUME, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bobov2[2] = { + { + .iv = 50, + .level = 34, + .species = SPECIES_ONIX, + }, + { + .iv = 50, + .level = 38, + .species = SPECIES_STEELIX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gunkov2[2] = { + { + .iv = 50, + .level = 35, + .species = SPECIES_KENCHIRA, + }, + { + .iv = 50, + .level = 37, + .species = SPECIES_KENCHIRA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karkov2[3] = { + { + .iv = 150, + .level = 36, + .species = SPECIES_TRAPINCH, + }, + { + .iv = 150, + .level = 36, + .species = SPECIES_TRAPINCH, + }, + { + .iv = 150, + .level = 39, + .species = SPECIES_VIBRAVA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robotnov2[3] = { + { + .iv = 150, + .level = 37, + .species = SPECIES_GOLBAT, + }, + { + .iv = 150, + .level = 38, + .species = SPECIES_GOLBAT, + }, + { + .iv = 150, + .level = 39, + .species = SPECIES_GOLBAT, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ed[1] = { + { + .iv = 255, + .level = 85, + .species = SPECIES_ZEBSTRIKA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tesrael[2] = { + { + .iv = 200, + .level = 40, + .species = SPECIES_SPINDA, + }, + { + .iv = 200, + .level = 40, + .species = SPECIES_HARIYAMA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lily[2] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 0, + .level = 17, + .species = SPECIES_ROSELIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ran_Mao[3] = { + { + .iv = 100, + .level = 40, + .species = SPECIES_KURIPUTO, + }, + { + .iv = 100, + .level = 40, + .species = SPECIES_ROODANSE, + }, + { + .iv = 100, + .level = 40, + .species = SPECIES_OOSHE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sputnov2[2] = { + { + .iv = 100, + .level = 40, + .species = SPECIES_FLAAFFY, + }, + { + .iv = 200, + .level = 41, + .species = SPECIES_FLAAFFY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vladov2[3] = { + { + .iv = 200, + .level = 40, + .species = SPECIES_CALFBY, + }, + { + .iv = 200, + .level = 41, + .species = SPECIES_TAUROS, + }, + { + .iv = 200, + .level = 41, + .species = SPECIES_MILTANK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Adolv2[3] = { + { + .iv = 200, + .level = 40, + .species = SPECIES_DRAGONAIR, + }, + { + .iv = 200, + .level = 41, + .species = SPECIES_DRAGONAIR, + }, + { + .iv = 200, + .level = 42, + .species = SPECIES_DRAGONITE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Asimov2[3] = { + { + .iv = 200, + .level = 40, + .species = SPECIES_PUPITAR, + }, + { + .iv = 200, + .level = 41, + .species = SPECIES_PUPITAR, + }, + { + .iv = 200, + .level = 44, + .species = SPECIES_TYRANITAR, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Crankshaft[1] = { + { + .iv = 50, + .level = 33, + .species = SPECIES_LUXIO, + .moves = { MOVE_BITE, MOVE_FRUSTRATION, MOVE_THUNDERBOLT, MOVE_ROAR }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Zappizor[3] = { + { + .iv = 250, + .level = 40, + .species = SPECIES_MAGNETON, + .moves = { MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM }, + }, + { + .iv = 50, + .level = 41, + .species = SPECIES_MAGNETON, + .moves = { MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_SONIC_BOOM, MOVE_PROTECT }, + }, + { + .iv = 255, + .level = 43, + .species = SPECIES_LUXRAY, + .moves = { MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_DISCHARGE, MOVE_FRUSTRATION }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Arturo[2] = { + { + .iv = 50, + .level = 18, + .species = SPECIES_MEOWTH, + .moves = { MOVE_SCRATCH, MOVE_SLASH, MOVE_PAY_DAY, MOVE_FAINT_ATTACK }, + }, + { + .iv = 50, + .level = 19, + .species = SPECIES_PERSIAN, + .moves = { MOVE_CRUNCH, MOVE_SLASH, MOVE_PAY_DAY, MOVE_DISABLE }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_DoubleAct1[4] = { + { + .iv = 160, + .level = 30, + .species = SPECIES_SLUGMA, + .moves = { MOVE_ROCK_THROW, MOVE_EMBER, MOVE_SMOG, MOVE_PROTECT }, + }, + { + .iv = 200, + .level = 30, + .species = SPECIES_GRAVELER, + .moves = { MOVE_ROCK_BLAST, MOVE_MAGNITUDE, MOVE_SUBSTITUTE, MOVE_FOCUS_PUNCH }, + }, + { + .iv = 200, + .level = 30, + .species = SPECIES_SOLROCK, + .moves = { MOVE_EXTRASENSORY, MOVE_ROCK_THROW, MOVE_COSMIC_POWER, MOVE_SAND_TOMB }, + }, + { + .iv = 200, + .level = 30, + .species = SPECIES_HOMBONE, + .moves = { MOVE_CRUSH_CLAW, MOVE_EARTHQUAKE, MOVE_CRABHAMMER, MOVE_FAINT_ATTACK }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Gaoler1[1] = { + { + .iv = 70, + .level = 35, + .species = SPECIES_GRAVELER, + .moves = { MOVE_MAGNITUDE, MOVE_PROTECT, MOVE_ROCK_BLAST, MOVE_ROCK_THROW }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Gaoler2[1] = { + { + .iv = 180, + .level = 35, + .species = SPECIES_CORSOLA, + .moves = { MOVE_SURF, MOVE_PROTECT, MOVE_TOXIC, MOVE_ROCK_BLAST }, + }, +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Malfeasance[4] = { + { + .iv = 190, + .level = 29, + .species = SPECIES_HAUNTER, + .heldItem = ITEM_CURSED_SKULL, + .moves = { MOVE_HYPNOSIS, MOVE_SHADOW_PUNCH, MOVE_CURSE, MOVE_MEAN_LOOK }, + }, + { + .iv = 190, + .level = 31, + .species = SPECIES_QWILFISH, + .heldItem = ITEM_GODS_TEAR, + .moves = { MOVE_SURF, MOVE_POISON_FANG, MOVE_ICE_BEAM, MOVE_SPIKES }, + }, + { + .iv = 200, + .level = 33, + .species = SPECIES_KADABRA, + .heldItem = ITEM_MEWTWO_BRAIN, + .moves = { MOVE_EXTRASENSORY, MOVE_CALM_MIND, MOVE_BARRIER, MOVE_KNOCK_OFF }, + }, + { + .iv = 255, + .level = 36, + .species = SPECIES_FACELEECH, + .heldItem = ITEM_SNAKE_EYES, + .moves = { MOVE_POISON_FANG, MOVE_CONFUSE_RAY, MOVE_BITE, MOVE_NONE }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_TinaAndBruce1[2] = { + { + .iv = 50, + .level = 30, + .species = SPECIES_HORSEA, + }, + { + .iv = 50, + .level = 30, + .species = SPECIES_BELDUM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_TinaAndBruce2[2] = { + { + .iv = 100, + .level = 41, + .species = SPECIES_SEADRA, + }, + { + .iv = 100, + .level = 41, + .species = SPECIES_METANG, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_TinaAndBruce3[2] = { + { + .iv = 150, + .level = 45, + .species = SPECIES_KINGDRA, + }, + { + .iv = 150, + .level = 45, + .species = SPECIES_METAGROSS, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_TinaAndBruce4[2] = { + { + .iv = 200, + .level = 52, + .species = SPECIES_KINGDRA, + }, + { + .iv = 200, + .level = 52, + .species = SPECIES_METAGROSS, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_TinaAndBruce5[2] = { + { + .iv = 250, + .level = 57, + .species = SPECIES_KINGDRA, + }, + { + .iv = 250, + .level = 57, + .species = SPECIES_METAGROSS, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_TinaAndBruce6[2] = { + { + .iv = 250, + .level = 66, + .species = SPECIES_KINGDRA, + .moves = { MOVE_DRAGON_BREATH, MOVE_STORM_SURGE, MOVE_HYPER_BEAM, MOVE_SMOKESCREEN }, + }, + { + .iv = 250, + .level = 66, + .species = SPECIES_METAGROSS, + .moves = { MOVE_PSYCHIC, MOVE_METEOR_MASH, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dublique[2] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 0, + .level = 23, + .species = SPECIES_WINGULL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mike[1] = { + { + .iv = 200, + .level = 41, + .species = SPECIES_GORELAX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gwen[1] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_GRAVEILL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Carmen[2] = { + { + .iv = 10, + .level = 34, + .species = SPECIES_CROCONAW, + }, + { + .iv = 10, + .level = 36, + .species = SPECIES_MEGANIUM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_GenGui[2] = { + { + .iv = 20, + .level = 33, + .species = SPECIES_BALTOY, + }, + { + .iv = 20, + .level = 33, + .species = SPECIES_BALTOY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ricky1[2] = { + { + .iv = 200, + .level = 38, + .species = SPECIES_GRIMREAPER, + }, + { + .iv = 230, + .level = 38, + .species = SPECIES_GRIMREAPER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lola[2] = { + { + .iv = 40, + .level = 35, + .species = SPECIES_AZOMBARILL, + }, + { + .iv = 40, + .level = 35, + .species = SPECIES_AZOMBARILL, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Buccha[1] = { + { + .iv = 200, + .level = 28, + .species = SPECIES_LINOONE, + .moves = { MOVE_ROAR, MOVE_SAND_ATTACK, MOVE_SUPER_FANG, MOVE_STRENGTH }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Simon[2] = { + { + .iv = 0, + .level = 12, + .species = SPECIES_X43874, + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_GRAVEILL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Macguffin[1] = { + { + .iv = 200, + .level = 60, + .species = SPECIES_PRIMEAPE, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Ricky2[1] = { + { + .iv = 10, + .level = 27, + .species = SPECIES_LINOONE, + .moves = { MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Lolidragon[1] = { + { + .iv = 255, + .level = 45, + .species = SPECIES_KURIPUTO, + .moves = { MOVE_SLAM, MOVE_SLASH, MOVE_LEAF_BLADE, MOVE_SLEEP_POWDER }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_LiriaChen[1] = { + { + .iv = 255, + .level = 45, + .species = SPECIES_FANGASU, + .moves = { MOVE_EXTREME_SPEED, MOVE_HEADBUTT, MOVE_EARTHQUAKE, MOVE_GLARE }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Mcdougal[1] = { + { + .iv = 255, + .level = 45, + .species = SPECIES_GOOSUBOA, + .moves = { MOVE_SHADOW_SWIPE, MOVE_TAKE_DOWN, MOVE_FAINT_ATTACK, MOVE_HYPNOSIS }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Randall[1] = { + { + .iv = 255, + .level = 58, + .species = SPECIES_GORELAX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Parker[1] = { + { + .iv = 255, + .level = 58, + .species = SPECIES_BLEEDOISE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_George[1] = { + { + .iv = 255, + .level = 58, + .species = SPECIES_POLIWRAITH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Berke[1] = { + { + .iv = 255, + .level = 58, + .species = SPECIES_DIRTKROW, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Majide[5] = { + { + .iv = 200, + .level = 36, + .species = SPECIES_GOOSUBOA, + .moves = { MOVE_SHADOW_SWIPE, MOVE_FAINT_ATTACK, MOVE_TAKE_DOWN, MOVE_HORN_ATTACK }, + }, + { + .iv = 200, + .level = 36, + .species = SPECIES_FANGASU, + .moves = { MOVE_EXTREME_SPEED, MOVE_HEADBUTT, MOVE_EARTHQUAKE, MOVE_ROAR }, + }, + { + .iv = 200, + .level = 36, + .species = SPECIES_ROODANSE, + .moves = { MOVE_FLY, MOVE_AIR_CUTTER, MOVE_RAZOR_WIND, MOVE_SAND_ATTACK }, + }, + { + .iv = 200, + .level = 36, + .species = SPECIES_NIGERA, + .moves = { MOVE_GLARE, MOVE_STORM_SURGE, MOVE_TWINEEDLE, MOVE_SCARY_FACE }, + }, + { + .iv = 200, + .level = 29, + .species = SPECIES_OOSHE, + .moves = { MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_SLAM, MOVE_IRON_DEFENSE }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vincent[3] = { + { + .iv = 100, + .level = 44, + .species = SPECIES_SABLEYE, + }, + { + .iv = 100, + .level = 44, + .species = SPECIES_MEDICHAM, + }, + { + .iv = 100, + .level = 44, + .species = SPECIES_SHARPEDO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leroy[2] = { + { + .iv = 100, + .level = 46, + .species = SPECIES_SNEASEL, + }, + { + .iv = 100, + .level = 46, + .species = SPECIES_STARMIE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ichi[3] = { + { + .iv = 100, + .level = 34, + .species = SPECIES_MUNCHLAX, + }, + { + .iv = 100, + .level = 33, + .species = SPECIES_MUNCHLAX, + }, + { + .iv = 100, + .level = 36, + .species = SPECIES_KIRLIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_MangoMan[1] = { + { + .iv = 100, + .level = 55, + .species = SPECIES_STARMIE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alberto[2] = { + { + .iv = 100, + .level = 49, + .species = SPECIES_LUXIO, + }, + { + .iv = 100, + .level = 49, + .species = SPECIES_CLOYSTER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Enigma[3] = { + { + .iv = 100, + .level = 51, + .species = SPECIES_DODRIO, + }, + { + .iv = 100, + .level = 53, + .species = SPECIES_AGGRON, + }, + { + .iv = 100, + .level = 54, + .species = SPECIES_ALAKAZAM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Corleone[4] = { + { + .iv = 100, + .level = 50, + .species = SPECIES_BLAZIKEN, + }, + { + .iv = 100, + .level = 51, + .species = SPECIES_NINETALES, + }, + { + .iv = 100, + .level = 52, + .species = SPECIES_PSYPIG, + }, + { + .iv = 100, + .level = 54, + .species = SPECIES_TORKOAL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Castano[3] = { + { + .iv = 100, + .level = 55, + .species = SPECIES_PERSIAN, + }, + { + .iv = 100, + .level = 57, + .species = SPECIES_PERSIAN, + }, + { + .iv = 100, + .level = 58, + .species = SPECIES_CRAWDAUNT, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_FiveNinja1[3] = { + { + .iv = 110, + .level = 48, + .species = SPECIES_BEEDRILL, + }, + { + .iv = 110, + .level = 48, + .species = SPECIES_ROSELIA, + }, + { + .iv = 110, + .level = 48, + .species = SPECIES_NIDOQUEEN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Inigo[3] = { + { + .iv = 120, + .level = 46, + .species = SPECIES_PERSIAN, + }, + { + .iv = 120, + .level = 46, + .species = SPECIES_MILOTIC, + }, + { + .iv = 120, + .level = 46, + .species = SPECIES_PERSIAN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Manfred1[3] = { + { + .iv = 0, + .level = 0, + .species = SPECIES_NONE, + }, + { + .iv = 0, + .level = 0, + .species = SPECIES_NONE, + }, + { + .iv = 0, + .level = 0, + .species = SPECIES_NONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wilton[3] = { + { + .iv = 140, + .level = 35, + .species = SPECIES_LUXIO, + }, + { + .iv = 140, + .level = 35, + .species = SPECIES_WAILMER, + }, + { + .iv = 140, + .level = 35, + .species = SPECIES_HARIYAMA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_GimletEye[3] = { + { + .iv = 100, + .level = 68, + .species = SPECIES_DITTO, + }, + { + .iv = 100, + .level = 69, + .species = SPECIES_EXCADRILL, + }, + { + .iv = 100, + .level = 69, + .species = SPECIES_DUSTOX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mary[1] = { + { + .iv = 255, + .level = 58, + .species = SPECIES_IRONREAPER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lori[1] = { + { + .iv = 255, + .level = 58, + .species = SPECIES_HEADDOOM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jody[1] = { + { + .iv = 250, + .level = 58, + .species = SPECIES_VIVOSAUR, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Mei_Rin[3] = { + { + .iv = 200, + .level = 39, + .species = SPECIES_GOOSUBOA, + .moves = { MOVE_SHADOW_SWIPE, MOVE_TAKE_DOWN, MOVE_HORN_ATTACK, MOVE_HORN_DRILL }, + }, + { + .iv = 255, + .level = 40, + .species = SPECIES_KURIPUTO, + .moves = { MOVE_LEAF_BLADE, MOVE_SLASH, MOVE_SLEEP_POWDER, MOVE_LEECH_SEED }, + }, + { + .iv = 200, + .level = 41, + .species = SPECIES_OOSHE, + .moves = { MOVE_ROCK_BLAST, MOVE_MAGNITUDE, MOVE_PROTECT, MOVE_IRON_DEFENSE }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elaine[2] = { + { + .iv = 100, + .level = 45, + .species = SPECIES_LAIRON, + }, + { + .iv = 100, + .level = 45, + .species = SPECIES_LUXIO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jemima[1] = { + { + .iv = 200, + .level = 39, + .species = SPECIES_ZANGOL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_BlairWitch[1] = { + { + .iv = 255, + .level = 45, + .species = SPECIES_SABLEYE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bethany[1] = { + { + .iv = 100, + .level = 55, + .species = SPECIES_ZANGOL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fishgirl1[1] = { + { + .iv = 100, + .level = 55, + .species = SPECIES_SWAMPERT, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Susan[3] = { + { + .iv = 100, + .level = 49, + .species = SPECIES_HARIYAMA, + }, + { + .iv = 100, + .level = 50, + .species = SPECIES_SNORLAX, + }, + { + .iv = 100, + .level = 50, + .species = SPECIES_KAJILIANTH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_FiveNinja2[2] = { + { + .iv = 100, + .level = 53, + .species = SPECIES_WEAVILE, + }, + { + .iv = 100, + .level = 55, + .species = SPECIES_SABLEYE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Julianne[2] = { + { + .iv = 100, + .level = 52, + .species = SPECIES_SANDSLASH, + }, + { + .iv = 100, + .level = 55, + .species = SPECIES_MISDREAVUS, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brooke[3] = { + { + .iv = 110, + .level = 26, + .species = SPECIES_WINGULL, + }, + { + .iv = 110, + .level = 26, + .species = SPECIES_HOMBONE, + }, + { + .iv = 110, + .level = 26, + .species = SPECIES_ROSELIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Whitney[3] = { + { + .iv = 250, + .level = 47, + .species = SPECIES_MILOTIC, + }, + { + .iv = 250, + .level = 46, + .species = SPECIES_HOMBEAST, + }, + { + .iv = 250, + .level = 47, + .species = SPECIES_PSYPIG, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marlene[3] = { + { + .iv = 230, + .level = 46, + .species = SPECIES_PSYPIG, + }, + { + .iv = 130, + .level = 46, + .species = SPECIES_HOMBEAST, + }, + { + .iv = 230, + .level = 46, + .species = SPECIES_MILOTIC, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mikov3[3] = { + { + .iv = 255, + .level = 46, + .species = SPECIES_GLOOM, + }, + { + .iv = 255, + .level = 48, + .species = SPECIES_VILEPLUME, + }, + { + .iv = 255, + .level = 48, + .species = SPECIES_BELLOSSOM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Patricia[1] = { + { + .iv = 0, + .level = 42, + .species = SPECIES_BANETTE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rubric[2] = { + { + .iv = 230, + .level = 41, + .species = SPECIES_NIGERA, + }, + { + .iv = 230, + .level = 41, + .species = SPECIES_KURIPUTO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tchaikovsky[2] = { + { + .iv = 200, + .level = 43, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 200, + .level = 43, + .species = SPECIES_WEAVILE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabby[1] = { + { + .iv = 250, + .level = 50, + .species = SPECIES_MILOTIC, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_BillStokey[2] = { + { + .iv = 200, + .level = 46, + .species = SPECIES_WEAVILE, + }, + { + .iv = 200, + .level = 46, + .species = SPECIES_BLISSEY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Valerie[1] = { + { + .iv = 10, + .level = 35, + .species = SPECIES_SABLEYE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bobov3[3] = { + { + .iv = 200, + .level = 46, + .species = SPECIES_ONIX, + }, + { + .iv = 255, + .level = 48, + .species = SPECIES_STEELIX, + }, + { + .iv = 255, + .level = 48, + .species = SPECIES_STEELIX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gunkov3[2] = { + { + .iv = 255, + .level = 50, + .species = SPECIES_KENCHUKUO, + }, + { + .iv = 255, + .level = 50, + .species = SPECIES_KENCHUKUO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karkov3[3] = { + { + .iv = 255, + .level = 46, + .species = SPECIES_VIBRAVA, + }, + { + .iv = 255, + .level = 46, + .species = SPECIES_VIBRAVA, + }, + { + .iv = 255, + .level = 48, + .species = SPECIES_FLYGON, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Tilly[1] = { + { + .iv = 50, + .level = 11, + .species = SPECIES_POOCHYENA, + .heldItem = ITEM_NUGGET, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dani[1] = { + { + .iv = 100, + .level = 7, + .species = SPECIES_OOZLE, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Brianna[2] = { + { + .iv = 0, + .level = 10, + .species = SPECIES_WYNAUT, + .moves = { MOVE_CHARM, MOVE_ENCORE, MOVE_NONE, MOVE_NONE }, + }, + { + .iv = 0, + .level = 10, + .species = SPECIES_TAILLOW, + .moves = { MOVE_QUICK_ATTACK, MOVE_GROWL, MOVE_NONE, MOVE_NONE }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Cindy[1] = { + { + .iv = 0, + .level = 11, + .species = SPECIES_ZIGZAGOON, + .moves = { MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_NONE, MOVE_NONE }, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Robotnov3[3] = { + { + .iv = 255, + .level = 46, + .species = SPECIES_GOLBAT, + .heldItem = ITEM_POWER_HAT, + }, + { + .iv = 255, + .level = 47, + .species = SPECIES_GOLBAT, + .heldItem = ITEM_LUM_BERRY, + }, + { + .iv = 255, + .level = 48, + .species = SPECIES_CROBAT, + .heldItem = ITEM_MEATY_BELL, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Anette[1] = { + { + .iv = 100, + .level = 45, + .species = SPECIES_ROSELIA, + .heldItem = ITEM_NUGGET, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Rolv3[3] = { + { + .iv = 255, + .level = 47, + .species = SPECIES_METANG, + .heldItem = ITEM_EXCALIBUR, + }, + { + .iv = 255, + .level = 47, + .species = SPECIES_METANG, + .heldItem = ITEM_MEWTWO_BRAIN, + }, + { + .iv = 255, + .level = 49, + .species = SPECIES_METAGROSS, + .heldItem = ITEM_SNIPE_SCOPE, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Sputnov3[3] = { + { + .iv = 255, + .level = 46, + .species = SPECIES_AMPHAROS, + .heldItem = ITEM_ELECTRICHONEY, + }, + { + .iv = 255, + .level = 47, + .species = SPECIES_AMPHAROS, + .heldItem = ITEM_ELECTRICHONEY, + }, + { + .iv = 255, + .level = 48, + .species = SPECIES_AMPHAROS, + .heldItem = ITEM_ELECTRICHONEY, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Vladov3[3] = { + { + .iv = 255, + .level = 46, + .species = SPECIES_TAUROS, + .heldItem = ITEM_PLUS_BAND, + }, + { + .iv = 255, + .level = 47, + .species = SPECIES_MILTANK, + .heldItem = ITEM_LEFTOVERS, + }, + { + .iv = 255, + .level = 48, + .species = SPECIES_RAMSHAKER, + .heldItem = ITEM_CHAOS_OF_ODEN, + }, +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Adolv3[3] = { + { + .iv = 255, + .level = 46, + .species = SPECIES_DRAGONAIR, + .heldItem = ITEM_KILIN_HORN, + .moves = { MOVE_FIRE_PUMP, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_ICE_BEAM }, + }, + { + .iv = 255, + .level = 46, + .species = SPECIES_DRAGONAIR, + .heldItem = ITEM_TREASURE_BALL, + .moves = { MOVE_OUTRAGE, MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_BIND }, + }, + { + .iv = 255, + .level = 49, + .species = SPECIES_DRAGONITE, + .heldItem = ITEM_TREASURE_BALL, + .moves = { MOVE_OUTRAGE, MOVE_FLY, MOVE_ICE_BEAM, MOVE_THUNDERBOLT }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_WeiShi[1] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_METANG, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_ChaoYun[1] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_CLAYDOL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_ShuYi[1] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_MEDICHAM, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Hiro[2] = { + { + .iv = 200, + .level = 43, + .species = SPECIES_WEAVILE, + .moves = { MOVE_ICE_PUNCH, MOVE_FAINT_ATTACK, MOVE_SHADOW_SWIPE, MOVE_TORMENT }, + }, + { + .iv = 255, + .level = 45, + .species = SPECIES_SEVICIOUS, + .moves = { MOVE_POISON_TAIL, MOVE_EARTHQUAKE, MOVE_GLARE, MOVE_CRUNCH }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Connie[2] = { + { + .iv = 100, + .level = 40, + .species = SPECIES_GOLDEEN, + }, + { + .iv = 100, + .level = 40, + .species = SPECIES_WAILMER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bridget[1] = { + { + .iv = 100, + .level = 41, + .species = SPECIES_AZOMBARILL, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Olivia[1] = { + { + .iv = 100, + .level = 41, + .species = SPECIES_SNORLAX, + .moves = { MOVE_UPROAR, MOVE_FURY_SWIPES, MOVE_FAKE_OUT, MOVE_WATER_GUN }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiffany[3] = { + { + .iv = 100, + .level = 39, + .species = SPECIES_CARVANHA, + }, + { + .iv = 100, + .level = 39, + .species = SPECIES_WAILMER, + }, + { + .iv = 100, + .level = 39, + .species = SPECIES_SHARPEDO, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Jessica[2] = { + { + .iv = 10, + .level = 33, + .species = SPECIES_KECLEON, + .moves = { MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK }, + }, + { + .iv = 10, + .level = 33, + .species = SPECIES_SEVIPER, + .moves = { MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Asimov3[3] = { + { + .iv = 20, + .level = 46, + .species = SPECIES_TYRANITAR, + .moves = { MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_SKULLBREAKER }, + }, + { + .iv = 20, + .level = 47, + .species = SPECIES_TYRANITAR, + .moves = { MOVE_CRUNCH, MOVE_SKULLBREAKER, MOVE_ICE_BEAM, MOVE_EARTHQUAKE }, + }, + { + .iv = 255, + .level = 48, + .species = SPECIES_TYRANITAR, + .moves = { MOVE_CRUNCH, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Barbara[2] = { + { + .iv = 200, + .level = 49, + .species = SPECIES_HEADDOOM, + .moves = { MOVE_CRUNCH, MOVE_FIRE_PUMP, MOVE_BRIGHT_IDEA, MOVE_SHADOW_BALL }, + }, + { + .iv = 200, + .level = 49, + .species = SPECIES_POLIWRAITH, + .moves = { MOVE_DYNAMIC_PUNCH, MOVE_HYPNOSIS, MOVE_SURF, MOVE_ICE_PUNCH }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Mimi[2] = { + { + .iv = 240, + .level = 49, + .species = SPECIES_YUCK, + .moves = { MOVE_AMNESIA, MOVE_ACID_ARMOR, MOVE_TOXIC, MOVE_SLUDGE_BOMB }, + }, + { + .iv = 236, + .level = 42, + .species = SPECIES_AZOMBARILL, + .moves = { MOVE_BODY_SLAM, MOVE_SURF, MOVE_CHARM, MOVE_ROLLOUT }, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Richie[1] = { + { + .iv = 0, + .level = 11, + .species = SPECIES_SURSKIT, + .heldItem = ITEM_TAIJI_DUST, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Orobas[1] = { + { + .iv = 40, + .level = 16, + .species = SPECIES_DIRTKROW, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Garret[1] = { + { + .iv = 0, + .level = 45, + .species = SPECIES_AZOMBARILL, + .heldItem = ITEM_NUGGET, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Winston1[1] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Duncan[1] = { + { + .iv = 250, + .level = 51, + .species = SPECIES_GORELAX, + .heldItem = ITEM_PLUS_BAND, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Dirthugger[1] = { + { + .iv = 200, + .level = 69, + .species = SPECIES_PELIPPER, + .heldItem = ITEM_WATER_STONE, + }, +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_BifBofBee1[1] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET, + .moves = { MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve1[1] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_ARON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chris[1] = { + { + .iv = 0, + .level = 23, + .species = SPECIES_LAIRON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Machi[1] = { + { + .iv = 255, + .level = 48, + .species = SPECIES_WEAVILE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kenn[1] = { + { + .iv = 0, + .level = 25, + .species = SPECIES_LAIRON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve2[1] = { + { + .iv = 10, + .level = 27, + .species = SPECIES_LAIRON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rolv4[2] = { + { + .iv = 200, + .level = 35, + .species = SPECIES_BELDUM, + }, + { + .iv = 200, + .level = 37, + .species = SPECIES_METANG, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eowyn[2] = { + { + .iv = 130, + .level = 64, + .species = SPECIES_QWILSHARK, + }, + { + .iv = 130, + .level = 64, + .species = SPECIES_SHIFTRY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brunella[2] = { + { + .iv = 140, + .level = 65, + .species = SPECIES_BEEDRILL, + }, + { + .iv = 140, + .level = 65, + .species = SPECIES_OMASTAR, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Luis[1] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_CARVANHA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Vegas[3] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_MAGIKARP, + }, + { + .iv = 0, + .level = 19, + .species = SPECIES_QWILFISH, + }, + { + .iv = 0, + .level = 23, + .species = SPECIES_WINGULL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pekabo[2] = { + { + .iv = 0, + .level = 24, + .species = SPECIES_QWILFISH, + }, + { + .iv = 0, + .level = 24, + .species = SPECIES_QWILFISH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tarquin[1] = { + { + .iv = 0, + .level = 22, + .species = SPECIES_QWILFISH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mikhail[1] = { + { + .iv = 0, + .level = 23, + .species = SPECIES_BARBOACH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackaby[2] = { + { + .iv = 0, + .level = 22, + .species = SPECIES_QWILFISH, + }, + { + .iv = 0, + .level = 23, + .species = SPECIES_TELSON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matthew[1] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_CARVANHA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Erlandu[2] = { + { + .iv = 0, + .level = 24, + .species = SPECIES_NUZLEAF, + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_GRUMPIG, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Petruchio[3] = { + { + .iv = 100, + .level = 67, + .species = SPECIES_QWILFISH, + }, + { + .iv = 100, + .level = 67, + .species = SPECIES_QWILFISH, + }, + { + .iv = 100, + .level = 67, + .species = SPECIES_QWILSHARK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Obligation[1] = { + { + .iv = 255, + .level = 73, + .species = SPECIES_SPIRITOMB, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cody[2] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_STARYU, + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_WINGULL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Stan[1] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_HORSEA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chuckles[1] = { + { + .iv = 200, + .level = 70, + .species = SPECIES_GYARADOS, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_SeamusIi[3] = { + { + .iv = 120, + .level = 68, + .species = SPECIES_SHARPEDO, + }, + { + .iv = 120, + .level = 68, + .species = SPECIES_PELIPPER, + }, + { + .iv = 120, + .level = 68, + .species = SPECIES_SHARPEDO, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_BifBofBee2[2] = { + { + .iv = 255, + .level = 70, + .species = SPECIES_SOLROCK, + .moves = { MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_HEAT_WAVE, MOVE_SURF }, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_LUNATONE, + .moves = { MOVE_ROCK_SLIDE, MOVE_COSMIC_POWER, MOVE_RECOVER, MOVE_PSYCHIC }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gonzales[1] = { + { + .iv = 200, + .level = 80, + .species = SPECIES_PELIPPER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shunkle[2] = { + { + .iv = 200, + .level = 64, + .species = SPECIES_WAILORD, + }, + { + .iv = 200, + .level = 64, + .species = SPECIES_QWILSHARK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benji[1] = { + { + .iv = 0, + .level = 14, + .species = SPECIES_EYE_EYE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donatello[1] = { + { + .iv = 200, + .level = 69, + .species = SPECIES_SMEARGLE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mushushshu[2] = { + { + .iv = 100, + .level = 65, + .species = SPECIES_QWILSHARK, + }, + { + .iv = 200, + .level = 68, + .species = SPECIES_KINGLER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Danny[2] = { + { + .iv = 0, + .level = 37, + .species = SPECIES_QWILSHARK, + }, + { + .iv = 0, + .level = 37, + .species = SPECIES_WAILMER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_FunHouse[2] = { + { + .iv = 0, + .level = 64, + .species = SPECIES_STARMIE, + }, + { + .iv = 0, + .level = 64, + .species = SPECIES_GYARADOS, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dudley[3] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_QWILFISH, + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_WINGULL, + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_QWILSHARK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chad[2] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_WINGULL, + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_WAILMER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony[1] = { + { + .iv = 10, + .level = 30, + .species = SPECIES_SHARPEDO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Footman2[1] = { + { + .iv = 160, + .level = 50, + .species = SPECIES_SOLROCK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Manfred2[2] = { + { + .iv = 200, + .level = 64, + .species = SPECIES_CROBAT, + }, + { + .iv = 200, + .level = 64, + .species = SPECIES_WEEZING, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kerri[2] = { + { + .iv = 210, + .level = 66, + .species = SPECIES_ROSELIA, + }, + { + .iv = 240, + .level = 65, + .species = SPECIES_ILLUMISE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kongamoto[1] = { + { + .iv = 100, + .level = 22, + .species = SPECIES_SNEASEL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_FinalSmash[2] = { + { + .iv = 100, + .level = 67, + .species = SPECIES_PRIMEAPE, + }, + { + .iv = 100, + .level = 68, + .species = SPECIES_HERACROSS, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hatsuharu[3] = { + { + .iv = 100, + .level = 67, + .species = SPECIES_HARIYAMA, + }, + { + .iv = 100, + .level = 67, + .species = SPECIES_MACHAMP, + }, + { + .iv = 100, + .level = 67, + .species = SPECIES_PRIMEAPE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ichirou[2] = { + { + .iv = 100, + .level = 56, + .species = SPECIES_MACHAMP, + }, + { + .iv = 100, + .level = 58, + .species = SPECIES_PRIMEAPE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob[1] = { + { + .iv = 100, + .level = 20, + .species = SPECIES_MACHOP, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mary_Sue[1] = { + { + .iv = 110, + .level = 68, + .species = SPECIES_PARASECT, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_AlCapone[2] = { + { + .iv = 120, + .level = 66, + .species = SPECIES_LINOONE, + }, + { + .iv = 120, + .level = 66, + .species = SPECIES_SNORLAX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anjou[3] = { + { + .iv = 130, + .level = 67, + .species = SPECIES_WAILORD, + }, + { + .iv = 130, + .level = 67, + .species = SPECIES_QWILSHARK, + }, + { + .iv = 130, + .level = 67, + .species = SPECIES_GYARADOS, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Missy[4] = { + { + .iv = 140, + .level = 64, + .species = SPECIES_WHISCASH, + .heldItem = ITEM_SITRUS_BERRY, + }, + { + .iv = 140, + .level = 64, + .species = SPECIES_WHISCASH, + .heldItem = ITEM_VOLCANO_POT, + }, + { + .iv = 140, + .level = 65, + .species = SPECIES_WEEZING, + .heldItem = ITEM_LEFTOVERS, + }, + { + .iv = 140, + .level = 66, + .species = SPECIES_DUSTOX, + .heldItem = ITEM_SNIPE_SCOPE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yuji[2] = { + { + .iv = 100, + .level = 26, + .species = SPECIES_MAKUHITA, + }, + { + .iv = 100, + .level = 26, + .species = SPECIES_MACHOKE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Daisuke[1] = { + { + .iv = 100, + .level = 35, + .species = SPECIES_MACHAMP, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Zachary[3] = { + { + .iv = 100, + .level = 42, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 100, + .level = 42, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 100, + .level = 42, + .species = SPECIES_MIGHTYENA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kirk[2] = { + { + .iv = 100, + .level = 18, + .species = SPECIES_SHINX, + }, + { + .iv = 100, + .level = 18, + .species = SPECIES_MAGNEMITE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Scott[1] = { + { + .iv = 100, + .level = 19, + .species = SPECIES_SHINX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Harvey1[2] = { + { + .iv = 100, + .level = 18, + .species = SPECIES_MAGNEMITE, + }, + { + .iv = 100, + .level = 18, + .species = SPECIES_SHINX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shawn[3] = { + { + .iv = 100, + .level = 17, + .species = SPECIES_VOLTORB, + }, + { + .iv = 100, + .level = 17, + .species = SPECIES_VOLTORB, + }, + { + .iv = 100, + .level = 17, + .species = SPECIES_VOLTORB, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Randy[3] = { + { + .iv = 0, + .level = 13, + .species = SPECIES_SHINX, + }, + { + .iv = 0, + .level = 13, + .species = SPECIES_SHINX, + }, + { + .iv = 0, + .level = 13, + .species = SPECIES_SHINX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dalton[3] = { + { + .iv = 200, + .level = 38, + .species = SPECIES_LUXIO, + }, + { + .iv = 200, + .level = 41, + .species = SPECIES_EXPLOUD, + }, + { + .iv = 200, + .level = 42, + .species = SPECIES_LUXRAY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bess[3] = { + { + .iv = 100, + .level = 64, + .species = SPECIES_WEEZING, + }, + { + .iv = 100, + .level = 65, + .species = SPECIES_SWAMPERT, + }, + { + .iv = 100, + .level = 66, + .species = SPECIES_QWILSHARK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tohru[3] = { + { + .iv = 250, + .level = 70, + .species = SPECIES_CLAYDOL, + }, + { + .iv = 250, + .level = 70, + .species = SPECIES_MEDICHAM, + }, + { + .iv = 250, + .level = 70, + .species = SPECIES_VIGOURLAN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyou[3] = { + { + .iv = 250, + .level = 70, + .species = SPECIES_MAGNETON, + }, + { + .iv = 250, + .level = 70, + .species = SPECIES_EXPLOUD, + }, + { + .iv = 250, + .level = 70, + .species = SPECIES_EXEGGUTOR, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yuki[3] = { + { + .iv = 250, + .level = 70, + .species = SPECIES_WEAVILE, + }, + { + .iv = 250, + .level = 70, + .species = SPECIES_BEEDRILL, + }, + { + .iv = 250, + .level = 70, + .species = SPECIES_DODRIO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yongliang[3] = { + { + .iv = 100, + .level = 33, + .species = SPECIES_BALTOY, + }, + { + .iv = 100, + .level = 33, + .species = SPECIES_BALTOY, + }, + { + .iv = 100, + .level = 34, + .species = SPECIES_SPOINK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Flint[1] = { + { + .iv = 100, + .level = 24, + .species = SPECIES_SLUGMA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_TingFeng[2] = { + { + .iv = 100, + .level = 34, + .species = SPECIES_BALTOY, + }, + { + .iv = 100, + .level = 34, + .species = SPECIES_BALTOY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jake[1] = { + { + .iv = 100, + .level = 24, + .species = SPECIES_HOMBONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Guiren[2] = { + { + .iv = 100, + .level = 31, + .species = SPECIES_BALTOY, + }, + { + .iv = 100, + .level = 37, + .species = SPECIES_KADABRA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie1[2] = { + { + .iv = 0, + .level = 19, + .species = SPECIES_SLUGMA, + }, + { + .iv = 0, + .level = 19, + .species = SPECIES_WINGULL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Longwei[2] = { + { + .iv = 10, + .level = 36, + .species = SPECIES_WOBBUFFET, + }, + { + .iv = 10, + .level = 38, + .species = SPECIES_CELEBI, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bernie2[2] = { + { + .iv = 20, + .level = 29, + .species = SPECIES_SLUGMA, + }, + { + .iv = 20, + .level = 29, + .species = SPECIES_PELIPPER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mikov4[4] = { + { + .iv = 255, + .level = 70, + .species = SPECIES_VILEPLUME, + }, + { + .iv = 255, + .level = 71, + .species = SPECIES_BELLOSSOM, + }, + { + .iv = 255, + .level = 71, + .species = SPECIES_VILEPLUME, + }, + { + .iv = 255, + .level = 72, + .species = SPECIES_VILEPLUME, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Bobov4[4] = { + { + .iv = 255, + .level = 70, + .species = SPECIES_STEELIX, + .moves = { MOVE_IRON_DEFENSE, MOVE_IRON_TAIL, MOVE_EARTHQUAKE, MOVE_TOXIC }, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_DIAMANDIX, + .moves = { MOVE_EARTHQUAKE, MOVE_CRYSTALSTORM, MOVE_IRON_TAIL, MOVE_IRON_DEFENSE }, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_DIAMANDIX, + .moves = { MOVE_EARTHQUAKE, MOVE_CRYSTALSTORM, MOVE_IRON_DEFENSE, MOVE_IRON_TAIL }, + }, + { + .iv = 255, + .level = 71, + .species = SPECIES_DIAMANDIX, + .moves = { MOVE_IRON_TAIL, MOVE_IRON_DEFENSE, MOVE_CRYSTALSTORM, MOVE_EARTHQUAKE }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Ken[1] = { + { + .iv = 200, + .level = 34, + .species = SPECIES_MAGCARGO, + .moves = { MOVE_ROCK_SLIDE, MOVE_HEAT_WAVE, MOVE_DOUBLE_TEAM, MOVE_SUBSTITUTE }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Hayate[2] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_SNORLAX, + .moves = { MOVE_SLEEP_TALK, MOVE_REST, MOVE_BODY_SLAM, MOVE_BRICK_BREAK }, + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_GARDEVOIR, + .moves = { MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_SLEEP_TALK, MOVE_REST }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Westley[2] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_LINOONE, + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_SWELLOW, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shane[2] = { + { + .iv = 0, + .level = 19, + .species = SPECIES_SANDSHREW, + }, + { + .iv = 0, + .level = 19, + .species = SPECIES_NUZLEAF, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Justin[1] = { + { + .iv = 0, + .level = 24, + .species = SPECIES_KECLEON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_ChinBao[2] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_BALTOY, + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_BALTOY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jeff[2] = { + { + .iv = 0, + .level = 9, + .species = SPECIES_TAILLOW, + }, + { + .iv = 0, + .level = 9, + .species = SPECIES_KECLEON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Horoda[1] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_MUNCHLAX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ethan[2] = { + { + .iv = 10, + .level = 26, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 10, + .level = 26, + .species = SPECIES_TAILLOW, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gaoler3[2] = { + { + .iv = 255, + .level = 100, + .species = SPECIES_GRIMREAPER, + }, + { + .iv = 255, + .level = 100, + .species = SPECIES_GORELAX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bravo[3] = { + { + .iv = 230, + .level = 74, + .species = SPECIES_YUCK, + }, + { + .iv = 240, + .level = 79, + .species = SPECIES_AZOMBARILL, + }, + { + .iv = 230, + .level = 88, + .species = SPECIES_GORELAX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mina[3] = { + { + .iv = 240, + .level = 100, + .species = SPECIES_GORELAX, + }, + { + .iv = 240, + .level = 100, + .species = SPECIES_IRONREAPER, + }, + { + .iv = 240, + .level = 100, + .species = SPECIES_GRIMREAPER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brent[1] = { + { + .iv = 100, + .level = 27, + .species = SPECIES_SURSKIT, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donald[3] = { + { + .iv = 100, + .level = 25, + .species = SPECIES_WURMPLE, + }, + { + .iv = 100, + .level = 25, + .species = SPECIES_SILCOON, + }, + { + .iv = 100, + .level = 25, + .species = SPECIES_BEAUTIFLY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Taylor[3] = { + { + .iv = 100, + .level = 25, + .species = SPECIES_WURMPLE, + }, + { + .iv = 100, + .level = 25, + .species = SPECIES_CASCOON, + }, + { + .iv = 100, + .level = 25, + .species = SPECIES_DUSTOX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_ChikiCorma[3] = { + { + .iv = 200, + .level = 40, + .species = SPECIES_SHARPEDO, + }, + { + .iv = 200, + .level = 41, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 220, + .level = 41, + .species = SPECIES_MIGHTYENA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Derek[3] = { + { + .iv = 100, + .level = 15, + .species = SPECIES_HYPEREGG, + }, + { + .iv = 150, + .level = 15, + .species = SPECIES_DUSTOX, + }, + { + .iv = 150, + .level = 15, + .species = SPECIES_BEAUTIFLY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hatori[3] = { + { + .iv = 250, + .level = 70, + .species = SPECIES_KECLEON, + }, + { + .iv = 250, + .level = 70, + .species = SPECIES_WHISCASH, + }, + { + .iv = 250, + .level = 70, + .species = SPECIES_SABLEYE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Momiji[3] = { + { + .iv = 250, + .level = 70, + .species = SPECIES_MASQUERAIN, + }, + { + .iv = 250, + .level = 70, + .species = SPECIES_SWELLOW, + }, + { + .iv = 250, + .level = 70, + .species = SPECIES_HYPEREGG, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandon[4] = { + { + .iv = 30, + .level = 36, + .species = SPECIES_SURSKIT, + }, + { + .iv = 30, + .level = 36, + .species = SPECIES_WURMPLE, + }, + { + .iv = 30, + .level = 36, + .species = SPECIES_SURSKIT, + }, + { + .iv = 30, + .level = 36, + .species = SPECIES_MASQUERAIN, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Gunkov4[5] = { + { + .iv = 255, + .level = 69, + .species = SPECIES_KENCHUKUO, + .heldItem = ITEM_SPIKED_GLOVE, + }, + { + .iv = 255, + .level = 69, + .species = SPECIES_KENCHUKUO, + .heldItem = ITEM_ANADRIN_TALON, + }, + { + .iv = 255, + .level = 69, + .species = SPECIES_KENCHUKUO, + .heldItem = ITEM_SPIKED_GLOVE, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_KENCHUKUO, + .heldItem = ITEM_ANADRIN_TALON, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_KENCHUKUO, + .heldItem = ITEM_MINER_DOLL, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Edward[1] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_ABRA, + .moves = { MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aquifer[1] = { + { + .iv = 250, + .level = 50, + .species = SPECIES_KINGDRA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thundora[2] = { + { + .iv = 100, + .level = 48, + .species = SPECIES_ELECTRODE, + }, + { + .iv = 255, + .level = 50, + .species = SPECIES_ZAPDOS, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mons[3] = { + { + .iv = 100, + .level = 47, + .species = SPECIES_CLAYDOL, + }, + { + .iv = 100, + .level = 47, + .species = SPECIES_SANDSLASH, + }, + { + .iv = 250, + .level = 49, + .species = SPECIES_WHISCASH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donpunchies[2] = { + { + .iv = 255, + .level = 47, + .species = SPECIES_AGGRON, + }, + { + .iv = 255, + .level = 47, + .species = SPECIES_CRADILY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Joshua[2] = { + { + .iv = 0, + .level = 41, + .species = SPECIES_KADABRA, + }, + { + .iv = 0, + .level = 41, + .species = SPECIES_SOLROCK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yves[2] = { + { + .iv = 200, + .level = 42, + .species = SPECIES_GORELAX, + }, + { + .iv = 200, + .level = 44, + .species = SPECIES_AZOMBARILL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron1[2] = { + { + .iv = 10, + .level = 34, + .species = SPECIES_KADABRA, + }, + { + .iv = 10, + .level = 34, + .species = SPECIES_SOLROCK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron2[2] = { + { + .iv = 20, + .level = 37, + .species = SPECIES_KADABRA, + }, + { + .iv = 20, + .level = 37, + .species = SPECIES_SOLROCK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron3[2] = { + { + .iv = 30, + .level = 40, + .species = SPECIES_KADABRA, + }, + { + .iv = 30, + .level = 40, + .species = SPECIES_SOLROCK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cameron4[2] = { + { + .iv = 40, + .level = 43, + .species = SPECIES_SOLROCK, + }, + { + .iv = 40, + .level = 43, + .species = SPECIES_ALAKAZAM, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Footman3[1] = { + { + .iv = 255, + .level = 28, + .species = SPECIES_GRAVELER, + .moves = { MOVE_ROCK_BLAST, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_MUD_SPORT }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ventana[2] = { + { + .iv = 100, + .level = 48, + .species = SPECIES_AERODACTYL, + }, + { + .iv = 200, + .level = 49, + .species = SPECIES_SKARMORY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gaia[1] = { + { + .iv = 200, + .level = 51, + .species = SPECIES_MEGANIUM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Flamma[2] = { + { + .iv = 100, + .level = 48, + .species = SPECIES_PSYPIG, + }, + { + .iv = 200, + .level = 49, + .species = SPECIES_MOLTRES, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cherie[1] = { + { + .iv = 255, + .level = 50, + .species = SPECIES_GALACTIMON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexis[3] = { + { + .iv = 0, + .level = 40, + .species = SPECIES_KIRLIA, + }, + { + .iv = 0, + .level = 40, + .species = SPECIES_XATU, + }, + { + .iv = 0, + .level = 40, + .species = SPECIES_KADABRA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shubitz[2] = { + { + .iv = 200, + .level = 42, + .species = SPECIES_OOSHE, + }, + { + .iv = 200, + .level = 43, + .species = SPECIES_FANGASU, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki1[2] = { + { + .iv = 10, + .level = 34, + .species = SPECIES_KADABRA, + }, + { + .iv = 10, + .level = 34, + .species = SPECIES_LUNATONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gleis1[2] = { + { + .iv = 200, + .level = 50, + .species = SPECIES_ALAKAZAM, + }, + { + .iv = 200, + .level = 56, + .species = SPECIES_FACELEECH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacki2[2] = { + { + .iv = 30, + .level = 40, + .species = SPECIES_KADABRA, + }, + { + .iv = 30, + .level = 40, + .species = SPECIES_LUNATONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tex[2] = { + { + .iv = 240, + .level = 74, + .species = SPECIES_SHINIGAMI, + }, + { + .iv = 255, + .level = 74, + .species = SPECIES_STITCHER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Winston2[1] = { + { + .iv = 255, + .level = 50, + .species = SPECIES_RAPIDASH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tucker[2] = { + { + .iv = 0, + .level = 44, + .species = SPECIES_LUXIO, + }, + { + .iv = 0, + .level = 44, + .species = SPECIES_LUXIO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Thomas[1] = { + { + .iv = 0, + .level = 45, + .species = SPECIES_ZANGOOSE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter[1] = { + { + .iv = 10, + .level = 34, + .species = SPECIES_LUXIO, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Karkov4[4] = { + { + .iv = 255, + .level = 70, + .species = SPECIES_FLYGON, + .moves = { MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FLY, MOVE_FIRE_BLAST }, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_FLYGON, + .moves = { MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_ICE_BEAM, MOVE_FLY }, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_FLYGON, + .moves = { MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FLY, MOVE_SOLAR_BEAM }, + }, + { + .iv = 255, + .level = 71, + .species = SPECIES_FLYGON, + .moves = { MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FLY, MOVE_SKULLBREAKER }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Robotnov4[4] = { + { + .iv = 255, + .level = 70, + .species = SPECIES_CROBAT, + .moves = { MOVE_HEADBUTT, MOVE_POISON_FANG, MOVE_AIR_CUTTER, MOVE_MEAN_LOOK }, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_CROBAT, + .moves = { MOVE_HYPNOSIS, MOVE_POISON_FANG, MOVE_AIR_CUTTER, MOVE_MEAN_LOOK }, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_CROBAT, + .moves = { MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_POISON_FANG, MOVE_AIR_CUTTER }, + }, + { + .iv = 255, + .level = 71, + .species = SPECIES_CROBAT, + .moves = { MOVE_AERIAL_ACE, MOVE_MEAN_LOOK, MOVE_CONFUSE_RAY, MOVE_TOXIC }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Rolv5[3] = { + { + .iv = 255, + .level = 71, + .species = SPECIES_METAGROSS, + .moves = { MOVE_PSYCHIC, MOVE_AGILITY, MOVE_METEOR_MASH, MOVE_EARTHQUAKE }, + }, + { + .iv = 255, + .level = 71, + .species = SPECIES_METAGROSS, + .moves = { MOVE_AGILITY, MOVE_PSYCHIC, MOVE_METEOR_MASH, MOVE_EARTHQUAKE }, + }, + { + .iv = 255, + .level = 71, + .species = SPECIES_METAGROSS, + .moves = { MOVE_PSYCHIC, MOVE_AGILITY, MOVE_METEOR_MASH, MOVE_EARTHQUAKE }, + }, +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Caitlin[5] = { + { + .iv = 250, + .level = 53, + .species = SPECIES_HARIYAMA, + .heldItem = ITEM_LEFTOVERS, + .moves = { MOVE_WHIRLWIND, MOVE_BELLY_DRUM, MOVE_VITAL_THROW, MOVE_EARTHQUAKE }, + }, + { + .iv = 250, + .level = 54, + .species = SPECIES_MACHAMP, + .heldItem = ITEM_SPIKED_GLOVE, + .moves = { MOVE_SCARY_FACE, MOVE_SWORDS_DANCE, MOVE_EARTHQUAKE, MOVE_CROSS_CHOP }, + }, + { + .iv = 250, + .level = 55, + .species = SPECIES_BRELOOM, + .heldItem = ITEM_WONDERPLUM, + .moves = { MOVE_LEECH_SEED, MOVE_FOCUS_PUNCH, MOVE_SPORE, MOVE_GIGA_DRAIN }, + }, + { + .iv = 250, + .level = 56, + .species = SPECIES_BLAZIKEN, + .heldItem = ITEM_FLASH_SCALES, + .moves = { MOVE_BLAST_BURN, MOVE_FRICTIONKICK, MOVE_SKY_UPPERCUT, MOVE_BRIGHT_IDEA }, + }, + { + .iv = 255, + .level = 57, + .species = SPECIES_KENCHUKUO, + .heldItem = ITEM_SNIPE_SCOPE, + .moves = { MOVE_AIR_CUTTER, MOVE_SLASH, MOVE_CROSS_CHOP, MOVE_SHADOW_SWIPE }, + }, +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Benny1[5] = { + { + .iv = 250, + .level = 57, + .species = SPECIES_TROPIUS, + .heldItem = ITEM_LEFTOVERS, + .moves = { MOVE_FLY, MOVE_RAZOR_LEAF, MOVE_BODY_SLAM, MOVE_SLEEP_POWDER }, + }, + { + .iv = 250, + .level = 58, + .species = SPECIES_SWELLOW, + .heldItem = ITEM_ANADRIN_TALON, + .moves = { MOVE_WING_ATTACK, MOVE_FRUSTRATION, MOVE_QUICK_ATTACK, MOVE_SWORDS_DANCE }, + }, + { + .iv = 250, + .level = 59, + .species = SPECIES_ALTARIA, + .heldItem = ITEM_TREASURE_BALL, + .moves = { MOVE_DRAGON_BREATH, MOVE_FURY_DANCE, MOVE_BODY_SLAM, MOVE_EARTHQUAKE }, + }, + { + .iv = 250, + .level = 59, + .species = SPECIES_PELIPPER, + .heldItem = ITEM_SOMA, + .moves = { MOVE_STOCKPILE, MOVE_STORM_SURGE, MOVE_FLY, MOVE_PROTECT }, + }, + { + .iv = 255, + .level = 60, + .species = SPECIES_KENCHUKUO, + .heldItem = ITEM_SITRUS_BERRY, + .moves = { MOVE_EARTHQUAKE, MOVE_THUNDER_PUNCH, MOVE_ICE_PUNCH, MOVE_CROSS_CHOP }, + }, +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Glacia[5] = { + { + .iv = 250, + .level = 59, + .species = SPECIES_GLALIE, + .heldItem = ITEM_RAINBOWFROST, + .moves = { MOVE_LIGHT_SCREEN, MOVE_CRUNCH, MOVE_HAIL, MOVE_ICE_BEAM }, + }, + { + .iv = 250, + .level = 60, + .species = SPECIES_WALREIN, + .heldItem = ITEM_LEFTOVERS, + .moves = { MOVE_SURF, MOVE_BODY_SLAM, MOVE_HAIL, MOVE_ICE_BALL }, + }, + { + .iv = 250, + .level = 61, + .species = SPECIES_WEAVILE, + .heldItem = ITEM_RAINBOWFROST, + .moves = { MOVE_SHADOW_SWIPE, MOVE_FAINT_ATTACK, MOVE_HAIL, MOVE_ICE_PUNCH }, + }, + { + .iv = 250, + .level = 62, + .species = SPECIES_CLOYSTER, + .heldItem = ITEM_RAINBOWFROST, + .moves = { MOVE_CRYSTALSTORM, MOVE_ICE_BEAM, MOVE_SURF, MOVE_HAIL }, + }, + { + .iv = 255, + .level = 64, + .species = SPECIES_ARTICUNO, + .heldItem = ITEM_SITRUS_BERRY, + .moves = { MOVE_MIND_READER, MOVE_HAIL, MOVE_BLIZZARD, MOVE_SHEER_COLD }, + }, +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Indigo[5] = { + { + .iv = 250, + .level = 62, + .species = SPECIES_LUXRAY, + .heldItem = ITEM_ELECTRICHONEY, + .moves = { MOVE_CRUNCH, MOVE_DISCHARGE, MOVE_EARTHQUAKE, MOVE_BODY_SLAM }, + }, + { + .iv = 250, + .level = 63, + .species = SPECIES_RAICHU, + .heldItem = ITEM_ELECTRICHONEY, + .moves = { MOVE_THUNDERBOLT, MOVE_IRON_TAIL, MOVE_SWIFT, MOVE_BRIGHT_IDEA }, + }, + { + .iv = 250, + .level = 64, + .species = SPECIES_AMPHAROS, + .heldItem = ITEM_CHAOS_OF_ODEN, + .moves = { MOVE_THUNDER_PUNCH, MOVE_COTTON_SPORE, MOVE_THUNDER_WAVE, MOVE_ICE_BEAM }, + }, + { + .iv = 250, + .level = 65, + .species = SPECIES_ZEBSTRIKA, + .heldItem = ITEM_ELECTRICHONEY, + .moves = { MOVE_DISCHARGE, MOVE_AGILITY, MOVE_FLAME_WHEEL, MOVE_DOUBLE_TEAM }, + }, + { + .iv = 255, + .level = 67, + .species = SPECIES_ZAPDOS, + .heldItem = ITEM_SITRUS_BERRY, + .moves = { MOVE_DRILL_PECK, MOVE_THUNDERBOLT, MOVE_DETECT, MOVE_AGILITY }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Roxanne[2] = { + { + .iv = 150, + .level = 14, + .species = SPECIES_GEODUDE, + .moves = { MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB }, + }, + { + .iv = 200, + .level = 15, + .species = SPECIES_NOSEPASS, + .moves = { MOVE_TACKLE, MOVE_HARDEN, MOVE_ROCK_THROW, MOVE_ROCK_TOMB }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Haruko[6] = { + { + .iv = 150, + .level = 18, + .species = SPECIES_POOCHYENA, + .moves = { MOVE_HOWL, MOVE_CRUNCH, MOVE_TAKE_DOWN, MOVE_BULK_UP }, + }, + { + .iv = 200, + .level = 18, + .species = SPECIES_ABSOL, + .moves = { MOVE_RAZOR_WIND, MOVE_SHADOW_SWIPE, MOVE_SWORDS_DANCE, MOVE_BULK_UP }, + }, + { + .iv = 200, + .level = 19, + .species = SPECIES_CARVANHA, + .moves = { MOVE_BITE, MOVE_WATERFALL, MOVE_BULK_UP, MOVE_SLAM }, + }, + { + .iv = 200, + .level = 22, + .species = SPECIES_SNEASEL, + .moves = { MOVE_SHADOW_SWIPE, MOVE_ICE_PUNCH, MOVE_BULK_UP, MOVE_ICEBREATH }, + }, + { + .iv = 255, + .level = 25, + .species = SPECIES_LUXRAY, + .moves = { MOVE_BITE, MOVE_THUNDER_SHOCK, MOVE_BULK_UP, MOVE_NONE }, + }, + { + .iv = 255, + .level = 1, + .species = SPECIES_KINGMADIO, + .moves = { MOVE_NIGHT_SHADE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Wattson3[3] = { + { + .iv = 200, + .level = 22, + .species = SPECIES_MAGNEMITE, + .moves = { MOVE_SUPERSONIC, MOVE_SONIC_BOOM, MOVE_THUNDER_SHOCK, MOVE_THUNDER_WAVE }, + }, + { + .iv = 200, + .level = 20, + .species = SPECIES_VOLTORB, + .moves = { MOVE_ROLLOUT, MOVE_SELF_DESTRUCT, MOVE_SPARK, MOVE_SONIC_BOOM }, + }, + { + .iv = 250, + .level = 23, + .species = SPECIES_MAGNETON, + .moves = { MOVE_SUPERSONIC, MOVE_SONIC_BOOM, MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Veracity[6] = { + { + .iv = 255, + .level = 46, + .species = SPECIES_PSYPIG, + .moves = { MOVE_FIRE_BLAST, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_SUBSTITUTE }, + }, + { + .iv = 255, + .level = 47, + .species = SPECIES_NINETALES, + .moves = { MOVE_FIRE_PUMP, MOVE_HYPNOSIS, MOVE_SKULLBREAKER, MOVE_WILL_O_WISP }, + }, + { + .iv = 255, + .level = 48, + .species = SPECIES_TORKOAL, + .moves = { MOVE_TOXIC, MOVE_DOUBLE_TEAM, MOVE_AMNESIA, MOVE_IRON_DEFENSE }, + }, + { + .iv = 255, + .level = 49, + .species = SPECIES_FLAREON, + .moves = { MOVE_FIRE_PUMP, MOVE_QUICK_ATTACK, MOVE_BITE, MOVE_DIG }, + }, + { + .iv = 255, + .level = 50, + .species = SPECIES_BLAZIKEN, + .moves = { MOVE_FIRE_PUNCH, MOVE_SKY_UPPERCUT, MOVE_BEAT_UP, MOVE_SWORDS_DANCE }, + }, + { + .iv = 255, + .level = 51, + .species = SPECIES_HO_OH, + .moves = { MOVE_SACRED_FIRE, MOVE_FLY, MOVE_PSYCHIC, MOVE_EARTHQUAKE }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Norman[6] = { + { + .iv = 255, + .level = 62, + .species = SPECIES_MANKEY, + .moves = { MOVE_FACADE, MOVE_YAWN, MOVE_SLACK_OFF, MOVE_FAINT_ATTACK }, + }, + { + .iv = 255, + .level = 63, + .species = SPECIES_MANKEY, + .moves = { MOVE_SLASH, MOVE_ENCORE, MOVE_FACADE, MOVE_SLACK_OFF }, + }, + { + .iv = 255, + .level = 64, + .species = SPECIES_MANKEY, + .moves = { MOVE_DYNAMIC_PUNCH, MOVE_SLACK_OFF, MOVE_FACADE, MOVE_FAINT_ATTACK }, + }, + { + .iv = 255, + .level = 64, + .species = SPECIES_GORELAX, + .moves = { MOVE_FRUSTRATION, MOVE_YAWN, MOVE_REST, MOVE_SKULLBREAKER }, + }, + { + .iv = 255, + .level = 66, + .species = SPECIES_GORELAX, + .moves = { MOVE_FACADE, MOVE_BODY_SLAM, MOVE_CRUNCH, MOVE_REST }, + }, + { + .iv = 255, + .level = 69, + .species = SPECIES_YUCK, + .moves = { MOVE_SLUDGE_BOMB, MOVE_ACID_ARMOR, MOVE_AMNESIA, MOVE_TOXIC }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Winona[4] = { + { + .iv = 200, + .level = 47, + .species = SPECIES_DIRTKROW, + .moves = { MOVE_QUICK_ATTACK, MOVE_AERIAL_ACE, MOVE_FAINT_ATTACK, MOVE_GLARE }, + }, + { + .iv = 250, + .level = 48, + .species = SPECIES_GRIMREAPER, + .moves = { MOVE_AIR_CUTTER, MOVE_SHADOW_SWIPE, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE }, + }, + { + .iv = 250, + .level = 49, + .species = SPECIES_IRONREAPER, + .moves = { MOVE_IRON_TAIL, MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_ICE_PUNCH }, + }, + { + .iv = 250, + .level = 51, + .species = SPECIES_SCAR_LUGIA, + .moves = { MOVE_EARTHQUAKE, MOVE_AEROBLAST, MOVE_PSYCHIC, MOVE_COSMIC_POWER }, + }, +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_TateAndLiza[2] = { + { + .iv = 250, + .level = 42, + .species = SPECIES_LUNATONE, + .heldItem = ITEM_NONE, + .moves = { MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_CALM_MIND }, + }, + { + .iv = 250, + .level = 42, + .species = SPECIES_SOLROCK, + .heldItem = ITEM_NONE, + .moves = { MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FIRE_PUMP }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Esau[5] = { + { + .iv = 255, + .level = 68, + .species = SPECIES_VIGOURLAN, + .moves = { MOVE_PSYCHIC, MOVE_SLASH, MOVE_HYPER_BEAM, MOVE_PROTECT }, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_BASCULIN, + .moves = { MOVE_SURF, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM }, + }, + { + .iv = 255, + .level = 72, + .species = SPECIES_KENCHUKUO, + .moves = { MOVE_CROSS_CHOP, MOVE_ICE_PUNCH, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM }, + }, + { + .iv = 255, + .level = 74, + .species = SPECIES_GYARADOS, + .moves = { MOVE_EARTHQUAKE, MOVE_FURY_DANCE, MOVE_SURF, MOVE_HYPER_BEAM }, + }, + { + .iv = 255, + .level = 77, + .species = SPECIES_SPIRITOMB, + .moves = { MOVE_PAIN_SPLIT, MOVE_SHADOW_BALL, MOVE_FAINT_ATTACK, MOVE_HYPER_BEAM }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Morph1[1] = { + { + .iv = 255, + .level = 30, + .species = SPECIES_DITTO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ted[1] = { + { + .iv = 10, + .level = 17, + .species = SPECIES_RALTS, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paul[3] = { + { + .iv = 10, + .level = 15, + .species = SPECIES_HOMBONE, + }, + { + .iv = 10, + .level = 15, + .species = SPECIES_ODDISH, + }, + { + .iv = 10, + .level = 15, + .species = SPECIES_WINGULL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Morph2[1] = { + { + .iv = 255, + .level = 30, + .species = SPECIES_DITTO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerry[2] = { + { + .iv = 30, + .level = 29, + .species = SPECIES_KIRLIA, + }, + { + .iv = 30, + .level = 29, + .species = SPECIES_MEDITITE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nottingham[2] = { + { + .iv = 140, + .level = 74, + .species = SPECIES_STITCHER, + }, + { + .iv = 180, + .level = 74, + .species = SPECIES_SHINIGAMI, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bandito[3] = { + { + .iv = 110, + .level = 72, + .species = SPECIES_ANTISPIRAL, + }, + { + .iv = 110, + .level = 72, + .species = SPECIES_ANTISPIRAL, + }, + { + .iv = 100, + .level = 72, + .species = SPECIES_STITCHER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Scissora[2] = { + { + .iv = 100, + .level = 30, + .species = SPECIES_SPINDA, + }, + { + .iv = 100, + .level = 32, + .species = SPECIES_ZANGOOSE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Georgia[2] = { + { + .iv = 10, + .level = 16, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 10, + .level = 16, + .species = SPECIES_BEAUTIFLY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Karen[2] = { + { + .iv = 20, + .level = 26, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 20, + .level = 26, + .species = SPECIES_WHISMUR, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Footman4[2] = { + { + .iv = 230, + .level = 47, + .species = SPECIES_GOLEM, + }, + { + .iv = 190, + .level = 47, + .species = SPECIES_ARMALDO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Footman5[2] = { + { + .iv = 200, + .level = 48, + .species = SPECIES_BRELOOM, + }, + { + .iv = 200, + .level = 48, + .species = SPECIES_EXPLOUD, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_FiveNinja3[2] = { + { + .iv = 250, + .level = 48, + .species = SPECIES_BEEDRILL, + }, + { + .iv = 250, + .level = 48, + .species = SPECIES_SEVICIOUS, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_JadeAndSara[4] = { + { + .iv = 255, + .level = 46, + .species = SPECIES_MASQUERAIN, + .moves = { MOVE_AIR_CUTTER, MOVE_SILVER_WIND, MOVE_AGILITY, MOVE_CONFUSE_RAY }, + }, + { + .iv = 255, + .level = 46, + .species = SPECIES_SLAKING, + .moves = { MOVE_FOCUS_PUNCH, MOVE_YAWN, MOVE_SLACK_OFF, MOVE_FAINT_ATTACK }, + }, + { + .iv = 255, + .level = 46, + .species = SPECIES_SANDSLASH, + .moves = { MOVE_SLASH, MOVE_SHADOW_SWIPE, MOVE_POISON_TAIL, MOVE_EARTHQUAKE }, + }, + { + .iv = 255, + .level = 46, + .species = SPECIES_VIGOURLAN, + .moves = { MOVE_PSYCHIC, MOVE_SLASH, MOVE_SLACK_OFF, MOVE_FACADE }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_KatAndBert[2] = { + { + .iv = 255, + .level = 25, + .species = SPECIES_POLIWORM, + .moves = { MOVE_HYPNOSIS, MOVE_FOCUS_PUNCH, MOVE_SUBSTITUTE, MOVE_WATERFALL }, + }, + { + .iv = 255, + .level = 25, + .species = SPECIES_SHRIVLSAUR, + .moves = { MOVE_LEECH_SEED, MOVE_SUBSTITUTE, MOVE_PROTECT, MOVE_DOUBLE_TEAM }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg1[2] = { + { + .iv = 10, + .level = 26, + .species = SPECIES_ZIGZAGOON, + .moves = { MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH }, + }, + { + .iv = 10, + .level = 28, + .species = SPECIES_MAKUHITA, + .moves = { MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Sasha[2] = { + { + .iv = 200, + .level = 38, + .species = SPECIES_MIASMAR, + .moves = { MOVE_SMOKESCREEN, MOVE_FIRE_PUNCH, MOVE_SUBSTITUTE, MOVE_FOCUS_PUNCH }, + }, + { + .iv = 200, + .level = 38, + .species = SPECIES_ELECTABUGS, + .moves = { MOVE_THUNDER_PUNCH, MOVE_SEISMIC_TOSS, MOVE_CHARGE, MOVE_POUND }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_DoubleAct2[2] = { + { + .iv = 255, + .level = 48, + .species = SPECIES_HOMBEAST, + .moves = { MOVE_CURSE_CLAW, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GUILLOTINE }, + }, + { + .iv = 255, + .level = 48, + .species = SPECIES_CRADILY, + .moves = { MOVE_GIGA_DRAIN, MOVE_LEECH_SEED, MOVE_SUBSTITUTE, MOVE_PROTECT }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_AnnaAndMeg2[2] = { + { + .iv = 40, + .level = 35, + .species = SPECIES_LINOONE, + .moves = { MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH }, + }, + { + .iv = 40, + .level = 37, + .species = SPECIES_HARIYAMA, + .moves = { MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE }, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Mugwin1[2] = { + { + .iv = 25, + .level = 28, + .species = SPECIES_GOLBAT, + .heldItem = ITEM_ORAN_BERRY, + }, + { + .iv = 25, + .level = 29, + .species = SPECIES_LINOONE, + .heldItem = ITEM_ORAN_BERRY, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel2[1] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY, + }, +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Colton[6] = { + { + .iv = 0, + .level = 22, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = { MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL }, + }, + { + .iv = 0, + .level = 36, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = { MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL }, + }, + { + .iv = 0, + .level = 40, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = { MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL }, + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = { MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL }, + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = { MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL }, + }, + { + .iv = 0, + .level = 42, + .species = SPECIES_DELCATTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = { MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL }, + }, +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Chloe1[6] = { + { + .iv = 250, + .level = 46, + .species = SPECIES_ALAKAZAM, + .heldItem = ITEM_MEWTWO_BRAIN, + .moves = { MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_ICE_PUNCH, MOVE_FIRE_PUNCH }, + }, + { + .iv = 250, + .level = 47, + .species = SPECIES_WIGGLYTUFF, + .heldItem = ITEM_PLUS_BAND, + .moves = { MOVE_BODY_SLAM, MOVE_SING, MOVE_ROLLOUT, MOVE_SKULLBREAKER }, + }, + { + .iv = 250, + .level = 48, + .species = SPECIES_AGGRON, + .heldItem = ITEM_OLD_BRICK, + .moves = { MOVE_ROCK_SLIDE, MOVE_IRON_TAIL, MOVE_BITE, MOVE_FOCUS_PUNCH }, + }, + { + .iv = 250, + .level = 49, + .species = SPECIES_PERSIAN, + .heldItem = ITEM_FLASH_SCALES, + .moves = { MOVE_SLASH, MOVE_BRICK_BREAK, MOVE_EARTHQUAKE, MOVE_HYPNOSIS }, + }, + { + .iv = 255, + .level = 49, + .species = SPECIES_GENGAR, + .heldItem = ITEM_CURSED_SKULL, + .moves = { MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_SHADOW_BALL, MOVE_MEAN_LOOK }, + }, + { + .iv = 200, + .level = 50, + .species = SPECIES_FACELEECH, + .heldItem = ITEM_SNAKE_EYES, + .moves = { MOVE_POISON_FANG, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Fishgirl2[1] = { + { + .iv = 255, + .level = 75, + .species = SPECIES_SWAMPERT, + .heldItem = ITEM_SALAC_BERRY, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Manzana[1] = { + { + .iv = 255, + .level = 75, + .species = SPECIES_SABLEYE, + .heldItem = ITEM_QUALOT_BERRY, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Miguel3[1] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_DELCATTY, + .heldItem = ITEM_SITRUS_BERRY, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Mugwin2[1] = { + { + .iv = 50, + .level = 34, + .species = SPECIES_LOUDRED, + .heldItem = ITEM_ORAN_BERRY, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Ugbuoon[1] = { + { + .iv = 255, + .level = 49, + .species = SPECIES_A_MONSTER, + .heldItem = ITEM_LIECHI_BERRY, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Marissa[3] = { + { + .iv = 100, + .level = 36, + .species = SPECIES_X43874, + .heldItem = ITEM_ORAN_BERRY, + }, + { + .iv = 100, + .level = 38, + .species = SPECIES_GRAVEILL, + .heldItem = ITEM_ORAN_BERRY, + }, + { + .iv = 100, + .level = 40, + .species = SPECIES_AZOMBARILL, + .heldItem = ITEM_ORAN_BERRY, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Rockit[2] = { + { + .iv = 0, + .level = 25, + .species = SPECIES_MEDITITE, + .heldItem = ITEM_SPIKED_GLOVE, + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_WHISMUR, + .heldItem = ITEM_PLUS_BAND, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel1[2] = { + { + .iv = 10, + .level = 26, + .species = SPECIES_LUXRAY, + .heldItem = ITEM_ORAN_BERRY, + }, + { + .iv = 10, + .level = 26, + .species = SPECIES_WEAVILE, + .heldItem = ITEM_ORAN_BERRY, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Isabel2[2] = { + { + .iv = 200, + .level = 70, + .species = SPECIES_GORELAX, + .heldItem = ITEM_SALAC_BERRY, + }, + { + .iv = 200, + .level = 72, + .species = SPECIES_POLIWRAITH, + .heldItem = ITEM_LIECHI_BERRY, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Tarnation[2] = { + { + .iv = 230, + .level = 70, + .species = SPECIES_SHINIGAMI, + .heldItem = ITEM_LIECHI_BERRY, + }, + { + .iv = 230, + .level = 72, + .species = SPECIES_STITCHER, + .heldItem = ITEM_PETAYA_BERRY, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Hannah[2] = { + { + .iv = 240, + .level = 75, + .species = SPECIES_MIASMAR, + .heldItem = ITEM_SITRUS_BERRY, + }, + { + .iv = 240, + .level = 75, + .species = SPECIES_ELECTABUGS, + .heldItem = ITEM_SITRUS_BERRY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Guardian[1] = { + { + .iv = 255, + .level = 80, + .species = SPECIES_WALREIN, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Chloe2[1] = { + { + .iv = 210, + .level = 31, + .species = SPECIES_HOMBEAST, + .moves = { MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Perkins[1] = { + { + .iv = 220, + .level = 52, + .species = SPECIES_MIASMAR, + .moves = { MOVE_FIRE_PUMP, MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_MEGA_PUNCH }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Magdalene[1] = { + { + .iv = 230, + .level = 50, + .species = SPECIES_GRIMREAPER, + .moves = { MOVE_AERIAL_ACE, MOVE_FURY_CUTTER, MOVE_SLASH, MOVE_FOCUS_ENERGY }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Timothy[1] = { + { + .iv = 240, + .level = 40, + .species = SPECIES_HARIYAMA, + .moves = { MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Mugwin3[1] = { + { + .iv = 200, + .level = 34, + .species = SPECIES_MACHOKE, + .moves = { MOVE_SUBMISSION, MOVE_SCARY_FACE, MOVE_ICE_PUNCH, MOVE_PROTECT }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_QingXue[2] = { + { + .iv = 200, + .level = 35, + .species = SPECIES_BALTOY, + }, + { + .iv = 200, + .level = 36, + .species = SPECIES_SOLROCK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby1[2] = { + { + .iv = 210, + .level = 30, + .species = SPECIES_MEDITITE, + }, + { + .iv = 210, + .level = 30, + .species = SPECIES_MAKUHITA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kathy[2] = { + { + .iv = 220, + .level = 74, + .species = SPECIES_AZOMBARILL, + }, + { + .iv = 220, + .level = 75, + .species = SPECIES_YUCK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby2[2] = { + { + .iv = 230, + .level = 36, + .species = SPECIES_MEDICHAM, + }, + { + .iv = 230, + .level = 36, + .species = SPECIES_HARIYAMA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shelby3[2] = { + { + .iv = 240, + .level = 39, + .species = SPECIES_MEDICHAM, + }, + { + .iv = 240, + .level = 39, + .species = SPECIES_HARIYAMA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin1[1] = { + { + .iv = 0, + .level = 5, + .species = SPECIES_ZIGZAGOON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laurence[2] = { + { + .iv = 0, + .level = 6, + .species = SPECIES_SEEDOT, + }, + { + .iv = 0, + .level = 8, + .species = SPECIES_TAILLOW, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Josh[3] = { + { + .iv = 100, + .level = 10, + .species = SPECIES_GEODUDE, + .moves = { MOVE_TACKLE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + }, + { + .iv = 100, + .level = 8, + .species = SPECIES_GEODUDE, + .moves = { MOVE_TACKLE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + }, + { + .iv = 100, + .level = 6, + .species = SPECIES_GEODUDE, + .moves = { MOVE_TACKLE, MOVE_NONE, MOVE_NONE, MOVE_NONE }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tommy[1] = { + { + .iv = 100, + .level = 11, + .species = SPECIES_GEODUDE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Asmodeus[2] = { + { + .iv = 40, + .level = 16, + .species = SPECIES_ANORITH, + }, + { + .iv = 40, + .level = 17, + .species = SPECIES_ANORITH, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Ben[1] = { + { + .iv = 100, + .level = 19, + .species = SPECIES_ZIGZAGOON, + .moves = { MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_GROWL, MOVE_THUNDERBOLT }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Belial1[2] = { + { + .iv = 40, + .level = 16, + .species = SPECIES_ANORITH, + }, + { + .iv = 40, + .level = 17, + .species = SPECIES_ANORITH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kevin[2] = { + { + .iv = 0, + .level = 9, + .species = SPECIES_HYPEREGG, + }, + { + .iv = 0, + .level = 9, + .species = SPECIES_HYPEREGG, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Neal[2] = { + { + .iv = 200, + .level = 34, + .species = SPECIES_EYE_EYE, + }, + { + .iv = 200, + .level = 34, + .species = SPECIES_EYE_EYE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Footman6[1] = { + { + .iv = 0, + .level = 38, + .species = SPECIES_LAIRON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin2[1] = { + { + .iv = 10, + .level = 27, + .species = SPECIES_LINOONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin3[2] = { + { + .iv = 20, + .level = 28, + .species = SPECIES_SWELLOW, + }, + { + .iv = 20, + .level = 30, + .species = SPECIES_LINOONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clint[2] = { + { + .iv = 230, + .level = 74, + .species = SPECIES_ANTISPIRAL, + }, + { + .iv = 230, + .level = 74, + .species = SPECIES_ANTISPIRAL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Senex1[3] = { + { + .iv = 255, + .level = 52, + .species = SPECIES_TURMUR, + }, + { + .iv = 255, + .level = 54, + .species = SPECIES_LUCA_ZAMON, + }, + { + .iv = 255, + .level = 56, + .species = SPECIES_SHADERU, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eddie[2] = { + { + .iv = 0, + .level = 14, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_ZIGZAGOON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Allen[2] = { + { + .iv = 0, + .level = 5, + .species = SPECIES_BOILBASAUR, + }, + { + .iv = 0, + .level = 6, + .species = SPECIES_BOILBASAUR, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Footman7[3] = { + { + .iv = 0, + .level = 24, + .species = SPECIES_HOMBONE, + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_NOSEPASS, + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_NOSEPASS, + }, +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_FengLei[6] = { + { + .iv = 255, + .level = 64, + .species = SPECIES_HITMONTOP, + .heldItem = ITEM_SPIKED_GLOVE, + .moves = { MOVE_TRIPLE_KICK, MOVE_AERIAL_ACE, MOVE_RAPID_SPIN, MOVE_SCARY_FACE }, + }, + { + .iv = 255, + .level = 66, + .species = SPECIES_ROCLOBSTER, + .heldItem = ITEM_MEATY_BELL, + .moves = { MOVE_ROCK_SLIDE, MOVE_DRAGON_CLAW, MOVE_CRABHAMMER, MOVE_EARTHQUAKE }, + }, + { + .iv = 255, + .level = 66, + .species = SPECIES_RAMSHAKER, + .heldItem = ITEM_LEFTOVERS, + .moves = { MOVE_PSYCHIC, MOVE_TRI_ATTACK, MOVE_BRIGHT_IDEA, MOVE_DOUBLE_KICK }, + }, + { + .iv = 255, + .level = 68, + .species = SPECIES_BOUFFALANT, + .heldItem = ITEM_PLUS_BAND, + .moves = { MOVE_WILD_BOLT, MOVE_REVERSAL, MOVE_SWORDS_DANCE, MOVE_MEGAHORN }, + }, + { + .iv = 255, + .level = 68, + .species = SPECIES_RADIORANGE, + .heldItem = ITEM_SALAC_BERRY, + .moves = { MOVE_FIRE_PUMP, MOVE_CRAZY_BOLT, MOVE_FAINT_ATTACK, MOVE_EARTHQUAKE }, + }, + { + .iv = 255, + .level = 73, + .species = SPECIES_KINGMADIO, + .heldItem = ITEM_NONE, + .moves = { MOVE_SPLASH, MOVE_TOXIC, MOVE_NONE, MOVE_NONE }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_TimAndTina[4] = { + { + .iv = 100, + .level = 23, + .species = SPECIES_SHRIVLSAUR, + .moves = { MOVE_TACKLE, MOVE_LEECH_SEED, MOVE_VINE_WHIP, MOVE_DIG }, + }, + { + .iv = 100, + .level = 23, + .species = SPECIES_CHARMEWORM, + .moves = { MOVE_METAL_CLAW, MOVE_ATTRACT, MOVE_FIRE_PUNCH, MOVE_SCRATCH }, + }, + { + .iv = 100, + .level = 23, + .species = SPECIES_ELECTABUGS, + .moves = { MOVE_THUNDER_PUNCH, MOVE_MACH_PUNCH, MOVE_THUNDER_WAVE, MOVE_POUND }, + }, + { + .iv = 100, + .level = 23, + .species = SPECIES_EYE_EYE, + .moves = { MOVE_ICE_PUNCH, MOVE_LOVELY_KISS, MOVE_EXTRASENSORY, MOVE_POUND }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dunstan[3] = { + { + .iv = 0, + .level = 19, + .species = SPECIES_MAGIKARP, + }, + { + .iv = 0, + .level = 19, + .species = SPECIES_MAGIKARP, + }, + { + .iv = 0, + .level = 19, + .species = SPECIES_MAGIKARP, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Footman8[4] = { + { + .iv = 0, + .level = 28, + .species = SPECIES_HOMBONE, + }, + { + .iv = 0, + .level = 28, + .species = SPECIES_GEODUDE, + }, + { + .iv = 0, + .level = 28, + .species = SPECIES_ARON, + }, + { + .iv = 0, + .level = 28, + .species = SPECIES_RHYHORN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_SmashShot[3] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_MAKUHITA, + }, + { + .iv = 0, + .level = 20, + .species = SPECIES_MAKUHITA, + }, + { + .iv = 0, + .level = 24, + .species = SPECIES_HITMONTOP, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ned[1] = { + { + .iv = 0, + .level = 12, + .species = SPECIES_QWILFISH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mashima[4] = { + { + .iv = 0, + .level = 23, + .species = SPECIES_MUNCHLAX, + }, + { + .iv = 0, + .level = 23, + .species = SPECIES_MUNCHLAX, + }, + { + .iv = 0, + .level = 24, + .species = SPECIES_KIRLIA, + }, + { + .iv = 0, + .level = 24, + .species = SPECIES_KIRLIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Footman9[1] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_GRAVELER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Fernando[2] = { + { + .iv = 200, + .level = 39, + .species = SPECIES_MOULDER, + }, + { + .iv = 200, + .level = 39, + .species = SPECIES_YUCK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Oswald[1] = { + { + .iv = 200, + .level = 37, + .species = SPECIES_CARVANHA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ricardo[4] = { + { + .iv = 0, + .level = 22, + .species = SPECIES_GROWLITHE, + }, + { + .iv = 0, + .level = 22, + .species = SPECIES_PONYTA, + }, + { + .iv = 0, + .level = 23, + .species = SPECIES_SHINX, + }, + { + .iv = 0, + .level = 23, + .species = SPECIES_RATICATE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot1[3] = { + { + .iv = 10, + .level = 24, + .species = SPECIES_QWILFISH, + }, + { + .iv = 10, + .level = 27, + .species = SPECIES_GYARADOS, + }, + { + .iv = 10, + .level = 27, + .species = SPECIES_GYARADOS, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Temulence1[4] = { + { + .iv = 200, + .level = 48, + .species = SPECIES_GYARADOS, + }, + { + .iv = 200, + .level = 49, + .species = SPECIES_HARIYAMA, + }, + { + .iv = 200, + .level = 50, + .species = SPECIES_MACHAMP, + }, + { + .iv = 200, + .level = 51, + .species = SPECIES_ENTEI, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Elliot2[4] = { + { + .iv = 30, + .level = 31, + .species = SPECIES_GYARADOS, + }, + { + .iv = 30, + .level = 30, + .species = SPECIES_CARVANHA, + }, + { + .iv = 30, + .level = 30, + .species = SPECIES_QWILSHARK, + }, + { + .iv = 31, + .level = 31, + .species = SPECIES_GYARADOS, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_FiveNinja4[4] = { + { + .iv = 225, + .level = 50, + .species = SPECIES_SEVICIOUS, + }, + { + .iv = 240, + .level = 50, + .species = SPECIES_ROSELIA, + }, + { + .iv = 240, + .level = 50, + .species = SPECIES_NIDOQUEEN, + }, + { + .iv = 240, + .level = 50, + .species = SPECIES_QWILSHARK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Unbone[6] = { + { + .iv = 255, + .level = 70, + .species = SPECIES_LAPRAS, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_GYARADOS, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_VAPOREON, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_KABUTOPS, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_CROCONAW, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_SWAMPERT, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jacob[3] = { + { + .iv = 0, + .level = 7, + .species = SPECIES_VOLTORB, + }, + { + .iv = 0, + .level = 7, + .species = SPECIES_VOLTORB, + }, + { + .iv = 160, + .level = 15, + .species = SPECIES_MAGNEMITE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Anthony[2] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_MAGNEMITE, + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_MAGNEMITE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin1[1] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_MAGNEMITE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin2[1] = { + { + .iv = 10, + .level = 28, + .species = SPECIES_MAGNEMITE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin3[1] = { + { + .iv = 20, + .level = 31, + .species = SPECIES_MAGNEMITE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin4[1] = { + { + .iv = 30, + .level = 34, + .species = SPECIES_MAGNETON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin5[1] = { + { + .iv = 40, + .level = 37, + .species = SPECIES_MAGNETON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail1[1] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_MAGNEMITE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jasmine[3] = { + { + .iv = 80, + .level = 15, + .species = SPECIES_MAGNEMITE, + }, + { + .iv = 80, + .level = 15, + .species = SPECIES_MAGNEMITE, + }, + { + .iv = 0, + .level = 7, + .species = SPECIES_VOLTORB, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail2[1] = { + { + .iv = 10, + .level = 28, + .species = SPECIES_MAGNEMITE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail3[1] = { + { + .iv = 20, + .level = 31, + .species = SPECIES_MAGNEMITE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail4[1] = { + { + .iv = 30, + .level = 34, + .species = SPECIES_MAGNETON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail5[1] = { + { + .iv = 40, + .level = 37, + .species = SPECIES_MAGNETON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Heiwajima[1] = { + { + .iv = 200, + .level = 30, + .species = SPECIES_SNORLAX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan1[1] = { + { + .iv = 10, + .level = 28, + .species = SPECIES_DODUO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan2[1] = { + { + .iv = 20, + .level = 31, + .species = SPECIES_DODUO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan3[1] = { + { + .iv = 30, + .level = 34, + .species = SPECIES_DODRIO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan4[1] = { + { + .iv = 40, + .level = 37, + .species = SPECIES_DODRIO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria1[1] = { + { + .iv = 0, + .level = 18, + .species = SPECIES_DODUO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wayne[1] = { + { + .iv = 255, + .level = 75, + .species = SPECIES_SHINIGAMI, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Woody[1] = { + { + .iv = 255, + .level = 75, + .species = SPECIES_STITCHER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria2[1] = { + { + .iv = 30, + .level = 34, + .species = SPECIES_DODRIO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria3[1] = { + { + .iv = 40, + .level = 37, + .species = SPECIES_DODRIO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Monkley[4] = { + { + .iv = 100, + .level = 66, + .species = SPECIES_DEWGONG, + }, + { + .iv = 100, + .level = 66, + .species = SPECIES_DEWGONG, + }, + { + .iv = 100, + .level = 66, + .species = SPECIES_DEWGONG, + }, + { + .iv = 160, + .level = 69, + .species = SPECIES_LAPRAS, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_TheSheriff[4] = { + { + .iv = 200, + .level = 72, + .species = SPECIES_ANTISPIRAL, + }, + { + .iv = 200, + .level = 73, + .species = SPECIES_ANTISPIRAL, + }, + { + .iv = 200, + .level = 74, + .species = SPECIES_STITCHER, + }, + { + .iv = 250, + .level = 75, + .species = SPECIES_SHINIGAMI, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyrus[1] = { + { + .iv = 200, + .level = 70, + .species = SPECIES_GOLDUCK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_ManlyHero[1] = { + { + .iv = 255, + .level = 100, + .species = SPECIES_KAMINA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hunky_Dory[2] = { + { + .iv = 100, + .level = 66, + .species = SPECIES_PELIPPER, + }, + { + .iv = 180, + .level = 69, + .species = SPECIES_STARMIE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah1[1] = { + { + .iv = 10, + .level = 39, + .species = SPECIES_STARYU, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah2[1] = { + { + .iv = 20, + .level = 42, + .species = SPECIES_STARYU, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah3[1] = { + { + .iv = 30, + .level = 45, + .species = SPECIES_STARMIE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_MagnusVii[1] = { + { + .iv = 255, + .level = 78, + .species = SPECIES_STITCHER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Meteor2[6] = { + { + .iv = 255, + .level = 48, + .species = SPECIES_DRAGON, + }, + { + .iv = 255, + .level = 48, + .species = SPECIES_DRAGON, + }, + { + .iv = 255, + .level = 50, + .species = SPECIES_DRAGON, + }, + { + .iv = 255, + .level = 51, + .species = SPECIES_KINGDRA, + }, + { + .iv = 255, + .level = 52, + .species = SPECIES_ALTARIA, + }, + { + .iv = 255, + .level = 53, + .species = SPECIES_DRAGON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxine[4] = { + { + .iv = 0, + .level = 65, + .species = SPECIES_PELIPPER, + }, + { + .iv = 160, + .level = 65, + .species = SPECIES_STARMIE, + }, + { + .iv = 0, + .level = 65, + .species = SPECIES_PELIPPER, + }, + { + .iv = 160, + .level = 65, + .species = SPECIES_STARMIE, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Meteor3[1] = { + { + .iv = 200, + .level = 22, + .species = SPECIES_DRAGON, + .moves = { MOVE_DIG, MOVE_FIRE_PUMP, MOVE_DRAGON_BREATH, MOVE_FLY }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Perjury[1] = { + { + .iv = 212, + .level = 70, + .species = SPECIES_STARMIE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_MarieBain[4] = { + { + .iv = 200, + .level = 70, + .species = SPECIES_QUAGSIRE, + }, + { + .iv = 200, + .level = 70, + .species = SPECIES_PELIPPER, + }, + { + .iv = 240, + .level = 70, + .species = SPECIES_STARMIE, + }, + { + .iv = 200, + .level = 70, + .species = SPECIES_PELIPPER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn1[1] = { + { + .iv = 10, + .level = 39, + .species = SPECIES_STARYU, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn2[1] = { + { + .iv = 20, + .level = 42, + .species = SPECIES_STARYU, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn3[1] = { + { + .iv = 30, + .level = 45, + .species = SPECIES_STARMIE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn4[1] = { + { + .iv = 40, + .level = 48, + .species = SPECIES_STARMIE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas1[2] = { + { + .iv = 100, + .level = 38, + .species = SPECIES_ALTARIA, + }, + { + .iv = 100, + .level = 38, + .species = SPECIES_ALTARIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas2[2] = { + { + .iv = 110, + .level = 41, + .species = SPECIES_ALTARIA, + }, + { + .iv = 110, + .level = 41, + .species = SPECIES_ALTARIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicolas3[2] = { + { + .iv = 120, + .level = 44, + .species = SPECIES_ALTARIA, + }, + { + .iv = 120, + .level = 44, + .species = SPECIES_ALTARIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_NickyP[3] = { + { + .iv = 130, + .level = 73, + .species = SPECIES_EYE_EYE, + }, + { + .iv = 130, + .level = 73, + .species = SPECIES_EYE_EYE, + }, + { + .iv = 130, + .level = 73, + .species = SPECIES_EYE_EYE, + }, +}; + +const struct TrainerMonItemDefaultMoves gTrainerParty_Fortuno[3] = { + { + .iv = 140, + .level = 73, + .species = SPECIES_EYE_EYE, + .heldItem = ITEM_RAINBOWFROST, + }, + { + .iv = 140, + .level = 73, + .species = SPECIES_EYE_EYE, + .heldItem = ITEM_MEWTWO_BRAIN, + }, + { + .iv = 140, + .level = 73, + .species = SPECIES_EYE_EYE, + .heldItem = ITEM_RAINBOWFROST, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_LiuBei[1] = { + { + .iv = 255, + .level = 75, + .species = SPECIES_METAGROSS, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jaime[1] = { + { + .iv = 200, + .level = 43, + .species = SPECIES_IRONREAPER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hughie[1] = { + { + .iv = 255, + .level = 43, + .species = SPECIES_POLIWRAITH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Philip[3] = { + { + .iv = 200, + .level = 40, + .species = SPECIES_GRIMREAPER, + }, + { + .iv = 200, + .level = 40, + .species = SPECIES_AZOMBARILL, + }, + { + .iv = 200, + .level = 40, + .species = SPECIES_ELECTABUGS, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jared[1] = { + { + .iv = 255, + .level = 48, + .species = SPECIES_GIGAWOLF, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mitchell[4] = { + { + .iv = 200, + .level = 73, + .species = SPECIES_EYE_EYE, + }, + { + .iv = 200, + .level = 73, + .species = SPECIES_EYE_EYE, + }, + { + .iv = 100, + .level = 73, + .species = SPECIES_EYE_EYE, + }, + { + .iv = 200, + .level = 73, + .species = SPECIES_EYE_EYE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tanner[3] = { + { + .iv = 100, + .level = 30, + .species = SPECIES_SWABLU, + }, + { + .iv = 100, + .level = 30, + .species = SPECIES_SWABLU, + }, + { + .iv = 100, + .level = 30, + .species = SPECIES_WINGULL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Will[3] = { + { + .iv = 100, + .level = 28, + .species = SPECIES_WINGULL, + }, + { + .iv = 100, + .level = 28, + .species = SPECIES_SWELLOW, + }, + { + .iv = 100, + .level = 28, + .species = SPECIES_PELIPPER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_MaybeWitch[2] = { + { + .iv = 200, + .level = 41, + .species = SPECIES_XATU, + }, + { + .iv = 200, + .level = 43, + .species = SPECIES_GENGAR, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_BadFairy[1] = { + { + .iv = 255, + .level = 46, + .species = SPECIES_CLEFABLE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benny2[3] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_SWELLOW, + }, + { + .iv = 0, + .level = 36, + .species = SPECIES_PELIPPER, + }, + { + .iv = 0, + .level = 36, + .species = SPECIES_XATU, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hester[2] = { + { + .iv = 200, + .level = 39, + .species = SPECIES_HEADDOOM, + }, + { + .iv = 200, + .level = 42, + .species = SPECIES_GRIMREAPER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gleis2[2] = { + { + .iv = 10, + .level = 32, + .species = SPECIES_NATU, + }, + { + .iv = 10, + .level = 32, + .species = SPECIES_SWABLU, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Temulence2[2] = { + { + .iv = 20, + .level = 35, + .species = SPECIES_NATU, + }, + { + .iv = 20, + .level = 35, + .species = SPECIES_ALTARIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robert[2] = { + { + .iv = 30, + .level = 38, + .species = SPECIES_NATU, + }, + { + .iv = 30, + .level = 38, + .species = SPECIES_ALTARIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Burke[5] = { + { + .iv = 240, + .level = 75, + .species = SPECIES_FORRETRESS, + }, + { + .iv = 240, + .level = 76, + .species = SPECIES_STEELIX, + }, + { + .iv = 245, + .level = 77, + .species = SPECIES_IRONREAPER, + }, + { + .iv = 250, + .level = 78, + .species = SPECIES_PRIMEAPE, + }, + { + .iv = 255, + .level = 80, + .species = SPECIES_EXCADRILL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ostafan[4] = { + { + .iv = 200, + .level = 64, + .species = SPECIES_PERSIAN, + }, + { + .iv = 100, + .level = 64, + .species = SPECIES_PERSIAN, + }, + { + .iv = 100, + .level = 66, + .species = SPECIES_PERSIAN, + }, + { + .iv = 200, + .level = 66, + .species = SPECIES_PERSIAN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Deckard[2] = { + { + .iv = 200, + .level = 68, + .species = SPECIES_BRELOOM, + }, + { + .iv = 200, + .level = 68, + .species = SPECIES_CRAWDAUNT, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Roger[1] = { + { + .iv = 250, + .level = 44, + .species = SPECIES_AZOMBARILL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bret[3] = { + { + .iv = 200, + .level = 38, + .species = SPECIES_EYE_EYE, + }, + { + .iv = 200, + .level = 38, + .species = SPECIES_EYE_EYE, + }, + { + .iv = 200, + .level = 38, + .species = SPECIES_EYE_EYE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Makoto[1] = { + { + .iv = 0, + .level = 23, + .species = SPECIES_SECRETEGG, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hideo[4] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_SECRETEGG, + }, + { + .iv = 0, + .level = 20, + .species = SPECIES_KAJILIANTH, + }, + { + .iv = 0, + .level = 20, + .species = SPECIES_TRAPINCH, + }, + { + .iv = 0, + .level = 20, + .species = SPECIES_SECRETEGG, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Tancred[4] = { + { + .iv = 200, + .level = 33, + .species = SPECIES_EYE_EYE, + .moves = { MOVE_LOVELY_KISS, MOVE_PSYCHIC, MOVE_SWEET_KISS, MOVE_ICE_PUNCH }, + }, + { + .iv = 200, + .level = 33, + .species = SPECIES_EYE_EYE, + .moves = { MOVE_LOVELY_KISS, MOVE_PSYCHIC, MOVE_SWEET_KISS, MOVE_ICE_PUNCH }, + }, + { + .iv = 200, + .level = 35, + .species = SPECIES_EYE_EYE, + .moves = { MOVE_LOVELY_KISS, MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_SWEET_KISS }, + }, + { + .iv = 200, + .level = 37, + .species = SPECIES_EYE_EYE, + .moves = { MOVE_ICE_BEAM, MOVE_PSYCHIC, MOVE_LOVELY_KISS, MOVE_SWEET_KISS }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charles[2] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_EYE_EYE, + }, + { + .iv = 0, + .level = 35, + .species = SPECIES_EYE_EYE, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao1[4] = { + { + .iv = 0, + .level = 24, + .species = SPECIES_KOFFING, + .moves = { MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT }, + }, + { + .iv = 0, + .level = 24, + .species = SPECIES_KOFFING, + .moves = { MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE }, + }, + { + .iv = 0, + .level = 24, + .species = SPECIES_KOFFING, + .moves = { MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT }, + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_KOFFING, + .moves = { MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Lao2[4] = { + { + .iv = 20, + .level = 27, + .species = SPECIES_KOFFING, + .moves = { MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT }, + }, + { + .iv = 20, + .level = 27, + .species = SPECIES_KOFFING, + .moves = { MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT }, + }, + { + .iv = 20, + .level = 27, + .species = SPECIES_KOFFING, + .moves = { MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE }, + }, + { + .iv = 20, + .level = 29, + .species = SPECIES_KOFFING, + .moves = { MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Schwartz1[4] = { + { + .iv = 230, + .level = 75, + .species = SPECIES_PSYPIG, + .moves = { MOVE_PSYCHIC, MOVE_FIRE_BLAST, MOVE_THUNDERBOLT, MOVE_SUNNY_DAY }, + }, + { + .iv = 230, + .level = 75, + .species = SPECIES_MILOTIC, + .moves = { MOVE_STORM_SURGE, MOVE_EXTRASENSORY, MOVE_RECOVER, MOVE_REFRESH }, + }, + { + .iv = 255, + .level = 75, + .species = SPECIES_STARMIE, + .moves = { MOVE_SURF, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM }, + }, + { + .iv = 230, + .level = 75, + .species = SPECIES_SMEARGLE, + .moves = { MOVE_INGRAIN, MOVE_SLASH, MOVE_ROCK_SLIDE, MOVE_SUPERPOWER }, + }, +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Schwartz2[5] = { + { + .iv = 255, + .level = 76, + .species = SPECIES_KABUTOPS, + .heldItem = ITEM_POWER_HAT, + .moves = { MOVE_SLASH, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_SKULLBREAKER }, + }, + { + .iv = 255, + .level = 77, + .species = SPECIES_RHYDON, + .heldItem = ITEM_VOLCANO_POT, + .moves = { MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_ROCK_SLIDE, MOVE_MEGAHORN }, + }, + { + .iv = 255, + .level = 78, + .species = SPECIES_ROCLOBSTER, + .heldItem = ITEM_TREASURE_BALL, + .moves = { MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_OUTRAGE, MOVE_SWORDS_DANCE }, + }, + { + .iv = 255, + .level = 79, + .species = SPECIES_ARMALDO, + .heldItem = ITEM_FLASH_SCALES, + .moves = { MOVE_ROCK_BLAST, MOVE_SIGNAL_BEAM, MOVE_BRICK_BREAK, MOVE_DOUBLE_EDGE }, + }, + { + .iv = 255, + .level = 86, + .species = SPECIES_CRADILY, + .heldItem = ITEM_LEFTOVERS, + .moves = { MOVE_INGRAIN, MOVE_SANDSTORM, MOVE_LEECH_SEED, MOVE_MEGA_DRAIN }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tyrone[3] = { + { + .iv = 100, + .level = 16, + .species = SPECIES_SHINX, + }, + { + .iv = 100, + .level = 16, + .species = SPECIES_SHINX, + }, + { + .iv = 100, + .level = 18, + .species = SPECIES_LUXIO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matteo[1] = { + { + .iv = 100, + .level = 22, + .species = SPECIES_MEOWTH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laura[2] = { + { + .iv = 255, + .level = 16, + .species = SPECIES_ZANGOOSE, + }, + { + .iv = 255, + .level = 17, + .species = SPECIES_DELCATTY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cora[1] = { + { + .iv = 100, + .level = 27, + .species = SPECIES_MEDITITE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jill[1] = { + { + .iv = 100, + .level = 27, + .species = SPECIES_BRELOOM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy1[2] = { + { + .iv = 110, + .level = 26, + .species = SPECIES_MEDITITE, + }, + { + .iv = 110, + .level = 26, + .species = SPECIES_MAKUHITA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cyndy2[2] = { + { + .iv = 120, + .level = 29, + .species = SPECIES_MEDITITE, + }, + { + .iv = 120, + .level = 29, + .species = SPECIES_MAKUHITA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Schwartz3[2] = { + { + .iv = 230, + .level = 75, + .species = SPECIES_LUXRAY, + }, + { + .iv = 230, + .level = 75, + .species = SPECIES_WEAVILE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Schwartz4[2] = { + { + .iv = 240, + .level = 75, + .species = SPECIES_GLALIE, + }, + { + .iv = 240, + .level = 75, + .species = SPECIES_LAPRAS, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Vinnie[1] = { + { + .iv = 255, + .level = 41, + .species = SPECIES_EYE_EYE, + .moves = { MOVE_ICE_BEAM, MOVE_PSYCHIC, MOVE_LOVELY_KISS, MOVE_DREAM_EATER }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_AngelWitch[2] = { + { + .iv = 200, + .level = 44, + .species = SPECIES_XATU, + }, + { + .iv = 200, + .level = 44, + .species = SPECIES_GARDEVOIR, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_EastWitch[1] = { + { + .iv = 255, + .level = 45, + .species = SPECIES_BANETTE, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline1[1] = { + { + .iv = 10, + .level = 27, + .species = SPECIES_HOMBONE, + .moves = { MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Stanislaus[1] = { + { + .iv = 200, + .level = 75, + .species = SPECIES_METAGROSS, + .moves = { MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_AGILITY }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Boss[2] = { + { + .iv = 230, + .level = 75, + .species = SPECIES_AGGRON, + .moves = { MOVE_BODY_SLAM, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_IRON_TAIL }, + }, + { + .iv = 230, + .level = 75, + .species = SPECIES_MAGNETON, + .moves = { MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_HIDDEN_POWER, MOVE_TRI_ATTACK }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Madeline2[2] = { + { + .iv = 40, + .level = 35, + .species = SPECIES_ROSELIA, + .moves = { MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY }, + }, + { + .iv = 40, + .level = 35, + .species = SPECIES_HOMBEAST, + .moves = { MOVE_FIRE_PUMP, MOVE_TAKE_DOWN, MOVE_EARTHQUAKE, MOVE_SUNNY_DAY }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beverly[2] = { + { + .iv = 0, + .level = 18, + .species = SPECIES_WAILMER, + }, + { + .iv = 0, + .level = 18, + .species = SPECIES_WAILMER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dawn[1] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_SEALEO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beatrice[1] = { + { + .iv = 150, + .level = 16, + .species = SPECIES_WAILMER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Denise[1] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_WINGULL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Beth[3] = { + { + .iv = 0, + .level = 25, + .species = SPECIES_GRAVEILL, + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_GOLDEEN, + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_WINGULL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kris[2] = { + { + .iv = 0, + .level = 22, + .species = SPECIES_TOTODILE, + }, + { + .iv = 0, + .level = 22, + .species = SPECIES_WOOPER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jesus[3] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_MEOWTH, + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_MEOWTH, + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_MEOWTH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alice[3] = { + { + .iv = 0, + .level = 25, + .species = SPECIES_GOLDEEN, + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_WINGULL, + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_GOLDEEN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Worcesteria[1] = { + { + .iv = 160, + .level = 70, + .species = SPECIES_CRAWDAUNT, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_HuaJiao[3] = { + { + .iv = 255, + .level = 70, + .species = SPECIES_CLAYDOL, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_GRUMPIG, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_ALAKAZAM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tanya[1] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_LUVDISC, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sharon[2] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_GOLDEEN, + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_SEAKING, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Endless[3] = { + { + .iv = 120, + .level = 67, + .species = SPECIES_SHARPEDO, + }, + { + .iv = 120, + .level = 67, + .species = SPECIES_WAILORD, + }, + { + .iv = 120, + .level = 67, + .species = SPECIES_WALREIN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kotokabe[1] = { + { + .iv = 100, + .level = 70, + .species = SPECIES_SEAKING, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catalana[3] = { + { + .iv = 200, + .level = 67, + .species = SPECIES_BASCULIN, + }, + { + .iv = 200, + .level = 67, + .species = SPECIES_BASCULIN, + }, + { + .iv = 200, + .level = 67, + .species = SPECIES_BASCULIN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Creperie[3] = { + { + .iv = 200, + .level = 66, + .species = SPECIES_KINGDRA, + }, + { + .iv = 200, + .level = 66, + .species = SPECIES_KINGLER, + }, + { + .iv = 200, + .level = 66, + .species = SPECIES_WHISCASH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dongiga[1] = { + { + .iv = 200, + .level = 80, + .species = SPECIES_SEAKING, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Danapix[3] = { + { + .iv = 100, + .level = 67, + .species = SPECIES_GYARADOS, + }, + { + .iv = 100, + .level = 67, + .species = SPECIES_GYARADOS, + }, + { + .iv = 100, + .level = 67, + .species = SPECIES_GYARADOS, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Erin[1] = { + { + .iv = 0, + .level = 38, + .species = SPECIES_WAILMER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Meadowbreak[2] = { + { + .iv = 200, + .level = 67, + .species = SPECIES_SEAKING, + }, + { + .iv = 200, + .level = 67, + .species = SPECIES_KINGDRA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_BakaNeko[2] = { + { + .iv = 130, + .level = 65, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 200, + .level = 68, + .species = SPECIES_WEAVILE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kaylee[2] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_LANTURN, + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_PELIPPER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Balboon[3] = { + { + .iv = 0, + .level = 70, + .species = SPECIES_LUVDISC, + }, + { + .iv = 0, + .level = 70, + .species = SPECIES_LUVDISC, + }, + { + .iv = 0, + .level = 70, + .species = SPECIES_LUVDISC, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Darcy[1] = { + { + .iv = 0, + .level = 13, + .species = SPECIES_GOLDEEN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny1[1] = { + { + .iv = 0, + .level = 38, + .species = SPECIES_WAILMER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny2[1] = { + { + .iv = 0, + .level = 41, + .species = SPECIES_WAILMER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny3[2] = { + { + .iv = 0, + .level = 43, + .species = SPECIES_STARYU, + }, + { + .iv = 0, + .level = 43, + .species = SPECIES_WAILMER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny4[3] = { + { + .iv = 0, + .level = 45, + .species = SPECIES_LUVDISC, + }, + { + .iv = 0, + .level = 45, + .species = SPECIES_WAILMER, + }, + { + .iv = 0, + .level = 45, + .species = SPECIES_STARMIE, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Nakajima[2] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_SNORLAX, + .moves = { MOVE_BELLY_DRUM, MOVE_BODY_SLAM, MOVE_REST, MOVE_SNORE }, + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_GARDEVOIR, + .moves = { MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_CALM_MIND, MOVE_LIGHT_SCREEN }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Shizuo[1] = { + { + .iv = 255, + .level = 34, + .species = SPECIES_KIRLIA, + .moves = { MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_CALM_MIND, MOVE_FLASH }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lenna[2] = { + { + .iv = 0, + .level = 28, + .species = SPECIES_TAILLOW, + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_PELIPPER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Footman10[2] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_SLUGMA, + }, + { + .iv = 0, + .level = 36, + .species = SPECIES_HOMBONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Martha[2] = { + { + .iv = 0, + .level = 23, + .species = SPECIES_SKITTY, + }, + { + .iv = 0, + .level = 23, + .species = SPECIES_SWABLU, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_YongShui[3] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_BALTOY, + }, + { + .iv = 0, + .level = 31, + .species = SPECIES_MEDITITE, + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_BALTOY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nina[2] = { + { + .iv = 0, + .level = 9, + .species = SPECIES_SWABLU, + }, + { + .iv = 0, + .level = 9, + .species = SPECIES_ZIGZAGOON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ryuugamine[2] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_MUNCHLAX, + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_KIRLIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana1[3] = { + { + .iv = 10, + .level = 25, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 10, + .level = 25, + .species = SPECIES_GLOOM, + }, + { + .iv = 10, + .level = 25, + .species = SPECIES_SWABLU, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana2[3] = { + { + .iv = 20, + .level = 28, + .species = SPECIES_BRELOOM, + }, + { + .iv = 20, + .level = 28, + .species = SPECIES_GLOOM, + }, + { + .iv = 20, + .level = 28, + .species = SPECIES_SWABLU, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana3[3] = { + { + .iv = 30, + .level = 31, + .species = SPECIES_BRELOOM, + }, + { + .iv = 30, + .level = 31, + .species = SPECIES_GLOOM, + }, + { + .iv = 30, + .level = 31, + .species = SPECIES_SWABLU, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Diana4[3] = { + { + .iv = 40, + .level = 40, + .species = SPECIES_BRELOOM, + }, + { + .iv = 40, + .level = 40, + .species = SPECIES_VILEPLUME, + }, + { + .iv = 40, + .level = 40, + .species = SPECIES_ALTARIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Akagi[2] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_MUNCHLAX, + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_KIRLIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv1[2] = { + { + .iv = 10, + .level = 27, + .species = SPECIES_LUXRAY, + }, + { + .iv = 10, + .level = 27, + .species = SPECIES_WEAVILE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_DougAndLola[2] = { + { + .iv = 0, + .level = 10, + .species = SPECIES_SHRIVLSAUR, + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_ENTRAILTLE, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Mirai[2] = { + { + .iv = 250, + .level = 43, + .species = SPECIES_ROODANSE, + .moves = { MOVE_FLY, MOVE_AIR_CUTTER, MOVE_SLASH, MOVE_WHIRLWIND }, + }, + { + .iv = 250, + .level = 43, + .species = SPECIES_FANGASU, + .moves = { MOVE_EXTREME_SPEED, MOVE_HEADBUTT, MOVE_HORN_ATTACK, MOVE_NONE }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv2[2] = { + { + .iv = 0, + .level = 9, + .species = SPECIES_LUXRAY, + }, + { + .iv = 0, + .level = 9, + .species = SPECIES_WEAVILE, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_GinaAndMia[2] = { + { + .iv = 0, + .level = 10, + .species = SPECIES_DUSKULL, + .moves = { MOVE_NIGHT_SHADE, MOVE_DISABLE, MOVE_NONE, MOVE_NONE }, + }, + { + .iv = 0, + .level = 10, + .species = SPECIES_SHROOMISH, + .moves = { MOVE_ABSORB, MOVE_LEECH_SEED, MOVE_NONE, MOVE_NONE }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_AmyAndLiv3[2] = { + { + .iv = 20, + .level = 30, + .species = SPECIES_LUXRAY, + }, + { + .iv = 20, + .level = 30, + .species = SPECIES_WEAVILE, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv4[2] = { + { + .iv = 30, + .level = 33, + .species = SPECIES_LUXRAY, + .moves = { MOVE_SPARK, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND }, + }, + { + .iv = 30, + .level = 33, + .species = SPECIES_WEAVILE, + .moves = { MOVE_SPARK, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_AmyAndLiv5[2] = { + { + .iv = 40, + .level = 36, + .species = SPECIES_LUXRAY, + .moves = { MOVE_DISCHARGE, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND }, + }, + { + .iv = 40, + .level = 36, + .species = SPECIES_WEAVILE, + .moves = { MOVE_DISCHARGE, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pious[1] = { + { + .iv = 0, + .level = 25, + .species = SPECIES_MEOWTH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barrabas[3] = { + { + .iv = 0, + .level = 22, + .species = SPECIES_SURSKIT, + }, + { + .iv = 0, + .level = 23, + .species = SPECIES_TAILLOW, + }, + { + .iv = 0, + .level = 24, + .species = SPECIES_WINGULL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest1[3] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_WINGULL, + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_QWILFISH, + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_MACHOKE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dwayne[3] = { + { + .iv = 0, + .level = 11, + .species = SPECIES_WINGULL, + }, + { + .iv = 0, + .level = 11, + .species = SPECIES_MACHOP, + }, + { + .iv = 0, + .level = 11, + .species = SPECIES_QWILFISH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Phillip[2] = { + { + .iv = 0, + .level = 44, + .species = SPECIES_QWILSHARK, + }, + { + .iv = 0, + .level = 44, + .species = SPECIES_MACHOKE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonard[3] = { + { + .iv = 0, + .level = 43, + .species = SPECIES_MACHOP, + }, + { + .iv = 0, + .level = 43, + .species = SPECIES_PELIPPER, + }, + { + .iv = 0, + .level = 43, + .species = SPECIES_MACHOKE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Formaggio[2] = { + { + .iv = 200, + .level = 65, + .species = SPECIES_WAILORD, + }, + { + .iv = 200, + .level = 65, + .species = SPECIES_PERSIAN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest2[3] = { + { + .iv = 10, + .level = 36, + .species = SPECIES_WINGULL, + }, + { + .iv = 10, + .level = 36, + .species = SPECIES_QWILFISH, + }, + { + .iv = 10, + .level = 36, + .species = SPECIES_MACHOKE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest3[3] = { + { + .iv = 20, + .level = 39, + .species = SPECIES_PELIPPER, + }, + { + .iv = 20, + .level = 39, + .species = SPECIES_QWILFISH, + }, + { + .iv = 20, + .level = 39, + .species = SPECIES_MACHOKE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest4[3] = { + { + .iv = 30, + .level = 42, + .species = SPECIES_PELIPPER, + }, + { + .iv = 30, + .level = 42, + .species = SPECIES_QWILFISH, + }, + { + .iv = 30, + .level = 42, + .species = SPECIES_MACHOKE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ernest5[3] = { + { + .iv = 40, + .level = 45, + .species = SPECIES_PELIPPER, + }, + { + .iv = 40, + .level = 45, + .species = SPECIES_MACHOKE, + }, + { + .iv = 40, + .level = 45, + .species = SPECIES_QWILSHARK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_1[2] = { + { + .iv = 0, + .level = 22, + .species = SPECIES_ROSELIA, + }, + { + .iv = 0, + .level = 22, + .species = SPECIES_ROSELIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_2[3] = { + { + .iv = 0, + .level = 21, + .species = SPECIES_ROSELIA, + }, + { + .iv = 0, + .level = 21, + .species = SPECIES_ROSELIA, + }, + { + .iv = 0, + .level = 21, + .species = SPECIES_ROSELIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_3[1] = { + { + .iv = 0, + .level = 23, + .species = SPECIES_ROSELIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sonny[1] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_SPHEAL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Donovan[2] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_SPHEAL, + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_SPHEAL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gerald[3] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_SPHEAL, + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_SPHEAL, + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_SPHEAL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kelvin[2] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_SPHEAL, + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_SPHEAL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kody[3] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_SPHEAL, + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_SPHEAL, + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_SPHEAL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tevin[1] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_SPHEAL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Damon[2] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_SPHEAL, + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_SPHEAL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pablo[1] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_SPHEAL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Footman11[2] = { + { + .iv = 0, + .level = 25, + .species = SPECIES_HOMBONE, + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_LUNATONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hector1[1] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_ZANGOOSE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hector2[1] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_SEVIPER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin1[2] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_SNORLAX, + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_NUZLEAF, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin2[2] = { + { + .iv = 0, + .level = 29, + .species = SPECIES_SNORLAX, + }, + { + .iv = 0, + .level = 29, + .species = SPECIES_NUZLEAF, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin3[2] = { + { + .iv = 0, + .level = 32, + .species = SPECIES_SNORLAX, + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_NUZLEAF, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Edwin4[2] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_SKYLAX, + }, + { + .iv = 0, + .level = 35, + .species = SPECIES_SHIFTRY, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Temulence3[5] = { + { + .iv = 250, + .level = 52, + .species = SPECIES_GYARADOS, + .moves = { MOVE_SURF, MOVE_FURY_DANCE, MOVE_EARTHQUAKE, MOVE_THRASH }, + }, + { + .iv = 250, + .level = 52, + .species = SPECIES_HARIYAMA, + .moves = { MOVE_BELLY_DRUM, MOVE_FRUSTRATION, MOVE_ARM_THRUST, MOVE_FAINT_ATTACK }, + }, + { + .iv = 250, + .level = 53, + .species = SPECIES_MACHAMP, + .moves = { MOVE_DYNAMIC_PUNCH, MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_SCARY_FACE }, + }, + { + .iv = 250, + .level = 55, + .species = SPECIES_RHYDON, + .moves = { MOVE_SKULLBREAKER, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_CURSE }, + }, + { + .iv = 250, + .level = 57, + .species = SPECIES_ENTEI, + .moves = { MOVE_CALM_MIND, MOVE_EXTRASENSORY, MOVE_FIRE_BLAST, MOVE_FIRE_PUMP }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bert[1] = { + { + .iv = 200, + .level = 42, + .species = SPECIES_MIASMAR, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan1[3] = { + { + .iv = 50, + .level = 18, + .species = SPECIES_HOMBONE, + }, + { + .iv = 50, + .level = 18, + .species = SPECIES_WAILMER, + }, + { + .iv = 100, + .level = 20, + .species = SPECIES_GROVYLE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan2[3] = { + { + .iv = 100, + .level = 29, + .species = SPECIES_HOMBONE, + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_WAILMER, + }, + { + .iv = 150, + .level = 31, + .species = SPECIES_GROVYLE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan3[1] = { + { + .iv = 0, + .level = 5, + .species = SPECIES_TORCHIC, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan4[3] = { + { + .iv = 50, + .level = 18, + .species = SPECIES_WAILMER, + }, + { + .iv = 50, + .level = 18, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 100, + .level = 20, + .species = SPECIES_COMBUSKEN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan5[3] = { + { + .iv = 100, + .level = 29, + .species = SPECIES_WAILMER, + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 150, + .level = 31, + .species = SPECIES_COMBUSKEN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan6[1] = { + { + .iv = 0, + .level = 5, + .species = SPECIES_MUDKIP, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan7[3] = { + { + .iv = 50, + .level = 18, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 50, + .level = 18, + .species = SPECIES_HOMBONE, + }, + { + .iv = 100, + .level = 20, + .species = SPECIES_MARSHTOMP, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan8[3] = { + { + .iv = 100, + .level = 29, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_HOMBONE, + }, + { + .iv = 150, + .level = 31, + .species = SPECIES_MARSHTOMP, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_AliciaUnknown[1] = { + { + .iv = 50, + .level = 5, + .species = SPECIES_SNEASEL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alicia1[3] = { + { + .iv = 50, + .level = 10, + .species = SPECIES_SABLEYE, + }, + { + .iv = 50, + .level = 10, + .species = SPECIES_SHUPPET, + }, + { + .iv = 100, + .level = 15, + .species = SPECIES_SNEASEL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alicia2[4] = { + { + .iv = 100, + .level = 29, + .species = SPECIES_SABLEYE, + }, + { + .iv = 100, + .level = 32, + .species = SPECIES_BANETTE, + }, + { + .iv = 150, + .level = 35, + .species = SPECIES_DUSKULL, + }, + { + .iv = 200, + .level = 38, + .species = SPECIES_SNEASEL, + }, +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_War[6] = { + { + .iv = 255, + .level = 39, + .species = SPECIES_SABLEYE, + .heldItem = ITEM_SITRUS_BERRY, + .moves = { MOVE_CRYSTALSTORM, MOVE_PROTECT, MOVE_SHADOW_SWIPE, MOVE_FAINT_ATTACK }, + }, + { + .iv = 255, + .level = 40, + .species = SPECIES_BANETTE, + .heldItem = ITEM_CURSED_SKULL, + .moves = { MOVE_KARATE_CHOP, MOVE_GLARE, MOVE_SHADOW_SWIPE, MOVE_KNOCK_OFF }, + }, + { + .iv = 255, + .level = 41, + .species = SPECIES_DUSCLOPS, + .heldItem = ITEM_LEFTOVERS, + .moves = { MOVE_SHADOW_SWIPE, MOVE_TOXIC, MOVE_PROTECT, MOVE_ENDURE }, + }, + { + .iv = 255, + .level = 41, + .species = SPECIES_WEAVILE, + .heldItem = ITEM_CHAOS_OF_ODEN, + .moves = { MOVE_ICE_PUNCH, MOVE_SHADOW_SWIPE, MOVE_FAINT_ATTACK, MOVE_SLASH }, + }, + { + .iv = 255, + .level = 42, + .species = SPECIES_GENGAR, + .heldItem = ITEM_SNIPE_SCOPE, + .moves = { MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB }, + }, + { + .iv = 255, + .level = 44, + .species = SPECIES_GIGAWOLF, + .heldItem = ITEM_MEATY_BELL, + .moves = { MOVE_SHADOW_SWIPE, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_SWORDS_DANCE }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May1[3] = { + { + .iv = 50, + .level = 18, + .species = SPECIES_WAILMER, + }, + { + .iv = 50, + .level = 18, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 100, + .level = 20, + .species = SPECIES_COMBUSKEN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May2[3] = { + { + .iv = 100, + .level = 29, + .species = SPECIES_WAILMER, + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 150, + .level = 31, + .species = SPECIES_COMBUSKEN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May3[1] = { + { + .iv = 0, + .level = 5, + .species = SPECIES_MUDKIP, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May4[3] = { + { + .iv = 50, + .level = 18, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 50, + .level = 18, + .species = SPECIES_HOMBONE, + }, + { + .iv = 100, + .level = 20, + .species = SPECIES_MARSHTOMP, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May5[3] = { + { + .iv = 100, + .level = 29, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_HOMBONE, + }, + { + .iv = 150, + .level = 31, + .species = SPECIES_MARSHTOMP, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac1[6] = { + { + .iv = 0, + .level = 12, + .species = SPECIES_WHISMUR, + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_ARON, + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_TAILLOW, + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_MAKUHITA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Riley[3] = { + { + .iv = 0, + .level = 15, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 0, + .level = 15, + .species = SPECIES_SPINDA, + }, + { + .iv = 0, + .level = 15, + .species = SPECIES_POOCHYENA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aidan[2] = { + { + .iv = 0, + .level = 13, + .species = SPECIES_SEEDOT, + }, + { + .iv = 0, + .level = 13, + .species = SPECIES_NUZLEAF, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac2[6] = { + { + .iv = 10, + .level = 22, + .species = SPECIES_LOUDRED, + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_LINOONE, + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_ARON, + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_SWELLOW, + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_MAKUHITA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac3[6] = { + { + .iv = 20, + .level = 25, + .species = SPECIES_LOUDRED, + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_LINOONE, + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_ARON, + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_SWELLOW, + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_HARIYAMA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac4[6] = { + { + .iv = 30, + .level = 28, + .species = SPECIES_LOUDRED, + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_LINOONE, + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_ARON, + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_SWELLOW, + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_HARIYAMA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaac5[6] = { + { + .iv = 40, + .level = 31, + .species = SPECIES_LOUDRED, + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_LINOONE, + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_LAIRON, + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_SWELLOW, + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_HARIYAMA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hiroaki[6] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_MUNCHLAX, + }, + { + .iv = 0, + .level = 24, + .species = SPECIES_MUNCHLAX, + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_MUNCHLAX, + }, + { + .iv = 0, + .level = 28, + .species = SPECIES_MUNCHLAX, + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_KIRLIA, + }, + { + .iv = 0, + .level = 28, + .species = SPECIES_KIRLIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alexia[2] = { + { + .iv = 0, + .level = 13, + .species = SPECIES_MUNCHLAX, + }, + { + .iv = 0, + .level = 13, + .species = SPECIES_SNORLAX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Danielle[1] = { + { + .iv = 0, + .level = 24, + .species = SPECIES_SKITTY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia1[6] = { + { + .iv = 10, + .level = 22, + .species = SPECIES_WINGULL, + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_GRAVEILL, + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_ROSELIA, + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_SKITTY, + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_GOLDEEN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia2[6] = { + { + .iv = 20, + .level = 25, + .species = SPECIES_PELIPPER, + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_BRELOOM, + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_GRAVEILL, + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_ROSELIA, + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_DELCATTY, + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_GOLDEEN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia3[6] = { + { + .iv = 30, + .level = 28, + .species = SPECIES_PELIPPER, + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_BRELOOM, + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_GRAVEILL, + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_ROSELIA, + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_DELCATTY, + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_GOLDEEN, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lydia4[6] = { + { + .iv = 40, + .level = 31, + .species = SPECIES_PELIPPER, + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_BRELOOM, + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_AZOMBARILL, + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_ROSELIA, + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_DELCATTY, + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_SEAKING, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_YulVarin[1] = { + { + .iv = 250, + .level = 44, + .species = SPECIES_BRELOOM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_SwineWitch[3] = { + { + .iv = 250, + .level = 41, + .species = SPECIES_BANETTE, + }, + { + .iv = 250, + .level = 41, + .species = SPECIES_SHIFTRY, + }, + { + .iv = 250, + .level = 41, + .species = SPECIES_GORELAX, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sebastian[1] = { + { + .iv = 50, + .level = 39, + .species = SPECIES_KENCHUKUO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson1[1] = { + { + .iv = 60, + .level = 31, + .species = SPECIES_BRELOOM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson2[1] = { + { + .iv = 70, + .level = 34, + .species = SPECIES_BRELOOM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson3[1] = { + { + .iv = 80, + .level = 37, + .species = SPECIES_BRELOOM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson4[2] = { + { + .iv = 90, + .level = 39, + .species = SPECIES_KECLEON, + }, + { + .iv = 90, + .level = 39, + .species = SPECIES_BRELOOM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine1[2] = { + { + .iv = 50, + .level = 27, + .species = SPECIES_GLOOM, + }, + { + .iv = 50, + .level = 27, + .species = SPECIES_ROSELIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_ToothWitch[3] = { + { + .iv = 200, + .level = 40, + .species = SPECIES_MISDREAVUS, + }, + { + .iv = 250, + .level = 40, + .species = SPECIES_SOLROCK, + }, + { + .iv = 250, + .level = 40, + .species = SPECIES_LUNATONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sophia[2] = { + { + .iv = 50, + .level = 38, + .species = SPECIES_SWABLU, + }, + { + .iv = 50, + .level = 38, + .species = SPECIES_ROSELIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine2[2] = { + { + .iv = 60, + .level = 30, + .species = SPECIES_GLOOM, + }, + { + .iv = 60, + .level = 30, + .species = SPECIES_ROSELIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Salaryman1[2] = { + { + .iv = 70, + .level = 30, + .species = SPECIES_GEODUDE, + }, + { + .iv = 70, + .level = 33, + .species = SPECIES_GRAVELER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine3[2] = { + { + .iv = 80, + .level = 36, + .species = SPECIES_GLOOM, + }, + { + .iv = 80, + .level = 36, + .species = SPECIES_ROSELIA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Catherine4[2] = { + { + .iv = 90, + .level = 39, + .species = SPECIES_BELLOSSOM, + }, + { + .iv = 90, + .level = 39, + .species = SPECIES_ROSELIA, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Temulence4[3] = { + { + .iv = 255, + .level = 43, + .species = SPECIES_FANGASU, + .moves = { MOVE_HEADBUTT, MOVE_RAZOR_LEAF, MOVE_AGILITY, MOVE_SLEEP_POWDER }, + }, + { + .iv = 255, + .level = 44, + .species = SPECIES_KURIPUTO, + .moves = { MOVE_RAZOR_LEAF, MOVE_SUBMISSION, MOVE_ICE_PUNCH, MOVE_MEGAHORN }, + }, + { + .iv = 255, + .level = 45, + .species = SPECIES_NIGERA, + .moves = { MOVE_TWINEEDLE, MOVE_POISON_FANG, MOVE_STORM_SURGE, MOVE_MEAN_LOOK }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Footman12[2] = { + { + .iv = 0, + .level = 29, + .species = SPECIES_HOMBONE, + }, + { + .iv = 0, + .level = 29, + .species = SPECIES_GEODUDE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Salaryman2[4] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_GEODUDE, + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_HOMBONE, + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_HOMBONE, + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_RELICANTH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Footman13[2] = { + { + .iv = 0, + .level = 32, + .species = SPECIES_HOMBONE, + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_KABUTO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Salaryman3[1] = { + { + .iv = 120, + .level = 30, + .species = SPECIES_HOMBONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt1[2] = { + { + .iv = 0, + .level = 37, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 0, + .level = 37, + .species = SPECIES_HOMBONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt2[1] = { + { + .iv = 0, + .level = 38, + .species = SPECIES_HOMBONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt3[3] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 0, + .level = 36, + .species = SPECIES_ZUBAT, + }, + { + .iv = 0, + .level = 36, + .species = SPECIES_HOMBONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt4[1] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_BALTOY, + }, +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Zabulon[2] = { + { + .iv = 10, + .level = 11, + .species = SPECIES_HOUNDSOUR, + .heldItem = ITEM_CINNAMON, + .moves = { MOVE_EMBER, MOVE_GLARE, MOVE_LEER, MOVE_TACKLE }, + }, + { + .iv = 30, + .level = 13, + .species = SPECIES_DIRTKROW, + .heldItem = ITEM_STAR_PIECE, + .moves = { MOVE_PECK, MOVE_GUST, MOVE_GLARE, MOVE_NONE }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt5[2] = { + { + .iv = 0, + .level = 9, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 0, + .level = 9, + .species = SPECIES_POOCHYENA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt6[2] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_POOCHYENA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt7[2] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_POOCHYENA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt8[2] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_ZUBAT, + }, + { + .iv = 0, + .level = 20, + .species = SPECIES_POOCHYENA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt9[2] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_ZUBAT, + }, + { + .iv = 0, + .level = 17, + .species = SPECIES_POOCHYENA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Belial2[1] = { + { + .iv = 40, + .level = 16, + .species = SPECIES_PSYPIG, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Might[2] = { + { + .iv = 0, + .level = 67, + .species = SPECIES_QWILSHARK, + }, + { + .iv = 0, + .level = 67, + .species = SPECIES_PELIPPER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt10[2] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 0, + .level = 27, + .species = SPECIES_HOMBONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt11[3] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_ZUBAT, + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_HOMBONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt12[1] = { + { + .iv = 0, + .level = 15, + .species = SPECIES_HOMBONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt13[2] = { + { + .iv = 0, + .level = 14, + .species = SPECIES_ZUBAT, + }, + { + .iv = 0, + .level = 14, + .species = SPECIES_HOMBONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt14[1] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_BALTOY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt15[3] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_ZUBAT, + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_ZUBAT, + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_ZUBAT, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt16[2] = { + { + .iv = 0, + .level = 31, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 0, + .level = 31, + .species = SPECIES_HOMBONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt17[2] = { + { + .iv = 0, + .level = 31, + .species = SPECIES_HOMBONE, + }, + { + .iv = 0, + .level = 31, + .species = SPECIES_HOMBONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Linda[1] = { + { + .iv = 200, + .level = 41, + .species = SPECIES_GRIMREAPER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Salaryman4[3] = { + { + .iv = 0, + .level = 32, + .species = SPECIES_RELICANTH, + }, + { + .iv = 0, + .level = 31, + .species = SPECIES_HOMBONE, + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_LUNATONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Salaryman5[1] = { + { + .iv = 100, + .level = 32, + .species = SPECIES_GRAVELER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kent[2] = { + { + .iv = 0, + .level = 14, + .species = SPECIES_EYE_EYE, + }, + { + .iv = 0, + .level = 14, + .species = SPECIES_EYE_EYE, + }, +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Pestilence[3] = { + { + .iv = 50, + .level = 16, + .species = SPECIES_MOULDER, + .heldItem = ITEM_SNAKE_EYES, + .moves = { MOVE_HARDEN, MOVE_ACID, MOVE_POUND, MOVE_DISABLE }, + }, + { + .iv = 50, + .level = 17, + .species = SPECIES_MOULDER, + .heldItem = ITEM_SNAKE_EYES, + .moves = { MOVE_ACID, MOVE_HARDEN, MOVE_POUND, MOVE_TOXIC }, + }, + { + .iv = 100, + .level = 18, + .species = SPECIES_QWILFISH, + .heldItem = ITEM_SNAKE_EYES, + .moves = { MOVE_TOXIC, MOVE_POISON_STING, MOVE_PIN_MISSILE, MOVE_WATER_GUN }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Salaryman6[3] = { + { + .iv = 50, + .level = 28, + .species = SPECIES_HOMBONE, + }, + { + .iv = 50, + .level = 28, + .species = SPECIES_NOSEPASS, + }, + { + .iv = 50, + .level = 28, + .species = SPECIES_HOMBONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tabitha[3] = { + { + .iv = 50, + .level = 20, + .species = SPECIES_HOMBONE, + }, + { + .iv = 50, + .level = 20, + .species = SPECIES_POOCHYENA, + }, + { + .iv = 50, + .level = 20, + .species = SPECIES_HOMBONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shaderu[1] = { + { + .iv = 255, + .level = 80, + .species = SPECIES_SHADERU, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gleis3[5] = { + { + .iv = 255, + .level = 38, + .species = SPECIES_HAUNTER, + }, + { + .iv = 255, + .level = 40, + .species = SPECIES_ALAKAZAM, + }, + { + .iv = 255, + .level = 39, + .species = SPECIES_QWILSHARK, + }, + { + .iv = 255, + .level = 38, + .species = SPECIES_SEVIPER, + }, + { + .iv = 255, + .level = 41, + .species = SPECIES_FACELEECH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Courtney[2] = { + { + .iv = 50, + .level = 38, + .species = SPECIES_HOMBEAST, + }, + { + .iv = 50, + .level = 38, + .species = SPECIES_MIGHTYENA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie1[3] = { + { + .iv = 150, + .level = 41, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 150, + .level = 41, + .species = SPECIES_CROBAT, + }, + { + .iv = 150, + .level = 43, + .species = SPECIES_HOMBEAST, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maxie2[3] = { + { + .iv = 150, + .level = 24, + .species = SPECIES_MIGHTYENA, + }, + { + .iv = 150, + .level = 24, + .species = SPECIES_GOLBAT, + }, + { + .iv = 150, + .level = 25, + .species = SPECIES_HOMBEAST, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tiana[2] = { + { + .iv = 0, + .level = 4, + .species = SPECIES_ZIGZAGOON, + }, + { + .iv = 0, + .level = 4, + .species = SPECIES_ZIGZAGOON, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Harvey2[2] = { + { + .iv = 0, + .level = 10, + .species = SPECIES_ROTMANDER, + }, + { + .iv = 0, + .level = 10, + .species = SPECIES_GRAVEILL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Janice[1] = { + { + .iv = 0, + .level = 9, + .species = SPECIES_ROTMANDER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Mugwin4[3] = { + { + .iv = 100, + .level = 32, + .species = SPECIES_PINECO, + }, + { + .iv = 100, + .level = 32, + .species = SPECIES_SPINDA, + }, + { + .iv = 100, + .level = 32, + .species = SPECIES_HOMBONE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley1[2] = { + { + .iv = 10, + .level = 26, + .species = SPECIES_SNORLAX, + }, + { + .iv = 10, + .level = 26, + .species = SPECIES_SHROOMISH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley2[2] = { + { + .iv = 20, + .level = 29, + .species = SPECIES_SNORLAX, + }, + { + .iv = 20, + .level = 29, + .species = SPECIES_BRELOOM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley3[2] = { + { + .iv = 30, + .level = 32, + .species = SPECIES_SNORLAX, + }, + { + .iv = 30, + .level = 32, + .species = SPECIES_BRELOOM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Haley4[3] = { + { + .iv = 40, + .level = 34, + .species = SPECIES_SWELLOW, + }, + { + .iv = 40, + .level = 34, + .species = SPECIES_SNORLAX, + }, + { + .iv = 40, + .level = 34, + .species = SPECIES_BRELOOM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sally[1] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_ODDISH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Robin[3] = { + { + .iv = 0, + .level = 14, + .species = SPECIES_SKITTY, + }, + { + .iv = 0, + .level = 14, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 0, + .level = 14, + .species = SPECIES_GRAVEILL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andrea[1] = { + { + .iv = 100, + .level = 41, + .species = SPECIES_LUVDISC, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Crissy[2] = { + { + .iv = 100, + .level = 40, + .species = SPECIES_WAILMER, + }, + { + .iv = 100, + .level = 40, + .species = SPECIES_WAILMER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rica[2] = { + { + .iv = 0, + .level = 4, + .species = SPECIES_GRAVEILL, + }, + { + .iv = 0, + .level = 4, + .species = SPECIES_GRAVEILL, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lyle[3] = { + { + .iv = 0, + .level = 7, + .species = SPECIES_SLAKOTH, + }, + { + .iv = 0, + .level = 7, + .species = SPECIES_WURMPLE, + }, + { + .iv = 0, + .level = 7, + .species = SPECIES_RALTS, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jose[3] = { + { + .iv = 50, + .level = 8, + .species = SPECIES_WURMPLE, + }, + { + .iv = 50, + .level = 8, + .species = SPECIES_SILCOON, + }, + { + .iv = 50, + .level = 8, + .species = SPECIES_HYPEREGG, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Doug[2] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_HYPEREGG, + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_HYPEREGG, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tommo[2] = { + { + .iv = 200, + .level = 39, + .species = SPECIES_PSYPIG, + }, + { + .iv = 200, + .level = 39, + .species = SPECIES_PSYPIG, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cinnabar[1] = { + { + .iv = 200, + .level = 42, + .species = SPECIES_KAJILIANTH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Andromalius[1] = { + { + .iv = 70, + .level = 12, + .species = SPECIES_SECRETEGG, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_James1[1] = { + { + .iv = 10, + .level = 27, + .species = SPECIES_SECRETEGG, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Floatzel[2] = { + { + .iv = 200, + .level = 39, + .species = SPECIES_ROSELIA, + }, + { + .iv = 200, + .level = 39, + .species = SPECIES_SWELLOW, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_James2[3] = { + { + .iv = 30, + .level = 31, + .species = SPECIES_SURSKIT, + }, + { + .iv = 30, + .level = 31, + .species = SPECIES_DUSTOX, + }, + { + .iv = 30, + .level = 31, + .species = SPECIES_SECRETEGG, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_James3[4] = { + { + .iv = 40, + .level = 33, + .species = SPECIES_SURSKIT, + }, + { + .iv = 40, + .level = 33, + .species = SPECIES_SECRETEGG, + }, + { + .iv = 40, + .level = 33, + .species = SPECIES_DUSTOX, + }, + { + .iv = 40, + .level = 33, + .species = SPECIES_SECRETEGG, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_KloThok[2] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_SNORUNT, + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_GLALIE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_RaaKor[4] = { + { + .iv = 0, + .level = 31, + .species = SPECIES_SEEL, + }, + { + .iv = 0, + .level = 29, + .species = SPECIES_SEEL, + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_SNORUNT, + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_SNORUNT, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lenny[2] = { + { + .iv = 0, + .level = 19, + .species = SPECIES_MACHOP, + }, + { + .iv = 0, + .level = 19, + .species = SPECIES_MACHOP, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucas1[3] = { + { + .iv = 0, + .level = 18, + .species = SPECIES_GEODUDE, + }, + { + .iv = 0, + .level = 18, + .species = SPECIES_GEODUDE, + }, + { + .iv = 0, + .level = 18, + .species = SPECIES_GEODUDE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Alan[3] = { + { + .iv = 0, + .level = 22, + .species = SPECIES_GEODUDE, + }, + { + .iv = 0, + .level = 22, + .species = SPECIES_NOSEPASS, + }, + { + .iv = 0, + .level = 22, + .species = SPECIES_GRAVELER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clark[3] = { + { + .iv = 0, + .level = 8, + .species = SPECIES_GEODUDE, + }, + { + .iv = 0, + .level = 8, + .species = SPECIES_GEODUDE, + }, + { + .iv = 0, + .level = 8, + .species = SPECIES_GEODUDE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_FengDarin[2] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_BALTOY, + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_BALTOY, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Lucas2[1] = { + { + .iv = 0, + .level = 9, + .species = SPECIES_WAILMER, + .moves = { MOVE_SPLASH, MOVE_WATER_GUN, MOVE_NONE, MOVE_NONE }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Brentford[2] = { + { + .iv = 200, + .level = 75, + .species = SPECIES_LUXRAY, + .moves = { MOVE_DISCHARGE, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_FRUSTRATION }, + }, + { + .iv = 200, + .level = 75, + .species = SPECIES_LUXRAY, + .moves = { MOVE_CRUNCH, MOVE_SCARY_FACE, MOVE_THUNDERBOLT, MOVE_FRUSTRATION }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hero[3] = { + { + .iv = 200, + .level = 75, + .species = SPECIES_MAGNETON, + }, + { + .iv = 200, + .level = 75, + .species = SPECIES_ELECTRODE, + }, + { + .iv = 200, + .level = 75, + .species = SPECIES_EXPLOUD, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent1[4] = { + { + .iv = 10, + .level = 24, + .species = SPECIES_GEODUDE, + }, + { + .iv = 10, + .level = 24, + .species = SPECIES_GEODUDE, + }, + { + .iv = 10, + .level = 24, + .species = SPECIES_GEODUDE, + }, + { + .iv = 10, + .level = 24, + .species = SPECIES_GRAVELER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Zuul[4] = { + { + .iv = 200, + .level = 75, + .species = SPECIES_MAGNETON, + }, + { + .iv = 200, + .level = 75, + .species = SPECIES_RAICHU, + }, + { + .iv = 200, + .level = 75, + .species = SPECIES_JOLTEON, + }, + { + .iv = 200, + .level = 75, + .species = SPECIES_EMOLGA, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Kylie[6] = { + { + .iv = 255, + .level = 76, + .species = SPECIES_PRIMEAPE, + .moves = { MOVE_THUNDERBOLT, MOVE_IRON_TAIL, MOVE_THUNDER_WAVE, MOVE_TOXIC }, + }, + { + .iv = 255, + .level = 77, + .species = SPECIES_LUXRAY, + .moves = { MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_FRUSTRATION }, + }, + { + .iv = 255, + .level = 78, + .species = SPECIES_VOLBEAT, + .moves = { MOVE_BRIGHT_IDEA, MOVE_SIGNAL_BEAM, MOVE_AIR_CUTTER, MOVE_PSYCHIC }, + }, + { + .iv = 255, + .level = 79, + .species = SPECIES_BLISSEY, + .moves = { MOVE_METRONOME, MOVE_SOFT_BOILED, MOVE_AROMATHERAPY, MOVE_SEISMIC_TOSS }, + }, + { + .iv = 255, + .level = 80, + .species = SPECIES_ZEBSTRIKA, + .moves = { MOVE_THUNDERBOLT, MOVE_FLAME_WHEEL, MOVE_FRICTIONKICK, MOVE_TACKLE }, + }, + { + .iv = 255, + .level = 81, + .species = SPECIES_ROCLOBSTER, + .moves = { MOVE_DRAGON_CLAW, MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_ICE_BEAM }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trent2[4] = { + { + .iv = 40, + .level = 33, + .species = SPECIES_GRAVELER, + }, + { + .iv = 40, + .level = 33, + .species = SPECIES_GRAVELER, + }, + { + .iv = 40, + .level = 33, + .species = SPECIES_GRAVELER, + }, + { + .iv = 40, + .level = 33, + .species = SPECIES_GOLEM, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_MaiAndHiro[2] = { + { + .iv = 250, + .level = 47, + .species = SPECIES_NIDOQUEEN, + }, + { + .iv = 250, + .level = 47, + .species = SPECIES_NIDOKING, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_LeaAndJed[2] = { + { + .iv = 0, + .level = 45, + .species = SPECIES_LUVDISC, + }, + { + .iv = 0, + .level = 45, + .species = SPECIES_LUVDISC, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_LolaAndLute[2] = { + { + .iv = 150, + .level = 70, + .species = SPECIES_VOLBEAT, + }, + { + .iv = 150, + .level = 70, + .species = SPECIES_ILLUMISE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_LoisAndHal1[2] = { + { + .iv = 10, + .level = 30, + .species = SPECIES_VOLBEAT, + }, + { + .iv = 10, + .level = 30, + .species = SPECIES_ILLUMISE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_LoisAndHal2[2] = { + { + .iv = 20, + .level = 33, + .species = SPECIES_VOLBEAT, + }, + { + .iv = 20, + .level = 33, + .species = SPECIES_ILLUMISE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_LoisAndHal3[2] = { + { + .iv = 30, + .level = 36, + .species = SPECIES_VOLBEAT, + }, + { + .iv = 30, + .level = 36, + .species = SPECIES_ILLUMISE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_LoisAndHal4[2] = { + { + .iv = 40, + .level = 39, + .species = SPECIES_VOLBEAT, + }, + { + .iv = 40, + .level = 39, + .species = SPECIES_ILLUMISE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Johanna[1] = { + { + .iv = 0, + .level = 13, + .species = SPECIES_GOLDEEN, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_MeiLin[1] = { + { + .iv = 200, + .level = 34, + .species = SPECIES_CLAYDOL, + .moves = { MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_CALM_MIND, MOVE_SUBSTITUTE }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Vivian[1] = { + { + .iv = 100, + .level = 19, + .species = SPECIES_MEDITITE, + .moves = { MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_THUNDER_PUNCH }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Nianzhu[1] = { + { + .iv = 100, + .level = 36, + .species = SPECIES_GRUMPIG, + .moves = { MOVE_EXTRASENSORY, MOVE_PROTECT, MOVE_BOUNCE, MOVE_MAGIC_COAT }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Siobhan[2] = { + { + .iv = 200, + .level = 40, + .species = SPECIES_ELECTABUGS, + .moves = { MOVE_THUNDER_PUNCH, MOVE_LIGHT_SCREEN, MOVE_DISCHARGE, MOVE_REFLECT }, + }, + { + .iv = 200, + .level = 40, + .species = SPECIES_GRIMREAPER, + .moves = { MOVE_SWORDS_DANCE, MOVE_AERIAL_ACE, MOVE_SLASH, MOVE_FURY_CUTTER }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Witch[2] = { + { + .iv = 255, + .level = 44, + .species = SPECIES_GARDEVOIR, + .moves = { MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_THIEF, MOVE_CALM_MIND }, + }, + { + .iv = 255, + .level = 44, + .species = SPECIES_LUNATONE, + .moves = { MOVE_COSMIC_POWER, MOVE_PSYCHIC, MOVE_ROCK_SLIDE, MOVE_MOONLIGHT }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_SandWitch[3] = { + { + .iv = 250, + .level = 44, + .species = SPECIES_CLAYDOL, + .moves = { MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_CURSE }, + }, + { + .iv = 250, + .level = 43, + .species = SPECIES_MAROWAK, + .moves = { MOVE_BONE_CLUB, MOVE_SWORDS_DANCE, MOVE_GLARE, MOVE_SLASH }, + }, + { + .iv = 250, + .level = 44, + .species = SPECIES_RHYDON, + .moves = { MOVE_FIRE_PUMP, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Asphodel[2] = { + { + .iv = 255, + .level = 47, + .species = SPECIES_SABLEYE, + }, + { + .iv = 255, + .level = 47, + .species = SPECIES_LUXRAY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leozar[1] = { + { + .iv = 255, + .level = 48, + .species = SPECIES_SEVICIOUS, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gleis4[1] = { + { + .iv = 30, + .level = 17, + .species = SPECIES_FACELEECH, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Sputnov4[5] = { + { + .iv = 255, + .level = 71, + .species = SPECIES_AMPHAROS, + .moves = { MOVE_THUNDER_PUNCH, MOVE_COTTON_SPORE, MOVE_SIGNAL_BEAM, MOVE_BRIGHT_IDEA }, + }, + { + .iv = 255, + .level = 71, + .species = SPECIES_AMPHAROS, + .moves = { MOVE_DISCHARGE, MOVE_SIGNAL_BEAM, MOVE_BRIGHT_IDEA, MOVE_FIRE_PUMP }, + }, + { + .iv = 255, + .level = 71, + .species = SPECIES_AMPHAROS, + .moves = { MOVE_THUNDERBOLT, MOVE_BRIGHT_IDEA, MOVE_SIGNAL_BEAM, MOVE_TOXIC }, + }, + { + .iv = 255, + .level = 71, + .species = SPECIES_AMPHAROS, + .moves = { MOVE_CONFUSE_RAY, MOVE_COTTON_SPORE, MOVE_DISCHARGE, MOVE_SIGNAL_BEAM }, + }, + { + .iv = 255, + .level = 73, + .species = SPECIES_AMPHAROS, + .moves = { MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_DISCHARGE, MOVE_SIGNAL_BEAM }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Vladov4[5] = { + { + .iv = 255, + .level = 70, + .species = SPECIES_TAUROS, + .moves = { MOVE_FRUSTRATION, MOVE_HEADBUTT, MOVE_SWORDS_DANCE, MOVE_EARTHQUAKE }, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_MILTANK, + .moves = { MOVE_BODY_SLAM, MOVE_MILK_DRINK, MOVE_ROLLOUT, MOVE_SKULLBREAKER }, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_RAMSHAKER, + .moves = { MOVE_PSYCHIC, MOVE_COSMIC_POWER, MOVE_BODY_SLAM, MOVE_TOXIC }, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_TAUROS, + .moves = { MOVE_RETURN, MOVE_EARTHQUAKE, MOVE_SCARY_FACE, MOVE_SCREECH }, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_MILTANK, + .moves = { MOVE_MILK_DRINK, MOVE_SUBSTITUTE, MOVE_LEECH_SEED, MOVE_BODY_SLAM }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Adolv4[5] = { + { + .iv = 255, + .level = 70, + .species = SPECIES_DRAGONITE, + .moves = { MOVE_OUTRAGE, MOVE_THUNDERBOLT, MOVE_FIRE_BLAST, MOVE_ICE_BEAM }, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_DRAGONITE, + .moves = { MOVE_OUTRAGE, MOVE_HYPER_BEAM, MOVE_SKULLBREAKER, MOVE_EARTHQUAKE }, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_DRAGONITE, + .moves = { MOVE_EARTHQUAKE, MOVE_OUTRAGE, MOVE_ICE_BEAM, MOVE_ROAR }, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_DRAGONITE, + .moves = { MOVE_OUTRAGE, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_SKULLBREAKER }, + }, + { + .iv = 255, + .level = 71, + .species = SPECIES_DRAGONITE, + .moves = { MOVE_SHADOW_SWIPE, MOVE_OUTRAGE, MOVE_ICE_BEAM, MOVE_EARTHQUAKE }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Chief[5] = { + { + .iv = 150, + .level = 71, + .species = SPECIES_STITCHER, + }, + { + .iv = 150, + .level = 72, + .species = SPECIES_STITCHER, + }, + { + .iv = 150, + .level = 73, + .species = SPECIES_ANTISPIRAL, + }, + { + .iv = 150, + .level = 74, + .species = SPECIES_ANTISPIRAL, + }, + { + .iv = 250, + .level = 75, + .species = SPECIES_SHINIGAMI, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan9[4] = { + { + .iv = 150, + .level = 31, + .species = SPECIES_SWELLOW, + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_HOMBONE, + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_WAILMER, + }, + { + .iv = 200, + .level = 34, + .species = SPECIES_GROVYLE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Pyrite[4] = { + { + .iv = 250, + .level = 67, + .species = SPECIES_PERSIAN, + }, + { + .iv = 250, + .level = 67, + .species = SPECIES_SHARPEDO, + }, + { + .iv = 250, + .level = 70, + .species = SPECIES_CRAWDAUNT, + }, + { + .iv = 250, + .level = 67, + .species = SPECIES_SHIFTRY, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan10[4] = { + { + .iv = 150, + .level = 31, + .species = SPECIES_SWELLOW, + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_HOMBONE, + }, + { + .iv = 200, + .level = 34, + .species = SPECIES_MARSHTOMP, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May6[4] = { + { + .iv = 150, + .level = 31, + .species = SPECIES_SWELLOW, + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_HOMBONE, + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_WAILMER, + }, + { + .iv = 200, + .level = 34, + .species = SPECIES_GROVYLE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_May7[4] = { + { + .iv = 150, + .level = 31, + .species = SPECIES_SWELLOW, + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_WAILMER, + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_SHROOMISH, + }, + { + .iv = 200, + .level = 34, + .species = SPECIES_COMBUSKEN, + }, +}; + +const struct TrainerMonItemCustomMoves gTrainerParty_Senex2[4] = { + { + .iv = 255, + .level = 72, + .species = SPECIES_FACELEECH, + .heldItem = ITEM_CHAOS_OF_ODEN, + .moves = { MOVE_POISON_FANG, MOVE_CRUNCH, MOVE_IRON_TAIL, MOVE_ROAR }, + }, + { + .iv = 255, + .level = 74, + .species = SPECIES_LUCA_ZAMON, + .heldItem = ITEM_SITRUS_BERRY, + .moves = { MOVE_DRAGON_CLAW, MOVE_BLIZZARD, MOVE_HAIL, MOVE_RECOVER }, + }, + { + .iv = 255, + .level = 75, + .species = SPECIES_SHADERU, + .heldItem = ITEM_LEFTOVERS, + .moves = { MOVE_PULSAR, MOVE_SHADOW_PUNCH, MOVE_BODY_SLAM, MOVE_GLARE }, + }, + { + .iv = 255, + .level = 80, + .species = SPECIES_TURMUR, + .heldItem = ITEM_MEATY_BELL, + .moves = { MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_THUNDERBOLT, MOVE_ICE_BEAM }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Burnaggio[4] = { + { + .iv = 200, + .level = 67, + .species = SPECIES_MILOTIC, + .moves = { MOVE_SURF, MOVE_PSYCHIC, MOVE_BOILINGWATER, MOVE_RECOVER }, + }, + { + .iv = 200, + .level = 67, + .species = SPECIES_MILOTIC, + .moves = { MOVE_SURF, MOVE_PSYCHIC, MOVE_BOILINGWATER, MOVE_RECOVER }, + }, + { + .iv = 200, + .level = 67, + .species = SPECIES_MILOTIC, + .moves = { MOVE_SURF, MOVE_PSYCHIC, MOVE_BOILINGWATER, MOVE_RECOVER }, + }, + { + .iv = 255, + .level = 67, + .species = SPECIES_MILOTIC, + .moves = { MOVE_SURF, MOVE_PSYCHIC, MOVE_BOILINGWATER, MOVE_RECOVER }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Frozone[3] = { + { + .iv = 200, + .level = 68, + .species = SPECIES_LAPRAS, + .moves = { MOVE_SURF, MOVE_ICE_BEAM, MOVE_SHEER_COLD, MOVE_ICEBREATH }, + }, + { + .iv = 200, + .level = 68, + .species = SPECIES_LAPRAS, + .moves = { MOVE_SURF, MOVE_ICE_BEAM, MOVE_SHEER_COLD, MOVE_ICEBREATH }, + }, + { + .iv = 255, + .level = 68, + .species = SPECIES_LAPRAS, + .moves = { MOVE_SURF, MOVE_ICE_BEAM, MOVE_SHEER_COLD, MOVE_ICEBREATH }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_Paralisi[4] = { + { + .iv = 200, + .level = 67, + .species = SPECIES_LANTURN, + .moves = { MOVE_THUNDER_WAVE, MOVE_SURF, MOVE_ICE_BEAM, MOVE_THUNDERBOLT }, + }, + { + .iv = 100, + .level = 67, + .species = SPECIES_LANTURN, + .moves = { MOVE_THUNDER_WAVE, MOVE_SURF, MOVE_ICE_BEAM, MOVE_THUNDERBOLT }, + }, + { + .iv = 200, + .level = 67, + .species = SPECIES_LANTURN, + .moves = { MOVE_THUNDER_WAVE, MOVE_SURF, MOVE_ICE_BEAM, MOVE_THUNDERBOLT }, + }, + { + .iv = 255, + .level = 67, + .species = SPECIES_LANTURN, + .moves = { MOVE_THUNDER_WAVE, MOVE_SURF, MOVE_ICE_BEAM, MOVE_THUNDERBOLT }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jourdelays[2] = { + { + .iv = 100, + .level = 65, + .species = SPECIES_SEAKING, + }, + { + .iv = 100, + .level = 69, + .species = SPECIES_QWILFISH, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_MsDolittle[3] = { + { + .iv = 100, + .level = 66, + .species = SPECIES_SHIFTRY, + }, + { + .iv = 100, + .level = 66, + .species = SPECIES_GOLEM, + }, + { + .iv = 100, + .level = 66, + .species = SPECIES_EXPLOUD, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_UltraKick[2] = { + { + .iv = 100, + .level = 68, + .species = SPECIES_MACHAMP, + }, + { + .iv = 100, + .level = 68, + .species = SPECIES_HARIYAMA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Wayneflete[4] = { + { + .iv = 200, + .level = 68, + .species = SPECIES_GYARADOS, + }, + { + .iv = 200, + .level = 68, + .species = SPECIES_GYARADOS, + }, + { + .iv = 200, + .level = 68, + .species = SPECIES_QWILSHARK, + }, + { + .iv = 200, + .level = 68, + .species = SPECIES_MILOTIC, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dynamo[2] = { + { + .iv = 255, + .level = 69, + .species = SPECIES_LUXRAY, + }, + { + .iv = 255, + .level = 69, + .species = SPECIES_SCEPTILE, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Icikling[4] = { + { + .iv = 190, + .level = 70, + .species = SPECIES_SHARPEDO, + }, + { + .iv = 190, + .level = 70, + .species = SPECIES_WALREIN, + }, + { + .iv = 190, + .level = 70, + .species = SPECIES_RELICANTH, + }, + { + .iv = 190, + .level = 70, + .species = SPECIES_GOLDUCK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Trisha[3] = { + { + .iv = 200, + .level = 70, + .species = SPECIES_LANTURN, + }, + { + .iv = 200, + .level = 70, + .species = SPECIES_LAPRAS, + }, + { + .iv = 200, + .level = 70, + .species = SPECIES_PELIPPER, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_KenAndBel[2] = { + { + .iv = 130, + .level = 35, + .species = SPECIES_SHRIVLSAUR, + }, + { + .iv = 130, + .level = 35, + .species = SPECIES_ENTRAILTLE, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_KimAndIris[2] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_SWABLU, + .moves = { MOVE_SING, MOVE_FURY_ATTACK, MOVE_SAFEGUARD, MOVE_AERIAL_ACE }, + }, + { + .iv = 0, + .level = 36, + .species = SPECIES_HOMBONE, + .moves = { MOVE_FIRE_PUMP, MOVE_TAKE_DOWN, MOVE_REST, MOVE_EARTHQUAKE }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_DoubleAct3[2] = { + { + .iv = 255, + .level = 36, + .species = SPECIES_GOLEM, + .moves = { MOVE_FOCUS_PUNCH, MOVE_MUD_SHOT, MOVE_ROCK_BLAST, MOVE_SUBSTITUTE }, + }, + { + .iv = 255, + .level = 36, + .species = SPECIES_AGGRON, + .moves = { MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, MOVE_ROCK_SLIDE, MOVE_SUBSTITUTE }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_JanAndJon[2] = { + { + .iv = 255, + .level = 22, + .species = SPECIES_SECRETEGG, + .moves = { MOVE_ENDURE, MOVE_NONE, MOVE_TOXIC, MOVE_PROTECT }, + }, + { + .iv = 255, + .level = 22, + .species = SPECIES_LINOONE, + .moves = { MOVE_HEADBUTT, MOVE_SURF, MOVE_GROWL, MOVE_ROCK_SMASH }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay1[2] = { + { + .iv = 200, + .level = 40, + .species = SPECIES_MEDICHAM, + .moves = { MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT }, + }, + { + .iv = 200, + .level = 40, + .species = SPECIES_HARIYAMA, + .moves = { MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay2[2] = { + { + .iv = 210, + .level = 43, + .species = SPECIES_MEDICHAM, + .moves = { MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT }, + }, + { + .iv = 210, + .level = 43, + .species = SPECIES_HARIYAMA, + .moves = { MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay3[2] = { + { + .iv = 220, + .level = 46, + .species = SPECIES_MEDICHAM, + .moves = { MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT }, + }, + { + .iv = 220, + .level = 46, + .species = SPECIES_HARIYAMA, + .moves = { MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay4[2] = { + { + .iv = 230, + .level = 49, + .species = SPECIES_MEDICHAM, + .moves = { MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT }, + }, + { + .iv = 230, + .level = 49, + .species = SPECIES_HARIYAMA, + .moves = { MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM }, + }, +}; + +const struct TrainerMonNoItemCustomMoves gTrainerParty_JohnAndJay5[2] = { + { + .iv = 240, + .level = 52, + .species = SPECIES_MEDICHAM, + .moves = { MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT }, + }, + { + .iv = 240, + .level = 52, + .species = SPECIES_HARIYAMA, + .moves = { MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM }, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_HanaAndMiki[2] = { + { + .iv = 255, + .level = 70, + .species = SPECIES_CORSOLA, + }, + { + .iv = 255, + .level = 70, + .species = SPECIES_CRAWDAUNT, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_VenusAndMilo[2] = { + { + .iv = 255, + .level = 68, + .species = SPECIES_SUICUNE, + }, + { + .iv = 255, + .level = 68, + .species = SPECIES_ARTICUNO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_RitaAndSam1[2] = { + { + .iv = 0, + .level = 42, + .species = SPECIES_CHINCHOU, + }, + { + .iv = 0, + .level = 40, + .species = SPECIES_CARVANHA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_RitaAndSam2[2] = { + { + .iv = 0, + .level = 45, + .species = SPECIES_LANTURN, + }, + { + .iv = 0, + .level = 43, + .species = SPECIES_CARVANHA, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_RitaAndSam3[2] = { + { + .iv = 0, + .level = 48, + .species = SPECIES_LANTURN, + }, + { + .iv = 0, + .level = 46, + .species = SPECIES_SHARPEDO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_RitaAndSam4[2] = { + { + .iv = 0, + .level = 51, + .species = SPECIES_LANTURN, + }, + { + .iv = 0, + .level = 49, + .species = SPECIES_SHARPEDO, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_SimonAndTabby[2] = { + { + .iv = 100, + .level = 23, + .species = SPECIES_STARYU, + }, + { + .iv = 100, + .level = 23, + .species = SPECIES_PSYDUCK, + }, +}; + +const struct TrainerMonNoItemDefaultMoves gTrainerParty_Eugene[4] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_MAGIKARP, + }, + { + .iv = 0, + .level = 21, + .species = SPECIES_QWILFISH, + }, + { + .iv = 0, + .level = 27, + .species = SPECIES_FEEBAS, + }, + { + .iv = 0, + .level = 24, + .species = SPECIES_CARVANHA, + }, +};