mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-11-16 11:37:40 +01:00
merge with be
This commit is contained in:
commit
e61309dce6
@ -1759,6 +1759,11 @@
|
||||
.macro destroyabilitypopup
|
||||
various BS_ABILITY_BATTLER, VARIOUS_DESTROY_ABILITY_POPUP
|
||||
.endm
|
||||
|
||||
.macro gettotemboost ptr:req
|
||||
various BS_ATTACKER, VARIOUS_TOTEM_BOOST
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
.macro doterrainseed battler:req, ptr:req
|
||||
various \battler, VARIOUS_TERRAIN_SEED
|
||||
|
@ -1784,3 +1784,65 @@
|
||||
setfieldeffectargument 2, \priority
|
||||
dofieldeffect FLDEFF_SPARKLE
|
||||
.endm
|
||||
|
||||
@ Set up a totem boost for the next battle.
|
||||
@ 'battler' is the position of the mon you want to gain a boost. see B_POSITION_xx in include/constants/battle.h.
|
||||
@ The rest of the arguments are the stat change values to each stat.
|
||||
@ For example, giving the first opponent +1 to atk and -2 to speed would be: settotemboost B_POSITION_OPPONENT_LEFT, 1, 0, -2
|
||||
.macro settotemboost battler:req, atk=0,def=0,speed=0,spatk=0,spdef=0,acc=0,evas=0
|
||||
setvar VAR_0x8000, \battler
|
||||
setvar VAR_0x8001, \atk
|
||||
setvar VAR_0x8002, \def
|
||||
setvar VAR_0x8003, \speed
|
||||
setvar VAR_0x8004, \spatk
|
||||
setvar VAR_0x8005, \spdef
|
||||
setvar VAR_0x8006, \acc
|
||||
setvar VAR_0x8007, \evas
|
||||
special SetTotemBoost
|
||||
.endm
|
||||
|
||||
@ useful totem boost macros
|
||||
.macro totemboost_atk1 battler:req
|
||||
settotemboost \battler, 1
|
||||
.endm
|
||||
.macro totemboost_def1 battler:req
|
||||
settotemboost \battler, 0, 1
|
||||
.endm
|
||||
.macro totemboost_speed1 battler:req
|
||||
settotemboost \battler, 0, 0, 1
|
||||
.endm
|
||||
.macro totemboost_spatk1 battler:req
|
||||
settotemboost \battler, 0, 0, 0, 1
|
||||
.endm
|
||||
.macro totemboost_spdef1 battler:req
|
||||
settotemboost \battler, 0, 0, 0, 0, 1
|
||||
.endm
|
||||
.macro totemboost_acc1 battler:req
|
||||
settotemboost \battler, 0, 0, 0, 0, 0, 1
|
||||
.endm
|
||||
.macro totemboost_evas1 battler:req
|
||||
settotemboost \battler, 0, 0, 0, 0, 0, 0, 1
|
||||
.endm
|
||||
|
||||
.macro totemboost_atk2 battler:req
|
||||
settotemboost \battler, 2
|
||||
.endm
|
||||
.macro totemboost_def2 battler:req
|
||||
settotemboost \battler, 0, 2
|
||||
.endm
|
||||
.macro totemboost_speed2 battler:req
|
||||
settotemboost \battler, 0, 0, 2
|
||||
.endm
|
||||
.macro totemboost_spatk2 battler:req
|
||||
settotemboost \battler, 0, 0, 0, 2
|
||||
.endm
|
||||
.macro totemboost_spdef2 battler:req
|
||||
settotemboost \battler, 0, 0, 0, 0, 2
|
||||
.endm
|
||||
.macro totemboost_acc2 battler:req
|
||||
settotemboost \battler, 0, 0, 0, 0, 0, 2
|
||||
.endm
|
||||
.macro totemboost_evas2 battler:req
|
||||
settotemboost \battler, 0, 0, 0, 0, 0, 0, 2
|
||||
.endm
|
||||
|
||||
|
@ -152,7 +152,7 @@ gBattleAnims_Moves::
|
||||
.4byte Move_AMNESIA
|
||||
.4byte Move_KINESIS
|
||||
.4byte Move_SOFT_BOILED
|
||||
.4byte Move_HI_JUMP_KICK
|
||||
.4byte Move_HIGH_JUMP_KICK
|
||||
.4byte Move_GLARE
|
||||
.4byte Move_DREAM_EATER
|
||||
.4byte Move_POISON_GAS
|
||||
@ -281,7 +281,7 @@ gBattleAnims_Moves::
|
||||
.4byte Move_MEMENTO
|
||||
.4byte Move_FACADE
|
||||
.4byte Move_FOCUS_PUNCH
|
||||
.4byte Move_SMELLING_SALT
|
||||
.4byte Move_SMELLING_SALTS
|
||||
.4byte Move_FOLLOW_ME
|
||||
.4byte Move_NATURE_POWER
|
||||
.4byte Move_CHARGE
|
||||
@ -825,6 +825,7 @@ gBattleAnims_General::
|
||||
.4byte General_FormChange
|
||||
.4byte General_SlideOffScreen
|
||||
.4byte General_RestoreBg
|
||||
.4byte General_TotemFlare
|
||||
|
||||
.align 2
|
||||
gBattleAnims_Special::
|
||||
@ -2373,8 +2374,8 @@ Move_FOCUS_BLAST:
|
||||
loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT
|
||||
loadspritegfx ANIM_TAG_METEOR
|
||||
loadspritegfx ANIM_TAG_FLAT_ROCK
|
||||
monbg ANIM_TARGET
|
||||
monbgprio_28 ANIM_TARGET
|
||||
monbg ANIM_ATK_PARTNER
|
||||
monbgprio_28 ANIM_ATTACKER
|
||||
setalpha 12, 8
|
||||
call SetHighSpeedBg
|
||||
createsprite gSuperpowerOrbSpriteTemplate, ANIM_TARGET, 2, 0
|
||||
@ -2384,7 +2385,7 @@ Move_FOCUS_BLAST:
|
||||
playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET
|
||||
waitforvisualfinish
|
||||
call UnsetHighSpeedBg
|
||||
clearmonbg ANIM_TARGET
|
||||
clearmonbg ANIM_ATK_PARTNER
|
||||
blendoff
|
||||
delay 1
|
||||
end
|
||||
@ -17166,7 +17167,7 @@ Move_FACADE:
|
||||
loopsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER, 24, 3
|
||||
end
|
||||
|
||||
Move_SMELLING_SALT:
|
||||
Move_SMELLING_SALTS:
|
||||
loadspritegfx ANIM_TAG_TAG_HAND
|
||||
loadspritegfx ANIM_TAG_SMELLINGSALT_EFFECT
|
||||
createsprite gSmellingSaltsHandSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET, 0, 2
|
||||
@ -20113,7 +20114,7 @@ Move_JUMP_KICK:
|
||||
blendoff
|
||||
end
|
||||
|
||||
Move_HI_JUMP_KICK:
|
||||
Move_HIGH_JUMP_KICK:
|
||||
loadspritegfx ANIM_TAG_HANDS_AND_FEET
|
||||
loadspritegfx ANIM_TAG_IMPACT
|
||||
monbg ANIM_DEF_PARTNER
|
||||
@ -24400,6 +24401,36 @@ General_RestoreBg:
|
||||
waitbgfadein
|
||||
end
|
||||
|
||||
General_TotemFlare::
|
||||
loadspritegfx ANIM_TAG_FOCUS_ENERGY
|
||||
loadspritegfx ANIM_TAG_WHIP_HIT @green color
|
||||
loadspritegfx ANIM_TAG_SWEAT_BEAD @blue color
|
||||
loadspritegfx ANIM_TAG_PAW_PRINT @yellow color
|
||||
monbg ANIM_ATTACKER
|
||||
setblends 0x80c
|
||||
playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER
|
||||
launchtask AnimTask_BlendColorCycle 0x2 0x6 ANIM_PAL_ATK 0x0 0x6 0x0 0xb 0x1f
|
||||
call RainbowEndureEffect
|
||||
call RainbowEndureEffect
|
||||
call RainbowEndureEffect
|
||||
call RainbowEndureEffect
|
||||
call RainbowEndureEffect
|
||||
waitforvisualfinish
|
||||
blendoff
|
||||
clearmonbg ANIM_ATTACKER
|
||||
end
|
||||
|
||||
RainbowEndureEffect:
|
||||
launchtemplate gBlueEndureEnergySpriteTemplate 0x2 0x4 0x0 0xffe8 0x1a 0x2
|
||||
delay 0x3
|
||||
launchtemplate gEndureEnergySpriteTemplate 0x2 0x4 0x0 0xe 0x1c 0x1 @Red Buff
|
||||
delay 0x3
|
||||
launchtemplate gGreenEndureEnergySpriteTemplate 0x2 0x4 0x0 0xfffb 0xa 0x2
|
||||
delay 0x3
|
||||
launchtemplate gYellowEndureEnergySpriteTemplate 0x2 0x4 0x0 0x1c 0x1a 0x3
|
||||
delay 0x3
|
||||
return
|
||||
|
||||
SnatchMoveTrySwapFromSubstitute:
|
||||
createvisualtask AnimTask_IsAttackerBehindSubstitute, 2
|
||||
jumprettrue SnatchMoveSwapSubstituteForMon
|
||||
|
@ -6893,12 +6893,12 @@ BattleScript_IntimidateActivatesLoop:
|
||||
jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_IntimidatePrevented
|
||||
jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_IntimidatePrevented
|
||||
jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_IntimidatePrevented
|
||||
#if B_UPDATED_INTIMIDATE >= GEN_8
|
||||
.if B_UPDATED_INTIMIDATE >= GEN_8
|
||||
jumpifability BS_TARGET, ABILITY_INNER_FOCUS, BattleScript_IntimidatePrevented
|
||||
jumpifability BS_TARGET, ABILITY_SCRAPPY, BattleScript_IntimidatePrevented
|
||||
jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_IntimidatePrevented
|
||||
jumpifability BS_TARGET, ABILITY_OBLIVIOUS, BattleScript_IntimidatePrevented
|
||||
#endif
|
||||
.endif
|
||||
statbuffchange STAT_BUFF_NOT_PROTECT_AFFECTED | STAT_BUFF_ALLOW_PTR, BattleScript_IntimidateActivatesLoopIncrement
|
||||
jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 0x1, BattleScript_IntimidateActivatesLoopIncrement
|
||||
setgraphicalstatchangevalues
|
||||
@ -7854,6 +7854,25 @@ BattleScript_PrintPlayerForfeitedLinkBattle::
|
||||
waitmessage 0x40
|
||||
end2
|
||||
|
||||
BattleScript_TotemFlaredToLife::
|
||||
playanimation BS_ATTACKER, B_ANIM_TOTEM_FLARE, NULL
|
||||
printstring STRINGID_AURAFLAREDTOLIFE
|
||||
waitmessage 0x40
|
||||
goto BattleScript_ApplyTotemVarBoost
|
||||
|
||||
BattleScript_TotemVar::
|
||||
gettotemboost BattleScript_ApplyTotemVarBoost
|
||||
BattleScript_TotemVarEnd:
|
||||
end2
|
||||
BattleScript_ApplyTotemVarBoost:
|
||||
statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_TotemVarEnd
|
||||
setgraphicalstatchangevalues
|
||||
playanimation BS_SCRIPTING, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1
|
||||
BattleScript_TotemVarPrintStatMsg:
|
||||
printfromtable gStatUpStringIds
|
||||
waitmessage 0x40
|
||||
goto BattleScript_TotemVar @loop until stats bitfield is empty
|
||||
|
||||
BattleScript_AnnounceAirLockCloudNine::
|
||||
call BattleScript_AbilityPopUp
|
||||
printstring STRINGID_AIRLOCKACTIVATES
|
||||
|
@ -535,3 +535,4 @@ gSpecials:: @ 81DBA64
|
||||
def_special RemoveRecordsWindow
|
||||
def_special CloseDeptStoreElevatorWindow
|
||||
def_special TrySetBattleTowerLinkType
|
||||
def_special SetTotemBoost
|
||||
|
@ -718,6 +718,12 @@ struct MonSpritesGfx
|
||||
u16 *buffer;
|
||||
};
|
||||
|
||||
struct TotemBoost
|
||||
{
|
||||
u8 stats; // bitfield for each battle stat that is set if the stat changes
|
||||
s8 statChanges[NUM_BATTLE_STATS - 1]; // highest bit being set decreases the stat
|
||||
}; /* size = 8 */
|
||||
|
||||
// All battle variables are declared in battle_main.c
|
||||
extern u16 gBattle_BG0_X;
|
||||
extern u16 gBattle_BG0_Y;
|
||||
@ -826,6 +832,7 @@ extern u32 gFieldStatuses;
|
||||
extern struct FieldTimer gFieldTimers;
|
||||
extern u8 gBattlerAbility;
|
||||
extern u16 gPartnerSpriteId;
|
||||
extern struct TotemBoost gTotemBoosts[MAX_BATTLERS_COUNT];
|
||||
|
||||
extern void (*gPreBattleCallback1)(void);
|
||||
extern void (*gBattleMainFunc)(void);
|
||||
|
@ -286,6 +286,7 @@ extern const u8 gText_BattleWallyName[];
|
||||
extern const u8 gText_Win[];
|
||||
extern const u8 gText_Loss[];
|
||||
extern const u8 gText_Draw[];
|
||||
extern const u8 gText_StatSharply[];
|
||||
extern const u8 gText_StatRose[];
|
||||
extern const u8 gText_PkmnsStatChanged2[];
|
||||
extern const u8 gText_PkmnGettingPumped[];
|
||||
|
@ -350,6 +350,8 @@ extern const u8 BattleScript_EmergencyExitNoPopUp[];
|
||||
extern const u8 BattleScript_EmergencyExitWild[];
|
||||
extern const u8 BattleScript_EmergencyExitWildNoPopUp[];
|
||||
extern const u8 BattleScript_CheekPouchActivates[];
|
||||
extern const u8 BattleScript_TotemVar[];
|
||||
extern const u8 BattleScript_TotemFlaredToLife[];
|
||||
extern const u8 BattleScript_AnnounceAirLockCloudNine[];
|
||||
extern const u8 BattleScript_BattlerAbilityStatRaiseOnSwitchIn[];
|
||||
extern const u8 BattleScript_CottonDownActivates[];
|
||||
|
@ -526,6 +526,7 @@
|
||||
#define B_ANIM_FORM_CHANGE 0x1D
|
||||
#define B_ANIM_SLIDE_OFFSCREEN 0x1E // for Emergency Exit
|
||||
#define B_ANIM_RESTORE_BG 0x1F // for Terrain Endings
|
||||
#define B_ANIM_TOTEM_FLARE 0x20 // Totem boosts aura flare
|
||||
|
||||
// special animations table
|
||||
#define B_ANIM_LVL_UP 0x0
|
||||
|
@ -126,6 +126,7 @@
|
||||
// Item settings
|
||||
#define B_HP_BERRIES GEN_6 // In Gen4+, berries which restore hp activate immediately after hp drops to half. In gen3, the effect occurs at the end of the turn.
|
||||
#define B_BERRIES_INSTANT GEN_6 // In Gen4+, most berries activate on battle start/switch-in if applicable. In gen3, they only activate either at the move end or turn end.
|
||||
#define B_X_ITEMS_BUFF GEN_7 // In Gen7+, the X Items raise a stat by 2 stages instead of 1.
|
||||
|
||||
// Flag settings
|
||||
// To use the following features in scripting, replace the 0s with the flag ID you're assigning it to.
|
||||
@ -151,23 +152,23 @@
|
||||
#define B_STEEL_RESISTANCES GEN_6 // In Gen6+, Steel-type Pokémon are no longer resistant to Dark and Ghost moves.
|
||||
|
||||
// Animation Settings
|
||||
#define B_NEW_SWORD_PARTICLE TRUE // If set to TRUE, it updates Swords Dance's particle.
|
||||
#define B_NEW_LEECH_SEED_PARTICLE TRUE // If set to TRUE, it updates Leech Seed's animation particle.
|
||||
#define B_NEW_HORN_ATTACK_PARTICLE TRUE // If set to TRUE, it updates Horn Attack's horn particle.
|
||||
#define B_NEW_LEAF_PARTICLE TRUE // If set to TRUE, it updates leaf particle.
|
||||
#define B_NEW_EMBER_PARTICLES TRUE // If set to TRUE, it updates Ember's fire particle.
|
||||
#define B_NEW_MEAN_LOOK_PARTICLE TRUE // If set to TRUE, it updates Mean Look's eye particle.
|
||||
#define B_NEW_TEETH_PARTICLE TRUE // If set to TRUE, it updates Bite/Crunch teeth particle.
|
||||
#define B_NEW_HANDS_FEET_PARTICLE TRUE // If set to TRUE, it updates chop/kick/punch particles.
|
||||
#define B_NEW_SPIKES_PARTICLE TRUE // If set to TRUE, it updates Spikes particle.
|
||||
#define B_NEW_FLY_BUBBLE_PARTICLE TRUE // If set to TRUE, it updates Fly's 'bubble' particle.
|
||||
#define B_NEW_CURSE_NAIL_PARTICLE TRUE // If set to TRUE, it updates Curse's nail.
|
||||
#define B_NEW_BATON_PASS_BALL_PARTICLE TRUE // If set to TRUE, it updates Baton Pass' Poké Ball sprite.
|
||||
#define B_NEW_MORNING_SUN_STAR_PARTICLE TRUE // If set to TRUE, it updates Morning Sun's star particles.
|
||||
#define B_NEW_IMPACT_PALETTE TRUE // If set to TRUE, it updates the basic 'hit' palette.
|
||||
#define B_NEW_SURF_PARTICLE_PALETTE TRUE // If set to TRUE, it updates Surf's wave palette.
|
||||
#define B_NEW_SWORD_PARTICLE FALSE // If set to TRUE, it updates Swords Dance's particle.
|
||||
#define B_NEW_LEECH_SEED_PARTICLE FALSE // If set to TRUE, it updates Leech Seed's animation particle.
|
||||
#define B_NEW_HORN_ATTACK_PARTICLE FALSE // If set to TRUE, it updates Horn Attack's horn particle.
|
||||
#define B_NEW_LEAF_PARTICLE FALSE // If set to TRUE, it updates leaf particle.
|
||||
#define B_NEW_EMBER_PARTICLES FALSE // If set to TRUE, it updates Ember's fire particle.
|
||||
#define B_NEW_MEAN_LOOK_PARTICLE FALSE // If set to TRUE, it updates Mean Look's eye particle.
|
||||
#define B_NEW_TEETH_PARTICLE FALSE // If set to TRUE, it updates Bite/Crunch teeth particle.
|
||||
#define B_NEW_HANDS_FEET_PARTICLE FALSE // If set to TRUE, it updates chop/kick/punch particles.
|
||||
#define B_NEW_SPIKES_PARTICLE FALSE // If set to TRUE, it updates Spikes particle.
|
||||
#define B_NEW_FLY_BUBBLE_PARTICLE FALSE // If set to TRUE, it updates Fly's 'bubble' particle.
|
||||
#define B_NEW_CURSE_NAIL_PARTICLE FALSE // If set to TRUE, it updates Curse's nail.
|
||||
#define B_NEW_BATON_PASS_BALL_PARTICLE FALSE // If set to TRUE, it updates Baton Pass' Poké Ball sprite.
|
||||
#define B_NEW_MORNING_SUN_STAR_PARTICLE FALSE // If set to TRUE, it updates Morning Sun's star particles.
|
||||
#define B_NEW_IMPACT_PALETTE FALSE // If set to TRUE, it updates the basic 'hit' palette.
|
||||
#define B_NEW_SURF_PARTICLE_PALETTE FALSE // If set to TRUE, it updates Surf's wave palette.
|
||||
|
||||
#define HIDE_HEALTHBOXES_DURING_ANIMS TRUE // If set to TRUE, hides healthboxes during move animations
|
||||
#define B_HIDE_HEALTHBOXES_DURING_ANIMS TRUE // If set to TRUE, hides healthboxes during move animations.
|
||||
#define B_TERRAIN_BG_CHANGE TRUE // If set to TRUE, terrain moves permanently change the default battle background until the effect fades.
|
||||
#define B_ENABLE_DEBUG TRUE // If set to TRUE, enables a debug menu to use in battles by pressing the Select button.
|
||||
|
||||
|
@ -168,8 +168,10 @@
|
||||
#define VARIOUS_PARALYZE_TYPE_IMMUNITY 100
|
||||
#define VARIOUS_JUMP_IF_ABSENT 101
|
||||
#define VARIOUS_DESTROY_ABILITY_POPUP 102
|
||||
#define VARIOUS_TERRAIN_SEED 103
|
||||
#define VARIOUS_MAKE_INVISIBLE 104
|
||||
#define VARIOUS_TOTEM_BOOST 103
|
||||
#define VARIOUS_TERRAIN_SEED 104
|
||||
#define VARIOUS_MAKE_INVISIBLE 105
|
||||
|
||||
|
||||
// Cmd_manipulatedamage
|
||||
#define DMG_CHANGE_SIGN 0
|
||||
|
@ -563,10 +563,11 @@
|
||||
#define STRINGID_ASANDSTORMKICKEDUP 559
|
||||
#define STRINGID_PKMNSWILLPERISHIN3TURNS 560
|
||||
#define STRINGID_ABILITYRAISEDSTATDRASTICALLY 561
|
||||
#define STRINGID_REDCARDACTIVATE 562
|
||||
#define STRINGID_EJECTBUTTONACTIVATE 563
|
||||
#define STRINGID_AURAFLAREDTOLIFE 562
|
||||
#define STRINGID_REDCARDACTIVATE 563
|
||||
#define STRINGID_EJECTBUTTONACTIVATE 564
|
||||
|
||||
#define BATTLESTRINGS_COUNT 564
|
||||
#define BATTLESTRINGS_COUNT 565
|
||||
|
||||
//// multichoice message IDs
|
||||
// switch in ability message
|
||||
|
@ -2,11 +2,14 @@
|
||||
#define GUARD_CONSTANTS_ITEM_EFFECTS_H
|
||||
|
||||
// field 0 masks
|
||||
#ifndef ITEM_EXPANSION
|
||||
#define ITEM0_X_ATTACK 0x0F
|
||||
#endif
|
||||
#define ITEM0_DIRE_HIT 0x30 // Works the same way as the move Focus Energy.
|
||||
#define ITEM0_SACRED_ASH 0x40
|
||||
#define ITEM0_INFATUATION 0x80
|
||||
|
||||
#ifndef ITEM_EXPANSION
|
||||
// field 1 masks
|
||||
#define ITEM1_X_SPEED 0x0F
|
||||
#define ITEM1_X_DEFEND 0xF0
|
||||
@ -14,6 +17,15 @@
|
||||
// field 2 masks
|
||||
#define ITEM2_X_SPATK 0x0F
|
||||
#define ITEM2_X_ACCURACY 0xF0
|
||||
#else
|
||||
// new field 1 masks
|
||||
#define ITEM1_X_ATTACK 0x1
|
||||
#define ITEM1_X_DEFENSE 0x2
|
||||
#define ITEM1_X_SPEED 0x4
|
||||
#define ITEM1_X_SPATK 0x8
|
||||
#define ITEM1_X_SPDEF 0x10
|
||||
#define ITEM1_X_ACCURACY 0x20
|
||||
#endif
|
||||
|
||||
// field 3 masks
|
||||
#define ITEM3_CONFUSION 0x1
|
||||
|
@ -12,7 +12,7 @@
|
||||
#define MOVE_ICE_PUNCH 8
|
||||
#define MOVE_THUNDER_PUNCH 9
|
||||
#define MOVE_SCRATCH 10
|
||||
#define MOVE_VICE_GRIP 11
|
||||
#define MOVE_VISE_GRIP 11
|
||||
#define MOVE_GUILLOTINE 12
|
||||
#define MOVE_RAZOR_WIND 13
|
||||
#define MOVE_SWORDS_DANCE 14
|
||||
@ -137,7 +137,7 @@
|
||||
#define MOVE_AMNESIA 133
|
||||
#define MOVE_KINESIS 134
|
||||
#define MOVE_SOFT_BOILED 135
|
||||
#define MOVE_HI_JUMP_KICK 136
|
||||
#define MOVE_HIGH_JUMP_KICK 136
|
||||
#define MOVE_GLARE 137
|
||||
#define MOVE_DREAM_EATER 138
|
||||
#define MOVE_POISON_GAS 139
|
||||
@ -186,7 +186,7 @@
|
||||
#define MOVE_PROTECT 182
|
||||
#define MOVE_MACH_PUNCH 183
|
||||
#define MOVE_SCARY_FACE 184
|
||||
#define MOVE_FAINT_ATTACK 185
|
||||
#define MOVE_FEINT_ATTACK 185
|
||||
#define MOVE_SWEET_KISS 186
|
||||
#define MOVE_BELLY_DRUM 187
|
||||
#define MOVE_SLUDGE_BOMB 188
|
||||
@ -266,7 +266,7 @@
|
||||
#define MOVE_MEMENTO 262
|
||||
#define MOVE_FACADE 263
|
||||
#define MOVE_FOCUS_PUNCH 264
|
||||
#define MOVE_SMELLING_SALT 265
|
||||
#define MOVE_SMELLING_SALTS 265
|
||||
#define MOVE_FOLLOW_ME 266
|
||||
#define MOVE_NATURE_POWER 267
|
||||
#define MOVE_CHARGE 268
|
||||
|
@ -4,6 +4,8 @@
|
||||
#include "constants/pokemon.h"
|
||||
#include "sprite.h"
|
||||
|
||||
#define GET_BASE_SPECIES_ID(speciesId) (GetFormSpeciesId(speciesId, 0))
|
||||
|
||||
struct PokemonSubstruct0
|
||||
{
|
||||
u16 species;
|
||||
@ -421,5 +423,7 @@ bool8 HasTwoFramesAnimation(u16 species);
|
||||
struct Unknown_806F160_Struct *sub_806F2AC(u8 id, u8 arg1);
|
||||
void sub_806F47C(u8 id);
|
||||
u8 *sub_806F4F8(u8 id, u8 arg1);
|
||||
u16 GetFormSpeciesId(u16 speciesId, u8 formId);
|
||||
u8 GetFormIdFromFormSpeciesId(u16 formSpeciesId);
|
||||
|
||||
#endif // GUARD_POKEMON_H
|
||||
|
@ -773,7 +773,11 @@ static u8 GetAI_ItemType(u16 itemId, const u8 *itemEffect)
|
||||
return AI_ITEM_HEAL_HP;
|
||||
else if (itemEffect[3] & ITEM3_STATUS_ALL)
|
||||
return AI_ITEM_CURE_CONDITION;
|
||||
#ifdef ITEM_EXPANSION
|
||||
else if ((itemEffect[0] & ITEM0_DIRE_HIT) || itemEffect[1])
|
||||
#else
|
||||
else if (itemEffect[0] & (ITEM0_DIRE_HIT | ITEM0_X_ATTACK) || itemEffect[1] != 0 || itemEffect[2] != 0)
|
||||
#endif
|
||||
return AI_ITEM_X_STAT;
|
||||
else if (itemEffect[3] & ITEM3_GUARD_SPEC)
|
||||
return AI_ITEM_GUARD_SPECS;
|
||||
@ -883,6 +887,7 @@ static bool8 ShouldUseItem(void)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) = 0;
|
||||
if (gDisableStructs[gActiveBattler].isFirstTurn == 0)
|
||||
break;
|
||||
#ifndef ITEM_EXPANSION
|
||||
if (itemEffects[0] & ITEM0_X_ATTACK)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x1;
|
||||
if (itemEffects[1] & ITEM1_X_DEFEND)
|
||||
@ -895,6 +900,22 @@ static bool8 ShouldUseItem(void)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x20;
|
||||
if (itemEffects[0] & ITEM0_DIRE_HIT)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x80;
|
||||
#else
|
||||
if (itemEffects[1] & ITEM1_X_ATTACK)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x1;
|
||||
if (itemEffects[1] & ITEM1_X_DEFENSE)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x2;
|
||||
if (itemEffects[1] & ITEM1_X_SPEED)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x4;
|
||||
if (itemEffects[1] & ITEM1_X_SPATK)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x8;
|
||||
if (itemEffects[1] & ITEM1_X_SPDEF)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x10;
|
||||
if (itemEffects[1] & ITEM1_X_ACCURACY)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x20;
|
||||
if (itemEffects[0] & ITEM0_DIRE_HIT)
|
||||
*(gBattleStruct->AI_itemFlags + gActiveBattler / 2) |= 0x40;
|
||||
#endif
|
||||
shouldUse = TRUE;
|
||||
break;
|
||||
case AI_ITEM_GUARD_SPECS:
|
||||
|
@ -1926,6 +1926,39 @@ const struct SpriteTemplate gEndureEnergySpriteTemplate =
|
||||
.callback = AnimEndureEnergy,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gBlueEndureEnergySpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_FOCUS_ENERGY,
|
||||
.paletteTag = ANIM_TAG_SWEAT_BEAD,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_16x32,
|
||||
.anims = gEndureEnergyAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimEndureEnergy,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gGreenEndureEnergySpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_FOCUS_ENERGY,
|
||||
.paletteTag = ANIM_TAG_WHIP_HIT,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_16x32,
|
||||
.anims = gEndureEnergyAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimEndureEnergy,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gYellowEndureEnergySpriteTemplate =
|
||||
{
|
||||
.tileTag = ANIM_TAG_FOCUS_ENERGY,
|
||||
.paletteTag = ANIM_TAG_PAW_PRINT,
|
||||
.oam = &gOamData_AffineOff_ObjNormal_16x32,
|
||||
.anims = gEndureEnergyAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = AnimEndureEnergy,
|
||||
};
|
||||
|
||||
const union AnimCmd gSharpenSphereAnimCmds[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 18),
|
||||
|
@ -53,7 +53,7 @@ static const s8 sMindRatings[] =
|
||||
[MOVE_ICE_PUNCH] = 1,
|
||||
[MOVE_THUNDER_PUNCH] = 1,
|
||||
[MOVE_SCRATCH] = 1,
|
||||
[MOVE_VICE_GRIP] = 1,
|
||||
[MOVE_VISE_GRIP] = 1,
|
||||
[MOVE_GUILLOTINE] = 1,
|
||||
[MOVE_RAZOR_WIND] = 1,
|
||||
[MOVE_SWORDS_DANCE] = 0,
|
||||
@ -178,7 +178,7 @@ static const s8 sMindRatings[] =
|
||||
[MOVE_AMNESIA] = 0,
|
||||
[MOVE_KINESIS] = 0,
|
||||
[MOVE_SOFT_BOILED] = 0,
|
||||
[MOVE_HI_JUMP_KICK] = 1,
|
||||
[MOVE_HIGH_JUMP_KICK] = 1,
|
||||
[MOVE_GLARE] = 0,
|
||||
[MOVE_DREAM_EATER] = 1,
|
||||
[MOVE_POISON_GAS] = 0,
|
||||
@ -227,7 +227,7 @@ static const s8 sMindRatings[] =
|
||||
[MOVE_PROTECT] = -1,
|
||||
[MOVE_MACH_PUNCH] = 1,
|
||||
[MOVE_SCARY_FACE] = 0,
|
||||
[MOVE_FAINT_ATTACK] = 1,
|
||||
[MOVE_FEINT_ATTACK] = 1,
|
||||
[MOVE_SWEET_KISS] = 0,
|
||||
[MOVE_BELLY_DRUM] = 0,
|
||||
[MOVE_SLUDGE_BOMB] = 1,
|
||||
@ -307,7 +307,7 @@ static const s8 sMindRatings[] =
|
||||
[MOVE_MEMENTO] = 0,
|
||||
[MOVE_FACADE] = 1,
|
||||
[MOVE_FOCUS_PUNCH] = 1,
|
||||
[MOVE_SMELLING_SALT] = 1,
|
||||
[MOVE_SMELLING_SALTS] = 1,
|
||||
[MOVE_FOLLOW_ME] = 0,
|
||||
[MOVE_NATURE_POWER] = 0,
|
||||
[MOVE_CHARGE] = 0,
|
||||
|
@ -62,7 +62,6 @@ void SetUpBattleVarsAndBirchZigzagoon(void)
|
||||
ClearBattleMonForms();
|
||||
BattleAI_SetupItems();
|
||||
BattleAI_SetupFlags();
|
||||
BattleAI_SetupAIData(0xF);
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE)
|
||||
{
|
||||
|
@ -152,7 +152,7 @@ static const u8 sBattleStyleMovePoints[MOVES_COUNT][NUM_MOVE_POINT_TYPES] =
|
||||
[MOVE_ICE_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
|
||||
[MOVE_THUNDER_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_EFFECT] = 1},
|
||||
[MOVE_SCRATCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
|
||||
[MOVE_VICE_GRIP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
|
||||
[MOVE_VISE_GRIP] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
|
||||
[MOVE_GUILLOTINE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_LOW_PP] = 1},
|
||||
[MOVE_RAZOR_WIND] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
|
||||
[MOVE_SWORDS_DANCE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_POPULAR] = 1},
|
||||
@ -277,7 +277,7 @@ static const u8 sBattleStyleMovePoints[MOVES_COUNT][NUM_MOVE_POINT_TYPES] =
|
||||
[MOVE_AMNESIA] = {[MOVE_POINTS_STAT_RAISE] = 1, [MOVE_POINTS_DEF] = 1},
|
||||
[MOVE_KINESIS] = {[MOVE_POINTS_STAT_LOWER] = 1},
|
||||
[MOVE_SOFT_BOILED] = {[MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 1},
|
||||
[MOVE_HI_JUMP_KICK] = {[MOVE_POINTS_DMG] = 1},
|
||||
[MOVE_HIGH_JUMP_KICK] = {[MOVE_POINTS_DMG] = 1},
|
||||
[MOVE_GLARE] = {[MOVE_POINTS_STAT_LOWER] = 1},
|
||||
[MOVE_DREAM_EATER] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_RARE] = 1, [MOVE_POINTS_HEAL] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1},
|
||||
[MOVE_POISON_GAS] = {[MOVE_POINTS_STATUS] = 1},
|
||||
@ -326,7 +326,7 @@ static const u8 sBattleStyleMovePoints[MOVES_COUNT][NUM_MOVE_POINT_TYPES] =
|
||||
[MOVE_PROTECT] = {[MOVE_POINTS_DEF] = 1, [MOVE_POINTS_POPULAR] = 1},
|
||||
[MOVE_MACH_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
|
||||
[MOVE_SCARY_FACE] = {0},
|
||||
[MOVE_FAINT_ATTACK] = {[MOVE_POINTS_DMG] = 1},
|
||||
[MOVE_FEINT_ATTACK] = {[MOVE_POINTS_DMG] = 1},
|
||||
[MOVE_SWEET_KISS] = {0},
|
||||
[MOVE_BELLY_DRUM] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_STAT_RAISE] = 1},
|
||||
[MOVE_SLUDGE_BOMB] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1, [MOVE_POINTS_EFFECT] = 1},
|
||||
@ -406,7 +406,7 @@ static const u8 sBattleStyleMovePoints[MOVES_COUNT][NUM_MOVE_POINT_TYPES] =
|
||||
[MOVE_MEMENTO] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
|
||||
[MOVE_FACADE] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
|
||||
[MOVE_FOCUS_PUNCH] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1, [MOVE_POINTS_STRONG] = 1},
|
||||
[MOVE_SMELLING_SALT] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
|
||||
[MOVE_SMELLING_SALTS] = {[MOVE_POINTS_DMG] = 1, [MOVE_POINTS_ACCURATE] = 1},
|
||||
[MOVE_FOLLOW_ME] = {[MOVE_POINTS_RARE] = 1, [MOVE_POINTS_ACCURATE] = 1},
|
||||
[MOVE_NATURE_POWER] = {[MOVE_POINTS_DMG] = 1},
|
||||
[MOVE_CHARGE] = {[MOVE_POINTS_COMBO] = 1, [MOVE_POINTS_ACCURATE] = 1},
|
||||
|
@ -1011,7 +1011,7 @@ void UpdateOamPriorityInAllHealthboxes(u8 priority)
|
||||
if (indicatorSpriteId != 0xFF)
|
||||
gSprites[indicatorSpriteId].oam.priority = priority;
|
||||
|
||||
#if HIDE_HEALTHBOXES_DURING_ANIMS
|
||||
#if B_HIDE_HEALTHBOXES_DURING_ANIMS
|
||||
if (IsBattlerAlive(i))
|
||||
TryToggleHealboxVisibility(priority, healthboxLeftSpriteId, healthboxRightSpriteId, healthbarSpriteId, indicatorSpriteId);
|
||||
#endif
|
||||
|
@ -228,6 +228,7 @@ EWRAM_DATA u32 gFieldStatuses = 0;
|
||||
EWRAM_DATA struct FieldTimer gFieldTimers = {0};
|
||||
EWRAM_DATA u8 gBattlerAbility = 0;
|
||||
EWRAM_DATA u16 gPartnerSpriteId = 0;
|
||||
EWRAM_DATA struct TotemBoost gTotemBoosts[MAX_BATTLERS_COUNT] = {0};
|
||||
EWRAM_DATA bool8 gHasFetchedBall = FALSE;
|
||||
EWRAM_DATA u8 gLastUsedBall = 0;
|
||||
|
||||
@ -3492,6 +3493,19 @@ static void TryDoEventsBeforeFirstTurn(void)
|
||||
gBattleStruct->overworldWeatherDone = TRUE;
|
||||
return;
|
||||
}
|
||||
|
||||
// Totem boosts
|
||||
for (i = 0; i < gBattlersCount; i++)
|
||||
{
|
||||
if (gTotemBoosts[i].stats != 0)
|
||||
{
|
||||
gBattlerAttacker = i;
|
||||
BattleScriptExecute(BattleScript_TotemVar);
|
||||
return;
|
||||
}
|
||||
}
|
||||
memset(gTotemBoosts, 0, sizeof(gTotemBoosts)); // erase all totem boosts just to be safe
|
||||
|
||||
// Check all switch in abilities happening from the fastest mon to slowest.
|
||||
while (gBattleStruct->switchInAbilitiesCounter < gBattlersCount)
|
||||
{
|
||||
@ -3509,6 +3523,7 @@ static void TryDoEventsBeforeFirstTurn(void)
|
||||
if (ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gBattlerByTurnOrder[gBattleStruct->switchInItemsCounter++], FALSE))
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < MAX_BATTLERS_COUNT; i++)
|
||||
{
|
||||
*(gBattleStruct->monToSwitchIntoId + i) = PARTY_SIZE;
|
||||
@ -5058,3 +5073,23 @@ void SetTypeBeforeUsingMove(u16 move, u8 battlerAtk)
|
||||
gSpecialStatuses[battlerAtk].gemBoost = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// special to set a field's totem boost(s)
|
||||
// inputs:
|
||||
// var8000: battlerId
|
||||
// var8001 - var8007: stat changes
|
||||
void SetTotemBoost(void)
|
||||
{
|
||||
u8 battlerId = gSpecialVar_0x8000;
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < (NUM_BATTLE_STATS - 1); i++)
|
||||
{
|
||||
if (*(&gSpecialVar_0x8001 + i))
|
||||
{
|
||||
gTotemBoosts[battlerId].stats |= (1 << i);
|
||||
gTotemBoosts[battlerId].statChanges[i] = *(&gSpecialVar_0x8001 + i);
|
||||
gTotemBoosts[battlerId].stats |= 0x80; // used as a flag for the "totem flared to life" script
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -305,7 +305,7 @@ static const u8 sText_PkmnsXPreventsFlinching[] = _("{B_EFF_NAME_WITH_PREFIX}'s
|
||||
static const u8 sText_PkmnsXPreventsYsZ[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nprevents {B_DEF_NAME_WITH_PREFIX}'s\l{B_DEF_ABILITY} from working!");
|
||||
static const u8 sText_PkmnsXCuredItsYProblem[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\ncured its {B_BUFF1} problem!");
|
||||
static const u8 sText_PkmnsXHadNoEffectOnY[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nhad no effect on {B_EFF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_StatSharply[] = _("sharply ");
|
||||
const u8 gText_StatSharply[] = _("sharply ");
|
||||
const u8 gText_StatRose[] = _("rose!");
|
||||
static const u8 sText_StatHarshly[] = _("harshly ");
|
||||
static const u8 sText_StatFell[] = _("fell!");
|
||||
@ -678,6 +678,7 @@ static const u8 sText_NoOneWillBeAbleToRun[] = _("No one will be able to run awa
|
||||
static const u8 sText_DestinyKnotActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} fell in love\nfrom the {B_LAST_ITEM}!");
|
||||
static const u8 sText_CloakedInAFreezingLight[] = _("{B_ATK_NAME_WITH_PREFIX} became cloaked\nin a freezing light!");
|
||||
static const u8 sText_StatWasNotLowered[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\nwas not lowered!");
|
||||
static const u8 sText_AuraFlaredToLife[] = _("{B_DEF_NAME_WITH_PREFIX}'s aura flared to life!");
|
||||
static const u8 sText_AirLockActivates[] = _("The effects of weather\ndisappeared.");
|
||||
static const u8 sText_PressureActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is exerting its\npressure!");
|
||||
static const u8 sText_DarkAuraActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is radiating\na dark aura!");
|
||||
@ -928,7 +929,7 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] =
|
||||
[STRINGID_PKMNPREVENTSSTATLOSSWITH - 12] = sText_PkmnPreventsStatLossWith,
|
||||
[STRINGID_PKMNHURTSWITH - 12] = sText_PkmnHurtsWith,
|
||||
[STRINGID_PKMNTRACED - 12] = sText_PkmnTraced,
|
||||
[STRINGID_STATSHARPLY - 12] = sText_StatSharply,
|
||||
[STRINGID_STATSHARPLY - 12] = gText_StatSharply,
|
||||
[STRINGID_STATROSE - 12] = gText_StatRose,
|
||||
[STRINGID_STATHARSHLY - 12] = sText_StatHarshly,
|
||||
[STRINGID_STATFELL - 12] = sText_StatFell,
|
||||
@ -1240,6 +1241,7 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] =
|
||||
[STRINGID_GRASSYTERRAINHEALS - 12] = sText_GrassyTerrainHeals,
|
||||
[STRINGID_ELECTRICTERRAINPREVENTS - 12] = sText_ElectricTerrainPreventsSleep,
|
||||
[STRINGID_PSYCHICTERRAINPREVENTS - 12] = sText_PsychicTerrainPreventsPriority,
|
||||
[STRINGID_AURAFLAREDTOLIFE - 12] = sText_AuraFlaredToLife,
|
||||
[STRINGID_AIRLOCKACTIVATES - 12] = sText_AirLockActivates,
|
||||
[STRINGID_PRESSUREENTERS - 12] = sText_PressureActivates,
|
||||
[STRINGID_DARKAURAENTERS - 12] = sText_DarkAuraActivates,
|
||||
@ -1789,7 +1791,7 @@ static const u16 sGrammarMoveUsedTable[] =
|
||||
MOVE_FEATHER_DANCE, MOVE_TEETER_DANCE, MOVE_MUD_SPORT,
|
||||
MOVE_FAKE_TEARS, MOVE_WATER_SPORT, MOVE_CALM_MIND, 0,
|
||||
|
||||
MOVE_POUND, MOVE_SCRATCH, MOVE_VICE_GRIP,
|
||||
MOVE_POUND, MOVE_SCRATCH, MOVE_VISE_GRIP,
|
||||
MOVE_WING_ATTACK, MOVE_FLY, MOVE_BIND, MOVE_SLAM,
|
||||
MOVE_HORN_ATTACK, MOVE_WRAP, MOVE_THRASH, MOVE_TAIL_WHIP,
|
||||
MOVE_LEER, MOVE_BITE, MOVE_GROWL, MOVE_ROAR,
|
||||
|
@ -8399,6 +8399,41 @@ static void Cmd_various(void)
|
||||
case VARIOUS_DESTROY_ABILITY_POPUP:
|
||||
DestroyAbilityPopUp(gActiveBattler);
|
||||
break;
|
||||
case VARIOUS_TOTEM_BOOST:
|
||||
gActiveBattler = gBattlerAttacker;
|
||||
if (gTotemBoosts[gActiveBattler].stats == 0)
|
||||
{
|
||||
gBattlescriptCurrInstr += 7; // stats done, exit
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0; i < (NUM_BATTLE_STATS - 1); i++)
|
||||
{
|
||||
if (gTotemBoosts[gActiveBattler].stats & (1 << i))
|
||||
{
|
||||
if (gTotemBoosts[gActiveBattler].statChanges[i] <= -1)
|
||||
SET_STATCHANGER(i + 1, abs(gTotemBoosts[gActiveBattler].statChanges[i]), TRUE);
|
||||
else
|
||||
SET_STATCHANGER(i + 1, gTotemBoosts[gActiveBattler].statChanges[i], FALSE);
|
||||
|
||||
gTotemBoosts[gActiveBattler].stats &= ~(1 << i);
|
||||
gBattleScripting.battler = gActiveBattler;
|
||||
gBattlerTarget = gActiveBattler;
|
||||
if (gTotemBoosts[gActiveBattler].stats & 0x80)
|
||||
{
|
||||
gTotemBoosts[gActiveBattler].stats &= ~0x80; // set 'aura flared to life' flag
|
||||
gBattlescriptCurrInstr = BattleScript_TotemFlaredToLife;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); // do boost
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
gBattlescriptCurrInstr += 7; // exit if loop failed (failsafe)
|
||||
}
|
||||
return;
|
||||
case VARIOUS_TERRAIN_SEED:
|
||||
if (GetBattlerHoldEffect(gActiveBattler, TRUE) == HOLD_EFFECT_SEEDS)
|
||||
{
|
||||
|
@ -1318,7 +1318,7 @@ static bool32 IsGravityPreventingMove(u32 move)
|
||||
case MOVE_BOUNCE:
|
||||
case MOVE_FLY:
|
||||
case MOVE_FLYING_PRESS:
|
||||
case MOVE_HI_JUMP_KICK:
|
||||
case MOVE_HIGH_JUMP_KICK:
|
||||
case MOVE_JUMP_KICK:
|
||||
case MOVE_MAGNET_RISE:
|
||||
case MOVE_SKY_DROP:
|
||||
@ -7216,7 +7216,9 @@ static u32 CalcAttackStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, b
|
||||
switch (GetBattlerHoldEffect(battlerAtk, TRUE))
|
||||
{
|
||||
case HOLD_EFFECT_THICK_CLUB:
|
||||
if ((gBattleMons[battlerAtk].species == SPECIES_CUBONE || gBattleMons[battlerAtk].species == SPECIES_MAROWAK) && IS_MOVE_PHYSICAL(move))
|
||||
if ((GET_BASE_SPECIES_ID(gBattleMons[battlerAtk].species) == SPECIES_CUBONE
|
||||
|| GET_BASE_SPECIES_ID(gBattleMons[battlerAtk].species) == SPECIES_MAROWAK)
|
||||
&& IS_MOVE_PHYSICAL(move))
|
||||
MulModifier(&modifier, UQ_4_12(2.0));
|
||||
break;
|
||||
case HOLD_EFFECT_DEEP_SEA_TOOTH:
|
||||
|
@ -583,7 +583,7 @@ static const bool8 sValidApprenticeMoves[MOVES_COUNT] =
|
||||
[MOVE_ICE_PUNCH] = TRUE,
|
||||
[MOVE_THUNDER_PUNCH] = TRUE,
|
||||
[MOVE_SCRATCH] = FALSE,
|
||||
[MOVE_VICE_GRIP] = FALSE,
|
||||
[MOVE_VISE_GRIP] = FALSE,
|
||||
[MOVE_GUILLOTINE] = TRUE,
|
||||
[MOVE_RAZOR_WIND] = FALSE,
|
||||
[MOVE_SWORDS_DANCE] = TRUE,
|
||||
@ -708,7 +708,7 @@ static const bool8 sValidApprenticeMoves[MOVES_COUNT] =
|
||||
[MOVE_AMNESIA] = TRUE,
|
||||
[MOVE_KINESIS] = TRUE,
|
||||
[MOVE_SOFT_BOILED] = TRUE,
|
||||
[MOVE_HI_JUMP_KICK] = TRUE,
|
||||
[MOVE_HIGH_JUMP_KICK] = TRUE,
|
||||
[MOVE_GLARE] = TRUE,
|
||||
[MOVE_DREAM_EATER] = TRUE,
|
||||
[MOVE_POISON_GAS] = FALSE,
|
||||
@ -757,7 +757,7 @@ static const bool8 sValidApprenticeMoves[MOVES_COUNT] =
|
||||
[MOVE_PROTECT] = TRUE,
|
||||
[MOVE_MACH_PUNCH] = TRUE,
|
||||
[MOVE_SCARY_FACE] = TRUE,
|
||||
[MOVE_FAINT_ATTACK] = TRUE,
|
||||
[MOVE_FEINT_ATTACK] = TRUE,
|
||||
[MOVE_SWEET_KISS] = TRUE,
|
||||
[MOVE_BELLY_DRUM] = TRUE,
|
||||
[MOVE_SLUDGE_BOMB] = TRUE,
|
||||
@ -837,7 +837,7 @@ static const bool8 sValidApprenticeMoves[MOVES_COUNT] =
|
||||
[MOVE_MEMENTO] = TRUE,
|
||||
[MOVE_FACADE] = TRUE,
|
||||
[MOVE_FOCUS_PUNCH] = TRUE,
|
||||
[MOVE_SMELLING_SALT] = TRUE,
|
||||
[MOVE_SMELLING_SALTS] = TRUE,
|
||||
[MOVE_FOLLOW_ME] = TRUE,
|
||||
[MOVE_NATURE_POWER] = TRUE,
|
||||
[MOVE_CHARGE] = TRUE,
|
||||
|
@ -163,7 +163,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_WHISMUR] = {
|
||||
.species = SPECIES_WHISMUR,
|
||||
.moves = {MOVE_UPROAR, MOVE_SWAGGER, MOVE_BODY_SLAM, MOVE_SMELLING_SALT},
|
||||
.moves = {MOVE_UPROAR, MOVE_SWAGGER, MOVE_BODY_SLAM, MOVE_SMELLING_SALTS},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
|
||||
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_RELAXED
|
||||
@ -352,7 +352,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_MEDITITE] = {
|
||||
.species = SPECIES_MEDITITE,
|
||||
.moves = {MOVE_HI_JUMP_KICK, MOVE_MEDITATE, MOVE_SWAGGER, MOVE_PSYCH_UP},
|
||||
.moves = {MOVE_HIGH_JUMP_KICK, MOVE_MEDITATE, MOVE_SWAGGER, MOVE_PSYCH_UP},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB,
|
||||
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_NAUGHTY
|
||||
@ -639,7 +639,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_DODUO] = {
|
||||
.species = SPECIES_DODUO,
|
||||
.moves = {MOVE_FURY_ATTACK, MOVE_UPROAR, MOVE_MUD_SLAP, MOVE_FAINT_ATTACK},
|
||||
.moves = {MOVE_FURY_ATTACK, MOVE_UPROAR, MOVE_MUD_SLAP, MOVE_FEINT_ATTACK},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
|
||||
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_LONELY
|
||||
@ -821,7 +821,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_TEDDIURSA] = {
|
||||
.species = SPECIES_TEDDIURSA,
|
||||
.moves = {MOVE_SECRET_POWER, MOVE_FAKE_TEARS, MOVE_FAINT_ATTACK, MOVE_REST},
|
||||
.moves = {MOVE_SECRET_POWER, MOVE_FAKE_TEARS, MOVE_FEINT_ATTACK, MOVE_REST},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
|
||||
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_RELAXED
|
||||
@ -877,7 +877,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_CACNEA] = {
|
||||
.species = SPECIES_CACNEA,
|
||||
.moves = {MOVE_NEEDLE_ARM, MOVE_FAINT_ATTACK, MOVE_COTTON_SPORE, MOVE_SAND_ATTACK},
|
||||
.moves = {MOVE_NEEDLE_ARM, MOVE_FEINT_ATTACK, MOVE_COTTON_SPORE, MOVE_SAND_ATTACK},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
|
||||
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_QUIRKY
|
||||
@ -912,7 +912,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_NUZLEAF] = {
|
||||
.species = SPECIES_NUZLEAF,
|
||||
.moves = {MOVE_EXTRASENSORY, MOVE_FAKE_OUT, MOVE_RAZOR_WIND, MOVE_FAINT_ATTACK},
|
||||
.moves = {MOVE_EXTRASENSORY, MOVE_FAKE_OUT, MOVE_RAZOR_WIND, MOVE_FEINT_ATTACK},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
|
||||
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_HARDY
|
||||
@ -1017,7 +1017,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_SPINDA] = {
|
||||
.species = SPECIES_SPINDA,
|
||||
.moves = {MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE, MOVE_PSYBEAM, MOVE_FAINT_ATTACK},
|
||||
.moves = {MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE, MOVE_PSYBEAM, MOVE_FEINT_ATTACK},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
|
||||
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_RELAXED
|
||||
@ -1136,14 +1136,14 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_DELCATTY_1] = {
|
||||
.species = SPECIES_DELCATTY,
|
||||
.moves = {MOVE_SECRET_POWER, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_HEAL_BELL},
|
||||
.moves = {MOVE_SECRET_POWER, MOVE_FEINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_HEAL_BELL},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
|
||||
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_LONELY
|
||||
},
|
||||
[FRONTIER_MON_SABLEYE_1] = {
|
||||
.species = SPECIES_SABLEYE,
|
||||
.moves = {MOVE_FAINT_ATTACK, MOVE_CONFUSE_RAY, MOVE_KNOCK_OFF, MOVE_FAKE_OUT},
|
||||
.moves = {MOVE_FEINT_ATTACK, MOVE_CONFUSE_RAY, MOVE_KNOCK_OFF, MOVE_FAKE_OUT},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_BLACK_GLASSES,
|
||||
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_LONELY
|
||||
@ -1290,7 +1290,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_MURKROW_1] = {
|
||||
.species = SPECIES_MURKROW,
|
||||
.moves = {MOVE_FAINT_ATTACK, MOVE_FLY, MOVE_TORMENT, MOVE_TAUNT},
|
||||
.moves = {MOVE_FEINT_ATTACK, MOVE_FLY, MOVE_TORMENT, MOVE_TAUNT},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
|
||||
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_QUIRKY
|
||||
@ -1353,7 +1353,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_SUDOWOODO_1] = {
|
||||
.species = SPECIES_SUDOWOODO,
|
||||
.moves = {MOVE_ROCK_SLIDE, MOVE_FAINT_ATTACK, MOVE_SANDSTORM, MOVE_BLOCK},
|
||||
.moves = {MOVE_ROCK_SLIDE, MOVE_FEINT_ATTACK, MOVE_SANDSTORM, MOVE_BLOCK},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE,
|
||||
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_HARDY
|
||||
@ -1486,7 +1486,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_SNEASEL_1] = {
|
||||
.species = SPECIES_SNEASEL,
|
||||
.moves = {MOVE_FAINT_ATTACK, MOVE_FAKE_OUT, MOVE_ICY_WIND, MOVE_QUICK_ATTACK},
|
||||
.moves = {MOVE_FEINT_ATTACK, MOVE_FAKE_OUT, MOVE_ICY_WIND, MOVE_QUICK_ATTACK},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
|
||||
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_RELAXED
|
||||
@ -1570,7 +1570,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_NOCTOWL_1] = {
|
||||
.species = SPECIES_NOCTOWL,
|
||||
.moves = {MOVE_CONFUSION, MOVE_AERIAL_ACE, MOVE_FAINT_ATTACK, MOVE_REFLECT},
|
||||
.moves = {MOVE_CONFUSION, MOVE_AERIAL_ACE, MOVE_FEINT_ATTACK, MOVE_REFLECT},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
|
||||
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_RELAXED
|
||||
@ -1745,14 +1745,14 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_CRAWDAUNT_1] = {
|
||||
.species = SPECIES_CRAWDAUNT,
|
||||
.moves = {MOVE_BUBBLE_BEAM, MOVE_VICE_GRIP, MOVE_KNOCK_OFF, MOVE_PROTECT},
|
||||
.moves = {MOVE_BUBBLE_BEAM, MOVE_VISE_GRIP, MOVE_KNOCK_OFF, MOVE_PROTECT},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
|
||||
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_ADAMANT
|
||||
},
|
||||
[FRONTIER_MON_PIDGEOT_1] = {
|
||||
.species = SPECIES_PIDGEOT,
|
||||
.moves = {MOVE_AERIAL_ACE, MOVE_FEATHER_DANCE, MOVE_MUD_SLAP, MOVE_FAINT_ATTACK},
|
||||
.moves = {MOVE_AERIAL_ACE, MOVE_FEATHER_DANCE, MOVE_MUD_SLAP, MOVE_FEINT_ATTACK},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK,
|
||||
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_HARDY
|
||||
@ -1780,7 +1780,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_CACTURNE_1] = {
|
||||
.species = SPECIES_CACTURNE,
|
||||
.moves = {MOVE_NEEDLE_ARM, MOVE_FAINT_ATTACK, MOVE_ACID, MOVE_MEGA_PUNCH},
|
||||
.moves = {MOVE_NEEDLE_ARM, MOVE_FEINT_ATTACK, MOVE_ACID, MOVE_MEGA_PUNCH},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
|
||||
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_HASTY
|
||||
@ -1878,7 +1878,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_SABLEYE_2] = {
|
||||
.species = SPECIES_SABLEYE,
|
||||
.moves = {MOVE_SHADOW_BALL, MOVE_FAINT_ATTACK, MOVE_CONFUSE_RAY, MOVE_RECOVER},
|
||||
.moves = {MOVE_SHADOW_BALL, MOVE_FEINT_ATTACK, MOVE_CONFUSE_RAY, MOVE_RECOVER},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
|
||||
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_QUIRKY
|
||||
@ -2305,7 +2305,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_NOCTOWL_2] = {
|
||||
.species = SPECIES_NOCTOWL,
|
||||
.moves = {MOVE_PSYCHIC, MOVE_FAINT_ATTACK, MOVE_AERIAL_ACE, MOVE_REFLECT},
|
||||
.moves = {MOVE_PSYCHIC, MOVE_FEINT_ATTACK, MOVE_AERIAL_ACE, MOVE_REFLECT},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
|
||||
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
|
||||
.nature = NATURE_QUIET
|
||||
@ -2515,7 +2515,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_CACTURNE_2] = {
|
||||
.species = SPECIES_CACTURNE,
|
||||
.moves = {MOVE_MEGA_KICK, MOVE_TEETER_DANCE, MOVE_FAINT_ATTACK, MOVE_SANDSTORM},
|
||||
.moves = {MOVE_MEGA_KICK, MOVE_TEETER_DANCE, MOVE_FEINT_ATTACK, MOVE_SANDSTORM},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
|
||||
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
|
||||
.nature = NATURE_HARDY
|
||||
@ -2613,7 +2613,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_MEDICHAM_1] = {
|
||||
.species = SPECIES_MEDICHAM,
|
||||
.moves = {MOVE_PSYCHIC, MOVE_HI_JUMP_KICK, MOVE_CALM_MIND, MOVE_BATON_PASS},
|
||||
.moves = {MOVE_PSYCHIC, MOVE_HIGH_JUMP_KICK, MOVE_CALM_MIND, MOVE_BATON_PASS},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
|
||||
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
|
||||
.nature = NATURE_DOCILE
|
||||
@ -2634,7 +2634,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_GRANBULL_1] = {
|
||||
.species = SPECIES_GRANBULL,
|
||||
.moves = {MOVE_MEGA_KICK, MOVE_SMELLING_SALT, MOVE_THUNDER_WAVE, MOVE_ROAR},
|
||||
.moves = {MOVE_MEGA_KICK, MOVE_SMELLING_SALTS, MOVE_THUNDER_WAVE, MOVE_ROAR},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
|
||||
.evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_ADAMANT
|
||||
@ -2788,7 +2788,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_SHIFTRY_1] = {
|
||||
.species = SPECIES_SHIFTRY,
|
||||
.moves = {MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK, MOVE_FAKE_OUT},
|
||||
.moves = {MOVE_GIGA_DRAIN, MOVE_FEINT_ATTACK, MOVE_QUICK_ATTACK, MOVE_FAKE_OUT},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_MIRACLE_SEED,
|
||||
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
|
||||
.nature = NATURE_QUIET
|
||||
@ -3082,7 +3082,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_FLYGON_1] = {
|
||||
.species = SPECIES_FLYGON,
|
||||
.moves = {MOVE_EARTHQUAKE, MOVE_STEEL_WING, MOVE_FAINT_ATTACK, MOVE_FACADE},
|
||||
.moves = {MOVE_EARTHQUAKE, MOVE_STEEL_WING, MOVE_FEINT_ATTACK, MOVE_FACADE},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
|
||||
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
|
||||
.nature = NATURE_ADAMANT
|
||||
@ -3131,7 +3131,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_UMBREON_1] = {
|
||||
.species = SPECIES_UMBREON,
|
||||
.moves = {MOVE_CONFUSE_RAY, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_BATON_PASS},
|
||||
.moves = {MOVE_CONFUSE_RAY, MOVE_FEINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_BATON_PASS},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
|
||||
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_BOLD
|
||||
@ -3341,7 +3341,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_DODRIO_2] = {
|
||||
.species = SPECIES_DODRIO,
|
||||
.moves = {MOVE_DRILL_PECK, MOVE_DOUBLE_EDGE, MOVE_FAINT_ATTACK, MOVE_PROTECT},
|
||||
.moves = {MOVE_DRILL_PECK, MOVE_DOUBLE_EDGE, MOVE_FEINT_ATTACK, MOVE_PROTECT},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
|
||||
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
|
||||
.nature = NATURE_ADAMANT
|
||||
@ -3971,7 +3971,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_FEAROW_3] = {
|
||||
.species = SPECIES_FEAROW,
|
||||
.moves = {MOVE_DRILL_PECK, MOVE_RETURN, MOVE_STEEL_WING, MOVE_FAINT_ATTACK},
|
||||
.moves = {MOVE_DRILL_PECK, MOVE_RETURN, MOVE_STEEL_WING, MOVE_FEINT_ATTACK},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
|
||||
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
|
||||
.nature = NATURE_HARDY
|
||||
@ -3999,7 +3999,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_DODRIO_3] = {
|
||||
.species = SPECIES_DODRIO,
|
||||
.moves = {MOVE_DOUBLE_EDGE, MOVE_DRILL_PECK, MOVE_STEEL_WING, MOVE_FAINT_ATTACK},
|
||||
.moves = {MOVE_DOUBLE_EDGE, MOVE_DRILL_PECK, MOVE_STEEL_WING, MOVE_FEINT_ATTACK},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
|
||||
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
|
||||
.nature = NATURE_ADAMANT
|
||||
@ -5147,7 +5147,7 @@ const struct FacilityMon gBattleFrontierMons[NUM_FRONTIER_MONS] =
|
||||
},
|
||||
[FRONTIER_MON_UMBREON_4] = {
|
||||
.species = SPECIES_UMBREON,
|
||||
.moves = {MOVE_CONFUSE_RAY, MOVE_TOXIC, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM},
|
||||
.moves = {MOVE_CONFUSE_RAY, MOVE_TOXIC, MOVE_FEINT_ATTACK, MOVE_DOUBLE_TEAM},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
|
||||
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_BOLD
|
||||
|
@ -132,7 +132,7 @@ static const struct PyramidWildMon sLevel50WildMons_Round3[] =
|
||||
.species = SPECIES_MEDICHAM,
|
||||
.lvl = 41,
|
||||
.abilityNum = ABILITY_RANDOM,
|
||||
.moves = {MOVE_FIRE_PUNCH, MOVE_HI_JUMP_KICK, MOVE_NONE, MOVE_NONE}
|
||||
.moves = {MOVE_FIRE_PUNCH, MOVE_HIGH_JUMP_KICK, MOVE_NONE, MOVE_NONE}
|
||||
},
|
||||
{
|
||||
.species = SPECIES_WEEZING,
|
||||
@ -686,7 +686,7 @@ static const struct PyramidWildMon sLevel50WildMons_Round14[] =
|
||||
.species = SPECIES_SNEASEL,
|
||||
.lvl = 42,
|
||||
.abilityNum = ABILITY_RANDOM,
|
||||
.moves = {MOVE_ICE_BEAM, MOVE_TAUNT, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK}
|
||||
.moves = {MOVE_ICE_BEAM, MOVE_TAUNT, MOVE_FEINT_ATTACK, MOVE_QUICK_ATTACK}
|
||||
},
|
||||
{
|
||||
.species = SPECIES_CRAWDAUNT,
|
||||
|
@ -132,7 +132,7 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round3[] =
|
||||
.species = SPECIES_MEDICHAM,
|
||||
.lvl = 6,
|
||||
.abilityNum = ABILITY_RANDOM,
|
||||
.moves = {MOVE_FIRE_PUNCH, MOVE_HI_JUMP_KICK, MOVE_NONE, MOVE_NONE}
|
||||
.moves = {MOVE_FIRE_PUNCH, MOVE_HIGH_JUMP_KICK, MOVE_NONE, MOVE_NONE}
|
||||
},
|
||||
{
|
||||
.species = SPECIES_WEEZING,
|
||||
@ -686,7 +686,7 @@ static const struct PyramidWildMon sOpenLevelWildMons_Round14[] =
|
||||
.species = SPECIES_SNEASEL,
|
||||
.lvl = 10,
|
||||
.abilityNum = ABILITY_RANDOM,
|
||||
.moves = {MOVE_ICE_BEAM, MOVE_TAUNT, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK}
|
||||
.moves = {MOVE_ICE_BEAM, MOVE_TAUNT, MOVE_FEINT_ATTACK, MOVE_QUICK_ATTACK}
|
||||
},
|
||||
{
|
||||
.species = SPECIES_CRAWDAUNT,
|
||||
|
@ -979,7 +979,7 @@ const struct FacilityMon gSlateportBattleTentMons[NUM_SLATEPORT_TENT_MONS] =
|
||||
},
|
||||
[SLATEPORT_TENT_MON_SPINDA] = {
|
||||
.species = SPECIES_SPINDA,
|
||||
.moves = {MOVE_DIZZY_PUNCH, MOVE_FAINT_ATTACK, MOVE_HYPNOSIS, MOVE_REST},
|
||||
.moves = {MOVE_DIZZY_PUNCH, MOVE_FEINT_ATTACK, MOVE_HYPNOSIS, MOVE_REST},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
|
||||
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
|
||||
.nature = NATURE_ADAMANT
|
||||
@ -1063,7 +1063,7 @@ const struct FacilityMon gSlateportBattleTentMons[NUM_SLATEPORT_TENT_MONS] =
|
||||
},
|
||||
[SLATEPORT_TENT_MON_KECLEON_2] = {
|
||||
.species = SPECIES_KECLEON,
|
||||
.moves = {MOVE_FAINT_ATTACK, MOVE_ASTONISH, MOVE_LICK, MOVE_SCREECH},
|
||||
.moves = {MOVE_FEINT_ATTACK, MOVE_ASTONISH, MOVE_LICK, MOVE_SCREECH},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_IAPAPA_BERRY,
|
||||
.evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_CALM
|
||||
@ -1098,7 +1098,7 @@ const struct FacilityMon gSlateportBattleTentMons[NUM_SLATEPORT_TENT_MONS] =
|
||||
},
|
||||
[SLATEPORT_TENT_MON_TRAPINCH_2] = {
|
||||
.species = SPECIES_TRAPINCH,
|
||||
.moves = {MOVE_FAINT_ATTACK, MOVE_DIG, MOVE_BITE, MOVE_QUICK_ATTACK},
|
||||
.moves = {MOVE_FEINT_ATTACK, MOVE_DIG, MOVE_BITE, MOVE_QUICK_ATTACK},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_ASPEAR_BERRY,
|
||||
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_BRAVE
|
||||
@ -1892,7 +1892,7 @@ const struct FacilityMon gVerdanturfBattleTentMons[NUM_VERDANTURF_TENT_MONS] =
|
||||
},
|
||||
[VERDANTURF_TENT_MON_KECLEON] = {
|
||||
.species = SPECIES_KECLEON,
|
||||
.moves = {MOVE_SUBSTITUTE, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_BIND},
|
||||
.moves = {MOVE_SUBSTITUTE, MOVE_FEINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_BIND},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
|
||||
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
|
||||
.nature = NATURE_QUIET
|
||||
@ -1913,7 +1913,7 @@ const struct FacilityMon gVerdanturfBattleTentMons[NUM_VERDANTURF_TENT_MONS] =
|
||||
},
|
||||
[VERDANTURF_TENT_MON_MAKUHITA] = {
|
||||
.species = SPECIES_MAKUHITA,
|
||||
.moves = {MOVE_BULK_UP, MOVE_ARM_THRUST, MOVE_SMELLING_SALT, MOVE_SAND_ATTACK},
|
||||
.moves = {MOVE_BULK_UP, MOVE_ARM_THRUST, MOVE_SMELLING_SALTS, MOVE_SAND_ATTACK},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
|
||||
.evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
|
||||
.nature = NATURE_NAUGHTY
|
||||
@ -2067,7 +2067,7 @@ const struct FacilityMon gVerdanturfBattleTentMons[NUM_VERDANTURF_TENT_MONS] =
|
||||
},
|
||||
[VERDANTURF_TENT_MON_TRAPINCH] = {
|
||||
.species = SPECIES_TRAPINCH,
|
||||
.moves = {MOVE_DIG, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_FAINT_ATTACK},
|
||||
.moves = {MOVE_DIG, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_FEINT_ATTACK},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_NONE,
|
||||
.evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_NAUGHTY
|
||||
@ -2717,7 +2717,7 @@ const struct FacilityMon gFallarborBattleTentMons[NUM_FALLARBOR_TENT_MONS] =
|
||||
},
|
||||
[FALLARBOR_TENT_MON_KECLEON] = {
|
||||
.species = SPECIES_KECLEON,
|
||||
.moves = {MOVE_LICK, MOVE_SLASH, MOVE_FAINT_ATTACK, MOVE_PSYBEAM},
|
||||
.moves = {MOVE_LICK, MOVE_SLASH, MOVE_FEINT_ATTACK, MOVE_PSYBEAM},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_WIKI_BERRY,
|
||||
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
|
||||
.nature = NATURE_MODEST
|
||||
@ -2738,7 +2738,7 @@ const struct FacilityMon gFallarborBattleTentMons[NUM_FALLARBOR_TENT_MONS] =
|
||||
},
|
||||
[FALLARBOR_TENT_MON_MAKUHITA] = {
|
||||
.species = SPECIES_MAKUHITA,
|
||||
.moves = {MOVE_DETECT, MOVE_ARM_THRUST, MOVE_FAKE_OUT, MOVE_SMELLING_SALT},
|
||||
.moves = {MOVE_DETECT, MOVE_ARM_THRUST, MOVE_FAKE_OUT, MOVE_SMELLING_SALTS},
|
||||
.itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT,
|
||||
.evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
|
||||
.nature = NATURE_ADAMANT
|
||||
|
@ -704,7 +704,7 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
|
||||
{
|
||||
.species = SPECIES_PINSIR,
|
||||
.heldItem = ITEM_QUICK_CLAW,
|
||||
.moves = {MOVE_GUILLOTINE, MOVE_BRICK_BREAK, MOVE_SWAGGER, MOVE_FAINT_ATTACK},
|
||||
.moves = {MOVE_GUILLOTINE, MOVE_BRICK_BREAK, MOVE_SWAGGER, MOVE_FEINT_ATTACK},
|
||||
.level = 0,
|
||||
.ppBonuses = 0,
|
||||
.hpEV = 200,
|
||||
@ -1259,7 +1259,7 @@ static const struct TrHillFloor sDataTagNormal_Floors[] =
|
||||
{
|
||||
.species = SPECIES_MEDICHAM,
|
||||
.heldItem = ITEM_QUICK_CLAW,
|
||||
.moves = {MOVE_PSYCH_UP, MOVE_HI_JUMP_KICK, MOVE_MEGA_KICK, MOVE_ROCK_SLIDE},
|
||||
.moves = {MOVE_PSYCH_UP, MOVE_HIGH_JUMP_KICK, MOVE_MEGA_KICK, MOVE_ROCK_SLIDE},
|
||||
.level = 0,
|
||||
.ppBonuses = 0,
|
||||
.hpEV = 252,
|
||||
@ -1899,7 +1899,7 @@ static const struct TrHillFloor sDataTagVariety_Floors[] = {
|
||||
{
|
||||
.species = SPECIES_SABLEYE,
|
||||
.heldItem = ITEM_SILK_SCARF,
|
||||
.moves = {MOVE_ASTONISH, MOVE_FAINT_ATTACK, MOVE_DETECT, MOVE_CONFUSE_RAY},
|
||||
.moves = {MOVE_ASTONISH, MOVE_FEINT_ATTACK, MOVE_DETECT, MOVE_CONFUSE_RAY},
|
||||
.level = 0,
|
||||
.ppBonuses = 0,
|
||||
.hpEV = 255,
|
||||
@ -4130,7 +4130,7 @@ static const struct TrHillFloor sDataTagUnique_Floors[] = {
|
||||
{
|
||||
.species = SPECIES_HITMONLEE,
|
||||
.heldItem = ITEM_FOCUS_BAND,
|
||||
.moves = {MOVE_MEGA_KICK, MOVE_MIND_READER, MOVE_FOCUS_ENERGY, MOVE_HI_JUMP_KICK},
|
||||
.moves = {MOVE_MEGA_KICK, MOVE_MIND_READER, MOVE_FOCUS_ENERGY, MOVE_HIGH_JUMP_KICK},
|
||||
.level = 0,
|
||||
.ppBonuses = 0,
|
||||
.hpEV = 255,
|
||||
@ -4889,7 +4889,7 @@ static const struct TrHillFloor sDataTagExpert_Floors[] = {
|
||||
{
|
||||
.species = SPECIES_BANETTE,
|
||||
.heldItem = ITEM_FOCUS_BAND,
|
||||
.moves = {MOVE_SHADOW_BALL, MOVE_FAINT_ATTACK, MOVE_ATTRACT, MOVE_WILL_O_WISP},
|
||||
.moves = {MOVE_SHADOW_BALL, MOVE_FEINT_ATTACK, MOVE_ATTRACT, MOVE_WILL_O_WISP},
|
||||
.level = 0,
|
||||
.ppBonuses = 0,
|
||||
.hpEV = 252,
|
||||
|
@ -154,7 +154,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] =
|
||||
.split = SPLIT_PHYSICAL,
|
||||
},
|
||||
|
||||
[MOVE_VICE_GRIP] =
|
||||
[MOVE_VISE_GRIP] =
|
||||
{
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 55,
|
||||
@ -2110,7 +2110,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] =
|
||||
.split = SPLIT_STATUS,
|
||||
},
|
||||
|
||||
[MOVE_HI_JUMP_KICK] =
|
||||
[MOVE_HIGH_JUMP_KICK] =
|
||||
{
|
||||
#if B_UPDATED_MOVE_DATA >= GEN_5
|
||||
.power = 130,
|
||||
@ -2902,7 +2902,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] =
|
||||
.split = SPLIT_STATUS,
|
||||
},
|
||||
|
||||
[MOVE_FAINT_ATTACK] =
|
||||
[MOVE_FEINT_ATTACK] =
|
||||
{
|
||||
#if B_UPDATED_MOVE_DATA >= GEN_4
|
||||
.flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED,
|
||||
@ -4171,7 +4171,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] =
|
||||
.split = SPLIT_PHYSICAL,
|
||||
},
|
||||
|
||||
[MOVE_SMELLING_SALT] =
|
||||
[MOVE_SMELLING_SALTS] =
|
||||
{
|
||||
#if B_UPDATED_MOVE_DATA >= GEN_6
|
||||
.power = 70,
|
||||
|
@ -83,7 +83,7 @@ const struct ContestMove gContestMoves[MOVES_COUNT] =
|
||||
.comboMoves = {COMBO_STARTER_LEER},
|
||||
},
|
||||
|
||||
[MOVE_VICE_GRIP] =
|
||||
[MOVE_VISE_GRIP] =
|
||||
{
|
||||
.effect = CONTEST_EFFECT_HIGHLY_APPEALING,
|
||||
.contestCategory = CONTEST_CATEGORY_TOUGH,
|
||||
@ -1083,7 +1083,7 @@ const struct ContestMove gContestMoves[MOVES_COUNT] =
|
||||
.comboMoves = {0}
|
||||
},
|
||||
|
||||
[MOVE_HI_JUMP_KICK] =
|
||||
[MOVE_HIGH_JUMP_KICK] =
|
||||
{
|
||||
.effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
|
||||
.contestCategory = CONTEST_CATEGORY_COOL,
|
||||
@ -1469,7 +1469,7 @@ const struct ContestMove gContestMoves[MOVES_COUNT] =
|
||||
.comboMoves = {COMBO_STARTER_LEER, COMBO_STARTER_RAGE},
|
||||
},
|
||||
|
||||
[MOVE_FAINT_ATTACK] =
|
||||
[MOVE_FEINT_ATTACK] =
|
||||
{
|
||||
.effect = CONTEST_EFFECT_BETTER_IF_FIRST,
|
||||
.contestCategory = CONTEST_CATEGORY_SMART,
|
||||
@ -2109,7 +2109,7 @@ const struct ContestMove gContestMoves[MOVES_COUNT] =
|
||||
.comboMoves = {COMBO_STARTER_FOCUS_ENERGY},
|
||||
},
|
||||
|
||||
[MOVE_SMELLING_SALT] =
|
||||
[MOVE_SMELLING_SALTS] =
|
||||
{
|
||||
.effect = CONTEST_EFFECT_STARTLE_PREV_MON,
|
||||
.contestCategory = CONTEST_CATEGORY_SMART,
|
||||
|
@ -959,7 +959,7 @@ const struct ContestPokemon gContestOpponents[] =
|
||||
MOVE_BITE,
|
||||
MOVE_SAND_ATTACK,
|
||||
MOVE_DIG,
|
||||
MOVE_FAINT_ATTACK
|
||||
MOVE_FEINT_ATTACK
|
||||
},
|
||||
.cool = 75,
|
||||
.beauty = 25,
|
||||
@ -2190,7 +2190,7 @@ const struct ContestPokemon gContestOpponents[] =
|
||||
{
|
||||
MOVE_ROAR,
|
||||
MOVE_FLAMETHROWER,
|
||||
MOVE_FAINT_ATTACK,
|
||||
MOVE_FEINT_ATTACK,
|
||||
MOVE_SUNNY_DAY
|
||||
},
|
||||
.cool = 100,
|
||||
@ -2302,7 +2302,7 @@ const struct ContestPokemon gContestOpponents[] =
|
||||
{
|
||||
MOVE_ATTRACT,
|
||||
MOVE_ASSIST,
|
||||
MOVE_FAINT_ATTACK,
|
||||
MOVE_FEINT_ATTACK,
|
||||
MOVE_TAIL_WHIP
|
||||
},
|
||||
.cool = 40,
|
||||
@ -2441,7 +2441,7 @@ const struct ContestPokemon gContestOpponents[] =
|
||||
.moves =
|
||||
{
|
||||
MOVE_MEAN_LOOK,
|
||||
MOVE_FAINT_ATTACK,
|
||||
MOVE_FEINT_ATTACK,
|
||||
MOVE_KNOCK_OFF,
|
||||
MOVE_CONFUSE_RAY
|
||||
},
|
||||
|
@ -121,7 +121,7 @@ const u16 gEasyChatGroup_Move1[] = {
|
||||
MOVE_SKY_ATTACK,
|
||||
MOVE_SKY_UPPERCUT,
|
||||
MOVE_SLASH,
|
||||
MOVE_SMELLING_SALT,
|
||||
MOVE_SMELLING_SALTS,
|
||||
MOVE_SMOG,
|
||||
MOVE_SMOKESCREEN,
|
||||
MOVE_SNORE,
|
||||
|
@ -53,7 +53,7 @@ const u16 gEasyChatGroup_Move2[] = {
|
||||
MOVE_EMBER,
|
||||
MOVE_ERUPTION,
|
||||
MOVE_EXPLOSION,
|
||||
MOVE_FAINT_ATTACK,
|
||||
MOVE_FEINT_ATTACK,
|
||||
MOVE_FAKE_OUT,
|
||||
MOVE_FALSE_SWIPE,
|
||||
MOVE_FEATHER_DANCE,
|
||||
@ -73,7 +73,7 @@ const u16 gEasyChatGroup_Move2[] = {
|
||||
MOVE_GUILLOTINE,
|
||||
MOVE_HEAT_WAVE,
|
||||
MOVE_HELPING_HAND,
|
||||
MOVE_HI_JUMP_KICK,
|
||||
MOVE_HIGH_JUMP_KICK,
|
||||
MOVE_HIDDEN_POWER,
|
||||
MOVE_HORN_ATTACK,
|
||||
MOVE_HORN_DRILL,
|
||||
@ -189,7 +189,7 @@ const u16 gEasyChatGroup_Move2[] = {
|
||||
MOVE_TRIPLE_KICK,
|
||||
MOVE_TWINEEDLE,
|
||||
MOVE_TWISTER,
|
||||
MOVE_VICE_GRIP,
|
||||
MOVE_VISE_GRIP,
|
||||
MOVE_VINE_WHIP,
|
||||
MOVE_VOLT_TACKLE,
|
||||
MOVE_WATER_GUN,
|
||||
|
@ -486,7 +486,7 @@ const u16 gEasyChatWordsByLetter_F[] = {
|
||||
EC_WORD_FABULOUS,
|
||||
EC_MOVE(FACADE),
|
||||
EC_WORD_FAINT,
|
||||
EC_MOVE2(FAINT_ATTACK),
|
||||
EC_MOVE2(FEINT_ATTACK),
|
||||
EC_WORD_FAINTED,
|
||||
EC_MOVE2(FAKE_OUT),
|
||||
EC_MOVE(FAKE_TEARS),
|
||||
@ -705,7 +705,7 @@ const u16 gEasyChatWordsByLetter_H[] = {
|
||||
EC_WORD_HEY_THERE,
|
||||
EC_WORD_HEY_QUES,
|
||||
EC_WORD_HI,
|
||||
EC_MOVE2(HI_JUMP_KICK),
|
||||
EC_MOVE2(HIGH_JUMP_KICK),
|
||||
EC_WORD_HIDDEN,
|
||||
EC_MOVE2(HIDDEN_POWER),
|
||||
EC_WORD_HIGH,
|
||||
@ -1504,7 +1504,7 @@ const u16 gEasyChatWordsByLetter_S[] = {
|
||||
EC_POKEMON2(SMEARGLE),
|
||||
EC_WORD_SMELL,
|
||||
EC_WORD_SMELL_YA,
|
||||
EC_MOVE(SMELLING_SALT),
|
||||
EC_MOVE(SMELLING_SALTS),
|
||||
EC_WORD_SMITE,
|
||||
EC_MOVE(SMOG),
|
||||
EC_MOVE(SMOKESCREEN),
|
||||
@ -1793,7 +1793,7 @@ const u16 gEasyChatWordsByLetter_V[] = {
|
||||
EC_WORD_VERSUS,
|
||||
EC_WORD_VERY,
|
||||
EC_POKEMON(VIBRAVA),
|
||||
EC_MOVE2(VICE_GRIP),
|
||||
EC_MOVE2(VISE_GRIP),
|
||||
EC_WORD_VICTORY,
|
||||
EC_POKEMON2(VICTREEBEL),
|
||||
EC_WORD_VIEWING,
|
||||
|
@ -35,7 +35,7 @@ const u16 gEggMoves[] = {
|
||||
|
||||
egg_moves(PIDGEY,
|
||||
MOVE_PURSUIT,
|
||||
MOVE_FAINT_ATTACK,
|
||||
MOVE_FEINT_ATTACK,
|
||||
MOVE_FORESIGHT,
|
||||
MOVE_STEEL_WING,
|
||||
MOVE_AIR_CUTTER),
|
||||
@ -51,7 +51,7 @@ const u16 gEggMoves[] = {
|
||||
MOVE_SWAGGER),
|
||||
|
||||
egg_moves(SPEAROW,
|
||||
MOVE_FAINT_ATTACK,
|
||||
MOVE_FEINT_ATTACK,
|
||||
MOVE_FALSE_SWIPE,
|
||||
MOVE_SCARY_FACE,
|
||||
MOVE_QUICK_ATTACK,
|
||||
@ -95,7 +95,7 @@ const u16 gEggMoves[] = {
|
||||
MOVE_BEAT_UP),
|
||||
|
||||
egg_moves(VULPIX,
|
||||
MOVE_FAINT_ATTACK,
|
||||
MOVE_FEINT_ATTACK,
|
||||
MOVE_HYPNOSIS,
|
||||
MOVE_FLAIL,
|
||||
MOVE_SPITE,
|
||||
@ -107,7 +107,7 @@ const u16 gEggMoves[] = {
|
||||
egg_moves(ZUBAT,
|
||||
MOVE_QUICK_ATTACK,
|
||||
MOVE_PURSUIT,
|
||||
MOVE_FAINT_ATTACK,
|
||||
MOVE_FEINT_ATTACK,
|
||||
MOVE_GUST,
|
||||
MOVE_WHIRLWIND,
|
||||
MOVE_CURSE),
|
||||
@ -137,7 +137,7 @@ const u16 gEggMoves[] = {
|
||||
MOVE_SIGNAL_BEAM),
|
||||
|
||||
egg_moves(DIGLETT,
|
||||
MOVE_FAINT_ATTACK,
|
||||
MOVE_FEINT_ATTACK,
|
||||
MOVE_SCREECH,
|
||||
MOVE_ANCIENT_POWER,
|
||||
MOVE_PURSUIT,
|
||||
@ -171,7 +171,7 @@ const u16 gEggMoves[] = {
|
||||
MOVE_REVERSAL,
|
||||
MOVE_BEAT_UP,
|
||||
MOVE_REVENGE,
|
||||
MOVE_SMELLING_SALT),
|
||||
MOVE_SMELLING_SALTS),
|
||||
|
||||
egg_moves(GROWLITHE,
|
||||
MOVE_BODY_SLAM,
|
||||
@ -204,7 +204,7 @@ const u16 gEggMoves[] = {
|
||||
MOVE_MEDITATE,
|
||||
MOVE_ROLLING_KICK,
|
||||
MOVE_ENCORE,
|
||||
MOVE_SMELLING_SALT,
|
||||
MOVE_SMELLING_SALTS,
|
||||
MOVE_COUNTER,
|
||||
MOVE_ROCK_SLIDE),
|
||||
|
||||
@ -261,7 +261,7 @@ const u16 gEggMoves[] = {
|
||||
MOVE_QUICK_ATTACK,
|
||||
MOVE_SUPERSONIC,
|
||||
MOVE_HAZE,
|
||||
MOVE_FAINT_ATTACK,
|
||||
MOVE_FEINT_ATTACK,
|
||||
MOVE_FLAIL,
|
||||
MOVE_ENDEAVOR),
|
||||
|
||||
@ -347,7 +347,7 @@ const u16 gEggMoves[] = {
|
||||
MOVE_MAGNITUDE,
|
||||
MOVE_BODY_SLAM,
|
||||
MOVE_CURSE,
|
||||
MOVE_SMELLING_SALT,
|
||||
MOVE_SMELLING_SALTS,
|
||||
MOVE_SLEEP_TALK,
|
||||
MOVE_SNORE,
|
||||
MOVE_SUBSTITUTE),
|
||||
@ -434,7 +434,7 @@ const u16 gEggMoves[] = {
|
||||
MOVE_FURY_ATTACK,
|
||||
MOVE_FLAIL,
|
||||
MOVE_FALSE_SWIPE,
|
||||
MOVE_FAINT_ATTACK),
|
||||
MOVE_FEINT_ATTACK),
|
||||
|
||||
egg_moves(LAPRAS,
|
||||
MOVE_FORESIGHT,
|
||||
@ -539,7 +539,7 @@ const u16 gEggMoves[] = {
|
||||
egg_moves(HOOTHOOT,
|
||||
MOVE_MIRROR_MOVE,
|
||||
MOVE_SUPERSONIC,
|
||||
MOVE_FAINT_ATTACK,
|
||||
MOVE_FEINT_ATTACK,
|
||||
MOVE_WING_ATTACK,
|
||||
MOVE_WHIRLWIND,
|
||||
MOVE_SKY_ATTACK,
|
||||
@ -585,7 +585,7 @@ const u16 gEggMoves[] = {
|
||||
egg_moves(IGGLYBUFF,
|
||||
MOVE_PERISH_SONG,
|
||||
MOVE_PRESENT,
|
||||
MOVE_FAINT_ATTACK,
|
||||
MOVE_FEINT_ATTACK,
|
||||
MOVE_WISH,
|
||||
MOVE_FAKE_TEARS),
|
||||
|
||||
@ -602,7 +602,7 @@ const u16 gEggMoves[] = {
|
||||
MOVE_HAZE,
|
||||
MOVE_DRILL_PECK,
|
||||
MOVE_QUICK_ATTACK,
|
||||
MOVE_FAINT_ATTACK,
|
||||
MOVE_FEINT_ATTACK,
|
||||
MOVE_STEEL_WING,
|
||||
MOVE_PSYCH_UP,
|
||||
MOVE_FEATHER_DANCE,
|
||||
@ -726,13 +726,13 @@ const u16 gEggMoves[] = {
|
||||
|
||||
egg_moves(SNUBBULL,
|
||||
MOVE_METRONOME,
|
||||
MOVE_FAINT_ATTACK,
|
||||
MOVE_FEINT_ATTACK,
|
||||
MOVE_REFLECT,
|
||||
MOVE_PRESENT,
|
||||
MOVE_CRUNCH,
|
||||
MOVE_HEAL_BELL,
|
||||
MOVE_SNORE,
|
||||
MOVE_SMELLING_SALT),
|
||||
MOVE_SMELLING_SALTS),
|
||||
|
||||
egg_moves(QWILFISH,
|
||||
MOVE_FLAIL,
|
||||
@ -853,7 +853,7 @@ const u16 gEggMoves[] = {
|
||||
|
||||
egg_moves(TYROGUE,
|
||||
MOVE_RAPID_SPIN,
|
||||
MOVE_HI_JUMP_KICK,
|
||||
MOVE_HIGH_JUMP_KICK,
|
||||
MOVE_MACH_PUNCH,
|
||||
MOVE_MIND_READER,
|
||||
MOVE_HELPING_HAND),
|
||||
@ -915,7 +915,7 @@ const u16 gEggMoves[] = {
|
||||
MOVE_ENDURE,
|
||||
MOVE_SWAGGER,
|
||||
MOVE_ROCK_SLIDE,
|
||||
MOVE_SMELLING_SALT),
|
||||
MOVE_SMELLING_SALTS),
|
||||
|
||||
egg_moves(MUDKIP,
|
||||
MOVE_REFRESH,
|
||||
@ -957,7 +957,7 @@ const u16 gEggMoves[] = {
|
||||
|
||||
egg_moves(NINCADA,
|
||||
MOVE_ENDURE,
|
||||
MOVE_FAINT_ATTACK,
|
||||
MOVE_FEINT_ATTACK,
|
||||
MOVE_GUST,
|
||||
MOVE_SILVER_WIND),
|
||||
|
||||
@ -984,7 +984,7 @@ const u16 gEggMoves[] = {
|
||||
MOVE_BATON_PASS,
|
||||
MOVE_WISH,
|
||||
MOVE_TRICK,
|
||||
MOVE_SMELLING_SALT),
|
||||
MOVE_SMELLING_SALTS),
|
||||
|
||||
egg_moves(WINGULL,
|
||||
MOVE_MIST,
|
||||
@ -1077,7 +1077,7 @@ const u16 gEggMoves[] = {
|
||||
MOVE_GUST),
|
||||
|
||||
egg_moves(MAKUHITA,
|
||||
MOVE_FAINT_ATTACK,
|
||||
MOVE_FEINT_ATTACK,
|
||||
MOVE_DETECT,
|
||||
MOVE_FORESIGHT,
|
||||
MOVE_HELPING_HAND,
|
||||
@ -1172,7 +1172,7 @@ const u16 gEggMoves[] = {
|
||||
MOVE_PAIN_SPLIT,
|
||||
MOVE_GRUDGE,
|
||||
MOVE_MEMENTO,
|
||||
MOVE_FAINT_ATTACK),
|
||||
MOVE_FEINT_ATTACK),
|
||||
|
||||
egg_moves(ROSELIA,
|
||||
MOVE_SPIKES,
|
||||
@ -1207,7 +1207,7 @@ const u16 gEggMoves[] = {
|
||||
MOVE_SNORE,
|
||||
MOVE_SWAGGER,
|
||||
MOVE_EXTRASENSORY,
|
||||
MOVE_SMELLING_SALT),
|
||||
MOVE_SMELLING_SALTS),
|
||||
|
||||
egg_moves(CLAMPERL,
|
||||
MOVE_REFRESH,
|
||||
@ -1219,7 +1219,7 @@ const u16 gEggMoves[] = {
|
||||
|
||||
egg_moves(ABSOL,
|
||||
MOVE_BATON_PASS,
|
||||
MOVE_FAINT_ATTACK,
|
||||
MOVE_FEINT_ATTACK,
|
||||
MOVE_DOUBLE_EDGE,
|
||||
MOVE_MAGIC_COAT,
|
||||
MOVE_CURSE,
|
||||
@ -1258,7 +1258,7 @@ const u16 gEggMoves[] = {
|
||||
MOVE_ENDEAVOR,
|
||||
MOVE_BODY_SLAM,
|
||||
MOVE_STOMP,
|
||||
MOVE_SMELLING_SALT),
|
||||
MOVE_SMELLING_SALTS),
|
||||
|
||||
egg_moves(CASTFORM,
|
||||
MOVE_FUTURE_SIGHT,
|
||||
|
80
src/data/pokemon/form_species_table_pointers.h
Normal file
80
src/data/pokemon/form_species_table_pointers.h
Normal file
@ -0,0 +1,80 @@
|
||||
const u16 *const gFormSpeciesIdTables[NUM_SPECIES] =
|
||||
{
|
||||
[SPECIES_VENUSAUR] = sVenusaurFormSpeciesIdTable,
|
||||
[SPECIES_CHARIZARD] = sCharizardFormSpeciesIdTable,
|
||||
[SPECIES_BLASTOISE] = sBlastoiseFormSpeciesIdTable,
|
||||
[SPECIES_BEEDRILL] = sBeedrillFormSpeciesIdTable,
|
||||
[SPECIES_PIDGEOT] = sPidgeotFormSpeciesIdTable,
|
||||
[SPECIES_RATTATA] = sRattataFormSpeciesIdTable,
|
||||
[SPECIES_RATICATE] = sRaticateFormSpeciesIdTable,
|
||||
[SPECIES_PIKACHU] = sPikachuFormSpeciesIdTable,
|
||||
[SPECIES_RAICHU] = sRaichuFormSpeciesIdTable,
|
||||
[SPECIES_SANDSHREW] = sSandshrewFormSpeciesIdTable,
|
||||
[SPECIES_SANDSLASH] = sSandslashFormSpeciesIdTable,
|
||||
[SPECIES_VULPIX] = sVulpixFormSpeciesIdTable,
|
||||
[SPECIES_NINETALES] = sNinetalesFormSpeciesIdTable,
|
||||
[SPECIES_DIGLETT] = sDiglettFormSpeciesIdTable,
|
||||
[SPECIES_DUGTRIO] = sDugtrioFormSpeciesIdTable,
|
||||
[SPECIES_MEOWTH] = sMeowthFormSpeciesIdTable,
|
||||
[SPECIES_PERSIAN] = sPersianFormSpeciesIdTable,
|
||||
[SPECIES_ALAKAZAM] = sAlakazamFormSpeciesIdTable,
|
||||
[SPECIES_GEODUDE] = sGeodudeFormSpeciesIdTable,
|
||||
[SPECIES_GRAVELER] = sGravelerFormSpeciesIdTable,
|
||||
[SPECIES_GOLEM] = sGolemFormSpeciesIdTable,
|
||||
[SPECIES_PONYTA] = sPonytaFormSpeciesIdTable,
|
||||
[SPECIES_RAPIDASH] = sRapidashFormSpeciesIdTable,
|
||||
[SPECIES_SLOWPOKE] = sSlowpokeFormSpeciesIdTable,
|
||||
[SPECIES_SLOWBRO] = sSlowbroFormSpeciesIdTable,
|
||||
[SPECIES_FARFETCHD] = sFarfetchdFormSpeciesIdTable,
|
||||
[SPECIES_GRIMER] = sGrimerFormSpeciesIdTable,
|
||||
[SPECIES_MUK] = sMukFormSpeciesIdTable,
|
||||
[SPECIES_GENGAR] = sGengarFormSpeciesIdTable,
|
||||
[SPECIES_EXEGGUTOR] = sExeggutorFormSpeciesIdTable,
|
||||
[SPECIES_MAROWAK] = sMarowakFormSpeciesIdTable,
|
||||
[SPECIES_WEEZING] = sWeezingFormSpeciesIdTable,
|
||||
[SPECIES_KANGASKHAN] = sKangaskhanFormSpeciesIdTable,
|
||||
[SPECIES_MR_MIME] = sMrMimeFormSpeciesIdTable,
|
||||
[SPECIES_PINSIR] = sPinsirFormSpeciesIdTable,
|
||||
[SPECIES_GYARADOS] = sGyaradosFormSpeciesIdTable,
|
||||
[SPECIES_AERODACTYL] = sAerodactylFormSpeciesIdTable,
|
||||
[SPECIES_ARTICUNO] = sArticunoFormSpeciesIdTable,
|
||||
[SPECIES_ZAPDOS] = sZapdosFormSpeciesIdTable,
|
||||
[SPECIES_MOLTRES] = sMoltresFormSpeciesIdTable,
|
||||
[SPECIES_MEWTWO] = sMewtwoFormSpeciesIdTable,
|
||||
[SPECIES_PICHU] = sPichuFormSpeciesIdTable,
|
||||
[SPECIES_AMPHAROS] = sAmpharosFormSpeciesIdTable,
|
||||
[SPECIES_SLOWKING] = sSlowkingFormSpeciesIdTable,
|
||||
[SPECIES_UNOWN] = sUnownFormSpeciesIdTable,
|
||||
[SPECIES_STEELIX] = sSteelixFormSpeciesIdTable,
|
||||
[SPECIES_SCIZOR] = sScizorFormSpeciesIdTable,
|
||||
[SPECIES_HERACROSS] = sHeracrossFormSpeciesIdTable,
|
||||
[SPECIES_CORSOLA] = sCorsolaFormSpeciesIdTable,
|
||||
[SPECIES_HOUNDOOM] = sHoundoomFormSpeciesIdTable,
|
||||
[SPECIES_TYRANITAR] = sTyranitarFormSpeciesIdTable,
|
||||
[SPECIES_SCEPTILE] = sSceptileFormSpeciesIdTable,
|
||||
[SPECIES_BLAZIKEN] = sBlazikenFormSpeciesIdTable,
|
||||
[SPECIES_SWAMPERT] = sSwampertFormSpeciesIdTable,
|
||||
[SPECIES_ZIGZAGOON] = sZigzagoonFormSpeciesIdTable,
|
||||
[SPECIES_LINOONE] = sLinooneFormSpeciesIdTable,
|
||||
[SPECIES_GARDEVOIR] = sGardevoirFormSpeciesIdTable,
|
||||
[SPECIES_SABLEYE] = sSableyeFormSpeciesIdTable,
|
||||
[SPECIES_MAWILE] = sMawileFormSpeciesIdTable,
|
||||
[SPECIES_AGGRON] = sAggronFormSpeciesIdTable,
|
||||
[SPECIES_MEDICHAM] = sMedichamFormSpeciesIdTable,
|
||||
[SPECIES_MANECTRIC] = sManectricFormSpeciesIdTable,
|
||||
[SPECIES_SHARPEDO] = sSharpedoFormSpeciesIdTable,
|
||||
[SPECIES_CAMERUPT] = sCameruptFormSpeciesIdTable,
|
||||
[SPECIES_ALTARIA] = sAltariaFormSpeciesIdTable,
|
||||
[SPECIES_CASTFORM] = sCastformFormSpeciesIdTable,
|
||||
[SPECIES_BANETTE] = sBanetteFormSpeciesIdTable,
|
||||
[SPECIES_ABSOL] = sAbsolFormSpeciesIdTable,
|
||||
[SPECIES_GLALIE] = sGlalieFormSpeciesIdTable,
|
||||
[SPECIES_SALAMENCE] = sSalamenceFormSpeciesIdTable,
|
||||
[SPECIES_METAGROSS] = sMetagrossFormSpeciesIdTable,
|
||||
[SPECIES_LATIAS] = sLatiasFormSpeciesIdTable,
|
||||
[SPECIES_LATIOS] = sLatiosFormSpeciesIdTable,
|
||||
[SPECIES_KYOGRE] = sKyogreFormSpeciesIdTable,
|
||||
[SPECIES_GROUDON] = sGroudonFormSpeciesIdTable,
|
||||
[SPECIES_RAYQUAZA] = sRayquazaFormSpeciesIdTable,
|
||||
[SPECIES_DEOXYS] = sDeoxysFormSpeciesIdTable,
|
||||
};
|
386
src/data/pokemon/form_species_tables.h
Normal file
386
src/data/pokemon/form_species_tables.h
Normal file
@ -0,0 +1,386 @@
|
||||
#define FORM_SPECIES_END (0xffff)
|
||||
|
||||
static const u16 sVenusaurFormSpeciesIdTable[] = {
|
||||
SPECIES_VENUSAUR,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sCharizardFormSpeciesIdTable[] = {
|
||||
SPECIES_CHARIZARD,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sBlastoiseFormSpeciesIdTable[] = {
|
||||
SPECIES_BLASTOISE,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sBeedrillFormSpeciesIdTable[] = {
|
||||
SPECIES_BEEDRILL,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sPidgeotFormSpeciesIdTable[] = {
|
||||
SPECIES_PIDGEOT,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sRattataFormSpeciesIdTable[] = {
|
||||
SPECIES_RATTATA,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sRaticateFormSpeciesIdTable[] = {
|
||||
SPECIES_RATICATE,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sPikachuFormSpeciesIdTable[] = {
|
||||
SPECIES_PIKACHU,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sRaichuFormSpeciesIdTable[] = {
|
||||
SPECIES_RAICHU,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sSandshrewFormSpeciesIdTable[] = {
|
||||
SPECIES_SANDSHREW,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sSandslashFormSpeciesIdTable[] = {
|
||||
SPECIES_SANDSLASH,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sVulpixFormSpeciesIdTable[] = {
|
||||
SPECIES_VULPIX,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sNinetalesFormSpeciesIdTable[] = {
|
||||
SPECIES_NINETALES,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sDiglettFormSpeciesIdTable[] = {
|
||||
SPECIES_DIGLETT,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sDugtrioFormSpeciesIdTable[] = {
|
||||
SPECIES_DUGTRIO,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sMeowthFormSpeciesIdTable[] = {
|
||||
SPECIES_MEOWTH,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sPersianFormSpeciesIdTable[] = {
|
||||
SPECIES_PERSIAN,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sAlakazamFormSpeciesIdTable[] = {
|
||||
SPECIES_ALAKAZAM,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sGeodudeFormSpeciesIdTable[] = {
|
||||
SPECIES_GEODUDE,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sGravelerFormSpeciesIdTable[] = {
|
||||
SPECIES_GRAVELER,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sGolemFormSpeciesIdTable[] = {
|
||||
SPECIES_GOLEM,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sPonytaFormSpeciesIdTable[] = {
|
||||
SPECIES_PONYTA,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sRapidashFormSpeciesIdTable[] = {
|
||||
SPECIES_RAPIDASH,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sSlowpokeFormSpeciesIdTable[] = {
|
||||
SPECIES_SLOWPOKE,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sSlowbroFormSpeciesIdTable[] = {
|
||||
SPECIES_SLOWBRO,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sFarfetchdFormSpeciesIdTable[] = {
|
||||
SPECIES_FARFETCHD,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sGrimerFormSpeciesIdTable[] = {
|
||||
SPECIES_GRIMER,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sMukFormSpeciesIdTable[] = {
|
||||
SPECIES_MUK,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sGengarFormSpeciesIdTable[] = {
|
||||
SPECIES_GENGAR,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sExeggutorFormSpeciesIdTable[] = {
|
||||
SPECIES_EXEGGUTOR,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sMarowakFormSpeciesIdTable[] = {
|
||||
SPECIES_MAROWAK,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sWeezingFormSpeciesIdTable[] = {
|
||||
SPECIES_WEEZING,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sKangaskhanFormSpeciesIdTable[] = {
|
||||
SPECIES_KANGASKHAN,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sMrMimeFormSpeciesIdTable[] = {
|
||||
SPECIES_MR_MIME,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sPinsirFormSpeciesIdTable[] = {
|
||||
SPECIES_PINSIR,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sGyaradosFormSpeciesIdTable[] = {
|
||||
SPECIES_GYARADOS,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sAerodactylFormSpeciesIdTable[] = {
|
||||
SPECIES_AERODACTYL,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sArticunoFormSpeciesIdTable[] = {
|
||||
SPECIES_ARTICUNO,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sZapdosFormSpeciesIdTable[] = {
|
||||
SPECIES_ZAPDOS,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sMoltresFormSpeciesIdTable[] = {
|
||||
SPECIES_MOLTRES,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sMewtwoFormSpeciesIdTable[] = {
|
||||
SPECIES_MEWTWO,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sPichuFormSpeciesIdTable[] = {
|
||||
SPECIES_PICHU,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sAmpharosFormSpeciesIdTable[] = {
|
||||
SPECIES_AMPHAROS,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sSlowkingFormSpeciesIdTable[] = {
|
||||
SPECIES_SLOWKING,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sUnownFormSpeciesIdTable[] = {
|
||||
SPECIES_UNOWN,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sSteelixFormSpeciesIdTable[] = {
|
||||
SPECIES_STEELIX,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sScizorFormSpeciesIdTable[] = {
|
||||
SPECIES_SCIZOR,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sHeracrossFormSpeciesIdTable[] = {
|
||||
SPECIES_HERACROSS,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sCorsolaFormSpeciesIdTable[] = {
|
||||
SPECIES_CORSOLA,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sHoundoomFormSpeciesIdTable[] = {
|
||||
SPECIES_HOUNDOOM,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sTyranitarFormSpeciesIdTable[] = {
|
||||
SPECIES_TYRANITAR,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sSceptileFormSpeciesIdTable[] = {
|
||||
SPECIES_SCEPTILE,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sBlazikenFormSpeciesIdTable[] = {
|
||||
SPECIES_BLAZIKEN,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sSwampertFormSpeciesIdTable[] = {
|
||||
SPECIES_SWAMPERT,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sZigzagoonFormSpeciesIdTable[] = {
|
||||
SPECIES_ZIGZAGOON,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sLinooneFormSpeciesIdTable[] = {
|
||||
SPECIES_LINOONE,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sGardevoirFormSpeciesIdTable[] = {
|
||||
SPECIES_GARDEVOIR,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sSableyeFormSpeciesIdTable[] = {
|
||||
SPECIES_SABLEYE,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sMawileFormSpeciesIdTable[] = {
|
||||
SPECIES_MAWILE,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sAggronFormSpeciesIdTable[] = {
|
||||
SPECIES_AGGRON,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sMedichamFormSpeciesIdTable[] = {
|
||||
SPECIES_MEDICHAM,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sManectricFormSpeciesIdTable[] = {
|
||||
SPECIES_MANECTRIC,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sSharpedoFormSpeciesIdTable[] = {
|
||||
SPECIES_SHARPEDO,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sCameruptFormSpeciesIdTable[] = {
|
||||
SPECIES_CAMERUPT,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sAltariaFormSpeciesIdTable[] = {
|
||||
SPECIES_ALTARIA,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sCastformFormSpeciesIdTable[] = {
|
||||
SPECIES_CASTFORM,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sBanetteFormSpeciesIdTable[] = {
|
||||
SPECIES_BANETTE,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sAbsolFormSpeciesIdTable[] = {
|
||||
SPECIES_ABSOL,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sGlalieFormSpeciesIdTable[] = {
|
||||
SPECIES_GLALIE,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sSalamenceFormSpeciesIdTable[] = {
|
||||
SPECIES_SALAMENCE,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sMetagrossFormSpeciesIdTable[] = {
|
||||
SPECIES_METAGROSS,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sLatiasFormSpeciesIdTable[] = {
|
||||
SPECIES_LATIAS,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sLatiosFormSpeciesIdTable[] = {
|
||||
SPECIES_LATIOS,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sKyogreFormSpeciesIdTable[] = {
|
||||
SPECIES_KYOGRE,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sGroudonFormSpeciesIdTable[] = {
|
||||
SPECIES_GROUDON,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sRayquazaFormSpeciesIdTable[] = {
|
||||
SPECIES_RAYQUAZA,
|
||||
FORM_SPECIES_END,
|
||||
};
|
||||
|
||||
static const u16 sDeoxysFormSpeciesIdTable[] = {
|
||||
SPECIES_DEOXYS,
|
||||
FORM_SPECIES_END,
|
||||
};
|
@ -651,7 +651,7 @@ static const struct LevelUpMove sVulpixLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE(15, MOVE_FIRE_SPIN),
|
||||
LEVEL_UP_MOVE(18, MOVE_PAYBACK),
|
||||
LEVEL_UP_MOVE(20, MOVE_WILL_O_WISP),
|
||||
LEVEL_UP_MOVE(23, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(23, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(26, MOVE_HEX),
|
||||
LEVEL_UP_MOVE(28, MOVE_FLAME_BURST),
|
||||
LEVEL_UP_MOVE(31, MOVE_EXTRASENSORY),
|
||||
@ -932,7 +932,7 @@ static const struct LevelUpMove sMeowthLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 9, MOVE_FAKE_OUT),
|
||||
LEVEL_UP_MOVE(14, MOVE_FURY_SWIPES),
|
||||
LEVEL_UP_MOVE(17, MOVE_SCREECH),
|
||||
LEVEL_UP_MOVE(22, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(22, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(25, MOVE_TAUNT),
|
||||
LEVEL_UP_MOVE(30, MOVE_PAY_DAY),
|
||||
LEVEL_UP_MOVE(33, MOVE_SLASH),
|
||||
@ -957,7 +957,7 @@ static const struct LevelUpMove sPersianLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 9, MOVE_FAKE_OUT),
|
||||
LEVEL_UP_MOVE(14, MOVE_FURY_SWIPES),
|
||||
LEVEL_UP_MOVE(17, MOVE_SCREECH),
|
||||
LEVEL_UP_MOVE(22, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(22, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(25, MOVE_TAUNT),
|
||||
LEVEL_UP_MOVE(32, MOVE_POWER_GEM),
|
||||
LEVEL_UP_MOVE(37, MOVE_SLASH),
|
||||
@ -1895,7 +1895,7 @@ static const struct LevelUpMove sHypnoLevelUpLearnset[] = {
|
||||
static const struct LevelUpMove sKrabbyLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT),
|
||||
LEVEL_UP_MOVE( 1, MOVE_BUBBLE),
|
||||
LEVEL_UP_MOVE( 5, MOVE_VICE_GRIP),
|
||||
LEVEL_UP_MOVE( 5, MOVE_VISE_GRIP),
|
||||
LEVEL_UP_MOVE( 9, MOVE_LEER),
|
||||
LEVEL_UP_MOVE(11, MOVE_HARDEN),
|
||||
LEVEL_UP_MOVE(15, MOVE_BUBBLE_BEAM),
|
||||
@ -1915,9 +1915,9 @@ static const struct LevelUpMove sKinglerLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD),
|
||||
LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT),
|
||||
LEVEL_UP_MOVE( 1, MOVE_BUBBLE),
|
||||
LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP),
|
||||
LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP),
|
||||
LEVEL_UP_MOVE( 1, MOVE_LEER),
|
||||
LEVEL_UP_MOVE( 5, MOVE_VICE_GRIP),
|
||||
LEVEL_UP_MOVE( 5, MOVE_VISE_GRIP),
|
||||
LEVEL_UP_MOVE( 9, MOVE_LEER),
|
||||
LEVEL_UP_MOVE(11, MOVE_HARDEN),
|
||||
LEVEL_UP_MOVE(15, MOVE_BUBBLE_BEAM),
|
||||
@ -2070,7 +2070,7 @@ static const struct LevelUpMove sHitmonleeLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE(17, MOVE_BRICK_BREAK),
|
||||
LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY),
|
||||
LEVEL_UP_MOVE(25, MOVE_FEINT),
|
||||
LEVEL_UP_MOVE(29, MOVE_HI_JUMP_KICK),
|
||||
LEVEL_UP_MOVE(29, MOVE_HIGH_JUMP_KICK),
|
||||
LEVEL_UP_MOVE(33, MOVE_MIND_READER),
|
||||
LEVEL_UP_MOVE(37, MOVE_FORESIGHT),
|
||||
LEVEL_UP_MOVE(41, MOVE_WIDE_GUARD),
|
||||
@ -2488,7 +2488,7 @@ static const struct LevelUpMove sMagmarLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_EMBER),
|
||||
LEVEL_UP_MOVE( 5, MOVE_EMBER),
|
||||
LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN),
|
||||
LEVEL_UP_MOVE(12, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(12, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(15, MOVE_FIRE_SPIN),
|
||||
LEVEL_UP_MOVE(19, MOVE_CLEAR_SMOG),
|
||||
LEVEL_UP_MOVE(22, MOVE_FLAME_BURST),
|
||||
@ -2502,7 +2502,7 @@ static const struct LevelUpMove sMagmarLevelUpLearnset[] = {
|
||||
};
|
||||
|
||||
static const struct LevelUpMove sPinsirLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP),
|
||||
LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP),
|
||||
LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY),
|
||||
LEVEL_UP_MOVE( 4, MOVE_BIND),
|
||||
LEVEL_UP_MOVE( 8, MOVE_SEISMIC_TOSS),
|
||||
@ -3677,7 +3677,7 @@ static const struct LevelUpMove sSudowoodoLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 8, MOVE_LOW_KICK),
|
||||
LEVEL_UP_MOVE(12, MOVE_ROCK_THROW),
|
||||
LEVEL_UP_MOVE(15, MOVE_MIMIC),
|
||||
LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(19, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(22, MOVE_TEARFUL_LOOK),
|
||||
LEVEL_UP_MOVE(26, MOVE_ROCK_TOMB),
|
||||
LEVEL_UP_MOVE(29, MOVE_BLOCK),
|
||||
@ -3924,7 +3924,7 @@ static const struct LevelUpMove sUmbreonLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 9, MOVE_BABY_DOLL_EYES),
|
||||
LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK),
|
||||
LEVEL_UP_MOVE(17, MOVE_CONFUSE_RAY),
|
||||
LEVEL_UP_MOVE(20, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(20, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(25, MOVE_ASSURANCE),
|
||||
LEVEL_UP_MOVE(29, MOVE_SCREECH),
|
||||
LEVEL_UP_MOVE(33, MOVE_MOONLIGHT),
|
||||
@ -3943,7 +3943,7 @@ static const struct LevelUpMove sMurkrowLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE(21, MOVE_NIGHT_SHADE),
|
||||
LEVEL_UP_MOVE(25, MOVE_ASSURANCE),
|
||||
LEVEL_UP_MOVE(31, MOVE_TAUNT),
|
||||
LEVEL_UP_MOVE(35, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(35, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(41, MOVE_MEAN_LOOK),
|
||||
LEVEL_UP_MOVE(45, MOVE_FOUL_PLAY),
|
||||
LEVEL_UP_MOVE(50, MOVE_TAILWIND),
|
||||
@ -4110,7 +4110,7 @@ static const struct LevelUpMove sGligarLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE(10, MOVE_KNOCK_OFF),
|
||||
LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK),
|
||||
LEVEL_UP_MOVE(16, MOVE_FURY_CUTTER),
|
||||
LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(19, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(22, MOVE_ACROBATICS),
|
||||
LEVEL_UP_MOVE(27, MOVE_SLASH),
|
||||
LEVEL_UP_MOVE(30, MOVE_U_TURN),
|
||||
@ -4292,7 +4292,7 @@ static const struct LevelUpMove sSneaselLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_LEER),
|
||||
LEVEL_UP_MOVE( 1, MOVE_TAUNT),
|
||||
LEVEL_UP_MOVE( 8, MOVE_QUICK_ATTACK),
|
||||
LEVEL_UP_MOVE(10, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(10, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(14, MOVE_ICY_WIND),
|
||||
LEVEL_UP_MOVE(16, MOVE_FURY_SWIPES),
|
||||
LEVEL_UP_MOVE(20, MOVE_AGILITY),
|
||||
@ -4315,7 +4315,7 @@ static const struct LevelUpMove sTeddiursaLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_LICK),
|
||||
LEVEL_UP_MOVE( 1, MOVE_FAKE_TEARS),
|
||||
LEVEL_UP_MOVE( 8, MOVE_FURY_SWIPES),
|
||||
LEVEL_UP_MOVE(15, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(15, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(22, MOVE_SWEET_SCENT),
|
||||
LEVEL_UP_MOVE(25, MOVE_PLAY_NICE),
|
||||
LEVEL_UP_MOVE(29, MOVE_SLASH),
|
||||
@ -4335,7 +4335,7 @@ static const struct LevelUpMove sUrsaringLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_LICK),
|
||||
LEVEL_UP_MOVE( 1, MOVE_FAKE_TEARS),
|
||||
LEVEL_UP_MOVE( 8, MOVE_FURY_SWIPES),
|
||||
LEVEL_UP_MOVE(15, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(15, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(22, MOVE_SWEET_SCENT),
|
||||
LEVEL_UP_MOVE(25, MOVE_PLAY_NICE),
|
||||
LEVEL_UP_MOVE(29, MOVE_SLASH),
|
||||
@ -4559,7 +4559,7 @@ static const struct LevelUpMove sHoundourLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE(20, MOVE_ODOR_SLEUTH),
|
||||
LEVEL_UP_MOVE(25, MOVE_BEAT_UP),
|
||||
LEVEL_UP_MOVE(28, MOVE_FIRE_FANG),
|
||||
LEVEL_UP_MOVE(32, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(32, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(37, MOVE_EMBARGO),
|
||||
LEVEL_UP_MOVE(40, MOVE_FOUL_PLAY),
|
||||
LEVEL_UP_MOVE(44, MOVE_FLAMETHROWER),
|
||||
@ -4584,7 +4584,7 @@ static const struct LevelUpMove sHoundoomLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE(20, MOVE_ODOR_SLEUTH),
|
||||
LEVEL_UP_MOVE(26, MOVE_BEAT_UP),
|
||||
LEVEL_UP_MOVE(30, MOVE_FIRE_FANG),
|
||||
LEVEL_UP_MOVE(35, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(35, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(41, MOVE_EMBARGO),
|
||||
LEVEL_UP_MOVE(45, MOVE_FOUL_PLAY),
|
||||
LEVEL_UP_MOVE(50, MOVE_FLAMETHROWER),
|
||||
@ -4786,7 +4786,7 @@ static const struct LevelUpMove sMagbyLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_LEER),
|
||||
LEVEL_UP_MOVE( 5, MOVE_EMBER),
|
||||
LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN),
|
||||
LEVEL_UP_MOVE(12, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(12, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(15, MOVE_FIRE_SPIN),
|
||||
LEVEL_UP_MOVE(19, MOVE_CLEAR_SMOG),
|
||||
LEVEL_UP_MOVE(22, MOVE_FLAME_BURST),
|
||||
@ -5256,7 +5256,7 @@ static const struct LevelUpMove sBlazikenLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK),
|
||||
LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ),
|
||||
LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH),
|
||||
LEVEL_UP_MOVE( 1, MOVE_HI_JUMP_KICK),
|
||||
LEVEL_UP_MOVE( 1, MOVE_HIGH_JUMP_KICK),
|
||||
LEVEL_UP_MOVE( 1, MOVE_SCRATCH),
|
||||
LEVEL_UP_MOVE( 1, MOVE_GROWL),
|
||||
LEVEL_UP_MOVE( 1, MOVE_EMBER),
|
||||
@ -5548,7 +5548,7 @@ static const struct LevelUpMove sNuzleafLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE(12, MOVE_FAKE_OUT),
|
||||
LEVEL_UP_MOVE(16, MOVE_NATURE_POWER),
|
||||
LEVEL_UP_MOVE(20, MOVE_RAZOR_WIND),
|
||||
LEVEL_UP_MOVE(24, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(24, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(28, MOVE_LEAF_BLADE),
|
||||
LEVEL_UP_MOVE(32, MOVE_SWAGGER),
|
||||
LEVEL_UP_MOVE(36, MOVE_EXTRASENSORY),
|
||||
@ -5557,7 +5557,7 @@ static const struct LevelUpMove sNuzleafLevelUpLearnset[] = {
|
||||
|
||||
static const struct LevelUpMove sShiftryLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF),
|
||||
LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE( 1, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND),
|
||||
LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT),
|
||||
LEVEL_UP_MOVE(20, MOVE_LEAF_TORNADO),
|
||||
@ -5704,7 +5704,7 @@ static const struct LevelUpMove sBreloomLevelUpLearnset[] = {
|
||||
static const struct LevelUpMove sSpindaLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_TACKLE),
|
||||
LEVEL_UP_MOVE( 5, MOVE_COPYCAT),
|
||||
LEVEL_UP_MOVE(10, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(10, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(14, MOVE_PSYBEAM),
|
||||
LEVEL_UP_MOVE(19, MOVE_HYPNOSIS),
|
||||
LEVEL_UP_MOVE(23, MOVE_DIZZY_PUNCH),
|
||||
@ -5860,7 +5860,7 @@ static const struct LevelUpMove sSkittyLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE(13, MOVE_DISARMING_VOICE),
|
||||
LEVEL_UP_MOVE(16, MOVE_DOUBLE_SLAP),
|
||||
LEVEL_UP_MOVE(19, MOVE_COPYCAT),
|
||||
LEVEL_UP_MOVE(22, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(22, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(25, MOVE_CHARM),
|
||||
LEVEL_UP_MOVE(28, MOVE_WAKE_UP_SLAP),
|
||||
LEVEL_UP_MOVE(31, MOVE_ASSIST),
|
||||
@ -5890,7 +5890,7 @@ static const struct LevelUpMove sKecleonLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 7, MOVE_SHADOW_SNEAK),
|
||||
LEVEL_UP_MOVE(10, MOVE_FEINT),
|
||||
LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES),
|
||||
LEVEL_UP_MOVE(16, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(16, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(18, MOVE_PSYBEAM),
|
||||
LEVEL_UP_MOVE(21, MOVE_ANCIENT_POWER),
|
||||
LEVEL_UP_MOVE(25, MOVE_SLASH),
|
||||
@ -6002,7 +6002,7 @@ static const struct LevelUpMove sSableyeLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE(11, MOVE_FURY_SWIPES),
|
||||
LEVEL_UP_MOVE(14, MOVE_DETECT),
|
||||
LEVEL_UP_MOVE(16, MOVE_SHADOW_SNEAK),
|
||||
LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(19, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(21, MOVE_FAKE_OUT),
|
||||
LEVEL_UP_MOVE(24, MOVE_PUNISHMENT),
|
||||
LEVEL_UP_MOVE(26, MOVE_KNOCK_OFF),
|
||||
@ -6087,7 +6087,7 @@ static const struct LevelUpMove sLuvdiscLevelUpLearnset[] = {
|
||||
static const struct LevelUpMove sCorphishLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_BUBBLE),
|
||||
LEVEL_UP_MOVE( 5, MOVE_HARDEN),
|
||||
LEVEL_UP_MOVE( 7, MOVE_VICE_GRIP),
|
||||
LEVEL_UP_MOVE( 7, MOVE_VISE_GRIP),
|
||||
LEVEL_UP_MOVE(10, MOVE_LEER),
|
||||
LEVEL_UP_MOVE(14, MOVE_BUBBLE_BEAM),
|
||||
LEVEL_UP_MOVE(17, MOVE_PROTECT),
|
||||
@ -6108,10 +6108,10 @@ static const struct LevelUpMove sCrawdauntLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_SWIFT),
|
||||
LEVEL_UP_MOVE( 1, MOVE_BUBBLE),
|
||||
LEVEL_UP_MOVE( 1, MOVE_HARDEN),
|
||||
LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP),
|
||||
LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP),
|
||||
LEVEL_UP_MOVE( 1, MOVE_LEER),
|
||||
LEVEL_UP_MOVE( 5, MOVE_HARDEN),
|
||||
LEVEL_UP_MOVE( 7, MOVE_VICE_GRIP),
|
||||
LEVEL_UP_MOVE( 7, MOVE_VISE_GRIP),
|
||||
LEVEL_UP_MOVE(10, MOVE_LEER),
|
||||
LEVEL_UP_MOVE(14, MOVE_BUBBLE_BEAM),
|
||||
LEVEL_UP_MOVE(17, MOVE_PROTECT),
|
||||
@ -6205,7 +6205,7 @@ static const struct LevelUpMove sSharpedoLevelUpLearnset[] = {
|
||||
static const struct LevelUpMove sTrapinchLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK),
|
||||
LEVEL_UP_MOVE( 1, MOVE_BITE),
|
||||
LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE( 1, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE( 1, MOVE_BIDE),
|
||||
LEVEL_UP_MOVE( 5, MOVE_MUD_SLAP),
|
||||
LEVEL_UP_MOVE( 8, MOVE_BULLDOZE),
|
||||
@ -6228,7 +6228,7 @@ static const struct LevelUpMove sVibravaLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH),
|
||||
LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK),
|
||||
LEVEL_UP_MOVE( 1, MOVE_SONIC_BOOM),
|
||||
LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE( 1, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE( 1, MOVE_BIDE),
|
||||
LEVEL_UP_MOVE( 5, MOVE_MUD_SLAP),
|
||||
LEVEL_UP_MOVE( 8, MOVE_BULLDOZE),
|
||||
@ -6253,7 +6253,7 @@ static const struct LevelUpMove sFlygonLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_DRAGON_DANCE),
|
||||
LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK),
|
||||
LEVEL_UP_MOVE( 1, MOVE_SONIC_BOOM),
|
||||
LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE( 1, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE( 1, MOVE_BIDE),
|
||||
LEVEL_UP_MOVE( 5, MOVE_MUD_SLAP),
|
||||
LEVEL_UP_MOVE( 8, MOVE_BULLDOZE),
|
||||
@ -6282,7 +6282,7 @@ static const struct LevelUpMove sMakuhitaLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF),
|
||||
LEVEL_UP_MOVE(22, MOVE_VITAL_THROW),
|
||||
LEVEL_UP_MOVE(25, MOVE_BELLY_DRUM),
|
||||
LEVEL_UP_MOVE(28, MOVE_SMELLING_SALT),
|
||||
LEVEL_UP_MOVE(28, MOVE_SMELLING_SALTS),
|
||||
LEVEL_UP_MOVE(31, MOVE_SEISMIC_TOSS),
|
||||
LEVEL_UP_MOVE(34, MOVE_WAKE_UP_SLAP),
|
||||
LEVEL_UP_MOVE(37, MOVE_ENDURE),
|
||||
@ -6306,7 +6306,7 @@ static const struct LevelUpMove sHariyamaLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF),
|
||||
LEVEL_UP_MOVE(22, MOVE_VITAL_THROW),
|
||||
LEVEL_UP_MOVE(26, MOVE_BELLY_DRUM),
|
||||
LEVEL_UP_MOVE(30, MOVE_SMELLING_SALT),
|
||||
LEVEL_UP_MOVE(30, MOVE_SMELLING_SALTS),
|
||||
LEVEL_UP_MOVE(34, MOVE_SEISMIC_TOSS),
|
||||
LEVEL_UP_MOVE(38, MOVE_WAKE_UP_SLAP),
|
||||
LEVEL_UP_MOVE(42, MOVE_ENDURE),
|
||||
@ -6472,7 +6472,7 @@ static const struct LevelUpMove sCacneaLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE(10, MOVE_LEECH_SEED),
|
||||
LEVEL_UP_MOVE(13, MOVE_SAND_ATTACK),
|
||||
LEVEL_UP_MOVE(16, MOVE_NEEDLE_ARM),
|
||||
LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(19, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(22, MOVE_INGRAIN),
|
||||
LEVEL_UP_MOVE(26, MOVE_PAYBACK),
|
||||
LEVEL_UP_MOVE(30, MOVE_SPIKES),
|
||||
@ -6499,7 +6499,7 @@ static const struct LevelUpMove sCacturneLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE(10, MOVE_LEECH_SEED),
|
||||
LEVEL_UP_MOVE(13, MOVE_SAND_ATTACK),
|
||||
LEVEL_UP_MOVE(16, MOVE_NEEDLE_ARM),
|
||||
LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(19, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(22, MOVE_INGRAIN),
|
||||
LEVEL_UP_MOVE(26, MOVE_PAYBACK),
|
||||
LEVEL_UP_MOVE(30, MOVE_SPIKES),
|
||||
@ -6714,8 +6714,8 @@ static const struct LevelUpMove sMawileLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 5, MOVE_FAKE_TEARS),
|
||||
LEVEL_UP_MOVE( 9, MOVE_BITE),
|
||||
LEVEL_UP_MOVE(13, MOVE_SWEET_SCENT),
|
||||
LEVEL_UP_MOVE(17, MOVE_VICE_GRIP),
|
||||
LEVEL_UP_MOVE(21, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(17, MOVE_VISE_GRIP),
|
||||
LEVEL_UP_MOVE(21, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(25, MOVE_BATON_PASS),
|
||||
LEVEL_UP_MOVE(29, MOVE_CRUNCH),
|
||||
LEVEL_UP_MOVE(33, MOVE_IRON_DEFENSE),
|
||||
@ -6739,7 +6739,7 @@ static const struct LevelUpMove sMedititeLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE(20, MOVE_HIDDEN_POWER),
|
||||
LEVEL_UP_MOVE(23, MOVE_CALM_MIND),
|
||||
LEVEL_UP_MOVE(25, MOVE_MIND_READER),
|
||||
LEVEL_UP_MOVE(28, MOVE_HI_JUMP_KICK),
|
||||
LEVEL_UP_MOVE(28, MOVE_HIGH_JUMP_KICK),
|
||||
LEVEL_UP_MOVE(31, MOVE_PSYCH_UP),
|
||||
LEVEL_UP_MOVE(33, MOVE_ACUPRESSURE),
|
||||
LEVEL_UP_MOVE(36, MOVE_POWER_TRICK),
|
||||
@ -6767,7 +6767,7 @@ static const struct LevelUpMove sMedichamLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE(20, MOVE_HIDDEN_POWER),
|
||||
LEVEL_UP_MOVE(23, MOVE_CALM_MIND),
|
||||
LEVEL_UP_MOVE(25, MOVE_MIND_READER),
|
||||
LEVEL_UP_MOVE(28, MOVE_HI_JUMP_KICK),
|
||||
LEVEL_UP_MOVE(28, MOVE_HIGH_JUMP_KICK),
|
||||
LEVEL_UP_MOVE(31, MOVE_PSYCH_UP),
|
||||
LEVEL_UP_MOVE(33, MOVE_ACUPRESSURE),
|
||||
LEVEL_UP_MOVE(36, MOVE_POWER_TRICK),
|
||||
@ -6911,7 +6911,7 @@ static const struct LevelUpMove sSlakothLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_YAWN),
|
||||
LEVEL_UP_MOVE( 6, MOVE_ENCORE),
|
||||
LEVEL_UP_MOVE( 9, MOVE_SLACK_OFF),
|
||||
LEVEL_UP_MOVE(14, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(14, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(17, MOVE_AMNESIA),
|
||||
LEVEL_UP_MOVE(22, MOVE_COVET),
|
||||
LEVEL_UP_MOVE(25, MOVE_CHIP_AWAY),
|
||||
@ -6951,7 +6951,7 @@ static const struct LevelUpMove sSlakingLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_SLACK_OFF),
|
||||
LEVEL_UP_MOVE( 6, MOVE_ENCORE),
|
||||
LEVEL_UP_MOVE( 9, MOVE_SLACK_OFF),
|
||||
LEVEL_UP_MOVE(14, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(14, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(17, MOVE_AMNESIA),
|
||||
LEVEL_UP_MOVE(23, MOVE_COVET),
|
||||
LEVEL_UP_MOVE(27, MOVE_CHIP_AWAY),
|
||||
@ -7114,7 +7114,7 @@ static const struct LevelUpMove sHuntailLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE( 1, MOVE_BITE),
|
||||
LEVEL_UP_MOVE( 5, MOVE_SCREECH),
|
||||
LEVEL_UP_MOVE( 9, MOVE_SCARY_FACE),
|
||||
LEVEL_UP_MOVE(11, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(11, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(14, MOVE_WATER_PULSE),
|
||||
LEVEL_UP_MOVE(16, MOVE_ICE_FANG),
|
||||
LEVEL_UP_MOVE(19, MOVE_BRINE),
|
||||
@ -7180,7 +7180,7 @@ static const struct LevelUpMove sShuppetLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE(10, MOVE_SPITE),
|
||||
LEVEL_UP_MOVE(13, MOVE_SHADOW_SNEAK),
|
||||
LEVEL_UP_MOVE(16, MOVE_WILL_O_WISP),
|
||||
LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(19, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(22, MOVE_HEX),
|
||||
LEVEL_UP_MOVE(26, MOVE_CURSE),
|
||||
LEVEL_UP_MOVE(30, MOVE_SHADOW_BALL),
|
||||
@ -7204,7 +7204,7 @@ static const struct LevelUpMove sBanetteLevelUpLearnset[] = {
|
||||
LEVEL_UP_MOVE(10, MOVE_SPITE),
|
||||
LEVEL_UP_MOVE(13, MOVE_SHADOW_SNEAK),
|
||||
LEVEL_UP_MOVE(16, MOVE_WILL_O_WISP),
|
||||
LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK),
|
||||
LEVEL_UP_MOVE(19, MOVE_FEINT_ATTACK),
|
||||
LEVEL_UP_MOVE(22, MOVE_HEX),
|
||||
LEVEL_UP_MOVE(26, MOVE_CURSE),
|
||||
LEVEL_UP_MOVE(30, MOVE_SHADOW_BALL),
|
||||
|
@ -288,7 +288,7 @@ const u8 gAbilityNames[ABILITIES_COUNT_GEN8][ABILITY_NAME_LENGTH + 1] =
|
||||
[ABILITY_SYNCHRONIZE] = _("Synchronize"),
|
||||
[ABILITY_CLEAR_BODY] = _("Clear Body"),
|
||||
[ABILITY_NATURAL_CURE] = _("Natural Cure"),
|
||||
[ABILITY_LIGHTNING_ROD] = _("Lightningrod"),
|
||||
[ABILITY_LIGHTNING_ROD] = _("LightningRod"),
|
||||
[ABILITY_SERENE_GRACE] = _("Serene Grace"),
|
||||
[ABILITY_SWIFT_SWIM] = _("Swift Swim"),
|
||||
[ABILITY_CHLOROPHYLL] = _("Chlorophyll"),
|
||||
@ -303,7 +303,7 @@ const u8 gAbilityNames[ABILITIES_COUNT_GEN8][ABILITY_NAME_LENGTH + 1] =
|
||||
[ABILITY_SOUNDPROOF] = _("Soundproof"),
|
||||
[ABILITY_RAIN_DISH] = _("Rain Dish"),
|
||||
[ABILITY_SAND_STREAM] = _("Sand Stream"),
|
||||
[ABILITY_PRESSURE] = _("PRESSURE"),
|
||||
[ABILITY_PRESSURE] = _("Pressure"),
|
||||
[ABILITY_THICK_FAT] = _("Thick Fat"),
|
||||
[ABILITY_EARLY_BIRD] = _("Early Bird"),
|
||||
[ABILITY_FLAME_BODY] = _("Flame Body"),
|
||||
@ -446,13 +446,13 @@ const u8 gAbilityNames[ABILITIES_COUNT_GEN8][ABILITY_NAME_LENGTH + 1] =
|
||||
[ABILITY_DARK_AURA] = _("Dark Aura"),
|
||||
[ABILITY_FAIRY_AURA] = _("Fairy Aura"),
|
||||
[ABILITY_AURA_BREAK] = _("Aura Break"),
|
||||
[ABILITY_PRIMORDIAL_SEA] = _("Primordial S"),
|
||||
[ABILITY_PRIMORDIAL_SEA] = _("PrimrdialSea"),
|
||||
[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_EMERGENCY_EXIT] = _("EmergncyExit"),
|
||||
[ABILITY_WATER_COMPACTION] = _("WtrCmpaction"),
|
||||
[ABILITY_MERCILESS] = _("Merciless"),
|
||||
[ABILITY_SHIELDS_DOWN] = _("Shields Down"),
|
||||
[ABILITY_STAKEOUT] = _("Stakeout"),
|
||||
@ -468,10 +468,10 @@ const u8 gAbilityNames[ABILITIES_COUNT_GEN8][ABILITY_NAME_LENGTH + 1] =
|
||||
[ABILITY_SCHOOLING] = _("Schooling"),
|
||||
[ABILITY_DISGUISE] = _("Disguise"),
|
||||
[ABILITY_BATTLE_BOND] = _("Battle Bond"),
|
||||
[ABILITY_POWER_CONSTRUCT] = _("Power Constr"),
|
||||
[ABILITY_POWER_CONSTRUCT] = _("PwrConstruct"),
|
||||
[ABILITY_CORROSION] = _("Corrosion"),
|
||||
[ABILITY_COMATOSE] = _("Comatose"),
|
||||
[ABILITY_QUEENLY_MAJESTY] = _("QueenMajesty"),
|
||||
[ABILITY_QUEENLY_MAJESTY] = _("QueenlyMjsty"),
|
||||
[ABILITY_INNARDS_OUT] = _("Innards Out"),
|
||||
[ABILITY_DANCER] = _("Dancer"),
|
||||
[ABILITY_BATTERY] = _("Battery"),
|
||||
@ -480,23 +480,23 @@ const u8 gAbilityNames[ABILITIES_COUNT_GEN8][ABILITY_NAME_LENGTH + 1] =
|
||||
[ABILITY_SOUL_HEART] = _("Soul-Heart"),
|
||||
[ABILITY_TANGLING_HAIR] = _("TanglingHair"),
|
||||
[ABILITY_RECEIVER] = _("Receiver"),
|
||||
[ABILITY_POWER_OF_ALCHEMY] = _("Power Of Alc"),
|
||||
[ABILITY_POWER_OF_ALCHEMY] = _("PwrOfAlchemy"),
|
||||
[ABILITY_BEAST_BOOST] = _("Beast Boost"),
|
||||
[ABILITY_RKS_SYSTEM] = _("RKS System"),
|
||||
[ABILITY_ELECTRIC_SURGE] = _("Elec Surge"),
|
||||
[ABILITY_PSYCHIC_SURGE] = _("Psy Surge"),
|
||||
[ABILITY_ELECTRIC_SURGE] = _("ElectrcSurge"),
|
||||
[ABILITY_PSYCHIC_SURGE] = _("PsychicSurge"),
|
||||
[ABILITY_MISTY_SURGE] = _("Misty Surge"),
|
||||
[ABILITY_GRASSY_SURGE] = _("Grassy Surge"),
|
||||
[ABILITY_FULL_METAL_BODY] = _("FullMetalBod"),
|
||||
[ABILITY_FULL_METAL_BODY] = _("FullMetalBdy"),
|
||||
[ABILITY_SHADOW_SHIELD] = _("ShadowShield"),
|
||||
[ABILITY_PRISM_ARMOR] = _("Prism Armor"),
|
||||
[ABILITY_NEUROFORCE] = _("Neuroforce"),
|
||||
[ABILITY_INTREPID_SWORD] = _("IntrepidSwor"),
|
||||
[ABILITY_DAUNTLESS_SHIELD] = _("DauntlessShi"),
|
||||
[ABILITY_INTREPID_SWORD] = _("IntrepidSwrd"),
|
||||
[ABILITY_DAUNTLESS_SHIELD] = _("DauntlssShld"),
|
||||
[ABILITY_LIBERO] = _("Libero"),
|
||||
[ABILITY_BALL_FETCH] = _("Ball Fetch"),
|
||||
[ABILITY_COTTON_DOWN] = _("Cotton Down"),
|
||||
[ABILITY_PROPELLER_TAIL] = _("PropellerTai"),
|
||||
[ABILITY_PROPELLER_TAIL] = _("PropellrTail"),
|
||||
[ABILITY_MIRROR_ARMOR] = _("Mirror Armor"),
|
||||
[ABILITY_GULP_MISSILE] = _("Gulp Missile"),
|
||||
[ABILITY_STALWART] = _("Stalwart"),
|
||||
@ -508,20 +508,20 @@ const u8 gAbilityNames[ABILITIES_COUNT_GEN8][ABILITY_NAME_LENGTH + 1] =
|
||||
[ABILITY_ICE_FACE] = _("Ice Face"),
|
||||
[ABILITY_POWER_SPOT] = _("Power Spot"),
|
||||
[ABILITY_MIMICRY] = _("Mimicry"),
|
||||
[ABILITY_SCREEN_CLEANER] = _("ScreenCleane"),
|
||||
[ABILITY_SCREEN_CLEANER] = _("ScreenCleanr"),
|
||||
[ABILITY_STEELY_SPIRIT] = _("SteelySpirit"),
|
||||
[ABILITY_PERISH_BODY] = _("Perish Body"),
|
||||
[ABILITY_WANDERING_SPIRIT] = _("WanderingSpi"),
|
||||
[ABILITY_WANDERING_SPIRIT] = _("WandrngSprit"),
|
||||
[ABILITY_GORILLA_TACTICS] = _("GorillaTacti"),
|
||||
[ABILITY_NEUTRALIZING_GAS] = _("Neutralizing"),
|
||||
[ABILITY_NEUTRALIZING_GAS] = _("NeutrlzngGas"),
|
||||
[ABILITY_PASTEL_VEIL] = _("Pastel Veil"),
|
||||
[ABILITY_HUNGER_SWITCH] = _("HungerSwitch"),
|
||||
[ABILITY_QUICK_DRAW] = _("Quick Draw"),
|
||||
[ABILITY_UNSEEN_FIST] = _("Unseen Fist"),
|
||||
[ABILITY_CURIOUS_MEDICINE] = _("CuriousMedic"),
|
||||
[ABILITY_CURIOUS_MEDICINE] = _("CuriusMedicn"),
|
||||
[ABILITY_TRANSISTOR] = _("Transistor"),
|
||||
[ABILITY_DRAGONS_MAW] = _("Dragon's Maw"),
|
||||
[ABILITY_CHILLING_NEIGH] = _("ChillingNeig"),
|
||||
[ABILITY_CHILLING_NEIGH] = _("ChillngNeigh"),
|
||||
[ABILITY_GRIM_NEIGH] = _("Grim Neigh"),
|
||||
[ABILITY_AS_ONE_ICE_RIDER] = _("As One"),
|
||||
[ABILITY_AS_ONE_SHADOW_RIDER] = _("As One"),
|
||||
|
@ -41,7 +41,7 @@ static const u8 sScratchDescription[] = _(
|
||||
"Scratches the foe with\n"
|
||||
"sharp claws.");
|
||||
|
||||
static const u8 sViceGripDescription[] = _(
|
||||
static const u8 sViseGripDescription[] = _(
|
||||
"Grips the foe with large and\n"
|
||||
"powerful pincers.");
|
||||
|
||||
@ -541,7 +541,7 @@ static const u8 sSoftBoiledDescription[] = _(
|
||||
"Recovers up to half the\n"
|
||||
"user's maximum HP.");
|
||||
|
||||
static const u8 sHiJumpKickDescription[] = _(
|
||||
static const u8 sHighJumpKickDescription[] = _(
|
||||
"A jumping knee kick. If it\n"
|
||||
"misses, the user is hurt.");
|
||||
|
||||
@ -737,7 +737,7 @@ static const u8 sScaryFaceDescription[] = _(
|
||||
"Frightens with a scary face\n"
|
||||
"to sharply reduce SPEED.");
|
||||
|
||||
static const u8 sFaintAttackDescription[] = _(
|
||||
static const u8 sFeintAttackDescription[] = _(
|
||||
"Draws the foe close, then\n"
|
||||
"strikes without fail.");
|
||||
|
||||
@ -1057,7 +1057,7 @@ static const u8 sFocusPunchDescription[] = _(
|
||||
"A powerful loyalty attack.\n"
|
||||
"The user flinches if hit.");
|
||||
|
||||
static const u8 sSmellingSaltDescription[] = _(
|
||||
static const u8 sSmellingSaltsDescription[] = _(
|
||||
"Powerful against paralyzed\n"
|
||||
"foes, but also heals them.");
|
||||
|
||||
@ -2958,7 +2958,7 @@ const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] =
|
||||
[MOVE_ICE_PUNCH - 1] = sIcePunchDescription,
|
||||
[MOVE_THUNDER_PUNCH - 1] = sThunderPunchDescription,
|
||||
[MOVE_SCRATCH - 1] = sScratchDescription,
|
||||
[MOVE_VICE_GRIP - 1] = sViceGripDescription,
|
||||
[MOVE_VISE_GRIP - 1] = sViseGripDescription,
|
||||
[MOVE_GUILLOTINE - 1] = sGuillotineDescription,
|
||||
[MOVE_RAZOR_WIND - 1] = sRazorWindDescription,
|
||||
[MOVE_SWORDS_DANCE - 1] = sSwordsDanceDescription,
|
||||
@ -3083,7 +3083,7 @@ const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] =
|
||||
[MOVE_AMNESIA - 1] = sAmnesiaDescription,
|
||||
[MOVE_KINESIS - 1] = sKinesisDescription,
|
||||
[MOVE_SOFT_BOILED - 1] = sSoftBoiledDescription,
|
||||
[MOVE_HI_JUMP_KICK - 1] = sHiJumpKickDescription,
|
||||
[MOVE_HIGH_JUMP_KICK - 1] = sHighJumpKickDescription,
|
||||
[MOVE_GLARE - 1] = sGlareDescription,
|
||||
[MOVE_DREAM_EATER - 1] = sDreamEaterDescription,
|
||||
[MOVE_POISON_GAS - 1] = sPoisonGasDescription,
|
||||
@ -3132,7 +3132,7 @@ const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] =
|
||||
[MOVE_PROTECT - 1] = sProtectDescription,
|
||||
[MOVE_MACH_PUNCH - 1] = sMachPunchDescription,
|
||||
[MOVE_SCARY_FACE - 1] = sScaryFaceDescription,
|
||||
[MOVE_FAINT_ATTACK - 1] = sFaintAttackDescription,
|
||||
[MOVE_FEINT_ATTACK - 1] = sFeintAttackDescription,
|
||||
[MOVE_SWEET_KISS - 1] = sSweetKissDescription,
|
||||
[MOVE_BELLY_DRUM - 1] = sBellyDrumDescription,
|
||||
[MOVE_SLUDGE_BOMB - 1] = sSludgeBombDescription,
|
||||
@ -3212,7 +3212,7 @@ const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] =
|
||||
[MOVE_MEMENTO - 1] = sMementoDescription,
|
||||
[MOVE_FACADE - 1] = sFacadeDescription,
|
||||
[MOVE_FOCUS_PUNCH - 1] = sFocusPunchDescription,
|
||||
[MOVE_SMELLING_SALT - 1] = sSmellingSaltDescription,
|
||||
[MOVE_SMELLING_SALTS - 1] = sSmellingSaltsDescription,
|
||||
[MOVE_FOLLOW_ME - 1] = sFollowMeDescription,
|
||||
[MOVE_NATURE_POWER - 1] = sNaturePowerDescription,
|
||||
[MOVE_CHARGE - 1] = sChargeDescription,
|
||||
|
@ -11,7 +11,7 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] =
|
||||
[MOVE_ICE_PUNCH] = _("Ice Punch"),
|
||||
[MOVE_THUNDER_PUNCH] = _("ThunderPunch"),
|
||||
[MOVE_SCRATCH] = _("Scratch"),
|
||||
[MOVE_VICE_GRIP] = _("Vise Grip"),
|
||||
[MOVE_VISE_GRIP] = _("Vise Grip"),
|
||||
[MOVE_GUILLOTINE] = _("Guillotine"),
|
||||
[MOVE_RAZOR_WIND] = _("Razor Wind"),
|
||||
[MOVE_SWORDS_DANCE] = _("Swords Dance"),
|
||||
@ -136,7 +136,7 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] =
|
||||
[MOVE_AMNESIA] = _("Amnesia"),
|
||||
[MOVE_KINESIS] = _("Kinesis"),
|
||||
[MOVE_SOFT_BOILED] = _("Soft-Boiled"),
|
||||
[MOVE_HI_JUMP_KICK] = _("Hi Jump Kick"),
|
||||
[MOVE_HIGH_JUMP_KICK] = _("HighJumpKick"),
|
||||
[MOVE_GLARE] = _("Glare"),
|
||||
[MOVE_DREAM_EATER] = _("Dream Eater"),
|
||||
[MOVE_POISON_GAS] = _("Poison Gas"),
|
||||
@ -185,7 +185,7 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] =
|
||||
[MOVE_PROTECT] = _("Protect"),
|
||||
[MOVE_MACH_PUNCH] = _("Mach Punch"),
|
||||
[MOVE_SCARY_FACE] = _("Scary Face"),
|
||||
[MOVE_FAINT_ATTACK] = _("Faint Attack"),
|
||||
[MOVE_FEINT_ATTACK] = _("Feint Attack"),
|
||||
[MOVE_SWEET_KISS] = _("Sweet Kiss"),
|
||||
[MOVE_BELLY_DRUM] = _("Belly Drum"),
|
||||
[MOVE_SLUDGE_BOMB] = _("Sludge Bomb"),
|
||||
@ -265,7 +265,7 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] =
|
||||
[MOVE_MEMENTO] = _("Memento"),
|
||||
[MOVE_FACADE] = _("Facade"),
|
||||
[MOVE_FOCUS_PUNCH] = _("Focus Punch"),
|
||||
[MOVE_SMELLING_SALT] = _("SmellingSalt"),
|
||||
[MOVE_SMELLING_SALTS] = _("SmellngSalts"),
|
||||
[MOVE_FOLLOW_ME] = _("Follow Me"),
|
||||
[MOVE_NATURE_POWER] = _("Nature Power"),
|
||||
[MOVE_CHARGE] = _("Charge"),
|
||||
@ -567,20 +567,20 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] =
|
||||
[MOVE_STICKY_WEB] = _("Sticky Web"),
|
||||
[MOVE_FELL_STINGER] = _("Fell Stinger"),
|
||||
[MOVE_PHANTOM_FORCE] = _("PhantomForce"),
|
||||
[MOVE_TRICK_OR_TREAT] = _("Halloween"),
|
||||
[MOVE_TRICK_OR_TREAT] = _("TrickOrTreat"),
|
||||
[MOVE_NOBLE_ROAR] = _("Noble Roar"),
|
||||
[MOVE_ION_DELUGE] = _("Ion Deluge"),
|
||||
[MOVE_PARABOLIC_CHARGE] = _("Parabolic Ch"),
|
||||
[MOVE_FORESTS_CURSE] = _("ForestsCurse"),
|
||||
[MOVE_PETAL_BLIZZARD] = _("Petal Storm"),
|
||||
[MOVE_PARABOLIC_CHARGE] = _("ParabolcChrg"),
|
||||
[MOVE_FORESTS_CURSE] = _("Forest'sCurs"),
|
||||
[MOVE_PETAL_BLIZZARD] = _("PetalBlizzrd"),
|
||||
[MOVE_FREEZE_DRY] = _("Freeze-Dry"),
|
||||
[MOVE_DISARMING_VOICE] = _("Disarming Vo"),
|
||||
[MOVE_DISARMING_VOICE] = _("DisrmngVoice"),
|
||||
[MOVE_PARTING_SHOT] = _("Parting Shot"),
|
||||
[MOVE_TOPSY_TURVY] = _("Topsy-Turvy"),
|
||||
[MOVE_DRAINING_KISS] = _("DrainingKiss"),
|
||||
[MOVE_CRAFTY_SHIELD] = _("CraftyShield"),
|
||||
[MOVE_FLOWER_SHIELD] = _("FlowerShield"),
|
||||
[MOVE_GRASSY_TERRAIN] = _("GrassTerrain"),
|
||||
[MOVE_GRASSY_TERRAIN] = _("GrssyTerrain"),
|
||||
[MOVE_MISTY_TERRAIN] = _("MistyTerrain"),
|
||||
[MOVE_ELECTRIFY] = _("Electrify"),
|
||||
[MOVE_PLAY_ROUGH] = _("Play Rough"),
|
||||
@ -588,13 +588,13 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] =
|
||||
[MOVE_MOONBLAST] = _("Moonblast"),
|
||||
[MOVE_BOOMBURST] = _("Boomburst"),
|
||||
[MOVE_FAIRY_LOCK] = _("Fairy Lock"),
|
||||
[MOVE_KINGS_SHIELD] = _("Kings Shield"),
|
||||
[MOVE_KINGS_SHIELD] = _("King'sShield"),
|
||||
[MOVE_PLAY_NICE] = _("Play Nice"),
|
||||
[MOVE_CONFIDE] = _("Confide"),
|
||||
[MOVE_DIAMOND_STORM] = _("DiamondStorm"),
|
||||
[MOVE_STEAM_ERUPTION] = _("Steam Erupt"),
|
||||
[MOVE_HYPERSPACE_HOLE] = _("Hyperspace H"),
|
||||
[MOVE_WATER_SHURIKEN] = _("Water Shuri"),
|
||||
[MOVE_STEAM_ERUPTION] = _("SteamErption"),
|
||||
[MOVE_HYPERSPACE_HOLE] = _("HyprspceHole"),
|
||||
[MOVE_WATER_SHURIKEN] = _("WatrShuriken"),
|
||||
[MOVE_MYSTICAL_FIRE] = _("MysticalFire"),
|
||||
[MOVE_SPIKY_SHIELD] = _("Spiky Shield"),
|
||||
[MOVE_AROMATIC_MIST] = _("AromaticMist"),
|
||||
@ -604,8 +604,8 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] =
|
||||
[MOVE_GEOMANCY] = _("Geomancy"),
|
||||
[MOVE_MAGNETIC_FLUX] = _("MagneticFlux"),
|
||||
[MOVE_HAPPY_HOUR] = _("Happy Hour"),
|
||||
[MOVE_ELECTRIC_TERRAIN] = _("Electric Ter"),
|
||||
[MOVE_DAZZLING_GLEAM] = _("Dazzling Gle"),
|
||||
[MOVE_ELECTRIC_TERRAIN] = _("ElctrcTrrain"),
|
||||
[MOVE_DAZZLING_GLEAM] = _("DazzlngGleam"),
|
||||
[MOVE_CELEBRATE] = _("Celebrate"),
|
||||
[MOVE_HOLD_HANDS] = _("Hold Hands"),
|
||||
[MOVE_BABY_DOLL_EYES] = _("BabyDollEyes"),
|
||||
@ -614,23 +614,23 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] =
|
||||
[MOVE_INFESTATION] = _("Infestation"),
|
||||
[MOVE_POWER_UP_PUNCH] = _("PowerUpPunch"),
|
||||
[MOVE_OBLIVION_WING] = _("OblivionWing"),
|
||||
[MOVE_THOUSAND_ARROWS] = _("Thousand Ar"),
|
||||
[MOVE_THOUSAND_WAVES] = _("Thousand Wav"),
|
||||
[MOVE_LANDS_WRATH] = _("Lands Wrath"),
|
||||
[MOVE_THOUSAND_ARROWS] = _("ThousndArrws"),
|
||||
[MOVE_THOUSAND_WAVES] = _("ThousndWaves"),
|
||||
[MOVE_LANDS_WRATH] = _("Land's Wrath"),
|
||||
[MOVE_LIGHT_OF_RUIN] = _("LightOfRuin"),
|
||||
[MOVE_ORIGIN_PULSE] = _("Origin Pulse"),
|
||||
[MOVE_PRECIPICE_BLADES] = _("Precipice Bl"),
|
||||
[MOVE_PRECIPICE_BLADES] = _("PrcipceBldes"),
|
||||
[MOVE_DRAGON_ASCENT] = _("DragonAscent"),
|
||||
[MOVE_HYPERSPACE_FURY] = _("Hyperspace F"),
|
||||
[MOVE_HYPERSPACE_FURY] = _("HyprspceFury"),
|
||||
[MOVE_SHORE_UP] = _("Shore Up"),
|
||||
[MOVE_FIRST_IMPRESSION] = _("First Impres"),
|
||||
[MOVE_BANEFUL_BUNKER] = _("Baneful Bunk"),
|
||||
[MOVE_SPIRIT_SHACKLE] = _("Spirit Shack"),
|
||||
[MOVE_DARKEST_LARIAT] = _("Darkest Lari"),
|
||||
[MOVE_SPARKLING_ARIA] = _("Sparkling Ar"),
|
||||
[MOVE_FIRST_IMPRESSION] = _("FrstImpressn"),
|
||||
[MOVE_BANEFUL_BUNKER] = _("BanefulBunkr"),
|
||||
[MOVE_SPIRIT_SHACKLE] = _("SpiritShackl"),
|
||||
[MOVE_DARKEST_LARIAT] = _("DarkstLariat"),
|
||||
[MOVE_SPARKLING_ARIA] = _("SparklngAria"),
|
||||
[MOVE_ICE_HAMMER] = _("Ice Hammer"),
|
||||
[MOVE_FLORAL_HEALING] = _("Floral Heali"),
|
||||
[MOVE_HIGH_HORSEPOWER] = _("High Horsepo"),
|
||||
[MOVE_FLORAL_HEALING] = _("FloralHealng"),
|
||||
[MOVE_HIGH_HORSEPOWER] = _("HighHorsepwr"),
|
||||
[MOVE_STRENGTH_SAP] = _("Strength Sap"),
|
||||
[MOVE_SOLAR_BLADE] = _("Solar Blade"),
|
||||
[MOVE_LEAFAGE] = _("Leafage"),
|
||||
@ -641,7 +641,7 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] =
|
||||
[MOVE_THROAT_CHOP] = _("Throat Chop"),
|
||||
[MOVE_POLLEN_PUFF] = _("Pollen Puff"),
|
||||
[MOVE_ANCHOR_SHOT] = _("Anchor Shot"),
|
||||
[MOVE_PSYCHIC_TERRAIN] = _("Psychic Terr"),
|
||||
[MOVE_PSYCHIC_TERRAIN] = _("PsychcTrrain"),
|
||||
[MOVE_LUNGE] = _("Lunge"),
|
||||
[MOVE_FIRE_LASH] = _("Fire Lash"),
|
||||
[MOVE_POWER_TRIP] = _("Power Trip"),
|
||||
@ -649,35 +649,35 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] =
|
||||
[MOVE_SPEED_SWAP] = _("Speed Swap"),
|
||||
[MOVE_SMART_STRIKE] = _("Smart Strike"),
|
||||
[MOVE_PURIFY] = _("Purify"),
|
||||
[MOVE_REVELATION_DANCE] = _("Revelation D"),
|
||||
[MOVE_REVELATION_DANCE] = _("RvlationDnce"),
|
||||
[MOVE_CORE_ENFORCER] = _("CoreEnforcer"),
|
||||
[MOVE_TROP_KICK] = _("Trop Kick"),
|
||||
[MOVE_INSTRUCT] = _("Instruct"),
|
||||
[MOVE_BEAK_BLAST] = _("Beak Blast"),
|
||||
[MOVE_CLANGING_SCALES] = _("Clanging Sca"),
|
||||
[MOVE_CLANGING_SCALES] = _("ClngngScales"),
|
||||
[MOVE_DRAGON_HAMMER] = _("DragonHammer"),
|
||||
[MOVE_BRUTAL_SWING] = _("Brutal Swing"),
|
||||
[MOVE_AURORA_VEIL] = _("Aurora Veil"),
|
||||
[MOVE_SHELL_TRAP] = _("Shell Trap"),
|
||||
[MOVE_FLEUR_CANNON] = _("Fleur Cannon"),
|
||||
[MOVE_PSYCHIC_FANGS] = _("PsychicFangs"),
|
||||
[MOVE_STOMPING_TANTRUM] = _("Stomping Tan"),
|
||||
[MOVE_STOMPING_TANTRUM] = _("StmpngTantrm"),
|
||||
[MOVE_SHADOW_BONE] = _("Shadow Bone"),
|
||||
[MOVE_ACCELEROCK] = _("Accelerock"),
|
||||
[MOVE_LIQUIDATION] = _("Liquidation"),
|
||||
[MOVE_PRISMATIC_LASER] = _("Prismatic La"),
|
||||
[MOVE_SPECTRAL_THIEF] = _("Spectral Thi"),
|
||||
[MOVE_SUNSTEEL_STRIKE] = _("Sunsteel Str"),
|
||||
[MOVE_MOONGEIST_BEAM] = _("Moongeist Be"),
|
||||
[MOVE_PRISMATIC_LASER] = _("PrsmaticLasr"),
|
||||
[MOVE_SPECTRAL_THIEF] = _("SpectrlThief"),
|
||||
[MOVE_SUNSTEEL_STRIKE] = _("SnsteelStrke"),
|
||||
[MOVE_MOONGEIST_BEAM] = _("MoongestBeam"),
|
||||
[MOVE_TEARFUL_LOOK] = _("Tearful Look"),
|
||||
[MOVE_ZING_ZAP] = _("Zing Zap"),
|
||||
[MOVE_NATURES_MADNESS] = _("Nature's Mad"),
|
||||
[MOVE_NATURES_MADNESS] = _("Natur'sMadns"),
|
||||
[MOVE_MULTI_ATTACK] = _("Multi-Attack"),
|
||||
[MOVE_MIND_BLOWN] = _("Mind Blown"),
|
||||
[MOVE_PLASMA_FISTS] = _("Plasma Fists"),
|
||||
[MOVE_PHOTON_GEYSER] = _("PhotonGeyser"),
|
||||
[MOVE_ZIPPY_ZAP] = _("Zippy Zap"),
|
||||
[MOVE_SPLISHY_SPLASH] = _("SplishSplash"),
|
||||
[MOVE_SPLISHY_SPLASH] = _("SplishySplsh"),
|
||||
[MOVE_FLOATY_FALL] = _("Floaty Fall"),
|
||||
[MOVE_PIKA_PAPOW] = _("Pika Papow"),
|
||||
[MOVE_BOUNCY_BUBBLE] = _("BouncyBubble"),
|
||||
@ -691,52 +691,52 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] =
|
||||
[MOVE_VEEVEE_VOLLEY] = _("VeeveeVolley"),
|
||||
[MOVE_DOUBLE_IRON_BASH] = _("DublIronBash"),
|
||||
//GEN 8
|
||||
[MOVE_DYNAMAX_CANNON] = _("Dyna Cannon"),
|
||||
[MOVE_DYNAMAX_CANNON] = _("DynamxCannon"),
|
||||
[MOVE_SNIPE_SHOT] = _("Snipe Shot"),
|
||||
[MOVE_JAW_LOCK] = _("Jaw Lock"),
|
||||
[MOVE_STUFF_CHEEKS] = _("StuffCheeks"),
|
||||
[MOVE_STUFF_CHEEKS] = _("Stuff Cheeks"),
|
||||
[MOVE_NO_RETREAT] = _("No Retreat"),
|
||||
[MOVE_TAR_SHOT] = _("Tar Shot"),
|
||||
[MOVE_MAGIC_POWDER] = _("MagicPowder"),
|
||||
[MOVE_DRAGON_DARTS] = _("DragonDarts"),
|
||||
[MOVE_MAGIC_POWDER] = _("Magic Powder"),
|
||||
[MOVE_DRAGON_DARTS] = _("Dragon Darts"),
|
||||
[MOVE_TEATIME] = _("Teatime"),
|
||||
[MOVE_OCTOLOCK] = _("Octolock"),
|
||||
[MOVE_BOLT_BEAK] = _("Bolt Beak"),
|
||||
[MOVE_FISHIOUS_REND] = _("Fishy Rend"),
|
||||
[MOVE_COURT_CHANGE] = _("CourtChange"),
|
||||
[MOVE_CLANGOROUS_SOUL] = _("Clangy Soul"),
|
||||
[MOVE_FISHIOUS_REND] = _("FishiousRend"),
|
||||
[MOVE_COURT_CHANGE] = _("Court Change"),
|
||||
[MOVE_CLANGOROUS_SOUL] = _("ClngrousSoul"),
|
||||
[MOVE_BODY_PRESS] = _("Body Press"),
|
||||
[MOVE_DECORATE] = _("Decorate"),
|
||||
[MOVE_DRUM_BEATING] = _("Drum Beat"),
|
||||
[MOVE_DRUM_BEATING] = _("Drum Beating"),
|
||||
[MOVE_SNAP_TRAP] = _("Snap Trap"),
|
||||
[MOVE_PYRO_BALL] = _("Pyro Ball"),
|
||||
[MOVE_BEHEMOTH_BLADE] = _("Behemoth Bl"),
|
||||
[MOVE_BEHEMOTH_BASH] = _("Behemoth Ba"),
|
||||
[MOVE_BEHEMOTH_BLADE] = _("BehemthBlade"),
|
||||
[MOVE_BEHEMOTH_BASH] = _("BehemothBash"),
|
||||
[MOVE_AURA_WHEEL] = _("Aura Wheel"),
|
||||
[MOVE_BREAKING_SWIPE] = _("Break Swipe"),
|
||||
[MOVE_BREAKING_SWIPE] = _("BreakngSwipe"),
|
||||
[MOVE_BRANCH_POKE] = _("Branch Poke"),
|
||||
[MOVE_OVERDRIVE] = _("Overdrive"),
|
||||
[MOVE_APPLE_ACID] = _("Apple Acid"),
|
||||
[MOVE_GRAV_APPLE] = _("Grav Apple"),
|
||||
[MOVE_SPIRIT_BREAK] = _("Spirit Break"),
|
||||
[MOVE_STRANGE_STEAM] = _("Weird Steam"),
|
||||
[MOVE_STRANGE_STEAM] = _("StrangeSteam"),
|
||||
[MOVE_LIFE_DEW] = _("Life Dew"),
|
||||
[MOVE_OBSTRUCT] = _("Obstruct"),
|
||||
[MOVE_FALSE_SURRENDER] = _("False Yield"),
|
||||
[MOVE_METEOR_ASSAULT] = _("Meteor Ass."),
|
||||
[MOVE_FALSE_SURRENDER] = _("FalsSurrendr"),
|
||||
[MOVE_METEOR_ASSAULT] = _("MeteorAssalt"),
|
||||
[MOVE_ETERNABEAM] = _("Eternabeam"),
|
||||
[MOVE_STEEL_BEAM] = _("Steel Beam"),
|
||||
[MOVE_EXPANDING_FORCE] = _("Expand Force"),
|
||||
[MOVE_EXPANDING_FORCE] = _("ExpandngForc"),
|
||||
[MOVE_STEEL_ROLLER] = _("Steel Roller"),
|
||||
[MOVE_SCALE_SHOT] = _("Scale Shot"),
|
||||
[MOVE_METEOR_BEAM] = _("Meteor Beam"),
|
||||
[MOVE_SHELL_SIDE_ARM] = _("ShellSideArm"),
|
||||
[MOVE_MISTY_EXPLOSION] = _("Misty Explos"),
|
||||
[MOVE_MISTY_EXPLOSION] = _("MstyExplsion"),
|
||||
[MOVE_GRASSY_GLIDE] = _("Grassy Glide"),
|
||||
[MOVE_RISING_VOLTAGE] = _("Rising Volts"),
|
||||
[MOVE_RISING_VOLTAGE] = _("RisngVoltage"),
|
||||
[MOVE_TERRAIN_PULSE] = _("TerrainPulse"),
|
||||
[MOVE_SKITTER_SMACK] = _("SkitterSmack"),
|
||||
[MOVE_BURNING_JEALOUSY] = _("BurnJealousy"),
|
||||
[MOVE_BURNING_JEALOUSY] = _("BrningJelosy"),
|
||||
[MOVE_LASH_OUT] = _("Lash Out"),
|
||||
[MOVE_POLTERGEIST] = _("Poltergeist"),
|
||||
[MOVE_CORROSIVE_GAS] = _("CorrosiveGas"),
|
||||
@ -744,10 +744,10 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] =
|
||||
[MOVE_FLIP_TURN] = _("Flip Turn"),
|
||||
[MOVE_TRIPLE_AXEL] = _("Triple Axel"),
|
||||
[MOVE_DUAL_WINGBEAT] = _("DualWingbeat"),
|
||||
[MOVE_SCORCHING_SANDS] = _("Scorch Sands"),
|
||||
[MOVE_JUNGLE_HEALING] = _("Jungle Heal"),
|
||||
[MOVE_SCORCHING_SANDS] = _("ScorchngSnds"),
|
||||
[MOVE_JUNGLE_HEALING] = _("JungleHealng"),
|
||||
[MOVE_WICKED_BLOW] = _("Wicked Blow"),
|
||||
[MOVE_SURGING_STRIKES] = _("SurgeStrikes"),
|
||||
[MOVE_SURGING_STRIKES] = _("SurgngStrkes"),
|
||||
[MOVE_THUNDER_CAGE] = _("Thunder Cage"),
|
||||
[MOVE_DRAGON_ENERGY] = _("DragonEnergy"),
|
||||
[MOVE_FREEZING_GLARE] = _("FreezngGlare"),
|
||||
|
@ -868,7 +868,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Braxton[] = {
|
||||
.iv = 100,
|
||||
.lvl = 28,
|
||||
.species = SPECIES_TRAPINCH,
|
||||
.moves = {MOVE_BITE, MOVE_DIG, MOVE_FAINT_ATTACK, MOVE_SAND_TOMB}
|
||||
.moves = {MOVE_BITE, MOVE_DIG, MOVE_FEINT_ATTACK, MOVE_SAND_TOMB}
|
||||
},
|
||||
{
|
||||
.iv = 100,
|
||||
@ -886,7 +886,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Braxton[] = {
|
||||
.iv = 100,
|
||||
.lvl = 28,
|
||||
.species = SPECIES_SHIFTRY,
|
||||
.moves = {MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_SWAGGER}
|
||||
.moves = {MOVE_GIGA_DRAIN, MOVE_FEINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_SWAGGER}
|
||||
}
|
||||
};
|
||||
|
||||
@ -1115,7 +1115,7 @@ static const struct TrainerMonItemCustomMoves sParty_Mary[] = {
|
||||
.lvl = 26,
|
||||
.species = SPECIES_DELCATTY,
|
||||
.heldItem = ITEM_NONE,
|
||||
.moves = {MOVE_FAINT_ATTACK, MOVE_SHOCK_WAVE, MOVE_NONE, MOVE_NONE}
|
||||
.moves = {MOVE_FEINT_ATTACK, MOVE_SHOCK_WAVE, MOVE_NONE, MOVE_NONE}
|
||||
}
|
||||
};
|
||||
|
||||
@ -1144,7 +1144,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Wendy[] = {
|
||||
.iv = 100,
|
||||
.lvl = 29,
|
||||
.species = SPECIES_MAWILE,
|
||||
.moves = {MOVE_BATON_PASS, MOVE_FAINT_ATTACK, MOVE_FAKE_TEARS, MOVE_BITE}
|
||||
.moves = {MOVE_BATON_PASS, MOVE_FEINT_ATTACK, MOVE_FAKE_TEARS, MOVE_BITE}
|
||||
},
|
||||
{
|
||||
.iv = 100,
|
||||
@ -1586,7 +1586,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica1[] = {
|
||||
.iv = 0,
|
||||
.lvl = 29,
|
||||
.species = SPECIES_KECLEON,
|
||||
.moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK}
|
||||
.moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FEINT_ATTACK}
|
||||
},
|
||||
{
|
||||
.iv = 0,
|
||||
@ -1651,7 +1651,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica2[] = {
|
||||
.iv = 10,
|
||||
.lvl = 35,
|
||||
.species = SPECIES_KECLEON,
|
||||
.moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK}
|
||||
.moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FEINT_ATTACK}
|
||||
},
|
||||
{
|
||||
.iv = 10,
|
||||
@ -1666,7 +1666,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica3[] = {
|
||||
.iv = 20,
|
||||
.lvl = 38,
|
||||
.species = SPECIES_KECLEON,
|
||||
.moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK}
|
||||
.moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FEINT_ATTACK}
|
||||
},
|
||||
{
|
||||
.iv = 20,
|
||||
@ -1681,7 +1681,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica4[] = {
|
||||
.iv = 30,
|
||||
.lvl = 41,
|
||||
.species = SPECIES_KECLEON,
|
||||
.moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK}
|
||||
.moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FEINT_ATTACK}
|
||||
},
|
||||
{
|
||||
.iv = 30,
|
||||
@ -1696,7 +1696,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica5[] = {
|
||||
.iv = 40,
|
||||
.lvl = 44,
|
||||
.species = SPECIES_KECLEON,
|
||||
.moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK}
|
||||
.moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FEINT_ATTACK}
|
||||
},
|
||||
{
|
||||
.iv = 40,
|
||||
@ -3232,7 +3232,7 @@ static const struct TrainerMonItemCustomMoves sParty_Sidney[] = {
|
||||
.lvl = 46,
|
||||
.species = SPECIES_CACTURNE,
|
||||
.heldItem = ITEM_NONE,
|
||||
.moves = {MOVE_LEECH_SEED, MOVE_FAINT_ATTACK, MOVE_NEEDLE_ARM, MOVE_COTTON_SPORE}
|
||||
.moves = {MOVE_LEECH_SEED, MOVE_FEINT_ATTACK, MOVE_NEEDLE_ARM, MOVE_COTTON_SPORE}
|
||||
},
|
||||
{
|
||||
.iv = 250,
|
||||
@ -3263,14 +3263,14 @@ static const struct TrainerMonItemCustomMoves sParty_Phoebe[] = {
|
||||
.lvl = 49,
|
||||
.species = SPECIES_BANETTE,
|
||||
.heldItem = ITEM_NONE,
|
||||
.moves = {MOVE_SHADOW_BALL, MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_FAINT_ATTACK}
|
||||
.moves = {MOVE_SHADOW_BALL, MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_FEINT_ATTACK}
|
||||
},
|
||||
{
|
||||
.iv = 250,
|
||||
.lvl = 50,
|
||||
.species = SPECIES_SABLEYE,
|
||||
.heldItem = ITEM_NONE,
|
||||
.moves = {MOVE_SHADOW_BALL, MOVE_DOUBLE_TEAM, MOVE_NIGHT_SHADE, MOVE_FAINT_ATTACK}
|
||||
.moves = {MOVE_SHADOW_BALL, MOVE_DOUBLE_TEAM, MOVE_NIGHT_SHADE, MOVE_FEINT_ATTACK}
|
||||
},
|
||||
{
|
||||
.iv = 250,
|
||||
@ -3487,7 +3487,7 @@ static const struct TrainerMonItemCustomMoves sParty_Norman1[] = {
|
||||
.lvl = 27,
|
||||
.species = SPECIES_VIGOROTH,
|
||||
.heldItem = ITEM_NONE,
|
||||
.moves = {MOVE_SLASH, MOVE_FACADE, MOVE_ENCORE, MOVE_FAINT_ATTACK}
|
||||
.moves = {MOVE_SLASH, MOVE_FACADE, MOVE_ENCORE, MOVE_FEINT_ATTACK}
|
||||
},
|
||||
{
|
||||
.iv = 200,
|
||||
@ -3501,7 +3501,7 @@ static const struct TrainerMonItemCustomMoves sParty_Norman1[] = {
|
||||
.lvl = 31,
|
||||
.species = SPECIES_SLAKING,
|
||||
.heldItem = ITEM_SITRUS_BERRY,
|
||||
.moves = {MOVE_COUNTER, MOVE_YAWN, MOVE_FACADE, MOVE_FAINT_ATTACK}
|
||||
.moves = {MOVE_COUNTER, MOVE_YAWN, MOVE_FACADE, MOVE_FEINT_ATTACK}
|
||||
}
|
||||
};
|
||||
|
||||
@ -3787,7 +3787,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_KateAndJoy[] = {
|
||||
.iv = 0,
|
||||
.lvl = 32,
|
||||
.species = SPECIES_SLAKING,
|
||||
.moves = {MOVE_FOCUS_PUNCH, MOVE_YAWN, MOVE_SLACK_OFF, MOVE_FAINT_ATTACK}
|
||||
.moves = {MOVE_FOCUS_PUNCH, MOVE_YAWN, MOVE_SLACK_OFF, MOVE_FEINT_ATTACK}
|
||||
}
|
||||
};
|
||||
|
||||
@ -3896,42 +3896,42 @@ static const struct TrainerMonItemCustomMoves sParty_Colton[] = {
|
||||
.lvl = 22,
|
||||
.species = SPECIES_SKITTY,
|
||||
.heldItem = ITEM_ORAN_BERRY,
|
||||
.moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL}
|
||||
.moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK, MOVE_HEAL_BELL}
|
||||
},
|
||||
{
|
||||
.iv = 0,
|
||||
.lvl = 36,
|
||||
.species = SPECIES_SKITTY,
|
||||
.heldItem = ITEM_ORAN_BERRY,
|
||||
.moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL}
|
||||
.moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK, MOVE_HEAL_BELL}
|
||||
},
|
||||
{
|
||||
.iv = 0,
|
||||
.lvl = 40,
|
||||
.species = SPECIES_SKITTY,
|
||||
.heldItem = ITEM_ORAN_BERRY,
|
||||
.moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL}
|
||||
.moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK, MOVE_HEAL_BELL}
|
||||
},
|
||||
{
|
||||
.iv = 0,
|
||||
.lvl = 12,
|
||||
.species = SPECIES_SKITTY,
|
||||
.heldItem = ITEM_ORAN_BERRY,
|
||||
.moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL}
|
||||
.moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK, MOVE_HEAL_BELL}
|
||||
},
|
||||
{
|
||||
.iv = 0,
|
||||
.lvl = 30,
|
||||
.species = SPECIES_SKITTY,
|
||||
.heldItem = ITEM_ORAN_BERRY,
|
||||
.moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL}
|
||||
.moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK, MOVE_HEAL_BELL}
|
||||
},
|
||||
{
|
||||
.iv = 0,
|
||||
.lvl = 42,
|
||||
.species = SPECIES_DELCATTY,
|
||||
.heldItem = ITEM_ORAN_BERRY,
|
||||
.moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL}
|
||||
.moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK, MOVE_HEAL_BELL}
|
||||
}
|
||||
};
|
||||
|
||||
@ -4134,7 +4134,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Vicky[] = {
|
||||
.iv = 200,
|
||||
.lvl = 18,
|
||||
.species = SPECIES_MEDITITE,
|
||||
.moves = {MOVE_HI_JUMP_KICK, MOVE_MEDITATE, MOVE_CONFUSION, MOVE_DETECT}
|
||||
.moves = {MOVE_HIGH_JUMP_KICK, MOVE_MEDITATE, MOVE_CONFUSION, MOVE_DETECT}
|
||||
}
|
||||
};
|
||||
|
||||
@ -6759,7 +6759,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_WallyVR1[] = {
|
||||
.iv = 150,
|
||||
.lvl = 43,
|
||||
.species = SPECIES_DELCATTY,
|
||||
.moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK}
|
||||
.moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK}
|
||||
},
|
||||
{
|
||||
.iv = 150,
|
||||
@ -8639,7 +8639,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Gerald[] = {
|
||||
.iv = 100,
|
||||
.lvl = 23,
|
||||
.species = SPECIES_KECLEON,
|
||||
.moves = {MOVE_FLAMETHROWER, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK, MOVE_BIND}
|
||||
.moves = {MOVE_FLAMETHROWER, MOVE_FURY_SWIPES, MOVE_FEINT_ATTACK, MOVE_BIND}
|
||||
}
|
||||
};
|
||||
|
||||
@ -8762,7 +8762,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_WallyVR2[] = {
|
||||
.iv = 150,
|
||||
.lvl = 46,
|
||||
.species = SPECIES_DELCATTY,
|
||||
.moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK}
|
||||
.moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK}
|
||||
},
|
||||
{
|
||||
.iv = 150,
|
||||
@ -8795,7 +8795,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_WallyVR3[] = {
|
||||
.iv = 150,
|
||||
.lvl = 49,
|
||||
.species = SPECIES_DELCATTY,
|
||||
.moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK}
|
||||
.moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK}
|
||||
},
|
||||
{
|
||||
.iv = 150,
|
||||
@ -8828,7 +8828,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_WallyVR4[] = {
|
||||
.iv = 150,
|
||||
.lvl = 52,
|
||||
.species = SPECIES_DELCATTY,
|
||||
.moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK}
|
||||
.moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK}
|
||||
},
|
||||
{
|
||||
.iv = 150,
|
||||
@ -8861,7 +8861,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_WallyVR5[] = {
|
||||
.iv = 150,
|
||||
.lvl = 55,
|
||||
.species = SPECIES_DELCATTY,
|
||||
.moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK}
|
||||
.moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK}
|
||||
},
|
||||
{
|
||||
.iv = 150,
|
||||
|
@ -145,7 +145,7 @@ static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = {
|
||||
[3] = {
|
||||
.species = SPECIES_CACTURNE,
|
||||
.heldItem = ITEM_QUICK_CLAW,
|
||||
.moves = { MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_THUNDER_PUNCH, MOVE_GROWTH },
|
||||
.moves = { MOVE_GIGA_DRAIN, MOVE_FEINT_ATTACK, MOVE_THUNDER_PUNCH, MOVE_GROWTH },
|
||||
.level = 0,
|
||||
.ppBonuses = 0x0,
|
||||
.hpEV = 55,
|
||||
|
@ -284,7 +284,7 @@ static const struct FrontierBrainMon sFrontierBrainsMons[][2][FRONTIER_PARTY_SIZ
|
||||
.fixedIV = 20,
|
||||
.nature = NATURE_CALM,
|
||||
.evs = {152, 0, 100, 0, 152, 106},
|
||||
.moves = {MOVE_BODY_SLAM, MOVE_CONFUSE_RAY, MOVE_PSYCHIC, MOVE_FAINT_ATTACK},
|
||||
.moves = {MOVE_BODY_SLAM, MOVE_CONFUSE_RAY, MOVE_PSYCHIC, MOVE_FEINT_ATTACK},
|
||||
},
|
||||
{
|
||||
.species = SPECIES_SHEDINJA,
|
||||
|
@ -5184,7 +5184,11 @@ u8 GetItemEffectType(u16 item)
|
||||
else
|
||||
itemEffect = gItemEffectTable[item - ITEM_POTION];
|
||||
|
||||
#ifndef ITEM_EXPANSION
|
||||
if ((itemEffect[0] & (ITEM0_DIRE_HIT | ITEM0_X_ATTACK)) || itemEffect[1] || itemEffect[2] || (itemEffect[3] & ITEM3_GUARD_SPEC))
|
||||
#else
|
||||
if ((itemEffect[0] & ITEM0_DIRE_HIT) || itemEffect[1] || (itemEffect[3] & ITEM3_GUARD_SPEC))
|
||||
#endif
|
||||
return ITEM_EFFECT_X_ITEM;
|
||||
else if (itemEffect[0] & ITEM0_SACRED_ASH)
|
||||
return ITEM_EFFECT_SACRED_ASH;
|
||||
|
178
src/pokemon.c
178
src/pokemon.c
@ -45,6 +45,7 @@
|
||||
#include "constants/moves.h"
|
||||
#include "constants/songs.h"
|
||||
#include "constants/trainers.h"
|
||||
#include "constants/battle_config.h"
|
||||
|
||||
struct SpeciesItem
|
||||
{
|
||||
@ -1385,6 +1386,8 @@ const s8 gNatureStatTable[NUM_NATURES][NUM_NATURE_STATS] =
|
||||
#include "data/pokemon/level_up_learnsets.h"
|
||||
#include "data/pokemon/evolution.h"
|
||||
#include "data/pokemon/level_up_learnset_pointers.h"
|
||||
#include "data/pokemon/form_species_tables.h"
|
||||
#include "data/pokemon/form_species_table_pointers.h"
|
||||
|
||||
// SPECIES_NONE are ignored in the following two tables, so decrement before accessing these arrays to get the right result
|
||||
|
||||
@ -2050,7 +2053,11 @@ static const u8 sGetMonDataEVConstants[] =
|
||||
// For stat-raising items
|
||||
static const u8 sStatsToRaise[] =
|
||||
{
|
||||
#ifndef ITEM_EXPANSION
|
||||
STAT_ATK, STAT_ATK, STAT_SPEED, STAT_DEF, STAT_SPATK, STAT_ACC
|
||||
#else
|
||||
STAT_ATK, STAT_ATK, STAT_DEF, STAT_SPEED, STAT_SPATK, STAT_SPDEF, STAT_ACC
|
||||
#endif
|
||||
};
|
||||
|
||||
// 3 modifiers each for how much to change friendship for different ranges
|
||||
@ -4432,21 +4439,30 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
|
||||
gBattleMons[gActiveBattler].status2 |= STATUS2_FOCUS_ENERGY;
|
||||
retVal = FALSE;
|
||||
}
|
||||
#ifndef ITEM_EXPANSION
|
||||
if ((itemEffect[cmdIndex] & ITEM0_X_ATTACK)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_ATK] < MAX_STAT_STAGE)
|
||||
{
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ATK] += itemEffect[cmdIndex] & ITEM0_X_ATTACK;
|
||||
if (B_X_ITEMS_BUFF == GEN_7)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ATK] += 2;
|
||||
else
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ATK] += itemEffect[cmdIndex] & ITEM0_X_ATTACK;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_ATK] > MAX_STAT_STAGE)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ATK] = MAX_STAT_STAGE;
|
||||
retVal = FALSE;
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
// in-battle stat boosting effects
|
||||
#ifndef ITEM_EXPANSION
|
||||
case 1:
|
||||
if ((itemEffect[cmdIndex] & ITEM1_X_DEFEND)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_DEF] < MAX_STAT_STAGE)
|
||||
{
|
||||
gBattleMons[gActiveBattler].statStages[STAT_DEF] += (itemEffect[cmdIndex] & ITEM1_X_DEFEND) >> 4;
|
||||
if (B_X_ITEMS_BUFF == GEN_7)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_DEF] += 2;
|
||||
else
|
||||
gBattleMons[gActiveBattler].statStages[STAT_DEF] += (itemEffect[cmdIndex] & ITEM1_X_DEFEND) >> 4;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_DEF] > MAX_STAT_STAGE)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_DEF] = MAX_STAT_STAGE;
|
||||
retVal = FALSE;
|
||||
@ -4454,7 +4470,10 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
|
||||
if ((itemEffect[cmdIndex] & ITEM1_X_SPEED)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_SPEED] < MAX_STAT_STAGE)
|
||||
{
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPEED] += itemEffect[cmdIndex] & ITEM1_X_SPEED;
|
||||
if (B_X_ITEMS_BUFF == GEN_7)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPEED] += 2;
|
||||
else
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPEED] += itemEffect[cmdIndex] & ITEM1_X_SPEED;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_SPEED] > MAX_STAT_STAGE)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPEED] = MAX_STAT_STAGE;
|
||||
retVal = FALSE;
|
||||
@ -4465,7 +4484,10 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
|
||||
if ((itemEffect[cmdIndex] & ITEM2_X_ACCURACY)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_ACC] < MAX_STAT_STAGE)
|
||||
{
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ACC] += (itemEffect[cmdIndex] & ITEM2_X_ACCURACY) >> 4;
|
||||
if (B_X_ITEMS_BUFF == GEN_7)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ACC] += 2;
|
||||
else
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ACC] += (itemEffect[cmdIndex] & ITEM2_X_ACCURACY) >> 4;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_ACC] > MAX_STAT_STAGE)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ACC] = MAX_STAT_STAGE;
|
||||
retVal = FALSE;
|
||||
@ -4473,12 +4495,89 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
|
||||
if ((itemEffect[cmdIndex] & ITEM2_X_SPATK)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_SPATK] < MAX_STAT_STAGE)
|
||||
{
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPATK] += itemEffect[cmdIndex] & ITEM2_X_SPATK;
|
||||
if (B_X_ITEMS_BUFF == GEN_7)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPATK] += 2;
|
||||
else
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPATK] += itemEffect[cmdIndex] & ITEM2_X_SPATK;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_SPATK] > MAX_STAT_STAGE)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPATK] = MAX_STAT_STAGE;
|
||||
retVal = FALSE;
|
||||
}
|
||||
break;
|
||||
#else
|
||||
// in-battle stat boosting effects
|
||||
case 1:
|
||||
if ((itemEffect[cmdIndex] & ITEM1_X_ATTACK)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_ATK] < MAX_STAT_STAGE)
|
||||
{
|
||||
if (B_X_ITEMS_BUFF == GEN_7)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ATK] += 2;
|
||||
else
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ATK] += 1;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_ATK] > MAX_STAT_STAGE)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ATK] = MAX_STAT_STAGE;
|
||||
retVal = FALSE;
|
||||
}
|
||||
if ((itemEffect[cmdIndex] & ITEM1_X_DEFENSE)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_DEF] < MAX_STAT_STAGE)
|
||||
{
|
||||
if (B_X_ITEMS_BUFF == GEN_7)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_DEF] += 2;
|
||||
else
|
||||
gBattleMons[gActiveBattler].statStages[STAT_DEF] += 1;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_DEF] > MAX_STAT_STAGE)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_DEF] = MAX_STAT_STAGE;
|
||||
retVal = FALSE;
|
||||
}
|
||||
if ((itemEffect[cmdIndex] & ITEM1_X_SPEED)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_SPEED] < MAX_STAT_STAGE)
|
||||
{
|
||||
if (B_X_ITEMS_BUFF == GEN_7)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPEED] += 2;
|
||||
else
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPEED] += 1;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_SPEED] > MAX_STAT_STAGE)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPEED] = MAX_STAT_STAGE;
|
||||
retVal = FALSE;
|
||||
}
|
||||
if ((itemEffect[cmdIndex] & ITEM1_X_SPATK)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_SPATK] < MAX_STAT_STAGE)
|
||||
{
|
||||
if (B_X_ITEMS_BUFF == GEN_7)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPATK] += 2;
|
||||
else
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPATK] += 1;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_SPATK] > MAX_STAT_STAGE)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPATK] = MAX_STAT_STAGE;
|
||||
retVal = FALSE;
|
||||
}
|
||||
if ((itemEffect[cmdIndex] & ITEM1_X_SPDEF)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_SPDEF] < MAX_STAT_STAGE)
|
||||
{
|
||||
if (B_X_ITEMS_BUFF == GEN_7)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPDEF] += 2;
|
||||
else
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPDEF] += 1;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_SPDEF] > MAX_STAT_STAGE)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPDEF] = MAX_STAT_STAGE;
|
||||
retVal = FALSE;
|
||||
}
|
||||
if ((itemEffect[cmdIndex] & ITEM1_X_ACCURACY)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_ACC] < MAX_STAT_STAGE)
|
||||
{
|
||||
if (B_X_ITEMS_BUFF == GEN_7)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ACC] += 2;
|
||||
else
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ACC] += 1;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_ACC] > MAX_STAT_STAGE)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ACC] = MAX_STAT_STAGE;
|
||||
retVal = FALSE;
|
||||
}
|
||||
break;
|
||||
// formerly used by the item effects of the X Sp. Atk and the X Accuracy
|
||||
case 2:
|
||||
break;
|
||||
#endif
|
||||
case 3:
|
||||
if ((itemEffect[cmdIndex] & ITEM3_GUARD_SPEC)
|
||||
&& gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer == 0)
|
||||
@ -5026,7 +5125,15 @@ static void BufferStatRoseMessage(s32 arg0)
|
||||
{
|
||||
gBattlerTarget = gBattlerInMenuId;
|
||||
StringCopy(gBattleTextBuff1, gStatNamesTable[sStatsToRaise[arg0]]);
|
||||
StringCopy(gBattleTextBuff2, gText_StatRose);
|
||||
if (B_X_ITEMS_BUFF == GEN_7)
|
||||
{
|
||||
StringCopy(gBattleTextBuff2, gText_StatSharply);
|
||||
StringAppend(gBattleTextBuff2, gText_StatRose);
|
||||
}
|
||||
else
|
||||
{
|
||||
StringCopy(gBattleTextBuff2, gText_StatRose);
|
||||
}
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnsStatChanged2);
|
||||
}
|
||||
|
||||
@ -5049,6 +5156,7 @@ u8 *UseStatIncreaseItem(u16 itemId)
|
||||
|
||||
gPotentialItemEffectBattler = gBattlerInMenuId;
|
||||
|
||||
#ifndef ITEM_EXPANSION
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
if (itemEffect[i] & (ITEM0_X_ATTACK | ITEM1_X_SPEED | ITEM2_X_SPATK))
|
||||
@ -5073,6 +5181,41 @@ u8 *UseStatIncreaseItem(u16 itemId)
|
||||
gBattlerAttacker = gBattlerInMenuId;
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnShroudedInMist);
|
||||
}
|
||||
#else
|
||||
if (itemEffect[0] & ITEM0_DIRE_HIT)
|
||||
{
|
||||
gBattlerAttacker = gBattlerInMenuId;
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnGettingPumped);
|
||||
}
|
||||
|
||||
switch (itemEffect[1])
|
||||
{
|
||||
case ITEM1_X_ATTACK:
|
||||
BufferStatRoseMessage(STAT_ATK);
|
||||
break;
|
||||
case ITEM1_X_DEFENSE:
|
||||
BufferStatRoseMessage(STAT_DEF);
|
||||
break;
|
||||
case ITEM1_X_SPEED:
|
||||
BufferStatRoseMessage(STAT_SPEED);
|
||||
break;
|
||||
case ITEM1_X_SPATK:
|
||||
BufferStatRoseMessage(STAT_SPATK);
|
||||
break;
|
||||
case ITEM1_X_SPDEF:
|
||||
BufferStatRoseMessage(STAT_SPDEF);
|
||||
break;
|
||||
case ITEM1_X_ACCURACY:
|
||||
BufferStatRoseMessage(STAT_ACC);
|
||||
break;
|
||||
}
|
||||
|
||||
if (itemEffect[3] & ITEM3_GUARD_SPEC)
|
||||
{
|
||||
gBattlerAttacker = gBattlerInMenuId;
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gText_PkmnShroudedInMist);
|
||||
}
|
||||
#endif
|
||||
|
||||
return gDisplayedStringBattle;
|
||||
}
|
||||
@ -6724,3 +6867,26 @@ u8 *sub_806F4F8(u8 id, u8 arg1)
|
||||
return structPtr->byteArrays[arg1];
|
||||
}
|
||||
}
|
||||
|
||||
u16 GetFormSpeciesId(u16 speciesId, u8 formId)
|
||||
{
|
||||
if (gFormSpeciesIdTables[speciesId] != NULL)
|
||||
return gFormSpeciesIdTables[speciesId][formId];
|
||||
else
|
||||
return speciesId;
|
||||
}
|
||||
|
||||
u8 GetFormIdFromFormSpeciesId(u16 formSpeciesId)
|
||||
{
|
||||
u8 targetFormId = 0;
|
||||
|
||||
if (gFormSpeciesIdTables[formSpeciesId] != NULL)
|
||||
{
|
||||
for (targetFormId = 0; gFormSpeciesIdTables[formSpeciesId][targetFormId] != FORM_SPECIES_END; targetFormId++)
|
||||
{
|
||||
if (formSpeciesId == gFormSpeciesIdTables[formSpeciesId][targetFormId])
|
||||
break;
|
||||
}
|
||||
}
|
||||
return targetFormId;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user