Added contest config and cleaned up contest category variables (#8178)
This commit is contained in:
parent
ea442bca6d
commit
6d09eb2402
@ -1116,9 +1116,6 @@ EventScript_VsSeekerChargingDone::
|
||||
.include "data/scripts/cable_club.inc"
|
||||
.include "data/text/cable_club.inc"
|
||||
.include "data/scripts/contest_hall.inc"
|
||||
.include "data/text/contest_strings.inc"
|
||||
.include "data/text/contest_link.inc"
|
||||
.include "data/text/contest_painting.inc"
|
||||
.include "data/scripts/tv.inc"
|
||||
.include "data/text/tv.inc"
|
||||
.include "data/scripts/interview.inc"
|
||||
|
||||
@ -1,38 +0,0 @@
|
||||
@ With the exception of Link standby, none of the below texts are used
|
||||
|
||||
gTest_MissedTurn::
|
||||
.string "Missed turn$"
|
||||
|
||||
gText_LinkStandby4::
|
||||
.string "Link standby!$"
|
||||
|
||||
gText_WinnerIsPlayersMonCongrats::
|
||||
.string "The winner is {STR_VAR_1}'s {STR_VAR_2}!\n"
|
||||
.string "Congratulations!$"
|
||||
|
||||
gText_WinnerIsPlayersMon::
|
||||
.string "The winner is {STR_VAR_1}'s {STR_VAR_2}!{PAUSE_UNTIL_PRESS}$"
|
||||
|
||||
gText_PrimaryJudgingNumX::
|
||||
.string "Primary judging: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
|
||||
|
||||
gText_SecondaryJudgingNumX::
|
||||
.string "Secondary judging: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
|
||||
|
||||
gText_SetEventNumX::
|
||||
.string "Set event: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
|
||||
|
||||
gText_MoveUsedMostOften::
|
||||
.string "The move used most often:\n"
|
||||
.string "{STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
|
||||
|
||||
gText_MostImpressiveMon::
|
||||
.string "The most impressive POKéMON:\n"
|
||||
.string "{STR_VAR_1}'s {STR_VAR_2}{PAUSE_UNTIL_PRESS}$"
|
||||
|
||||
gText_SetEventNumX2::
|
||||
.string "Set event: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
|
||||
|
||||
gText_LinkTVProgramWillNotBeMadeTrainerLost::
|
||||
.string "A link TV program will not be made\n"
|
||||
.string "because the TRAINER lost.{PAUSE_UNTIL_PRESS}$"
|
||||
@ -1,96 +0,0 @@
|
||||
gContestHallPaintingCaption::
|
||||
.string "{STR_VAR_1}\n"
|
||||
.string "{STR_VAR_2}'s {STR_VAR_3}$"
|
||||
|
||||
@ Unused
|
||||
gContestPaintingContest::
|
||||
.string "CONTEST$"
|
||||
|
||||
gContestRankNormal::
|
||||
.string "NORMAL RANK$"
|
||||
|
||||
gContestRankSuper::
|
||||
.string "SUPER RANK$"
|
||||
|
||||
gContestRankHyper::
|
||||
.string "HYPER RANK$"
|
||||
|
||||
gContestRankMaster::
|
||||
.string "MASTER RANK$"
|
||||
|
||||
gContestLink::
|
||||
.string "LINK$"
|
||||
|
||||
gContestCoolness::
|
||||
.string "COOLNESS$"
|
||||
|
||||
gContestBeauty::
|
||||
.string "BEAUTY$"
|
||||
|
||||
gContestCuteness::
|
||||
.string "CUTENESS$"
|
||||
|
||||
gContestSmartness::
|
||||
.string "SMARTNESS$"
|
||||
|
||||
gContestToughness::
|
||||
.string "TOUGHNESS$"
|
||||
|
||||
gContestPaintingCool1::
|
||||
.string "Nonstop supercool--\n"
|
||||
.string "the inestimable {STR_VAR_1}$"
|
||||
|
||||
gContestPaintingCool2::
|
||||
.string "Hey, there!\n"
|
||||
.string "The good-looking POKéMON {STR_VAR_1}$"
|
||||
|
||||
gContestPaintingCool3::
|
||||
.string "The marvelous, wonderful, and\n"
|
||||
.string "very great {STR_VAR_1}$"
|
||||
|
||||
gContestPaintingBeauty1::
|
||||
.string "This century's last Venus--\n"
|
||||
.string "the beautiful {STR_VAR_1}$"
|
||||
|
||||
gContestPaintingBeauty2::
|
||||
.string "{STR_VAR_1}'s dazzling,\n"
|
||||
.string "glittering smile$"
|
||||
|
||||
gContestPaintingBeauty3::
|
||||
.string "POKéMON CENTER's super idol--\n"
|
||||
.string "the incomparable {STR_VAR_1}$"
|
||||
|
||||
gContestPaintingCute1::
|
||||
.string "The lovely and sweet {STR_VAR_1}$"
|
||||
|
||||
gContestPaintingCute2::
|
||||
.string "The pretty {STR_VAR_1}'s\n"
|
||||
.string "winning portrait$"
|
||||
|
||||
gContestPaintingCute3::
|
||||
.string "Give us a wink!\n"
|
||||
.string "The cutie POKéMON {STR_VAR_1}$"
|
||||
|
||||
gContestPaintingSmart1::
|
||||
.string "The smartness maestro--\n"
|
||||
.string "the wise POKéMON {STR_VAR_1}$"
|
||||
|
||||
gContestPaintingSmart2::
|
||||
.string "{STR_VAR_1}--the one chosen\n"
|
||||
.string "above all POKéMON$"
|
||||
|
||||
gContestPaintingSmart3::
|
||||
.string "The excellent {STR_VAR_1}'s\n"
|
||||
.string "moment of elegance$"
|
||||
|
||||
gContestPaintingTough1::
|
||||
.string "The powerfully muscular\n"
|
||||
.string "speedster {STR_VAR_1}$"
|
||||
|
||||
gContestPaintingTough2::
|
||||
.string "The strong, stronger, and\n"
|
||||
.string "strongest {STR_VAR_1}$"
|
||||
|
||||
gContestPaintingTough3::
|
||||
.string "The mighty tough\n"
|
||||
.string "hyper POKéMON {STR_VAR_1}$"
|
||||
@ -1,314 +0,0 @@
|
||||
gText_AppealNumWhichMoveWillBePlayed::
|
||||
.string "Appeal no. {STR_VAR_1}!\n"
|
||||
.string "Which move will be played?$"
|
||||
|
||||
gText_AppealNumButItCantParticipate::
|
||||
.string "Appeal no. {STR_VAR_1}!\n"
|
||||
.string "But it can't participate!$"
|
||||
|
||||
gText_MonAppealedWithMove::
|
||||
.string "{STR_VAR_1} appealed with\n"
|
||||
.string "{STR_VAR_2}!$"
|
||||
|
||||
gText_MonWasWatchingOthers::
|
||||
.string "{STR_VAR_1} was watching\n"
|
||||
.string "the others.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_AllOutOfAppealTime::
|
||||
.string "We're all out of\n"
|
||||
.string "Appeal Time!{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
@ Appeal result texts
|
||||
|
||||
gText_BecameMoreConsciousOfOtherMons::
|
||||
.string "It became more conscious\n"
|
||||
.string "of the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MonCantMakeAnAppealAfterThis::
|
||||
.string "{STR_VAR_1} can't make an\n"
|
||||
.string "appeal after this.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_SettledDownJustLittleBit::
|
||||
.string "It settled down just a\n"
|
||||
.string "little bit.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_BecameObliviousToOtherMons::
|
||||
.string "It became oblivious to\n"
|
||||
.string "the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_BecameLessAwareOfOtherMons::
|
||||
.string "It became less aware of\n"
|
||||
.string "the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_StoppedCaringAboutOtherMons::
|
||||
.string "It stopped caring about\n"
|
||||
.string "other POKéMON much.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_TriedToStartleOtherMons::
|
||||
.string "It tried to startle the\n"
|
||||
.string "other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_TriedToDazzleOthers::
|
||||
.string "It tried to dazzle the\n"
|
||||
.string "others.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_JudgeLookedAwayFromMon::
|
||||
.string "The JUDGE looked away\n"
|
||||
.string "from {STR_VAR_1}.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_TriedToUnnerveNextMon::
|
||||
.string "It tried to unnerve the\n"
|
||||
.string "next POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MonBecameNervous::
|
||||
.string "{STR_VAR_1} became\n"
|
||||
.string "nervous.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_AppealTriedToUnnerveWaitingMons::
|
||||
.string "The appeal tried to\n"
|
||||
.string "unnerve waiting POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_TauntedMonsDoingWell::
|
||||
.string "It taunted POKéMON\n"
|
||||
.string "doing well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MonRegainedItsForm::
|
||||
.string "{STR_VAR_1} regained its\n"
|
||||
.string "form.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_TriedToJamMonDoingWell::
|
||||
.string "It tried to jam POKéMON\n"
|
||||
.string "doing well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_StandoutMonHustledEvenMore::
|
||||
.string "The standout {STR_VAR_1}\n"
|
||||
.string "hustled even more.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_LargelyUnnoticedMonWorkedHard::
|
||||
.string "The largely unnoticed\n"
|
||||
.string "{STR_VAR_1} worked hard.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_WorkedAsMuchAsMonBefore::
|
||||
.string "It worked as much as\n"
|
||||
.string "POKéMON before it.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MonsAppealDidNotGoWell::
|
||||
.string "{STR_VAR_1}'s appeal did\n"
|
||||
.string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_WorkedAsMuchAsPrecedingMon::
|
||||
.string "It worked as much as the\n"
|
||||
.string "preceding POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MonsAppealDidNotGoWell2::
|
||||
.string "{STR_VAR_1}'s appeal did\n"
|
||||
.string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MonsAppealDidNotGoWell3::
|
||||
.string "{STR_VAR_1}'s appeal did\n"
|
||||
.string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MonsAppealWentSlightlyWell::
|
||||
.string "{STR_VAR_1}'s appeal\n"
|
||||
.string "went slightly well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MonsAppealWentPrettyWell::
|
||||
.string "{STR_VAR_1}'s appeal\n"
|
||||
.string "went pretty well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MonsAppealWentExcellently::
|
||||
.string "{STR_VAR_1}'s appeal\n"
|
||||
.string "went excellently.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MonsAppealWasDud::
|
||||
.string "{STR_VAR_1}'s appeal was\n"
|
||||
.string "a dud.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MonsAppealDidNotWorkVeryWell::
|
||||
.string "{STR_VAR_1}'s appeal did\n"
|
||||
.string "not work very well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MonsAppealWentSlightlyWell2::
|
||||
.string "{STR_VAR_1}'s appeal\n"
|
||||
.string "went slightly well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MonsAppealWentPrettyWell2::
|
||||
.string "{STR_VAR_1}'s appeal\n"
|
||||
.string "went pretty well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MonsAppealWentVeryWell::
|
||||
.string "{STR_VAR_1}'s appeal\n"
|
||||
.string "went very well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MonsAppealWentExcellently2::
|
||||
.string "{STR_VAR_1}'s appeal\n"
|
||||
.string "went excellently.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_SameTypeAsOneBeforeGood::
|
||||
.string "It's the same type as the\n"
|
||||
.string "POKéMON before--good!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_NotSameTypeAsOneBeforeGood::
|
||||
.string "It's not the same type as\n"
|
||||
.string "the one before--good!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_StoodOutMuchMoreThanMonBefore::
|
||||
.string "It stood out much more\n"
|
||||
.string "than the POKéMON before.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_DidntDoAsWellAsMonBefore::
|
||||
.string "It didn't do as well as the\n"
|
||||
.string "POKéMON before.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MonsConditionRoseAboveUsual::
|
||||
.string "{STR_VAR_1}'s condition\n"
|
||||
.string "rose above usual.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MonsHotStatusMadeGreatAppeal::
|
||||
.string "{STR_VAR_1}'s hot status\n"
|
||||
.string "made it a great appeal!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MovedUpInLineForNextAppeal::
|
||||
.string "It moved up in line for\n"
|
||||
.string "the next appeal.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_MovedBackInLineForNextAppeal::
|
||||
.string "It moved back in line once\n"
|
||||
.string "for the next appeal.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_ScrambledUpOrderForNextTurn::
|
||||
.string "It scrambled up the\n"
|
||||
.string "order for the next turn.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
|
||||
|
||||
gText_JudgeLookedAtMonExpectantly::
|
||||
.string "The JUDGE looked at\n"
|
||||
.string "{STR_VAR_1} expectantly.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_AppealComboWentOverWell::
|
||||
.string "The appeal combo went\n"
|
||||
.string "over well.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_AppealComboWentOverVeryWell::
|
||||
.string "The appeal combo went\n"
|
||||
.string "over very well.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_AppealComboWentOverExcellently::
|
||||
.string "The appeal combo went\n"
|
||||
.string "over excellently.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_MonManagedToAvertGaze::
|
||||
.string "{STR_VAR_1} managed to\n"
|
||||
.string "avert its gaze.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_MonManagedToAvoidSeeingIt::
|
||||
.string "{STR_VAR_1} managed to\n"
|
||||
.string "avoid seeing it.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_MonIsntFazedByThatSortOfThing::
|
||||
.string "{STR_VAR_1} isn't fazed\n"
|
||||
.string "by that sort of thing.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_MonBecameALittleDistracted::
|
||||
.string "{STR_VAR_1} became a\n"
|
||||
.string "little distracted.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_TriedToStartleOtherPokemon::
|
||||
.string "It tried to startle the\n"
|
||||
.string "other POKéMON.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_MonLookedDownOutOfDistraction::
|
||||
.string "{STR_VAR_1} looked down\n"
|
||||
.string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_MonTurnedBackOutOfDistraction::
|
||||
.string "{STR_VAR_1} turned back\n"
|
||||
.string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_MonCouldntHelpUtteringCry::
|
||||
.string "{STR_VAR_1} couldn't help\n"
|
||||
.string "uttering a cry.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_MonCouldntHelpLeapingUp::
|
||||
.string "{STR_VAR_1} couldn't help\n"
|
||||
.string "leaping up.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_MonTrippedOutOfDistraction::
|
||||
.string "{STR_VAR_1} tripped over\n"
|
||||
.string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_MonWasTooNervousToMove::
|
||||
.string "{STR_VAR_1} was too\n"
|
||||
.string "nervous to move.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_ButItMessedUp2::
|
||||
.string "But it messed up.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_ButItFailedToMakeTargetNervous::
|
||||
.string "But it failed to make\n"
|
||||
.string "the target nervous.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_ButItFailedToMakeAnyoneNervous::
|
||||
.string "But it failed to make\n"
|
||||
.string "anyone nervous.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_ButItWasIgnored::
|
||||
.string "But it was ignored…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_CouldntImproveItsCondition::
|
||||
.string "But it couldn't improve\n"
|
||||
.string "its condition…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_BadConditionResultedInWeakAppeal::
|
||||
.string "Its bad condition\n"
|
||||
.string "resulted in a weak appeal.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_MonWasUnaffected::
|
||||
.string "{STR_VAR_1} was\n"
|
||||
.string "unaffected.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_RepeatedAppeal::
|
||||
.string "{STR_VAR_1} disappointed\n"
|
||||
.string "by repeating an appeal.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_MonsXWentOverGreat::
|
||||
.string "{STR_VAR_1}'s {STR_VAR_3}\n"
|
||||
.string "went over great.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_MonsXDidntGoOverWell::
|
||||
.string "{STR_VAR_1}'s {STR_VAR_3}\n"
|
||||
.string "didn't go over well here…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_MonsXGotTheCrowdGoing::
|
||||
.string "{STR_VAR_1}'s {STR_VAR_3}\n"
|
||||
.string "got the crowd going.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_MonCantAppealNextTurn::
|
||||
.string "{STR_VAR_1} can't appeal\n"
|
||||
.string "next turn…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_AttractedCrowdsAttention::
|
||||
.string "It attracted the crowd's\n"
|
||||
.string "attention.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_CrowdContinuesToWatchMon::
|
||||
.string "The crowd continues to\n"
|
||||
.string "watch {STR_VAR_3}.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_MonsMoveIsIgnored::
|
||||
.string "{STR_VAR_1}'s\n"
|
||||
.string "{STR_VAR_2} is ignored.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
|
||||
|
||||
gText_Contest_Shyness::
|
||||
.string "shyness$"
|
||||
|
||||
gText_Contest_Anxiety::
|
||||
.string "anxiety$"
|
||||
|
||||
gText_Contest_Laziness::
|
||||
.string "laziness$"
|
||||
|
||||
gText_Contest_Hesitancy::
|
||||
.string "hesitancy$"
|
||||
|
||||
gText_Contest_Fear::
|
||||
.string "fear$"
|
||||
8
include/config/contest.h
Normal file
8
include/config/contest.h
Normal file
@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_CONFIG_CONTEST_H
|
||||
#define GUARD_CONFIG_CONTEST_H
|
||||
|
||||
// Move data settings
|
||||
#define C_UPDATED_MOVE_CATEGORIES GEN_LATEST // Updates contest category.
|
||||
#define C_UPDATED_MOVE_EFFECTS GEN_LATEST // Updates contest effects.
|
||||
|
||||
#endif // GUARD_CONFIG_CONTEST_H
|
||||
@ -103,29 +103,29 @@
|
||||
#define CONTEST_EFFECT_REPETITION_NOT_BORING 3
|
||||
#define CONTEST_EFFECT_AVOID_STARTLE_ONCE 4
|
||||
#define CONTEST_EFFECT_AVOID_STARTLE 5
|
||||
#define CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY 6
|
||||
#define CONTEST_EFFECT_USER_LESS_EASILY_STARTLED 7
|
||||
#define CONTEST_EFFECT_STARTLE_FRONT_MON 8
|
||||
#define CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS 9
|
||||
#define CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY 6 // Unused
|
||||
#define CONTEST_EFFECT_USER_LESS_EASILY_STARTLED 7 // Unused
|
||||
#define CONTEST_EFFECT_STARTLE_FRONT_MON 8 // Unused
|
||||
#define CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS 9 // Unused
|
||||
#define CONTEST_EFFECT_STARTLE_PREV_MON 10
|
||||
#define CONTEST_EFFECT_STARTLE_PREV_MONS 11
|
||||
#define CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON 12
|
||||
#define CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS 13
|
||||
#define CONTEST_EFFECT_STARTLE_PREV_MON_2 14
|
||||
#define CONTEST_EFFECT_STARTLE_PREV_MONS_2 15
|
||||
#define CONTEST_EFFECT_STARTLE_PREV_MON_2 14 // Unused
|
||||
#define CONTEST_EFFECT_STARTLE_PREV_MONS_2 15 // Unused
|
||||
#define CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION 16
|
||||
#define CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION 17
|
||||
#define CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN 18
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL 19
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL 20
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL 21
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL 22
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL 23
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL 24
|
||||
#define CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS 25
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL 20 // Unused
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL 21 // Unused
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL 22 // Unused
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL 23 // Unused
|
||||
#define CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL 24 // Unused
|
||||
#define CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS 25 // Unused
|
||||
#define CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS 26
|
||||
#define CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS 27
|
||||
#define CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION 28
|
||||
#define CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION 28 // Unused
|
||||
#define CONTEST_EFFECT_BETTER_IF_FIRST 29
|
||||
#define CONTEST_EFFECT_BETTER_IF_LAST 30
|
||||
#define CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES 31
|
||||
@ -133,18 +133,21 @@
|
||||
#define CONTEST_EFFECT_BETTER_WHEN_LATER 33
|
||||
#define CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING 34
|
||||
#define CONTEST_EFFECT_BETTER_IF_SAME_TYPE 35
|
||||
#define CONTEST_EFFECT_BETTER_IF_DIFF_TYPE 36
|
||||
#define CONTEST_EFFECT_BETTER_IF_DIFF_TYPE 36 // Unused
|
||||
#define CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL 37
|
||||
#define CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS 38
|
||||
#define CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION 39
|
||||
#define CONTEST_EFFECT_NEXT_APPEAL_EARLIER 40
|
||||
#define CONTEST_EFFECT_NEXT_APPEAL_LATER 41
|
||||
#define CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER 42
|
||||
#define CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER 42 // Unused
|
||||
#define CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER 43
|
||||
#define CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST 44
|
||||
#define CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS 45
|
||||
#define CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED 46
|
||||
#define CONTEST_EFFECT_DONT_EXCITE_AUDIENCE 47
|
||||
//#define CONTEST_EFFECT_QUICKLY_GROW_BORED 48 // New in Gen 6
|
||||
//#define CONTEST_EFFECT_EXCITES_AUDIENCE_MORE_IF_FIRST 49 // New in Gen 6
|
||||
//#define CONTEST_EFFECT_EXCITES_AUDIENCE_MORE_IF_LAST 50 // New in Gen 6
|
||||
|
||||
// Each of the above effects is grouped into one of these effect type categories
|
||||
// Only a few of these get checked by the AI, the rest go unused
|
||||
@ -157,93 +160,93 @@
|
||||
#define CONTEST_EFFECT_TYPE_TURN_ORDER 6
|
||||
#define CONTEST_EFFECT_TYPE_UNKNOWN 8
|
||||
|
||||
#define COMBO_STARTER_POUND 1
|
||||
#define COMBO_STARTER_FIRE_PUNCH 2
|
||||
#define COMBO_STARTER_ICE_PUNCH 3
|
||||
#define COMBO_STARTER_THUNDER_PUNCH 4
|
||||
#define COMBO_STARTER_SCRATCH 5
|
||||
#define COMBO_STARTER_VICE_GRIP 6
|
||||
#define COMBO_STARTER_SWORDS_DANCE 7
|
||||
#define COMBO_STARTER_SAND_ATTACK 8
|
||||
#define COMBO_STARTER_HORN_ATTACK 9
|
||||
#define COMBO_STARTER_LEER 10
|
||||
#define COMBO_STARTER_SING 11
|
||||
#define COMBO_STARTER_SURF 12
|
||||
#define COMBO_STARTER_PECK 13
|
||||
#define COMBO_STARTER_LEECH_SEED 14
|
||||
#define COMBO_STARTER_GROWTH 15
|
||||
#define COMBO_STARTER_STRING_SHOT 16
|
||||
#define COMBO_STARTER_DRAGON_RAGE 17
|
||||
#define COMBO_STARTER_ROCK_THROW 18
|
||||
#define COMBO_STARTER_EARTHQUAKE 19
|
||||
#define COMBO_STARTER_TOXIC 20
|
||||
#define COMBO_STARTER_CONFUSION 21
|
||||
#define COMBO_STARTER_PSYCHIC 22
|
||||
#define COMBO_STARTER_HYPNOSIS 23
|
||||
#define COMBO_STARTER_RAGE 24
|
||||
#define COMBO_STARTER_DOUBLE_TEAM 25
|
||||
#define COMBO_STARTER_HARDEN 26
|
||||
#define COMBO_STARTER_DEFENSE_CURL 27
|
||||
#define COMBO_STARTER_FOCUS_ENERGY 28
|
||||
#define COMBO_STARTER_SMOG 29
|
||||
#define COMBO_STARTER_SLUDGE 30
|
||||
#define COMBO_STARTER_BONE_CLUB 31
|
||||
#define COMBO_STARTER_KINESIS 32
|
||||
#define COMBO_STARTER_SOFT_BOILED 33
|
||||
#define COMBO_STARTER_BONEMERANG 34
|
||||
#define COMBO_STARTER_REST 35
|
||||
#define COMBO_STARTER_MIND_READER 36
|
||||
#define COMBO_STARTER_CURSE 37
|
||||
#define COMBO_STARTER_POWDER_SNOW 38
|
||||
#define COMBO_STARTER_SCARY_FACE 39
|
||||
#define COMBO_STARTER_BELLY_DRUM 40
|
||||
#define COMBO_STARTER_SLUDGE_BOMB 41
|
||||
#define COMBO_STARTER_MUD_SLAP 42
|
||||
#define COMBO_STARTER_BONE_RUSH 43
|
||||
#define COMBO_STARTER_LOCK_ON 44
|
||||
#define COMBO_STARTER_SANDSTORM 45
|
||||
#define COMBO_STARTER_ENDURE 46
|
||||
#define COMBO_STARTER_CHARM 47
|
||||
#define COMBO_STARTER_MEAN_LOOK 48
|
||||
#define COMBO_STARTER_HEAL_BELL 49
|
||||
#define COMBO_STARTER_DRAGON_BREATH 50
|
||||
#define COMBO_STARTER_SWEET_SCENT 51
|
||||
#define COMBO_STARTER_RAIN_DANCE 52
|
||||
#define COMBO_STARTER_SUNNY_DAY 53
|
||||
#define COMBO_STARTER_FAKE_OUT 54
|
||||
#define COMBO_STARTER_STOCKPILE 55
|
||||
#define COMBO_STARTER_HAIL 56
|
||||
#define COMBO_STARTER_CHARGE 57
|
||||
#define COMBO_STARTER_TAUNT 58
|
||||
#define COMBO_STARTER_REVENGE 59
|
||||
#define COMBO_STARTER_YAWN 60
|
||||
#define COMBO_STARTER_DIVE 61
|
||||
#define COMBO_STARTER_MUD_SPORT 62
|
||||
#define COMBO_STARTER_METAL_SOUND 63
|
||||
#define COMBO_STARTER_WATER_SPORT 64
|
||||
#define COMBO_STARTER_CALM_MIND 65
|
||||
#define COMBO_STARTER_DRAGON_DANCE 66
|
||||
#define COMBO_STARTER_PAYBACK 67
|
||||
#define COMBO_STARTER_LUCKY_CHANT 68
|
||||
#define COMBO_STARTER_WORRY_SEED 69
|
||||
#define COMBO_STARTER_DRAGON_RUSH 70
|
||||
#define COMBO_STARTER_BRAVE_BIRD 71
|
||||
#define COMBO_STARTER_THUNDER_FANG 72
|
||||
#define COMBO_STARTER_ICE_FANG 73
|
||||
#define COMBO_STARTER_FIRE_FANG 74
|
||||
#define COMBO_STARTER_ATTACK_ORDER 75
|
||||
#define COMBO_STARTER_DEFEND_ORDER 76
|
||||
#define COMBO_STARTER_HEAL_ORDER 77
|
||||
#define COMBO_STARTER_SCALD 78
|
||||
#define COMBO_STARTER_DRAGON_TAIL 79
|
||||
#define COMBO_STARTER_HYPERSPACE_HOLE 80
|
||||
#define COMBO_STARTER_THOUSAND_ARROWS 81
|
||||
#define COMBO_STARTER_THOUSAND_WAVES 82
|
||||
#define COMBO_STARTER_HYPERSPACE_FURY 83
|
||||
#define COMBO_STARTER_SHADOW_BONE 84
|
||||
#define COMBO_STARTER_POUND 1
|
||||
#define COMBO_STARTER_FIRE_PUNCH 2
|
||||
#define COMBO_STARTER_ICE_PUNCH 3
|
||||
#define COMBO_STARTER_THUNDER_PUNCH 4
|
||||
#define COMBO_STARTER_SCRATCH 5
|
||||
#define COMBO_STARTER_VICE_GRIP 6
|
||||
#define COMBO_STARTER_SWORDS_DANCE 7
|
||||
#define COMBO_STARTER_SAND_ATTACK 8
|
||||
#define COMBO_STARTER_HORN_ATTACK 9
|
||||
#define COMBO_STARTER_LEER 10
|
||||
#define COMBO_STARTER_SING 11
|
||||
#define COMBO_STARTER_SURF 12
|
||||
#define COMBO_STARTER_PECK 13
|
||||
#define COMBO_STARTER_LEECH_SEED 14
|
||||
#define COMBO_STARTER_GROWTH 15
|
||||
#define COMBO_STARTER_STRING_SHOT 16
|
||||
#define COMBO_STARTER_DRAGON_RAGE 17
|
||||
#define COMBO_STARTER_ROCK_THROW 18
|
||||
#define COMBO_STARTER_EARTHQUAKE 19
|
||||
#define COMBO_STARTER_TOXIC 20
|
||||
#define COMBO_STARTER_CONFUSION 21
|
||||
#define COMBO_STARTER_PSYCHIC 22
|
||||
#define COMBO_STARTER_HYPNOSIS 23
|
||||
#define COMBO_STARTER_RAGE 24
|
||||
#define COMBO_STARTER_DOUBLE_TEAM 25
|
||||
#define COMBO_STARTER_HARDEN 26
|
||||
#define COMBO_STARTER_DEFENSE_CURL 27
|
||||
#define COMBO_STARTER_FOCUS_ENERGY 28
|
||||
#define COMBO_STARTER_SMOG 29
|
||||
#define COMBO_STARTER_SLUDGE 30
|
||||
#define COMBO_STARTER_BONE_CLUB 31
|
||||
#define COMBO_STARTER_KINESIS 32
|
||||
#define COMBO_STARTER_SOFT_BOILED 33
|
||||
#define COMBO_STARTER_BONEMERANG 34
|
||||
#define COMBO_STARTER_REST 35
|
||||
#define COMBO_STARTER_MIND_READER 36
|
||||
#define COMBO_STARTER_CURSE 37
|
||||
#define COMBO_STARTER_POWDER_SNOW 38
|
||||
#define COMBO_STARTER_SCARY_FACE 39
|
||||
#define COMBO_STARTER_BELLY_DRUM 40
|
||||
#define COMBO_STARTER_SLUDGE_BOMB 41
|
||||
#define COMBO_STARTER_MUD_SLAP 42
|
||||
#define COMBO_STARTER_BONE_RUSH 43
|
||||
#define COMBO_STARTER_LOCK_ON 44
|
||||
#define COMBO_STARTER_SANDSTORM 45
|
||||
#define COMBO_STARTER_ENDURE 46
|
||||
#define COMBO_STARTER_CHARM 47
|
||||
#define COMBO_STARTER_MEAN_LOOK 48
|
||||
#define COMBO_STARTER_HEAL_BELL 49
|
||||
#define COMBO_STARTER_DRAGON_BREATH 50
|
||||
#define COMBO_STARTER_SWEET_SCENT 51
|
||||
#define COMBO_STARTER_RAIN_DANCE 52
|
||||
#define COMBO_STARTER_SUNNY_DAY 53
|
||||
#define COMBO_STARTER_FAKE_OUT 54
|
||||
#define COMBO_STARTER_STOCKPILE 55
|
||||
#define COMBO_STARTER_HAIL 56
|
||||
#define COMBO_STARTER_CHARGE 57
|
||||
#define COMBO_STARTER_TAUNT 58
|
||||
#define COMBO_STARTER_REVENGE 59
|
||||
#define COMBO_STARTER_YAWN 60
|
||||
#define COMBO_STARTER_DIVE 61
|
||||
#define COMBO_STARTER_MUD_SPORT 62
|
||||
#define COMBO_STARTER_METAL_SOUND 63
|
||||
#define COMBO_STARTER_WATER_SPORT 64
|
||||
#define COMBO_STARTER_CALM_MIND 65
|
||||
#define COMBO_STARTER_DRAGON_DANCE 66
|
||||
#define COMBO_STARTER_PAYBACK 67
|
||||
#define COMBO_STARTER_LUCKY_CHANT 68
|
||||
#define COMBO_STARTER_WORRY_SEED 69
|
||||
#define COMBO_STARTER_DRAGON_RUSH 70
|
||||
#define COMBO_STARTER_BRAVE_BIRD 71
|
||||
#define COMBO_STARTER_THUNDER_FANG 72
|
||||
#define COMBO_STARTER_ICE_FANG 73
|
||||
#define COMBO_STARTER_FIRE_FANG 74
|
||||
#define COMBO_STARTER_ATTACK_ORDER 75
|
||||
#define COMBO_STARTER_DEFEND_ORDER 76
|
||||
#define COMBO_STARTER_HEAL_ORDER 77
|
||||
#define COMBO_STARTER_SCALD 78
|
||||
#define COMBO_STARTER_DRAGON_TAIL 79
|
||||
#define COMBO_STARTER_HYPERSPACE_HOLE 80
|
||||
#define COMBO_STARTER_THOUSAND_ARROWS 81
|
||||
#define COMBO_STARTER_THOUSAND_WAVES 82
|
||||
#define COMBO_STARTER_HYPERSPACE_FURY 83
|
||||
#define COMBO_STARTER_SHADOW_BONE 84
|
||||
#define COMBO_STARTER_ELECTRIC_TERRAIN 85
|
||||
#define COMBO_STARTER_MISTY_TERRAIN 86
|
||||
#define COMBO_STARTER_GRASSY_TERRAIN 87
|
||||
#define COMBO_STARTER_PSYCHIC_TERRAIN 88
|
||||
#define COMBO_STARTER_MISTY_TERRAIN 86
|
||||
#define COMBO_STARTER_GRASSY_TERRAIN 87
|
||||
#define COMBO_STARTER_PSYCHIC_TERRAIN 88
|
||||
|
||||
#endif // GUARD_CONSTANTS_CONTEST_H
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
#include "config/ai.h"
|
||||
#include "config/battle.h"
|
||||
#include "config/caps.h"
|
||||
#include "config/contest.h"
|
||||
#include "config/debug.h"
|
||||
#include "config/dexnav.h"
|
||||
#include "config/follower_npc.h"
|
||||
@ -116,12 +117,14 @@
|
||||
#define ALL_MOVES_MASK ((1 << MAX_MON_MOVES) - 1)
|
||||
|
||||
#define CONTESTANT_COUNT 4
|
||||
#define CONTEST_CATEGORY_COOL 0
|
||||
#define CONTEST_CATEGORY_BEAUTY 1
|
||||
#define CONTEST_CATEGORY_CUTE 2
|
||||
#define CONTEST_CATEGORY_SMART 3
|
||||
#define CONTEST_CATEGORY_TOUGH 4
|
||||
#define CONTEST_CATEGORIES_COUNT 5
|
||||
#define CONTEST_CATEGORY_COOL 0
|
||||
#define CONTEST_CATEGORY_BEAUTIFUL 1
|
||||
#define CONTEST_CATEGORY_BEAUTY CONTEST_CATEGORY_BEAUTIFUL
|
||||
#define CONTEST_CATEGORY_CUTE 2
|
||||
#define CONTEST_CATEGORY_CLEVER 3
|
||||
#define CONTEST_CATEGORY_SMART CONTEST_CATEGORY_CLEVER
|
||||
#define CONTEST_CATEGORY_TOUGH 4
|
||||
#define CONTEST_CATEGORIES_COUNT 5
|
||||
|
||||
// string lengths
|
||||
#define ITEM_NAME_LENGTH 20
|
||||
|
||||
@ -302,6 +302,17 @@ struct ContestResources
|
||||
void *animBgTileBuffer;
|
||||
};
|
||||
|
||||
struct ContestCategory
|
||||
{
|
||||
const u8 *name;
|
||||
const u8 *condition;
|
||||
const u8 *generic;
|
||||
const u8 *negativeTrait;
|
||||
u8 palette;
|
||||
};
|
||||
|
||||
extern const struct ContestCategory gContestCategoryInfo[CONTEST_CATEGORIES_COUNT + 1];
|
||||
|
||||
#define eContest (*gContestResources->contest)
|
||||
#define eContestantStatus (gContestResources->status)
|
||||
#define eContestAppealResults (*gContestResources->appealResults)
|
||||
|
||||
@ -7,11 +7,11 @@ struct ContestEffect
|
||||
u8 effectType;
|
||||
u8 appeal;
|
||||
u8 jam;
|
||||
const u8 *description;
|
||||
void (*function)(void);
|
||||
};
|
||||
|
||||
extern const struct ContestEffect gContestEffects[];
|
||||
extern const u8 *const gContestEffectDescriptionPointers[];
|
||||
extern const u8 *const gContestMoveTypeTextPointers[];
|
||||
|
||||
bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove);
|
||||
|
||||
|
||||
@ -30,7 +30,6 @@ def add_filter_data(match):
|
||||
if trainer_name in source_data:
|
||||
contest_filter = source_data[trainer_name]
|
||||
print(f"Updating {trainer_name}: adding {contest_filter}")
|
||||
#return f'{trainer_name} = {{\n .filter = {contest_filter}'
|
||||
return f'{match.group(0)}\n .filter = {contest_filter}'
|
||||
else:
|
||||
return match.group(0)
|
||||
|
||||
44
migration_scripts/1.14/consolidate_contest_effects.py
Normal file
44
migration_scripts/1.14/consolidate_contest_effects.py
Normal file
@ -0,0 +1,44 @@
|
||||
import glob
|
||||
import re
|
||||
import os
|
||||
|
||||
if not os.path.exists("Makefile"):
|
||||
print("Please run this script from your root folder.")
|
||||
quit()
|
||||
|
||||
# Read contest.c and extract the party information
|
||||
for file in glob.glob('./src/contest.c'):
|
||||
with open(file, 'r') as f:
|
||||
source_content = f.read()
|
||||
|
||||
# Extract party info from contest.c
|
||||
source_pattern = re.compile(r'(\[CONTEST_EFFECT_.*\])\s*=\s(COMPOUND_STRING.*),')
|
||||
source_data = {}
|
||||
for match in source_pattern.findall(source_content):
|
||||
if len(match) == 2:
|
||||
contest_effect, effect_description = match
|
||||
source_data[contest_effect] = (effect_description)
|
||||
|
||||
# Read contest_moves.h content
|
||||
for file in glob.glob('./src/data/contest_moves.h'):
|
||||
with open(file, 'r') as f:
|
||||
destination_content = f.read()
|
||||
|
||||
# Modify contest_moves.h content
|
||||
def add_description(match):
|
||||
contest_effect = match.group(1)
|
||||
if contest_effect in source_data:
|
||||
effect_description = source_data[contest_effect]
|
||||
print(f"Updating {contest_effect}: adding {effect_description}")
|
||||
return f"{match.group(0)}\n .description = {effect_description},"
|
||||
else:
|
||||
return match.group(0)
|
||||
|
||||
destination_pattern = re.compile(r'(\[CONTEST_EFFECT_.*\]) =\s*\n\s*{')
|
||||
modified_content = destination_pattern.sub(add_description, destination_content)
|
||||
|
||||
# Write the modified content back to contest_moves.h
|
||||
for file in glob.glob('./src/data/contest_moves.h'):
|
||||
with open(file, 'w') as f:
|
||||
f.write(modified_content)
|
||||
print("contest_moves.h has been updated")
|
||||
166
src/contest.c
166
src/contest.c
@ -360,10 +360,32 @@ EWRAM_DATA u8 gCurContestWinnerSaveIdx = 0;
|
||||
// IWRAM common vars.
|
||||
COMMON_DATA rng_value_t gContestRngValue = {0};
|
||||
|
||||
extern const u8 gText_LinkStandby4[];
|
||||
const u8 gText_LinkStandby4[] = COMPOUND_STRING("Link standby!");
|
||||
extern const u8 gText_BDot[];
|
||||
extern const u8 gText_CDot[];
|
||||
extern void (*const gContestEffectFuncs[])(void);
|
||||
|
||||
//Text
|
||||
const u8 gText_AppealNumWhichMoveWillBePlayed[] = COMPOUND_STRING("Appeal no. {STR_VAR_1}!\nWhich move will be played?");
|
||||
const u8 gText_AppealNumButItCantParticipate[] = COMPOUND_STRING("Appeal no. {STR_VAR_1}!\nBut it can't participate!");
|
||||
const u8 gText_MonAppealedWithMove[] = COMPOUND_STRING("{STR_VAR_1} appealed with\n{STR_VAR_2}!");
|
||||
const u8 gText_MonWasWatchingOthers[] = COMPOUND_STRING("{STR_VAR_1} was watching\nthe others.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
const u8 gText_AllOutOfAppealTime[] = COMPOUND_STRING("We're all out of\nAppeal Time!{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
const u8 gText_JudgeLookedAtMonExpectantly[] = COMPOUND_STRING("The JUDGE looked at\n{STR_VAR_1} expectantly.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
const u8 gText_AppealComboWentOverWell[] = COMPOUND_STRING("The appeal combo went\nover well.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
const u8 gText_AppealComboWentOverVeryWell[] = COMPOUND_STRING("The appeal combo went\nover very well.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
const u8 gText_AppealComboWentOverExcellently[] = COMPOUND_STRING("The appeal combo went\nover excellently.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
const u8 gText_MonWasTooNervousToMove[] = COMPOUND_STRING("{STR_VAR_1} was too\nnervous to move.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
const u8 gText_CouldntImproveItsCondition[] = COMPOUND_STRING("But it couldn't improve\nits condition…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
const u8 gText_BadConditionResultedInWeakAppeal[] = COMPOUND_STRING("Its bad condition\nresulted in a weak appeal.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
const u8 gText_MonWasUnaffected[] = COMPOUND_STRING("{STR_VAR_1} was\nunaffected.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
const u8 gText_RepeatedAppeal[] = COMPOUND_STRING("{STR_VAR_1} disappointed\nby repeating an appeal.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
const u8 gText_MonsXWentOverGreat[] = COMPOUND_STRING("{STR_VAR_1}'s {STR_VAR_3}\nwent over great.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
const u8 gText_MonsXDidntGoOverWell[] = COMPOUND_STRING("{STR_VAR_1}'s {STR_VAR_3}\ndidn't go over well here…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
const u8 gText_MonsXGotTheCrowdGoing[] = COMPOUND_STRING("{STR_VAR_1}'s {STR_VAR_3}\ngot the crowd going.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
const u8 gText_MonCantAppealNextTurn[] = COMPOUND_STRING("{STR_VAR_1} can't appeal\nnext turn…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
const u8 gText_AttractedCrowdsAttention[] = COMPOUND_STRING("It attracted the crowd's\nattention.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
const u8 gText_CrowdContinuesToWatchMon[] = COMPOUND_STRING("The crowd continues to\nwatch {STR_VAR_3}.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
const u8 gText_MonsMoveIsIgnored[] = COMPOUND_STRING("{STR_VAR_1}'s\n{STR_VAR_2} is ignored.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}");
|
||||
|
||||
static const u8 sSliderHeartYPositions[CONTESTANT_COUNT] =
|
||||
{
|
||||
@ -688,84 +710,57 @@ static const u16 sText_Pal[] = INCBIN_U16("graphics/contest/text.gbapal");
|
||||
|
||||
#include "data/contest_text_tables.h"
|
||||
|
||||
const u8 *const gContestEffectDescriptionPointers[] =
|
||||
const struct ContestCategory gContestCategoryInfo[CONTEST_CATEGORIES_COUNT + 1] =
|
||||
{
|
||||
[CONTEST_EFFECT_HIGHLY_APPEALING] = COMPOUND_STRING("A highly appealing move."),
|
||||
[CONTEST_EFFECT_USER_MORE_EASILY_STARTLED] = COMPOUND_STRING("After this move, the user is\nmore easily startled."),
|
||||
[CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES] = COMPOUND_STRING("Makes a great appeal, but\nallows no more to the end."),
|
||||
[CONTEST_EFFECT_REPETITION_NOT_BORING] = COMPOUND_STRING("Can be repeatedly used\nwithout boring the JUDGE."),
|
||||
[CONTEST_EFFECT_AVOID_STARTLE_ONCE] = COMPOUND_STRING("Can avoid being startled\nby others once."),
|
||||
[CONTEST_EFFECT_AVOID_STARTLE] = COMPOUND_STRING("Can avoid being startled\nby others."),
|
||||
[CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY] = COMPOUND_STRING("Can avoid being startled\nby others a little."),
|
||||
[CONTEST_EFFECT_USER_LESS_EASILY_STARTLED] = COMPOUND_STRING("After this move, the user is\nless likely to be startled."),
|
||||
[CONTEST_EFFECT_STARTLE_FRONT_MON] = COMPOUND_STRING("Slightly startles the\nPOKéMON in front."),
|
||||
[CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS] = COMPOUND_STRING("Slightly startles those\nthat have made appeals."),
|
||||
[CONTEST_EFFECT_STARTLE_PREV_MON] = COMPOUND_STRING("Startles the POKéMON that\nappealed before the user."),
|
||||
[CONTEST_EFFECT_STARTLE_PREV_MONS] = COMPOUND_STRING("Startles all POKéMON that\nhave done their appeals."),
|
||||
[CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON] = COMPOUND_STRING("Badly startles the\nPOKéMON in front."),
|
||||
[CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS] = COMPOUND_STRING("Badly startles those that\nhave made appeals."),
|
||||
[CONTEST_EFFECT_STARTLE_PREV_MON_2] = COMPOUND_STRING("Startles the POKéMON that\nappealed before the user."),
|
||||
[CONTEST_EFFECT_STARTLE_PREV_MONS_2] = COMPOUND_STRING("Startles all POKéMON that\nhave done their appeals."),
|
||||
[CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION] = COMPOUND_STRING("Shifts the JUDGE's\nattention from others."),
|
||||
[CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION] = COMPOUND_STRING("Startles the POKéMON that\nhas the JUDGE's attention."),
|
||||
[CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN] = COMPOUND_STRING("Jams the others, and misses\none turn of appeals."),
|
||||
[CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL] = COMPOUND_STRING("Startles POKéMON that\nmade a same-type appeal."),
|
||||
[CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL] = COMPOUND_STRING("Badly startles POKéMON\nthat made COOL appeals."),
|
||||
[CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL] = COMPOUND_STRING("Badly startles POKéMON\nthat made BEAUTY appeals."),
|
||||
[CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL] = COMPOUND_STRING("Badly startles POKéMON\nthat made CUTE appeals."),
|
||||
[CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL] = COMPOUND_STRING("Badly startles POKéMON\nthat made SMART appeals."),
|
||||
[CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL] = COMPOUND_STRING("Badly startles POKéMON\nthat made TOUGH appeals."),
|
||||
[CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS] = COMPOUND_STRING("Makes one POKéMON after\nthe user nervous."),
|
||||
[CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS] = COMPOUND_STRING("Makes all POKéMON after\nthe user nervous."),
|
||||
[CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS] = COMPOUND_STRING("Worsens the condition of\nthose that made appeals."),
|
||||
[CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION] = COMPOUND_STRING("Badly startles POKéMON in\ngood condition."),
|
||||
[CONTEST_EFFECT_BETTER_IF_FIRST] = COMPOUND_STRING("The appeal works great if\nperformed first."),
|
||||
[CONTEST_EFFECT_BETTER_IF_LAST] = COMPOUND_STRING("The appeal works great if\nperformed last."),
|
||||
[CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES] = COMPOUND_STRING("Makes the appeal as good\nas those before it."),
|
||||
[CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE] = COMPOUND_STRING("Makes the appeal as good\nas the one before it."),
|
||||
[CONTEST_EFFECT_BETTER_WHEN_LATER] = COMPOUND_STRING("The appeal works better\nthe later it is performed."),
|
||||
[CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING] = COMPOUND_STRING("The appeal's quality varies\ndepending on its timing."),
|
||||
[CONTEST_EFFECT_BETTER_IF_SAME_TYPE] = COMPOUND_STRING("Works well if it's the same\ntype as the one before."),
|
||||
[CONTEST_EFFECT_BETTER_IF_DIFF_TYPE] = COMPOUND_STRING("Works well if different in\ntype than the one before."),
|
||||
[CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL] = COMPOUND_STRING("Affected by how well the\nappeal in front goes."),
|
||||
[CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS] = COMPOUND_STRING("Ups the user's condition.\nHelps prevent nervousness."),
|
||||
[CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION] = COMPOUND_STRING("The appeal works well if the\nuser's condition is good."),
|
||||
[CONTEST_EFFECT_NEXT_APPEAL_EARLIER] = COMPOUND_STRING("The next appeal can be\nmade earlier next turn."),
|
||||
[CONTEST_EFFECT_NEXT_APPEAL_LATER] = COMPOUND_STRING("The next appeal can be\nmade later next turn."),
|
||||
[CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER] = COMPOUND_STRING("Makes the next turn's order\nmore easily scrambled."),
|
||||
[CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER] = COMPOUND_STRING("Scrambles the order of\nappeals on the next turn."),
|
||||
[CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST] = COMPOUND_STRING("An appeal that excites the\naudience in any CONTEST."),
|
||||
[CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS] = COMPOUND_STRING("Badly startles all POKéMON\nthat made good appeals."),
|
||||
[CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED] = COMPOUND_STRING("The appeal works best the\nmore the crowd is excited."),
|
||||
[CONTEST_EFFECT_DONT_EXCITE_AUDIENCE] = COMPOUND_STRING("Temporarily stops the\ncrowd from growing excited."),
|
||||
};
|
||||
[CONTEST_CATEGORY_COOL] =
|
||||
{
|
||||
.name = COMPOUND_STRING("COOL"),
|
||||
.condition = COMPOUND_STRING(""),
|
||||
.generic = COMPOUND_STRING("COOL Move"),
|
||||
.negativeTrait = COMPOUND_STRING("shyness"),
|
||||
.palette = 13,
|
||||
},
|
||||
|
||||
const u8 *const gContestMoveTypeTextPointers[] =
|
||||
{
|
||||
[CONTEST_CATEGORY_COOL] = COMPOUND_STRING("COOL"),
|
||||
[CONTEST_CATEGORY_BEAUTY] = COMPOUND_STRING("BEAUTY"),
|
||||
[CONTEST_CATEGORY_CUTE] = COMPOUND_STRING("CUTE"),
|
||||
[CONTEST_CATEGORY_SMART] = COMPOUND_STRING("SMART"),
|
||||
[CONTEST_CATEGORY_TOUGH] = COMPOUND_STRING("TOUGH"),
|
||||
};
|
||||
[CONTEST_CATEGORY_BEAUTY] =
|
||||
{
|
||||
.name = COMPOUND_STRING("BEAUTY"),
|
||||
.condition = COMPOUND_STRING("beauty"),
|
||||
.generic = COMPOUND_STRING("BEAUTY Move"),
|
||||
.negativeTrait = COMPOUND_STRING("anxiety"),
|
||||
.palette = 14,
|
||||
},
|
||||
|
||||
static const u8 *const sContestConditions[] =
|
||||
{
|
||||
[CONTEST_CATEGORY_COOL] = COMPOUND_STRING("coolness"),
|
||||
[CONTEST_CATEGORY_BEAUTY] = COMPOUND_STRING("beauty"),
|
||||
[CONTEST_CATEGORY_CUTE] = COMPOUND_STRING("cuteness"),
|
||||
[CONTEST_CATEGORY_SMART] = COMPOUND_STRING("smartness"),
|
||||
[CONTEST_CATEGORY_TOUGH] = COMPOUND_STRING("toughness"),
|
||||
};
|
||||
[CONTEST_CATEGORY_CUTE] =
|
||||
{
|
||||
.name = COMPOUND_STRING("CUTE"),
|
||||
.condition = COMPOUND_STRING("cuteness"),
|
||||
.generic = COMPOUND_STRING("CUTE Move"),
|
||||
.negativeTrait = COMPOUND_STRING("laziness"),
|
||||
.palette = 14,
|
||||
},
|
||||
|
||||
static const u8 *const sInvalidContestMoveNames[] =
|
||||
{
|
||||
[CONTEST_CATEGORY_COOL] = COMPOUND_STRING("COOL Move"),
|
||||
[CONTEST_CATEGORY_BEAUTY] = COMPOUND_STRING("BEAUTY Move"),
|
||||
[CONTEST_CATEGORY_CUTE] = COMPOUND_STRING("CUTE Move"),
|
||||
[CONTEST_CATEGORY_SMART] = COMPOUND_STRING("SMART Move"),
|
||||
[CONTEST_CATEGORY_TOUGH] = COMPOUND_STRING("TOUGH Move"),
|
||||
[CONTEST_CATEGORIES_COUNT] = COMPOUND_STRING("???"),
|
||||
[CONTEST_CATEGORY_SMART] =
|
||||
{
|
||||
.name = COMPOUND_STRING("SMART"),
|
||||
.condition = COMPOUND_STRING("smartness"),
|
||||
.generic = COMPOUND_STRING("SMART Move"),
|
||||
.negativeTrait = COMPOUND_STRING("hesitancy"),
|
||||
.palette = 15,
|
||||
},
|
||||
|
||||
[CONTEST_CATEGORY_TOUGH] =
|
||||
{
|
||||
.name = COMPOUND_STRING("TOUGH"),
|
||||
.condition = COMPOUND_STRING("toughness"),
|
||||
.generic = COMPOUND_STRING("TOUGH Move"),
|
||||
.negativeTrait = COMPOUND_STRING("fear"),
|
||||
.palette = 13,
|
||||
},
|
||||
|
||||
[CONTEST_CATEGORIES_COUNT] =
|
||||
{
|
||||
.generic = COMPOUND_STRING("???"),
|
||||
},
|
||||
};
|
||||
|
||||
// Takes the .attentionLevel of a contestant as an index.
|
||||
@ -1914,7 +1909,7 @@ static void Task_DoAppeals(u8 taskId)
|
||||
if (eContestantStatus[contestant].currMove < MOVES_COUNT)
|
||||
StringCopy(gStringVar2, GetMoveName(eContestantStatus[contestant].currMove));
|
||||
else
|
||||
StringCopy(gStringVar2, sInvalidContestMoveNames[eContestantStatus[contestant].moveCategory]);
|
||||
StringCopy(gStringVar2, gContestCategoryInfo[eContestantStatus[contestant].moveCategory].generic);
|
||||
StringExpandPlaceholders(gStringVar4, gText_MonAppealedWithMove);
|
||||
Contest_StartTextPrinter(gStringVar4, TRUE);
|
||||
gTasks[taskId].tState = APPEALSTATE_WAIT_USED_MOVE_MSG;
|
||||
@ -2310,7 +2305,7 @@ static void Task_DoAppeals(u8 taskId)
|
||||
}
|
||||
else
|
||||
{
|
||||
StringCopy(gStringVar3, sContestConditions[GetMoveContestCategory(eContestantStatus[contestant].currMove)]);
|
||||
StringCopy(gStringVar3, gContestCategoryInfo[GetMoveContestCategory(eContestantStatus[contestant].currMove)].condition);
|
||||
}
|
||||
|
||||
if (r3 > 0 && eContestantStatus[contestant].repeatedMove)
|
||||
@ -3330,7 +3325,7 @@ static void PrintContestMoveDescription(u16 move)
|
||||
ContestBG_FillBoxWithTile(0, TILE_FILLED_JAM_HEART, 0x15, 0x20, numHearts, 0x01, 0x11);
|
||||
|
||||
FillWindowPixelBuffer(WIN_MOVE_DESCRIPTION, PIXEL_FILL(0));
|
||||
Contest_PrintTextToBg0WindowStd(WIN_MOVE_DESCRIPTION, gContestEffectDescriptionPointers[GetMoveContestEffect(move)]);
|
||||
Contest_PrintTextToBg0WindowStd(WIN_MOVE_DESCRIPTION, gContestEffects[GetMoveContestEffect(move)].description);
|
||||
Contest_PrintTextToBg0WindowStd(WIN_SLASH, gText_Slash);
|
||||
}
|
||||
|
||||
@ -4559,7 +4554,7 @@ static void CalculateAppealMoveImpact(u8 contestant)
|
||||
&& !AreMovesContestCombo(eContestantStatus[contestant].prevMove, eContestantStatus[contestant].currMove))
|
||||
eContestantStatus[contestant].hasJudgesAttention = FALSE;
|
||||
|
||||
gContestEffectFuncs[effect]();
|
||||
gContestEffects[effect].function();
|
||||
|
||||
if (eContestantStatus[contestant].conditionMod == CONDITION_GAIN)
|
||||
eContestantStatus[contestant].appeal += eContestantStatus[contestant].condition - 10;
|
||||
@ -4664,16 +4659,7 @@ static void PrintAppealMoveResultText(u8 contestant, u8 stringId)
|
||||
{
|
||||
StringCopy(gStringVar1, gContestMons[contestant].nickname);
|
||||
StringCopy(gStringVar2, GetMoveName(eContestantStatus[contestant].currMove));
|
||||
if (GetMoveContestCategory(eContestantStatus[eContestAppealResults.contestant].currMove) == CONTEST_CATEGORY_COOL)
|
||||
StringCopy(gStringVar3, gText_Contest_Shyness);
|
||||
else if (GetMoveContestCategory(eContestantStatus[eContestAppealResults.contestant].currMove) == CONTEST_CATEGORY_BEAUTY)
|
||||
StringCopy(gStringVar3, gText_Contest_Anxiety);
|
||||
else if (GetMoveContestCategory(eContestantStatus[eContestAppealResults.contestant].currMove) == CONTEST_CATEGORY_CUTE)
|
||||
StringCopy(gStringVar3, gText_Contest_Laziness);
|
||||
else if (GetMoveContestCategory(eContestantStatus[eContestAppealResults.contestant].currMove) == CONTEST_CATEGORY_SMART)
|
||||
StringCopy(gStringVar3, gText_Contest_Hesitancy);
|
||||
else
|
||||
StringCopy(gStringVar3, gText_Contest_Fear);
|
||||
StringCopy(gStringVar3, gContestCategoryInfo[GetMoveContestCategory(eContestantStatus[eContestAppealResults.contestant].currMove)].negativeTrait);
|
||||
StringExpandPlaceholders(gStringVar4, sAppealResultTexts[stringId]);
|
||||
ContestClearGeneralTextWindow();
|
||||
Contest_StartTextPrinter(gStringVar4, TRUE);
|
||||
|
||||
@ -133,7 +133,7 @@ static void ContestEffect_UserLessEasilyStartled(void)
|
||||
SetContestantEffectStringID(eContestAppealResults.contestant,CONTEST_STRING_STOPPED_CARING);
|
||||
}
|
||||
|
||||
// Slightly startles the POK<4F>MON in front.
|
||||
// Badly startles the Pokémon in front.
|
||||
static void ContestEffect_StartleFrontMon(void)
|
||||
{
|
||||
u8 idx = 0;
|
||||
@ -611,6 +611,7 @@ static void ContestEffect_BetterWhenLater(void)
|
||||
}
|
||||
|
||||
// The appeal's quality varies depending on its timing.
|
||||
// Despite the name, it seems to be random and not based on timing
|
||||
static void ContestEffect_QualityDependsOnTiming(void)
|
||||
{
|
||||
u8 rval = Random() % 10;
|
||||
|
||||
@ -42,32 +42,7 @@ static void PrintContestPaintingCaption(u8, u8);
|
||||
static void VBlankCB_ContestPainting(void);
|
||||
static void _InitContestMonPixels(u8 *spriteGfx, u16 *palette, u16 (*destPixels)[64][64]);
|
||||
|
||||
extern const u8 gContestHallPaintingCaption[];
|
||||
extern const u8 gContestCoolness[];
|
||||
extern const u8 gContestBeauty[];
|
||||
extern const u8 gContestCuteness[];
|
||||
extern const u8 gContestSmartness[];
|
||||
extern const u8 gContestToughness[];
|
||||
extern const u8 gContestRankNormal[];
|
||||
extern const u8 gContestRankSuper[];
|
||||
extern const u8 gContestRankHyper[];
|
||||
extern const u8 gContestRankMaster[];
|
||||
extern const u8 gContestLink[];
|
||||
extern const u8 gContestPaintingCool1[];
|
||||
extern const u8 gContestPaintingCool2[];
|
||||
extern const u8 gContestPaintingCool3[];
|
||||
extern const u8 gContestPaintingBeauty1[];
|
||||
extern const u8 gContestPaintingBeauty2[];
|
||||
extern const u8 gContestPaintingBeauty3[];
|
||||
extern const u8 gContestPaintingCute1[];
|
||||
extern const u8 gContestPaintingCute2[];
|
||||
extern const u8 gContestPaintingCute3[];
|
||||
extern const u8 gContestPaintingSmart1[];
|
||||
extern const u8 gContestPaintingSmart2[];
|
||||
extern const u8 gContestPaintingSmart3[];
|
||||
extern const u8 gContestPaintingTough1[];
|
||||
extern const u8 gContestPaintingTough2[];
|
||||
extern const u8 gContestPaintingTough3[];
|
||||
const u8 gContestHallPaintingCaption[] = COMPOUND_STRING("{STR_VAR_1}\n{STR_VAR_2}'s {STR_VAR_3}");
|
||||
|
||||
static const u16 sPictureFramePalettes[] = INCBIN_U16("graphics/picture_frame/bg.gbapal");
|
||||
static const u32 sPictureFrameTiles_Cool[] = INCBIN_U32("graphics/picture_frame/cool.4bpp.smol");
|
||||
@ -85,20 +60,20 @@ static const u32 sPictureFrameTilemap_HallLobby[] = INCBIN_U32("graphics/picture
|
||||
|
||||
static const u8 *const sContestCategoryNames_Unused[] =
|
||||
{
|
||||
[CONTEST_CATEGORY_COOL] = gContestCoolness,
|
||||
[CONTEST_CATEGORY_BEAUTY] = gContestBeauty,
|
||||
[CONTEST_CATEGORY_CUTE] = gContestCuteness,
|
||||
[CONTEST_CATEGORY_SMART] = gContestSmartness,
|
||||
[CONTEST_CATEGORY_TOUGH] = gContestToughness,
|
||||
[CONTEST_CATEGORY_COOL] = COMPOUND_STRING("COOLNESS"),
|
||||
[CONTEST_CATEGORY_BEAUTY] = COMPOUND_STRING("BEAUTY"),
|
||||
[CONTEST_CATEGORY_CUTE] = COMPOUND_STRING("CUTENESS"),
|
||||
[CONTEST_CATEGORY_SMART] = COMPOUND_STRING("SMARTNESS"),
|
||||
[CONTEST_CATEGORY_TOUGH] = COMPOUND_STRING("TOUGHNESS"),
|
||||
};
|
||||
|
||||
static const u8 *const sContestRankNames[] =
|
||||
{
|
||||
[CONTEST_RANK_NORMAL] = gContestRankNormal,
|
||||
[CONTEST_RANK_SUPER] = gContestRankSuper,
|
||||
[CONTEST_RANK_HYPER] = gContestRankHyper,
|
||||
[CONTEST_RANK_MASTER] = gContestRankMaster,
|
||||
[CONTEST_RANK_LINK] = gContestLink,
|
||||
[CONTEST_RANK_NORMAL] = COMPOUND_STRING("NORMAL RANK"),
|
||||
[CONTEST_RANK_SUPER] = COMPOUND_STRING("SUPER RANK"),
|
||||
[CONTEST_RANK_HYPER] = COMPOUND_STRING("HYPER RANK"),
|
||||
[CONTEST_RANK_MASTER] = COMPOUND_STRING("MASTER RANK"),
|
||||
[CONTEST_RANK_LINK] = COMPOUND_STRING("LINK"),
|
||||
};
|
||||
|
||||
static const struct BgTemplate sBgTemplates[] =
|
||||
@ -127,21 +102,21 @@ static const struct WindowTemplate sWindowTemplate =
|
||||
|
||||
static const u8 *const sMuseumCaptions[NUM_PAINTING_CAPTIONS * CONTEST_CATEGORIES_COUNT] =
|
||||
{
|
||||
[0 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_COOL] = gContestPaintingCool1,
|
||||
[1 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_COOL] = gContestPaintingCool2,
|
||||
[2 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_COOL] = gContestPaintingCool3,
|
||||
[0 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_BEAUTY] = gContestPaintingBeauty1,
|
||||
[1 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_BEAUTY] = gContestPaintingBeauty2,
|
||||
[2 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_BEAUTY] = gContestPaintingBeauty3,
|
||||
[0 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_CUTE] = gContestPaintingCute1,
|
||||
[1 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_CUTE] = gContestPaintingCute2,
|
||||
[2 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_CUTE] = gContestPaintingCute3,
|
||||
[0 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_SMART] = gContestPaintingSmart1,
|
||||
[1 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_SMART] = gContestPaintingSmart2,
|
||||
[2 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_SMART] = gContestPaintingSmart3,
|
||||
[0 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_TOUGH] = gContestPaintingTough1,
|
||||
[1 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_TOUGH] = gContestPaintingTough2,
|
||||
[2 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_TOUGH] = gContestPaintingTough3,
|
||||
[0 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_COOL] = COMPOUND_STRING("Nonstop supercool--\nthe inestimable {STR_VAR_1}"),
|
||||
[1 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_COOL] = COMPOUND_STRING("Hey, there!\nThe good-looking POKéMON {STR_VAR_1}"),
|
||||
[2 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_COOL] = COMPOUND_STRING("The marvelous, wonderful, and\nvery great {STR_VAR_1}"),
|
||||
[0 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_BEAUTY] = COMPOUND_STRING("This century's last Venus--\nthe beautiful {STR_VAR_1}"),
|
||||
[1 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_BEAUTY] = COMPOUND_STRING("{STR_VAR_1}'s dazzling,\nglittering smile"),
|
||||
[2 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_BEAUTY] = COMPOUND_STRING("POKéMON CENTER's super idol--\nthe incomparable {STR_VAR_1}"),
|
||||
[0 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_CUTE] = COMPOUND_STRING("The lovely and sweet {STR_VAR_1}"),
|
||||
[1 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_CUTE] = COMPOUND_STRING("The pretty {STR_VAR_1}'s\nwinning portrait"),
|
||||
[2 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_CUTE] = COMPOUND_STRING("Give us a wink!\nThe cutie POKéMON {STR_VAR_1}"),
|
||||
[0 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_SMART] = COMPOUND_STRING("The smartness maestro--\nthe wise POKéMON {STR_VAR_1}"),
|
||||
[1 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_SMART] = COMPOUND_STRING("{STR_VAR_1}--the one chosen\nabove all POKéMON"),
|
||||
[2 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_SMART] = COMPOUND_STRING("The excellent {STR_VAR_1}'s\nmoment of elegance"),
|
||||
[0 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_TOUGH] = COMPOUND_STRING("The powerfully muscular\nspeedster {STR_VAR_1}"),
|
||||
[1 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_TOUGH] = COMPOUND_STRING("The strong, stronger, and\nstrongest {STR_VAR_1}"),
|
||||
[2 + NUM_PAINTING_CAPTIONS * CONTEST_CATEGORY_TOUGH] = COMPOUND_STRING("The mighty tough\nhyper POKéMON {STR_VAR_1}"),
|
||||
};
|
||||
|
||||
static const struct OamData sContestPaintingMonOamData =
|
||||
|
||||
@ -2,342 +2,422 @@ const struct ContestEffect gContestEffects[] =
|
||||
{
|
||||
[CONTEST_EFFECT_HIGHLY_APPEALING] =
|
||||
{
|
||||
#if C_UPDATED_MOVE_EFFECTS >= GEN_6
|
||||
.description = COMPOUND_STRING("Quite the appealing move."),
|
||||
#else
|
||||
.description = COMPOUND_STRING("A highly appealing move."),
|
||||
#endif
|
||||
.effectType = CONTEST_EFFECT_TYPE_APPEAL,
|
||||
.appeal = 40,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_HighlyAppealing,
|
||||
},
|
||||
[CONTEST_EFFECT_USER_MORE_EASILY_STARTLED] =
|
||||
{
|
||||
.description = COMPOUND_STRING("After this move, the user is\nmore easily startled."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_APPEAL,
|
||||
.appeal = 60,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_UserMoreEasilyStartled,
|
||||
},
|
||||
[CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Makes a great appeal, but\nallows no more to the end."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_APPEAL,
|
||||
.appeal = 80,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_GreatAppealButNoMoreMoves,
|
||||
},
|
||||
[CONTEST_EFFECT_REPETITION_NOT_BORING] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Can be repeatedly used\nwithout boring the JUDGE."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_APPEAL,
|
||||
.appeal = 30,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_RepetitionNotBoring,
|
||||
},
|
||||
[CONTEST_EFFECT_AVOID_STARTLE_ONCE] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Can avoid being startled\nby others once."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_AVOID_STARTLE,
|
||||
.appeal = 20,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_AvoidStartleOnce,
|
||||
},
|
||||
[CONTEST_EFFECT_AVOID_STARTLE] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Can avoid being startled\nby others."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_AVOID_STARTLE,
|
||||
.appeal = 10,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_AvoidStartle,
|
||||
},
|
||||
[CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Can avoid being startled\nby others a little."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_AVOID_STARTLE,
|
||||
.appeal = 30,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_AvoidStartleSlightly,
|
||||
},
|
||||
[CONTEST_EFFECT_USER_LESS_EASILY_STARTLED] =
|
||||
{
|
||||
.description = COMPOUND_STRING("After this move, the user is\nless likely to be startled."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_AVOID_STARTLE,
|
||||
.appeal = 30,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_UserLessEasilyStartled,
|
||||
},
|
||||
[CONTEST_EFFECT_STARTLE_FRONT_MON] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Slightly startles the\nPOKéMON in front."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MON,
|
||||
.appeal = 30,
|
||||
.jam = 20,
|
||||
.function = ContestEffect_StartleFrontMon,
|
||||
},
|
||||
[CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Slightly startles those\nthat have made appeals."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
||||
.appeal = 30,
|
||||
.jam = 10,
|
||||
.function = ContestEffect_StartlePrevMons,
|
||||
},
|
||||
[CONTEST_EFFECT_STARTLE_PREV_MON] =
|
||||
{
|
||||
#if C_UPDATED_MOVE_EFFECTS >= GEN_6
|
||||
.description = COMPOUND_STRING("Startles the last Pokémon\nto act before the user."),
|
||||
#else
|
||||
.description = COMPOUND_STRING("Startles the POKéMON that\nappealed before the user."),
|
||||
#endif
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MON,
|
||||
.appeal = 20,
|
||||
.jam = 30,
|
||||
.function = ContestEffect_StartleFrontMon,
|
||||
},
|
||||
[CONTEST_EFFECT_STARTLE_PREV_MONS] =
|
||||
{
|
||||
#if C_UPDATED_MOVE_EFFECTS >= GEN_6
|
||||
.description = COMPOUND_STRING("Startles all of the Pokémon\nto act before the user."),
|
||||
#else
|
||||
.description = COMPOUND_STRING("Startles all POKéMON that\nhave done their appeals."),
|
||||
#endif
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
||||
.appeal = 20,
|
||||
.jam = 20,
|
||||
.function = ContestEffect_StartlePrevMons,
|
||||
},
|
||||
[CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Badly startles the\nPOKéMON in front."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MON,
|
||||
.appeal = 10,
|
||||
.jam = 40,
|
||||
.function = ContestEffect_StartleFrontMon,
|
||||
},
|
||||
[CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Badly startles those that\nhave made appeals."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
||||
.appeal = 10,
|
||||
.jam = 30,
|
||||
.function = ContestEffect_StartlePrevMons,
|
||||
},
|
||||
[CONTEST_EFFECT_STARTLE_PREV_MON_2] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Startles the POKéMON that\nappealed before the user."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MON,
|
||||
.appeal = 30,
|
||||
.jam = 20,
|
||||
.function = ContestEffect_StartlePrevMon2,
|
||||
},
|
||||
[CONTEST_EFFECT_STARTLE_PREV_MONS_2] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Startles all POKéMON that\nhave done their appeals."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
||||
.appeal = 30,
|
||||
.jam = 10,
|
||||
.function = ContestEffect_StartlePrevMons2,
|
||||
},
|
||||
[CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION] =
|
||||
{
|
||||
#if C_UPDATED_MOVE_EFFECTS >= GEN_6
|
||||
.description = COMPOUND_STRING("Makes audience expect\nlittle of other contestants."),
|
||||
#else
|
||||
.description = COMPOUND_STRING("Shifts the JUDGE's\nattention from others."),
|
||||
#endif
|
||||
.effectType = CONTEST_EFFECT_TYPE_WORSEN,
|
||||
.appeal = 30,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_ShiftJudgeAttention,
|
||||
},
|
||||
[CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Startles the POKéMON that\nhas the JUDGE's attention."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
||||
.appeal = 20,
|
||||
.jam = 10,
|
||||
.function = ContestEffect_StartleMonWithJudgesAttention,
|
||||
},
|
||||
[CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Jams the others, and misses\none turn of appeals."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
||||
.appeal = 40,
|
||||
.jam = 40,
|
||||
.function = ContestEffect_JamsOthersButMissOneTurn,
|
||||
},
|
||||
[CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Startles POKéMON that\nmade a same-type appeal."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
||||
.appeal = 20,
|
||||
.jam = 10,
|
||||
.function = ContestEffect_StartleMonsSameTypeAppeal,
|
||||
},
|
||||
[CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Badly startles POKéMON\nthat made COOL appeals."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
||||
.appeal = 20,
|
||||
.jam = 10,
|
||||
.function = ContestEffect_StartleMonsCoolAppeal,
|
||||
},
|
||||
[CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Badly startles POKéMON\nthat made BEAUTY appeals."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
||||
.appeal = 20,
|
||||
.jam = 10,
|
||||
.function = ContestEffect_StartleMonsBeautyAppeal,
|
||||
},
|
||||
[CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Badly startles POKéMON\nthat made CUTE appeals."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
||||
.appeal = 20,
|
||||
.jam = 10,
|
||||
.function = ContestEffect_StartleMonsCuteAppeal,
|
||||
},
|
||||
[CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Badly startles POKéMON\nthat made SMART appeals."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
||||
.appeal = 20,
|
||||
.jam = 10,
|
||||
.function = ContestEffect_StartleMonsSmartAppeal,
|
||||
},
|
||||
[CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Badly startles POKéMON\nthat made TOUGH appeals."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
||||
.appeal = 20,
|
||||
.jam = 10,
|
||||
.function = ContestEffect_StartleMonsToughAppeal,
|
||||
},
|
||||
[CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Makes one POKéMON after\nthe user nervous."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_WORSEN,
|
||||
.appeal = 20,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_MakeFollowingMonNervous,
|
||||
},
|
||||
[CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS] =
|
||||
{
|
||||
#if C_UPDATED_MOVE_EFFECTS >= GEN_6
|
||||
.description = COMPOUND_STRING("Makes the remaining\nPokémon nervous."),
|
||||
#else
|
||||
.description = COMPOUND_STRING("Makes all POKéMON after\nthe user nervous."),
|
||||
#endif
|
||||
.effectType = CONTEST_EFFECT_TYPE_WORSEN,
|
||||
.appeal = 20,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_MakeFollowingMonsNervous,
|
||||
},
|
||||
[CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Worsens the condition of\nthose that made appeals."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_WORSEN,
|
||||
.appeal = 30,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_WorsenConditionOfPrevMons,
|
||||
},
|
||||
[CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Badly startles POKéMON in\ngood condition."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
||||
.appeal = 30,
|
||||
.jam = 10,
|
||||
.function = ContestEffect_BadlyStartlesMonsInGoodCondition,
|
||||
},
|
||||
[CONTEST_EFFECT_BETTER_IF_FIRST] =
|
||||
{
|
||||
.description = COMPOUND_STRING("The appeal works great if\nperformed first."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
||||
.appeal = 20,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_BetterIfFirst,
|
||||
},
|
||||
[CONTEST_EFFECT_BETTER_IF_LAST] =
|
||||
{
|
||||
.description = COMPOUND_STRING("The appeal works great if\nperformed last."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
||||
.appeal = 20,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_BetterIfLast,
|
||||
},
|
||||
[CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Makes the appeal as good\nas those before it."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
||||
.appeal = 10,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_AppealAsGoodAsPrevOnes,
|
||||
},
|
||||
[CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Makes the appeal as good\nas the one before it."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
||||
.appeal = 10,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_AppealAsGoodAsPrevOne,
|
||||
},
|
||||
[CONTEST_EFFECT_BETTER_WHEN_LATER] =
|
||||
{
|
||||
.description = COMPOUND_STRING("The appeal works better\nthe later it is performed."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
||||
.appeal = 10,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_BetterWhenLater,
|
||||
},
|
||||
[CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING] =
|
||||
{
|
||||
#if C_UPDATED_MOVE_EFFECTS >= GEN_6
|
||||
.description = COMPOUND_STRING("Effectiveness varies\ndepending on when it is used."),
|
||||
#else
|
||||
.description = COMPOUND_STRING("The appeal's quality varies\ndepending on its timing."),
|
||||
#endif
|
||||
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
||||
.appeal = 10,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_QualityDependsOnTiming,
|
||||
},
|
||||
[CONTEST_EFFECT_BETTER_IF_SAME_TYPE] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Works well if it's the same\ntype as the one before."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
||||
.appeal = 20,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_BetterIfSameType,
|
||||
},
|
||||
[CONTEST_EFFECT_BETTER_IF_DIFF_TYPE] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Works well if different in\ntype than the one before."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
||||
.appeal = 20,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_BetterIfDiffType,
|
||||
},
|
||||
[CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL] =
|
||||
{
|
||||
#if C_UPDATED_MOVE_EFFECTS >= GEN_6
|
||||
.description = COMPOUND_STRING("Affected by how well the\nprevious Pokémon's move went."),
|
||||
#else
|
||||
.description = COMPOUND_STRING("Affected by how well the\nappeal in front goes."),
|
||||
#endif
|
||||
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
||||
.appeal = 30,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_AffectedByPrevAppeal,
|
||||
},
|
||||
[CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Ups the user's condition.\nHelps prevent nervousness."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
||||
.appeal = 10,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_ImproveConditionPreventNervousness,
|
||||
},
|
||||
[CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION] =
|
||||
{
|
||||
.description = COMPOUND_STRING("The appeal works well if the\nuser's condition is good."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
||||
.appeal = 10,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_BetterWithGoodCondition,
|
||||
},
|
||||
[CONTEST_EFFECT_NEXT_APPEAL_EARLIER] =
|
||||
{
|
||||
#if C_UPDATED_MOVE_EFFECTS >= GEN_6
|
||||
.description = COMPOUND_STRING("Causes the user to move\nearlier on the next turn."),
|
||||
#else
|
||||
.description = COMPOUND_STRING("The next appeal can be\nmade earlier next turn."),
|
||||
#endif
|
||||
.effectType = CONTEST_EFFECT_TYPE_TURN_ORDER,
|
||||
.appeal = 30,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_NextAppealEarlier,
|
||||
},
|
||||
[CONTEST_EFFECT_NEXT_APPEAL_LATER] =
|
||||
{
|
||||
#if C_UPDATED_MOVE_EFFECTS >= GEN_6
|
||||
.description = COMPOUND_STRING("Causes the user to move\nlater on the next turn."),
|
||||
#else
|
||||
.description = COMPOUND_STRING("The next appeal can be\nmade later next turn."),
|
||||
#endif
|
||||
.effectType = CONTEST_EFFECT_TYPE_TURN_ORDER,
|
||||
.appeal = 30,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_NextAppealLater,
|
||||
},
|
||||
[CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Makes the next turn's order\nmore easily scrambled."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_TURN_ORDER,
|
||||
.appeal = 30,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_MakeScramblingTurnOrderEasier,
|
||||
},
|
||||
[CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Scrambles the order of\nappeals on the next turn."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_TURN_ORDER,
|
||||
.appeal = 30,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_ScrambleNextTurnOrder,
|
||||
},
|
||||
[CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST] =
|
||||
{
|
||||
.description = COMPOUND_STRING("An appeal that excites the\naudience in any CONTEST."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
||||
.appeal = 10,
|
||||
.appeal = C_UPDATED_MOVE_EFFECTS >= GEN_6 ? 20 : 10,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_ExciteAudienceInAnyContest,
|
||||
},
|
||||
[CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Badly startles all POKéMON\nthat made good appeals."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_STARTLE_MONS,
|
||||
.appeal = 20,
|
||||
.jam = 10,
|
||||
.function = ContestEffect_BadlyStartleMonsWithGoodAppeals,
|
||||
},
|
||||
[CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED] =
|
||||
{
|
||||
.description = COMPOUND_STRING("The appeal works best the\nmore the crowd is excited."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_SPECIAL_APPEAL,
|
||||
.appeal = 10,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_BetterWhenAudienceExcited,
|
||||
},
|
||||
[CONTEST_EFFECT_DONT_EXCITE_AUDIENCE] =
|
||||
{
|
||||
.description = COMPOUND_STRING("Temporarily stops the\ncrowd from growing excited."),
|
||||
.effectType = CONTEST_EFFECT_TYPE_WORSEN,
|
||||
.appeal = 30,
|
||||
.jam = 0,
|
||||
.function = ContestEffect_DontExciteAudience,
|
||||
},
|
||||
};
|
||||
|
||||
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,
|
||||
};
|
||||
|
||||
@ -1,151 +1,73 @@
|
||||
#include "global.h"
|
||||
|
||||
// sAppealResultTexts
|
||||
extern const u8 gText_BecameMoreConsciousOfOtherMons[];
|
||||
extern const u8 gText_MonCantMakeAnAppealAfterThis[];
|
||||
extern const u8 gText_SettledDownJustLittleBit[];
|
||||
extern const u8 gText_BecameObliviousToOtherMons[];
|
||||
extern const u8 gText_BecameLessAwareOfOtherMons[];
|
||||
extern const u8 gText_StoppedCaringAboutOtherMons[];
|
||||
extern const u8 gText_TriedToStartleOtherMons[];
|
||||
extern const u8 gText_TriedToDazzleOthers[];
|
||||
extern const u8 gText_JudgeLookedAwayFromMon[];
|
||||
extern const u8 gText_TriedToUnnerveNextMon[];
|
||||
extern const u8 gText_MonBecameNervous[];
|
||||
extern const u8 gText_AppealTriedToUnnerveWaitingMons[];
|
||||
extern const u8 gText_TauntedMonsDoingWell[];
|
||||
extern const u8 gText_MonRegainedItsForm[];
|
||||
extern const u8 gText_TriedToJamMonDoingWell[];
|
||||
extern const u8 gText_StandoutMonHustledEvenMore[];
|
||||
extern const u8 gText_LargelyUnnoticedMonWorkedHard[];
|
||||
extern const u8 gText_WorkedAsMuchAsMonBefore[];
|
||||
extern const u8 gText_WorkedAsMuchAsPrecedingMon[];
|
||||
extern const u8 gText_MonsAppealWasDud[];
|
||||
extern const u8 gText_MonsAppealDidNotGoWell[];
|
||||
extern const u8 gText_MonsAppealDidNotGoWell2[];
|
||||
extern const u8 gText_MonsAppealDidNotGoWell3[];
|
||||
extern const u8 gText_MonsAppealDidNotWorkVeryWell[];
|
||||
extern const u8 gText_MonsAppealWentSlightlyWell[];
|
||||
extern const u8 gText_MonsAppealWentSlightlyWell2[];
|
||||
extern const u8 gText_MonsAppealWentPrettyWell[];
|
||||
extern const u8 gText_MonsAppealWentPrettyWell2[];
|
||||
extern const u8 gText_MonsAppealWentVeryWell[];
|
||||
extern const u8 gText_MonsAppealWentExcellently[];
|
||||
extern const u8 gText_MonsAppealWentExcellently2[];
|
||||
extern const u8 gText_SameTypeAsOneBeforeGood[];
|
||||
extern const u8 gText_NotSameTypeAsOneBeforeGood[];
|
||||
extern const u8 gText_StoodOutMuchMoreThanMonBefore[];
|
||||
extern const u8 gText_DidntDoAsWellAsMonBefore[];
|
||||
extern const u8 gText_MonsConditionRoseAboveUsual[];
|
||||
extern const u8 gText_MonsHotStatusMadeGreatAppeal[];
|
||||
extern const u8 gText_MovedUpInLineForNextAppeal[];
|
||||
extern const u8 gText_MovedBackInLineForNextAppeal[];
|
||||
extern const u8 gText_ScrambledUpOrderForNextTurn[];
|
||||
extern const u8 gText_JudgeLookedAtMonExpectantly[];
|
||||
extern const u8 gText_AppealComboWentOverWell[];
|
||||
extern const u8 gText_AppealComboWentOverVeryWell[];
|
||||
extern const u8 gText_AppealComboWentOverExcellently[];
|
||||
extern const u8 gText_MonManagedToAvertGaze[];
|
||||
extern const u8 gText_MonManagedToAvoidSeeingIt[];
|
||||
extern const u8 gText_MonIsntFazedByThatSortOfThing[];
|
||||
extern const u8 gText_MonBecameALittleDistracted[];
|
||||
extern const u8 gText_TriedToStartleOtherPokemon[];
|
||||
extern const u8 gText_MonLookedDownOutOfDistraction[];
|
||||
extern const u8 gText_MonTurnedBackOutOfDistraction[];
|
||||
extern const u8 gText_MonCouldntHelpUtteringCry[];
|
||||
extern const u8 gText_MonCouldntHelpLeapingUp[];
|
||||
extern const u8 gText_MonTrippedOutOfDistraction[];
|
||||
extern const u8 gText_ButItMessedUp2[];
|
||||
extern const u8 gText_ButItFailedToMakeTargetNervous[];
|
||||
extern const u8 gText_ButItFailedToMakeAnyoneNervous[];
|
||||
extern const u8 gText_ButItWasIgnored[];
|
||||
extern const u8 gText_CouldntImproveItsCondition[];
|
||||
extern const u8 gText_BadConditionResultedInWeakAppeal[];
|
||||
extern const u8 gText_MonWasUnaffected[];
|
||||
extern const u8 gText_AttractedCrowdsAttention[];
|
||||
|
||||
// Misc, used directly
|
||||
extern const u8 gText_MonAppealedWithMove[];
|
||||
extern const u8 gText_MonCantAppealNextTurn[];
|
||||
extern const u8 gText_RepeatedAppeal[];
|
||||
extern const u8 gText_MonsXDidntGoOverWell[];
|
||||
extern const u8 gText_MonsXWentOverGreat[];
|
||||
extern const u8 gText_MonsXGotTheCrowdGoing[];
|
||||
extern const u8 gText_CrowdContinuesToWatchMon[];
|
||||
extern const u8 gText_MonsMoveIsIgnored[];
|
||||
extern const u8 gText_MonWasTooNervousToMove[];
|
||||
extern const u8 gText_MonWasWatchingOthers[];
|
||||
extern const u8 gText_AllOutOfAppealTime[];
|
||||
extern const u8 gText_Contest_Shyness[];
|
||||
extern const u8 gText_Contest_Anxiety[];
|
||||
extern const u8 gText_Contest_Laziness[];
|
||||
extern const u8 gText_Contest_Hesitancy[];
|
||||
extern const u8 gText_Contest_Fear[];
|
||||
extern const u8 gText_AppealNumWhichMoveWillBePlayed[];
|
||||
extern const u8 gText_AppealNumButItCantParticipate[];
|
||||
|
||||
static const u8 *const sAppealResultTexts[] =
|
||||
{
|
||||
[CONTEST_STRING_MORE_CONSCIOUS] = gText_BecameMoreConsciousOfOtherMons,
|
||||
[CONTEST_STRING_NO_APPEAL] = gText_MonCantMakeAnAppealAfterThis,
|
||||
[CONTEST_STRING_SETTLE_DOWN] = gText_SettledDownJustLittleBit,
|
||||
[CONTEST_STRING_OBLIVIOUS_TO_OTHERS] = gText_BecameObliviousToOtherMons,
|
||||
[CONTEST_STRING_LESS_AWARE] = gText_BecameLessAwareOfOtherMons,
|
||||
[CONTEST_STRING_STOPPED_CARING] = gText_StoppedCaringAboutOtherMons,
|
||||
[CONTEST_STRING_STARTLE_ATTEMPT] = gText_TriedToStartleOtherMons,
|
||||
[CONTEST_STRING_DAZZLE_ATTEMPT] = gText_TriedToDazzleOthers,
|
||||
[CONTEST_STRING_JUDGE_LOOK_AWAY2] = gText_JudgeLookedAwayFromMon,
|
||||
[CONTEST_STRING_UNNERVE_ATTEMPT] = gText_TriedToUnnerveNextMon,
|
||||
[CONTEST_STRING_NERVOUS] = gText_MonBecameNervous,
|
||||
[CONTEST_STRING_UNNERVE_WAITING] = gText_AppealTriedToUnnerveWaitingMons,
|
||||
[CONTEST_STRING_TAUNT_WELL] = gText_TauntedMonsDoingWell,
|
||||
[CONTEST_STRING_REGAINED_FORM] = gText_MonRegainedItsForm,
|
||||
[CONTEST_STRING_JAM_WELL] = gText_TriedToJamMonDoingWell,
|
||||
[CONTEST_STRING_HUSTLE_STANDOUT] = gText_StandoutMonHustledEvenMore,
|
||||
[CONTEST_STRING_WORK_HARD_UNNOTICED] = gText_LargelyUnnoticedMonWorkedHard,
|
||||
[CONTEST_STRING_WORK_BEFORE] = gText_WorkedAsMuchAsMonBefore,
|
||||
[CONTEST_STRING_APPEAL_NOT_WELL] = gText_MonsAppealDidNotGoWell,
|
||||
[CONTEST_STRING_WORK_PRECEDING] = gText_WorkedAsMuchAsPrecedingMon,
|
||||
[CONTEST_STRING_APPEAL_NOT_WELL2] = gText_MonsAppealDidNotGoWell2,
|
||||
[CONTEST_STRING_APPEAL_NOT_SHOWN_WELL] = gText_MonsAppealDidNotGoWell3,
|
||||
[CONTEST_STRING_APPEAL_SLIGHTLY_WELL] = gText_MonsAppealWentSlightlyWell,
|
||||
[CONTEST_STRING_APPEAL_PRETTY_WELL] = gText_MonsAppealWentPrettyWell,
|
||||
[CONTEST_STRING_APPEAL_EXCELLENTLY] = gText_MonsAppealWentExcellently,
|
||||
[CONTEST_STRING_APPEAL_DUD] = gText_MonsAppealWasDud,
|
||||
[CONTEST_STRING_APPEAL_NOT_VERY_WELL] = gText_MonsAppealDidNotWorkVeryWell,
|
||||
[CONTEST_STRING_APPEAL_SLIGHTLY_WELL2] = gText_MonsAppealWentSlightlyWell2,
|
||||
[CONTEST_STRING_APPEAL_PRETTY_WELL2] = gText_MonsAppealWentPrettyWell2,
|
||||
[CONTEST_STRING_APPEAL_VERY_WELL] = gText_MonsAppealWentVeryWell,
|
||||
[CONTEST_STRING_APPEAL_EXCELLENTLY2] = gText_MonsAppealWentExcellently2,
|
||||
[CONTEST_STRING_SAME_TYPE_GOOD] = gText_SameTypeAsOneBeforeGood,
|
||||
[CONTEST_STRING_DIFF_TYPE_GOOD] = gText_NotSameTypeAsOneBeforeGood,
|
||||
[CONTEST_STRING_STOOD_OUT_AS_MUCH] = gText_StoodOutMuchMoreThanMonBefore,
|
||||
[CONTEST_STRING_NOT_AS_WELL] = gText_DidntDoAsWellAsMonBefore,
|
||||
[CONTEST_STRING_CONDITION_ROSE] = gText_MonsConditionRoseAboveUsual,
|
||||
[CONTEST_STRING_HOT_STATUS] = gText_MonsHotStatusMadeGreatAppeal,
|
||||
[CONTEST_STRING_MOVE_UP_LINE] = gText_MovedUpInLineForNextAppeal,
|
||||
[CONTEST_STRING_MOVE_BACK_LINE] = gText_MovedBackInLineForNextAppeal,
|
||||
[CONTEST_STRING_SCRAMBLE_ORDER] = gText_ScrambledUpOrderForNextTurn,
|
||||
[CONTEST_STRING_MORE_CONSCIOUS] = COMPOUND_STRING("It became more conscious\nof the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_NO_APPEAL] = COMPOUND_STRING("{STR_VAR_1} can't make an\nappeal after this.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_SETTLE_DOWN] = COMPOUND_STRING("It settled down just a\nlittle bit.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_OBLIVIOUS_TO_OTHERS] = COMPOUND_STRING("It became oblivious to\nthe other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_LESS_AWARE] = COMPOUND_STRING("It became less aware of\nthe other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_STOPPED_CARING] = COMPOUND_STRING("It stopped caring about\nother POKéMON much.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_STARTLE_ATTEMPT] = COMPOUND_STRING("It tried to startle the\nother POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_DAZZLE_ATTEMPT] = COMPOUND_STRING("It tried to dazzle the\nothers.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_JUDGE_LOOK_AWAY2] = COMPOUND_STRING("The JUDGE looked away\nfrom {STR_VAR_1}.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_UNNERVE_ATTEMPT] = COMPOUND_STRING("It tried to unnerve the\nnext POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_NERVOUS] = COMPOUND_STRING("{STR_VAR_1} became\nnervous.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_UNNERVE_WAITING] = COMPOUND_STRING("The appeal tried to\nunnerve waiting POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_TAUNT_WELL] = COMPOUND_STRING("It taunted POKéMON\ndoing well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_REGAINED_FORM] = COMPOUND_STRING("{STR_VAR_1} regained its\nform.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_JAM_WELL] = COMPOUND_STRING("It tried to jam POKéMON\ndoing well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_HUSTLE_STANDOUT] = COMPOUND_STRING("The standout {STR_VAR_1}\nhustled even more.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_WORK_HARD_UNNOTICED] = COMPOUND_STRING("The largely unnoticed\n{STR_VAR_1} worked hard.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_WORK_BEFORE] = COMPOUND_STRING("It worked as much as\nPOKéMON before it.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_APPEAL_NOT_WELL] = COMPOUND_STRING("{STR_VAR_1}'s appeal did\nnot go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_WORK_PRECEDING] = COMPOUND_STRING("It worked as much as the\npreceding POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_APPEAL_NOT_WELL2] = COMPOUND_STRING("{STR_VAR_1}'s appeal did\nnot go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_APPEAL_NOT_SHOWN_WELL] = COMPOUND_STRING("{STR_VAR_1}'s appeal did\nnot go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_APPEAL_SLIGHTLY_WELL] = COMPOUND_STRING("{STR_VAR_1}'s appeal\nwent slightly well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_APPEAL_PRETTY_WELL] = COMPOUND_STRING("{STR_VAR_1}'s appeal\nwent pretty well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_APPEAL_EXCELLENTLY] = COMPOUND_STRING("{STR_VAR_1}'s appeal\nwent excellently.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_APPEAL_DUD] = COMPOUND_STRING("{STR_VAR_1}'s appeal was\na dud.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_APPEAL_NOT_VERY_WELL] = COMPOUND_STRING("{STR_VAR_1}'s appeal did\nnot work very well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_APPEAL_SLIGHTLY_WELL2] = COMPOUND_STRING("{STR_VAR_1}'s appeal\nwent slightly well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_APPEAL_PRETTY_WELL2] = COMPOUND_STRING("{STR_VAR_1}'s appeal\nwent pretty well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_APPEAL_VERY_WELL] = COMPOUND_STRING("{STR_VAR_1}'s appeal\nwent very well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_APPEAL_EXCELLENTLY2] = COMPOUND_STRING("{STR_VAR_1}'s appeal\nwent excellently.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_SAME_TYPE_GOOD] = COMPOUND_STRING("It's the same type as the\nPOKéMON before--good!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_DIFF_TYPE_GOOD] = COMPOUND_STRING("It's not the same type as\nthe one before--good!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_STOOD_OUT_AS_MUCH] = COMPOUND_STRING("It stood out much more\nthan the POKéMON before.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_NOT_AS_WELL] = COMPOUND_STRING("It didn't do as well as the\nPOKéMON before.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_CONDITION_ROSE] = COMPOUND_STRING("{STR_VAR_1}'s condition\nrose above usual.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_HOT_STATUS] = COMPOUND_STRING("{STR_VAR_1}'s hot status\nmade it a great appeal!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_MOVE_UP_LINE] = COMPOUND_STRING("It moved up in line for\nthe next appeal.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_MOVE_BACK_LINE] = COMPOUND_STRING("It moved back in line once\nfor the next appeal.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_SCRAMBLE_ORDER] = COMPOUND_STRING("It scrambled up the\norder for the next turn.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}"),
|
||||
[CONTEST_STRING_JUDGE_EXPECTANTLY2] = gText_JudgeLookedAtMonExpectantly,
|
||||
[CONTEST_STRING_WENT_OVER_WELL] = gText_AppealComboWentOverWell,
|
||||
[CONTEST_STRING_WENT_OVER_VERY_WELL] = gText_AppealComboWentOverVeryWell,
|
||||
[CONTEST_STRING_APPEAL_COMBO_EXCELLENTLY] = gText_AppealComboWentOverExcellently,
|
||||
[CONTEST_STRING_AVERT_GAZE] = gText_MonManagedToAvertGaze,
|
||||
[CONTEST_STRING_AVOID_SEEING] = gText_MonManagedToAvoidSeeingIt,
|
||||
[CONTEST_STRING_NOT_FAZED] = gText_MonIsntFazedByThatSortOfThing,
|
||||
[CONTEST_STRING_LITTLE_DISTRACTED] = gText_MonBecameALittleDistracted,
|
||||
[CONTEST_STRING_ATTEMPT_STARTLE] = gText_TriedToStartleOtherPokemon,
|
||||
[CONTEST_STRING_LOOKED_DOWN] = gText_MonLookedDownOutOfDistraction,
|
||||
[CONTEST_STRING_TURNED_BACK] = gText_MonTurnedBackOutOfDistraction,
|
||||
[CONTEST_STRING_UTTER_CRY] = gText_MonCouldntHelpUtteringCry,
|
||||
[CONTEST_STRING_LEAPT_UP] = gText_MonCouldntHelpLeapingUp,
|
||||
[CONTEST_STRING_TRIPPED_OVER] = gText_MonTrippedOutOfDistraction,
|
||||
[CONTEST_STRING_MESSED_UP2] = gText_ButItMessedUp2,
|
||||
[CONTEST_STRING_FAILED_TARGET_NERVOUS] = gText_ButItFailedToMakeTargetNervous,
|
||||
[CONTEST_STRING_FAILED_ANYONE_NERVOUS] = gText_ButItFailedToMakeAnyoneNervous,
|
||||
[CONTEST_STRING_IGNORED] = gText_ButItWasIgnored,
|
||||
[CONTEST_STRING_NO_CONDITION_IMPROVE] = gText_CouldntImproveItsCondition,
|
||||
[CONTEST_STRING_BAD_CONDITION_WEAK_APPEAL] = gText_BadConditionResultedInWeakAppeal,
|
||||
[CONTEST_STRING_UNAFFECTED] = gText_MonWasUnaffected,
|
||||
[CONTEST_STRING_ATTRACTED_ATTENTION] = gText_AttractedCrowdsAttention
|
||||
[CONTEST_STRING_AVERT_GAZE] = COMPOUND_STRING("{STR_VAR_1} managed to\navert its gaze.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}"),
|
||||
[CONTEST_STRING_AVOID_SEEING] = COMPOUND_STRING("{STR_VAR_1} managed to\navoid seeing it.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}"),
|
||||
[CONTEST_STRING_NOT_FAZED] = COMPOUND_STRING("{STR_VAR_1} isn't fazed\nby that sort of thing.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}"),
|
||||
[CONTEST_STRING_LITTLE_DISTRACTED] = COMPOUND_STRING("{STR_VAR_1} became a\nlittle distracted.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}"),
|
||||
[CONTEST_STRING_ATTEMPT_STARTLE] = COMPOUND_STRING("It tried to startle the\nother POKéMON.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}"),
|
||||
[CONTEST_STRING_LOOKED_DOWN] = COMPOUND_STRING("{STR_VAR_1} looked down\nout of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}"),
|
||||
[CONTEST_STRING_TURNED_BACK] = COMPOUND_STRING("{STR_VAR_1} turned back\nout of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}"),
|
||||
[CONTEST_STRING_UTTER_CRY] = COMPOUND_STRING("{STR_VAR_1} couldn't help\nuttering a cry.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}"),
|
||||
[CONTEST_STRING_LEAPT_UP] = COMPOUND_STRING("{STR_VAR_1} couldn't help\nleaping up.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}"),
|
||||
[CONTEST_STRING_TRIPPED_OVER] = COMPOUND_STRING("{STR_VAR_1} tripped over\nout of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}"),
|
||||
[CONTEST_STRING_MESSED_UP2] = COMPOUND_STRING("But it messed up.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}"),
|
||||
[CONTEST_STRING_FAILED_TARGET_NERVOUS] = COMPOUND_STRING("But it failed to make\nthe target nervous.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}"),
|
||||
[CONTEST_STRING_FAILED_ANYONE_NERVOUS] = COMPOUND_STRING("But it failed to make\nanyone nervous.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}"),
|
||||
[CONTEST_STRING_IGNORED] = COMPOUND_STRING("But it was ignored…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}"),
|
||||
[CONTEST_STRING_NO_CONDITION_IMPROVE] = COMPOUND_STRING("But it couldn't improve\nits condition…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}"),
|
||||
[CONTEST_STRING_BAD_CONDITION_WEAK_APPEAL] = COMPOUND_STRING("Its bad condition\nresulted in a weak appeal.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}"),
|
||||
[CONTEST_STRING_UNAFFECTED] = COMPOUND_STRING("{STR_VAR_1} was\nunaffected.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}"),
|
||||
[CONTEST_STRING_ATTRACTED_ATTENTION] = COMPOUND_STRING("It attracted the crowd's\nattention.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}")
|
||||
};
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "malloc.h"
|
||||
#include "battle_main.h"
|
||||
#include "contest.h"
|
||||
#include "contest_effect.h"
|
||||
#include "data.h"
|
||||
#include "decompress.h"
|
||||
@ -837,10 +838,10 @@ static void MoveRelearnerMenuLoadContestMoveDescription(u32 chosenMove)
|
||||
return;
|
||||
}
|
||||
|
||||
str = gContestMoveTypeTextPointers[GetMoveContestCategory(chosenMove)];
|
||||
str = gContestCategoryInfo[GetMoveContestCategory(chosenMove)].name;
|
||||
AddTextPrinterParameterized(RELEARNERWIN_DESC_CONTEST, FONT_NORMAL, str, 4, 25, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
str = gContestEffectDescriptionPointers[GetMoveContestEffect(chosenMove)];
|
||||
str = gContestEffects[GetMoveContestEffect(chosenMove)].description;
|
||||
AddTextPrinterParameterized(RELEARNERWIN_DESC_CONTEST, FONT_NARROW, str, 0, 65, TEXT_SKIP_DRAW, NULL);
|
||||
|
||||
CopyWindowToVram(RELEARNERWIN_DESC_CONTEST, COPYWIN_GFX);
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
#include "battle_main.h"
|
||||
#include "battle_util.h"
|
||||
#include "bg.h"
|
||||
#include "contest.h"
|
||||
#include "contest_effect.h"
|
||||
#include "data.h"
|
||||
#include "daycare.h"
|
||||
@ -4334,14 +4335,7 @@ static void SetSpriteInvisibility(u8 spriteArrayId, bool8 invisible)
|
||||
{
|
||||
gSprites[sPokedexView->typeIconSpriteIds[spriteArrayId]].invisible = invisible;
|
||||
}
|
||||
static const u8 sContestCategoryToOamPaletteNum[CONTEST_CATEGORIES_COUNT] =
|
||||
{
|
||||
[CONTEST_CATEGORY_COOL] = 13,
|
||||
[CONTEST_CATEGORY_BEAUTY] = 14,
|
||||
[CONTEST_CATEGORY_CUTE] = 14,
|
||||
[CONTEST_CATEGORY_SMART] = 15,
|
||||
[CONTEST_CATEGORY_TOUGH] = 13,
|
||||
};
|
||||
|
||||
static void SetTypeIconPosAndPal(u8 typeId, u8 x, u8 y, u8 spriteArrayId)
|
||||
{
|
||||
struct Sprite *sprite;
|
||||
@ -4351,7 +4345,7 @@ static void SetTypeIconPosAndPal(u8 typeId, u8 x, u8 y, u8 spriteArrayId)
|
||||
if (typeId < NUMBER_OF_MON_TYPES)
|
||||
sprite->oam.paletteNum = gTypesInfo[typeId].palette;
|
||||
else
|
||||
sprite->oam.paletteNum = sContestCategoryToOamPaletteNum[typeId - NUMBER_OF_MON_TYPES];
|
||||
sprite->oam.paletteNum = gContestCategoryInfo[typeId - NUMBER_OF_MON_TYPES].palette;
|
||||
sprite->x = x + 16;
|
||||
sprite->y = y + 8;
|
||||
SetSpriteInvisibility(spriteArrayId, FALSE);
|
||||
@ -5286,7 +5280,7 @@ static void PrintStatsScreen_Moves_Description(u8 taskId)
|
||||
}
|
||||
else
|
||||
{
|
||||
StringCopy(gStringVar4, gContestEffectDescriptionPointers[GetMoveContestEffect(move)]);
|
||||
StringCopy(gStringVar4, gContestEffects[GetMoveContestEffect(move)].description);
|
||||
PrintStatsScreenTextSmall(WIN_STATS_MOVES_DESCRIPTION, gStringVar4, moves_x, moves_y);
|
||||
}
|
||||
}
|
||||
|
||||
@ -976,14 +976,7 @@ const struct SpriteTemplate gSpriteTemplate_MoveTypes =
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCallbackDummy
|
||||
};
|
||||
static const u8 sContestCategoryToOamPaletteNum[CONTEST_CATEGORIES_COUNT] =
|
||||
{
|
||||
[CONTEST_CATEGORY_COOL] = 13,
|
||||
[CONTEST_CATEGORY_BEAUTY] = 14,
|
||||
[CONTEST_CATEGORY_CUTE] = 14,
|
||||
[CONTEST_CATEGORY_SMART] = 15,
|
||||
[CONTEST_CATEGORY_TOUGH] = 13,
|
||||
};
|
||||
|
||||
static const struct OamData sOamData_MoveSelector =
|
||||
{
|
||||
.y = 0,
|
||||
@ -4265,7 +4258,7 @@ static void PrintContestMoveDescription(u8 moveSlot)
|
||||
if (move != MOVE_NONE)
|
||||
{
|
||||
u8 windowId = AddWindowFromTemplateList(sPageMovesTemplate, PSS_DATA_WINDOW_MOVE_DESCRIPTION);
|
||||
PrintTextOnWindow(windowId, gContestEffectDescriptionPointers[GetMoveContestEffect(move)], 6, 1, 0, 0);
|
||||
PrintTextOnWindow(windowId, gContestEffects[GetMoveContestEffect(move)].description, 6, 1, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@ -4284,7 +4277,7 @@ static void PrintMoveDetails(u16 move)
|
||||
}
|
||||
else
|
||||
{
|
||||
PrintTextOnWindow(windowId, gContestEffectDescriptionPointers[GetMoveContestEffect(move)], 6, 1, 0, 0);
|
||||
PrintTextOnWindow(windowId, gContestEffects[GetMoveContestEffect(move)].description, 6, 1, 0, 0);
|
||||
}
|
||||
PutWindowTilemap(windowId);
|
||||
}
|
||||
@ -4424,7 +4417,7 @@ void SetTypeSpritePosAndPal(enum Type typeId, u8 x, u8 y, u8 spriteArrayId)
|
||||
if (typeId < NUMBER_OF_MON_TYPES)
|
||||
sprite->oam.paletteNum = gTypesInfo[typeId].palette;
|
||||
else
|
||||
sprite->oam.paletteNum = sContestCategoryToOamPaletteNum[typeId - NUMBER_OF_MON_TYPES];
|
||||
sprite->oam.paletteNum = gContestCategoryInfo[typeId - NUMBER_OF_MON_TYPES].palette;
|
||||
sprite->x = x + 16;
|
||||
sprite->y = y + 8;
|
||||
SetSpriteInvisibility(spriteArrayId, FALSE);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user