mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-01-18 17:34:20 +01:00
Updated NaturePowerMoves table for new terrains + added failsafe in case the terrain isn't defined in the table
This commit is contained in:
parent
e9804a5023
commit
b220da1d2a
@ -388,6 +388,8 @@
|
||||
#define BATTLE_TERRAIN_SPACE 20
|
||||
#define BATTLE_TERRAIN_ULTRA_SPACE 21
|
||||
|
||||
#define BATTLE_TERRAIN_COUNT 22
|
||||
|
||||
#define B_WAIT_TIME_LONG 64
|
||||
#define B_WAIT_TIME_MED 48
|
||||
#define B_WAIT_TIME_SHORT 32
|
||||
|
@ -155,6 +155,7 @@
|
||||
#define B_SKILL_SWAP GEN_7 // In Gen4+, Skill Swap triggers switch-in abilities after use.
|
||||
#define B_SECRET_POWER_EFFECT GEN_7 // Secret Power's effects change depending on the generation. See GetSecretPowerMoveEffect.
|
||||
#define B_SECRET_POWER_ANIMATION GEN_7 // Secret Power's animations change depending on the generation.
|
||||
#define B_NATURE_POWER_MOVES GEN_8 // Nature Power calls different moves depending on the generation.
|
||||
|
||||
// Ability settings
|
||||
#define B_ABILITY_WEATHER GEN_7 // In Gen6+, ability-induced weather lasts 5 turns. Before, it lasted until the battle ended or until it was changed by a move or a different weather-affecting ability.
|
||||
|
@ -1097,18 +1097,76 @@ static const u16 sMoveEffectsForbiddenToInstruct[] =
|
||||
FORBIDDEN_INSTRUCT_END
|
||||
};
|
||||
|
||||
static const u16 sNaturePowerMoves[] =
|
||||
static const u16 sNaturePowerMoves[BATTLE_TERRAIN_COUNT] =
|
||||
{
|
||||
#if B_NATURE_POWER_MOVES >= GEN_7
|
||||
[BATTLE_TERRAIN_GRASS] = MOVE_ENERGY_BALL,
|
||||
[BATTLE_TERRAIN_LONG_GRASS] = MOVE_ENERGY_BALL,
|
||||
[BATTLE_TERRAIN_SAND] = MOVE_EARTH_POWER,
|
||||
[BATTLE_TERRAIN_UNDERWATER] = MOVE_HYDRO_PUMP,
|
||||
[BATTLE_TERRAIN_WATER] = MOVE_HYDRO_PUMP,
|
||||
[BATTLE_TERRAIN_POND] = MOVE_HYDRO_PUMP,
|
||||
[BATTLE_TERRAIN_MOUNTAIN] = MOVE_EARTH_POWER,
|
||||
[BATTLE_TERRAIN_CAVE] = MOVE_POWER_GEM,
|
||||
[BATTLE_TERRAIN_CAVE] = MOVE_EARTH_POWER,
|
||||
[BATTLE_TERRAIN_BUILDING] = MOVE_TRI_ATTACK,
|
||||
[BATTLE_TERRAIN_PLAIN] = MOVE_TRI_ATTACK
|
||||
[BATTLE_TERRAIN_PLAIN] = MOVE_TRI_ATTACK,
|
||||
[BATTLE_TERRAIN_SNOW] = MOVE_ICE_BEAM,
|
||||
#elif B_NATURE_POWER_MOVES == GEN_6
|
||||
[BATTLE_TERRAIN_GRASS] = MOVE_ENERGY_BALL,
|
||||
[BATTLE_TERRAIN_LONG_GRASS] = MOVE_ENERGY_BALL,
|
||||
[BATTLE_TERRAIN_SAND] = MOVE_EARTH_POWER,
|
||||
[BATTLE_TERRAIN_WATER] = MOVE_HYDRO_PUMP,
|
||||
[BATTLE_TERRAIN_POND] = MOVE_HYDRO_PUMP,
|
||||
[BATTLE_TERRAIN_MOUNTAIN] = MOVE_EARTH_POWER,
|
||||
[BATTLE_TERRAIN_CAVE] = MOVE_EARTH_POWER,
|
||||
[BATTLE_TERRAIN_BUILDING] = MOVE_TRI_ATTACK,
|
||||
[BATTLE_TERRAIN_PLAIN] = MOVE_TRI_ATTACK,
|
||||
[BATTLE_TERRAIN_SNOW] = MOVE_FROST_BREATH,
|
||||
#elif B_NATURE_POWER_MOVES == GEN_5
|
||||
[BATTLE_TERRAIN_GRASS] = MOVE_SEED_BOMB,
|
||||
[BATTLE_TERRAIN_LONG_GRASS] = MOVE_SEED_BOMB,
|
||||
[BATTLE_TERRAIN_SAND] = MOVE_EARTHQUAKE,
|
||||
[BATTLE_TERRAIN_WATER] = MOVE_HYDRO_PUMP,
|
||||
[BATTLE_TERRAIN_POND] = MOVE_HYDRO_PUMP,
|
||||
[BATTLE_TERRAIN_MOUNTAIN] = MOVE_EARTHQUAKE,
|
||||
[BATTLE_TERRAIN_CAVE] = MOVE_EARTHQUAKE,
|
||||
[BATTLE_TERRAIN_BUILDING] = MOVE_TRI_ATTACK,
|
||||
[BATTLE_TERRAIN_PLAIN] = MOVE_EARTHQUAKE,
|
||||
[BATTLE_TERRAIN_SNOW] = MOVE_BLIZZARD,
|
||||
#elif B_NATURE_POWER_MOVES == GEN_4
|
||||
[BATTLE_TERRAIN_GRASS] = MOVE_SEED_BOMB,
|
||||
[BATTLE_TERRAIN_LONG_GRASS] = MOVE_SEED_BOMB,
|
||||
[BATTLE_TERRAIN_SAND] = MOVE_EARTHQUAKE,
|
||||
[BATTLE_TERRAIN_WATER] = MOVE_HYDRO_PUMP,
|
||||
[BATTLE_TERRAIN_POND] = MOVE_HYDRO_PUMP,
|
||||
[BATTLE_TERRAIN_MOUNTAIN] = MOVE_ROCK_SLIDE,
|
||||
[BATTLE_TERRAIN_CAVE] = MOVE_ROCK_SLIDE,
|
||||
[BATTLE_TERRAIN_BUILDING] = MOVE_TRI_ATTACK,
|
||||
[BATTLE_TERRAIN_PLAIN] = MOVE_EARTHQUAKE,
|
||||
[BATTLE_TERRAIN_SNOW] = MOVE_BLIZZARD,
|
||||
#else // Gen 1-3
|
||||
[BATTLE_TERRAIN_GRASS] = MOVE_STUN_SPORE,
|
||||
[BATTLE_TERRAIN_LONG_GRASS] = MOVE_RAZOR_LEAF,
|
||||
[BATTLE_TERRAIN_SAND] = MOVE_EARTHQUAKE,
|
||||
[BATTLE_TERRAIN_WATER] = MOVE_SURF,
|
||||
[BATTLE_TERRAIN_POND] = MOVE_BUBBLE_BEAM,
|
||||
[BATTLE_TERRAIN_MOUNTAIN] = MOVE_ROCK_SLIDE,
|
||||
[BATTLE_TERRAIN_CAVE] = MOVE_SHADOW_BALL,
|
||||
[BATTLE_TERRAIN_BUILDING] = MOVE_SWIFT,
|
||||
[BATTLE_TERRAIN_PLAIN] = MOVE_SWIFT,
|
||||
[BATTLE_TERRAIN_SNOW] = MOVE_BLIZZARD,
|
||||
#endif
|
||||
[BATTLE_TERRAIN_UNDERWATER] = MOVE_HYDRO_PUMP,
|
||||
[BATTLE_TERRAIN_SOARING] = MOVE_AIR_SLASH,
|
||||
[BATTLE_TERRAIN_SKY_PILLAR] = MOVE_AIR_SLASH,
|
||||
[BATTLE_TERRAIN_BURIAL_GROUND] = MOVE_SHADOW_BALL,
|
||||
[BATTLE_TERRAIN_PUDDLE] = MOVE_MUD_BOMB,
|
||||
[BATTLE_TERRAIN_MARSH] = MOVE_MUD_BOMB,
|
||||
[BATTLE_TERRAIN_SWAMP] = MOVE_MUD_BOMB,
|
||||
[BATTLE_TERRAIN_ICE] = MOVE_ICE_BEAM,
|
||||
[BATTLE_TERRAIN_VOLCANO] = MOVE_LAVA_PLUME,
|
||||
[BATTLE_TERRAIN_DISTORTION_WORLD] = MOVE_TRI_ATTACK,
|
||||
[BATTLE_TERRAIN_SPACE] = MOVE_DRACO_METEOR,
|
||||
[BATTLE_TERRAIN_ULTRA_SPACE] = MOVE_PSYSHOCK,
|
||||
};
|
||||
|
||||
static const u16 sPickupItems[] =
|
||||
@ -11866,6 +11924,8 @@ u16 GetNaturePowerMove(void)
|
||||
return MOVE_ENERGY_BALL;
|
||||
else if (gFieldStatuses & STATUS_FIELD_PSYCHIC_TERRAIN)
|
||||
return MOVE_PSYCHIC;
|
||||
else if (sNaturePowerMoves == MOVE_NONE)
|
||||
return MOVE_TRI_ATTACK;
|
||||
return sNaturePowerMoves[gBattleTerrain];
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user