Master to upcoming merge
This commit is contained in:
commit
35dff24c9b
3
Makefile
3
Makefile
@ -366,9 +366,6 @@ clean-generated:
|
||||
COMPETITIVE_PARTY_SYNTAX := $(shell PATH="$(PATH)"; echo 'COMPETITIVE_PARTY_SYNTAX' | $(CPP) $(CPPFLAGS) -imacros include/gba/defines.h -imacros include/config/general.h | tail -n1)
|
||||
ifeq ($(COMPETITIVE_PARTY_SYNTAX),1)
|
||||
%.h: %.party ; $(CPP) $(CPPFLAGS) -traditional-cpp - < $< | $(TRAINERPROC) -o $@ -i $< -
|
||||
|
||||
AUTO_GEN_TARGETS += $(DATA_SRC_SUBDIR)/trainers.h
|
||||
AUTO_GEN_TARGETS += $(DATA_SRC_SUBDIR)/battle_partners.h
|
||||
endif
|
||||
|
||||
$(C_BUILDDIR)/librfu_intr.o: CFLAGS := -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast
|
||||
|
||||
@ -5050,7 +5050,7 @@ BattleScript_EffectSnatch::
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
BattleScript_EffectRecoilHP25::
|
||||
BattleScript_EffectStruggle::
|
||||
jumpifnotmove MOVE_STRUGGLE, BattleScript_EffectHit
|
||||
incrementgamestat GAME_STAT_USED_STRUGGLE
|
||||
goto BattleScript_EffectHit
|
||||
@ -8372,9 +8372,11 @@ BattleScript_FriskMsg::
|
||||
|
||||
BattleScript_FriskActivates::
|
||||
saveattacker
|
||||
savetarget
|
||||
copybyte gBattlerAttacker, sBATTLER
|
||||
tryfriskmsg BS_SCRIPTING
|
||||
restoreattacker
|
||||
restoretarget
|
||||
end3
|
||||
|
||||
BattleScript_ImposterActivates::
|
||||
@ -8874,34 +8876,29 @@ BattleScript_BerryConfuseHealRet_Anim:
|
||||
removeitem BS_TARGET
|
||||
return
|
||||
|
||||
BattleScript_BerryStatRaiseEnd2::
|
||||
jumpifability BS_ATTACKER, ABILITY_RIPEN, BattleScript_BerryStatRaiseEnd2_AbilityPopup
|
||||
goto BattleScript_BerryStatRaiseEnd2_Anim
|
||||
BattleScript_BerryStatRaiseEnd2_AbilityPopup:
|
||||
call BattleScript_AbilityPopUp
|
||||
BattleScript_BerryStatRaiseEnd2_Anim:
|
||||
statbuffchange STAT_CHANGE_ALLOW_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_BerryStatRaiseEnd2_End
|
||||
setgraphicalstatchangevalues
|
||||
playanimation BS_ATTACKER, B_ANIM_HELD_ITEM_EFFECT, sB_ANIM_ARG1
|
||||
setbyte cMULTISTRING_CHOOSER, B_MSG_STAT_ROSE_ITEM
|
||||
call BattleScript_StatUp
|
||||
removeitem BS_ATTACKER
|
||||
BattleScript_BerryStatRaiseEnd2_End::
|
||||
BattleScript_ConsumableStatRaiseEnd2::
|
||||
call BattleScript_ConsumableStatRaiseRet
|
||||
end2
|
||||
|
||||
BattleScript_BerryStatRaiseRet::
|
||||
jumpifability BS_SCRIPTING, ABILITY_RIPEN, BattleScript_BerryStatRaiseRet_AbilityPopup
|
||||
goto BattleScript_BerryStatRaiseRet_Anim
|
||||
BattleScript_BerryStatRaiseRet_AbilityPopup:
|
||||
BattleScript_ConsumableStatRaiseRet::
|
||||
@ to ensure `statbuffchange` has correct battler id, backup and use target
|
||||
savetarget
|
||||
copybyte gBattlerTarget, sBATTLER
|
||||
jumpifnotberry BS_SCRIPTING, BattleScript_ConsumableStatRaiseRet_Anim
|
||||
@ check ripen popup if consuming berry
|
||||
jumpifability BS_SCRIPTING, ABILITY_RIPEN, BattleScript_ConsumableStatRaiseRet_AbilityPopup
|
||||
goto BattleScript_ConsumableStatRaiseRet_Anim
|
||||
BattleScript_ConsumableStatRaiseRet_AbilityPopup:
|
||||
call BattleScript_AbilityPopUp
|
||||
BattleScript_BerryStatRaiseRet_Anim:
|
||||
statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_BerryStatRaiseRet_End
|
||||
BattleScript_ConsumableStatRaiseRet_Anim:
|
||||
statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_ConsumableStatRaiseRet_End
|
||||
setgraphicalstatchangevalues
|
||||
playanimation BS_SCRIPTING, B_ANIM_HELD_ITEM_EFFECT, sB_ANIM_ARG1
|
||||
setbyte cMULTISTRING_CHOOSER, B_MSG_STAT_ROSE_ITEM
|
||||
call BattleScript_StatUp
|
||||
removeitem BS_SCRIPTING
|
||||
BattleScript_BerryStatRaiseRet_End:
|
||||
BattleScript_ConsumableStatRaiseRet_End:
|
||||
restoretarget
|
||||
return
|
||||
|
||||
BattleScript_BerryFocusEnergyRet::
|
||||
|
||||
@ -235,8 +235,8 @@ extern const u8 BattleScript_SelectingNotAllowedMoveChoiceItemInPalace[];
|
||||
extern const u8 BattleScript_HangedOnMsg[];
|
||||
extern const u8 BattleScript_BerryConfuseHealEnd2[];
|
||||
extern const u8 BattleScript_BerryConfuseHealRet[];
|
||||
extern const u8 BattleScript_BerryStatRaiseEnd2[];
|
||||
extern const u8 BattleScript_BerryStatRaiseRet[];
|
||||
extern const u8 BattleScript_ConsumableStatRaiseEnd2[];
|
||||
extern const u8 BattleScript_ConsumableStatRaiseRet[];
|
||||
extern const u8 BattleScript_BerryFocusEnergyRet[];
|
||||
extern const u8 BattleScript_BerryFocusEnergyEnd2[];
|
||||
extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[];
|
||||
@ -491,7 +491,6 @@ extern const u8 BattleScript_ShellTrapSetUp[];
|
||||
extern const u8 BattleScript_StealthRockActivates[];
|
||||
extern const u8 BattleScript_CouldntFullyProtect[];
|
||||
extern const u8 BattleScript_MoveEffectStockpileWoreOff[];
|
||||
extern const u8 BattleScript_StealthRockActivates[];
|
||||
extern const u8 BattleScript_SpikesActivates[];
|
||||
extern const u8 BattleScript_BerserkGeneRet[];
|
||||
extern const u8 BattleScript_BerserkGeneRetEnd2[];
|
||||
@ -824,7 +823,7 @@ extern const u8 BattleScript_MoveEffectEerieSpell[];
|
||||
extern const u8 BattleScript_EffectJungleHealing[];
|
||||
extern const u8 BattleScript_EffectCoaching[];
|
||||
extern const u8 BattleScript_EffectDecorate[];
|
||||
extern const u8 BattleScript_EffectRecoilHP25[];
|
||||
extern const u8 BattleScript_EffectStruggle[];
|
||||
extern const u8 BattleScript_EffectStuffCheeks[];
|
||||
extern const u8 BattleScript_MoveEffectLightScreen[];
|
||||
extern const u8 BattleScript_MoveEffectReflect[];
|
||||
|
||||
@ -293,7 +293,7 @@ enum BattleMoveEffects
|
||||
EFFECT_DYNAMAX_DOUBLE_DMG,
|
||||
EFFECT_DECORATE,
|
||||
EFFECT_SNIPE_SHOT,
|
||||
EFFECT_RECOIL_HP_25,
|
||||
EFFECT_STRUGGLE,
|
||||
EFFECT_STUFF_CHEEKS,
|
||||
EFFECT_GRAV_APPLE,
|
||||
EFFECT_HYPERSPACE_FURY,
|
||||
|
||||
@ -6050,10 +6050,12 @@ void SetTypeBeforeUsingMove(u32 move, u32 battler)
|
||||
gBattleStruct->dynamicMoveType = TYPE_ELECTRIC | F_DYNAMIC_TYPE_SET;
|
||||
|
||||
// Check if a gem should activate.
|
||||
u32 effect = GetMoveEffect(move);
|
||||
if (holdEffect == HOLD_EFFECT_GEMS
|
||||
&& GetBattleMoveType(move) == ItemId_GetSecondaryId(heldItem)
|
||||
&& GetMoveEffect(move) != EFFECT_PLEDGE
|
||||
&& GetMovePower(move) > 1)
|
||||
&& effect != EFFECT_PLEDGE
|
||||
&& effect != EFFECT_OHKO
|
||||
&& effect != EFFECT_STRUGGLE)
|
||||
{
|
||||
gSpecialStatuses[battler].gemParam = GetBattlerHoldEffectParam(battler);
|
||||
gSpecialStatuses[battler].gemBoost = TRUE;
|
||||
|
||||
@ -2278,8 +2278,7 @@ static void Cmd_adjustdamage(void)
|
||||
if (gSpecialStatuses[gBattlerAttacker].gemBoost
|
||||
&& !(gBattleStruct->moveResultFlags[gBattlerTarget] & MOVE_RESULT_NO_EFFECT)
|
||||
&& !(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE)
|
||||
&& gBattleMons[gBattlerAttacker].item
|
||||
&& gCurrentMove != MOVE_STRUGGLE)
|
||||
&& gBattleMons[gBattlerAttacker].item)
|
||||
{
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_GemActivates;
|
||||
@ -5232,8 +5231,9 @@ static void Cmd_getexp(void)
|
||||
}
|
||||
}
|
||||
|
||||
bool32 NoAliveMonsForBattlerSide(u32 battler)
|
||||
static u32 CountAliveMonsForBattlerSide(u32 battler)
|
||||
{
|
||||
u32 aliveMons = 0;
|
||||
struct Pokemon *party = GetBattlerParty(battler);
|
||||
|
||||
for (u32 partyMon = 0; partyMon < PARTY_SIZE; partyMon++)
|
||||
@ -5241,10 +5241,15 @@ bool32 NoAliveMonsForBattlerSide(u32 battler)
|
||||
if (GetMonData(&party[partyMon], MON_DATA_SPECIES)
|
||||
&& GetMonData(&party[partyMon], MON_DATA_HP) > 0
|
||||
&& !GetMonData(&party[partyMon], MON_DATA_IS_EGG))
|
||||
return FALSE;
|
||||
aliveMons++;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
return aliveMons;
|
||||
}
|
||||
|
||||
bool32 NoAliveMonsForBattlerSide(u32 battler)
|
||||
{
|
||||
return CountAliveMonsForBattlerSide(battler) == 0;
|
||||
}
|
||||
|
||||
bool32 NoAliveMonsForPlayer(void)
|
||||
@ -5362,7 +5367,12 @@ static void Cmd_checkteamslost(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (emptyOpponentSpots != 0 && emptyPlayerSpots != 0)
|
||||
u32 occupiedPlayerSpots = (gBattlersCount / 2) - emptyPlayerSpots;
|
||||
u32 occupiedOpponentSpots = (gBattlersCount / 2) - emptyOpponentSpots;
|
||||
u32 alivePlayerPartyMons = CountAliveMonsForBattlerSide(B_POSITION_PLAYER_LEFT) - occupiedPlayerSpots;
|
||||
u32 aliveOpponentPartyMons = CountAliveMonsForBattlerSide(B_POSITION_OPPONENT_LEFT) - occupiedOpponentSpots;
|
||||
|
||||
if (emptyPlayerSpots > 0 && alivePlayerPartyMons > 0 && emptyOpponentSpots > 0 && aliveOpponentPartyMons > 0)
|
||||
gBattlescriptCurrInstr = cmd->jumpInstr;
|
||||
else
|
||||
gBattlescriptCurrInstr = cmd->nextInstr;
|
||||
@ -11132,7 +11142,7 @@ static void Cmd_various(void)
|
||||
if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_ROOM_SERVICE && TryRoomService(battler))
|
||||
{
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_BerryStatRaiseRet;
|
||||
gBattlescriptCurrInstr = BattleScript_ConsumableStatRaiseRet;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -5907,7 +5907,7 @@ static enum ItemEffect StatRaiseBerry(u32 battler, u32 itemId, u32 statId, enum
|
||||
if (CompareStat(battler, statId, MAX_STAT_STAGE, CMP_LESS_THAN) && HasEnoughHpToEatBerry(battler, GetBattlerItemHoldEffectParam(battler, itemId), itemId))
|
||||
{
|
||||
BufferStatChange(battler, statId, STRINGID_STATROSE);
|
||||
gEffectBattler = battler;
|
||||
gEffectBattler = gBattleScripting.battler = battler;
|
||||
if (GetBattlerAbility(battler) == ABILITY_RIPEN)
|
||||
SET_STATCHANGER(statId, 2, FALSE);
|
||||
else
|
||||
@ -5918,12 +5918,12 @@ static enum ItemEffect StatRaiseBerry(u32 battler, u32 itemId, u32 statId, enum
|
||||
|
||||
if (caseID == ITEMEFFECT_ON_SWITCH_IN_FIRST_TURN || caseID == ITEMEFFECT_NORMAL)
|
||||
{
|
||||
BattleScriptExecute(BattleScript_BerryStatRaiseEnd2);
|
||||
BattleScriptExecute(BattleScript_ConsumableStatRaiseEnd2);
|
||||
}
|
||||
else
|
||||
{
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_BerryStatRaiseRet;
|
||||
gBattlescriptCurrInstr = BattleScript_ConsumableStatRaiseRet;
|
||||
}
|
||||
return ITEM_STATS_CHANGE;
|
||||
}
|
||||
@ -5945,7 +5945,7 @@ static enum ItemEffect RandomStatRaiseBerry(u32 battler, u32 itemId, enum ItemCa
|
||||
u16 battlerAbility = GetBattlerAbility(battler);
|
||||
u32 savedAttacker = gBattlerAttacker;
|
||||
// MoodyCantRaiseStat requires that the battler is set to gBattlerAttacker
|
||||
gBattlerAttacker = battler;
|
||||
gBattlerAttacker = gBattleScripting.battler = battler;
|
||||
stat = RandomUniformExcept(RNG_RANDOM_STAT_UP, STAT_ATK, NUM_STATS - 1, MoodyCantRaiseStat);
|
||||
gBattlerAttacker = savedAttacker;
|
||||
|
||||
@ -5969,12 +5969,12 @@ static enum ItemEffect RandomStatRaiseBerry(u32 battler, u32 itemId, enum ItemCa
|
||||
gBattleScripting.animArg2 = 0;
|
||||
if (caseID == ITEMEFFECT_ON_SWITCH_IN_FIRST_TURN || caseID == ITEMEFFECT_NORMAL)
|
||||
{
|
||||
BattleScriptExecute(BattleScript_BerryStatRaiseEnd2);
|
||||
BattleScriptExecute(BattleScript_ConsumableStatRaiseEnd2);
|
||||
}
|
||||
else
|
||||
{
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_BerryStatRaiseRet;
|
||||
gBattlescriptCurrInstr = BattleScript_ConsumableStatRaiseRet;
|
||||
}
|
||||
|
||||
return ITEM_STATS_CHANGE;
|
||||
@ -6044,7 +6044,7 @@ static enum ItemEffect DamagedStatBoostBerryEffect(u32 battler, u8 statId, u8 ca
|
||||
gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + statId;
|
||||
gBattleScripting.animArg2 = 0;
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_BerryStatRaiseRet;
|
||||
gBattlescriptCurrInstr = BattleScript_ConsumableStatRaiseRet;
|
||||
return ITEM_STATS_CHANGE;
|
||||
}
|
||||
return ITEM_NO_EFFECT;
|
||||
@ -6062,12 +6062,12 @@ enum ItemEffect TryHandleSeed(u32 battler, u32 terrainFlag, u32 statId, u32 item
|
||||
gBattleScripting.animArg2 = 0;
|
||||
if (caseID == ITEMEFFECT_ON_SWITCH_IN_FIRST_TURN)
|
||||
{
|
||||
BattleScriptExecute(BattleScript_BerryStatRaiseEnd2);
|
||||
BattleScriptExecute(BattleScript_ConsumableStatRaiseEnd2);
|
||||
}
|
||||
else
|
||||
{
|
||||
BattleScriptPushCursor();
|
||||
gBattlescriptCurrInstr = BattleScript_BerryStatRaiseRet;
|
||||
gBattlescriptCurrInstr = BattleScript_ConsumableStatRaiseRet;
|
||||
}
|
||||
return ITEM_STATS_CHANGE;
|
||||
}
|
||||
@ -6781,7 +6781,7 @@ u32 ItemBattleEffects(enum ItemCaseId caseID, u32 battler, bool32 moveTurn)
|
||||
case HOLD_EFFECT_ROOM_SERVICE:
|
||||
if (TryRoomService(battler))
|
||||
{
|
||||
BattleScriptExecute(BattleScript_BerryStatRaiseEnd2);
|
||||
BattleScriptExecute(BattleScript_ConsumableStatRaiseEnd2);
|
||||
effect = ITEM_STATS_CHANGE;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1876,9 +1876,9 @@ const struct BattleMoveEffect gBattleMoveEffects[NUM_BATTLE_MOVE_EFFECTS] =
|
||||
.battleTvScore = 0, // TODO: Assign points
|
||||
},
|
||||
|
||||
[EFFECT_RECOIL_HP_25] =
|
||||
[EFFECT_STRUGGLE] =
|
||||
{
|
||||
.battleScript = BattleScript_EffectRecoilHP25,
|
||||
.battleScript = BattleScript_EffectStruggle,
|
||||
.battleTvScore = 0, // TODO: Assign points
|
||||
},
|
||||
|
||||
|
||||
@ -105,6 +105,14 @@ static const u8 sFeintDescription[] = _(
|
||||
"An attack that hits foes\n"
|
||||
"using moves like Protect.");
|
||||
|
||||
static const u8 sProtectDescription[] = _(
|
||||
"Evades attack, but may fail\n"
|
||||
"if used in succession.");
|
||||
|
||||
static const u8 sGMaxOneBlowDescription[] = _(
|
||||
"G-max Urshifu attack.\n"
|
||||
"Ignores Max Guard.");
|
||||
|
||||
const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
{
|
||||
[MOVE_NONE] =
|
||||
@ -4336,7 +4344,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
"Used only if all PP are gone.\n"
|
||||
"Also hurts the user a little."),
|
||||
#if B_UPDATED_MOVE_DATA >= GEN_4
|
||||
.effect = EFFECT_RECOIL_HP_25,
|
||||
.effect = EFFECT_STRUGGLE,
|
||||
.accuracy = 0,
|
||||
.mirrorMoveBanned = TRUE,
|
||||
.additionalEffects = ADDITIONAL_EFFECTS({
|
||||
@ -4789,9 +4797,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_PROTECT] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Protect"),
|
||||
.description = COMPOUND_STRING(
|
||||
"Evades attack, but may fail\n"
|
||||
"if used in succession."),
|
||||
.description = sProtectDescription,
|
||||
.effect = EFFECT_PROTECT,
|
||||
.power = 0,
|
||||
.type = TYPE_NORMAL,
|
||||
@ -5180,9 +5186,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_DETECT] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Detect"),
|
||||
.description = COMPOUND_STRING(
|
||||
"Evades attack, but may fail\n"
|
||||
"if used in succession."),
|
||||
.description = sProtectDescription,
|
||||
.effect = EFFECT_PROTECT,
|
||||
.power = 0,
|
||||
.type = TYPE_FIGHTING,
|
||||
@ -21055,7 +21059,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_BREAKNECK_BLITZ] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Breakneck Blitz"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Builds momentum and crashes\n"
|
||||
"into the foe. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_NORMAL,
|
||||
@ -21068,8 +21074,10 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
},
|
||||
[MOVE_ALL_OUT_PUMMELING] =
|
||||
{
|
||||
.name = COMPOUND_STRING("All Out Pummeling"),
|
||||
.description = sNullDescription,
|
||||
.name = COMPOUND_STRING("All-Out Pummeling"),
|
||||
.description = COMPOUND_STRING(
|
||||
"Rams an energy orb into\n"
|
||||
"the target. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_FIGHTING,
|
||||
@ -21083,7 +21091,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_SUPERSONIC_SKYSTRIKE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Supersonic Skystrike"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Soars up and plummets toward\n"
|
||||
"the target. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_FLYING,
|
||||
@ -21097,7 +21107,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_ACID_DOWNPOUR] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Acid Downpour"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Sinks the target in a poison\n"
|
||||
"swamp. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_POISON,
|
||||
@ -21111,7 +21123,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_TECTONIC_RAGE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Tectonic Rage"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Burrows deep and slams into\n"
|
||||
"the target. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_GROUND,
|
||||
@ -21126,7 +21140,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_CONTINENTAL_CRUSH] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Continental Crush"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Drops a huge rock mountain\n"
|
||||
"on the foe. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_ROCK,
|
||||
@ -21139,8 +21155,10 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
},
|
||||
[MOVE_SAVAGE_SPIN_OUT] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Savage Spin Out"),
|
||||
.description = sNullDescription,
|
||||
.name = COMPOUND_STRING("Savage Spin-Out"),
|
||||
.description = COMPOUND_STRING(
|
||||
"Spits threads of silk to\n"
|
||||
"bind the foe. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_BUG,
|
||||
@ -21153,8 +21171,10 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
},
|
||||
[MOVE_NEVER_ENDING_NIGHTMARE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Never Ending Nightmare"),
|
||||
.description = sNullDescription,
|
||||
.name = COMPOUND_STRING("Never-Ending Nightmare"),
|
||||
.description = COMPOUND_STRING(
|
||||
"Deep-seated grudges trap\n"
|
||||
"the target. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_GHOST,
|
||||
@ -21168,7 +21188,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_CORKSCREW_CRASH] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Corkscrew Crash"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Spins very fast and rams\n"
|
||||
"the target. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_STEEL,
|
||||
@ -21182,7 +21204,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_INFERNO_OVERDRIVE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Inferno Overdrive"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Breathes intense fire at\n"
|
||||
"the target. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_FIRE,
|
||||
@ -21196,7 +21220,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_HYDRO_VORTEX] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Hydro Vortex"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"A huge whirlpool swallows\n"
|
||||
"the target. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_WATER,
|
||||
@ -21210,7 +21236,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_BLOOM_DOOM] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Bloom Doom"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Uses plant energy to attack\n"
|
||||
"the target. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_GRASS,
|
||||
@ -21224,7 +21252,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_GIGAVOLT_HAVOC] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Gigavolt Havoc"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Hits the foe with powerful\n"
|
||||
"electricity. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_ELECTRIC,
|
||||
@ -21238,7 +21268,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_SHATTERED_PSYCHE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Shattered Psyche"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Controls the target to\n"
|
||||
"hurt it. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_PSYCHIC,
|
||||
@ -21252,7 +21284,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_SUBZERO_SLAMMER] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Subzero Slammer"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Drops the temp and freezes\n"
|
||||
"the target. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_ICE,
|
||||
@ -21266,7 +21300,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_DEVASTATING_DRAKE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Devastating Drake"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Develops aura and attacks\n"
|
||||
"the target. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_DRAGON,
|
||||
@ -21280,7 +21316,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_BLACK_HOLE_ECLIPSE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Black Hole Eclipse"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Sucks the target into dark\n"
|
||||
"energy. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_DARK,
|
||||
@ -21294,7 +21332,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_TWINKLE_TACKLE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Twinkle Tackle"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Toys with the target in a\n"
|
||||
"charming space. Power varies."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 1,
|
||||
.type = TYPE_FAIRY,
|
||||
@ -21308,7 +21348,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_CATASTROPIKA] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Catastropika"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Pikachu uses the max amount\n"
|
||||
"of electricity and pounces."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 210,
|
||||
.type = TYPE_ELECTRIC,
|
||||
@ -21322,7 +21364,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_10000000_VOLT_THUNDERBOLT] =
|
||||
{
|
||||
.name = COMPOUND_STRING("10,000,000 Volt Thunderbolt"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Cap Pikachu unleashes jolt.\n"
|
||||
"High critical-hit ratio."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 195,
|
||||
.type = TYPE_ELECTRIC,
|
||||
@ -21337,7 +21381,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_STOKED_SPARKSURFER] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Stoked Sparksurfer"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Alolan Raichu attacks with\n"
|
||||
"full force. Causes paralysis."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 175,
|
||||
.type = TYPE_ELECTRIC,
|
||||
@ -21355,7 +21401,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_EXTREME_EVOBOOST] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Extreme Evoboost"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Eevee gets energy from\n"
|
||||
"its friends. Boosts stats."),
|
||||
.effect = EFFECT_EXTREME_EVOBOOST,
|
||||
.power = 0,
|
||||
.type = TYPE_NORMAL,
|
||||
@ -21369,7 +21417,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_PULVERIZING_PANCAKE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Pulverizing Pancake"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Snorlax energetically moves\n"
|
||||
"and attacks with full force."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 210,
|
||||
.type = TYPE_NORMAL,
|
||||
@ -21383,7 +21433,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_GENESIS_SUPERNOVA] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Genesis Supernova"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Mew attacks with full force.\n"
|
||||
"Psychically charges terrain."),
|
||||
.effect = EFFECT_HIT_SET_REMOVE_TERRAIN,
|
||||
.power = 185,
|
||||
.type = TYPE_PSYCHIC,
|
||||
@ -21398,7 +21450,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_SINISTER_ARROW_RAID] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Sinister Arrow Raid"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Decidueye shoots countless\n"
|
||||
"arrows with full force."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 180,
|
||||
.type = TYPE_GHOST,
|
||||
@ -21412,7 +21466,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MALICIOUS_MOONSAULT] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Malicious Moonsault"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Incineroar crashes into\n"
|
||||
"the target with full force."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 180,
|
||||
.type = TYPE_DARK,
|
||||
@ -21426,7 +21482,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_OCEANIC_OPERETTA] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Oceanic Operetta"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Primarina summons a massive\n"
|
||||
"amount of water at the foe."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 195,
|
||||
.type = TYPE_WATER,
|
||||
@ -21440,7 +21498,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_SPLINTERED_STORMSHARDS] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Splintered Stormshards"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Lycanroc attacks with full\n"
|
||||
"force. Removes all terrain."),
|
||||
.effect = EFFECT_HIT_SET_REMOVE_TERRAIN,
|
||||
.power = 190,
|
||||
.type = TYPE_ROCK,
|
||||
@ -21455,7 +21515,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_LETS_SNUGGLE_FOREVER] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Let's Snuggle Forever"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Mimikyu punches the target\n"
|
||||
"with full force."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 190,
|
||||
.type = TYPE_FAIRY,
|
||||
@ -21469,7 +21531,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_CLANGOROUS_SOULBLAZE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Clangorous Soulblaze"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Kommo-o attacks with full\n"
|
||||
"force. Boosts all stats."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 185,
|
||||
.type = TYPE_DRAGON,
|
||||
@ -21490,7 +21554,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_GUARDIAN_OF_ALOLA] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Guardian of Alola"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"The Land Spirit Pokémon\n"
|
||||
"greatly reduces the foe's HP."),
|
||||
.effect = EFFECT_GUARDIAN_OF_ALOLA,
|
||||
.power = 1,
|
||||
.type = TYPE_FAIRY,
|
||||
@ -21504,7 +21570,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_SEARING_SUNRAZE_SMASH] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Searing Sunraze Smash"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Solgaleo attacks with full\n"
|
||||
"force. Ignores abilities."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 200,
|
||||
.type = TYPE_STEEL,
|
||||
@ -21519,7 +21587,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MENACING_MOONRAZE_MAELSTROM] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Menacing Moonraze Maelstrom"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Lunala attacks with full\n"
|
||||
"force. Ignores abilities."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 200,
|
||||
.type = TYPE_GHOST,
|
||||
@ -21533,8 +21603,10 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
},
|
||||
[MOVE_LIGHT_THAT_BURNS_THE_SKY] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Light That Burns The Sky"),
|
||||
.description = sNullDescription,
|
||||
.name = COMPOUND_STRING("Light That Burns the Sky"),
|
||||
.description = COMPOUND_STRING(
|
||||
"Uses Necrozma's highest\n"
|
||||
"attack. Ignores abilities."),
|
||||
.effect = EFFECT_PHOTON_GEYSER,
|
||||
.power = 200,
|
||||
.type = TYPE_PSYCHIC,
|
||||
@ -21548,8 +21620,10 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
},
|
||||
[MOVE_SOUL_STEALING_7_STAR_STRIKE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Soul Stealing 7 Star Strike"),
|
||||
.description = sNullDescription,
|
||||
.name = COMPOUND_STRING("Soul-Stealing 7-Star Strike"),
|
||||
.description = COMPOUND_STRING(
|
||||
"Marshadow punches and\n"
|
||||
"kicks with full force."),
|
||||
.effect = EFFECT_HIT,
|
||||
.power = 195,
|
||||
.type = TYPE_GHOST,
|
||||
@ -21564,7 +21638,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_GUARD] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Guard"),
|
||||
.description = sNullDescription,
|
||||
.description = sProtectDescription,
|
||||
.effect = EFFECT_PROTECT,
|
||||
.power = 0,
|
||||
.type = TYPE_NORMAL,
|
||||
@ -21580,7 +21654,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_FLARE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Flare"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Fire Dynamax attack.\n"
|
||||
"Intensifies sun for 5 turns."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 1,
|
||||
.type = TYPE_FIRE,
|
||||
@ -21600,7 +21676,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_FLUTTERBY] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Flutterby"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Bug Dynamax attack.\n"
|
||||
"Lowers foe's Sp. Atk stat."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 1,
|
||||
.type = TYPE_BUG,
|
||||
@ -21620,7 +21698,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_LIGHTNING] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Lightning"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Electric Dynamax attack.\n"
|
||||
"Turns the terrain electric."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 1,
|
||||
.type = TYPE_ELECTRIC,
|
||||
@ -21640,7 +21720,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_STRIKE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Strike"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Normal Dynamax attack.\n"
|
||||
"Lowers foe's Speed stat."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 1,
|
||||
.type = TYPE_NORMAL,
|
||||
@ -21660,7 +21742,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_KNUCKLE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Knuckle"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Fighting Dynamax attack.\n"
|
||||
"Boosts ally Attack stats."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 1,
|
||||
.type = TYPE_FIGHTING,
|
||||
@ -21680,7 +21764,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_PHANTASM] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Phantasm"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Ghost Dynamax attack.\n"
|
||||
"Lowers foe's Defense stat."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 1,
|
||||
.type = TYPE_GHOST,
|
||||
@ -21700,7 +21786,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_HAILSTORM] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Hailstorm"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Ice Dynamax attack.\n"
|
||||
"Summons hail for 5 turns."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 1,
|
||||
.type = TYPE_ICE,
|
||||
@ -21720,7 +21808,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_OOZE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Ooze"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Poison Dynamax attack.\n"
|
||||
"Boosts ally Sp. Atk stats."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 1,
|
||||
.type = TYPE_POISON,
|
||||
@ -21740,7 +21830,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_GEYSER] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Geyser"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Water Dynamax attack.\n"
|
||||
"Summons rain for 5 turns."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 1,
|
||||
.type = TYPE_WATER,
|
||||
@ -21760,7 +21852,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_AIRSTREAM] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Airstream"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Flying Dynamax attack.\n"
|
||||
"Boosts ally Speed stats."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 1,
|
||||
.type = TYPE_FLYING,
|
||||
@ -21780,7 +21874,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_STARFALL] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Starfall"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Fairy Dynamax attack.\n"
|
||||
"Turns the terrain misty."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 1,
|
||||
.type = TYPE_FAIRY,
|
||||
@ -21800,7 +21896,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_WYRMWIND] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Wyrmwind"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Dragon Dynamax attack.\n"
|
||||
"Lowers foe's Attack stat."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 1,
|
||||
.type = TYPE_DRAGON,
|
||||
@ -21820,7 +21918,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_MINDSTORM] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Mindstorm"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Psychic Dynamax attack.\n"
|
||||
"Turns the terrain psychic."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 1,
|
||||
.type = TYPE_PSYCHIC,
|
||||
@ -21840,7 +21940,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_ROCKFALL] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Rockfall"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Rock Dynamax attack.\n"
|
||||
"Summons a sandstorm."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 1,
|
||||
.type = TYPE_ROCK,
|
||||
@ -21860,7 +21962,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_QUAKE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Quake"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Ground Dynamax attack.\n"
|
||||
"Boosts ally Sp. Def stats."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 1,
|
||||
.type = TYPE_GROUND,
|
||||
@ -21881,7 +21985,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_DARKNESS] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Darkness"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Dark Dynamax attack.\n"
|
||||
"Lowers foe's Sp. Def stat."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 1,
|
||||
.type = TYPE_DARK,
|
||||
@ -21901,7 +22007,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_OVERGROWTH] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Overgrowth"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Grass Dynamax attack.\n"
|
||||
"Turns the terrain grassy."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_GRASS,
|
||||
@ -21921,7 +22029,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_MAX_STEELSPIKE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("Max Steelspike"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"Steel Dynamax attack.\n"
|
||||
"Boosts ally Defense stats."),
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_STEEL,
|
||||
@ -21941,7 +22051,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_VINE_LASH] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Vine Lash"),
|
||||
.description = sNullDescription, //ANIM TODO
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Venusaur attack.\n"
|
||||
"Damages for 4 turns."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_GRASS,
|
||||
@ -21961,7 +22073,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_WILDFIRE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Wildfire"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Charizard attack.\n"
|
||||
"Damages for 4 turns."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_FIRE,
|
||||
@ -21981,7 +22095,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_CANNONADE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Cannonade"),
|
||||
.description = sNullDescription, //ANIM TODO
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Blastoise attack.\n"
|
||||
"Damages for 4 turns."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_WATER,
|
||||
@ -22001,7 +22117,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_BEFUDDLE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Befuddle"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Butterfree attack.\n"
|
||||
"Poison, paralysis, or sleep."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_BUG,
|
||||
@ -22021,7 +22139,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_VOLT_CRASH] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Volt Crash"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Pikachu attack.\n"
|
||||
"Paralyzes opponents."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_ELECTRIC,
|
||||
@ -22041,7 +22161,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_GOLD_RUSH] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Gold Rush"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Meowth attack.\n"
|
||||
"Confuses and earns money."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_NORMAL,
|
||||
@ -22061,7 +22183,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_CHI_STRIKE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Chi Strike"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Machamp attack.\n"
|
||||
"Boosts critical-hit ratio."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_FIGHTING,
|
||||
@ -22081,7 +22205,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_TERROR] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Terror"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Gengar attack.\n"
|
||||
"Prevents foes from escaping."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_GHOST,
|
||||
@ -22101,7 +22227,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_FOAM_BURST] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Foam Burst"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Kingler attack.\n"
|
||||
"Harshly lowers foe's Speed."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_WATER,
|
||||
@ -22121,7 +22249,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_RESONANCE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Resonance"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Lapras attack.\n"
|
||||
"Reduces damage for 5 turns."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_ICE,
|
||||
@ -22141,7 +22271,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_CUDDLE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Cuddle"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Eevee attack.\n"
|
||||
"Infatuates opponents."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_NORMAL,
|
||||
@ -22161,7 +22293,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_REPLENISH] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Replenish"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Snorlax attack.\n"
|
||||
"Restores eaten Berries."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_NORMAL,
|
||||
@ -22181,7 +22315,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_MALODOR] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Malodor"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Garbodor attack.\n"
|
||||
"Poisons opponents."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_POISON,
|
||||
@ -22201,7 +22337,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_MELTDOWN] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Meltdown"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Melmetal attack.\n"
|
||||
"Prevents repeat move use."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_STEEL,
|
||||
@ -22221,7 +22359,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_DRUM_SOLO] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Drum Solo"),
|
||||
.description = sNullDescription, //ANIM TODO
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Rillaboom attack.\n"
|
||||
"Ignores target's abilities."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_GRASS,
|
||||
@ -22242,7 +22382,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_FIREBALL] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Fireball"),
|
||||
.description = sNullDescription, //ANIM TODO
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Cinderace attack.\n"
|
||||
"Ignores target's abilities."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_FIRE,
|
||||
@ -22263,7 +22405,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_HYDROSNIPE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Hydrosnipe"),
|
||||
.description = sNullDescription, //ANIM TODO
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Inteleon attack.\n"
|
||||
"Ignores target's abilities."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_WATER,
|
||||
@ -22284,7 +22428,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_WIND_RAGE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Wind Rage"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Corviknight attack.\n"
|
||||
"Removes opponent screens."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_FLYING,
|
||||
@ -22304,7 +22450,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_GRAVITAS] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Gravitas"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Orbeetle attack.\n"
|
||||
"Changes gravity for 5 turns."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_PSYCHIC,
|
||||
@ -22324,7 +22472,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_STONESURGE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Stonesurge"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Drednaw attack.\n"
|
||||
"Scatters sharp rocks."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_WATER,
|
||||
@ -22344,7 +22494,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_VOLCALITH] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Volcalith"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Coalossal attack.\n"
|
||||
"Damages for 4 turns."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_ROCK,
|
||||
@ -22364,7 +22516,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_TARTNESS] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Tartness"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Flapple attack.\n"
|
||||
"Lowers foe's evasiveness."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_GRASS,
|
||||
@ -22384,7 +22538,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_SWEETNESS] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Sweetness"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Appletun attack.\n"
|
||||
"Heals ally status conditions."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_GRASS,
|
||||
@ -22404,7 +22560,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_SANDBLAST] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Sandblast"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Sandaconda attack.\n"
|
||||
"Traps foes in a sandstorm."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_GROUND,
|
||||
@ -22424,7 +22582,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_STUN_SHOCK] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Stun Shock"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Toxtricity attack.\n"
|
||||
"Poisons or paralyzes foes."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_ELECTRIC,
|
||||
@ -22444,7 +22604,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_CENTIFERNO] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Centiferno"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Toxtricity attack.\n"
|
||||
"Traps foes in flames."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_FIRE,
|
||||
@ -22464,7 +22626,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_SMITE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Smite"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Hatterene attack.\n"
|
||||
"Confuses opponents."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_FAIRY,
|
||||
@ -22485,7 +22649,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_SNOOZE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Snooze"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Grimmsnarl attack.\n"
|
||||
"Lulls foes into sleep."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_DARK,
|
||||
@ -22505,7 +22671,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_FINALE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Finale"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Alcremie attack.\n"
|
||||
"Heals ally HP."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_FAIRY,
|
||||
@ -22525,7 +22693,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_STEELSURGE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Steelsurge"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Copperajah attack.\n"
|
||||
"Scatters sharp spikes."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_STEEL,
|
||||
@ -22545,7 +22715,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_DEPLETION] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Depletion"),
|
||||
.description = sNullDescription,
|
||||
.description = COMPOUND_STRING(
|
||||
"G-max Duraludon attack.\n"
|
||||
"Reduces target's PP."), //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_DRAGON,
|
||||
@ -22565,7 +22737,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_ONE_BLOW] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max One Blow"),
|
||||
.description = sNullDescription,
|
||||
.description = sGMaxOneBlowDescription, //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_DARK,
|
||||
@ -22581,7 +22753,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_ALL] =
|
||||
[MOVE_G_MAX_RAPID_FLOW] =
|
||||
{
|
||||
.name = COMPOUND_STRING("G-Max Rapid Flow"),
|
||||
.description = sNullDescription,
|
||||
.description = sGMaxOneBlowDescription, //ANIM TODO
|
||||
.effect = EFFECT_MAX_MOVE,
|
||||
.power = 10,
|
||||
.type = TYPE_WATER,
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
#include "test/battle.h"
|
||||
|
||||
// Also checks that non-sleeping enemy is not affected.
|
||||
SINGLE_BATTLE_TEST("Bad Dreams causes the sleeping enemy Pokemon to lose 1/8 of hp")
|
||||
SINGLE_BATTLE_TEST("Bad Dreams causes the sleeping enemy Pokemon to lose 1/8 of HP")
|
||||
{
|
||||
u32 status;
|
||||
PARAMETRIZE { status = STATUS1_NONE; }
|
||||
|
||||
7
test/battle/ability/ball_fetch.c
Normal file
7
test/battle/ability/ball_fetch.c
Normal file
@ -0,0 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "test/battle.h"
|
||||
|
||||
TO_DO_BATTLE_TEST("Ball Fetch causes the Pokémon to pick up the last failed Ball at the end of the turn");
|
||||
TO_DO_BATTLE_TEST("Ball Fetch doesn't trigger if the Pokémon is already holding an item");
|
||||
TO_DO_BATTLE_TEST("Ball Fetch only picks up the first failed ball, once per battle"); // Bestow can help test this
|
||||
TO_DO_BATTLE_TEST("Ball Fetch doesn't trigger in Max Raid Battles");
|
||||
5
test/battle/ability/battery.c
Normal file
5
test/battle/ability/battery.c
Normal file
@ -0,0 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "test/battle.h"
|
||||
|
||||
TO_DO_BATTLE_TEST("Battery increases Sp. Attack damage of allies by ~30%"); // 5325/4096
|
||||
TO_DO_BATTLE_TEST("Battery does not increase its own Sp. Attack damage");
|
||||
@ -73,3 +73,5 @@ SINGLE_BATTLE_TEST("Beads of Ruin's message displays correctly after all battler
|
||||
MESSAGE("The opposing Chi-Yu's Beads of Ruin weakened the Sp. Def of all surrounding Pokémon!");
|
||||
}
|
||||
}
|
||||
|
||||
TO_DO_BATTLE_TEST("Beads of Ruin reduce Defense if Wonder Room is active");
|
||||
|
||||
@ -56,3 +56,16 @@ SINGLE_BATTLE_TEST("Beast Boost doesn't trigger if user is fainted")
|
||||
MESSAGE("2 sent out Wobbuffet!");
|
||||
}
|
||||
}
|
||||
|
||||
TO_DO_BATTLE_TEST("Beast Boost boosts Attack 1st in case of a stat tie");
|
||||
TO_DO_BATTLE_TEST("Beast Boost boosts Defense 2nd in case of a stat tie");
|
||||
TO_DO_BATTLE_TEST("Beast Boost boosts Special Attack 3rd in case of a stat tie");
|
||||
TO_DO_BATTLE_TEST("Beast Boost boosts Special Defense 4th in case of a stat tie");
|
||||
TO_DO_BATTLE_TEST("Beast Boost considers Power Split");
|
||||
TO_DO_BATTLE_TEST("Beast Boost considers Guard Split");
|
||||
TO_DO_BATTLE_TEST("Beast Boost considers Power Trick");
|
||||
TO_DO_BATTLE_TEST("Beast Boost considers Wonder Room");
|
||||
TO_DO_BATTLE_TEST("Beast Boost considers Speed Swap");
|
||||
TO_DO_BATTLE_TEST("Beast Boost doesn't consider stat stages");
|
||||
TO_DO_BATTLE_TEST("Beast Boost doesn't consider held items");
|
||||
TO_DO_BATTLE_TEST("Beast Boost doesn't consider status condition reductions");
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "test/battle.h"
|
||||
|
||||
SINGLE_BATTLE_TEST("Berserk activates only if the target had more than 50% of its hp")
|
||||
SINGLE_BATTLE_TEST("Berserk activates only if the target had more than 50% of its HP")
|
||||
{
|
||||
bool32 activates = FALSE;
|
||||
u16 maxHp = 500, hp = 0;
|
||||
|
||||
4
test/battle/ability/bulletproof.c
Normal file
4
test/battle/ability/bulletproof.c
Normal file
@ -0,0 +1,4 @@
|
||||
#include "global.h"
|
||||
#include "test/battle.h"
|
||||
|
||||
TO_DO_BATTLE_TEST("Bulletproof makes ballistic moves fail against the ability user");
|
||||
@ -87,19 +87,3 @@ SINGLE_BATTLE_TEST("Gem is consumed if the move type is changed")
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_FEINT_ATTACK, player);
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Gem is not consumed if a no type damage move is used") //ie. Counter, Psywave, Super Fang. All these moves have 1 base power.
|
||||
{
|
||||
ASSUME(GetMovePower(MOVE_PSYWAVE) == 1);
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_PSYCHIC_GEM); };
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
} WHEN {
|
||||
TURN { MOVE(player, MOVE_PSYWAVE); }
|
||||
} SCENE {
|
||||
NONE_OF {
|
||||
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player);
|
||||
MESSAGE("The Psychic Gem strengthened Wobbuffet's power!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -93,7 +93,7 @@ TEST("Move descriptions fit on Pokemon Summary Screen")
|
||||
u32 i;
|
||||
const u32 fontId = FONT_NORMAL, widthPx = 152;
|
||||
u32 move = MOVE_NONE;
|
||||
for (i = 1; i < MOVES_COUNT; i++)
|
||||
for (i = 1; i < MOVES_COUNT_ALL; i++)
|
||||
{
|
||||
PARAMETRIZE_LABEL("%S", GetMoveDescription(i)) { move = i; }
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user