implemented G-Max Drum Solo, G-Max Hydrosnipe, G-Max Fireball
This commit is contained in:
parent
92c8503869
commit
05fe62cbab
4 changed files with 22 additions and 10 deletions
|
@ -50,10 +50,12 @@ enum MaxMoveEffect
|
|||
MAX_EFFECT_TORMENT_FOES,
|
||||
MAX_EFFECT_LOWER_SPEED_2_FOES,
|
||||
MAX_EFFECT_FIRE_SPIN_FOES,
|
||||
MAX_EFFECT_FIXED_POWER,
|
||||
};
|
||||
|
||||
bool8 ShouldUseMaxMove(u16 battlerId, u16 baseMove);
|
||||
u16 GetMaxMove(u16 battlerId, u16 baseMove);
|
||||
u8 GetMaxMovePower(u16 move);
|
||||
bool8 IsMaxMove(u16 move);
|
||||
const u8 *GetMaxMoveName(u16 move);
|
||||
void ChooseDamageNonTypesString(u8 move);
|
||||
|
|
|
@ -22,7 +22,7 @@ static const u16 sMaxMoveTable[] =
|
|||
[TYPE_GHOST] = MOVE_MAX_PHANTASM,
|
||||
[TYPE_STEEL] = MOVE_MAX_STEELSPIKE,
|
||||
[TYPE_FIRE] = MOVE_MAX_FLARE,
|
||||
[TYPE_WATER] = MOVE_MAX_GEYSER,
|
||||
[TYPE_WATER] = MOVE_G_MAX_HYDROSNIPE,
|
||||
[TYPE_GRASS] = MOVE_MAX_OVERGROWTH,
|
||||
[TYPE_ELECTRIC] = MOVE_MAX_LIGHTNING,
|
||||
[TYPE_PSYCHIC] = MOVE_MAX_MINDSTORM,
|
||||
|
@ -76,6 +76,8 @@ static const struct GMaxMove sGMaxMoveTable[] =
|
|||
{SPECIES_URSHIFU_RAPID_STRIKE_STYLE_GMAX, TYPE_WATER, MOVE_G_MAX_RAPID_FLOW},
|
||||
};
|
||||
|
||||
extern u8 gMaxMovePowers[MOVES_COUNT];
|
||||
|
||||
// Returns whether a move should be converted into a Max Move.
|
||||
bool8 ShouldUseMaxMove(u16 battlerId, u16 baseMove)
|
||||
{
|
||||
|
@ -109,6 +111,15 @@ u16 GetMaxMove(u16 battlerId, u16 baseMove)
|
|||
return move;
|
||||
}
|
||||
|
||||
// Gets the base power of a Max Move.
|
||||
u8 GetMaxMovePower(u16 move)
|
||||
{
|
||||
if (gBattleMoves[GetMaxMove(gBattlerAttacker, move)].argument == MAX_EFFECT_FIXED_POWER)
|
||||
return 160;
|
||||
else
|
||||
return gMaxMovePowers[move]; // TODO: Rework to a field in gBattleMoves.
|
||||
}
|
||||
|
||||
// Returns whether a move is a Max Move or not.
|
||||
bool8 IsMaxMove(u16 move)
|
||||
{
|
||||
|
|
|
@ -47,7 +47,6 @@
|
|||
#include "constants/pokemon.h"
|
||||
|
||||
extern struct Evolution gEvolutionTable[][EVOS_PER_MON];
|
||||
extern u8 gDynamaxMovePowers[MOVES_COUNT];
|
||||
|
||||
/*
|
||||
NOTE: The data and functions in this file up until (but not including) sSoundMovesTable
|
||||
|
@ -8802,7 +8801,7 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef)
|
|||
#endif
|
||||
break;
|
||||
case EFFECT_MAX_MOVE:
|
||||
basePower = gDynamaxMovePowers[gBattleMons[battlerAtk].moves[gBattleStruct->chosenMovePositions[battlerAtk]]];
|
||||
basePower = GetMaxMovePower(gBattleMons[battlerAtk].moves[gBattleStruct->chosenMovePositions[battlerAtk]]);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -15521,9 +15521,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||
.secondaryEffectChance = 100,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.flags = 0,
|
||||
.flags = FLAG_TARGET_ABILITY_IGNORED,
|
||||
.split = SPLIT_PHYSICAL,
|
||||
.argument = MAX_EFFECT_TORMENT_FOES, //EFFECT TODO
|
||||
.argument = MAX_EFFECT_FIXED_POWER, //EFFECT TODO
|
||||
},
|
||||
|
||||
[MOVE_G_MAX_FIREBALL] =
|
||||
|
@ -15536,9 +15536,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||
.secondaryEffectChance = 100,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.flags = 0,
|
||||
.flags = FLAG_TARGET_ABILITY_IGNORED,
|
||||
.split = SPLIT_PHYSICAL,
|
||||
.argument = MAX_EFFECT_TORMENT_FOES, //EFFECT TODO
|
||||
.argument = MAX_EFFECT_FIXED_POWER, //EFFECT TODO
|
||||
},
|
||||
|
||||
[MOVE_G_MAX_HYDROSNIPE] =
|
||||
|
@ -15551,9 +15551,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||
.secondaryEffectChance = 100,
|
||||
.target = MOVE_TARGET_SELECTED,
|
||||
.priority = 0,
|
||||
.flags = 0,
|
||||
.flags = FLAG_TARGET_ABILITY_IGNORED,
|
||||
.split = SPLIT_PHYSICAL,
|
||||
.argument = MAX_EFFECT_TORMENT_FOES, //EFFECT TODO
|
||||
.argument = MAX_EFFECT_FIXED_POWER, //EFFECT TODO
|
||||
},
|
||||
|
||||
[MOVE_G_MAX_WIND_RAGE] =
|
||||
|
@ -15799,7 +15799,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_DYNAMAX] =
|
|||
|
||||
};
|
||||
|
||||
const u8 gDynamaxMovePowers[MOVES_COUNT] =
|
||||
const u8 gMaxMovePowers[MOVES_COUNT] =
|
||||
{
|
||||
[MOVE_POUND] = 90,
|
||||
[MOVE_KARATE_CHOP] = 75,
|
||||
|
|
Loading…
Reference in a new issue