mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-03-06 07:27:47 +01:00
Secret Power effect config
This commit is contained in:
parent
62b6accbcc
commit
328976bf81
@ -364,16 +364,29 @@
|
||||
#define MOVE_EFFECT_CERTAIN 0x8000
|
||||
|
||||
// Battle terrain defines for gBattleTerrain.
|
||||
#define BATTLE_TERRAIN_GRASS 0
|
||||
#define BATTLE_TERRAIN_LONG_GRASS 1
|
||||
#define BATTLE_TERRAIN_SAND 2
|
||||
#define BATTLE_TERRAIN_UNDERWATER 3
|
||||
#define BATTLE_TERRAIN_WATER 4
|
||||
#define BATTLE_TERRAIN_POND 5
|
||||
#define BATTLE_TERRAIN_MOUNTAIN 6
|
||||
#define BATTLE_TERRAIN_CAVE 7
|
||||
#define BATTLE_TERRAIN_BUILDING 8
|
||||
#define BATTLE_TERRAIN_PLAIN 9
|
||||
#define BATTLE_TERRAIN_GRASS 0
|
||||
#define BATTLE_TERRAIN_LONG_GRASS 1
|
||||
#define BATTLE_TERRAIN_SAND 2
|
||||
#define BATTLE_TERRAIN_UNDERWATER 3
|
||||
#define BATTLE_TERRAIN_WATER 4
|
||||
#define BATTLE_TERRAIN_POND 5
|
||||
#define BATTLE_TERRAIN_MOUNTAIN 6
|
||||
#define BATTLE_TERRAIN_CAVE 7
|
||||
#define BATTLE_TERRAIN_BUILDING 8
|
||||
#define BATTLE_TERRAIN_PLAIN 9
|
||||
// New battle terrains are used for Secret Power but not fully implemented.
|
||||
#define BATTLE_TERRAIN_SOARING 10
|
||||
#define BATTLE_TERRAIN_SKY_PILLAR 11
|
||||
#define BATTLE_TERRAIN_BURIAL_GROUND 12
|
||||
#define BATTLE_TERRAIN_PUDDLE 13
|
||||
#define BATTLE_TERRAIN_MARSH 14
|
||||
#define BATTLE_TERRAIN_SWAMP 15
|
||||
#define BATTLE_TERRAIN_SNOW 16
|
||||
#define BATTLE_TERRAIN_ICE 17
|
||||
#define BATTLE_TERRAIN_VOLCANO 18
|
||||
#define BATTLE_TERRAIN_DISTORTION_WORLD 19
|
||||
#define BATTLE_TERRAIN_SPACE 20
|
||||
#define BATTLE_TERRAIN_ULTRA_SPACE 21
|
||||
|
||||
#define B_WAIT_TIME_LONG 64
|
||||
#define B_WAIT_TIME_MED 48
|
||||
|
@ -153,6 +153,7 @@
|
||||
#define B_MEMENTO_FAIL GEN_7 // In Gen4+, Memento fails if there is no target or if the target is protected or behind substitute. But not if Atk/Sp. Atk are at -6.
|
||||
#define B_GLARE_GHOST GEN_7 // In Gen4+, Glare can hit Ghost-type Pokémon normally.
|
||||
#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.
|
||||
|
||||
// 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.
|
||||
|
@ -12483,7 +12483,11 @@ u16 GetSecretPowerMoveEffect(void)
|
||||
switch (gBattleTerrain)
|
||||
{
|
||||
case BATTLE_TERRAIN_GRASS:
|
||||
moveEffect = MOVE_EFFECT_SLEEP;
|
||||
#if B_SECRET_POWER_EFFECT >= GEN_4
|
||||
moveEffect = MOVE_EFFECT_SLEEP;
|
||||
#else
|
||||
moveEffect = MOVE_EFFECT_POISON;
|
||||
#endif
|
||||
break;
|
||||
case BATTLE_TERRAIN_LONG_GRASS:
|
||||
moveEffect = MOVE_EFFECT_SLEEP;
|
||||
@ -12492,20 +12496,59 @@ u16 GetSecretPowerMoveEffect(void)
|
||||
moveEffect = MOVE_EFFECT_ACC_MINUS_1;
|
||||
break;
|
||||
case BATTLE_TERRAIN_UNDERWATER:
|
||||
moveEffect = MOVE_EFFECT_ATK_MINUS_1;
|
||||
#if B_SECRET_POWER_EFFECT >= GEN_6
|
||||
moveEffect = MOVE_EFFECT_ATK_MINUS_1;
|
||||
#else
|
||||
moveEffect = MOVE_EFFECT_DEF_MINUS_1;
|
||||
#endif
|
||||
break;
|
||||
case BATTLE_TERRAIN_WATER:
|
||||
moveEffect = MOVE_EFFECT_ATK_MINUS_1;
|
||||
break;
|
||||
case BATTLE_TERRAIN_POND:
|
||||
moveEffect = MOVE_EFFECT_ATK_MINUS_1;
|
||||
#if B_SECRET_POWER_EFFECT >= GEN_4
|
||||
moveEffect = MOVE_EFFECT_ATK_MINUS_1;
|
||||
#else
|
||||
moveEffect = MOVE_EFFECT_SPD_MINUS_1;
|
||||
#endif
|
||||
break;
|
||||
case BATTLE_TERRAIN_MOUNTAIN:
|
||||
moveEffect = MOVE_EFFECT_ACC_MINUS_1;
|
||||
#if B_SECRET_POWER_EFFECT >= GEN_5
|
||||
moveEffect = MOVE_EFFECT_ACC_MINUS_1;
|
||||
#elif B_SECRET_POWER_EFFECT == GEN_4
|
||||
moveEffect = MOVE_EFFECT_FLINCH;
|
||||
#else
|
||||
moveEffect = MOVE_EFFECT_CONFUSION;
|
||||
#endif
|
||||
break;
|
||||
case BATTLE_TERRAIN_CAVE:
|
||||
case BATTLE_TERRAIN_BURIAL_GROUND:
|
||||
case BATTLE_TERRAIN_SPACE:
|
||||
moveEffect = MOVE_EFFECT_FLINCH;
|
||||
break;
|
||||
case BATTLE_TERRAIN_SOARING:
|
||||
case BATTLE_TERRAIN_SKY_PILLAR:
|
||||
case BATTLE_TERRAIN_MARSH:
|
||||
case BATTLE_TERRAIN_SWAMP:
|
||||
moveEffect = MOVE_EFFECT_SPD_MINUS_1;
|
||||
break;
|
||||
case BATTLE_TERRAIN_PUDDLE:
|
||||
#if B_SECRET_POWER_EFFECT >= GEN_5
|
||||
moveEffect = MOVE_EFFECT_SPD_MINUS_1;
|
||||
#else
|
||||
moveEffect = MOVE_EFFECT_ACC_MINUS_1;
|
||||
#endif
|
||||
break;
|
||||
case BATTLE_TERRAIN_SNOW:
|
||||
case BATTLE_TERRAIN_ICE:
|
||||
moveEffect = MOVE_EFFECT_FREEZE;
|
||||
break;
|
||||
case BATTLE_TERRAIN_VOLCANO:
|
||||
moveEffect = MOVE_EFFECT_BURN;
|
||||
break;
|
||||
case BATTLE_TERRAIN_ULTRA_SPACE:
|
||||
moveEffect = MOVE_EFFECT_DEF_MINUS_1;
|
||||
break;
|
||||
default:
|
||||
moveEffect = MOVE_EFFECT_PARALYSIS;
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user