* Made gBattleMoves handle the InGame name and description of battle moves No more multiple arrays in separate, individual files. Note: -Keep an eye on Task_LearnedMove. * Reintroduced move names Misc: -Fixed Trick-or-Treat and Light of Ruin's expanded names. -Introduced a new field for Z-Move names, and a constant for their name length. -Added a few TODOs to GetBattleMoveName. -Updated GetMaxMoveName and GetZMoveName. There's no reason not to let GetBattleMoveName handle everything on its own. * Updated GetBattleMoveName to handle Z-Move Names Misc: -Removed pointless TODO about MOVE_NAME_LENGTH. -The compiler doesn't allow to have a move name with a value higher than MOVE_NAME_LENGTH, therefore it's pointless to worry about it. * Fixed a couple of expanded move names * Removed zMoveName variable of struct BattleMove and extended the name variable's size * Ditched no longer used MOVE_NAME_LENGTH constant * Corrected the names of the max moves I should have done this after updating the size of the name variable of the struct BattleMove, but I didn't think about it at all until Cancer Fairy indirectly gave me the idea. * Fixed U-turn's name * Brought back MOVE_NAME_LENGTH I think it doesn't make sense to have a Z_MOVE_NAME_LENGTH because the length in question is used for all battle moves, not just the Z-Moves. * Introduced a union for Move/Z-Move names in the struct BattleMove * Fixed the union for gBattleMoves move names Also updated GetBattleMoveName to properly handle Max Move names. Also also renamed the "zMoveName" variable to "bigMoveName" which better reflects its purpose. Z-Move names weren't the only thing it covered, since it also handles Max Move names. * Removed deprecated GetZMoveName and GetMaxMoveName * Reintroduced mention to gMoveNames in sGFRomHeader * Fixed move names and ported move descriptions * Fused the struct ContestMove into the struct BattleMove * Removed no longer used Z_MOVE_NAME_LENGTH constant * Renamed the struct BattleMove's bigMoveName variable and introduced macros to prettify move names * Reintroduced the contest parameters for Pokémon moves * Renamed gBattleMoves to gMovesInfo This is consistent with gSpeciesInfo, the array that contains most of the species data. * Renamed the BattleMove struct to MovesInfo This is consistent with the struct SpeciesInfo, which contains the variables used by the gSpeciesInfo array. * Removed empty lines separating battle params from contest params in gMovesInfo * Renamed MovesInfo to MoveInfo * Added Cancer Fairy's HANDLE_EXPANDED_MOVE_NAME macro Used to handle moves with expanded names in a more comfortable manner. Also fixed Trick-or-Treat's expanded name. * Renamed GetBattleMoveName to GetMoveName * Added a comment pointing out that the shared move descriptions are shared move descriptions * Re-aligned one of the escape characters of CHECK_MOVE_FLAG * Renamed the battle_moves.h file to moves_info.h instead for consistency's sake * Applied Eduardo's adjustments * Using compound string for regular move names as well, saving 1180 bytes and making their use consistent * Move description formatting * Updated Pursuit test after merge * Renamed the BATTLE_CATEGORY constants to DAMAGE_CATEGORY --------- Co-authored-by: Nephrite <thechurchofcage@gmail.com> Co-authored-by: Bassoonian <iasperbassoonian@gmail.com> Co-authored-by: Eduardo Quezada D'Ottone <eduardo602002@gmail.com>
344 lines
9.3 KiB
C
344 lines
9.3 KiB
C
const struct ContestEffect gContestEffects[] =
|
|
{
|
|
[CONTEST_EFFECT_HIGHLY_APPEALING] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_APPEAL,
|
|
.appeal = 40,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_USER_MORE_EASILY_STARTLED] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_APPEAL,
|
|
.appeal = 60,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_APPEAL,
|
|
.appeal = 80,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_REPETITION_NOT_BORING] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_APPEAL,
|
|
.appeal = 30,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_AVOID_STARTLE_ONCE] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_AVOID_STARTLE,
|
|
.appeal = 20,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_AVOID_STARTLE] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_AVOID_STARTLE,
|
|
.appeal = 10,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_AVOID_STARTLE,
|
|
.appeal = 30,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_USER_LESS_EASILY_STARTLED] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_AVOID_STARTLE,
|
|
.appeal = 30,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_STARTLE_FRONT_MON] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MON,
|
|
.appeal = 30,
|
|
.jam = 20,
|
|
},
|
|
[CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
|
.appeal = 30,
|
|
.jam = 10,
|
|
},
|
|
[CONTEST_EFFECT_STARTLE_PREV_MON] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MON,
|
|
.appeal = 20,
|
|
.jam = 30,
|
|
},
|
|
[CONTEST_EFFECT_STARTLE_PREV_MONS] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
|
.appeal = 20,
|
|
.jam = 20,
|
|
},
|
|
[CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MON,
|
|
.appeal = 10,
|
|
.jam = 40,
|
|
},
|
|
[CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
|
.appeal = 10,
|
|
.jam = 30,
|
|
},
|
|
[CONTEST_EFFECT_STARTLE_PREV_MON_2] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MON,
|
|
.appeal = 30,
|
|
.jam = 20,
|
|
},
|
|
[CONTEST_EFFECT_STARTLE_PREV_MONS_2] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
|
.appeal = 30,
|
|
.jam = 10,
|
|
},
|
|
[CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_WORSEN,
|
|
.appeal = 30,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
|
.appeal = 20,
|
|
.jam = 10,
|
|
},
|
|
[CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
|
.appeal = 40,
|
|
.jam = 40,
|
|
},
|
|
[CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
|
.appeal = 20,
|
|
.jam = 10,
|
|
},
|
|
[CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
|
.appeal = 20,
|
|
.jam = 10,
|
|
},
|
|
[CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
|
.appeal = 20,
|
|
.jam = 10,
|
|
},
|
|
[CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
|
.appeal = 20,
|
|
.jam = 10,
|
|
},
|
|
[CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
|
.appeal = 20,
|
|
.jam = 10,
|
|
},
|
|
[CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
|
.appeal = 20,
|
|
.jam = 10,
|
|
},
|
|
[CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_WORSEN,
|
|
.appeal = 20,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_WORSEN,
|
|
.appeal = 20,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_WORSEN,
|
|
.appeal = 30,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
|
.appeal = 30,
|
|
.jam = 10,
|
|
},
|
|
[CONTEST_EFFECT_BETTER_IF_FIRST] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
|
.appeal = 20,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_BETTER_IF_LAST] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
|
.appeal = 20,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
|
.appeal = 10,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
|
.appeal = 10,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_BETTER_WHEN_LATER] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
|
.appeal = 10,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
|
.appeal = 10,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_BETTER_IF_SAME_TYPE] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
|
.appeal = 20,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_BETTER_IF_DIFF_TYPE] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
|
.appeal = 20,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
|
.appeal = 30,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
|
.appeal = 10,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
|
.appeal = 10,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_NEXT_APPEAL_EARLIER] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_TURN_ORDER,
|
|
.appeal = 30,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_NEXT_APPEAL_LATER] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_TURN_ORDER,
|
|
.appeal = 30,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_TURN_ORDER,
|
|
.appeal = 30,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_TURN_ORDER,
|
|
.appeal = 30,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
|
.appeal = 10,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
|
.appeal = 20,
|
|
.jam = 10,
|
|
},
|
|
[CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
|
.appeal = 10,
|
|
.jam = 0,
|
|
},
|
|
[CONTEST_EFFECT_DONT_EXCITE_AUDIENCE] =
|
|
{
|
|
.effectType = CONTEST_EFFECT_TYPE_WORSEN,
|
|
.appeal = 30,
|
|
.jam = 0,
|
|
},
|
|
};
|
|
|
|
void (*const gContestEffectFuncs[])(void) =
|
|
{
|
|
ContestEffect_HighlyAppealing,
|
|
ContestEffect_UserMoreEasilyStartled,
|
|
ContestEffect_GreatAppealButNoMoreMoves,
|
|
ContestEffect_RepetitionNotBoring,
|
|
ContestEffect_AvoidStartleOnce,
|
|
ContestEffect_AvoidStartle,
|
|
ContestEffect_AvoidStartleSlightly,
|
|
ContestEffect_UserLessEasilyStartled,
|
|
ContestEffect_StartleFrontMon,
|
|
ContestEffect_StartlePrevMons,
|
|
ContestEffect_StartleFrontMon,
|
|
ContestEffect_StartlePrevMons,
|
|
ContestEffect_StartleFrontMon,
|
|
ContestEffect_StartlePrevMons,
|
|
ContestEffect_StartlePrevMon2,
|
|
ContestEffect_StartlePrevMons2,
|
|
ContestEffect_ShiftJudgeAttention,
|
|
ContestEffect_StartleMonWithJudgesAttention,
|
|
ContestEffect_JamsOthersButMissOneTurn,
|
|
ContestEffect_StartleMonsSameTypeAppeal,
|
|
ContestEffect_StartleMonsCoolAppeal,
|
|
ContestEffect_StartleMonsBeautyAppeal,
|
|
ContestEffect_StartleMonsCuteAppeal,
|
|
ContestEffect_StartleMonsSmartAppeal,
|
|
ContestEffect_StartleMonsToughAppeal,
|
|
ContestEffect_MakeFollowingMonNervous,
|
|
ContestEffect_MakeFollowingMonsNervous,
|
|
ContestEffect_WorsenConditionOfPrevMons,
|
|
ContestEffect_BadlyStartlesMonsInGoodCondition,
|
|
ContestEffect_BetterIfFirst,
|
|
ContestEffect_BetterIfLast,
|
|
ContestEffect_AppealAsGoodAsPrevOnes,
|
|
ContestEffect_AppealAsGoodAsPrevOne,
|
|
ContestEffect_BetterWhenLater,
|
|
ContestEffect_QualityDependsOnTiming,
|
|
ContestEffect_BetterIfSameType,
|
|
ContestEffect_BetterIfDiffType,
|
|
ContestEffect_AffectedByPrevAppeal,
|
|
ContestEffect_ImproveConditionPreventNervousness,
|
|
ContestEffect_BetterWithGoodCondition,
|
|
ContestEffect_NextAppealEarlier,
|
|
ContestEffect_NextAppealLater,
|
|
ContestEffect_MakeScramblingTurnOrderEasier,
|
|
ContestEffect_ScrambleNextTurnOrder,
|
|
ContestEffect_ExciteAudienceInAnyContest,
|
|
ContestEffect_BadlyStartleMonsWithGoodAppeals,
|
|
ContestEffect_BetterWhenAudienceExcited,
|
|
ContestEffect_DontExciteAudience,
|
|
};
|