From cf0e38b11ff7d1da5fb1328037b6387c4bafbc01 Mon Sep 17 00:00:00 2001 From: AJ Fontaine <36677462+Fontbane@users.noreply.github.com> Date: Sun, 24 Mar 2019 22:33:54 -0400 Subject: [PATCH 01/10] Can't Knock Griseous Orb Off Giratina I'll do Plates Drives and Memories later --- src/battle_util.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index 901edb152..75845bf50 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5916,6 +5916,8 @@ bool32 CanBattlerGetOrLoseItem(u8 battlerId, u16 itemId) return FALSE; else if (ItemId_GetHoldEffect(itemId) == HOLD_EFFECT_MEGA_STONE && GetMegaEvolutionSpecies(species, itemId) != SPECIES_NONE) return FALSE; + else if (species == SPECIES_GIRATINA && itemId == ITEM_GRISEOUS_ORB) + return FALSE; else return TRUE; } From fc69631a10a53b889e78211031236bfca9d3d21b Mon Sep 17 00:00:00 2001 From: Fontbane Date: Mon, 25 Mar 2019 17:49:29 -0400 Subject: [PATCH 02/10] Field effects for Gen IV Abilities Also added Honey (acts like White Flute for now) and made it so the Griseous Orb can't be removed from Giratina in battle. --- data/battle_ai_scripts.s | 2 +- graphics/items/icon_palettes/honey.pal | 19 +++ graphics/items/icons/honey.png | Bin 0 -> 5898 bytes include/constants/items.h | 169 +++++++++++++------------ include/item_use.h | 1 + src/battle_script_commands.c | 14 +- src/data/graphics/items.h | 3 + src/data/item_icon_table.h | 1 + src/data/items.h | 17 +++ src/data/text/item_descriptions.h | 1 + src/item_use.c | 10 ++ src/wild_encounter.c | 6 + 12 files changed, 155 insertions(+), 88 deletions(-) create mode 100644 graphics/items/icon_palettes/honey.pal create mode 100644 graphics/items/icons/honey.png diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s index 6ba2c8748..101889405 100644 --- a/data/battle_ai_scripts.s +++ b/data/battle_ai_scripts.s @@ -3628,7 +3628,7 @@ AI_HPAware_DiscouragedEffectsWhenTargetLowHP: @ 82DE2B1 .byte EFFECT_LIGHT_SCREEN .byte EFFECT_OHKO .byte EFFECT_SUPER_FANG - .byte EFFECT_SUPER_FANG + .byte EFFECT_SUPER_FANG //Why is this here twice? .byte EFFECT_MIST .byte EFFECT_FOCUS_ENERGY .byte EFFECT_CONFUSE diff --git a/graphics/items/icon_palettes/honey.pal b/graphics/items/icon_palettes/honey.pal new file mode 100644 index 000000000..c5219f932 --- /dev/null +++ b/graphics/items/icon_palettes/honey.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +48 48 48 +120 80 32 +200 112 0 +80 152 152 +232 144 0 +96 184 192 +248 184 72 +248 240 184 +216 248 248 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icons/honey.png b/graphics/items/icons/honey.png new file mode 100644 index 0000000000000000000000000000000000000000..837243e77fe7fc015bca5c4b07668c5c8f3fa2ed GIT binary patch literal 5898 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 literal 0 HcmV?d00001 diff --git a/include/constants/items.h b/include/constants/items.h index 176750a16..f0a6bedd1 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -509,98 +509,99 @@ #define ITEM_DRACO_PLATE 420 #define ITEM_DREAD_PLATE 421 #define ITEM_IRON_PLATE 422 +#define ITEM_HONEY 423 // Gen 5 Items -#define ITEM_EVIOLITE 423 -#define ITEM_FLOAT_STONE 424 -#define ITEM_BINDING_BAND 425 -#define ITEM_DOUSE_DRIVE 426 -#define ITEM_SHOCK_DRIVE 427 -#define ITEM_BURN_DRIVE 428 -#define ITEM_CHILL_DRIVE 429 -#define ITEM_FIRE_GEM 430 -#define ITEM_WATER_GEM 431 -#define ITEM_ELECTRIC_GEM 432 -#define ITEM_GRASS_GEM 433 -#define ITEM_ICE_GEM 434 -#define ITEM_FIGHTING_GEM 435 -#define ITEM_POISON_GEM 436 -#define ITEM_GROUND_GEM 437 -#define ITEM_FLYING_GEM 438 -#define ITEM_PSYCHIC_GEM 439 -#define ITEM_BUG_GEM 440 -#define ITEM_ROCK_GEM 441 -#define ITEM_GHOST_GEM 442 -#define ITEM_DRAGON_GEM 443 -#define ITEM_DARK_GEM 444 -#define ITEM_STEEL_GEM 445 -#define ITEM_NORMAL_GEM 446 -#define ITEM_FAIRY_GEM 447 +#define ITEM_EVIOLITE 424 +#define ITEM_FLOAT_STONE 425 +#define ITEM_BINDING_BAND 426 +#define ITEM_DOUSE_DRIVE 427 +#define ITEM_SHOCK_DRIVE 428 +#define ITEM_BURN_DRIVE 429 +#define ITEM_CHILL_DRIVE 430 +#define ITEM_FIRE_GEM 431 +#define ITEM_WATER_GEM 432 +#define ITEM_ELECTRIC_GEM 433 +#define ITEM_GRASS_GEM 434 +#define ITEM_ICE_GEM 435 +#define ITEM_FIGHTING_GEM 436 +#define ITEM_POISON_GEM 437 +#define ITEM_GROUND_GEM 438 +#define ITEM_FLYING_GEM 439 +#define ITEM_PSYCHIC_GEM 440 +#define ITEM_BUG_GEM 441 +#define ITEM_ROCK_GEM 442 +#define ITEM_GHOST_GEM 443 +#define ITEM_DRAGON_GEM 444 +#define ITEM_DARK_GEM 445 +#define ITEM_STEEL_GEM 446 +#define ITEM_NORMAL_GEM 447 +#define ITEM_FAIRY_GEM 448 // Gen6 Items -#define ITEM_ASSAULT_VEST 448 -#define ITEM_PIXIE_PLATE 449 -#define ITEM_SAFETY_GOGGLES 450 -#define ITEM_GENGARITE 451 -#define ITEM_GARDEVOIRITE 452 -#define ITEM_AMPHAROSITE 453 -#define ITEM_VENUSAURITE 454 -#define ITEM_CHARIZARDITE_X 455 -#define ITEM_BLASTOISINITE 456 -#define ITEM_MEWTWONITE_X 457 -#define ITEM_MEWTWONITE_Y 458 -#define ITEM_BLAZIKENITE 459 -#define ITEM_MEDICHAMITE 460 -#define ITEM_HOUNDOOMINITE 461 -#define ITEM_AGGRONITE 462 -#define ITEM_BANETTITE 463 -#define ITEM_TYRANITARITE 464 -#define ITEM_SCIZORITE 465 -#define ITEM_PINSIRITE 466 -#define ITEM_AERODACTYLITE 467 -#define ITEM_LUCARIONITE 468 -#define ITEM_ABOMASITE 469 -#define ITEM_KANGASKHANITE 470 -#define ITEM_GYARADOSITE 471 -#define ITEM_ABSOLITE 472 -#define ITEM_CHARIZARDITE_Y 473 -#define ITEM_ALAKAZITE 474 -#define ITEM_HERACRONITE 475 -#define ITEM_MAWILITE 476 -#define ITEM_MANECTITE 477 -#define ITEM_GARCHOMPITE 478 -#define ITEM_LATIASITE 479 -#define ITEM_LATIOSITE 480 -#define ITEM_SWAMPERTITE 481 -#define ITEM_SCEPTILITE 482 -#define ITEM_SABLENITE 483 -#define ITEM_ALTARIANITE 484 -#define ITEM_GALLADITE 485 -#define ITEM_AUDINITE 486 -#define ITEM_METAGROSSITE 487 -#define ITEM_SHARPEDONITE 488 -#define ITEM_SLOWBRONITE 489 -#define ITEM_STEELIXITE 490 -#define ITEM_PIDGEOTITE 491 -#define ITEM_GLALITITE 492 -#define ITEM_DIANCITE 493 -#define ITEM_CAMERUPTITE 494 -#define ITEM_LOPUNNITE 495 -#define ITEM_SALAMENCITE 496 -#define ITEM_BEEDRILLITE 497 -#define ITEM_MEGA_BRACELET 498 +#define ITEM_ASSAULT_VEST 449 +#define ITEM_PIXIE_PLATE 450 +#define ITEM_SAFETY_GOGGLES 451 +#define ITEM_GENGARITE 452 +#define ITEM_GARDEVOIRITE 453 +#define ITEM_AMPHAROSITE 454 +#define ITEM_VENUSAURITE 455 +#define ITEM_CHARIZARDITE_X 456 +#define ITEM_BLASTOISINITE 457 +#define ITEM_MEWTWONITE_X 458 +#define ITEM_MEWTWONITE_Y 459 +#define ITEM_BLAZIKENITE 460 +#define ITEM_MEDICHAMITE 461 +#define ITEM_HOUNDOOMINITE 462 +#define ITEM_AGGRONITE 463 +#define ITEM_BANETTITE 464 +#define ITEM_TYRANITARITE 465 +#define ITEM_SCIZORITE 466 +#define ITEM_PINSIRITE 467 +#define ITEM_AERODACTYLITE 468 +#define ITEM_LUCARIONITE 469 +#define ITEM_ABOMASITE 470 +#define ITEM_KANGASKHANITE 471 +#define ITEM_GYARADOSITE 472 +#define ITEM_ABSOLITE 473 +#define ITEM_CHARIZARDITE_Y 474 +#define ITEM_ALAKAZITE 475 +#define ITEM_HERACRONITE 476 +#define ITEM_MAWILITE 477 +#define ITEM_MANECTITE 478 +#define ITEM_GARCHOMPITE 479 +#define ITEM_LATIASITE 480 +#define ITEM_LATIOSITE 481 +#define ITEM_SWAMPERTITE 482 +#define ITEM_SCEPTILITE 483 +#define ITEM_SABLENITE 484 +#define ITEM_ALTARIANITE 485 +#define ITEM_GALLADITE 486 +#define ITEM_AUDINITE 487 +#define ITEM_METAGROSSITE 488 +#define ITEM_SHARPEDONITE 489 +#define ITEM_SLOWBRONITE 490 +#define ITEM_STEELIXITE 491 +#define ITEM_PIDGEOTITE 492 +#define ITEM_GLALITITE 493 +#define ITEM_DIANCITE 494 +#define ITEM_CAMERUPTITE 495 +#define ITEM_LOPUNNITE 496 +#define ITEM_SALAMENCITE 497 +#define ITEM_BEEDRILLITE 498 +#define ITEM_MEGA_BRACELET 499 // Gen7 hold effects -#define ITEM_PROTECTIVE_PADS 499 -#define ITEM_TERRAIN_EXTENDER 500 -#define ITEM_ELECTRIC_SEED 501 -#define ITEM_GRASSY_SEED 502 -#define ITEM_MISTY_SEED 503 -#define ITEM_PSYCHIC_SEED 504 -#define ITEM_ADRENALINE_ORB 505 +#define ITEM_PROTECTIVE_PADS 500 +#define ITEM_TERRAIN_EXTENDER 501 +#define ITEM_ELECTRIC_SEED 502 +#define ITEM_GRASSY_SEED 503 +#define ITEM_MISTY_SEED 504 +#define ITEM_PSYCHIC_SEED 505 +#define ITEM_ADRENALINE_ORB 506 -#define ITEMS_COUNT 506 +#define ITEMS_COUNT 507 #define ITEM_FIELD_ARROW ITEMS_COUNT #define FIRST_BERRY_INDEX ITEM_CHERI_BERRY diff --git a/include/item_use.h b/include/item_use.h index 37343f6e7..31221aa09 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -51,5 +51,6 @@ void ItemUseInBattle_EnigmaBerry(u8); void ItemUseOutOfBattle_CannotUse(u8); u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId); void sub_80FDD10(u8); +void ItemUseOutOfBattle_Honey(u8); #endif // GUARD_ITEM_USE_H diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index a5b6e46f4..b832d7e05 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10503,6 +10503,7 @@ static void atkE5_pickup(void) s32 i; u16 species, heldItem; u8 ability; + u8 level; if (InBattlePike()) { @@ -10537,6 +10538,10 @@ static void atkE5_pickup(void) { species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); + level = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); + u8 lvlDivBy10 = (level - 1) / 10; + if (lvlDivBy10 > 9) + lvlDivBy10 = 9; if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY)) ability = gBaseStats[species].ability2; @@ -10551,9 +10556,6 @@ static void atkE5_pickup(void) { s32 j; s32 rand = Random() % 100; - u8 lvlDivBy10 = (GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) - 1) / 10; - if (lvlDivBy10 > 9) - lvlDivBy10 = 9; for (j = 0; j < 9; j++) { @@ -10569,6 +10571,12 @@ static void atkE5_pickup(void) } } } + else if (ability == ABILITY_HONEY_GATHER + && species != 0 + && species != SPECIES_EGG + && heldItem == ITEM_NONE + && (Random()%100 <= lvlDivBy10*5+5)) + SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, ITEM_HONEY); } } diff --git a/src/data/graphics/items.h b/src/data/graphics/items.h index e20edbd64..733bbf317 100644 --- a/src/data/graphics/items.h +++ b/src/data/graphics/items.h @@ -877,6 +877,9 @@ const u32 gItemIconPalette_DreadPlate[] = INCBIN_U32("graphics/items/icon_palett const u32 gItemIcon_IronPlate[] = INCBIN_U32("graphics/items/icons/iron_plate.4bpp.lz"); const u32 gItemIconPalette_IronPlate[] = INCBIN_U32("graphics/items/icon_palettes/iron_plate.gbapal.lz"); +const u32 gItemIcon_IronPlate[] = INCBIN_U32("graphics/items/icons/honey.4bpp.lz"); +const u32 gItemIconPalette_IronPlate[] = INCBIN_U32("graphics/items/icon_palettes/honey.gbapal.lz"); + // Gen 5 Items const u32 gItemIcon_Eviolite[] = INCBIN_U32("graphics/items/icons/eviolite.4bpp.lz"); diff --git a/src/data/item_icon_table.h b/src/data/item_icon_table.h index 2b160ae20..e2c9d673b 100644 --- a/src/data/item_icon_table.h +++ b/src/data/item_icon_table.h @@ -449,6 +449,7 @@ const u32 *const gItemIconTable[][2] = [ITEM_DRACO_PLATE] = {gItemIcon_DracoPlate, gItemIconPalette_DracoPlate}, [ITEM_DREAD_PLATE] = {gItemIcon_DreadPlate, gItemIconPalette_DreadPlate}, [ITEM_IRON_PLATE] = {gItemIcon_IronPlate, gItemIconPalette_IronPlate}, + [ITEM_HONEY] = {gItemIcon_Honey, gItemIconPalette_Honey}, // Gen 5 Items [ITEM_EVIOLITE] = {gItemIcon_Eviolite, gItemIconPalette_Eviolite}, [ITEM_FLOAT_STONE] = {gItemIcon_FloatStone, gItemIconPalette_FloatStone}, diff --git a/src/data/items.h b/src/data/items.h index 6751b018e..ee47c7f89 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -9136,4 +9136,21 @@ const struct Item gItems[] = .battleUseFunc = NULL, .secondaryId = 0, }, + [ITEM_HONEY] = + { + .name = _("Honey"), + .itemId = ITEM_HONEY, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gHoneyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_Honey, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, }; diff --git a/src/data/text/item_descriptions.h b/src/data/text/item_descriptions.h index 57671d1e7..48584179d 100644 --- a/src/data/text/item_descriptions.h +++ b/src/data/text/item_descriptions.h @@ -452,3 +452,4 @@ const u8 gGrassySeedItemDescription[] = _("Boosts Defense on\nGrassy Terrain,\nb const u8 gMistySeedItemDescription[] = _("Boosts Sp. Def. on\nMisty Terrain,\nbut only one time."); const u8 gPsychicSeedItemDescription[] = _("Boosts Sp. Def. on\nPsychic Terrain,\nbut only one time."); const u8 gAdrenalineOrbItemDescription[] = _("Boosts Speed if the\nuser is intimidated,\nbut only one time."); +const u8 gHoneyItemDescription[] = _("A sweet honey that\nattracts wild Pokémon\nin grass or on trees."); diff --git a/src/item_use.c b/src/item_use.c index 4d225d8b0..a20aecc64 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -1119,3 +1119,13 @@ void ItemUseOutOfBattle_CannotUse(u8 taskId) { DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); } + +void ItemUseOutOfBattle_Honey(u8 taskId) +{ + //As a placeholder, just acts like White Flute + FlagSet(FLAG_SYS_ENC_UP_ITEM); + FlagClear(FLAG_SYS_ENC_DOWN_ITEM); + StringExpandPlaceholders(gStringVar4, gText_UsedVar2WildLured); + gTasks[taskId].data[8] = 0; + gTasks[taskId].func = sub_80FE1D0; +} diff --git a/src/wild_encounter.c b/src/wild_encounter.c index b860da13e..be97c73ac 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -487,6 +487,12 @@ static bool8 DoWildEncounterRateTest(u32 encounterRate, bool8 ignoreAbility) encounterRate *= 2; else if (ability == ABILITY_SAND_VEIL && gSaveBlock1Ptr->weather == 8) encounterRate /= 2; + else if (ability == ABILITY_SNOW_CLOAK && gSaveBlock1Ptr->weather == 4) + encounterRate /= 2; + else if (ability == ABILITY_QUICK_FEET && gSaveBlock1Ptr->weather == 8) + encounterRate /= 2; + else if (ability == ABILITY_NO_GUARD) + encounterRate = encounterRate * 150 / 100; } if (encounterRate > 2880) encounterRate = 2880; From 2cfa5ea326fbeb253bc5de00d4d2018d3982f7ec Mon Sep 17 00:00:00 2001 From: Fontbane <36677462+Fontbane@users.noreply.github.com> Date: Mon, 25 Mar 2019 19:00:46 -0400 Subject: [PATCH 03/10] Fixed Honey And updated gitignore --- .gitignore | 2 ++ include/graphics.h | 2 ++ src/battle_script_commands.c | 9 +++++++-- src/data/graphics/items.h | 4 ++-- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index dc782899d..4d8c4ba7b 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,5 @@ Thumbs.db build/ .DS_Store *.ddump +*.bin +*.ipch diff --git a/include/graphics.h b/include/graphics.h index ed25ae8e3..5fc33a794 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -3940,6 +3940,8 @@ extern const u32 gItemIcon_DreadPlate[]; extern const u32 gItemIconPalette_DreadPlate[]; extern const u32 gItemIcon_IronPlate[]; extern const u32 gItemIconPalette_IronPlate[]; +extern const u32 gItemIcon_Honey[]; +extern const u32 gItemIconPalette_Honey[]; // Gen 5 Items extern const u32 gItemIcon_Eviolite[]; extern const u32 gItemIconPalette_Eviolite[]; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index b832d7e05..a3d724c0a 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10504,6 +10504,7 @@ static void atkE5_pickup(void) u16 species, heldItem; u8 ability; u8 level; + u8 lvlDivBy10; if (InBattlePike()) { @@ -10539,7 +10540,7 @@ static void atkE5_pickup(void) species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); level = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); - u8 lvlDivBy10 = (level - 1) / 10; + lvlDivBy10 = (level - 1) / 10; if (lvlDivBy10 > 9) lvlDivBy10 = 9; @@ -10576,7 +10577,11 @@ static void atkE5_pickup(void) && species != SPECIES_EGG && heldItem == ITEM_NONE && (Random()%100 <= lvlDivBy10*5+5)) - SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, ITEM_HONEY); + { + u16 honey = ITEM_HONEY; + SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &honey); + break; + } } } diff --git a/src/data/graphics/items.h b/src/data/graphics/items.h index 733bbf317..b00a5b854 100644 --- a/src/data/graphics/items.h +++ b/src/data/graphics/items.h @@ -877,8 +877,8 @@ const u32 gItemIconPalette_DreadPlate[] = INCBIN_U32("graphics/items/icon_palett const u32 gItemIcon_IronPlate[] = INCBIN_U32("graphics/items/icons/iron_plate.4bpp.lz"); const u32 gItemIconPalette_IronPlate[] = INCBIN_U32("graphics/items/icon_palettes/iron_plate.gbapal.lz"); -const u32 gItemIcon_IronPlate[] = INCBIN_U32("graphics/items/icons/honey.4bpp.lz"); -const u32 gItemIconPalette_IronPlate[] = INCBIN_U32("graphics/items/icon_palettes/honey.gbapal.lz"); +const u32 gItemIcon_Honey[] = INCBIN_U32("graphics/items/icons/honey.4bpp.lz"); +const u32 gItemIconPalette_Honey[] = INCBIN_U32("graphics/items/icon_palettes/honey.gbapal.lz"); // Gen 5 Items From 562ad709151bf103a3e9ebdab9535f960f78f852 Mon Sep 17 00:00:00 2001 From: Fontbane Date: Mon, 1 Apr 2019 23:07:21 -0400 Subject: [PATCH 04/10] Removed Gen 4 Ability field effects --- src/battle_script_commands.c | 12 +----------- src/wild_encounter.c | 6 ------ 2 files changed, 1 insertion(+), 17 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index a3d724c0a..4563e587b 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10540,7 +10540,7 @@ static void atkE5_pickup(void) species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); level = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); - lvlDivBy10 = (level - 1) / 10; + lvlDivBy10 = (level - 1) / 10; //Moving this here makes it easier to add in abilities like Honey Gather if (lvlDivBy10 > 9) lvlDivBy10 = 9; @@ -10572,16 +10572,6 @@ static void atkE5_pickup(void) } } } - else if (ability == ABILITY_HONEY_GATHER - && species != 0 - && species != SPECIES_EGG - && heldItem == ITEM_NONE - && (Random()%100 <= lvlDivBy10*5+5)) - { - u16 honey = ITEM_HONEY; - SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &honey); - break; - } } } diff --git a/src/wild_encounter.c b/src/wild_encounter.c index be97c73ac..b860da13e 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -487,12 +487,6 @@ static bool8 DoWildEncounterRateTest(u32 encounterRate, bool8 ignoreAbility) encounterRate *= 2; else if (ability == ABILITY_SAND_VEIL && gSaveBlock1Ptr->weather == 8) encounterRate /= 2; - else if (ability == ABILITY_SNOW_CLOAK && gSaveBlock1Ptr->weather == 4) - encounterRate /= 2; - else if (ability == ABILITY_QUICK_FEET && gSaveBlock1Ptr->weather == 8) - encounterRate /= 2; - else if (ability == ABILITY_NO_GUARD) - encounterRate = encounterRate * 150 / 100; } if (encounterRate > 2880) encounterRate = 2880; From 7bc3cdf527ae2982bfcd99819595e0d753c5cd74 Mon Sep 17 00:00:00 2001 From: Fontbane Date: Fri, 5 Apr 2019 10:16:41 -0400 Subject: [PATCH 05/10] Delete level variable --- src/battle_script_commands.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 4563e587b..9b1a3617f 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10503,7 +10503,6 @@ static void atkE5_pickup(void) s32 i; u16 species, heldItem; u8 ability; - u8 level; u8 lvlDivBy10; if (InBattlePike()) @@ -10539,8 +10538,7 @@ static void atkE5_pickup(void) { species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); - level = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); - lvlDivBy10 = (level - 1) / 10; //Moving this here makes it easier to add in abilities like Honey Gather + lvlDivBy10 = (GetMonData(&gPlayerParty[i], MON_DATA_LEVEL)-1) / 10; //Moving this here makes it easier to add in abilities like Honey Gather if (lvlDivBy10 > 9) lvlDivBy10 = 9; From e8dd8f93d13986c0d77eb57438186eebabaad90a Mon Sep 17 00:00:00 2001 From: Fontbane Date: Fri, 5 Apr 2019 10:33:19 -0400 Subject: [PATCH 06/10] Remove Honey functionality --- data/battle_ai_scripts.s | 1 - include/item_use.h | 1 - src/data/items.h | 2 +- src/item_use.c | 9 --------- 4 files changed, 1 insertion(+), 12 deletions(-) diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s index 101889405..1f072b734 100644 --- a/data/battle_ai_scripts.s +++ b/data/battle_ai_scripts.s @@ -3628,7 +3628,6 @@ AI_HPAware_DiscouragedEffectsWhenTargetLowHP: @ 82DE2B1 .byte EFFECT_LIGHT_SCREEN .byte EFFECT_OHKO .byte EFFECT_SUPER_FANG - .byte EFFECT_SUPER_FANG //Why is this here twice? .byte EFFECT_MIST .byte EFFECT_FOCUS_ENERGY .byte EFFECT_CONFUSE diff --git a/include/item_use.h b/include/item_use.h index 31221aa09..37343f6e7 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -51,6 +51,5 @@ void ItemUseInBattle_EnigmaBerry(u8); void ItemUseOutOfBattle_CannotUse(u8); u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId); void sub_80FDD10(u8); -void ItemUseOutOfBattle_Honey(u8); #endif // GUARD_ITEM_USE_H diff --git a/src/data/items.h b/src/data/items.h index ee47c7f89..9ee44dcdc 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -9148,7 +9148,7 @@ const struct Item gItems[] = .unk19 = 0, .pocket = POCKET_ITEMS, .type = 4, - .fieldUseFunc = ItemUseOutOfBattle_Honey, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, .battleUsage = 0, .battleUseFunc = NULL, .secondaryId = 0, diff --git a/src/item_use.c b/src/item_use.c index a20aecc64..5cfd9b435 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -1120,12 +1120,3 @@ void ItemUseOutOfBattle_CannotUse(u8 taskId) DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].data[3]); } -void ItemUseOutOfBattle_Honey(u8 taskId) -{ - //As a placeholder, just acts like White Flute - FlagSet(FLAG_SYS_ENC_UP_ITEM); - FlagClear(FLAG_SYS_ENC_DOWN_ITEM); - StringExpandPlaceholders(gStringVar4, gText_UsedVar2WildLured); - gTasks[taskId].data[8] = 0; - gTasks[taskId].func = sub_80FE1D0; -} From 9ee2e1c99acd910c60096723c4a3b9b5be3934fe Mon Sep 17 00:00:00 2001 From: Fontbane Date: Fri, 5 Apr 2019 12:03:09 -0400 Subject: [PATCH 07/10] Fix honey tab --- src/data/items.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/items.h b/src/data/items.h index 9ee44dcdc..5738f7fba 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -9136,7 +9136,7 @@ const struct Item gItems[] = .battleUseFunc = NULL, .secondaryId = 0, }, - [ITEM_HONEY] = + [ITEM_HONEY] = { .name = _("Honey"), .itemId = ITEM_HONEY, From 4c8bc9d526ed14a3f122463c4e43d3d9f13a8672 Mon Sep 17 00:00:00 2001 From: Papa Cancer Date: Wed, 3 Apr 2019 20:33:37 +0100 Subject: [PATCH 08/10] Three pointless moves MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Celebrate, Hold Hands and Happy Hour. Yay(!) Update: turns out Pay Day works differently to how I thought, so I added a new move effect for Happy Hour doubling prize money. Made all three effects subset of EFFECT_SPLASH, now called EFFECT_DUMB, as per Egg's instructions ( ͡° ͜ʖ ͡°) --- data/battle_scripts_1.s | 23 ++++++++++++++++++++--- include/constants/battle.h | 1 + include/constants/battle_move_effects.h | 2 +- include/constants/battle_string_ids.h | 1 + src/battle_message.c | 2 ++ src/battle_script_commands.c | 12 ++++++++++++ src/battle_util.c | 2 +- src/data/battle_moves.h | 10 +++++----- 8 files changed, 43 insertions(+), 10 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 764ff256c..3da8995d4 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -100,7 +100,7 @@ gBattleScriptsForMoveEffects:: @ 82D86A8 .4byte BattleScript_EffectMimic .4byte BattleScript_EffectMetronome .4byte BattleScript_EffectLeechSeed - .4byte BattleScript_EffectSplash + .4byte BattleScript_EffectDoNothing .4byte BattleScript_EffectDisable .4byte BattleScript_EffectLevelDamage .4byte BattleScript_EffectPsywave @@ -345,7 +345,7 @@ gBattleScriptsForMoveEffects:: @ 82D86A8 .4byte BattleScript_EffectPartingShot .4byte BattleScript_EffectSpectralThief .4byte BattleScript_EffectVCreate - + BattleScript_EffectVCreate: setmoveeffect MOVE_EFFECT_V_CREATE | MOVE_EFFECT_AFFECTS_USER goto BattleScript_EffectHit @@ -2835,16 +2835,33 @@ BattleScript_DoLeechSeed:: waitmessage 0x40 goto BattleScript_MoveEnd -BattleScript_EffectSplash:: +BattleScript_EffectDoNothing:: attackcanceler attackstring ppreduce + jumpifmove MOVE_HOLD_HANDS, BattleScript_EffectHoldHands attackanimation waitanimation + jumpifmove MOVE_CELEBRATE, BattleScript_EffectCelebrate + jumpifmove MOVE_HAPPY_HOUR, BattleScript_EffectHappyHour incrementgamestat GAME_STAT_USED_SPLASH printstring STRINGID_BUTNOTHINGHAPPENED waitmessage 0x40 goto BattleScript_MoveEnd +BattleScript_EffectHoldHands: + jumpifsideaffecting BS_TARGET, SIDE_STATUS_CRAFTY_SHIELD, BattleScript_ButItFailed + jumpifnotbattletype BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_DOUBLE, BattleScript_ButItFailed + attackanimation + waitanimation + goto BattleScript_MoveEnd +BattleScript_EffectCelebrate: + printstring STRINGID_CELEBRATEMESSAGE + waitmessage 0x40 + goto BattleScript_MoveEnd +BattleScript_EffectHappyHour: + setmoveeffect MOVE_EFFECT_HAPPY_HOUR + seteffectprimary + goto BattleScript_MoveEnd BattleScript_EffectDisable:: attackcanceler diff --git a/include/constants/battle.h b/include/constants/battle.h index c42188596..3b513ba06 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -326,6 +326,7 @@ #define MOVE_EFFECT_FEINT 0x3E #define MOVE_EFFECT_SPECTRAL_THIEF 0x3F #define MOVE_EFFECT_V_CREATE 0x40 +#define MOVE_EFFECT_HAPPY_HOUR 0x41 #define MOVE_EFFECT_AFFECTS_USER 0x4000 #define MOVE_EFFECT_CERTAIN 0x8000 diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index bd52d065e..62b2a7ff8 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -86,7 +86,7 @@ #define EFFECT_MIMIC 82 #define EFFECT_METRONOME 83 #define EFFECT_LEECH_SEED 84 -#define EFFECT_SPLASH 85 +#define EFFECT_DO_NOTHING 85 #define EFFECT_DISABLE 86 #define EFFECT_LEVEL_DAMAGE 87 #define EFFECT_PSYWAVE 88 diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 684f2b111..5114102f7 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -527,6 +527,7 @@ #define STRINGID_FLOWERVEILPROTECTED 523 #define STRINGID_SWEETVEILPROTECTED 524 #define STRINGID_AROMAVEILPROTECTED 525 +#define STRINGID_CELEBRATEMESSAGE 526 #define BATTLESTRINGS_COUNT 529 diff --git a/src/battle_message.c b/src/battle_message.c index a344eebff..77a2829aa 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -653,9 +653,11 @@ static const u8 sText_SafetyGooglesProtected[] = _("{B_DEF_NAME_WITH_PREFIX} is static const u8 sText_FlowerVeilProtected[] = _("{B_DEF_NAME_WITH_PREFIX} surrounded itself\nwith a veil of petals!"); static const u8 sText_SweetVeilProtected[] = _("{B_DEF_NAME_WITH_PREFIX} surrounded itself\nwith a veil of sweetness!"); static const u8 sText_AromaVeilProtected[] = _("{B_DEF_NAME_WITH_PREFIX} is protected\nby an aromatic veil!"); +static const u8 sText_CelebrateMessage[] = _("Congratulations, {B_PLAYER_NAME}!"); const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { + [STRINGID_CELEBRATEMESSAGE - 12] = sText_CelebrateMessage, [STRINGID_AROMAVEILPROTECTED - 12] = sText_AromaVeilProtected, [STRINGID_SWEETVEILPROTECTED - 12] = sText_SweetVeilProtected, [STRINGID_FLOWERVEILPROTECTED - 12] = sText_FlowerVeilProtected, diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 6595bb805..3e71638fc 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2006,6 +2006,11 @@ void SetMoveEffect(bool32 primary, u32 certain) affectsUser = MOVE_EFFECT_AFFECTS_USER; gBattleScripting.battler = gBattlerTarget; // theoretically the attacker } + + // Just in case this flag is still set + if (gBattleScripting.moveEffect & MOVE_EFFECT_CERTAIN) + gBattleScripting.moveEffect &= ~(MOVE_EFFECT_CERTAIN); + else { gEffectBattler = gBattlerTarget; @@ -2364,6 +2369,13 @@ void SetMoveEffect(bool32 primary, u32 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleScripting.moveEffect]; break; + case MOVE_EFFECT_HAPPY_HOUR: + if (GET_BATTLER_SIDE(gBattlerAttacker) == B_SIDE_PLAYER) + { + gBattleStruct->moneyMultiplier *= 2; + } + gBattlescriptCurrInstr++; + break; case MOVE_EFFECT_TRI_ATTACK: if (gBattleMons[gEffectBattler].status1) { diff --git a/src/battle_util.c b/src/battle_util.c index d5088b9f9..0d57cb342 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -3700,7 +3700,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) { case HOLD_EFFECT_DOUBLE_PRIZE: if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) - gBattleStruct->moneyMultiplier = 2; + gBattleStruct->moneyMultiplier *= 2; break; case HOLD_EFFECT_RESTORE_STATS: for (i = 0; i < NUM_BATTLE_STATS; i++) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 18d5bd61d..3d6c81990 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -2103,7 +2103,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_SPLASH] = { - .effect = EFFECT_SPLASH, + .effect = EFFECT_DO_NOTHING, .power = 0, .type = TYPE_NORMAL, .accuracy = 0, @@ -8463,7 +8463,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_HAPPY_HOUR] = { - .effect = EFFECT_PLACEHOLDER, // Needs a custom move effect + .effect = EFFECT_DO_NOTHING, .power = 0, .type = TYPE_NORMAL, .accuracy = 0, @@ -8505,7 +8505,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_CELEBRATE] = { - .effect = EFFECT_PLACEHOLDER, // Needs a custom move effect + .effect = EFFECT_DO_NOTHING, .power = 0, .type = TYPE_NORMAL, .accuracy = 0, @@ -8519,13 +8519,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_HOLD_HANDS] = { - .effect = EFFECT_PLACEHOLDER, // Needs a custom move effect + .effect = EFFECT_DO_NOTHING, .power = 0, .type = TYPE_NORMAL, .accuracy = 0, .pp = 40, .secondaryEffectChance = 0, - .target = MOVE_TARGET_USER, + .target = MOVE_TARGET_ALLY, .priority = 0, .flags = 0, .split = SPLIT_STATUS, From 2743b069dafc33725a6d886c37978b7532bcd41a Mon Sep 17 00:00:00 2001 From: Fontbane Date: Fri, 5 Apr 2019 14:16:39 -0400 Subject: [PATCH 09/10] Decap Ability Names Also fixed names that are too long --- src/data/text/abilities.h | 498 +++++++++++++++++++------------------- 1 file changed, 249 insertions(+), 249 deletions(-) diff --git a/src/data/text/abilities.h b/src/data/text/abilities.h index 91424c2c7..d3b5ce6ed 100644 --- a/src/data/text/abilities.h +++ b/src/data/text/abilities.h @@ -1,7 +1,7 @@ static const u8 sNoneDescription[] = _("No special ability."); static const u8 sStenchDescription[] = _("Helps repel wild POKéMON."); static const u8 sDrizzleDescription[] = _("Summons rain in battle."); -static const u8 sSpeedBoostDescription[] = _("Gradually boosts SPEED."); +static const u8 sSpeedBoostDescription[] = _("Gradually boosts Speed."); static const u8 sBattleArmorDescription[] = _("Blocks critical hits."); static const u8 sSturdyDescription[] = _("Negates 1-hit KO attacks."); static const u8 sDampDescription[] = _("Prevents self-destruction."); @@ -20,27 +20,27 @@ static const u8 sFlashFireDescription[] = _("Powers up if hit by fire."); static const u8 sShieldDustDescription[] = _("Prevents added effects."); static const u8 sOwnTempoDescription[] = _("Prevents confusion."); static const u8 sSuctionCupsDescription[] = _("Firmly anchors the body."); -static const u8 sIntimidateDescription[] = _("Lowers the foe's ATTACK."); +static const u8 sIntimidateDescription[] = _("Lowers the foe's Attack."); static const u8 sShadowTagDescription[] = _("Prevents the foe's escape."); static const u8 sRoughSkinDescription[] = _("Hurts to touch."); static const u8 sWonderGuardDescription[] = _("“Super effective” hits."); -static const u8 sLevitateDescription[] = _("Not hit by GROUND attacks."); +static const u8 sLevitateDescription[] = _("Not hit by Ground attacks."); static const u8 sEffectSporeDescription[] = _("Leaves spores on contact."); static const u8 sSynchronizeDescription[] = _("Passes on status problems."); static const u8 sClearBodyDescription[] = _("Prevents ability reduction."); static const u8 sNaturalCureDescription[] = _("Heals upon switching out."); static const u8 sLightningRodDescription[] = _("Draws electrical moves."); static const u8 sSereneGraceDescription[] = _("Promotes added effects."); -static const u8 sSwiftSwimDescription[] = _("Raises SPEED in rain."); -static const u8 sChlorophyllDescription[] = _("Raises SPEED in sunshine."); +static const u8 sSwiftSwimDescription[] = _("Raises Speed in rain."); +static const u8 sChlorophyllDescription[] = _("Raises Speed in sunshine."); static const u8 sIlluminateDescription[] = _("Encounter rate increases."); static const u8 sTraceDescription[] = _("Copies special ability."); -static const u8 sHugePowerDescription[] = _("Raises ATTACK."); +static const u8 sHugePowerDescription[] = _("Raises Attack."); static const u8 sPoisonPointDescription[] = _("Poisons foe on contact."); static const u8 sInnerFocusDescription[] = _("Prevents flinching."); static const u8 sMagmaArmorDescription[] = _("Prevents freezing."); static const u8 sWaterVeilDescription[] = _("Prevents burns."); -static const u8 sMagnetPullDescription[] = _("Traps STEEL-type POKéMON."); +static const u8 sMagnetPullDescription[] = _("Traps Steel-type POKéMON."); static const u8 sSoundproofDescription[] = _("Avoids sound-based moves."); static const u8 sRainDishDescription[] = _("Slight HP recovery in rain."); static const u8 sSandStreamDescription[] = _("Summons a sandstorm."); @@ -50,29 +50,29 @@ static const u8 sEarlyBirdDescription[] = _("Awakens quickly from sleep."); static const u8 sFlameBodyDescription[] = _("Burns the foe on contact."); static const u8 sRunAwayDescription[] = _("Makes escaping easier."); static const u8 sKeenEyeDescription[] = _("Prevents loss of accuracy."); -static const u8 sHyperCutterDescription[] = _("Prevents ATTACK reduction."); +static const u8 sHyperCutterDescription[] = _("Prevents Attack reduction."); static const u8 sPickupDescription[] = _("May pick up items."); static const u8 sTruantDescription[] = _("Moves only every two turns."); static const u8 sHustleDescription[] = _("Trades accuracy for power."); static const u8 sCuteCharmDescription[] = _("Infatuates on contact."); -static const u8 sPlusDescription[] = _("Powers up with MINUS."); -static const u8 sMinusDescription[] = _("Powers up with PLUS."); +static const u8 sPlusDescription[] = _("Powers up with Minus."); +static const u8 sMinusDescription[] = _("Powers up with Plus."); static const u8 sForecastDescription[] = _("Changes with the weather."); static const u8 sStickyHoldDescription[] = _("Prevents item theft."); static const u8 sShedSkinDescription[] = _("Heals the body by shedding."); -static const u8 sGutsDescription[] = _("Ups ATTACK if suffering."); -static const u8 sMarvelScaleDescription[] = _("Ups DEFENSE if suffering."); +static const u8 sGutsDescription[] = _("Ups Attack if suffering."); +static const u8 sMarvelScaleDescription[] = _("Ups Defense if suffering."); static const u8 sLiquidOozeDescription[] = _("Draining causes injury."); -static const u8 sOvergrowDescription[] = _("Ups GRASS moves in a pinch."); -static const u8 sBlazeDescription[] = _("Ups FIRE moves in a pinch."); -static const u8 sTorrentDescription[] = _("Ups WATER moves in a pinch."); -static const u8 sSwarmDescription[] = _("Ups BUG moves in a pinch."); +static const u8 sOvergrowDescription[] = _("Ups Grass moves in a pinch."); +static const u8 sBlazeDescription[] = _("Ups Fire moves in a pinch."); +static const u8 sTorrentDescription[] = _("Ups Water moves in a pinch."); +static const u8 sSwarmDescription[] = _("Ups Bug moves in a pinch."); static const u8 sRockHeadDescription[] = _("Prevents recoil damage."); static const u8 sDroughtDescription[] = _("Summons sunlight in battle."); static const u8 sArenaTrapDescription[] = _("Prevents fleeing."); static const u8 sVitalSpiritDescription[] = _("Prevents sleep."); static const u8 sWhiteSmokeDescription[] = _("Prevents ability reduction."); -static const u8 sPurePowerDescription[] = _("Raises ATTACK."); +static const u8 sPurePowerDescription[] = _("Raises Attack."); static const u8 sShellArmorDescription[] = _("Blocks critical hits."); static const u8 sCacophonyDescription[] = _("Avoids sound-based moves."); static const u8 sAirLockDescription[] = _("Negates weather effects."); @@ -224,239 +224,239 @@ static const u8 sFullMetalBodyDescription[] = _("Prevents stat reduction."); const u8 gAbilityNames[ABILITIES_COUNT_GEN7][ABILITY_NAME_LENGTH + 1] = { [ABILITY_NONE] = _("-------"), - [ABILITY_STENCH] = _("STENCH"), - [ABILITY_DRIZZLE] = _("DRIZZLE"), - [ABILITY_SPEED_BOOST] = _("SPEED BOOST"), - [ABILITY_BATTLE_ARMOR] = _("BATTLE ARMOR"), - [ABILITY_STURDY] = _("STURDY"), - [ABILITY_DAMP] = _("DAMP"), - [ABILITY_LIMBER] = _("LIMBER"), - [ABILITY_SAND_VEIL] = _("SAND VEIL"), - [ABILITY_STATIC] = _("STATIC"), - [ABILITY_VOLT_ABSORB] = _("VOLT ABSORB"), - [ABILITY_WATER_ABSORB] = _("WATER ABSORB"), - [ABILITY_OBLIVIOUS] = _("OBLIVIOUS"), - [ABILITY_CLOUD_NINE] = _("CLOUD NINE"), - [ABILITY_COMPOUND_EYES] = _("COMPOUNDEYES"), - [ABILITY_INSOMNIA] = _("INSOMNIA"), - [ABILITY_COLOR_CHANGE] = _("COLOR CHANGE"), - [ABILITY_IMMUNITY] = _("IMMUNITY"), - [ABILITY_FLASH_FIRE] = _("FLASH FIRE"), - [ABILITY_SHIELD_DUST] = _("SHIELD DUST"), - [ABILITY_OWN_TEMPO] = _("OWN TEMPO"), - [ABILITY_SUCTION_CUPS] = _("SUCTION CUPS"), - [ABILITY_INTIMIDATE] = _("INTIMIDATE"), - [ABILITY_SHADOW_TAG] = _("SHADOW TAG"), - [ABILITY_ROUGH_SKIN] = _("ROUGH SKIN"), - [ABILITY_WONDER_GUARD] = _("WONDER GUARD"), - [ABILITY_LEVITATE] = _("LEVITATE"), - [ABILITY_EFFECT_SPORE] = _("EFFECT SPORE"), - [ABILITY_SYNCHRONIZE] = _("SYNCHRONIZE"), - [ABILITY_CLEAR_BODY] = _("CLEAR BODY"), - [ABILITY_NATURAL_CURE] = _("NATURAL CURE"), - [ABILITY_LIGHTNING_ROD] = _("LIGHTNINGROD"), - [ABILITY_SERENE_GRACE] = _("SERENE GRACE"), - [ABILITY_SWIFT_SWIM] = _("SWIFT SWIM"), - [ABILITY_CHLOROPHYLL] = _("CHLOROPHYLL"), - [ABILITY_ILLUMINATE] = _("ILLUMINATE"), - [ABILITY_TRACE] = _("TRACE"), - [ABILITY_HUGE_POWER] = _("HUGE POWER"), - [ABILITY_POISON_POINT] = _("POISON POINT"), - [ABILITY_INNER_FOCUS] = _("INNER FOCUS"), - [ABILITY_MAGMA_ARMOR] = _("MAGMA ARMOR"), - [ABILITY_WATER_VEIL] = _("WATER VEIL"), - [ABILITY_MAGNET_PULL] = _("MAGNET PULL"), - [ABILITY_SOUNDPROOF] = _("SOUNDPROOF"), - [ABILITY_RAIN_DISH] = _("RAIN DISH"), - [ABILITY_SAND_STREAM] = _("SAND STREAM"), + [ABILITY_STENCH] = _("Stench"), + [ABILITY_DRIZZLE] = _("Drizzle"), + [ABILITY_SPEED_BOOST] = _("Speed Boost"), + [ABILITY_BATTLE_ARMOR] = _("Battle Armor"), + [ABILITY_STURDY] = _("Sturdy"), + [ABILITY_DAMP] = _("Damp"), + [ABILITY_LIMBER] = _("Limber"), + [ABILITY_SAND_VEIL] = _("Sand Veil"), + [ABILITY_STATIC] = _("Static"), + [ABILITY_VOLT_ABSORB] = _("Volt Absorb"), + [ABILITY_WATER_ABSORB] = _("Water Absorb"), + [ABILITY_OBLIVIOUS] = _("Oblivious"), + [ABILITY_CLOUD_NINE] = _("Cloud Nine"), + [ABILITY_COMPOUND_EYES] = _("CompoundEyes"), + [ABILITY_INSOMNIA] = _("Insomnia"), + [ABILITY_COLOR_CHANGE] = _("Color Change"), + [ABILITY_IMMUNITY] = _("Immunity"), + [ABILITY_FLASH_FIRE] = _("Flash Fire"), + [ABILITY_SHIELD_DUST] = _("Shield Dust"), + [ABILITY_OWN_TEMPO] = _("Own Tempo"), + [ABILITY_SUCTION_CUPS] = _("Suction Cups"), + [ABILITY_INTIMIDATE] = _("Intimidate"), + [ABILITY_SHADOW_TAG] = _("Shadow Tag"), + [ABILITY_ROUGH_SKIN] = _("Rough Skin"), + [ABILITY_WONDER_GUARD] = _("Wonder Guard"), + [ABILITY_LEVITATE] = _("Levitate"), + [ABILITY_EFFECT_SPORE] = _("Effect Spore"), + [ABILITY_SYNCHRONIZE] = _("Synchronize"), + [ABILITY_CLEAR_BODY] = _("Clear Body"), + [ABILITY_NATURAL_CURE] = _("Natural Cure"), + [ABILITY_LIGHTNING_ROD] = _("Lightningrod"), + [ABILITY_SERENE_GRACE] = _("Serene Grace"), + [ABILITY_SWIFT_SWIM] = _("Swift Swim"), + [ABILITY_CHLOROPHYLL] = _("Chlorophyll"), + [ABILITY_ILLUMINATE] = _("Illuminate"), + [ABILITY_TRACE] = _("Trace"), + [ABILITY_HUGE_POWER] = _("Huge Power"), + [ABILITY_POISON_POINT] = _("Poison Point"), + [ABILITY_INNER_FOCUS] = _("Inner Focus"), + [ABILITY_MAGMA_ARMOR] = _("Magma Armor"), + [ABILITY_WATER_VEIL] = _("Water Veil"), + [ABILITY_MAGNET_PULL] = _("Magnet Pull"), + [ABILITY_SOUNDPROOF] = _("Soundproof"), + [ABILITY_RAIN_DISH] = _("Rain Dish"), + [ABILITY_SAND_STREAM] = _("Sand Stream"), [ABILITY_PRESSURE] = _("PRESSURE"), - [ABILITY_THICK_FAT] = _("THICK FAT"), - [ABILITY_EARLY_BIRD] = _("EARLY BIRD"), - [ABILITY_FLAME_BODY] = _("FLAME BODY"), - [ABILITY_RUN_AWAY] = _("RUN AWAY"), - [ABILITY_KEEN_EYE] = _("KEEN EYE"), - [ABILITY_HYPER_CUTTER] = _("HYPER CUTTER"), - [ABILITY_PICKUP] = _("PICKUP"), - [ABILITY_TRUANT] = _("TRUANT"), - [ABILITY_HUSTLE] = _("HUSTLE"), - [ABILITY_CUTE_CHARM] = _("CUTE CHARM"), - [ABILITY_PLUS] = _("PLUS"), - [ABILITY_MINUS] = _("MINUS"), - [ABILITY_FORECAST] = _("FORECAST"), - [ABILITY_STICKY_HOLD] = _("STICKY HOLD"), - [ABILITY_SHED_SKIN] = _("SHED SKIN"), - [ABILITY_GUTS] = _("GUTS"), - [ABILITY_MARVEL_SCALE] = _("MARVEL SCALE"), - [ABILITY_LIQUID_OOZE] = _("LIQUID OOZE"), - [ABILITY_OVERGROW] = _("OVERGROW"), - [ABILITY_BLAZE] = _("BLAZE"), - [ABILITY_TORRENT] = _("TORRENT"), - [ABILITY_SWARM] = _("SWARM"), - [ABILITY_ROCK_HEAD] = _("ROCK HEAD"), - [ABILITY_DROUGHT] = _("DROUGHT"), - [ABILITY_ARENA_TRAP] = _("ARENA TRAP"), - [ABILITY_VITAL_SPIRIT] = _("VITAL SPIRIT"), - [ABILITY_WHITE_SMOKE] = _("WHITE SMOKE"), - [ABILITY_PURE_POWER] = _("PURE POWER"), - [ABILITY_SHELL_ARMOR] = _("SHELL ARMOR"), - [ABILITY_CACOPHONY] = _("CACOPHONY"), - [ABILITY_AIR_LOCK] = _("AIR LOCK"), - [ABILITY_TANGLED_FEET] = _("TANGLED FEET"), - [ABILITY_MOTOR_DRIVE] = _("MOTOR DRIVE"), - [ABILITY_RIVALRY] = _("RIVALRY"), - [ABILITY_STEADFAST] = _("STEADFAST"), - [ABILITY_SNOW_CLOAK] = _("SNOW CLOAK"), - [ABILITY_GLUTTONY] = _("GLUTTONY"), - [ABILITY_ANGER_POINT] = _("ANGER POINT"), - [ABILITY_UNBURDEN] = _("UNBURDEN"), - [ABILITY_HEATPROOF] = _("HEATPROOF"), - [ABILITY_SIMPLE] = _("SIMPLE"), - [ABILITY_DRY_SKIN] = _("DRY SKIN"), - [ABILITY_DOWNLOAD] = _("DOWNLOAD"), - [ABILITY_IRON_FIST] = _("IRON FIST"), - [ABILITY_POISON_HEAL] = _("POISON HEAL"), - [ABILITY_ADAPTABILITY] = _("ADAPTABILITY"), - [ABILITY_SKILL_LINK] = _("SKILL LINK"), - [ABILITY_HYDRATION] = _("HYDRATION"), - [ABILITY_SOLAR_POWER] = _("SOLAR POWER"), - [ABILITY_QUICK_FEET] = _("QUICK FEET"), - [ABILITY_NORMALIZE] = _("NORMALIZE"), - [ABILITY_SNIPER] = _("SNIPER"), - [ABILITY_MAGIC_GUARD] = _("MAGIC GUARD"), - [ABILITY_NO_GUARD] = _("NO GUARD"), - [ABILITY_STALL] = _("STALL"), - [ABILITY_TECHNICIAN] = _("TECHNICIAN"), - [ABILITY_LEAF_GUARD] = _("LEAF GUARD"), - [ABILITY_KLUTZ] = _("KLUTZ"), - [ABILITY_MOLD_BREAKER] = _("MOLD BREAKER"), - [ABILITY_SUPER_LUCK] = _("SUPER LUCK"), - [ABILITY_AFTERMATH] = _("AFTERMATH"), - [ABILITY_ANTICIPATION] = _("ANTICIPATION"), - [ABILITY_FOREWARN] = _("FOREWARN"), - [ABILITY_UNAWARE] = _("UNAWARE"), - [ABILITY_TINTED_LENS] = _("TINTED LENS"), - [ABILITY_FILTER] = _("FILTER"), - [ABILITY_SLOW_START] = _("SLOW START"), - [ABILITY_SCRAPPY] = _("SCRAPPY"), - [ABILITY_STORM_DRAIN] = _("STORM DRAIN"), - [ABILITY_ICE_BODY] = _("ICE BODY"), - [ABILITY_SOLID_ROCK] = _("SOLID ROCK"), - [ABILITY_SNOW_WARNING] = _("SNOW WARNING"), - [ABILITY_HONEY_GATHER] = _("HONEY GATHER"), - [ABILITY_FRISK] = _("FRISK"), - [ABILITY_RECKLESS] = _("RECKLESS"), - [ABILITY_MULTITYPE] = _("MULTITYPE"), - [ABILITY_FLOWER_GIFT] = _("FLOWER GIFT"), - [ABILITY_BAD_DREAMS] = _("BAD DREAMS"), - [ABILITY_PICKPOCKET] = _("PICKPOCKET"), - [ABILITY_SHEER_FORCE] = _("SHEER FORCE"), - [ABILITY_CONTRARY] = _("CONTRARY"), - [ABILITY_UNNERVE] = _("UNNERVE"), - [ABILITY_DEFIANT] = _("DEFIANT"), - [ABILITY_DEFEATIST] = _("DEFEATIST"), - [ABILITY_CURSED_BODY] = _("CURSED BODY"), - [ABILITY_HEALER] = _("HEALER"), - [ABILITY_FRIEND_GUARD] = _("FRIEND GUARD"), - [ABILITY_WEAK_ARMOR] = _("WEAK ARMOR"), - [ABILITY_HEAVY_METAL] = _("HEAVY METAL"), - [ABILITY_LIGHT_METAL] = _("LIGHT METAL"), - [ABILITY_MULTISCALE] = _("MULTISCALE"), - [ABILITY_TOXIC_BOOST] = _("TOXIC BOOST"), - [ABILITY_FLARE_BOOST] = _("FLARE BOOST"), - [ABILITY_HARVEST] = _("HARVEST"), - [ABILITY_TELEPATHY] = _("TELEPATHY"), - [ABILITY_MOODY] = _("MOODY"), - [ABILITY_OVERCOAT] = _("OVERCOAT"), - [ABILITY_POISON_TOUCH] = _("POISON TOUCH"), - [ABILITY_REGENERATOR] = _("REGENERATOR"), - [ABILITY_BIG_PECKS] = _("BIG PECKS"), - [ABILITY_SAND_RUSH] = _("SAND RUSH"), - [ABILITY_WONDER_SKIN] = _("WONDER SKIN"), - [ABILITY_ANALYTIC] = _("ANALYTIC"), - [ABILITY_ILLUSION] = _("ILLUSION"), - [ABILITY_IMPOSTER] = _("IMPOSTER"), - [ABILITY_INFILTRATOR] = _("INFILTRATOR"), - [ABILITY_MUMMY] = _("MUMMY"), - [ABILITY_MOXIE] = _("MOXIE"), - [ABILITY_JUSTIFIED] = _("JUSTIFIED"), - [ABILITY_RATTLED] = _("RATTLED"), - [ABILITY_MAGIC_BOUNCE] = _("MAGIC BOUNCE"), - [ABILITY_SAP_SIPPER] = _("SAP SIPPER"), - [ABILITY_PRANKSTER] = _("PRANKSTER"), - [ABILITY_SAND_FORCE] = _("SAND FORCE"), - [ABILITY_IRON_BARBS] = _("IRON BARBS"), - [ABILITY_ZEN_MODE] = _("ZEN MODE"), - [ABILITY_VICTORY_STAR] = _("VICTORY STAR"), - [ABILITY_TURBOBLAZE] = _("TURBOBLAZE"), - [ABILITY_TERAVOLT] = _("TERAVOLT"), - [ABILITY_AROMA_VEIL] = _("AROMA VEIL"), - [ABILITY_FLOWER_VEIL] = _("FLOWER VEIL"), - [ABILITY_CHEEK_POUCH] = _("CHEEK POUCH"), - [ABILITY_PROTEAN] = _("PROTEAN"), - [ABILITY_FUR_COAT] = _("FUR COAT"), - [ABILITY_MAGICIAN] = _("MAGICIAN"), - [ABILITY_BULLETPROOF] = _("BULLETPROOF"), - [ABILITY_COMPETITIVE] = _("COMPETITIVE"), - [ABILITY_STRONG_JAW] = _("STRONG JAW"), - [ABILITY_REFRIGERATE] = _("REFRIGERATE"), - [ABILITY_SWEET_VEIL] = _("SWEET VEIL"), - [ABILITY_STANCE_CHANGE] = _("STANCE CHANG"), - [ABILITY_GALE_WINGS] = _("GALE WINGS"), - [ABILITY_MEGA_LAUNCHER] = _("MEGA LAUNCHE"), - [ABILITY_GRASS_PELT] = _("GRASS PELT"), - [ABILITY_SYMBIOSIS] = _("SYMBIOSIS"), - [ABILITY_TOUGH_CLAWS] = _("TOUGH CLAWS"), - [ABILITY_PIXILATE] = _("PIXILATE"), - [ABILITY_GOOEY] = _("GOOEY"), - [ABILITY_AERILATE] = _("AERILATE"), - [ABILITY_PARENTAL_BOND] = _("PARENTAL BON"), - [ABILITY_DARK_AURA] = _("DARK AURA"), - [ABILITY_FAIRY_AURA] = _("FAIRY AURA"), - [ABILITY_AURA_BREAK] = _("AURA BREAK"), - [ABILITY_PRIMORDIAL_SEA] = _("PRIMORDIAL S"), - [ABILITY_DESOLATE_LAND] = _("DESOLATE LAN"), - [ABILITY_DELTA_STREAM] = _("DELTA STREAM"), - [ABILITY_STAMINA] = _("STAMINA"), - [ABILITY_WIMP_OUT] = _("WIMP OUT"), - [ABILITY_EMERGENCY_EXIT] = _("EMERGENCY EX"), - [ABILITY_WATER_COMPACTION] = _("WATER COMPAC"), - [ABILITY_MERCILESS] = _("MERCILESS"), - [ABILITY_SHIELDS_DOWN] = _("SHIELDS DOWN"), - [ABILITY_STAKEOUT] = _("STAKEOUT"), - [ABILITY_WATER_BUBBLE] = _("WATER BUBBLE"), - [ABILITY_STEELWORKER] = _("STEELWORKER"), - [ABILITY_BERSERK] = _("BERSERK"), - [ABILITY_SLUSH_RUSH] = _("SLUSH RUSH"), - [ABILITY_LONG_REACH] = _("LONG REACH"), - [ABILITY_LIQUID_VOICE] = _("LIQUID VOICE"), - [ABILITY_TRIAGE] = _("TRIAGE"), - [ABILITY_GALVANIZE] = _("GALVANIZE"), - [ABILITY_SURGE_SURFER] = _("SURGE SURFER"), - [ABILITY_SCHOOLING] = _("SCHOOLING"), - [ABILITY_DISGUISE] = _("DISGUISE"), - [ABILITY_BATTLE_BOND] = _("BATTLE BOND"), - [ABILITY_POWER_CONSTRUCT] = _("POWER CONSTR"), - [ABILITY_CORROSION] = _("CORROSION"), - [ABILITY_COMATOSE] = _("COMATOSE"), - [ABILITY_QUEENLY_MAJESTY] = _("QUEENLY MAJE"), - [ABILITY_INNARDS_OUT] = _("INNARDS OUT"), - [ABILITY_DANCER] = _("DANCER"), - [ABILITY_BATTERY] = _("BATTERY"), - [ABILITY_FLUFFY] = _("FLUFFY"), - [ABILITY_DAZZLING] = _("DAZZLING"), - [ABILITY_SOUL_HEART] = _("SOUL HEART"), - [ABILITY_TANGLING_HAIR] = _("TANGLING HAI"), - [ABILITY_RECEIVER] = _("RECEIVER"), - [ABILITY_POWER_OF_ALCHEMY] = _("POWER OF ALC"), - [ABILITY_BEAST_BOOST] = _("BEAST BOOST"), - [ABILITY_RKS_SYSTEM] = _("RKS SYSTEM"), - [ABILITY_ELECTRIC_SURGE] = _("ELECTRIC SUR"), - [ABILITY_PSYCHIC_SURGE] = _("PSYCHIC SUR"), - [ABILITY_MISTY_SURGE] = _("MISTY SURGE"), - [ABILITY_GRASSY_SURGE] = _("GRASSY SURGE"), - [ABILITY_FULL_METAL_BODY] = _("FULL METAL B"), - [ABILITY_SHADOW_SHIELD] = _("SHADOW SHIEL"), - [ABILITY_PRISM_ARMOR] = _("PRISM ARMOR"), + [ABILITY_THICK_FAT] = _("Thick Fat"), + [ABILITY_EARLY_BIRD] = _("Early Bird"), + [ABILITY_FLAME_BODY] = _("Flame Body"), + [ABILITY_RUN_AWAY] = _("Run Away"), + [ABILITY_KEEN_EYE] = _("Keen Eye"), + [ABILITY_HYPER_CUTTER] = _("Hyper Cutter"), + [ABILITY_PICKUP] = _("Pickup"), + [ABILITY_TRUANT] = _("Truant"), + [ABILITY_HUSTLE] = _("Hustle"), + [ABILITY_CUTE_CHARM] = _("Cute Charm"), + [ABILITY_PLUS] = _("Plus"), + [ABILITY_MINUS] = _("Minus"), + [ABILITY_FORECAST] = _("Forecast"), + [ABILITY_STICKY_HOLD] = _("Sticky Hold"), + [ABILITY_SHED_SKIN] = _("Shed Skin"), + [ABILITY_GUTS] = _("Guts"), + [ABILITY_MARVEL_SCALE] = _("Marvel Scale"), + [ABILITY_LIQUID_OOZE] = _("Liquid Ooze"), + [ABILITY_OVERGROW] = _("Overgrow"), + [ABILITY_BLAZE] = _("Blaze"), + [ABILITY_TORRENT] = _("Torrent"), + [ABILITY_SWARM] = _("Swarm"), + [ABILITY_ROCK_HEAD] = _("Rock Head"), + [ABILITY_DROUGHT] = _("Drought"), + [ABILITY_ARENA_TRAP] = _("Arena Trap"), + [ABILITY_VITAL_SPIRIT] = _("Vital Spirit"), + [ABILITY_WHITE_SMOKE] = _("White Smoke"), + [ABILITY_PURE_POWER] = _("Pure Power"), + [ABILITY_SHELL_ARMOR] = _("Shell Armor"), + [ABILITY_CACOPHONY] = _("Cacophony"), + [ABILITY_AIR_LOCK] = _("Air Lock"), + [ABILITY_TANGLED_FEET] = _("Tangled Feet"), + [ABILITY_MOTOR_DRIVE] = _("Motor Drive"), + [ABILITY_RIVALRY] = _("Rivalry"), + [ABILITY_STEADFAST] = _("Steadfast"), + [ABILITY_SNOW_CLOAK] = _("Snow Cloak"), + [ABILITY_GLUTTONY] = _("Gluttony"), + [ABILITY_ANGER_POINT] = _("Anger Point"), + [ABILITY_UNBURDEN] = _("Unburden"), + [ABILITY_HEATPROOF] = _("Heatproof"), + [ABILITY_SIMPLE] = _("Simple"), + [ABILITY_DRY_SKIN] = _("Dry Skin"), + [ABILITY_DOWNLOAD] = _("Download"), + [ABILITY_IRON_FIST] = _("Iron Fist"), + [ABILITY_POISON_HEAL] = _("Poison Heal"), + [ABILITY_ADAPTABILITY] = _("Adaptability"), + [ABILITY_SKILL_LINK] = _("Skill Link"), + [ABILITY_HYDRATION] = _("Hydration"), + [ABILITY_SOLAR_POWER] = _("Solar Power"), + [ABILITY_QUICK_FEET] = _("Quick Feet"), + [ABILITY_NORMALIZE] = _("Normalize"), + [ABILITY_SNIPER] = _("Sniper"), + [ABILITY_MAGIC_GUARD] = _("Magic Guard"), + [ABILITY_NO_GUARD] = _("No Guard"), + [ABILITY_STALL] = _("Stall"), + [ABILITY_TECHNICIAN] = _("Technician"), + [ABILITY_LEAF_GUARD] = _("Leaf Guard"), + [ABILITY_KLUTZ] = _("Klutz"), + [ABILITY_MOLD_BREAKER] = _("Mold Breaker"), + [ABILITY_SUPER_LUCK] = _("Super Luck"), + [ABILITY_AFTERMATH] = _("Aftermath"), + [ABILITY_ANTICIPATION] = _("Anticipation"), + [ABILITY_FOREWARN] = _("Forewarn"), + [ABILITY_UNAWARE] = _("Unaware"), + [ABILITY_TINTED_LENS] = _("Tinted Lens"), + [ABILITY_FILTER] = _("Filter"), + [ABILITY_SLOW_START] = _("Slow Start"), + [ABILITY_SCRAPPY] = _("Scrappy"), + [ABILITY_STORM_DRAIN] = _("Storm Drain"), + [ABILITY_ICE_BODY] = _("Ice Body"), + [ABILITY_SOLID_ROCK] = _("Solid Rock"), + [ABILITY_SNOW_WARNING] = _("Snow Warning"), + [ABILITY_HONEY_GATHER] = _("Honey Gather"), + [ABILITY_FRISK] = _("Frisk"), + [ABILITY_RECKLESS] = _("Reckless"), + [ABILITY_MULTITYPE] = _("Multitype"), + [ABILITY_FLOWER_GIFT] = _("Flower Gift"), + [ABILITY_BAD_DREAMS] = _("Bad Dreams"), + [ABILITY_PICKPOCKET] = _("Pickpocket"), + [ABILITY_SHEER_FORCE] = _("Sheer Force"), + [ABILITY_CONTRARY] = _("Contrary"), + [ABILITY_UNNERVE] = _("Unnerve"), + [ABILITY_DEFIANT] = _("Defiant"), + [ABILITY_DEFEATIST] = _("Defeatist"), + [ABILITY_CURSED_BODY] = _("Cursed Body"), + [ABILITY_HEALER] = _("Healer"), + [ABILITY_FRIEND_GUARD] = _("Friend Guard"), + [ABILITY_WEAK_ARMOR] = _("Weak Armor"), + [ABILITY_HEAVY_METAL] = _("Heavy Metal"), + [ABILITY_LIGHT_METAL] = _("Light Metal"), + [ABILITY_MULTISCALE] = _("Multiscale"), + [ABILITY_TOXIC_BOOST] = _("Toxic Boost"), + [ABILITY_FLARE_BOOST] = _("Flare Boost"), + [ABILITY_HARVEST] = _("Harvest"), + [ABILITY_TELEPATHY] = _("Telepathy"), + [ABILITY_MOODY] = _("Moody"), + [ABILITY_OVERCOAT] = _("Overcoat"), + [ABILITY_POISON_TOUCH] = _("Poison Touch"), + [ABILITY_REGENERATOR] = _("Regenerator"), + [ABILITY_BIG_PECKS] = _("Big Pecks"), + [ABILITY_SAND_RUSH] = _("Sand Rush"), + [ABILITY_WONDER_SKIN] = _("Wonder Skin"), + [ABILITY_ANALYTIC] = _("Analytic"), + [ABILITY_ILLUSION] = _("Illusion"), + [ABILITY_IMPOSTER] = _("Imposter"), + [ABILITY_INFILTRATOR] = _("Infiltrator"), + [ABILITY_MUMMY] = _("Mummy"), + [ABILITY_MOXIE] = _("Moxie"), + [ABILITY_JUSTIFIED] = _("Justified"), + [ABILITY_RATTLED] = _("Rattled"), + [ABILITY_MAGIC_BOUNCE] = _("Magic Bounce"), + [ABILITY_SAP_SIPPER] = _("Sap Sipper"), + [ABILITY_PRANKSTER] = _("Prankster"), + [ABILITY_SAND_FORCE] = _("Sand Force"), + [ABILITY_IRON_BARBS] = _("Iron Barbs"), + [ABILITY_ZEN_MODE] = _("Zen Mode"), + [ABILITY_VICTORY_STAR] = _("Victory Star"), + [ABILITY_TURBOBLAZE] = _("Turboblaze"), + [ABILITY_TERAVOLT] = _("Teravolt"), + [ABILITY_AROMA_VEIL] = _("Aroma Veil"), + [ABILITY_FLOWER_VEIL] = _("Flower Veil"), + [ABILITY_CHEEK_POUCH] = _("Cheek Pouch"), + [ABILITY_PROTEAN] = _("Protean"), + [ABILITY_FUR_COAT] = _("Fur Coat"), + [ABILITY_MAGICIAN] = _("Magician"), + [ABILITY_BULLETPROOF] = _("Bulletproof"), + [ABILITY_COMPETITIVE] = _("Competitive"), + [ABILITY_STRONG_JAW] = _("Strong Jaw"), + [ABILITY_REFRIGERATE] = _("Refrigerate"), + [ABILITY_SWEET_VEIL] = _("Sweet Veil"), + [ABILITY_STANCE_CHANGE] = _("StanceChange"), + [ABILITY_GALE_WINGS] = _("Gale Wings"), + [ABILITY_MEGA_LAUNCHER] = _("MegaLauncher"), + [ABILITY_GRASS_PELT] = _("Grass Pelt"), + [ABILITY_SYMBIOSIS] = _("Symbiosis"), + [ABILITY_TOUGH_CLAWS] = _("Tough Claws"), + [ABILITY_PIXILATE] = _("Pixilate"), + [ABILITY_GOOEY] = _("Gooey"), + [ABILITY_AERILATE] = _("Aerilate"), + [ABILITY_PARENTAL_BOND] = _("ParentalBond"), + [ABILITY_DARK_AURA] = _("Dark Aura"), + [ABILITY_FAIRY_AURA] = _("Fairy Aura"), + [ABILITY_AURA_BREAK] = _("Aura Break"), + [ABILITY_PRIMORDIAL_SEA] = _("Primordial S"), + [ABILITY_DESOLATE_LAND] = _("DesolateLand"), + [ABILITY_DELTA_STREAM] = _("Delta Stream"), + [ABILITY_STAMINA] = _("Stamina"), + [ABILITY_WIMP_OUT] = _("Wimp Out"), + [ABILITY_EMERGENCY_EXIT] = _("Emergency Ex"), + [ABILITY_WATER_COMPACTION] = _("Water Compac"), + [ABILITY_MERCILESS] = _("Merciless"), + [ABILITY_SHIELDS_DOWN] = _("Shields Down"), + [ABILITY_STAKEOUT] = _("Stakeout"), + [ABILITY_WATER_BUBBLE] = _("Water Bubble"), + [ABILITY_STEELWORKER] = _("Steelworker"), + [ABILITY_BERSERK] = _("Berserk"), + [ABILITY_SLUSH_RUSH] = _("Slush Rush"), + [ABILITY_LONG_REACH] = _("Long Reach"), + [ABILITY_LIQUID_VOICE] = _("Liquid Voice"), + [ABILITY_TRIAGE] = _("Triage"), + [ABILITY_GALVANIZE] = _("Galvanize"), + [ABILITY_SURGE_SURFER] = _("Surge Surfer"), + [ABILITY_SCHOOLING] = _("Schooling"), + [ABILITY_DISGUISE] = _("Disguise"), + [ABILITY_BATTLE_BOND] = _("Battle Bond"), + [ABILITY_POWER_CONSTRUCT] = _("Power Constr"), + [ABILITY_CORROSION] = _("Corrosion"), + [ABILITY_COMATOSE] = _("Comatose"), + [ABILITY_QUEENLY_MAJESTY] = _("Queenly Majesty"), + [ABILITY_INNARDS_OUT] = _("Innards Out"), + [ABILITY_DANCER] = _("Dancer"), + [ABILITY_BATTERY] = _("Battery"), + [ABILITY_FLUFFY] = _("Fluffy"), + [ABILITY_DAZZLING] = _("Dazzling"), + [ABILITY_SOUL_HEART] = _("Soul-Heart"), + [ABILITY_TANGLING_HAIR] = _("TanglingHair"), + [ABILITY_RECEIVER] = _("Receiver"), + [ABILITY_POWER_OF_ALCHEMY] = _("Power Of Alc"), + [ABILITY_BEAST_BOOST] = _("Beast Boost"), + [ABILITY_RKS_SYSTEM] = _("RKS System"), + [ABILITY_ELECTRIC_SURGE] = _("Elec Surge"), + [ABILITY_PSYCHIC_SURGE] = _("Psy Surge"), + [ABILITY_MISTY_SURGE] = _("Misty Surge"), + [ABILITY_GRASSY_SURGE] = _("Grassy Surge"), + [ABILITY_FULL_METAL_BODY] = _("FullMetalBod"), + [ABILITY_SHADOW_SHIELD] = _("ShadowShield"), + [ABILITY_PRISM_ARMOR] = _("Prism Armor"), }; const u8 *const gAbilityDescriptionPointers[ABILITIES_COUNT_GEN7] = From af2f5031784b7f07434841cac189f20375281242 Mon Sep 17 00:00:00 2001 From: Fontbane Date: Fri, 5 Apr 2019 17:24:36 -0400 Subject: [PATCH 10/10] Fix gitignore --- .gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitignore b/.gitignore index 4d8c4ba7b..dc782899d 100644 --- a/.gitignore +++ b/.gitignore @@ -27,5 +27,3 @@ Thumbs.db build/ .DS_Store *.ddump -*.bin -*.ipch