diff options
Diffstat (limited to 'include')
40 files changed, 1560 insertions, 2184 deletions
diff --git a/include/battle.h b/include/battle.h index ae8a1c98a..f6c50ea8a 100644 --- a/include/battle.h +++ b/include/battle.h @@ -4,6 +4,7 @@ // should they be included here or included individually by every file? #include "constants/battle.h" #include "battle_main.h" +#include "battle_message.h" #include "battle_util.h" #include "battle_script_commands.h" #include "battle_ai_switch_items.h" @@ -15,12 +16,6 @@ #define GET_BATTLER_SIDE(battler) (GetBattlerPosition(battler) & BIT_SIDE) #define GET_BATTLER_SIDE2(battler) (GET_BATTLER_POSITION(battler) & BIT_SIDE) -#define TRAINER_OPPONENT_3FE 0x3FE -#define TRAINER_OPPONENT_C00 0xC00 -#define TRAINER_OPPONENT_800 0x800 -#define STEVEN_PARTNER_ID 0xC03 -#define SECRET_BASE_OPPONENT 0x400 - // Battle Actions // These determine what each battler will do in a turn #define B_ACTION_USE_MOVE 0 @@ -33,7 +28,7 @@ #define B_ACTION_SAFARI_GO_NEAR 7 #define B_ACTION_SAFARI_RUN 8 // The exact purposes of these are unclear -#define B_ACTION_UNKNOWN9 9 +#define B_ACTION_WALLY_THROW 9 #define B_ACTION_EXEC_SCRIPT 10 // when executing an action #define B_ACTION_CANCEL_PARTNER 12 // when choosing an action #define B_ACTION_FINISHED 12 // when executing an action @@ -111,10 +106,10 @@ struct TrainerMonItemCustomMoves union TrainerMonPtr { - struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves; - struct TrainerMonNoItemCustomMoves *NoItemCustomMoves; - struct TrainerMonItemDefaultMoves *ItemDefaultMoves; - struct TrainerMonItemCustomMoves *ItemCustomMoves; + const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves; + const struct TrainerMonNoItemCustomMoves *NoItemCustomMoves; + const struct TrainerMonItemDefaultMoves *ItemDefaultMoves; + const struct TrainerMonItemCustomMoves *ItemCustomMoves; }; struct Trainer @@ -150,29 +145,29 @@ struct DisableStruct /*0x08*/ u8 protectUses; /*0x09*/ u8 stockpileCounter; /*0x0A*/ u8 substituteHP; - /*0x0B*/ u8 disableTimer1 : 4; - /*0x0B*/ u8 disableTimer2 : 4; + /*0x0B*/ u8 disableTimer1:4; + /*0x0B*/ u8 disableTimer2:4; /*0x0C*/ u8 encoredMovePos; /*0x0D*/ u8 unkD; - /*0x0E*/ u8 encoreTimer1 : 4; - /*0x0E*/ u8 encoreTimer2 : 4; - /*0x0F*/ u8 perishSongTimer1 : 4; - /*0x0F*/ u8 perishSongTimer2 : 4; + /*0x0E*/ u8 encoreTimer1:4; + /*0x0E*/ u8 encoreTimer2:4; + /*0x0F*/ u8 perishSongTimer1:4; + /*0x0F*/ u8 perishSongTimer2:4; /*0x10*/ u8 furyCutterCounter; - /*0x11*/ u8 rolloutCounter1 : 4; - /*0x11*/ u8 rolloutCounter2 : 4; - /*0x12*/ u8 chargeTimer1 : 4; - /*0x12*/ u8 chargeTimer2 : 4; + /*0x11*/ u8 rolloutCounter1:4; + /*0x11*/ u8 rolloutCounter2:4; + /*0x12*/ u8 chargeTimer1:4; + /*0x12*/ u8 chargeTimer2:4; /*0x13*/ u8 tauntTimer1:4; /*0x13*/ u8 tauntTimer2:4; /*0x14*/ u8 battlerPreventingEscape; /*0x15*/ u8 battlerWithSureHit; /*0x16*/ u8 isFirstTurn; /*0x17*/ u8 unk17; - /*0x18*/ u8 truantCounter : 1; - /*0x18*/ u8 truantUnknownBit : 1; - /*0x18*/ u8 unk18_a_2 : 2; - /*0x18*/ u8 unk18_b : 4; + /*0x18*/ u8 truantCounter:1; + /*0x18*/ u8 truantUnknownBit:1; + /*0x18*/ u8 unk18_a_2:2; + /*0x18*/ u8 unk18_b:4; /*0x19*/ u8 rechargeCounter; /*0x1A*/ u8 unk1A[2]; }; @@ -182,7 +177,7 @@ struct ProtectStruct /* field_0 */ u32 protected:1; u32 endured:1; - u32 onlyStruggle:1; + u32 noValidMoves:1; u32 helpingHand:1; u32 bounceMove:1; u32 stealMove:1; @@ -201,12 +196,12 @@ struct ProtectStruct u32 flag2Unknown:1; // 0x2 u32 flinchImmobility:1; // 0x4 u32 notFirstStrike:1; // 0x8 - u32 flag_x10 : 1; // 0x10 - u32 flag_x20 : 1; // 0x20 - u32 flag_x40 : 1; // 0x40 - u32 flag_x80 : 1; // 0x80 + u32 flag_x10:1; // 0x10 + u32 flag_x20:1; // 0x20 + u32 flag_x40:1; // 0x40 + u32 flag_x80:1; // 0x80 /* field_3 */ - u32 field3 : 8; + u32 field3:8; /* field_4 */ u32 physicalDmg; /* field_8 */ u32 specialDmg; @@ -217,14 +212,14 @@ struct ProtectStruct struct SpecialStatus { - u8 statLowered : 1; // 0x1 - u8 lightningRodRedirected : 1; // 0x2 - u8 restoredBankSprite: 1; // 0x4 - u8 intimidatedPoke : 1; // 0x8 - u8 traced : 1; // 0x10 - u8 flag20 : 1; - u8 flag40 : 1; - u8 focusBanded : 1; + u8 statLowered:1; // 0x1 + u8 lightningRodRedirected:1; // 0x2 + u8 restoredBattlerSprite: 1; // 0x4 + u8 intimidatedMon:1; // 0x8 + u8 traced:1; // 0x10 + u8 flag20:1; + u8 flag40:1; + u8 focusBanded:1; u8 field1[3]; s32 dmg; s32 physicalDmg; @@ -336,20 +331,20 @@ struct BattleResults u8 unk5_0:1; // 0x5 u8 usedMasterBall:1; // 0x5 u8 caughtMonBall:4; // 0x5 - u8 unk5_6:1; // 0x5 + u8 shinyWildMon:1; // 0x5 u8 unk5_7:1; // 0x5 u16 playerMon1Species; // 0x6 - u8 playerMon1Name[11]; // 0x8 + u8 playerMon1Name[POKEMON_NAME_LENGTH + 1]; // 0x8 u8 battleTurnCounter; // 0x13 - u8 playerMon2Name[11]; // 0x14 - u8 field_1F; // 0x1F + u8 playerMon2Name[POKEMON_NAME_LENGTH + 1]; // 0x14 + u8 pokeblockThrows; // 0x1F u16 lastOpponentSpecies; // 0x20 u16 lastUsedMovePlayer; // 0x22 u16 lastUsedMoveOpponent; // 0x24 u16 playerMon2Species; // 0x26 u16 caughtMonSpecies; // 0x28 - u8 caughtMonNick[10]; // 0x2A - u8 filler34[2]; // 0x34 + u8 caughtMonNick[POKEMON_NAME_LENGTH + 1]; // 0x2A + u8 filler35[1]; // 0x35 u8 catchAttempts[11]; // 0x36 }; @@ -428,7 +423,7 @@ struct BattleTv_Mon struct BattleTv { - struct BattleTv_Mon mon[2][6]; // [side][partyId] + struct BattleTv_Mon mon[2][PARTY_SIZE]; // [side][partyId] struct BattleTv_Position pos[2][2]; // [side][flank] struct BattleTv_Side side[2]; // [side] }; @@ -461,7 +456,7 @@ struct BattleStruct u8 field_46; u8 field_47; u8 focusPunchBattlerId; - u8 field_49; + u8 battlerPreventingSwitchout; u8 moneyMultiplier; u8 savedTurnActionNumber; u8 switchInAbilitiesCounter; @@ -478,10 +473,10 @@ struct BattleStruct u8 runTries; u8 caughtMonNick[11]; u8 field_78; - u8 field_79; - u8 field_7A; - u8 field_7B; - u8 field_7C; + u8 safariGoNearCounter; + u8 safariPkblThrowCounter; + u8 safariEscapeFactor; + u8 safariCatchFactor; u8 field_7D; u8 field_7E; u8 formToChangeInto; @@ -514,7 +509,7 @@ struct BattleStruct u8 field_A7; u16 hpOnSwitchout[2]; u32 savedBattleTypeFlags; - u8 field_B0; + u8 abilityPreventingSwitchout; u8 hpScale; u8 synchronizeMoveEffect; bool8 anyMonHasTransformed; @@ -525,7 +520,7 @@ struct BattleStruct u8 AI_itemFlags[2]; u16 choicedMove[MAX_BATTLERS_COUNT]; u16 changedItems[MAX_BATTLERS_COUNT]; - u8 intimidateBank; + u8 intimidateBattler; u8 switchInItemsCounter; u8 field_DA; u8 turnSideTracker; @@ -560,8 +555,8 @@ struct BattleStruct typeArg = gBattleMoves[move].type; \ } -#define IS_MOVE_PHYSICAL(moveType)(moveType < TYPE_MYSTERY) -#define IS_MOVE_SPECIAL(moveType)(moveType > TYPE_MYSTERY) +#define IS_TYPE_PHYSICAL(moveType)(moveType < TYPE_MYSTERY) +#define IS_TYPE_SPECIAL(moveType)(moveType > TYPE_MYSTERY) #define TARGET_TURN_DAMAGED ((gSpecialStatuses[gBattlerTarget].physicalDmg != 0 || gSpecialStatuses[gBattlerTarget].specialDmg != 0)) @@ -606,34 +601,22 @@ struct BattleScripting u8 reshowMainState; u8 reshowHelperState; u8 field_23; - u8 field_24; + u8 windowsType; // 0 - normal, 1 - battle arena u8 multiplayerId; }; -enum -{ - BACK_PIC_BRENDAN, - BACK_PIC_MAY, - BACK_PIC_RED, - BACK_PIC_LEAF, - BACK_PIC_RS_BRENDAN, - BACK_PIC_RS_MAY, - BACK_PIC_WALLY, - BACK_PIC_STEVEN -}; - // rom_80A5C6C u8 GetBattlerSide(u8 battler); -u8 GetBattlerPosition(u8 bank); -u8 GetBattlerAtPosition(u8 bank); +u8 GetBattlerPosition(u8 battler); +u8 GetBattlerAtPosition(u8 battler); struct BattleSpriteInfo { - u16 invisible : 1; // 0x1 - u16 lowHpSong : 1; // 0x2 - u16 behindSubstitute : 1; // 0x4 - u16 flag_x8 : 1; // 0x8 - u16 hpNumbersNoBars : 1; // 0x10 + u16 invisible:1; // 0x1 + u16 lowHpSong:1; // 0x2 + u16 behindSubstitute:1; // 0x4 + u16 flag_x8:1; // 0x8 + u16 hpNumbersNoBars:1; // 0x10 u16 transformSpecies; }; @@ -647,12 +630,12 @@ struct BattleAnimationInfo u8 field_6; u8 field_7; u8 ballThrowCaseId; - u8 field_9_x1 : 1; - u8 field_9_x2 : 1; - u8 field_9_x1C : 3; - u8 field_9_x20 : 1; - u8 field_9_x40 : 1; - u8 field_9_x80 : 1; + u8 field_9_x1:1; + u8 field_9_x2:1; + u8 field_9_x1C:3; + u8 field_9_x20:1; + u8 field_9_x40:1; + u8 field_9_x80:1; u8 field_A; u8 field_B; u8 field_C; @@ -663,21 +646,21 @@ struct BattleAnimationInfo struct BattleHealthboxInfo { - u8 flag_x1 : 1; - u8 flag_x2 : 1; - u8 flag_x4 : 1; - u8 ballAnimActive : 1; // 0x8 - u8 statusAnimActive : 1; // x10 - u8 animFromTableActive : 1; // x20 - u8 specialAnimActive : 1; //x40 - u8 flag_x80 : 1; - u8 field_1_x1 : 1; - u8 field_1_x1E : 4; - u8 field_1_x20 : 1; - u8 field_1_x40 : 1; - u8 field_1_x80 : 1; - u8 field_2; - u8 field_3; + u8 partyStatusSummaryShown:1; + u8 healthboxIsBouncing:1; + u8 battlerIsBouncing:1; + u8 ballAnimActive:1; // 0x8 + u8 statusAnimActive:1; // x10 + u8 animFromTableActive:1; // x20 + u8 specialAnimActive:1; // x40 + u8 flag_x80:1; + u8 field_1_x1:1; + u8 field_1_x1E:4; + u8 field_1_x20:1; + u8 field_1_x40:1; + u8 field_1_x80:1; + u8 healthboxBounceSpriteId; + u8 battlerBounceSpriteId; u8 animationState; u8 field_5; u8 field_6; @@ -692,9 +675,9 @@ struct BattleBarInfo { u8 healthboxSpriteId; s32 maxValue; - s32 currentValue; + s32 oldValue; s32 receivedValue; - s32 field_10; + s32 currValue; }; struct BattleSpriteData @@ -719,7 +702,11 @@ struct MonSpritesGfx void *field_17C; }; -// all battle variables are declared in battle_main.c +// All battle variables are declared in battle_main.c +extern u8 gDisplayedStringBattle[300]; +extern u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT]; +extern u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT]; +extern u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT]; extern u32 gBattleTypeFlags; extern u8 gBattleTerrain; extern u32 gUnknown_02022FF4; @@ -733,7 +720,7 @@ extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; extern u8 gBattlerPositions[MAX_BATTLERS_COUNT]; extern u8 gActionsByTurnOrder[MAX_BATTLERS_COUNT]; -extern u8 gBattleTurnOrder[MAX_BATTLERS_COUNT]; +extern u8 gBattlerByTurnOrder[MAX_BATTLERS_COUNT]; extern u8 gCurrentTurnActionNumber; extern u8 gCurrentActionFuncId; extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT]; diff --git a/include/battle_ai_script_commands.h b/include/battle_ai_script_commands.h index 316f76de6..d23ad048a 100644 --- a/include/battle_ai_script_commands.h +++ b/include/battle_ai_script_commands.h @@ -1,13 +1,18 @@ #ifndef GUARD_BATTLE_AI_SCRIPT_COMMANDS_H #define GUARD_BATTLE_AI_SCRIPT_COMMANDS_H +// return values for BattleAI_ChooseMoveOrAction +// 0 - 3 are move idx +#define AI_CHOICE_FLEE 4 +#define AI_CHOICE_WATCH 5 + void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves); void BattleAI_SetupAIData(u8 defaultScoreMoves); u8 BattleAI_ChooseMoveOrAction(void); -void ClearBattlerMoveHistory(u8 bank); -void RecordAbilityBattle(u8 bank, u8 abilityId); -void ClearBattlerAbilityHistory(u8 bank); -void RecordItemEffectBattle(u8 bank, u8 itemEffect); -void ClearBankItemEffectHistory(u8 bank); +void ClearBattlerMoveHistory(u8 battlerId); +void RecordAbilityBattle(u8 battlerId, u8 abilityId); +void ClearBattlerAbilityHistory(u8 battlerId); +void RecordItemEffectBattle(u8 battlerId, u8 itemEffect); +void ClearBattlerItemEffectHistory(u8 battlerId); #endif // GUARD_BATTLE_AI_SCRIPT_COMMANDS_H diff --git a/include/battle_bg.h b/include/battle_bg.h index 7fc09fbf7..dac41c992 100644 --- a/include/battle_bg.h +++ b/include/battle_bg.h @@ -1,13 +1,13 @@ #ifndef GUARD_BATTLE_BG_H #define GUARD_BATTLE_BG_H -void sub_8035658(void); +void BattleInitBgsAndWindows(void); void sub_80356D0(void); -void ApplyPlayerChosenFrameToBattleMenu(void); +void LoadBattleMenuWindowGfx(void); void DrawMainBattleBackground(void); void LoadBattleTextboxAndBackground(void); void sub_8035D74(u8 taskId); -void LoadBattleEntryBackground(void); +void DrawBattleEntryBackground(void); bool8 LoadChosenBattleElement(u8 caseId); #endif // GUARD_BATTLE_BG_H diff --git a/include/battle_controllers.h b/include/battle_controllers.h index a0fc41b52..ff5a629af 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -65,6 +65,8 @@ enum REQUEST_TOUGH_RIBBON_BATTLE, }; +// Special arguments for Battle Controller functions. + #define RESET_ACTION_MOVE_SELECTION 0 #define RESET_ACTION_SELECTION 1 #define RESET_MOVE_SELECTION 2 @@ -76,14 +78,15 @@ enum #define BALL_3_SHAKES_SUCCESS 4 #define BALL_TRAINER_BLOCK 5 -#define RET_VALUE_LEVELLED_UP 11 - #define INSTANT_HP_BAR_DROP 32767 +// Special return values in gBattleBufferB from Battle Controller functions. +#define RET_VALUE_LEVELED_UP 11 + struct UnusedControllerStruct { - u8 field_0 : 7; - u8 flag_x80 : 1; + u8 field_0:7; + u8 flag_x80:1; }; struct HpAndStatus @@ -160,8 +163,8 @@ enum CONTROLLER_INTROSLIDE, CONTROLLER_INTROTRAINERBALLTHROW, CONTROLLER_DRAWPARTYSTATUSSUMMARY, - CONTROLLER_49, - CONTROLLER_50, + CONTROLLER_HIDEPARTYSTATUSSUMMARY, + CONTROLLER_ENDBOUNCE, CONTROLLER_SPRITEINVISIBILITY, CONTROLLER_BATTLEANIMATION, CONTROLLER_LINKSTANDBYMSG, @@ -230,13 +233,13 @@ void BtlController_EmitFaintingCry(u8 bufferId); void BtlController_EmitIntroSlide(u8 bufferId, u8 terrainId); void BtlController_EmitIntroTrainerBallThrow(u8 bufferId); void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 arg2); -void BtlController_EmitCmd49(u8 bufferId); -void BtlController_EmitCmd50(u8 bufferId); +void BtlController_EmitHidePartyStatusSummary(u8 bufferId); +void BtlController_EmitEndBounceEffect(u8 bufferId); void BtlController_EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible); void BtlController_EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument); void BtlController_EmitLinkStandbyMsg(u8 bufferId, u8 arg1, bool32 arg2); void BtlController_EmitResetActionMoveSelection(u8 bufferId, u8 caseId); -void BtlController_EmitCmd55(u8 bufferId, u8 arg1); +void BtlController_EmitCmd55(u8 bufferId, u8 battleOutcome); // player controller void SetControllerToPlayer(void); diff --git a/include/battle_gfx_sfx_util.h b/include/battle_gfx_sfx_util.h index e1c6325b6..16253e760 100644 --- a/include/battle_gfx_sfx_util.h +++ b/include/battle_gfx_sfx_util.h @@ -35,7 +35,7 @@ void ClearBehindSubstituteBit(u8 battlerId); void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId); void BattleStopLowHpSound(void); u8 GetMonHPBarLevel(struct Pokemon *mon); -void sub_805EAE8(void); +void HandleBattleLowHpMusicChange(void); void sub_805EB9C(u8 affineMode); void LoadAndCreateEnemyShadowSprites(void); void SpriteCB_SetInvisible(struct Sprite *sprite); @@ -45,6 +45,6 @@ void sub_805EF14(void); void ClearTemporarySpeciesSpriteData(u8 battlerId, bool8 dontClearSubstitute); void AllocateMonSpritesGfx(void); void FreeMonSpritesGfx(void); -bool32 ShouldPlayNormalPokeCry(struct Pokemon *mon); +bool32 ShouldPlayNormalMonCry(struct Pokemon *mon); #endif // GUARD_BATTLE_GFX_SFX_UTIL diff --git a/include/battle_interface.h b/include/battle_interface.h index fe8c03f70..2d93811f1 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -29,12 +29,18 @@ enum #define TAG_HEALTHBOX_OPPONENT1_TILE 0xD701 #define TAG_HEALTHBOX_OPPONENT2_TILE 0xD702 +#define TAG_HEALTHBAR_PLAYER1_TILE 0xD704 +#define TAG_HEALTHBAR_OPPONENT1_TILE 0xD705 +#define TAG_HEALTHBAR_PLAYER2_TILE 0xD706 +#define TAG_HEALTHBAR_OPPONENT2_TILE 0xD707 + #define TAG_HEALTHBOX_SAFARI_TILE 0xD70B #define TAG_STATUS_SUMMARY_BAR_TILE 0xD70C #define TAG_STATUS_SUMMARY_BALLS_TILE 0xD714 #define TAG_HEALTHBOX_PAL 0xD6FF +#define TAG_HEALTHBAR_PAL 0xD704 #define TAG_STATUS_SUMMARY_BAR_PAL 0xD710 #define TAG_STATUS_SUMMARY_BALLS_PAL 0xD712 @@ -66,9 +72,9 @@ void InitBattlerHealthboxCoords(u8 bank); void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent); void SwapHpBarsWithHpText(void); u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 arg2, bool8 isBattleStart); -void sub_8073C30(u8 taskId); +void Task_HidePartyStatusSummary(u8 taskId); void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId); -s32 sub_8074AA0(u8 bank, u8 healthboxSpriteId, u8 whichBar, u8 arg3); +s32 MoveBattleBar(u8 bank, u8 healthboxSpriteId, u8 whichBar, u8 arg3); u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale); u8 GetHPBarLevel(s16 hp, s16 maxhp); diff --git a/include/battle_main.h b/include/battle_main.h index a725b631f..27e61c8fc 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -25,6 +25,10 @@ struct TrainerMoney #define TYPE_FORESIGHT 0xFE #define TYPE_ENDTABLE 0xFF +// defines for the 'DoBounceEffect' function +#define BOUNCE_MON 0x0 +#define BOUNCE_HEALTHBOX 0x1 + void CB2_InitBattle(void); void BattleMainCB2(void); void CB2_QuitRecordedBattle(void); @@ -38,15 +42,15 @@ u32 sub_80391E0(u8 arrayId, u8 caseId); u32 sub_80397C4(u32 setId, u32 tableId); void oac_poke_opponent(struct Sprite *sprite); void SpriteCallbackDummy_2(struct Sprite *sprite); -void sub_8039934(struct Sprite *sprite); +void SpriteCB_FaintOpponentMon(struct Sprite *sprite); void sub_8039AD8(struct Sprite *sprite); void sub_8039B2C(struct Sprite *sprite); void sub_8039B58(struct Sprite *sprite); void sub_8039BB4(struct Sprite *sprite); void sub_80105DC(struct Sprite *sprite); void sub_8039C00(struct Sprite *sprite); -void dp11b_obj_instanciate(u8 battlerId, u8 b, s8 c, s8 d); -void dp11b_obj_free(u8 battlerId, bool8 b); +void DoBounceEffect(u8 battlerId, u8 b, s8 c, s8 d); +void EndBounceEffect(u8 battlerId, bool8 b); void sub_8039E44(struct Sprite *sprite); void sub_8039E60(struct Sprite *sprite); void sub_8039E84(struct Sprite *sprite); @@ -80,6 +84,6 @@ extern const u8 gStatusConditionString_IceJpn[8]; extern const u8 gStatusConditionString_ConfusionJpn[8]; extern const u8 gStatusConditionString_LoveJpn[8]; -extern const u8 * const gStatusConditionStringsTable[7][2]; +extern const u8 *const gStatusConditionStringsTable[7][2]; #endif // GUARD_BATTLE_MAIN_H diff --git a/include/battle_message.h b/include/battle_message.h index bf9b590af..147bfa501 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -1,8 +1,9 @@ #ifndef GUARD_BATTLE_MESSAGE_H #define GUARD_BATTLE_MESSAGE_H -// for 0xFD +#define TEXT_BUFF_ARRAY_COUNT 16 +// for 0xFD #define B_TXT_BUFF1 0x0 #define B_TXT_BUFF2 0x1 #define B_TXT_COPY_VAR_1 0x2 @@ -194,7 +195,7 @@ textVar[4] = B_BUFF_EOS; \ } -struct StringInfoBattle +struct BattleMsgData { u16 currentMove; u16 originallyUsedMove; @@ -203,25 +204,20 @@ struct StringInfoBattle u8 scrActive; u8 unk1605E; u8 hpScale; - u8 StringBank; + u8 itemEffectBattler; u8 moveType; - u8 abilities[4]; - u8 textBuffs[3][0x10]; + u8 abilities[MAX_BATTLERS_COUNT]; + u8 textBuffs[3][TEXT_BUFF_ARRAY_COUNT]; }; void BufferStringBattle(u16 stringID); u32 BattleStringExpandPlaceholdersToDisplayedString(const u8* src); u32 BattleStringExpandPlaceholders(const u8* src, u8* dst); -void BattleHandleAddTextPrinter(const u8* text, u8 arg1); +void BattlePutTextOnWindow(const u8* text, u8 arg1); void SetPpNumbersPaletteInMoveSelection(void); u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp); -#define TEXT_BUFF_ARRAY_COUNT 16 - -extern u8 gDisplayedStringBattle[300]; -extern u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT]; -extern u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT]; -extern u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT]; +extern struct BattleMsgData *gBattleMsgDataPtr; extern const u8* const gBattleStringsTable[]; extern const u8* const gStatNamesTable[]; @@ -252,6 +248,13 @@ extern const u8 gText_BattleSwitchWhich4[]; extern const u8 gText_BattleSwitchWhich5[]; extern const u8 gText_SafariBalls[]; extern const u8 gText_SafariBallLeft[]; +extern const u8 gText_Sleep[]; +extern const u8 gText_Poison[]; +extern const u8 gText_Burn[]; +extern const u8 gText_Paralysis[]; +extern const u8 gText_Ice[]; +extern const u8 gText_Confusion[]; +extern const u8 gText_Love[]; extern const u8 gText_SpaceAndSpace[]; extern const u8 gText_CommaSpace[]; extern const u8 gText_Space2[]; diff --git a/include/battle_util.h b/include/battle_util.h index e5c1aaf18..0531966df 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -8,41 +8,36 @@ #define MOVE_LIMITATION_TAUNT (1 << 4) #define MOVE_LIMITATION_IMPRISION (1 << 5) -#define ABILITYEFFECT_ON_SWITCHIN 0x0 -#define ABILITYEFFECT_ENDTURN 0x1 -#define ABILITYEFFECT_MOVES_BLOCK 0x2 -#define ABILITYEFFECT_ABSORBING 0x3 -#define ABILITYEFFECT_CONTACT 0x4 -#define ABILITYEFFECT_IMMUNITY 0x5 -#define ABILITYEFFECT_FORECAST 0x6 -#define ABILITYEFFECT_SYNCHRONIZE 0x7 -#define ABILITYEFFECT_ATK_SYNCHRONIZE 0x8 -#define ABILITYEFFECT_INTIMIDATE1 0x9 -#define ABILITYEFFECT_INTIMIDATE2 0xA -#define ABILITYEFFECT_TRACE 0xB -#define ABILITYEFFECT_CHECK_OTHER_SIDE 0xC -#define ABILITYEFFECT_CHECK_BANK_SIDE 0xD -#define ABILITYEFFECT_FIELD_SPORT 0xE -#define ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK 0xF -#define ABILITYEFFECT_COUNT_OTHER_SIDE 0x10 -#define ABILITYEFFECT_COUNT_BANK_SIDE 0x11 -#define ABILITYEFFECT_COUNT_ON_FIELD 0x12 -#define ABILITYEFFECT_CHECK_ON_FIELD 0x13 -#define ABILITYEFFECT_SWITCH_IN_WEATHER 0xFF +#define ABILITYEFFECT_ON_SWITCHIN 0x0 +#define ABILITYEFFECT_ENDTURN 0x1 +#define ABILITYEFFECT_MOVES_BLOCK 0x2 +#define ABILITYEFFECT_ABSORBING 0x3 +#define ABILITYEFFECT_CONTACT 0x4 +#define ABILITYEFFECT_IMMUNITY 0x5 +#define ABILITYEFFECT_FORECAST 0x6 +#define ABILITYEFFECT_SYNCHRONIZE 0x7 +#define ABILITYEFFECT_ATK_SYNCHRONIZE 0x8 +#define ABILITYEFFECT_INTIMIDATE1 0x9 +#define ABILITYEFFECT_INTIMIDATE2 0xA +#define ABILITYEFFECT_TRACE 0xB +#define ABILITYEFFECT_CHECK_OTHER_SIDE 0xC +#define ABILITYEFFECT_CHECK_BATTLER_SIDE 0xD +#define ABILITYEFFECT_FIELD_SPORT 0xE +#define ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER 0xF +#define ABILITYEFFECT_COUNT_OTHER_SIDE 0x10 +#define ABILITYEFFECT_COUNT_BATTLER_SIDE 0x11 +#define ABILITYEFFECT_COUNT_ON_FIELD 0x12 +#define ABILITYEFFECT_CHECK_ON_FIELD 0x13 +#define ABILITYEFFECT_SWITCH_IN_WEATHER 0xFF -#define ITEMEFFECT_ON_SWITCH_IN 0x0 +#define ABILITY_ON_OPPOSING_FIELD(battlerId, abilityId)(AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, battlerId, abilityId, 0, 0)) +#define ABILITY_ON_FIELD(abilityId)(AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, abilityId, 0, 0)) +#define ABILITY_ON_FIELD2(abilityId)(AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, abilityId, 0, 0)) -#define WEATHER_HAS_EFFECT ((!AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_AIR_LOCK, 0, 0))) -#define WEATHER_HAS_EFFECT2 ((!AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_AIR_LOCK, 0, 0))) +#define ITEMEFFECT_ON_SWITCH_IN 0x0 -#define BS_GET_TARGET 0 -#define BS_GET_ATTACKER 1 -#define BS_GET_EFFECT_BANK 2 -#define BS_GET_SCRIPTING_BANK 10 -#define BS_GET_PLAYER1 11 -#define BS_GET_OPPONENT1 12 -#define BS_GET_PLAYER2 13 -#define BS_GET_OPPONENT2 14 +#define WEATHER_HAS_EFFECT ((!ABILITY_ON_FIELD(ABILITY_CLOUD_NINE) && !ABILITY_ON_FIELD(ABILITY_AIR_LOCK))) +#define WEATHER_HAS_EFFECT2 ((!ABILITY_ON_FIELD2(ABILITY_CLOUD_NINE) && !ABILITY_ON_FIELD2(ABILITY_AIR_LOCK))) u8 GetBattlerForBattleScript(u8 caseId); void PressurePPLose(u8 bankDef, u8 bankAtk, u16 move); @@ -70,7 +65,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void); bool8 HandleFaintedMonActions(void); void TryClearRageStatuses(void); u8 AtkCanceller_UnableToUseMove(void); -bool8 sub_80423F4(u8 battlerId, u8 r1, u8 r2); +bool8 HasNoMonsToSwitch(u8 battlerId, u8 r1, u8 r2); u8 CastformDataTypeChange(u8 battlerId); u8 AbilityBattleEffects(u8 caseID, u8 battlerId, u8 ability, u8 special, u16 moveArg); void BattleScriptExecute(const u8* BS_ptr); diff --git a/include/cable_club.h b/include/cable_club.h index 44831235c..734a4f070 100644 --- a/include/cable_club.h +++ b/include/cable_club.h @@ -9,5 +9,7 @@ void sub_80B37D4(TaskFunc taskFunc); u8 sub_80B3050(void); +void sub_80B360C(void); +bool32 sub_80B2AF4(u16 *arg0, u16 *arg1); #endif //GUARD_CABLE_CLUB_H diff --git a/include/constants/abilities.h b/include/constants/abilities.h index 4e2c4056c..4ad54c86f 100644 --- a/include/constants/abilities.h +++ b/include/constants/abilities.h @@ -80,4 +80,6 @@ #define ABILITY_CACOPHONY 76 #define ABILITY_AIR_LOCK 77 +#define ABILITIES_COUNT 78 + #endif // GUARD_CONSTANTS_ABILITIES_H diff --git a/include/constants/battle.h b/include/constants/battle.h index f3d7a8e0e..b3f9d919a 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -130,7 +130,7 @@ #define STATUS2_TORMENT 0x80000000 // Seems like per-battler statuses. Not quite sure how to categorize these -#define STATUS3_LEECHSEED_BANK 0x3 +#define STATUS3_LEECHSEED_BATTLER 0x3 #define STATUS3_LEECHSEED 0x4 #define STATUS3_ALWAYS_HITS 0x18 // two bits #define STATUS3_PERISH_SONG 0x20 @@ -159,7 +159,7 @@ #define HITMARKER_NO_ATTACKSTRING 0x00000200 #define HITMARKER_ATTACKSTRING_PRINTED 0x00000400 #define HITMARKER_NO_PPDEDUCT 0x00000800 -#define HITMARKER_PURSUIT_TRAP 0x00001000 +#define HITMARKER_SWAP_ATTACKER_TARGET 0x00001000 #define HITMARKER_IGNORE_SAFEGUARD 0x00002000 #define HITMARKER_SYNCHRONISE_EFFECT 0x00004000 #define HITMARKER_RUN 0x00008000 diff --git a/include/constants/battle_frontier.h b/include/constants/battle_frontier.h new file mode 100644 index 000000000..4145805c4 --- /dev/null +++ b/include/constants/battle_frontier.h @@ -0,0 +1,13 @@ +#ifndef GUARD_CONSTANTS_BATTLE_FRONTIER_H +#define GUARD_CONSTANTS_BATTLE_FRONTIER_H + +// Battle Frontier facility ids. +#define FRONTIER_FACILITY_TOWER 0 +#define FRONTIER_FACILITY_DOME 1 +#define FRONTIER_FACILITY_PALACE 2 +#define FRONTIER_FACILITY_ARENA 3 +#define FRONTIER_FACILITY_FACTORY 4 +#define FRONTIER_FACILITY_PIKE 5 +#define FRONTIER_FACILITY_PYRAMID 6 + +#endif // GUARD_CONSTANTS_BATTLE_FRONTIER_H diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index a1a4ed50a..c820a1114 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -37,7 +37,7 @@ #define BS_ATTACKER 1 #define BS_EFFECT_BATTLER 2 #define BS_FAINTED 3 -#define BS_BANK_0 7 +#define BS_BATTLER_0 7 #define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update #define BS_ATTACKER_SIDE 8 // for atk1E_jumpifability #define BS_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability diff --git a/include/constants/bg_event_constants.h b/include/constants/bg_event_constants.h new file mode 100755 index 000000000..a915bc509 --- /dev/null +++ b/include/constants/bg_event_constants.h @@ -0,0 +1,13 @@ +#ifndef GUARD_CONSTANTS_BG_EVENT_H +#define GUARD_CONSTANTS_BG_EVENT_H + +#define BG_EVENT_PLAYER_FACING_ANY 0 +#define BG_EVENT_PLAYER_FACING_NORTH 1 +#define BG_EVENT_PLAYER_FACING_SOUTH 2 +#define BG_EVENT_PLAYER_FACING_EAST 3 +#define BG_EVENT_PLAYER_FACING_WEST 4 + +#define BG_EVENT_HIDDEN_ITEM 7 +#define BG_EVENT_SECRET_BASE 8 + +#endif // GUARD_CONSTANTS_BG_EVENT_H diff --git a/include/constants/event_object_movement_constants.h b/include/constants/event_object_movement_constants.h new file mode 100755 index 000000000..2a80f9a09 --- /dev/null +++ b/include/constants/event_object_movement_constants.h @@ -0,0 +1,245 @@ +#ifndef GUARD_CONSTANTS_EVENTOBJMV_H +#define GUARD_CONSTANTS_EVENTOBJMV_H + +#define MOVEMENT_TYPE_NONE 0x0 +#define MOVEMENT_TYPE_LOOK_AROUND 0x1 +#define MOVEMENT_TYPE_WANDER_AROUND 0x2 +#define MOVEMENT_TYPE_WANDER_UP_AND_DOWN 0x3 +#define MOVEMENT_TYPE_WANDER_DOWN_AND_UP 0x4 +#define MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT 0x5 +#define MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT 0x6 +#define MOVEMENT_TYPE_FACE_UP 0x7 +#define MOVEMENT_TYPE_FACE_DOWN 0x8 +#define MOVEMENT_TYPE_FACE_LEFT 0x9 +#define MOVEMENT_TYPE_FACE_RIGHT 0xA +#define MOVEMENT_TYPE_PLAYER 0xB +#define MOVEMENT_TYPE_BERRY_TREE_GROWTH 0xC +#define MOVEMENT_TYPE_FACE_DOWN_AND_UP 0xD +#define MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT 0xE +#define MOVEMENT_TYPE_FACE_UP_AND_LEFT 0xF +#define MOVEMENT_TYPE_FACE_UP_AND_RIGHT 0x10 +#define MOVEMENT_TYPE_FACE_DOWN_AND_LEFT 0x11 +#define MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT 0x12 +#define MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT 0x13 +#define MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT 0x14 +#define MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT 0x15 +#define MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT 0x16 +#define MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE 0x17 +#define MOVEMENT_TYPE_ROTATE_CLOCKWISE 0x18 +#define MOVEMENT_TYPE_WALK_UP_AND_DOWN 0x19 +#define MOVEMENT_TYPE_WALK_DOWN_AND_UP 0x1A +#define MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT 0x1B +#define MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT 0x1C +#define MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN 0x1D +#define MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP 0x1E +#define MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT 0x1F +#define MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT 0x20 +#define MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN 0x21 +#define MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP 0x22 +#define MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT 0x23 +#define MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT 0x24 +#define MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT 0x25 +#define MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT 0x26 +#define MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN 0x27 +#define MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP 0x28 +#define MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT 0x29 +#define MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT 0x2A +#define MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN 0x2B +#define MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP 0x2C +#define MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT 0x2D +#define MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT 0x2E +#define MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP 0x2F +#define MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN 0x30 +#define MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT 0x31 +#define MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT 0x32 +#define MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN 0x33 +#define MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP 0x34 +#define MOVEMENT_TYPE_COPY_PLAYER 0x35 +#define MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE 0x36 +#define MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE 0x37 +#define MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE 0x38 +#define MOVEMENT_TYPE_TREE_DISGUISE 0x39 +#define MOVEMENT_TYPE_MOUNTAIN_DISGUISE 0x3A +#define MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS 0x3B +#define MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS 0x3C +#define MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS 0x3D +#define MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS 0x3E +#define MOVEMENT_TYPE_HIDDEN 0x3F +#define MOVEMENT_TYPE_WALK_IN_PLACE_DOWN 0x40 +#define MOVEMENT_TYPE_WALK_IN_PLACE_UP 0x41 +#define MOVEMENT_TYPE_WALK_IN_PLACE_LEFT 0x42 +#define MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT 0x43 +#define MOVEMENT_TYPE_JOG_IN_PLACE_DOWN 0x44 +#define MOVEMENT_TYPE_JOG_IN_PLACE_UP 0x45 +#define MOVEMENT_TYPE_JOG_IN_PLACE_LEFT 0x46 +#define MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT 0x47 +#define MOVEMENT_TYPE_RUN_IN_PLACE_DOWN 0x48 +#define MOVEMENT_TYPE_RUN_IN_PLACE_UP 0x49 +#define MOVEMENT_TYPE_RUN_IN_PLACE_LEFT 0x4A +#define MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT 0x4B +#define MOVEMENT_TYPE_INVISIBLE 0x4C +#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN 0x4D +#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP 0x4E +#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT 0x4F +#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT 0x50 + +#define MOVEMENT_ACTION_FACE_DOWN 0x0 +#define MOVEMENT_ACTION_FACE_UP 0x1 +#define MOVEMENT_ACTION_FACE_LEFT 0x2 +#define MOVEMENT_ACTION_FACE_RIGHT 0x3 +#define MOVEMENT_ACTION_WALK_SLOW_DOWN 0x4 +#define MOVEMENT_ACTION_WALK_SLOW_UP 0x5 +#define MOVEMENT_ACTION_WALK_SLOW_LEFT 0x6 +#define MOVEMENT_ACTION_WALK_SLOW_RIGHT 0x7 +#define MOVEMENT_ACTION_WALK_NORMAL_DOWN 0x8 +#define MOVEMENT_ACTION_WALK_NORMAL_UP 0x9 +#define MOVEMENT_ACTION_WALK_NORMAL_LEFT 0xA +#define MOVEMENT_ACTION_WALK_NORMAL_RIGHT 0xB +#define MOVEMENT_ACTION_JUMP_2_DOWN 0xC +#define MOVEMENT_ACTION_JUMP_2_UP 0xD +#define MOVEMENT_ACTION_JUMP_2_LEFT 0xE +#define MOVEMENT_ACTION_JUMP_2_RIGHT 0xF +#define MOVEMENT_ACTION_DELAY_1 0x10 +#define MOVEMENT_ACTION_DELAY_2 0x11 +#define MOVEMENT_ACTION_DELAY_4 0x12 +#define MOVEMENT_ACTION_DELAY_8 0x13 +#define MOVEMENT_ACTION_DELAY_16 0x14 +#define MOVEMENT_ACTION_WALK_FAST_DOWN 0x15 +#define MOVEMENT_ACTION_WALK_FAST_UP 0x16 +#define MOVEMENT_ACTION_WALK_FAST_LEFT 0x17 +#define MOVEMENT_ACTION_WALK_FAST_RIGHT 0x18 +#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN 0x19 +#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP 0x1A +#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT 0x1B +#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT 0x1C +#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN 0x1D +#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP 0x1E +#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT 0x1F +#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT 0x20 +#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN 0x21 +#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP 0x22 +#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT 0x23 +#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT 0x24 +#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN 0x25 +#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP 0x26 +#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT 0x27 +#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT 0x28 +#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN 0x29 +#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP 0x2A +#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT 0x2B +#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT 0x2C +#define MOVEMENT_ACTION_WALK_FASTEST_DOWN 0x2D +#define MOVEMENT_ACTION_WALK_FASTEST_UP 0x2E +#define MOVEMENT_ACTION_WALK_FASTEST_LEFT 0x2F +#define MOVEMENT_ACTION_WALK_FASTEST_RIGHT 0x30 +#define MOVEMENT_ACTION_SLIDE_DOWN 0x31 +#define MOVEMENT_ACTION_SLIDE_UP 0x32 +#define MOVEMENT_ACTION_SLIDE_LEFT 0x33 +#define MOVEMENT_ACTION_SLIDE_RIGHT 0x34 +#define MOVEMENT_ACTION_PLAYER_RUN_DOWN 0x35 +#define MOVEMENT_ACTION_PLAYER_RUN_UP 0x36 +#define MOVEMENT_ACTION_PLAYER_RUN_LEFT 0x37 +#define MOVEMENT_ACTION_PLAYER_RUN_RIGHT 0x38 +#define MOVEMENT_ACTION_START_ANIM_IN_DIRECTION 0x39 +#define MOVEMENT_ACTION_JUMP_SPECIAL_DOWN 0x3A +#define MOVEMENT_ACTION_JUMP_SPECIAL_UP 0x3B +#define MOVEMENT_ACTION_JUMP_SPECIAL_LEFT 0x3C +#define MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT 0x3D +#define MOVEMENT_ACTION_FACE_PLAYER 0x3E +#define MOVEMENT_ACTION_FACE_AWAY_PLAYER 0x3F +#define MOVEMENT_ACTION_LOCK_FACING_DIRECTION 0x40 +#define MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION 0x41 +#define MOVEMENT_ACTION_JUMP_DOWN 0x42 +#define MOVEMENT_ACTION_JUMP_UP 0x43 +#define MOVEMENT_ACTION_JUMP_LEFT 0x44 +#define MOVEMENT_ACTION_JUMP_RIGHT 0x45 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN 0x46 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP 0x47 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT 0x48 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT 0x49 +#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP 0x4A +#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN 0x4B +#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT 0x4C +#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT 0x4D +#define MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION 0x4E +#define MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN 0x4F +#define MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT 0x50 +#define MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT 0x51 +#define MOVEMENT_ACTION_DISABLE_ANIMATION 0x52 +#define MOVEMENT_ACTION_RESTORE_ANIMATION 0x53 +#define MOVEMENT_ACTION_SET_INVISIBLE 0x54 +#define MOVEMENT_ACTION_SET_VISIBLE 0x55 +#define MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK 0x56 +#define MOVEMENT_ACTION_EMOTE_QUESTION_MARK 0x57 +#define MOVEMENT_ACTION_EMOTE_HEART 0x58 +#define MOVEMENT_ACTION_REVEAL_TRAINER 0x59 +#define MOVEMENT_ACTION_ROCK_SMASH_BREAK 0x5A +#define MOVEMENT_ACTION_CUT_TREE 0x5B +#define MOVEMENT_ACTION_SET_FIXED_PRIORITY 0x5C +#define MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY 0x5D +#define MOVEMENT_ACTION_INIT_AFFINE_ANIM 0x5E +#define MOVEMENT_ACTION_CLEAR_AFFINE_ANIM 0x5F +#define MOVEMENT_ACTION_UNKNOWN1 0x60 +#define MOVEMENT_ACTION_UNKNOWN2 0x61 +#define MOVEMENT_ACTION_WALK_DOWN_START_AFFINE 0x62 +#define MOVEMENT_ACTION_WALK_DOWN_AFFINE 0x63 +#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN 0x64 +#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP 0x65 +#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT 0x66 +#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT 0x67 +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN 0x68 +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP 0x69 +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT 0x6A +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT 0x6B +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN 0x6C +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP 0x6D +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT 0x6E +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT 0x6F +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN 0x70 +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP 0x71 +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT 0x72 +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT 0x73 +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN 0x74 +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP 0x75 +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT 0x76 +#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT 0x77 +#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN 0x78 +#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP 0x79 +#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT 0x7A +#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT 0x7B +#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN 0x7C +#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP 0x7D +#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT 0x7E +#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT 0x7F +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN 0x80 +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP 0x81 +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT 0x82 +#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT 0x83 +#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN 0x84 +#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP 0x85 +#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT 0x86 +#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT 0x87 +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN 0x88 +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP 0x89 +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT 0x8A +#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT 0x8B +#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_LEFT 0x8C +#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_RIGHT 0x8D +#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_LEFT 0x8E +#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_RIGHT 0x8F +#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_LEFT 0x90 +#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT 0x91 +#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT 0x92 +#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT 0x93 +#define MOVEMENT_ACTION_STORE_AND_LOCK_ANIM 0x94 +#define MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM 0x95 +#define MOVEMENT_ACTION_WALK_LEFT_AFFINE 0x96 +#define MOVEMENT_ACTION_WALK_RIGHT_AFFINE 0x97 +#define MOVEMENT_ACTION_LEVITATE 0x98 +#define MOVEMENT_ACTION_STOP_LEVITATE 0x99 +#define MOVEMENT_ACTION_DESTROY_EXTRA_TASK_IF_AT_TOP 0x9A +#define MOVEMENT_ACTION_FIGURE_8 0x9B +#define MOVEMENT_ACTION_FLY_UP 0x9C +#define MOVEMENT_ACTION_FLY_DOWN 0x9D + +#endif // GUARD_CONSTANTS_EVENTOBJMV_H diff --git a/include/constants/items.h b/include/constants/items.h index 4ca5cb7df..294499c8b 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -462,8 +462,8 @@ #define ITEM_MAGMA_EMBLEM 375 #define ITEM_OLD_SEA_MAP 376 -#define ITEM_LAST_ID 376 -#define ITEM_FIELD_ARROW ITEM_LAST_ID + 1 +#define ITEMS_COUNT 377 +#define ITEM_FIELD_ARROW ITEMS_COUNT #define FIRST_BERRY_INDEX ITEM_CHERI_BERRY #define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY diff --git a/include/constants/map_types.h b/include/constants/map_types.h new file mode 100755 index 000000000..504575859 --- /dev/null +++ b/include/constants/map_types.h @@ -0,0 +1,25 @@ +#ifndef GUARD_CONSTANTS_MAP_TYPES_H +#define GUARD_CONSTANTS_MAP_TYPES_H + +#define MAP_TYPE_0 0 +#define MAP_TYPE_TOWN 1 +#define MAP_TYPE_CITY 2 +#define MAP_TYPE_ROUTE 3 +#define MAP_TYPE_UNDERGROUND 4 +#define MAP_TYPE_UNDERWATER 5 +#define MAP_TYPE_6 6 +#define MAP_TYPE_7 7 +#define MAP_TYPE_INDOOR 8 +#define MAP_TYPE_SECRET_BASE 9 + +#define MAP_BATTLE_SCENE_NORMAL 0 +#define MAP_BATTLE_SCENE_GYM 1 +#define MAP_BATTLE_SCENE_MAGMA 2 +#define MAP_BATTLE_SCENE_AQUA 3 +#define MAP_BATTLE_SCENE_SIDNEY 4 +#define MAP_BATTLE_SCENE_PHOEBE 5 +#define MAP_BATTLE_SCENE_GLACIA 6 +#define MAP_BATTLE_SCENE_DRAKE 7 +#define MAP_BATTLE_SCENE_FRONTIER 8 + +#endif // GUARD_CONSTANTS_MAP_TYPES_H diff --git a/include/constants/moves.h b/include/constants/moves.h index f3a3acb90..85c02e3da 100644 --- a/include/constants/moves.h +++ b/include/constants/moves.h @@ -357,6 +357,6 @@ #define MOVE_DOOM_DESIRE 353 #define MOVE_PSYCHO_BOOST 354 -#define LAST_MOVE_INDEX MOVE_PSYCHO_BOOST +#define MOVES_COUNT 355 #endif // GUARD_CONSTANTS_MOVES_H diff --git a/include/constants/opponents.h b/include/constants/opponents.h index 680a63763..9f74baf67 100644 --- a/include/constants/opponents.h +++ b/include/constants/opponents.h @@ -1,860 +1,862 @@ #ifndef GUARD_CONSTANTS_OPPONENTS_H #define GUARD_CONSTANTS_OPPONENTS_H -#define OPPONENT_NONE 0 -#define OPPONENT_SAWYER_1 1 -#define OPPONENT_GRUNT_1 2 -#define OPPONENT_GRUNT_2 3 -#define OPPONENT_GRUNT_3 4 -#define OPPONENT_GRUNT_4 5 -#define OPPONENT_GRUNT_5 6 -#define OPPONENT_GRUNT_6 7 -#define OPPONENT_GRUNT_7 8 -#define OPPONENT_GABRIELLE_1 9 -#define OPPONENT_GRUNT_8 10 -#define OPPONENT_MARCEL 11 -#define OPPONENT_ALBERTO 12 -#define OPPONENT_ED 13 -#define OPPONENT_GRUNT_9 14 -#define OPPONENT_DECLAN 15 -#define OPPONENT_GRUNT_10 16 -#define OPPONENT_GRUNT_11 17 -#define OPPONENT_GRUNT_12 18 -#define OPPONENT_GRUNT_13 19 -#define OPPONENT_GRUNT_14 20 -#define OPPONENT_GRUNT_15 21 -#define OPPONENT_GRUNT_16 22 -#define OPPONENT_GRUNT_17 23 -#define OPPONENT_GRUNT_18 24 -#define OPPONENT_GRUNT_19 25 -#define OPPONENT_GRUNT_20 26 -#define OPPONENT_GRUNT_21 27 -#define OPPONENT_GRUNT_22 28 -#define OPPONENT_FREDRICK 29 -#define OPPONENT_MATT_1 30 -#define OPPONENT_ZANDER 31 -#define OPPONENT_SHELLY_1 32 -#define OPPONENT_SHELLY_2 33 -#define OPPONENT_ARCHIE 34 -#define OPPONENT_LEAH 35 -#define OPPONENT_DAISY 36 -#define OPPONENT_ROSE_1 37 -#define OPPONENT_FELIX 38 -#define OPPONENT_VIOLET 39 -#define OPPONENT_ROSE_2 40 -#define OPPONENT_ROSE_3 41 -#define OPPONENT_ROSE_4 42 -#define OPPONENT_ROSE_5 43 -#define OPPONENT_DUSTY_1 44 -#define OPPONENT_CHIP 45 -#define OPPONENT_FOSTER 46 -#define OPPONENT_DUSTY_2 47 -#define OPPONENT_DUSTY_3 48 -#define OPPONENT_DUSTY_4 49 -#define OPPONENT_DUSTY_5 50 -#define OPPONENT_GABBY_AND_TY_1 51 -#define OPPONENT_GABBY_AND_TY_2 52 -#define OPPONENT_GABBY_AND_TY_3 53 -#define OPPONENT_GABBY_AND_TY_4 54 -#define OPPONENT_GABBY_AND_TY_5 55 -#define OPPONENT_GABBY_AND_TY_6 56 -#define OPPONENT_LOLA_1 57 -#define OPPONENT_AUSTINA 58 -#define OPPONENT_GWEN 59 -#define OPPONENT_LOLA_2 60 -#define OPPONENT_LOLA_3 61 -#define OPPONENT_LOLA_4 62 -#define OPPONENT_LOLA_5 63 -#define OPPONENT_RICKY_1 64 -#define OPPONENT_SIMON 65 -#define OPPONENT_CHARLIE 66 -#define OPPONENT_RICKY_2 67 -#define OPPONENT_RICKY_3 68 -#define OPPONENT_RICKY_4 69 -#define OPPONENT_RICKY_5 70 -#define OPPONENT_RANDALL 71 -#define OPPONENT_PARKER 72 -#define OPPONENT_GEORGE 73 -#define OPPONENT_BERKE 74 -#define OPPONENT_BRAXTON 75 -#define OPPONENT_VINCENT 76 -#define OPPONENT_LEROY 77 -#define OPPONENT_WILTON_1 78 -#define OPPONENT_EDGAR 79 -#define OPPONENT_ALBERT 80 -#define OPPONENT_SAMUEL 81 -#define OPPONENT_VITO 82 -#define OPPONENT_OWEN 83 -#define OPPONENT_WILTON_2 84 -#define OPPONENT_WILTON_3 85 -#define OPPONENT_WILTON_4 86 -#define OPPONENT_WILTON_5 87 -#define OPPONENT_WARREN 88 -#define OPPONENT_MARY 89 -#define OPPONENT_ALEXIA 90 -#define OPPONENT_JODY 91 -#define OPPONENT_WENDY 92 -#define OPPONENT_KEIRA 93 -#define OPPONENT_BROOKE_1 94 -#define OPPONENT_JENNIFER 95 -#define OPPONENT_HOPE 96 -#define OPPONENT_SHANNON 97 -#define OPPONENT_MICHELLE 98 -#define OPPONENT_CAROLINE 99 -#define OPPONENT_JULIE 100 -#define OPPONENT_BROOKE_2 101 -#define OPPONENT_BROOKE_3 102 -#define OPPONENT_BROOKE_4 103 -#define OPPONENT_BROOKE_5 104 -#define OPPONENT_PATRICIA 105 -#define OPPONENT_KINDRA 106 -#define OPPONENT_TAMMY 107 -#define OPPONENT_VALERIE_1 108 -#define OPPONENT_TASHA 109 -#define OPPONENT_VALERIE_2 110 -#define OPPONENT_VALERIE_3 111 -#define OPPONENT_VALERIE_4 112 -#define OPPONENT_VALERIE_5 113 -#define OPPONENT_CINDY_1 114 -#define OPPONENT_DAPHNE 115 -#define OPPONENT_GRUNT_23 116 -#define OPPONENT_CINDY_2 117 -#define OPPONENT_BRIANNA 118 -#define OPPONENT_NAOMI 119 -#define OPPONENT_CINDY_3 120 -#define OPPONENT_CINDY_4 121 -#define OPPONENT_CINDY_5 122 -#define OPPONENT_CINDY_6 123 -#define OPPONENT_MELISSA 124 -#define OPPONENT_SHEILA 125 -#define OPPONENT_SHIRLEY 126 -#define OPPONENT_JESSICA_1 127 -#define OPPONENT_CONNIE 128 -#define OPPONENT_BRIDGET 129 -#define OPPONENT_OLIVIA 130 -#define OPPONENT_TIFFANY 131 -#define OPPONENT_JESSICA_2 132 -#define OPPONENT_JESSICA_3 133 -#define OPPONENT_JESSICA_4 134 -#define OPPONENT_JESSICA_5 135 -#define OPPONENT_WINSTON_1 136 -#define OPPONENT_MOLLIE 137 -#define OPPONENT_GARRET 138 -#define OPPONENT_WINSTON_2 139 -#define OPPONENT_WINSTON_3 140 -#define OPPONENT_WINSTON_4 141 -#define OPPONENT_WINSTON_5 142 -#define OPPONENT_STEVE_1 143 -#define OPPONENT_THALIA_1 144 -#define OPPONENT_MARK 145 -#define OPPONENT_GRUNT_24 146 -#define OPPONENT_STEVE_2 147 -#define OPPONENT_STEVE_3 148 -#define OPPONENT_STEVE_4 149 -#define OPPONENT_STEVE_5 150 -#define OPPONENT_LUIS 151 -#define OPPONENT_DOMINIK 152 -#define OPPONENT_DOUGLAS 153 -#define OPPONENT_DARRIN 154 -#define OPPONENT_TONY_1 155 -#define OPPONENT_JEROME 156 -#define OPPONENT_MATTHEW 157 -#define OPPONENT_DAVID 158 -#define OPPONENT_SPENCER 159 -#define OPPONENT_ROLAND 160 -#define OPPONENT_NOLEN 161 -#define OPPONENT_STAN 162 -#define OPPONENT_BARRY 163 -#define OPPONENT_DEAN 164 -#define OPPONENT_RODNEY 165 -#define OPPONENT_RICHARD 166 -#define OPPONENT_HERMAN 167 -#define OPPONENT_SANTIAGO 168 -#define OPPONENT_GILBERT 169 -#define OPPONENT_FRANKLIN 170 -#define OPPONENT_KEVIN 171 -#define OPPONENT_JACK 172 -#define OPPONENT_DUDLEY 173 -#define OPPONENT_CHAD 174 -#define OPPONENT_TONY_2 175 -#define OPPONENT_TONY_3 176 -#define OPPONENT_TONY_4 177 -#define OPPONENT_TONY_5 178 -#define OPPONENT_TAKAO 179 -#define OPPONENT_HITOSHI 180 -#define OPPONENT_KIYO 181 -#define OPPONENT_KOICHI 182 -#define OPPONENT_NOB_1 183 -#define OPPONENT_NOB_2 184 -#define OPPONENT_NOB_3 185 -#define OPPONENT_NOB_4 186 -#define OPPONENT_NOB_5 187 -#define OPPONENT_YUJI 188 -#define OPPONENT_DAISUKE 189 -#define OPPONENT_ATSUSHI 190 -#define OPPONENT_KIRK 191 -#define OPPONENT_GRUNT_25 192 -#define OPPONENT_GRUNT_26 193 -#define OPPONENT_SHAWN 194 -#define OPPONENT_FERNANDO_1 195 -#define OPPONENT_DALTON_1 196 -#define OPPONENT_DALTON_2 197 -#define OPPONENT_DALTON_3 198 -#define OPPONENT_DALTON_4 199 -#define OPPONENT_DALTON_5 200 -#define OPPONENT_COLE 201 -#define OPPONENT_JEFF 202 -#define OPPONENT_AXLE 203 -#define OPPONENT_JACE 204 -#define OPPONENT_KEEGAN 205 -#define OPPONENT_BERNIE_1 206 -#define OPPONENT_BERNIE_2 207 -#define OPPONENT_BERNIE_3 208 -#define OPPONENT_BERNIE_4 209 -#define OPPONENT_BERNIE_5 210 -#define OPPONENT_DREW 211 -#define OPPONENT_BEAU 212 -#define OPPONENT_LARRY 213 -#define OPPONENT_SHANE 214 -#define OPPONENT_JUSTIN 215 -#define OPPONENT_ETHAN_1 216 -#define OPPONENT_AUTUMN 217 -#define OPPONENT_TRAVIS 218 -#define OPPONENT_ETHAN_2 219 -#define OPPONENT_ETHAN_3 220 -#define OPPONENT_ETHAN_4 221 -#define OPPONENT_ETHAN_5 222 -#define OPPONENT_BRENT 223 -#define OPPONENT_DONALD 224 -#define OPPONENT_TAYLOR 225 -#define OPPONENT_JEFFREY_1 226 -#define OPPONENT_DEREK 227 -#define OPPONENT_JEFFREY_2 228 -#define OPPONENT_JEFFREY_3 229 -#define OPPONENT_JEFFREY_4 230 -#define OPPONENT_JEFFREY_5 231 -#define OPPONENT_EDWARD 232 -#define OPPONENT_PRESTON 233 -#define OPPONENT_VIRGIL 234 -#define OPPONENT_BLAKE 235 -#define OPPONENT_WILLIAM 236 -#define OPPONENT_JOSHUA 237 -#define OPPONENT_CAMERON_1 238 -#define OPPONENT_CAMERON_2 239 -#define OPPONENT_CAMERON_3 240 -#define OPPONENT_CAMERON_4 241 -#define OPPONENT_CAMERON_5 242 -#define OPPONENT_JACLYN 243 -#define OPPONENT_HANNAH 244 -#define OPPONENT_SAMANTHA 245 -#define OPPONENT_MAURA 246 -#define OPPONENT_KAYLA 247 -#define OPPONENT_ALEXIS 248 -#define OPPONENT_JACKI_1 249 -#define OPPONENT_JACKI_2 250 -#define OPPONENT_JACKI_3 251 -#define OPPONENT_JACKI_4 252 -#define OPPONENT_JACKI_5 253 -#define OPPONENT_WALTER_1 254 -#define OPPONENT_MICAH 255 -#define OPPONENT_THOMAS 256 -#define OPPONENT_WALTER_2 257 -#define OPPONENT_WALTER_3 258 -#define OPPONENT_WALTER_4 259 -#define OPPONENT_WALTER_5 260 -#define OPPONENT_SIDNEY 261 -#define OPPONENT_PHOEBE 262 -#define OPPONENT_GLACIA 263 -#define OPPONENT_DRAKE 264 -#define OPPONENT_ROXANNE_1 265 -#define OPPONENT_BRAWLY_1 266 -#define OPPONENT_WATTSON_1 267 -#define OPPONENT_FLANNERY_1 268 -#define OPPONENT_NORMAN_1 269 -#define OPPONENT_WINONA_1 270 -#define OPPONENT_TATE_AND_LIZA_1 271 -#define OPPONENT_JUAN_1 272 -#define OPPONENT_JERRY_1 273 -#define OPPONENT_TED 274 -#define OPPONENT_PAUL 275 -#define OPPONENT_JERRY_2 276 -#define OPPONENT_JERRY_3 277 -#define OPPONENT_JERRY_4 278 -#define OPPONENT_JERRY_5 279 -#define OPPONENT_KAREN_1 280 -#define OPPONENT_GEORGIA 281 -#define OPPONENT_KAREN_2 282 -#define OPPONENT_KAREN_3 283 -#define OPPONENT_KAREN_4 284 -#define OPPONENT_KAREN_5 285 -#define OPPONENT_KATE_AND_JOY 286 -#define OPPONENT_ANNA_AND_MEG_1 287 -#define OPPONENT_ANNA_AND_MEG_2 288 -#define OPPONENT_ANNA_AND_MEG_3 289 -#define OPPONENT_ANNA_AND_MEG_4 290 -#define OPPONENT_ANNA_AND_MEG_5 291 -#define OPPONENT_VICTOR 292 -#define OPPONENT_MIGUEL_1 293 -#define OPPONENT_COLTON 294 -#define OPPONENT_MIGUEL_2 295 -#define OPPONENT_MIGUEL_3 296 -#define OPPONENT_MIGUEL_4 297 -#define OPPONENT_MIGUEL_5 298 -#define OPPONENT_VICTORIA 299 -#define OPPONENT_VANESSA 300 -#define OPPONENT_BETHANY 301 -#define OPPONENT_ISABEL_1 302 -#define OPPONENT_ISABEL_2 303 -#define OPPONENT_ISABEL_3 304 -#define OPPONENT_ISABEL_4 305 -#define OPPONENT_ISABEL_5 306 -#define OPPONENT_TIMOTHY_1 307 -#define OPPONENT_TIMOTHY_2 308 -#define OPPONENT_TIMOTHY_3 309 -#define OPPONENT_TIMOTHY_4 310 -#define OPPONENT_TIMOTHY_5 311 -#define OPPONENT_VICKY 312 -#define OPPONENT_SHELBY_1 313 -#define OPPONENT_SHELBY_2 314 -#define OPPONENT_SHELBY_3 315 -#define OPPONENT_SHELBY_4 316 -#define OPPONENT_SHELBY_5 317 -#define OPPONENT_CALVIN_1 318 -#define OPPONENT_BILLY 319 -#define OPPONENT_JOSH 320 -#define OPPONENT_TOMMY 321 -#define OPPONENT_JOEY 322 -#define OPPONENT_BEN 323 -#define OPPONENT_QUINCY 324 -#define OPPONENT_KATELYNN 325 -#define OPPONENT_JAYLEN 326 -#define OPPONENT_DILLON 327 -#define OPPONENT_CALVIN_2 328 -#define OPPONENT_CALVIN_3 329 -#define OPPONENT_CALVIN_4 330 -#define OPPONENT_CALVIN_5 331 -#define OPPONENT_EDDIE 332 -#define OPPONENT_ALLEN 333 -#define OPPONENT_TIMMY 334 -#define OPPONENT_WALLACE 335 -#define OPPONENT_ANDREW 336 -#define OPPONENT_IVAN 337 -#define OPPONENT_CLAUDE 338 -#define OPPONENT_ELLIOT_1 339 -#define OPPONENT_NED 340 -#define OPPONENT_DALE 341 -#define OPPONENT_NOLAN 342 -#define OPPONENT_BARNY 343 -#define OPPONENT_WADE 344 -#define OPPONENT_CARTER 345 -#define OPPONENT_ELLIOT_2 346 -#define OPPONENT_ELLIOT_3 347 -#define OPPONENT_ELLIOT_4 348 -#define OPPONENT_ELLIOT_5 349 -#define OPPONENT_RONALD 350 -#define OPPONENT_JACOB 351 -#define OPPONENT_ANTHONY 352 -#define OPPONENT_BENJAMIN_1 353 -#define OPPONENT_BENJAMIN_2 354 -#define OPPONENT_BENJAMIN_3 355 -#define OPPONENT_BENJAMIN_4 356 -#define OPPONENT_BENJAMIN_5 357 -#define OPPONENT_ABIGAIL_1 358 -#define OPPONENT_JASMINE 359 -#define OPPONENT_ABIGAIL_2 360 -#define OPPONENT_ABIGAIL_3 361 -#define OPPONENT_ABIGAIL_4 362 -#define OPPONENT_ABIGAIL_5 363 -#define OPPONENT_DYLAN_1 364 -#define OPPONENT_DYLAN_2 365 -#define OPPONENT_DYLAN_3 366 -#define OPPONENT_DYLAN_4 367 -#define OPPONENT_DYLAN_5 368 -#define OPPONENT_MARIA_1 369 -#define OPPONENT_MARIA_2 370 -#define OPPONENT_MARIA_3 371 -#define OPPONENT_MARIA_4 372 -#define OPPONENT_MARIA_5 373 -#define OPPONENT_CAMDEN 374 -#define OPPONENT_DEMETRIUS 375 -#define OPPONENT_ISAIAH_1 376 -#define OPPONENT_PABLO_1 377 -#define OPPONENT_CHASE 378 -#define OPPONENT_ISAIAH_2 379 -#define OPPONENT_ISAIAH_3 380 -#define OPPONENT_ISAIAH_4 381 -#define OPPONENT_ISAIAH_5 382 -#define OPPONENT_ISOBEL 383 -#define OPPONENT_DONNY 384 -#define OPPONENT_TALIA 385 -#define OPPONENT_KATELYN_1 386 -#define OPPONENT_ALLISON 387 -#define OPPONENT_KATELYN_2 388 -#define OPPONENT_KATELYN_3 389 -#define OPPONENT_KATELYN_4 390 -#define OPPONENT_KATELYN_5 391 -#define OPPONENT_NICOLAS_1 392 -#define OPPONENT_NICOLAS_2 393 -#define OPPONENT_NICOLAS_3 394 -#define OPPONENT_NICOLAS_4 395 -#define OPPONENT_NICOLAS_5 396 -#define OPPONENT_AARON 397 -#define OPPONENT_PERRY 398 -#define OPPONENT_HUGH 399 -#define OPPONENT_PHIL 400 -#define OPPONENT_JARED 401 -#define OPPONENT_HUMBERTO 402 -#define OPPONENT_PRESLEY 403 -#define OPPONENT_EDWARDO 404 -#define OPPONENT_COLIN 405 -#define OPPONENT_ROBERT_1 406 -#define OPPONENT_BENNY 407 -#define OPPONENT_CHESTER 408 -#define OPPONENT_ROBERT_2 409 -#define OPPONENT_ROBERT_3 410 -#define OPPONENT_ROBERT_4 411 -#define OPPONENT_ROBERT_5 412 -#define OPPONENT_ALEX 413 -#define OPPONENT_BECK 414 -#define OPPONENT_YASU 415 -#define OPPONENT_TAKASHI 416 -#define OPPONENT_DIANNE 417 -#define OPPONENT_JANI 418 -#define OPPONENT_LAO_1 419 -#define OPPONENT_LUNG 420 -#define OPPONENT_LAO_2 421 -#define OPPONENT_LAO_3 422 -#define OPPONENT_LAO_4 423 -#define OPPONENT_LAO_5 424 -#define OPPONENT_JOCELYN 425 -#define OPPONENT_LAURA 426 -#define OPPONENT_CYNDY_1 427 -#define OPPONENT_CORA 428 -#define OPPONENT_PAULA 429 -#define OPPONENT_CYNDY_2 430 -#define OPPONENT_CYNDY_3 431 -#define OPPONENT_CYNDY_4 432 -#define OPPONENT_CYNDY_5 433 -#define OPPONENT_MADELINE_1 434 -#define OPPONENT_CLARISSA 435 -#define OPPONENT_ANGELICA 436 -#define OPPONENT_MADELINE_2 437 -#define OPPONENT_MADELINE_3 438 -#define OPPONENT_MADELINE_4 439 -#define OPPONENT_MADELINE_5 440 -#define OPPONENT_BEVERLY 441 -#define OPPONENT_IMANI 442 -#define OPPONENT_KYLA 443 -#define OPPONENT_DENISE 444 -#define OPPONENT_BETH 445 -#define OPPONENT_TARA 446 -#define OPPONENT_MISSY 447 -#define OPPONENT_ALICE 448 -#define OPPONENT_JENNY_1 449 -#define OPPONENT_GRACE 450 -#define OPPONENT_TANYA 451 -#define OPPONENT_SHARON 452 -#define OPPONENT_NIKKI 453 -#define OPPONENT_BRENDA 454 -#define OPPONENT_KATIE 455 -#define OPPONENT_SUSIE 456 -#define OPPONENT_KARA 457 -#define OPPONENT_DANA 458 -#define OPPONENT_SIENNA 459 -#define OPPONENT_DEBRA 460 -#define OPPONENT_LINDA 461 -#define OPPONENT_KAYLEE 462 -#define OPPONENT_LAUREL 463 -#define OPPONENT_CARLEE 464 -#define OPPONENT_JENNY_2 465 -#define OPPONENT_JENNY_3 466 -#define OPPONENT_JENNY_4 467 -#define OPPONENT_JENNY_5 468 -#define OPPONENT_HEIDI 469 -#define OPPONENT_BECKY 470 -#define OPPONENT_CAROL 471 -#define OPPONENT_NANCY 472 -#define OPPONENT_MARTHA 473 -#define OPPONENT_DIANA_1 474 -#define OPPONENT_CEDRIC 475 -#define OPPONENT_IRENE 476 -#define OPPONENT_DIANA_2 477 -#define OPPONENT_DIANA_3 478 -#define OPPONENT_DIANA_4 479 -#define OPPONENT_DIANA_5 480 -#define OPPONENT_AMY_AND_LIV_1 481 -#define OPPONENT_AMY_AND_LIV_2 482 -#define OPPONENT_GINA_AND_MIA_1 483 -#define OPPONENT_MIU_AND_YUKI 484 -#define OPPONENT_AMY_AND_LIV_3 485 -#define OPPONENT_GINA_AND_MIA_2 486 -#define OPPONENT_AMY_AND_LIV_4 487 -#define OPPONENT_AMY_AND_LIV_5 488 -#define OPPONENT_AMY_AND_LIV_6 489 -#define OPPONENT_HUEY 490 -#define OPPONENT_EDMOND 491 -#define OPPONENT_ERNEST_1 492 -#define OPPONENT_DWAYNE 493 -#define OPPONENT_PHILLIP 494 -#define OPPONENT_LEONARD 495 -#define OPPONENT_DUNCAN 496 -#define OPPONENT_ERNEST_2 497 -#define OPPONENT_ERNEST_3 498 -#define OPPONENT_ERNEST_4 499 -#define OPPONENT_ERNEST_5 500 -#define OPPONENT_ELI 501 -#define OPPONENT_ANNIKA 502 -#define OPPONENT_JAZMYN 503 -#define OPPONENT_JONAS 504 -#define OPPONENT_KAYLEY 505 -#define OPPONENT_AURON 506 -#define OPPONENT_KELVIN 507 -#define OPPONENT_MARLEY 508 -#define OPPONENT_REYNA 509 -#define OPPONENT_HUDSON 510 -#define OPPONENT_CONOR 511 -#define OPPONENT_EDWIN_1 512 -#define OPPONENT_HECTOR 513 -#define OPPONENT_TABITHA_1 514 -#define OPPONENT_EDWIN_2 515 -#define OPPONENT_EDWIN_3 516 -#define OPPONENT_EDWIN_4 517 -#define OPPONENT_EDWIN_5 518 -#define OPPONENT_WALLY_1 519 -#define OPPONENT_BRENDAN_1 520 -#define OPPONENT_BRENDAN_2 521 -#define OPPONENT_BRENDAN_3 522 -#define OPPONENT_BRENDAN_4 523 -#define OPPONENT_BRENDAN_5 524 -#define OPPONENT_BRENDAN_6 525 -#define OPPONENT_BRENDAN_7 526 -#define OPPONENT_BRENDAN_8 527 -#define OPPONENT_BRENDAN_9 528 -#define OPPONENT_MAY_1 529 -#define OPPONENT_MAY_2 530 -#define OPPONENT_MAY_3 531 -#define OPPONENT_MAY_4 532 -#define OPPONENT_MAY_5 533 -#define OPPONENT_MAY_6 534 -#define OPPONENT_MAY_7 535 -#define OPPONENT_MAY_8 536 -#define OPPONENT_MAY_9 537 -#define OPPONENT_ISAAC_1 538 -#define OPPONENT_DAVIS 539 -#define OPPONENT_MITCHELL 540 -#define OPPONENT_ISAAC_2 541 -#define OPPONENT_ISAAC_3 542 -#define OPPONENT_ISAAC_4 543 -#define OPPONENT_ISAAC_5 544 -#define OPPONENT_LYDIA_1 545 -#define OPPONENT_HALLE 546 -#define OPPONENT_GARRISON 547 -#define OPPONENT_LYDIA_2 548 -#define OPPONENT_LYDIA_3 549 -#define OPPONENT_LYDIA_4 550 -#define OPPONENT_LYDIA_5 551 -#define OPPONENT_JACKSON_1 552 -#define OPPONENT_LORENZO 553 -#define OPPONENT_SEBASTIAN 554 -#define OPPONENT_JACKSON_2 555 -#define OPPONENT_JACKSON_3 556 -#define OPPONENT_JACKSON_4 557 -#define OPPONENT_JACKSON_5 558 -#define OPPONENT_CATHERINE_1 559 -#define OPPONENT_JENNA 560 -#define OPPONENT_SOPHIA 561 -#define OPPONENT_CATHERINE_2 562 -#define OPPONENT_CATHERINE_3 563 -#define OPPONENT_CATHERINE_4 564 -#define OPPONENT_CATHERINE_5 565 -#define OPPONENT_JULIO 566 -#define OPPONENT_GRUNT_27 567 -#define OPPONENT_GRUNT_28 568 -#define OPPONENT_GRUNT_29 569 -#define OPPONENT_GRUNT_30 570 -#define OPPONENT_MARC 571 -#define OPPONENT_BRENDEN 572 -#define OPPONENT_LILITH 573 -#define OPPONENT_CRISTIAN 574 -#define OPPONENT_SYLVIA 575 -#define OPPONENT_LEONARDO 576 -#define OPPONENT_ATHENA 577 -#define OPPONENT_HARRISON 578 -#define OPPONENT_GRUNT_31 579 -#define OPPONENT_CLARENCE 580 -#define OPPONENT_TERRY 581 -#define OPPONENT_NATE 582 -#define OPPONENT_KATHLEEN 583 -#define OPPONENT_CLIFFORD 584 -#define OPPONENT_NICHOLAS 585 -#define OPPONENT_GRUNT_32 586 -#define OPPONENT_GRUNT_33 587 -#define OPPONENT_GRUNT_34 588 -#define OPPONENT_GRUNT_35 589 -#define OPPONENT_GRUNT_36 590 -#define OPPONENT_MACEY 591 -#define OPPONENT_BRENDAN_10 592 -#define OPPONENT_BRENDAN_11 593 -#define OPPONENT_PAXTON 594 -#define OPPONENT_ISABELLA 595 -#define OPPONENT_GRUNT_37 596 -#define OPPONENT_TABITHA_2 597 -#define OPPONENT_JONATHAN 598 -#define OPPONENT_BRENDAN_12 599 -#define OPPONENT_MAY_10 600 -#define OPPONENT_MAXIE_1 601 -#define OPPONENT_MAXIE_2 602 -#define OPPONENT_TIANA 603 -#define OPPONENT_HALEY_1 604 -#define OPPONENT_JANICE 605 -#define OPPONENT_VIVI 606 -#define OPPONENT_HALEY_2 607 -#define OPPONENT_HALEY_3 608 -#define OPPONENT_HALEY_4 609 -#define OPPONENT_HALEY_5 610 -#define OPPONENT_SALLY 611 -#define OPPONENT_ROBIN 612 -#define OPPONENT_ANDREA 613 -#define OPPONENT_CRISSY 614 -#define OPPONENT_RICK 615 -#define OPPONENT_LYLE 616 -#define OPPONENT_JOSE 617 -#define OPPONENT_DOUG 618 -#define OPPONENT_GREG 619 -#define OPPONENT_KENT 620 -#define OPPONENT_JAMES_1 621 -#define OPPONENT_JAMES_2 622 -#define OPPONENT_JAMES_3 623 -#define OPPONENT_JAMES_4 624 -#define OPPONENT_JAMES_5 625 -#define OPPONENT_BRICE 626 -#define OPPONENT_TRENT_1 627 -#define OPPONENT_LENNY 628 -#define OPPONENT_LUCAS_1 629 -#define OPPONENT_ALAN 630 -#define OPPONENT_CLARK 631 -#define OPPONENT_ERIC 632 -#define OPPONENT_LUCAS_2 633 -#define OPPONENT_MIKE_1 634 -#define OPPONENT_MIKE_2 635 -#define OPPONENT_TRENT_2 636 -#define OPPONENT_TRENT_3 637 -#define OPPONENT_TRENT_4 638 -#define OPPONENT_TRENT_5 639 -#define OPPONENT_DEZ_AND_LUKE 640 -#define OPPONENT_LEA_AND_JED 641 -#define OPPONENT_KIRA_AND_DAN_1 642 -#define OPPONENT_KIRA_AND_DAN_2 643 -#define OPPONENT_KIRA_AND_DAN_3 644 -#define OPPONENT_KIRA_AND_DAN_4 645 -#define OPPONENT_KIRA_AND_DAN_5 646 -#define OPPONENT_JOHANNA 647 -#define OPPONENT_GERALD 648 -#define OPPONENT_VIVIAN 649 -#define OPPONENT_DANIELLE 650 -#define OPPONENT_HIDEO 651 -#define OPPONENT_KEIGO 652 -#define OPPONENT_RILEY 653 -#define OPPONENT_FLINT 654 -#define OPPONENT_ASHLEY 655 -#define OPPONENT_WALLY_2 656 -#define OPPONENT_WALLY_3 657 -#define OPPONENT_WALLY_4 658 -#define OPPONENT_WALLY_5 659 -#define OPPONENT_WALLY_6 660 -#define OPPONENT_BRENDAN_13 661 -#define OPPONENT_BRENDAN_14 662 -#define OPPONENT_BRENDAN_15 663 -#define OPPONENT_MAY_11 664 -#define OPPONENT_MAY_12 665 -#define OPPONENT_MAY_13 666 -#define OPPONENT_JONAH 667 -#define OPPONENT_HENRY 668 -#define OPPONENT_ROGER 669 -#define OPPONENT_ALEXA 670 -#define OPPONENT_RUBEN 671 -#define OPPONENT_KOJI_1 672 -#define OPPONENT_WAYNE 673 -#define OPPONENT_AIDAN 674 -#define OPPONENT_REED 675 -#define OPPONENT_TISHA 676 -#define OPPONENT_TORI_AND_TIA 677 -#define OPPONENT_KIM_AND_IRIS 678 -#define OPPONENT_TYRA_AND_IVY 679 -#define OPPONENT_MEL_AND_PAUL 680 -#define OPPONENT_JOHN_AND_JAY_1 681 -#define OPPONENT_JOHN_AND_JAY_2 682 -#define OPPONENT_JOHN_AND_JAY_3 683 -#define OPPONENT_JOHN_AND_JAY_4 684 -#define OPPONENT_JOHN_AND_JAY_5 685 -#define OPPONENT_RELI_AND_IAN 686 -#define OPPONENT_LILA_AND_ROY_1 687 -#define OPPONENT_LILA_AND_ROY_2 688 -#define OPPONENT_LILA_AND_ROY_3 689 -#define OPPONENT_LILA_AND_ROY_4 690 -#define OPPONENT_LILA_AND_ROY_5 691 -#define OPPONENT_LISA_AND_RAY 692 -#define OPPONENT_CHRIS 693 -#define OPPONENT_DAWSON 694 -#define OPPONENT_SARAH 695 -#define OPPONENT_DARIAN 696 -#define OPPONENT_HAILEY 697 -#define OPPONENT_CHANDLER 698 -#define OPPONENT_KALEB 699 -#define OPPONENT_JOSEPH 700 -#define OPPONENT_ALYSSA 701 -#define OPPONENT_MARCOS 702 -#define OPPONENT_RHETT 703 -#define OPPONENT_TYRON 704 -#define OPPONENT_CELINA 705 -#define OPPONENT_BIANCA 706 -#define OPPONENT_HAYDEN 707 -#define OPPONENT_SOPHIE 708 -#define OPPONENT_COBY 709 -#define OPPONENT_LAWRENCE 710 -#define OPPONENT_WYATT 711 -#define OPPONENT_ANGELINA 712 -#define OPPONENT_KAI 713 -#define OPPONENT_CHARLOTTE 714 -#define OPPONENT_DEANDRE 715 -#define OPPONENT_GRUNT_38 716 -#define OPPONENT_GRUNT_39 717 -#define OPPONENT_GRUNT_40 718 -#define OPPONENT_GRUNT_41 719 -#define OPPONENT_GRUNT_42 720 -#define OPPONENT_GRUNT_43 721 -#define OPPONENT_GRUNT_44 722 -#define OPPONENT_GRUNT_45 723 -#define OPPONENT_GRUNT_46 724 -#define OPPONENT_GRUNT_47 725 -#define OPPONENT_GRUNT_48 726 -#define OPPONENT_GRUNT_49 727 -#define OPPONENT_GRUNT_50 728 -#define OPPONENT_GRUNT_51 729 -#define OPPONENT_GRUNT_52 730 -#define OPPONENT_GRUNT_53 731 -#define OPPONENT_TABITHA_3 732 -#define OPPONENT_DARCY 733 -#define OPPONENT_MAXIE_3 734 -#define OPPONENT_PETE 735 -#define OPPONENT_ISABELLE 736 -#define OPPONENT_ANDRES_1 737 -#define OPPONENT_JOSUE 738 -#define OPPONENT_CAMRON 739 -#define OPPONENT_CORY_1 740 -#define OPPONENT_CAROLINA 741 -#define OPPONENT_ELIJAH 742 -#define OPPONENT_CELIA 743 -#define OPPONENT_BRYAN 744 -#define OPPONENT_BRANDEN 745 -#define OPPONENT_BRYANT 746 -#define OPPONENT_SHAYLA 747 -#define OPPONENT_KYRA 748 -#define OPPONENT_JAIDEN 749 -#define OPPONENT_ALIX 750 -#define OPPONENT_HELENE 751 -#define OPPONENT_MARLENE 752 -#define OPPONENT_DEVAN 753 -#define OPPONENT_JOHNSON 754 -#define OPPONENT_MELINA 755 -#define OPPONENT_BRANDI 756 -#define OPPONENT_AISHA 757 -#define OPPONENT_MAKAYLA 758 -#define OPPONENT_FABIAN 759 -#define OPPONENT_DAYTON 760 -#define OPPONENT_RACHEL 761 -#define OPPONENT_LEONEL 762 -#define OPPONENT_CALLIE 763 -#define OPPONENT_CALE 764 -#define OPPONENT_MYLES 765 -#define OPPONENT_PAT 766 -#define OPPONENT_CRISTIN_1 767 -#define OPPONENT_MAY_14 768 -#define OPPONENT_MAY_15 769 -#define OPPONENT_ROXANNE_2 770 -#define OPPONENT_ROXANNE_3 771 -#define OPPONENT_ROXANNE_4 772 -#define OPPONENT_ROXANNE_5 773 -#define OPPONENT_BRAWLY_2 774 -#define OPPONENT_BRAWLY_3 775 -#define OPPONENT_BRAWLY_4 776 -#define OPPONENT_BRAWLY_5 777 -#define OPPONENT_WATTSON_2 778 -#define OPPONENT_WATTSON_3 779 -#define OPPONENT_WATTSON_4 780 -#define OPPONENT_WATTSON_5 781 -#define OPPONENT_FLANNERY_2 782 -#define OPPONENT_FLANNERY_3 783 -#define OPPONENT_FLANNERY_4 784 -#define OPPONENT_FLANNERY_5 785 -#define OPPONENT_NORMAN_2 786 -#define OPPONENT_NORMAN_3 787 -#define OPPONENT_NORMAN_4 788 -#define OPPONENT_NORMAN_5 789 -#define OPPONENT_WINONA_2 790 -#define OPPONENT_WINONA_3 791 -#define OPPONENT_WINONA_4 792 -#define OPPONENT_WINONA_5 793 -#define OPPONENT_TATE_AND_LIZA_2 794 -#define OPPONENT_TATE_AND_LIZA_3 795 -#define OPPONENT_TATE_AND_LIZA_4 796 -#define OPPONENT_TATE_AND_LIZA_5 797 -#define OPPONENT_JUAN_2 798 -#define OPPONENT_JUAN_3 799 -#define OPPONENT_JUAN_4 800 -#define OPPONENT_JUAN_5 801 -#define OPPONENT_ANGELO 802 -#define OPPONENT_DARIUS 803 -#define OPPONENT_STEVEN 804 -#define OPPONENT_ANABEL 805 -#define OPPONENT_TUCKER 806 -#define OPPONENT_SPENSER 807 -#define OPPONENT_GRETA 808 -#define OPPONENT_NOLAND 809 -#define OPPONENT_LUCY 810 -#define OPPONENT_BRANDON 811 -#define OPPONENT_ANDRES_2 812 -#define OPPONENT_ANDRES_3 813 -#define OPPONENT_ANDRES_4 814 -#define OPPONENT_ANDRES_5 815 -#define OPPONENT_CORY_2 816 -#define OPPONENT_CORY_3 817 -#define OPPONENT_CORY_4 818 -#define OPPONENT_CORY_5 819 -#define OPPONENT_PABLO_2 820 -#define OPPONENT_PABLO_3 821 -#define OPPONENT_PABLO_4 822 -#define OPPONENT_PABLO_5 823 -#define OPPONENT_KOJI_2 824 -#define OPPONENT_KOJI_3 825 -#define OPPONENT_KOJI_4 826 -#define OPPONENT_KOJI_5 827 -#define OPPONENT_CRISTIN_2 828 -#define OPPONENT_CRISTIN_3 829 -#define OPPONENT_CRISTIN_4 830 -#define OPPONENT_CRISTIN_5 831 -#define OPPONENT_FERNANDO_2 832 -#define OPPONENT_FERNANDO_3 833 -#define OPPONENT_FERNANDO_4 834 -#define OPPONENT_FERNANDO_5 835 -#define OPPONENT_SAWYER_2 836 -#define OPPONENT_SAWYER_3 837 -#define OPPONENT_SAWYER_4 838 -#define OPPONENT_SAWYER_5 839 -#define OPPONENT_GABRIELLE_2 840 -#define OPPONENT_GABRIELLE_3 841 -#define OPPONENT_GABRIELLE_4 842 -#define OPPONENT_GABRIELLE_5 843 -#define OPPONENT_THALIA_2 844 -#define OPPONENT_THALIA_3 845 -#define OPPONENT_THALIA_4 846 -#define OPPONENT_THALIA_5 847 -#define OPPONENT_MARIELA 848 -#define OPPONENT_ALVARO 848 -#define OPPONENT_EVERETT 850 -#define OPPONENT_RED 851 -#define OPPONENT_LEAF 852 -#define OPPONENT_BRENDAN_16 853 -#define OPPONENT_MAY_16 854 +#define TRAINER_NONE 0 +#define TRAINER_SAWYER_1 1 +#define TRAINER_GRUNT_1 2 +#define TRAINER_GRUNT_2 3 +#define TRAINER_GRUNT_3 4 +#define TRAINER_GRUNT_4 5 +#define TRAINER_GRUNT_5 6 +#define TRAINER_GRUNT_6 7 +#define TRAINER_GRUNT_7 8 +#define TRAINER_GABRIELLE_1 9 +#define TRAINER_GRUNT_8 10 +#define TRAINER_MARCEL 11 +#define TRAINER_ALBERTO 12 +#define TRAINER_ED 13 +#define TRAINER_GRUNT_9 14 +#define TRAINER_DECLAN 15 +#define TRAINER_GRUNT_10 16 +#define TRAINER_GRUNT_11 17 +#define TRAINER_GRUNT_12 18 +#define TRAINER_GRUNT_13 19 +#define TRAINER_GRUNT_14 20 +#define TRAINER_GRUNT_15 21 +#define TRAINER_GRUNT_16 22 +#define TRAINER_GRUNT_17 23 +#define TRAINER_GRUNT_18 24 +#define TRAINER_GRUNT_19 25 +#define TRAINER_GRUNT_20 26 +#define TRAINER_GRUNT_21 27 +#define TRAINER_GRUNT_22 28 +#define TRAINER_FREDRICK 29 +#define TRAINER_MATT 30 +#define TRAINER_ZANDER 31 +#define TRAINER_SHELLY_1 32 +#define TRAINER_SHELLY_2 33 +#define TRAINER_ARCHIE 34 +#define TRAINER_LEAH 35 +#define TRAINER_DAISY 36 +#define TRAINER_ROSE_1 37 +#define TRAINER_FELIX 38 +#define TRAINER_VIOLET 39 +#define TRAINER_ROSE_2 40 +#define TRAINER_ROSE_3 41 +#define TRAINER_ROSE_4 42 +#define TRAINER_ROSE_5 43 +#define TRAINER_DUSTY_1 44 +#define TRAINER_CHIP 45 +#define TRAINER_FOSTER 46 +#define TRAINER_DUSTY_2 47 +#define TRAINER_DUSTY_3 48 +#define TRAINER_DUSTY_4 49 +#define TRAINER_DUSTY_5 50 +#define TRAINER_GABBY_AND_TY_1 51 +#define TRAINER_GABBY_AND_TY_2 52 +#define TRAINER_GABBY_AND_TY_3 53 +#define TRAINER_GABBY_AND_TY_4 54 +#define TRAINER_GABBY_AND_TY_5 55 +#define TRAINER_GABBY_AND_TY_6 56 +#define TRAINER_LOLA_1 57 +#define TRAINER_AUSTINA 58 +#define TRAINER_GWEN 59 +#define TRAINER_LOLA_2 60 +#define TRAINER_LOLA_3 61 +#define TRAINER_LOLA_4 62 +#define TRAINER_LOLA_5 63 +#define TRAINER_RICKY_1 64 +#define TRAINER_SIMON 65 +#define TRAINER_CHARLIE 66 +#define TRAINER_RICKY_2 67 +#define TRAINER_RICKY_3 68 +#define TRAINER_RICKY_4 69 +#define TRAINER_RICKY_5 70 +#define TRAINER_RANDALL 71 +#define TRAINER_PARKER 72 +#define TRAINER_GEORGE 73 +#define TRAINER_BERKE 74 +#define TRAINER_BRAXTON 75 +#define TRAINER_VINCENT 76 +#define TRAINER_LEROY 77 +#define TRAINER_WILTON_1 78 +#define TRAINER_EDGAR 79 +#define TRAINER_ALBERT 80 +#define TRAINER_SAMUEL 81 +#define TRAINER_VITO 82 +#define TRAINER_OWEN 83 +#define TRAINER_WILTON_2 84 +#define TRAINER_WILTON_3 85 +#define TRAINER_WILTON_4 86 +#define TRAINER_WILTON_5 87 +#define TRAINER_WARREN 88 +#define TRAINER_MARY 89 +#define TRAINER_ALEXIA 90 +#define TRAINER_JODY 91 +#define TRAINER_WENDY 92 +#define TRAINER_KEIRA 93 +#define TRAINER_BROOKE_1 94 +#define TRAINER_JENNIFER 95 +#define TRAINER_HOPE 96 +#define TRAINER_SHANNON 97 +#define TRAINER_MICHELLE 98 +#define TRAINER_CAROLINE 99 +#define TRAINER_JULIE 100 +#define TRAINER_BROOKE_2 101 +#define TRAINER_BROOKE_3 102 +#define TRAINER_BROOKE_4 103 +#define TRAINER_BROOKE_5 104 +#define TRAINER_PATRICIA 105 +#define TRAINER_KINDRA 106 +#define TRAINER_TAMMY 107 +#define TRAINER_VALERIE_1 108 +#define TRAINER_TASHA 109 +#define TRAINER_VALERIE_2 110 +#define TRAINER_VALERIE_3 111 +#define TRAINER_VALERIE_4 112 +#define TRAINER_VALERIE_5 113 +#define TRAINER_CINDY_1 114 +#define TRAINER_DAPHNE 115 +#define TRAINER_GRUNT_23 116 +#define TRAINER_CINDY_2 117 +#define TRAINER_BRIANNA 118 +#define TRAINER_NAOMI 119 +#define TRAINER_CINDY_3 120 +#define TRAINER_CINDY_4 121 +#define TRAINER_CINDY_5 122 +#define TRAINER_CINDY_6 123 +#define TRAINER_MELISSA 124 +#define TRAINER_SHEILA 125 +#define TRAINER_SHIRLEY 126 +#define TRAINER_JESSICA_1 127 +#define TRAINER_CONNIE 128 +#define TRAINER_BRIDGET 129 +#define TRAINER_OLIVIA 130 +#define TRAINER_TIFFANY 131 +#define TRAINER_JESSICA_2 132 +#define TRAINER_JESSICA_3 133 +#define TRAINER_JESSICA_4 134 +#define TRAINER_JESSICA_5 135 +#define TRAINER_WINSTON_1 136 +#define TRAINER_MOLLIE 137 +#define TRAINER_GARRET 138 +#define TRAINER_WINSTON_2 139 +#define TRAINER_WINSTON_3 140 +#define TRAINER_WINSTON_4 141 +#define TRAINER_WINSTON_5 142 +#define TRAINER_STEVE_1 143 +#define TRAINER_THALIA_1 144 +#define TRAINER_MARK 145 +#define TRAINER_GRUNT_24 146 +#define TRAINER_STEVE_2 147 +#define TRAINER_STEVE_3 148 +#define TRAINER_STEVE_4 149 +#define TRAINER_STEVE_5 150 +#define TRAINER_LUIS 151 +#define TRAINER_DOMINIK 152 +#define TRAINER_DOUGLAS 153 +#define TRAINER_DARRIN 154 +#define TRAINER_TONY_1 155 +#define TRAINER_JEROME 156 +#define TRAINER_MATTHEW 157 +#define TRAINER_DAVID 158 +#define TRAINER_SPENCER 159 +#define TRAINER_ROLAND 160 +#define TRAINER_NOLEN 161 +#define TRAINER_STAN 162 +#define TRAINER_BARRY 163 +#define TRAINER_DEAN 164 +#define TRAINER_RODNEY 165 +#define TRAINER_RICHARD 166 +#define TRAINER_HERMAN 167 +#define TRAINER_SANTIAGO 168 +#define TRAINER_GILBERT 169 +#define TRAINER_FRANKLIN 170 +#define TRAINER_KEVIN 171 +#define TRAINER_JACK 172 +#define TRAINER_DUDLEY 173 +#define TRAINER_CHAD 174 +#define TRAINER_TONY_2 175 +#define TRAINER_TONY_3 176 +#define TRAINER_TONY_4 177 +#define TRAINER_TONY_5 178 +#define TRAINER_TAKAO 179 +#define TRAINER_HITOSHI 180 +#define TRAINER_KIYO 181 +#define TRAINER_KOICHI 182 +#define TRAINER_NOB_1 183 +#define TRAINER_NOB_2 184 +#define TRAINER_NOB_3 185 +#define TRAINER_NOB_4 186 +#define TRAINER_NOB_5 187 +#define TRAINER_YUJI 188 +#define TRAINER_DAISUKE 189 +#define TRAINER_ATSUSHI 190 +#define TRAINER_KIRK 191 +#define TRAINER_GRUNT_25 192 +#define TRAINER_GRUNT_26 193 +#define TRAINER_SHAWN 194 +#define TRAINER_FERNANDO_1 195 +#define TRAINER_DALTON_1 196 +#define TRAINER_DALTON_2 197 +#define TRAINER_DALTON_3 198 +#define TRAINER_DALTON_4 199 +#define TRAINER_DALTON_5 200 +#define TRAINER_COLE 201 +#define TRAINER_JEFF 202 +#define TRAINER_AXLE 203 +#define TRAINER_JACE 204 +#define TRAINER_KEEGAN 205 +#define TRAINER_BERNIE_1 206 +#define TRAINER_BERNIE_2 207 +#define TRAINER_BERNIE_3 208 +#define TRAINER_BERNIE_4 209 +#define TRAINER_BERNIE_5 210 +#define TRAINER_DREW 211 +#define TRAINER_BEAU 212 +#define TRAINER_LARRY 213 +#define TRAINER_SHANE 214 +#define TRAINER_JUSTIN 215 +#define TRAINER_ETHAN_1 216 +#define TRAINER_AUTUMN 217 +#define TRAINER_TRAVIS 218 +#define TRAINER_ETHAN_2 219 +#define TRAINER_ETHAN_3 220 +#define TRAINER_ETHAN_4 221 +#define TRAINER_ETHAN_5 222 +#define TRAINER_BRENT 223 +#define TRAINER_DONALD 224 +#define TRAINER_TAYLOR 225 +#define TRAINER_JEFFREY_1 226 +#define TRAINER_DEREK 227 +#define TRAINER_JEFFREY_2 228 +#define TRAINER_JEFFREY_3 229 +#define TRAINER_JEFFREY_4 230 +#define TRAINER_JEFFREY_5 231 +#define TRAINER_EDWARD 232 +#define TRAINER_PRESTON 233 +#define TRAINER_VIRGIL 234 +#define TRAINER_BLAKE 235 +#define TRAINER_WILLIAM 236 +#define TRAINER_JOSHUA 237 +#define TRAINER_CAMERON_1 238 +#define TRAINER_CAMERON_2 239 +#define TRAINER_CAMERON_3 240 +#define TRAINER_CAMERON_4 241 +#define TRAINER_CAMERON_5 242 +#define TRAINER_JACLYN 243 +#define TRAINER_HANNAH 244 +#define TRAINER_SAMANTHA 245 +#define TRAINER_MAURA 246 +#define TRAINER_KAYLA 247 +#define TRAINER_ALEXIS 248 +#define TRAINER_JACKI_1 249 +#define TRAINER_JACKI_2 250 +#define TRAINER_JACKI_3 251 +#define TRAINER_JACKI_4 252 +#define TRAINER_JACKI_5 253 +#define TRAINER_WALTER_1 254 +#define TRAINER_MICAH 255 +#define TRAINER_THOMAS 256 +#define TRAINER_WALTER_2 257 +#define TRAINER_WALTER_3 258 +#define TRAINER_WALTER_4 259 +#define TRAINER_WALTER_5 260 +#define TRAINER_SIDNEY 261 +#define TRAINER_PHOEBE 262 +#define TRAINER_GLACIA 263 +#define TRAINER_DRAKE 264 +#define TRAINER_ROXANNE_1 265 +#define TRAINER_BRAWLY_1 266 +#define TRAINER_WATTSON_1 267 +#define TRAINER_FLANNERY_1 268 +#define TRAINER_NORMAN_1 269 +#define TRAINER_WINONA_1 270 +#define TRAINER_TATE_AND_LIZA_1 271 +#define TRAINER_JUAN_1 272 +#define TRAINER_JERRY_1 273 +#define TRAINER_TED 274 +#define TRAINER_PAUL 275 +#define TRAINER_JERRY_2 276 +#define TRAINER_JERRY_3 277 +#define TRAINER_JERRY_4 278 +#define TRAINER_JERRY_5 279 +#define TRAINER_KAREN_1 280 +#define TRAINER_GEORGIA 281 +#define TRAINER_KAREN_2 282 +#define TRAINER_KAREN_3 283 +#define TRAINER_KAREN_4 284 +#define TRAINER_KAREN_5 285 +#define TRAINER_KATE_AND_JOY 286 +#define TRAINER_ANNA_AND_MEG_1 287 +#define TRAINER_ANNA_AND_MEG_2 288 +#define TRAINER_ANNA_AND_MEG_3 289 +#define TRAINER_ANNA_AND_MEG_4 290 +#define TRAINER_ANNA_AND_MEG_5 291 +#define TRAINER_VICTOR 292 +#define TRAINER_MIGUEL_1 293 +#define TRAINER_COLTON 294 +#define TRAINER_MIGUEL_2 295 +#define TRAINER_MIGUEL_3 296 +#define TRAINER_MIGUEL_4 297 +#define TRAINER_MIGUEL_5 298 +#define TRAINER_VICTORIA 299 +#define TRAINER_VANESSA 300 +#define TRAINER_BETHANY 301 +#define TRAINER_ISABEL_1 302 +#define TRAINER_ISABEL_2 303 +#define TRAINER_ISABEL_3 304 +#define TRAINER_ISABEL_4 305 +#define TRAINER_ISABEL_5 306 +#define TRAINER_TIMOTHY_1 307 +#define TRAINER_TIMOTHY_2 308 +#define TRAINER_TIMOTHY_3 309 +#define TRAINER_TIMOTHY_4 310 +#define TRAINER_TIMOTHY_5 311 +#define TRAINER_VICKY 312 +#define TRAINER_SHELBY_1 313 +#define TRAINER_SHELBY_2 314 +#define TRAINER_SHELBY_3 315 +#define TRAINER_SHELBY_4 316 +#define TRAINER_SHELBY_5 317 +#define TRAINER_CALVIN_1 318 +#define TRAINER_BILLY 319 +#define TRAINER_JOSH 320 +#define TRAINER_TOMMY 321 +#define TRAINER_JOEY 322 +#define TRAINER_BEN 323 +#define TRAINER_QUINCY 324 +#define TRAINER_KATELYNN 325 +#define TRAINER_JAYLEN 326 +#define TRAINER_DILLON 327 +#define TRAINER_CALVIN_2 328 +#define TRAINER_CALVIN_3 329 +#define TRAINER_CALVIN_4 330 +#define TRAINER_CALVIN_5 331 +#define TRAINER_EDDIE 332 +#define TRAINER_ALLEN 333 +#define TRAINER_TIMMY 334 +#define TRAINER_WALLACE 335 +#define TRAINER_ANDREW 336 +#define TRAINER_IVAN 337 +#define TRAINER_CLAUDE 338 +#define TRAINER_ELLIOT_1 339 +#define TRAINER_NED 340 +#define TRAINER_DALE 341 +#define TRAINER_NOLAN 342 +#define TRAINER_BARNY 343 +#define TRAINER_WADE 344 +#define TRAINER_CARTER 345 +#define TRAINER_ELLIOT_2 346 +#define TRAINER_ELLIOT_3 347 +#define TRAINER_ELLIOT_4 348 +#define TRAINER_ELLIOT_5 349 +#define TRAINER_RONALD 350 +#define TRAINER_JACOB 351 +#define TRAINER_ANTHONY 352 +#define TRAINER_BENJAMIN_1 353 +#define TRAINER_BENJAMIN_2 354 +#define TRAINER_BENJAMIN_3 355 +#define TRAINER_BENJAMIN_4 356 +#define TRAINER_BENJAMIN_5 357 +#define TRAINER_ABIGAIL_1 358 +#define TRAINER_JASMINE 359 +#define TRAINER_ABIGAIL_2 360 +#define TRAINER_ABIGAIL_3 361 +#define TRAINER_ABIGAIL_4 362 +#define TRAINER_ABIGAIL_5 363 +#define TRAINER_DYLAN_1 364 +#define TRAINER_DYLAN_2 365 +#define TRAINER_DYLAN_3 366 +#define TRAINER_DYLAN_4 367 +#define TRAINER_DYLAN_5 368 +#define TRAINER_MARIA_1 369 +#define TRAINER_MARIA_2 370 +#define TRAINER_MARIA_3 371 +#define TRAINER_MARIA_4 372 +#define TRAINER_MARIA_5 373 +#define TRAINER_CAMDEN 374 +#define TRAINER_DEMETRIUS 375 +#define TRAINER_ISAIAH_1 376 +#define TRAINER_PABLO_1 377 +#define TRAINER_CHASE 378 +#define TRAINER_ISAIAH_2 379 +#define TRAINER_ISAIAH_3 380 +#define TRAINER_ISAIAH_4 381 +#define TRAINER_ISAIAH_5 382 +#define TRAINER_ISOBEL 383 +#define TRAINER_DONNY 384 +#define TRAINER_TALIA 385 +#define TRAINER_KATELYN_1 386 +#define TRAINER_ALLISON 387 +#define TRAINER_KATELYN_2 388 +#define TRAINER_KATELYN_3 389 +#define TRAINER_KATELYN_4 390 +#define TRAINER_KATELYN_5 391 +#define TRAINER_NICOLAS_1 392 +#define TRAINER_NICOLAS_2 393 +#define TRAINER_NICOLAS_3 394 +#define TRAINER_NICOLAS_4 395 +#define TRAINER_NICOLAS_5 396 +#define TRAINER_AARON 397 +#define TRAINER_PERRY 398 +#define TRAINER_HUGH 399 +#define TRAINER_PHIL 400 +#define TRAINER_JARED 401 +#define TRAINER_HUMBERTO 402 +#define TRAINER_PRESLEY 403 +#define TRAINER_EDWARDO 404 +#define TRAINER_COLIN 405 +#define TRAINER_ROBERT_1 406 +#define TRAINER_BENNY 407 +#define TRAINER_CHESTER 408 +#define TRAINER_ROBERT_2 409 +#define TRAINER_ROBERT_3 410 +#define TRAINER_ROBERT_4 411 +#define TRAINER_ROBERT_5 412 +#define TRAINER_ALEX 413 +#define TRAINER_BECK 414 +#define TRAINER_YASU 415 +#define TRAINER_TAKASHI 416 +#define TRAINER_DIANNE 417 +#define TRAINER_JANI 418 +#define TRAINER_LAO_1 419 +#define TRAINER_LUNG 420 +#define TRAINER_LAO_2 421 +#define TRAINER_LAO_3 422 +#define TRAINER_LAO_4 423 +#define TRAINER_LAO_5 424 +#define TRAINER_JOCELYN 425 +#define TRAINER_LAURA 426 +#define TRAINER_CYNDY_1 427 +#define TRAINER_CORA 428 +#define TRAINER_PAULA 429 +#define TRAINER_CYNDY_2 430 +#define TRAINER_CYNDY_3 431 +#define TRAINER_CYNDY_4 432 +#define TRAINER_CYNDY_5 433 +#define TRAINER_MADELINE_1 434 +#define TRAINER_CLARISSA 435 +#define TRAINER_ANGELICA 436 +#define TRAINER_MADELINE_2 437 +#define TRAINER_MADELINE_3 438 +#define TRAINER_MADELINE_4 439 +#define TRAINER_MADELINE_5 440 +#define TRAINER_BEVERLY 441 +#define TRAINER_IMANI 442 +#define TRAINER_KYLA 443 +#define TRAINER_DENISE 444 +#define TRAINER_BETH 445 +#define TRAINER_TARA 446 +#define TRAINER_MISSY 447 +#define TRAINER_ALICE 448 +#define TRAINER_JENNY_1 449 +#define TRAINER_GRACE 450 +#define TRAINER_TANYA 451 +#define TRAINER_SHARON 452 +#define TRAINER_NIKKI 453 +#define TRAINER_BRENDA 454 +#define TRAINER_KATIE 455 +#define TRAINER_SUSIE 456 +#define TRAINER_KARA 457 +#define TRAINER_DANA 458 +#define TRAINER_SIENNA 459 +#define TRAINER_DEBRA 460 +#define TRAINER_LINDA 461 +#define TRAINER_KAYLEE 462 +#define TRAINER_LAUREL 463 +#define TRAINER_CARLEE 464 +#define TRAINER_JENNY_2 465 +#define TRAINER_JENNY_3 466 +#define TRAINER_JENNY_4 467 +#define TRAINER_JENNY_5 468 +#define TRAINER_HEIDI 469 +#define TRAINER_BECKY 470 +#define TRAINER_CAROL 471 +#define TRAINER_NANCY 472 +#define TRAINER_MARTHA 473 +#define TRAINER_DIANA_1 474 +#define TRAINER_CEDRIC 475 +#define TRAINER_IRENE 476 +#define TRAINER_DIANA_2 477 +#define TRAINER_DIANA_3 478 +#define TRAINER_DIANA_4 479 +#define TRAINER_DIANA_5 480 +#define TRAINER_AMY_AND_LIV_1 481 +#define TRAINER_AMY_AND_LIV_2 482 +#define TRAINER_GINA_AND_MIA_1 483 +#define TRAINER_MIU_AND_YUKI 484 +#define TRAINER_AMY_AND_LIV_3 485 +#define TRAINER_GINA_AND_MIA_2 486 +#define TRAINER_AMY_AND_LIV_4 487 +#define TRAINER_AMY_AND_LIV_5 488 +#define TRAINER_AMY_AND_LIV_6 489 +#define TRAINER_HUEY 490 +#define TRAINER_EDMOND 491 +#define TRAINER_ERNEST_1 492 +#define TRAINER_DWAYNE 493 +#define TRAINER_PHILLIP 494 +#define TRAINER_LEONARD 495 +#define TRAINER_DUNCAN 496 +#define TRAINER_ERNEST_2 497 +#define TRAINER_ERNEST_3 498 +#define TRAINER_ERNEST_4 499 +#define TRAINER_ERNEST_5 500 +#define TRAINER_ELI 501 +#define TRAINER_ANNIKA 502 +#define TRAINER_JAZMYN 503 +#define TRAINER_JONAS 504 +#define TRAINER_KAYLEY 505 +#define TRAINER_AURON 506 +#define TRAINER_KELVIN 507 +#define TRAINER_MARLEY 508 +#define TRAINER_REYNA 509 +#define TRAINER_HUDSON 510 +#define TRAINER_CONOR 511 +#define TRAINER_EDWIN_1 512 +#define TRAINER_HECTOR 513 +#define TRAINER_TABITHA_1 514 +#define TRAINER_EDWIN_2 515 +#define TRAINER_EDWIN_3 516 +#define TRAINER_EDWIN_4 517 +#define TRAINER_EDWIN_5 518 +#define TRAINER_WALLY_1 519 +#define TRAINER_BRENDAN_1 520 +#define TRAINER_BRENDAN_2 521 +#define TRAINER_BRENDAN_3 522 +#define TRAINER_BRENDAN_4 523 +#define TRAINER_BRENDAN_5 524 +#define TRAINER_BRENDAN_6 525 +#define TRAINER_BRENDAN_7 526 +#define TRAINER_BRENDAN_8 527 +#define TRAINER_BRENDAN_9 528 +#define TRAINER_MAY_1 529 +#define TRAINER_MAY_2 530 +#define TRAINER_MAY_3 531 +#define TRAINER_MAY_4 532 +#define TRAINER_MAY_5 533 +#define TRAINER_MAY_6 534 +#define TRAINER_MAY_7 535 +#define TRAINER_MAY_8 536 +#define TRAINER_MAY_9 537 +#define TRAINER_ISAAC_1 538 +#define TRAINER_DAVIS 539 +#define TRAINER_MITCHELL 540 +#define TRAINER_ISAAC_2 541 +#define TRAINER_ISAAC_3 542 +#define TRAINER_ISAAC_4 543 +#define TRAINER_ISAAC_5 544 +#define TRAINER_LYDIA_1 545 +#define TRAINER_HALLE 546 +#define TRAINER_GARRISON 547 +#define TRAINER_LYDIA_2 548 +#define TRAINER_LYDIA_3 549 +#define TRAINER_LYDIA_4 550 +#define TRAINER_LYDIA_5 551 +#define TRAINER_JACKSON_1 552 +#define TRAINER_LORENZO 553 +#define TRAINER_SEBASTIAN 554 +#define TRAINER_JACKSON_2 555 +#define TRAINER_JACKSON_3 556 +#define TRAINER_JACKSON_4 557 +#define TRAINER_JACKSON_5 558 +#define TRAINER_CATHERINE_1 559 +#define TRAINER_JENNA 560 +#define TRAINER_SOPHIA 561 +#define TRAINER_CATHERINE_2 562 +#define TRAINER_CATHERINE_3 563 +#define TRAINER_CATHERINE_4 564 +#define TRAINER_CATHERINE_5 565 +#define TRAINER_JULIO 566 +#define TRAINER_GRUNT_27 567 +#define TRAINER_GRUNT_28 568 +#define TRAINER_GRUNT_29 569 +#define TRAINER_GRUNT_30 570 +#define TRAINER_MARC 571 +#define TRAINER_BRENDEN 572 +#define TRAINER_LILITH 573 +#define TRAINER_CRISTIAN 574 +#define TRAINER_SYLVIA 575 +#define TRAINER_LEONARDO 576 +#define TRAINER_ATHENA 577 +#define TRAINER_HARRISON 578 +#define TRAINER_GRUNT_31 579 +#define TRAINER_CLARENCE 580 +#define TRAINER_TERRY 581 +#define TRAINER_NATE 582 +#define TRAINER_KATHLEEN 583 +#define TRAINER_CLIFFORD 584 +#define TRAINER_NICHOLAS 585 +#define TRAINER_GRUNT_32 586 +#define TRAINER_GRUNT_33 587 +#define TRAINER_GRUNT_34 588 +#define TRAINER_GRUNT_35 589 +#define TRAINER_GRUNT_36 590 +#define TRAINER_MACEY 591 +#define TRAINER_BRENDAN_10 592 +#define TRAINER_BRENDAN_11 593 +#define TRAINER_PAXTON 594 +#define TRAINER_ISABELLA 595 +#define TRAINER_GRUNT_37 596 +#define TRAINER_TABITHA_2 597 +#define TRAINER_JONATHAN 598 +#define TRAINER_BRENDAN_12 599 +#define TRAINER_MAY_10 600 +#define TRAINER_MAXIE_1 601 +#define TRAINER_MAXIE_2 602 +#define TRAINER_TIANA 603 +#define TRAINER_HALEY_1 604 +#define TRAINER_JANICE 605 +#define TRAINER_VIVI 606 +#define TRAINER_HALEY_2 607 +#define TRAINER_HALEY_3 608 +#define TRAINER_HALEY_4 609 +#define TRAINER_HALEY_5 610 +#define TRAINER_SALLY 611 +#define TRAINER_ROBIN 612 +#define TRAINER_ANDREA 613 +#define TRAINER_CRISSY 614 +#define TRAINER_RICK 615 +#define TRAINER_LYLE 616 +#define TRAINER_JOSE 617 +#define TRAINER_DOUG 618 +#define TRAINER_GREG 619 +#define TRAINER_KENT 620 +#define TRAINER_JAMES_1 621 +#define TRAINER_JAMES_2 622 +#define TRAINER_JAMES_3 623 +#define TRAINER_JAMES_4 624 +#define TRAINER_JAMES_5 625 +#define TRAINER_BRICE 626 +#define TRAINER_TRENT_1 627 +#define TRAINER_LENNY 628 +#define TRAINER_LUCAS_1 629 +#define TRAINER_ALAN 630 +#define TRAINER_CLARK 631 +#define TRAINER_ERIC 632 +#define TRAINER_LUCAS_2 633 +#define TRAINER_MIKE_1 634 +#define TRAINER_MIKE_2 635 +#define TRAINER_TRENT_2 636 +#define TRAINER_TRENT_3 637 +#define TRAINER_TRENT_4 638 +#define TRAINER_TRENT_5 639 +#define TRAINER_DEZ_AND_LUKE 640 +#define TRAINER_LEA_AND_JED 641 +#define TRAINER_KIRA_AND_DAN_1 642 +#define TRAINER_KIRA_AND_DAN_2 643 +#define TRAINER_KIRA_AND_DAN_3 644 +#define TRAINER_KIRA_AND_DAN_4 645 +#define TRAINER_KIRA_AND_DAN_5 646 +#define TRAINER_JOHANNA 647 +#define TRAINER_GERALD 648 +#define TRAINER_VIVIAN 649 +#define TRAINER_DANIELLE 650 +#define TRAINER_HIDEO 651 +#define TRAINER_KEIGO 652 +#define TRAINER_RILEY 653 +#define TRAINER_FLINT 654 +#define TRAINER_ASHLEY 655 +#define TRAINER_WALLY_2 656 +#define TRAINER_WALLY_3 657 +#define TRAINER_WALLY_4 658 +#define TRAINER_WALLY_5 659 +#define TRAINER_WALLY_6 660 +#define TRAINER_BRENDAN_13 661 +#define TRAINER_BRENDAN_14 662 +#define TRAINER_BRENDAN_15 663 +#define TRAINER_MAY_11 664 +#define TRAINER_MAY_12 665 +#define TRAINER_MAY_13 666 +#define TRAINER_JONAH 667 +#define TRAINER_HENRY 668 +#define TRAINER_ROGER 669 +#define TRAINER_ALEXA 670 +#define TRAINER_RUBEN 671 +#define TRAINER_KOJI_1 672 +#define TRAINER_WAYNE 673 +#define TRAINER_AIDAN 674 +#define TRAINER_REED 675 +#define TRAINER_TISHA 676 +#define TRAINER_TORI_AND_TIA 677 +#define TRAINER_KIM_AND_IRIS 678 +#define TRAINER_TYRA_AND_IVY 679 +#define TRAINER_MEL_AND_PAUL 680 +#define TRAINER_JOHN_AND_JAY_1 681 +#define TRAINER_JOHN_AND_JAY_2 682 +#define TRAINER_JOHN_AND_JAY_3 683 +#define TRAINER_JOHN_AND_JAY_4 684 +#define TRAINER_JOHN_AND_JAY_5 685 +#define TRAINER_RELI_AND_IAN 686 +#define TRAINER_LILA_AND_ROY_1 687 +#define TRAINER_LILA_AND_ROY_2 688 +#define TRAINER_LILA_AND_ROY_3 689 +#define TRAINER_LILA_AND_ROY_4 690 +#define TRAINER_LILA_AND_ROY_5 691 +#define TRAINER_LISA_AND_RAY 692 +#define TRAINER_CHRIS 693 +#define TRAINER_DAWSON 694 +#define TRAINER_SARAH 695 +#define TRAINER_DARIAN 696 +#define TRAINER_HAILEY 697 +#define TRAINER_CHANDLER 698 +#define TRAINER_KALEB 699 +#define TRAINER_JOSEPH 700 +#define TRAINER_ALYSSA 701 +#define TRAINER_MARCOS 702 +#define TRAINER_RHETT 703 +#define TRAINER_TYRON 704 +#define TRAINER_CELINA 705 +#define TRAINER_BIANCA 706 +#define TRAINER_HAYDEN 707 +#define TRAINER_SOPHIE 708 +#define TRAINER_COBY 709 +#define TRAINER_LAWRENCE 710 +#define TRAINER_WYATT 711 +#define TRAINER_ANGELINA 712 +#define TRAINER_KAI 713 +#define TRAINER_CHARLOTTE 714 +#define TRAINER_DEANDRE 715 +#define TRAINER_GRUNT_38 716 +#define TRAINER_GRUNT_39 717 +#define TRAINER_GRUNT_40 718 +#define TRAINER_GRUNT_41 719 +#define TRAINER_GRUNT_42 720 +#define TRAINER_GRUNT_43 721 +#define TRAINER_GRUNT_44 722 +#define TRAINER_GRUNT_45 723 +#define TRAINER_GRUNT_46 724 +#define TRAINER_GRUNT_47 725 +#define TRAINER_GRUNT_48 726 +#define TRAINER_GRUNT_49 727 +#define TRAINER_GRUNT_50 728 +#define TRAINER_GRUNT_51 729 +#define TRAINER_GRUNT_52 730 +#define TRAINER_GRUNT_53 731 +#define TRAINER_TABITHA_3 732 +#define TRAINER_DARCY 733 +#define TRAINER_MAXIE_3 734 +#define TRAINER_PETE 735 +#define TRAINER_ISABELLE 736 +#define TRAINER_ANDRES_1 737 +#define TRAINER_JOSUE 738 +#define TRAINER_CAMRON 739 +#define TRAINER_CORY_1 740 +#define TRAINER_CAROLINA 741 +#define TRAINER_ELIJAH 742 +#define TRAINER_CELIA 743 +#define TRAINER_BRYAN 744 +#define TRAINER_BRANDEN 745 +#define TRAINER_BRYANT 746 +#define TRAINER_SHAYLA 747 +#define TRAINER_KYRA 748 +#define TRAINER_JAIDEN 749 +#define TRAINER_ALIX 750 +#define TRAINER_HELENE 751 +#define TRAINER_MARLENE 752 +#define TRAINER_DEVAN 753 +#define TRAINER_JOHNSON 754 +#define TRAINER_MELINA 755 +#define TRAINER_BRANDI 756 +#define TRAINER_AISHA 757 +#define TRAINER_MAKAYLA 758 +#define TRAINER_FABIAN 759 +#define TRAINER_DAYTON 760 +#define TRAINER_RACHEL 761 +#define TRAINER_LEONEL 762 +#define TRAINER_CALLIE 763 +#define TRAINER_CALE 764 +#define TRAINER_MYLES 765 +#define TRAINER_PAT 766 +#define TRAINER_CRISTIN_1 767 +#define TRAINER_MAY_14 768 +#define TRAINER_MAY_15 769 +#define TRAINER_ROXANNE_2 770 +#define TRAINER_ROXANNE_3 771 +#define TRAINER_ROXANNE_4 772 +#define TRAINER_ROXANNE_5 773 +#define TRAINER_BRAWLY_2 774 +#define TRAINER_BRAWLY_3 775 +#define TRAINER_BRAWLY_4 776 +#define TRAINER_BRAWLY_5 777 +#define TRAINER_WATTSON_2 778 +#define TRAINER_WATTSON_3 779 +#define TRAINER_WATTSON_4 780 +#define TRAINER_WATTSON_5 781 +#define TRAINER_FLANNERY_2 782 +#define TRAINER_FLANNERY_3 783 +#define TRAINER_FLANNERY_4 784 +#define TRAINER_FLANNERY_5 785 +#define TRAINER_NORMAN_2 786 +#define TRAINER_NORMAN_3 787 +#define TRAINER_NORMAN_4 788 +#define TRAINER_NORMAN_5 789 +#define TRAINER_WINONA_2 790 +#define TRAINER_WINONA_3 791 +#define TRAINER_WINONA_4 792 +#define TRAINER_WINONA_5 793 +#define TRAINER_TATE_AND_LIZA_2 794 +#define TRAINER_TATE_AND_LIZA_3 795 +#define TRAINER_TATE_AND_LIZA_4 796 +#define TRAINER_TATE_AND_LIZA_5 797 +#define TRAINER_JUAN_2 798 +#define TRAINER_JUAN_3 799 +#define TRAINER_JUAN_4 800 +#define TRAINER_JUAN_5 801 +#define TRAINER_ANGELO 802 +#define TRAINER_DARIUS 803 +#define TRAINER_STEVEN 804 +#define TRAINER_ANABEL 805 +#define TRAINER_TUCKER 806 +#define TRAINER_SPENSER 807 +#define TRAINER_GRETA 808 +#define TRAINER_NOLAND 809 +#define TRAINER_LUCY 810 +#define TRAINER_BRANDON 811 +#define TRAINER_ANDRES_2 812 +#define TRAINER_ANDRES_3 813 +#define TRAINER_ANDRES_4 814 +#define TRAINER_ANDRES_5 815 +#define TRAINER_CORY_2 816 +#define TRAINER_CORY_3 817 +#define TRAINER_CORY_4 818 +#define TRAINER_CORY_5 819 +#define TRAINER_PABLO_2 820 +#define TRAINER_PABLO_3 821 +#define TRAINER_PABLO_4 822 +#define TRAINER_PABLO_5 823 +#define TRAINER_KOJI_2 824 +#define TRAINER_KOJI_3 825 +#define TRAINER_KOJI_4 826 +#define TRAINER_KOJI_5 827 +#define TRAINER_CRISTIN_2 828 +#define TRAINER_CRISTIN_3 829 +#define TRAINER_CRISTIN_4 830 +#define TRAINER_CRISTIN_5 831 +#define TRAINER_FERNANDO_2 832 +#define TRAINER_FERNANDO_3 833 +#define TRAINER_FERNANDO_4 834 +#define TRAINER_FERNANDO_5 835 +#define TRAINER_SAWYER_2 836 +#define TRAINER_SAWYER_3 837 +#define TRAINER_SAWYER_4 838 +#define TRAINER_SAWYER_5 839 +#define TRAINER_GABRIELLE_2 840 +#define TRAINER_GABRIELLE_3 841 +#define TRAINER_GABRIELLE_4 842 +#define TRAINER_GABRIELLE_5 843 +#define TRAINER_THALIA_2 844 +#define TRAINER_THALIA_3 845 +#define TRAINER_THALIA_4 846 +#define TRAINER_THALIA_5 847 +#define TRAINER_MARIELA 848 +#define TRAINER_ALVARO 849 +#define TRAINER_EVERETT 850 +#define TRAINER_RED 851 +#define TRAINER_LEAF 852 +#define TRAINER_BRENDAN_16 853 +#define TRAINER_MAY_16 854 + +#define TRAINERS_COUNT 855 #endif // GUARD_CONSTANTS_OPPONENTS_H diff --git a/include/constants/secret_bases.h b/include/constants/secret_bases.h new file mode 100755 index 000000000..0f51054a8 --- /dev/null +++ b/include/constants/secret_bases.h @@ -0,0 +1,110 @@ +#ifndef GUARD_CONSTANTS_SECRET_BASES_H +#define GUARD_CONSTANTS_SECRET_BASES_H + +// Each secret base location is assigned an identifier value. +// The secret base's map is determined by (id / 10). The ones +// digit is used to differentiate secret bases using the same map. +// Therefore, each secret base map can be used by up to 10 different +// secret bases in the game. These ids are 1-based, but there is no +// apparent reason for that. + +#define SECRET_BASE_RED_CAVE1_1 1 +#define SECRET_BASE_RED_CAVE1_2 2 +#define SECRET_BASE_RED_CAVE1_3 3 + +#define SECRET_BASE_RED_CAVE2_1 11 +#define SECRET_BASE_RED_CAVE2_2 12 +#define SECRET_BASE_RED_CAVE2_3 13 + +#define SECRET_BASE_RED_CAVE3_1 21 +#define SECRET_BASE_RED_CAVE3_2 22 +#define SECRET_BASE_RED_CAVE3_3 23 + +#define SECRET_BASE_RED_CAVE4_1 31 +#define SECRET_BASE_RED_CAVE4_2 32 +#define SECRET_BASE_RED_CAVE4_3 33 + +#define SECRET_BASE_BROWN_CAVE1_1 41 +#define SECRET_BASE_BROWN_CAVE1_2 42 +#define SECRET_BASE_BROWN_CAVE1_3 43 + +#define SECRET_BASE_BROWN_CAVE2_1 51 +#define SECRET_BASE_BROWN_CAVE2_2 52 +#define SECRET_BASE_BROWN_CAVE2_3 53 + +#define SECRET_BASE_BROWN_CAVE3_1 61 +#define SECRET_BASE_BROWN_CAVE3_2 62 +#define SECRET_BASE_BROWN_CAVE3_3 63 + +#define SECRET_BASE_BROWN_CAVE4_1 71 +#define SECRET_BASE_BROWN_CAVE4_2 72 +#define SECRET_BASE_BROWN_CAVE4_3 73 + +#define SECRET_BASE_BLUE_CAVE1_1 81 +#define SECRET_BASE_BLUE_CAVE1_2 82 +#define SECRET_BASE_BLUE_CAVE1_3 83 + +#define SECRET_BASE_BLUE_CAVE2_1 91 +#define SECRET_BASE_BLUE_CAVE2_2 92 +#define SECRET_BASE_BLUE_CAVE2_3 93 + +#define SECRET_BASE_BLUE_CAVE3_1 101 +#define SECRET_BASE_BLUE_CAVE3_2 102 +#define SECRET_BASE_BLUE_CAVE3_3 103 + +#define SECRET_BASE_BLUE_CAVE4_1 111 +#define SECRET_BASE_BLUE_CAVE4_2 112 +#define SECRET_BASE_BLUE_CAVE4_3 113 + +#define SECRET_BASE_YELLOW_CAVE1_1 121 +#define SECRET_BASE_YELLOW_CAVE1_2 122 +#define SECRET_BASE_YELLOW_CAVE1_3 123 + +#define SECRET_BASE_YELLOW_CAVE2_1 131 +#define SECRET_BASE_YELLOW_CAVE2_2 132 +#define SECRET_BASE_YELLOW_CAVE2_3 133 + +#define SECRET_BASE_YELLOW_CAVE3_1 141 +#define SECRET_BASE_YELLOW_CAVE3_2 142 +#define SECRET_BASE_YELLOW_CAVE3_3 143 + +#define SECRET_BASE_YELLOW_CAVE4_1 151 +#define SECRET_BASE_YELLOW_CAVE4_2 152 +#define SECRET_BASE_YELLOW_CAVE4_3 153 + +#define SECRET_BASE_TREE1_1 161 +#define SECRET_BASE_TREE1_2 162 +#define SECRET_BASE_TREE1_3 163 +#define SECRET_BASE_TREE1_4 164 + +#define SECRET_BASE_TREE2_1 171 +#define SECRET_BASE_TREE2_2 172 +#define SECRET_BASE_TREE2_3 173 +#define SECRET_BASE_TREE2_4 174 + +#define SECRET_BASE_TREE3_1 181 +#define SECRET_BASE_TREE3_2 182 +#define SECRET_BASE_TREE3_3 183 + +#define SECRET_BASE_TREE4_1 191 +#define SECRET_BASE_TREE4_2 192 +#define SECRET_BASE_TREE4_3 193 + +#define SECRET_BASE_SHRUB1_1 201 +#define SECRET_BASE_SHRUB1_2 202 +#define SECRET_BASE_SHRUB1_3 203 +#define SECRET_BASE_SHRUB1_4 204 + +#define SECRET_BASE_SHRUB2_1 211 +#define SECRET_BASE_SHRUB2_2 212 +#define SECRET_BASE_SHRUB2_3 213 + +#define SECRET_BASE_SHRUB3_1 221 +#define SECRET_BASE_SHRUB3_2 222 +#define SECRET_BASE_SHRUB3_3 223 + +#define SECRET_BASE_SHRUB4_1 231 +#define SECRET_BASE_SHRUB4_2 232 +#define SECRET_BASE_SHRUB4_3 233 + +#endif // GUARD_CONSTANTS_SECRET_BASES_H diff --git a/include/constants/trainers.h b/include/constants/trainers.h index a017b6975..57c7fd523 100644 --- a/include/constants/trainers.h +++ b/include/constants/trainers.h @@ -1,863 +1,14 @@ #ifndef GUARD_TRAINERS_H #define GUARD_TRAINERS_H -#define TRAINER_NONE 0 -#define TRAINER_SAWYER_1 1 -#define TRAINER_GRUNT_1 2 -#define TRAINER_GRUNT_2 3 -#define TRAINER_GRUNT_3 4 -#define TRAINER_GRUNT_4 5 -#define TRAINER_GRUNT_5 6 -#define TRAINER_GRUNT_6 7 -#define TRAINER_GRUNT_7 8 -#define TRAINER_GABRIELLE_1 9 -#define TRAINER_GRUNT_8 10 -#define TRAINER_MARCEL 11 -#define TRAINER_ALBERTO 12 -#define TRAINER_ED 13 -#define TRAINER_GRUNT_9 14 -#define TRAINER_DECLAN 15 -#define TRAINER_GRUNT_10 16 -#define TRAINER_GRUNT_11 17 -#define TRAINER_GRUNT_12 18 -#define TRAINER_GRUNT_13 19 -#define TRAINER_GRUNT_14 20 -#define TRAINER_GRUNT_15 21 -#define TRAINER_GRUNT_16 22 -#define TRAINER_GRUNT_17 23 -#define TRAINER_GRUNT_18 24 -#define TRAINER_GRUNT_19 25 -#define TRAINER_GRUNT_20 26 -#define TRAINER_GRUNT_21 27 -#define TRAINER_GRUNT_22 28 -#define TRAINER_FREDRICK 29 -#define TRAINER_MATT 30 -#define TRAINER_ZANDER 31 -#define TRAINER_SHELLY_1 32 -#define TRAINER_SHELLY_2 33 -#define TRAINER_ARCHIE 34 -#define TRAINER_LEAH 35 -#define TRAINER_DAISY 36 -#define TRAINER_ROSE_1 37 -#define TRAINER_FELIX 38 -#define TRAINER_VIOLET 39 -#define TRAINER_ROSE_2 40 -#define TRAINER_ROSE_3 41 -#define TRAINER_ROSE_4 42 -#define TRAINER_ROSE_5 43 -#define TRAINER_DUSTY_1 44 -#define TRAINER_CHIP 45 -#define TRAINER_FOSTER 46 -#define TRAINER_DUSTY_2 47 -#define TRAINER_DUSTY_3 48 -#define TRAINER_DUSTY_4 49 -#define TRAINER_DUSTY_5 50 -#define TRAINER_GABBY_AND_TY_1 51 -#define TRAINER_GABBY_AND_TY_2 52 -#define TRAINER_GABBY_AND_TY_3 53 -#define TRAINER_GABBY_AND_TY_4 54 -#define TRAINER_GABBY_AND_TY_5 55 -#define TRAINER_GABBY_AND_TY_6 56 -#define TRAINER_LOLA_1 57 -#define TRAINER_AUSTINA 58 -#define TRAINER_GWEN 59 -#define TRAINER_LOLA_2 60 -#define TRAINER_LOLA_3 61 -#define TRAINER_LOLA_4 62 -#define TRAINER_LOLA_5 63 -#define TRAINER_RICKY_1 64 -#define TRAINER_SIMON 65 -#define TRAINER_CHARLIE 66 -#define TRAINER_RICKY_2 67 -#define TRAINER_RICKY_3 68 -#define TRAINER_RICKY_4 69 -#define TRAINER_RICKY_5 70 -#define TRAINER_RANDALL 71 -#define TRAINER_PARKER 72 -#define TRAINER_GEORGE 73 -#define TRAINER_BERKE 74 -#define TRAINER_BRAXTON 75 -#define TRAINER_VINCENT 76 -#define TRAINER_LEROY 77 -#define TRAINER_WILTON_1 78 -#define TRAINER_EDGAR 79 -#define TRAINER_ALBERT 80 -#define TRAINER_SAMUEL 81 -#define TRAINER_VITO 82 -#define TRAINER_OWEN 83 -#define TRAINER_WILTON_2 84 -#define TRAINER_WILTON_3 85 -#define TRAINER_WILTON_4 86 -#define TRAINER_WILTON_5 87 -#define TRAINER_WARREN 88 -#define TRAINER_MARY 89 -#define TRAINER_ALEXIA 90 -#define TRAINER_JODY 91 -#define TRAINER_WENDY 92 -#define TRAINER_KEIRA 93 -#define TRAINER_BROOKE_1 94 -#define TRAINER_JENNIFER 95 -#define TRAINER_HOPE 96 -#define TRAINER_SHANNON 97 -#define TRAINER_MICHELLE 98 -#define TRAINER_CAROLINE 99 -#define TRAINER_JULIE 100 -#define TRAINER_BROOKE_2 101 -#define TRAINER_BROOKE_3 102 -#define TRAINER_BROOKE_4 103 -#define TRAINER_BROOKE_5 104 -#define TRAINER_PATRICIA 105 -#define TRAINER_KINDRA 106 -#define TRAINER_TAMMY 107 -#define TRAINER_VALERIE_1 108 -#define TRAINER_TASHA 109 -#define TRAINER_VALERIE_2 110 -#define TRAINER_VALERIE_3 111 -#define TRAINER_VALERIE_4 112 -#define TRAINER_VALERIE_5 113 -#define TRAINER_CINDY_1 114 -#define TRAINER_DAPHNE 115 -#define TRAINER_GRUNT_23 116 -#define TRAINER_CINDY_2 117 -#define TRAINER_BRIANNA 118 -#define TRAINER_NAOMI 119 -#define TRAINER_CINDY_3 120 -#define TRAINER_CINDY_4 121 -#define TRAINER_CINDY_5 122 -#define TRAINER_CINDY_6 123 -#define TRAINER_MELISSA 124 -#define TRAINER_SHEILA 125 -#define TRAINER_SHIRLEY 126 -#define TRAINER_JESSICA_1 127 -#define TRAINER_CONNIE 128 -#define TRAINER_BRIDGET 129 -#define TRAINER_OLIVIA 130 -#define TRAINER_TIFFANY 131 -#define TRAINER_JESSICA_2 132 -#define TRAINER_JESSICA_3 133 -#define TRAINER_JESSICA_4 134 -#define TRAINER_JESSICA_5 135 -#define TRAINER_WINSTON_1 136 -#define TRAINER_MOLLIE 137 -#define TRAINER_GARRET 138 -#define TRAINER_WINSTON_2 139 -#define TRAINER_WINSTON_3 140 -#define TRAINER_WINSTON_4 141 -#define TRAINER_WINSTON_5 142 -#define TRAINER_STEVE_1 143 -#define TRAINER_THALIA_1 144 -#define TRAINER_MARK 145 -#define TRAINER_GRUNT_24 146 -#define TRAINER_STEVE_2 147 -#define TRAINER_STEVE_3 148 -#define TRAINER_STEVE_4 149 -#define TRAINER_STEVE_5 150 -#define TRAINER_LUIS 151 -#define TRAINER_DOMINIK 152 -#define TRAINER_DOUGLAS 153 -#define TRAINER_DARRIN 154 -#define TRAINER_TONY_1 155 -#define TRAINER_JEROME 156 -#define TRAINER_MATTHEW 157 -#define TRAINER_DAVID 158 -#define TRAINER_SPENCER 159 -#define TRAINER_ROLAND 160 -#define TRAINER_NOLEN 161 -#define TRAINER_STAN 162 -#define TRAINER_BARRY 163 -#define TRAINER_DEAN 164 -#define TRAINER_RODNEY 165 -#define TRAINER_RICHARD 166 -#define TRAINER_HERMAN 167 -#define TRAINER_SANTIAGO 168 -#define TRAINER_GILBERT 169 -#define TRAINER_FRANKLIN 170 -#define TRAINER_KEVIN 171 -#define TRAINER_JACK 172 -#define TRAINER_DUDLEY 173 -#define TRAINER_CHAD 174 -#define TRAINER_TONY_2 175 -#define TRAINER_TONY_3 176 -#define TRAINER_TONY_4 177 -#define TRAINER_TONY_5 178 -#define TRAINER_TAKAO 179 -#define TRAINER_HITOSHI 180 -#define TRAINER_KIYO 181 -#define TRAINER_KOICHI 182 -#define TRAINER_NOB_1 183 -#define TRAINER_NOB_2 184 -#define TRAINER_NOB_3 185 -#define TRAINER_NOB_4 186 -#define TRAINER_NOB_5 187 -#define TRAINER_YUJI 188 -#define TRAINER_DAISUKE 189 -#define TRAINER_ATSUSHI 190 -#define TRAINER_KIRK 191 -#define TRAINER_GRUNT_25 192 -#define TRAINER_GRUNT_26 193 -#define TRAINER_SHAWN 194 -#define TRAINER_FERNANDO_1 195 -#define TRAINER_DALTON_1 196 -#define TRAINER_DALTON_2 197 -#define TRAINER_DALTON_3 198 -#define TRAINER_DALTON_4 199 -#define TRAINER_DALTON_5 200 -#define TRAINER_COLE 201 -#define TRAINER_JEFF 202 -#define TRAINER_AXLE 203 -#define TRAINER_JACE 204 -#define TRAINER_KEEGAN 205 -#define TRAINER_BERNIE_1 206 -#define TRAINER_BERNIE_2 207 -#define TRAINER_BERNIE_3 208 -#define TRAINER_BERNIE_4 209 -#define TRAINER_BERNIE_5 210 -#define TRAINER_DREW 211 -#define TRAINER_BEAU 212 -#define TRAINER_LARRY 213 -#define TRAINER_SHANE 214 -#define TRAINER_JUSTIN 215 -#define TRAINER_ETHAN_1 216 -#define TRAINER_AUTUMN 217 -#define TRAINER_TRAVIS 218 -#define TRAINER_ETHAN_2 219 -#define TRAINER_ETHAN_3 220 -#define TRAINER_ETHAN_4 221 -#define TRAINER_ETHAN_5 222 -#define TRAINER_BRENT 223 -#define TRAINER_DONALD 224 -#define TRAINER_TAYLOR 225 -#define TRAINER_JEFFREY_1 226 -#define TRAINER_DEREK 227 -#define TRAINER_JEFFREY_2 228 -#define TRAINER_JEFFREY_3 229 -#define TRAINER_JEFFREY_4 230 -#define TRAINER_JEFFREY_5 231 -#define TRAINER_EDWARD 232 -#define TRAINER_PRESTON 233 -#define TRAINER_VIRGIL 234 -#define TRAINER_BLAKE 235 -#define TRAINER_WILLIAM 236 -#define TRAINER_JOSHUA 237 -#define TRAINER_CAMERON_1 238 -#define TRAINER_CAMERON_2 239 -#define TRAINER_CAMERON_3 240 -#define TRAINER_CAMERON_4 241 -#define TRAINER_CAMERON_5 242 -#define TRAINER_JACLYN 243 -#define TRAINER_HANNAH 244 -#define TRAINER_SAMANTHA 245 -#define TRAINER_MAURA 246 -#define TRAINER_KAYLA 247 -#define TRAINER_ALEXIS 248 -#define TRAINER_JACKI_1 249 -#define TRAINER_JACKI_2 250 -#define TRAINER_JACKI_3 251 -#define TRAINER_JACKI_4 252 -#define TRAINER_JACKI_5 253 -#define TRAINER_WALTER_1 254 -#define TRAINER_MICAH 255 -#define TRAINER_THOMAS 256 -#define TRAINER_WALTER_2 257 -#define TRAINER_WALTER_3 258 -#define TRAINER_WALTER_4 259 -#define TRAINER_WALTER_5 260 -#define TRAINER_SIDNEY 261 -#define TRAINER_PHOEBE 262 -#define TRAINER_GLACIA 263 -#define TRAINER_DRAKE 264 -#define TRAINER_ROXANNE_1 265 -#define TRAINER_BRAWLY_1 266 -#define TRAINER_WATTSON_1 267 -#define TRAINER_FLANNERY_1 268 -#define TRAINER_NORMAN_1 269 -#define TRAINER_WINONA_1 270 -#define TRAINER_TATE_AND_LIZA_1 271 -#define TRAINER_JUAN_1 272 -#define TRAINER_JERRY_1 273 -#define TRAINER_TED 274 -#define TRAINER_PAUL 275 -#define TRAINER_JERRY_2 276 -#define TRAINER_JERRY_3 277 -#define TRAINER_JERRY_4 278 -#define TRAINER_JERRY_5 279 -#define TRAINER_KAREN_1 280 -#define TRAINER_GEORGIA 281 -#define TRAINER_KAREN_2 282 -#define TRAINER_KAREN_3 283 -#define TRAINER_KAREN_4 284 -#define TRAINER_KAREN_5 285 -#define TRAINER_KATE_AND_JOY 286 -#define TRAINER_ANNA_AND_MEG_1 287 -#define TRAINER_ANNA_AND_MEG_2 288 -#define TRAINER_ANNA_AND_MEG_3 289 -#define TRAINER_ANNA_AND_MEG_4 290 -#define TRAINER_ANNA_AND_MEG_5 291 -#define TRAINER_VICTOR 292 -#define TRAINER_MIGUEL_1 293 -#define TRAINER_COLTON 294 -#define TRAINER_MIGUEL_2 295 -#define TRAINER_MIGUEL_3 296 -#define TRAINER_MIGUEL_4 297 -#define TRAINER_MIGUEL_5 298 -#define TRAINER_VICTORIA 299 -#define TRAINER_VANESSA 300 -#define TRAINER_BETHANY 301 -#define TRAINER_ISABEL_1 302 -#define TRAINER_ISABEL_2 303 -#define TRAINER_ISABEL_3 304 -#define TRAINER_ISABEL_4 305 -#define TRAINER_ISABEL_5 306 -#define TRAINER_TIMOTHY_1 307 -#define TRAINER_TIMOTHY_2 308 -#define TRAINER_TIMOTHY_3 309 -#define TRAINER_TIMOTHY_4 310 -#define TRAINER_TIMOTHY_5 311 -#define TRAINER_VICKY 312 -#define TRAINER_SHELBY_1 313 -#define TRAINER_SHELBY_2 314 -#define TRAINER_SHELBY_3 315 -#define TRAINER_SHELBY_4 316 -#define TRAINER_SHELBY_5 317 -#define TRAINER_CALVIN_1 318 -#define TRAINER_BILLY 319 -#define TRAINER_JOSH 320 -#define TRAINER_TOMMY 321 -#define TRAINER_JOEY 322 -#define TRAINER_BEN 323 -#define TRAINER_QUINCY 324 -#define TRAINER_KATELYNN 325 -#define TRAINER_JAYLEN 326 -#define TRAINER_DILLON 327 -#define TRAINER_CALVIN_2 328 -#define TRAINER_CALVIN_3 329 -#define TRAINER_CALVIN_4 330 -#define TRAINER_CALVIN_5 331 -#define TRAINER_EDDIE 332 -#define TRAINER_ALLEN 333 -#define TRAINER_TIMMY 334 -#define TRAINER_WALLACE 335 -#define TRAINER_ANDREW 336 -#define TRAINER_IVAN 337 -#define TRAINER_CLAUDE 338 -#define TRAINER_ELLIOT_1 339 -#define TRAINER_NED 340 -#define TRAINER_DALE 341 -#define TRAINER_NOLAN 342 -#define TRAINER_BARNY 343 -#define TRAINER_WADE 344 -#define TRAINER_CARTER 345 -#define TRAINER_ELLIOT_2 346 -#define TRAINER_ELLIOT_3 347 -#define TRAINER_ELLIOT_4 348 -#define TRAINER_ELLIOT_5 349 -#define TRAINER_RONALD 350 -#define TRAINER_JACOB 351 -#define TRAINER_ANTHONY 352 -#define TRAINER_BENJAMIN_1 353 -#define TRAINER_BENJAMIN_2 354 -#define TRAINER_BENJAMIN_3 355 -#define TRAINER_BENJAMIN_4 356 -#define TRAINER_BENJAMIN_5 357 -#define TRAINER_ABIGAIL_1 358 -#define TRAINER_JASMINE 359 -#define TRAINER_ABIGAIL_2 360 -#define TRAINER_ABIGAIL_3 361 -#define TRAINER_ABIGAIL_4 362 -#define TRAINER_ABIGAIL_5 363 -#define TRAINER_DYLAN_1 364 -#define TRAINER_DYLAN_2 365 -#define TRAINER_DYLAN_3 366 -#define TRAINER_DYLAN_4 367 -#define TRAINER_DYLAN_5 368 -#define TRAINER_MARIA_1 369 -#define TRAINER_MARIA_2 370 -#define TRAINER_MARIA_3 371 -#define TRAINER_MARIA_4 372 -#define TRAINER_MARIA_5 373 -#define TRAINER_CAMDEN 374 -#define TRAINER_DEMETRIUS 375 -#define TRAINER_ISAIAH_1 376 -#define TRAINER_PABLO_1 377 -#define TRAINER_CHASE 378 -#define TRAINER_ISAIAH_2 379 -#define TRAINER_ISAIAH_3 380 -#define TRAINER_ISAIAH_4 381 -#define TRAINER_ISAIAH_5 382 -#define TRAINER_ISOBEL 383 -#define TRAINER_DONNY 384 -#define TRAINER_TALIA 385 -#define TRAINER_KATELYN_1 386 -#define TRAINER_ALLISON 387 -#define TRAINER_KATELYN_2 388 -#define TRAINER_KATELYN_3 389 -#define TRAINER_KATELYN_4 390 -#define TRAINER_KATELYN_5 391 -#define TRAINER_NICOLAS_1 392 -#define TRAINER_NICOLAS_2 393 -#define TRAINER_NICOLAS_3 394 -#define TRAINER_NICOLAS_4 395 -#define TRAINER_NICOLAS_5 396 -#define TRAINER_AARON 397 -#define TRAINER_PERRY 398 -#define TRAINER_HUGH 399 -#define TRAINER_PHIL 400 -#define TRAINER_JARED 401 -#define TRAINER_HUMBERTO 402 -#define TRAINER_PRESLEY 403 -#define TRAINER_EDWARDO 404 -#define TRAINER_COLIN 405 -#define TRAINER_ROBERT_1 406 -#define TRAINER_BENNY 407 -#define TRAINER_CHESTER 408 -#define TRAINER_ROBERT_2 409 -#define TRAINER_ROBERT_3 410 -#define TRAINER_ROBERT_4 411 -#define TRAINER_ROBERT_5 412 -#define TRAINER_ALEX 413 -#define TRAINER_BECK 414 -#define TRAINER_YASU 415 -#define TRAINER_TAKASHI 416 -#define TRAINER_DIANNE 417 -#define TRAINER_JANI 418 -#define TRAINER_LAO_1 419 -#define TRAINER_LUNG 420 -#define TRAINER_LAO_2 421 -#define TRAINER_LAO_3 422 -#define TRAINER_LAO_4 423 -#define TRAINER_LAO_5 424 -#define TRAINER_JOCELYN 425 -#define TRAINER_LAURA 426 -#define TRAINER_CYNDY_1 427 -#define TRAINER_CORA 428 -#define TRAINER_PAULA 429 -#define TRAINER_CYNDY_2 430 -#define TRAINER_CYNDY_3 431 -#define TRAINER_CYNDY_4 432 -#define TRAINER_CYNDY_5 433 -#define TRAINER_MADELINE_1 434 -#define TRAINER_CLARISSA 435 -#define TRAINER_ANGELICA 436 -#define TRAINER_MADELINE_2 437 -#define TRAINER_MADELINE_3 438 -#define TRAINER_MADELINE_4 439 -#define TRAINER_MADELINE_5 440 -#define TRAINER_BEVERLY 441 -#define TRAINER_IMANI 442 -#define TRAINER_KYLA 443 -#define TRAINER_DENISE 444 -#define TRAINER_BETH 445 -#define TRAINER_TARA 446 -#define TRAINER_MISSY 447 -#define TRAINER_ALICE 448 -#define TRAINER_JENNY_1 449 -#define TRAINER_GRACE 450 -#define TRAINER_TANYA 451 -#define TRAINER_SHARON 452 -#define TRAINER_NIKKI 453 -#define TRAINER_BRENDA 454 -#define TRAINER_KATIE 455 -#define TRAINER_SUSIE 456 -#define TRAINER_KARA 457 -#define TRAINER_DANA 458 -#define TRAINER_SIENNA 459 -#define TRAINER_DEBRA 460 -#define TRAINER_LINDA 461 -#define TRAINER_KAYLEE 462 -#define TRAINER_LAUREL 463 -#define TRAINER_CARLEE 464 -#define TRAINER_JENNY_2 465 -#define TRAINER_JENNY_3 466 -#define TRAINER_JENNY_4 467 -#define TRAINER_JENNY_5 468 -#define TRAINER_HEIDI 469 -#define TRAINER_BECKY 470 -#define TRAINER_CAROL 471 -#define TRAINER_NANCY 472 -#define TRAINER_MARTHA 473 -#define TRAINER_DIANA_1 474 -#define TRAINER_CEDRIC 475 -#define TRAINER_IRENE 476 -#define TRAINER_DIANA_2 477 -#define TRAINER_DIANA_3 478 -#define TRAINER_DIANA_4 479 -#define TRAINER_DIANA_5 480 -#define TRAINER_AMY_AND_LIV_1 481 -#define TRAINER_AMY_AND_LIV_2 482 -#define TRAINER_GINA_AND_MIA_1 483 -#define TRAINER_MIU_AND_YUKI 484 -#define TRAINER_AMY_AND_LIV_3 485 -#define TRAINER_GINA_AND_MIA_2 486 -#define TRAINER_AMY_AND_LIV_4 487 -#define TRAINER_AMY_AND_LIV_5 488 -#define TRAINER_AMY_AND_LIV_6 489 -#define TRAINER_HUEY 490 -#define TRAINER_EDMOND 491 -#define TRAINER_ERNEST_1 492 -#define TRAINER_DWAYNE 493 -#define TRAINER_PHILLIP 494 -#define TRAINER_LEONARD 495 -#define TRAINER_DUNCAN 496 -#define TRAINER_ERNEST_2 497 -#define TRAINER_ERNEST_3 498 -#define TRAINER_ERNEST_4 499 -#define TRAINER_ERNEST_5 500 -#define TRAINER_ELI 501 -#define TRAINER_ANNIKA 502 -#define TRAINER_JAZMYN 503 -#define TRAINER_JONAS 504 -#define TRAINER_KAYLEY 505 -#define TRAINER_AURON 506 -#define TRAINER_KELVIN 507 -#define TRAINER_MARLEY 508 -#define TRAINER_REYNA 509 -#define TRAINER_HUDSON 510 -#define TRAINER_CONOR 511 -#define TRAINER_EDWIN_1 512 -#define TRAINER_HECTOR 513 -#define TRAINER_TABITHA_1 514 -#define TRAINER_EDWIN_2 515 -#define TRAINER_EDWIN_3 516 -#define TRAINER_EDWIN_4 517 -#define TRAINER_EDWIN_5 518 -#define TRAINER_WALLY_1 519 -#define TRAINER_BRENDAN_1 520 -#define TRAINER_BRENDAN_2 521 -#define TRAINER_BRENDAN_3 522 -#define TRAINER_BRENDAN_4 523 -#define TRAINER_BRENDAN_5 524 -#define TRAINER_BRENDAN_6 525 -#define TRAINER_BRENDAN_7 526 -#define TRAINER_BRENDAN_8 527 -#define TRAINER_BRENDAN_9 528 -#define TRAINER_MAY_1 529 -#define TRAINER_MAY_2 530 -#define TRAINER_MAY_3 531 -#define TRAINER_MAY_4 532 -#define TRAINER_MAY_5 533 -#define TRAINER_MAY_6 534 -#define TRAINER_MAY_7 535 -#define TRAINER_MAY_8 536 -#define TRAINER_MAY_9 537 -#define TRAINER_ISAAC_1 538 -#define TRAINER_DAVIS 539 -#define TRAINER_MITCHELL 540 -#define TRAINER_ISAAC_2 541 -#define TRAINER_ISAAC_3 542 -#define TRAINER_ISAAC_4 543 -#define TRAINER_ISAAC_5 544 -#define TRAINER_LYDIA_1 545 -#define TRAINER_HALLE 546 -#define TRAINER_GARRISON 547 -#define TRAINER_LYDIA_2 548 -#define TRAINER_LYDIA_3 549 -#define TRAINER_LYDIA_4 550 -#define TRAINER_LYDIA_5 551 -#define TRAINER_JACKSON_1 552 -#define TRAINER_LORENZO 553 -#define TRAINER_SEBASTIAN 554 -#define TRAINER_JACKSON_2 555 -#define TRAINER_JACKSON_3 556 -#define TRAINER_JACKSON_4 557 -#define TRAINER_JACKSON_5 558 -#define TRAINER_CATHERINE_1 559 -#define TRAINER_JENNA 560 -#define TRAINER_SOPHIA 561 -#define TRAINER_CATHERINE_2 562 -#define TRAINER_CATHERINE_3 563 -#define TRAINER_CATHERINE_4 564 -#define TRAINER_CATHERINE_5 565 -#define TRAINER_JULIO 566 -#define TRAINER_GRUNT_27 567 -#define TRAINER_GRUNT_28 568 -#define TRAINER_GRUNT_29 569 -#define TRAINER_GRUNT_30 570 -#define TRAINER_MARC 571 -#define TRAINER_BRENDEN 572 -#define TRAINER_LILITH 573 -#define TRAINER_CRISTIAN 574 -#define TRAINER_SYLVIA 575 -#define TRAINER_LEONARDO 576 -#define TRAINER_ATHENA 577 -#define TRAINER_HARRISON 578 -#define TRAINER_GRUNT_31 579 -#define TRAINER_CLARENCE 580 -#define TRAINER_TERRY 581 -#define TRAINER_NATE 582 -#define TRAINER_KATHLEEN 583 -#define TRAINER_CLIFFORD 584 -#define TRAINER_NICHOLAS 585 -#define TRAINER_GRUNT_32 586 -#define TRAINER_GRUNT_33 587 -#define TRAINER_GRUNT_34 588 -#define TRAINER_GRUNT_35 589 -#define TRAINER_GRUNT_36 590 -#define TRAINER_MACEY 591 -#define TRAINER_BRENDAN_10 592 -#define TRAINER_BRENDAN_11 593 -#define TRAINER_PAXTON 594 -#define TRAINER_ISABELLA 595 -#define TRAINER_GRUNT_37 596 -#define TRAINER_TABITHA_2 597 -#define TRAINER_JONATHAN 598 -#define TRAINER_BRENDAN_12 599 -#define TRAINER_MAY_10 600 -#define TRAINER_MAXIE_1 601 -#define TRAINER_MAXIE_2 602 -#define TRAINER_TIANA 603 -#define TRAINER_HALEY_1 604 -#define TRAINER_JANICE 605 -#define TRAINER_VIVI 606 -#define TRAINER_HALEY_2 607 -#define TRAINER_HALEY_3 608 -#define TRAINER_HALEY_4 609 -#define TRAINER_HALEY_5 610 -#define TRAINER_SALLY 611 -#define TRAINER_ROBIN 612 -#define TRAINER_ANDREA 613 -#define TRAINER_CRISSY 614 -#define TRAINER_RICK 615 -#define TRAINER_LYLE 616 -#define TRAINER_JOSE 617 -#define TRAINER_DOUG 618 -#define TRAINER_GREG 619 -#define TRAINER_KENT 620 -#define TRAINER_JAMES_1 621 -#define TRAINER_JAMES_2 622 -#define TRAINER_JAMES_3 623 -#define TRAINER_JAMES_4 624 -#define TRAINER_JAMES_5 625 -#define TRAINER_BRICE 626 -#define TRAINER_TRENT_1 627 -#define TRAINER_LENNY 628 -#define TRAINER_LUCAS_1 629 -#define TRAINER_ALAN 630 -#define TRAINER_CLARK 631 -#define TRAINER_ERIC 632 -#define TRAINER_LUCAS_2 633 -#define TRAINER_MIKE_1 634 -#define TRAINER_MIKE_2 635 -#define TRAINER_TRENT_2 636 -#define TRAINER_TRENT_3 637 -#define TRAINER_TRENT_4 638 -#define TRAINER_TRENT_5 639 -#define TRAINER_DEZ_AND_LUKE 640 -#define TRAINER_LEA_AND_JED 641 -#define TRAINER_KIRA_AND_DAN_1 642 -#define TRAINER_KIRA_AND_DAN_2 643 -#define TRAINER_KIRA_AND_DAN_3 644 -#define TRAINER_KIRA_AND_DAN_4 645 -#define TRAINER_KIRA_AND_DAN_5 646 -#define TRAINER_JOHANNA 647 -#define TRAINER_GERALD 648 -#define TRAINER_VIVIAN 649 -#define TRAINER_DANIELLE 650 -#define TRAINER_HIDEO 651 -#define TRAINER_KEIGO 652 -#define TRAINER_RILEY 653 -#define TRAINER_FLINT 654 -#define TRAINER_ASHLEY 655 -#define TRAINER_WALLY_2 656 -#define TRAINER_WALLY_3 657 -#define TRAINER_WALLY_4 658 -#define TRAINER_WALLY_5 659 -#define TRAINER_WALLY_6 660 -#define TRAINER_BRENDAN_13 661 -#define TRAINER_BRENDAN_14 662 -#define TRAINER_BRENDAN_15 663 -#define TRAINER_MAY_11 664 -#define TRAINER_MAY_12 665 -#define TRAINER_MAY_13 666 -#define TRAINER_JONAH 667 -#define TRAINER_HENRY 668 -#define TRAINER_ROGER 669 -#define TRAINER_ALEXA 670 -#define TRAINER_RUBEN 671 -#define TRAINER_KOJI_1 672 -#define TRAINER_WAYNE 673 -#define TRAINER_AIDAN 674 -#define TRAINER_REED 675 -#define TRAINER_TISHA 676 -#define TRAINER_TORI_AND_TIA 677 -#define TRAINER_KIM_AND_IRIS 678 -#define TRAINER_TYRA_AND_IVY 679 -#define TRAINER_MEL_AND_PAUL 680 -#define TRAINER_JOHN_AND_JAY_1 681 -#define TRAINER_JOHN_AND_JAY_2 682 -#define TRAINER_JOHN_AND_JAY_3 683 -#define TRAINER_JOHN_AND_JAY_4 684 -#define TRAINER_JOHN_AND_JAY_5 685 -#define TRAINER_RELI_AND_IAN 686 -#define TRAINER_LILA_AND_ROY_1 687 -#define TRAINER_LILA_AND_ROY_2 688 -#define TRAINER_LILA_AND_ROY_3 689 -#define TRAINER_LILA_AND_ROY_4 690 -#define TRAINER_LILA_AND_ROY_5 691 -#define TRAINER_LISA_AND_RAY 692 -#define TRAINER_CHRIS 693 -#define TRAINER_DAWSON 694 -#define TRAINER_SARAH 695 -#define TRAINER_DARIAN 696 -#define TRAINER_HAILEY 697 -#define TRAINER_CHANDLER 698 -#define TRAINER_KALEB 699 -#define TRAINER_JOSEPH 700 -#define TRAINER_ALYSSA 701 -#define TRAINER_MARCOS 702 -#define TRAINER_RHETT 703 -#define TRAINER_TYRON 704 -#define TRAINER_CELINA 705 -#define TRAINER_BIANCA 706 -#define TRAINER_HAYDEN 707 -#define TRAINER_SOPHIE 708 -#define TRAINER_COBY 709 -#define TRAINER_LAWRENCE 710 -#define TRAINER_WYATT 711 -#define TRAINER_ANGELINA 712 -#define TRAINER_KAI 713 -#define TRAINER_CHARLOTTE 714 -#define TRAINER_DEANDRE 715 -#define TRAINER_GRUNT_38 716 -#define TRAINER_GRUNT_39 717 -#define TRAINER_GRUNT_40 718 -#define TRAINER_GRUNT_41 719 -#define TRAINER_GRUNT_42 720 -#define TRAINER_GRUNT_43 721 -#define TRAINER_GRUNT_44 722 -#define TRAINER_GRUNT_45 723 -#define TRAINER_GRUNT_46 724 -#define TRAINER_GRUNT_47 725 -#define TRAINER_GRUNT_48 726 -#define TRAINER_GRUNT_49 727 -#define TRAINER_GRUNT_50 728 -#define TRAINER_GRUNT_51 729 -#define TRAINER_GRUNT_52 730 -#define TRAINER_GRUNT_53 731 -#define TRAINER_TABITHA_3 732 -#define TRAINER_DARCY 733 -#define TRAINER_MAXIE_3 734 -#define TRAINER_PETE 735 -#define TRAINER_ISABELLE 736 -#define TRAINER_ANDRES_1 737 -#define TRAINER_JOSUE 738 -#define TRAINER_CAMRON 739 -#define TRAINER_CORY_1 740 -#define TRAINER_CAROLINA 741 -#define TRAINER_ELIJAH 742 -#define TRAINER_CELIA 743 -#define TRAINER_BRYAN 744 -#define TRAINER_BRANDEN 745 -#define TRAINER_BRYANT 746 -#define TRAINER_SHAYLA 747 -#define TRAINER_KYRA 748 -#define TRAINER_JAIDEN 749 -#define TRAINER_ALIX 750 -#define TRAINER_HELENE 751 -#define TRAINER_MARLENE 752 -#define TRAINER_DEVAN 753 -#define TRAINER_JOHNSON 754 -#define TRAINER_MELINA 755 -#define TRAINER_BRANDI 756 -#define TRAINER_AISHA 757 -#define TRAINER_MAKAYLA 758 -#define TRAINER_FABIAN 759 -#define TRAINER_DAYTON 760 -#define TRAINER_RACHEL 761 -#define TRAINER_LEONEL 762 -#define TRAINER_CALLIE 763 -#define TRAINER_CALE 764 -#define TRAINER_MYLES 765 -#define TRAINER_PAT 766 -#define TRAINER_CRISTIN_1 767 -#define TRAINER_MAY_14 768 -#define TRAINER_MAY_15 769 -#define TRAINER_ROXANNE_2 770 -#define TRAINER_ROXANNE_3 771 -#define TRAINER_ROXANNE_4 772 -#define TRAINER_ROXANNE_5 773 -#define TRAINER_BRAWLY_2 774 -#define TRAINER_BRAWLY_3 775 -#define TRAINER_BRAWLY_4 776 -#define TRAINER_BRAWLY_5 777 -#define TRAINER_WATTSON_2 778 -#define TRAINER_WATTSON_3 779 -#define TRAINER_WATTSON_4 780 -#define TRAINER_WATTSON_5 781 -#define TRAINER_FLANNERY_2 782 -#define TRAINER_FLANNERY_3 783 -#define TRAINER_FLANNERY_4 784 -#define TRAINER_FLANNERY_5 785 -#define TRAINER_NORMAN_2 786 -#define TRAINER_NORMAN_3 787 -#define TRAINER_NORMAN_4 788 -#define TRAINER_NORMAN_5 789 -#define TRAINER_WINONA_2 790 -#define TRAINER_WINONA_3 791 -#define TRAINER_WINONA_4 792 -#define TRAINER_WINONA_5 793 -#define TRAINER_TATE_AND_LIZA_2 794 -#define TRAINER_TATE_AND_LIZA_3 795 -#define TRAINER_TATE_AND_LIZA_4 796 -#define TRAINER_TATE_AND_LIZA_5 797 -#define TRAINER_JUAN_2 798 -#define TRAINER_JUAN_3 799 -#define TRAINER_JUAN_4 800 -#define TRAINER_JUAN_5 801 -#define TRAINER_ANGELO 802 -#define TRAINER_DARIUS 803 -#define TRAINER_STEVEN 804 -#define TRAINER_ANABEL 805 -#define TRAINER_TUCKER 806 -#define TRAINER_SPENSER 807 -#define TRAINER_GRETA 808 -#define TRAINER_NOLAND 809 -#define TRAINER_LUCY 810 -#define TRAINER_BRANDON 811 -#define TRAINER_ANDRES_2 812 -#define TRAINER_ANDRES_3 813 -#define TRAINER_ANDRES_4 814 -#define TRAINER_ANDRES_5 815 -#define TRAINER_CORY_2 816 -#define TRAINER_CORY_3 817 -#define TRAINER_CORY_4 818 -#define TRAINER_CORY_5 819 -#define TRAINER_PABLO_2 820 -#define TRAINER_PABLO_3 821 -#define TRAINER_PABLO_4 822 -#define TRAINER_PABLO_5 823 -#define TRAINER_KOJI_2 824 -#define TRAINER_KOJI_3 825 -#define TRAINER_KOJI_4 826 -#define TRAINER_KOJI_5 827 -#define TRAINER_CRISTIN_2 828 -#define TRAINER_CRISTIN_3 829 -#define TRAINER_CRISTIN_4 830 -#define TRAINER_CRISTIN_5 831 -#define TRAINER_FERNANDO_2 832 -#define TRAINER_FERNANDO_3 833 -#define TRAINER_FERNANDO_4 834 -#define TRAINER_FERNANDO_5 835 -#define TRAINER_SAWYER_2 836 -#define TRAINER_SAWYER_3 837 -#define TRAINER_SAWYER_4 838 -#define TRAINER_SAWYER_5 839 -#define TRAINER_GABRIELLE_2 840 -#define TRAINER_GABRIELLE_3 841 -#define TRAINER_GABRIELLE_4 842 -#define TRAINER_GABRIELLE_5 843 -#define TRAINER_THALIA_2 844 -#define TRAINER_THALIA_3 845 -#define TRAINER_THALIA_4 846 -#define TRAINER_THALIA_5 847 -#define TRAINER_MARIELA 848 -#define TRAINER_ALVARO 849 -#define TRAINER_EVERETT 850 -#define TRAINER_RED 851 -#define TRAINER_LEAF 852 -#define TRAINER_BRENDAN_16 853 -#define TRAINER_MAY_16 854 +#include "constants/opponents.h" -#define NO_OF_TRAINERS 854 +// Special Trainer Ids. +#define TRAINER_FRONTIER_BRAIN 1022 +#define TRAINER_SECRET_BASE 1024 +#define TRAINER_LINK_OPPONENT 2048 +#define TRAINER_OPPONENT_C00 3072 +#define TRAINER_STEVEN_PARTNER 3075 #define TRAINER_PIC_HIKER 0 #define TRAINER_PIC_AQUA_GRUNT_M 1 @@ -953,6 +104,15 @@ #define TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN 91 #define TRAINER_PIC_RUBY_SAPPHIRE_MAY 92 +#define TRAINER_BACK_PIC_BRENDAN 0 +#define TRAINER_BACK_PIC_MAY 1 +#define TRAINER_BACK_PIC_RED 2 +#define TRAINER_BACK_PIC_LEAF 3 +#define TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN 4 +#define TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY 5 +#define TRAINER_BACK_PIC_WALLY 6 +#define TRAINER_BACK_PIC_STEVEN 7 + #define FACILITY_CLASS_HIKER 0x0 #define FACILITY_CLASS_TEAM_AQUA_1 0x1 #define FACILITY_CLASS_PKMN_BREEDER_1 0x2 diff --git a/include/data/battle_moves.h b/include/data/battle_moves.h index 6489fe07f..00a6f7fdb 100644 --- a/include/data/battle_moves.h +++ b/include/data/battle_moves.h @@ -1,7 +1,7 @@ #ifndef GUARD_DATA_BATTLE_MOVES #define GUARD_DATA_BATTLE_MOVES -const struct BattleMove gBattleMoves[LAST_MOVE_INDEX + 1] = +const struct BattleMove gBattleMoves[MOVES_COUNT] = { { // MOVE_NONE .effect = EFFECT_HIT, diff --git a/include/data/text/abilities.h b/include/data/text/abilities.h index 2efd76afc..3a1e989d2 100644 --- a/include/data/text/abilities.h +++ b/include/data/text/abilities.h @@ -80,7 +80,7 @@ static const u8 gShellArmorAbilityDescription[] = _("Blocks critical hits."); static const u8 gCacophonyAbilityDescription[] = _("Avoids sound-based moves."); static const u8 gAirLockAbilityDescription[] = _("Negates weather effects."); -const u8 gAbilityNames[][ABILITY_NAME_LENGTH + 1] = +const u8 gAbilityNames[ABILITIES_COUNT][ABILITY_NAME_LENGTH + 1] = { _("-------"), _("STENCH"), @@ -162,7 +162,7 @@ const u8 gAbilityNames[][ABILITY_NAME_LENGTH + 1] = _("AIR LOCK"), }; -const u8 *const gAbilityDescriptionPointers[] = +const u8 *const gAbilityDescriptionPointers[ABILITIES_COUNT] = { gNoneAbilityDescription, gStenchAbilityDescription, diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 4458f9347..a8f5caa28 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -4,253 +4,6 @@ #define NUM_OBJECT_GRAPHICS_INFO 239 #define SPRITE_VAR 240 -enum -{ - MOVEMENT_TYPE_NONE, - MOVEMENT_TYPE_LOOK_AROUND, - MOVEMENT_TYPE_WANDER_AROUND, - MOVEMENT_TYPE_WANDER_UP_AND_DOWN, - MOVEMENT_TYPE_WANDER_DOWN_AND_UP, - MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, - MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT, - MOVEMENT_TYPE_FACE_UP, - MOVEMENT_TYPE_FACE_DOWN, - MOVEMENT_TYPE_FACE_LEFT, - MOVEMENT_TYPE_FACE_RIGHT, - MOVEMENT_TYPE_PLAYER, - MOVEMENT_TYPE_BERRY_TREE_GROWTH, - MOVEMENT_TYPE_FACE_DOWN_AND_UP, - MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, - MOVEMENT_TYPE_FACE_UP_AND_LEFT, - MOVEMENT_TYPE_FACE_UP_AND_RIGHT, - MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, - MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, - MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT, - MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT, - MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT, - MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT, - MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, - MOVEMENT_TYPE_ROTATE_CLOCKWISE, - MOVEMENT_TYPE_WALK_UP_AND_DOWN, - MOVEMENT_TYPE_WALK_DOWN_AND_UP, - MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT, - MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT, - MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN, - MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP, - MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT, - MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT, - MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN, - MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP, - MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT, - MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT, - MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT, - MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT, - MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN, - MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP, - MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT, - MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT, - MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN, - MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP, - MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT, - MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT, - MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP, - MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN, - MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT, - MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT, - MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN, - MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP, - MOVEMENT_TYPE_COPY_PLAYER, - MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE, - MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE, - MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE, - MOVEMENT_TYPE_TREE_DISGUISE, - MOVEMENT_TYPE_MOUNTAIN_DISGUISE, - MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS, - MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS, - MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS, - MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS, - MOVEMENT_TYPE_HIDDEN, - MOVEMENT_TYPE_WALK_IN_PLACE_DOWN, - MOVEMENT_TYPE_WALK_IN_PLACE_UP, - MOVEMENT_TYPE_WALK_IN_PLACE_LEFT, - MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT, - MOVEMENT_TYPE_JOG_IN_PLACE_DOWN, - MOVEMENT_TYPE_JOG_IN_PLACE_UP, - MOVEMENT_TYPE_JOG_IN_PLACE_LEFT, - MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT, - MOVEMENT_TYPE_RUN_IN_PLACE_DOWN, - MOVEMENT_TYPE_RUN_IN_PLACE_UP, - MOVEMENT_TYPE_RUN_IN_PLACE_LEFT, - MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT, - MOVEMENT_TYPE_INVISIBLE, - MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN, - MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP, - MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT, - MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT, -}; - -enum -{ - MOVEMENT_ACTION_FACE_DOWN, - MOVEMENT_ACTION_FACE_UP, - MOVEMENT_ACTION_FACE_LEFT, - MOVEMENT_ACTION_FACE_RIGHT, - MOVEMENT_ACTION_WALK_SLOW_DOWN, - MOVEMENT_ACTION_WALK_SLOW_UP, - MOVEMENT_ACTION_WALK_SLOW_LEFT, - MOVEMENT_ACTION_WALK_SLOW_RIGHT, - MOVEMENT_ACTION_WALK_NORMAL_DOWN, - MOVEMENT_ACTION_WALK_NORMAL_UP, - MOVEMENT_ACTION_WALK_NORMAL_LEFT, - MOVEMENT_ACTION_WALK_NORMAL_RIGHT, - MOVEMENT_ACTION_JUMP_2_DOWN, - MOVEMENT_ACTION_JUMP_2_UP, - MOVEMENT_ACTION_JUMP_2_LEFT, - MOVEMENT_ACTION_JUMP_2_RIGHT, - MOVEMENT_ACTION_DELAY_1, - MOVEMENT_ACTION_DELAY_2, - MOVEMENT_ACTION_DELAY_4, - MOVEMENT_ACTION_DELAY_8, - MOVEMENT_ACTION_DELAY_16, - MOVEMENT_ACTION_WALK_FAST_DOWN, - MOVEMENT_ACTION_WALK_FAST_UP, - MOVEMENT_ACTION_WALK_FAST_LEFT, - MOVEMENT_ACTION_WALK_FAST_RIGHT, - MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP, - MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT, - MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT, - MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP, - MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT, - MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT, - MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP, - MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT, - MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT, - MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP, - MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT, - MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT, - MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, - MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP, - MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT, - MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT, - MOVEMENT_ACTION_WALK_FASTEST_DOWN, - MOVEMENT_ACTION_WALK_FASTEST_UP, - MOVEMENT_ACTION_WALK_FASTEST_LEFT, - MOVEMENT_ACTION_WALK_FASTEST_RIGHT, - MOVEMENT_ACTION_SLIDE_DOWN, - MOVEMENT_ACTION_SLIDE_UP, - MOVEMENT_ACTION_SLIDE_LEFT, - MOVEMENT_ACTION_SLIDE_RIGHT, - MOVEMENT_ACTION_PLAYER_RUN_DOWN, - MOVEMENT_ACTION_PLAYER_RUN_UP, - MOVEMENT_ACTION_PLAYER_RUN_LEFT, - MOVEMENT_ACTION_PLAYER_RUN_RIGHT, - MOVEMENT_ACTION_START_ANIM_IN_DIRECTION, - MOVEMENT_ACTION_JUMP_SPECIAL_DOWN, - MOVEMENT_ACTION_JUMP_SPECIAL_UP, - MOVEMENT_ACTION_JUMP_SPECIAL_LEFT, - MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT, - MOVEMENT_ACTION_FACE_PLAYER, - MOVEMENT_ACTION_FACE_AWAY_PLAYER, - MOVEMENT_ACTION_LOCK_FACING_DIRECTION, - MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION, - MOVEMENT_ACTION_JUMP_DOWN, - MOVEMENT_ACTION_JUMP_UP, - MOVEMENT_ACTION_JUMP_LEFT, - MOVEMENT_ACTION_JUMP_RIGHT, - MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN, - MOVEMENT_ACTION_JUMP_IN_PLACE_UP, - MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT, - MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT, - MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP, - MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN, - MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT, - MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT, - MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION, - MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN, - MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT, - MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT, - MOVEMENT_ACTION_DISABLE_ANIMATION, - MOVEMENT_ACTION_RESTORE_ANIMATION, - MOVEMENT_ACTION_SET_INVISIBLE, - MOVEMENT_ACTION_SET_VISIBLE, - MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK, - MOVEMENT_ACTION_EMOTE_QUESTION_MARK, - MOVEMENT_ACTION_EMOTE_HEART, - MOVEMENT_ACTION_REVEAL_TRAINER, - MOVEMENT_ACTION_ROCK_SMASH_BREAK, - MOVEMENT_ACTION_CUT_TREE, - MOVEMENT_ACTION_SET_FIXED_PRIORITY, - MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY, - MOVEMENT_ACTION_INIT_AFFINE_ANIM, - MOVEMENT_ACTION_CLEAR_AFFINE_ANIM, - MOVEMENT_ACTION_UNKNOWN1, - MOVEMENT_ACTION_UNKNOWN2, - MOVEMENT_ACTION_WALK_DOWN_START_AFFINE, - MOVEMENT_ACTION_WALK_DOWN_AFFINE, - MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT, - MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, - MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP, - MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT, - MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT, - MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT, - MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT, - MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT, - MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, - MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP, - MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT, - MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT, - MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_LEFT, - MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_RIGHT, - MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_LEFT, - MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_RIGHT, - MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_LEFT, - MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT, - MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT, - MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT, - MOVEMENT_ACTION_STORE_AND_LOCK_ANIM, - MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM, - MOVEMENT_ACTION_WALK_LEFT_AFFINE, - MOVEMENT_ACTION_WALK_RIGHT_AFFINE, - MOVEMENT_ACTION_LEVITATE, - MOVEMENT_ACTION_STOP_LEVITATE, - MOVEMENT_ACTION_DESTROY_EXTRA_TASK_IF_AT_TOP, - MOVEMENT_ACTION_FIGURE_8, - MOVEMENT_ACTION_FLY_UP, - MOVEMENT_ACTION_FLY_DOWN, -}; - enum SpinnerRunnerFollowPatterns { RUNFOLLOW_ANY, diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h index 3c4ad030f..0ff1834ca 100644 --- a/include/field_control_avatar.h +++ b/include/field_control_avatar.h @@ -37,5 +37,6 @@ bool8 sub_8068894(void); bool8 sub_8068A64(struct MapPosition *, u16); u8 sub_8068F18(void); bool8 dive_warp(struct MapPosition *position, u16 b); +void sub_809D2BC(void); #endif // GUARD_FIELDCONTROLAVATAR_H diff --git a/include/field_screen.h b/include/field_screen.h index d9a2bb5fa..268b9312e 100644 --- a/include/field_screen.h +++ b/include/field_screen.h @@ -14,5 +14,6 @@ void UpdateWeatherPerDay(u16 days); void sub_80AC3D0(void); void sub_80AC3E4(void); void PreservePaletteInWeather(u8); +void sub_80AF128(void); #endif //GUARD_FIELD_SCREEN_H diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index 6498c6a99..01d8c311e 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -582,6 +582,7 @@ #define BLDCNT_TGT1_BG3 (1 << 3) #define BLDCNT_TGT1_OBJ (1 << 4) #define BLDCNT_TGT1_BD (1 << 5) +#define BLDCNT_TGT1_ALL (BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD) // Bits 6-7 select the special effect #define BLDCNT_EFFECT_NONE (0 << 6) // no special effect #define BLDCNT_EFFECT_BLEND (1 << 6) // 1st+2nd targets mixed (controlled by BLDALPHA) @@ -594,6 +595,7 @@ #define BLDCNT_TGT2_BG3 (1 << 11) #define BLDCNT_TGT2_OBJ (1 << 12) #define BLDCNT_TGT2_BD (1 << 13) +#define BLDCNT_TGT2_ALL (BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD) // BLDALPHA #define BLDALPHA_BLEND(target1, target2) (((target2) << 8) | (target1)) diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 5b2944a2b..4bec8e0c7 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -13,35 +13,6 @@ enum CONNECTION_EMERGE }; -// map types -enum -{ - MAP_TYPE_0, - MAP_TYPE_TOWN, - MAP_TYPE_CITY, - MAP_TYPE_ROUTE, - MAP_TYPE_UNDERGROUND, - MAP_TYPE_UNDERWATER, - MAP_TYPE_6, - MAP_TYPE_7, - MAP_TYPE_INDOOR, - MAP_TYPE_SECRET_BASE -}; - -// map battle scenes -enum -{ - MAP_BATTLE_SCENE_NORMAL, // 0 - MAP_BATTLE_SCENE_GYM, // 1 - MAP_BATTLE_SCENE_MAGMA, // 2 - MAP_BATTLE_SCENE_AQUA, // 3 - MAP_BATTLE_SCENE_SIDNEY, // 4 - MAP_BATTLE_SCENE_PHOEBE, // 5 - MAP_BATTLE_SCENE_GLACIA, // 6 - MAP_BATTLE_SCENE_DRAKE, // 7 - MAP_BATTLE_SCENE_FRONTIER, // 8 -}; - typedef void (*TilesetCB)(void); struct Tileset diff --git a/include/global.h b/include/global.h index 7be922aa3..7153ef260 100644 --- a/include/global.h +++ b/include/global.h @@ -35,12 +35,18 @@ // Converts a number to Q4.12 fixed-point format #define Q_4_12(n) ((s16)((n) * 4096)) +// Converts a number to Q24.8 fixed-point format +#define Q_24_8(n) ((s32)((n) * 256)) + // Converts a Q8.8 fixed-point format number to a regular integer #define Q_8_8_TO_INT(n) ((int)((n) / 256)) // Converts a Q4.12 fixed-point format number to a regular integer #define Q_4_12_TO_INT(n) ((int)((n) / 4096)) +// Converts a Q24.8 fixed-point format number to a regular integer +#define Q_24_8_TO_INT(n) ((int)((n) >> 8)) + #define PARTY_SIZE 6 #define POKEMON_SLOTS_NUMBER 412 diff --git a/include/librfu.h b/include/librfu.h index aae7df4e9..9d131f027 100644 --- a/include/librfu.h +++ b/include/librfu.h @@ -47,7 +47,7 @@ enum RFU_UNK3A, RFU_UNK3B, RFU_UNK3C, - RFU_STOP_MODE, //3D + RFU_STOP_MODE, // 3D }; struct RfuPacket8 @@ -67,7 +67,7 @@ union RfuPacket struct RfuPacket8 rfuPacket8; }; -struct __attribute__((packed)) UnkLinkRfuStruct_02022B14 +struct UnkLinkRfuStruct_02022B14Substruct { u16 unk_00_0:4; u16 unk_00_4:1; @@ -79,9 +79,14 @@ struct __attribute__((packed)) UnkLinkRfuStruct_02022B14 u16 unk_01_2:4; u16 unk_01_6:2; u8 playerTrainerId[2]; +}; + +struct __attribute__((packed)) UnkLinkRfuStruct_02022B14 +{ + struct UnkLinkRfuStruct_02022B14Substruct unk_00; u8 unk_04[4]; - u16 unk_08_0:10; - u16 unk_09_2:6; + u16 species:10; + u16 type:6; u8 unk_0a_0:7; u8 unk_0a_7:1; u8 playerGender:1; @@ -200,8 +205,6 @@ extern struct RfuUnk1* gUnknown_03007870[4]; extern void* sub_82E53F4; extern void rfu_STC_clearAPIVariables(void); -struct UnkLinkRfuStruct_02022B14; - void STWI_init_all(struct RfuIntrStruct *interruptStruct, IntrFunc *interrupt, bool8 copyInterruptToRam); void rfu_REQ_stopMode(void); void rfu_waitREQComplete(void); diff --git a/include/link.h b/include/link.h index afc5008e6..b1b5a6d04 100644 --- a/include/link.h +++ b/include/link.h @@ -122,7 +122,7 @@ struct LinkPlayer /* 0x08 */ u8 name[11]; /* 0x13 */ u8 gender; /* 0x14 */ u32 linkType; - /* 0x18 */ u16 lp_field_18; // battle bank in battles + /* 0x18 */ u16 id; // battler id in battles /* 0x1A */ u16 language; }; diff --git a/include/link_rfu.h b/include/link_rfu.h index ca39c2fb2..c3ca75604 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -232,5 +232,37 @@ void sub_8011068(u8 a0); void sub_8011170(u32 a0); void sub_8011A64(u8 a0, u16 a1); u8 sub_801048C(bool32 a0); +void sub_800DF90(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2); +void sub_8010F84(u8 a0, u32 a1, u32 a2); +void sub_8011C10(u32 a0); +bool32 sub_8012240(void); +void sub_800EF38(void); +bool32 sub_80105EC(void); +bool32 sub_801064C(u16 a0, const u8 *a1); +void sub_8010688(u8 a0, u16 a1, const u8 *a2); +u32 sub_8010714(u16 a0, const u8 *a1); +void sub_8011DC0(const u8 *a0, u16 a1); +bool8 sub_800EF1C(void); +bool32 sub_800EF58(bool32 a0); +void sub_800E084(void); +void sub_801103C(void); +void sub_8011C5C(void); +void sub_80106D4(void); +void sub_800E3A8(void); +void sub_800ED10(void); +void sub_800ED28(void); +void sub_8011090(u8 a0, u32 a1, u32 a2); +void sub_8011FC8(u8 *a0, u16 a1); +void sub_8010FA0(bool32 a0, bool32 a1); +void sub_8010F60(void); +void sub_8010FCC(u32 a0, u32 a1, u32 a2); +void sub_8011C84(void); +void sub_8012188(const u8 *a0, struct UnkLinkRfuStruct_02022B14 *arg1, u8 arg2); +bool32 sub_8011B90(void); +void sub_800FE50(u16 *a0); +bool32 sub_800E540(u16 id, u8 *name); +void sub_8011DE0(u32 arg0); +u8 sub_801100C(int a0); +void sub_800EF7C(void); #endif //GUARD_LINK_RFU_H diff --git a/include/party_menu.h b/include/party_menu.h index 2cf17f1e4..6e1344213 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -1,6 +1,8 @@ #ifndef GUARD_PARTY_MENU_H #define GUARD_PARTY_MENU_H + #include "task.h" + enum { AILMENT_NONE, @@ -11,6 +13,16 @@ enum AILMENT_BRN }; +enum +{ + PARTY_CHOOSE_MON, + PARTY_MUST_CHOOSE_MON, + PARTY_CANT_SWITCH, + PARTY_USE_ITEM_ON, + PARTY_ABILITY_PREVENTS, + PARTY_GIVE_ITEM, +}; + struct Struct203CEC8 { u8 filler[0x9]; @@ -38,5 +50,9 @@ void sub_81B1F18(u8 taskId, u8 pokemonIdx, s8 a, s16 hp, TaskFunc func); void sub_81B1B5C(void *a, u8 b); u8 sub_81B1BD4(); void sub_81B8448(); +void sub_81B8518(u8 unused); +u8 sub_81B1360(void); +void sub_81B8904(u8 arg0, void (*callback)(void)); +void OpenPartyMenuInBattle(u8 caseId); #endif // GUARD_PARTY_MENU_H diff --git a/include/pokemon.h b/include/pokemon.h index 37028821a..a60ad66be 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -438,7 +438,7 @@ extern u8 gPlayerPartyCount; extern struct Pokemon gPlayerParty[PARTY_SIZE]; extern u8 gEnemyPartyCount; extern struct Pokemon gEnemyParty[PARTY_SIZE]; -extern struct SpriteTemplate gUnknown_0202499C; +extern struct SpriteTemplate gMultiuseSpriteTemplate; extern struct PokemonStorage* gPokemonStoragePtr; extern const struct BattleMove gBattleMoves[]; @@ -505,9 +505,9 @@ u8 GetDefaultMoveTarget(u8 battlerId); u8 GetMonGender(struct Pokemon *mon); u8 GetBoxMonGender(struct BoxPokemon *boxMon); u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality); -void sub_806A068(u16 species, u8 battlerPosition); -void sub_806A12C(u16 trainerSpriteId, u8 battlerPosition); -void sub_806A1C0(u16 arg0, u8 battlerPosition); +void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition); +void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition); +void SetMultiuseSpriteTemplateToTrainerFront(u16 arg0, u8 battlerPosition); // These are full type signatures for GetMonData() and GetBoxMonData(), // but they are not used since some code erroneously omits the third arg. @@ -556,7 +556,7 @@ void sub_806D544(u16 species, u32 personality, u8 *dest); void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, u8 a4); void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies); bool8 sub_806D7EC(void); -bool16 sub_806D82C(u8 id); +bool16 GetLinkTrainerFlankId(u8 id); s32 GetBattlerMultiplayerId(u16 a1); u8 GetTrainerEncounterMusicId(u16 trainerOpponentId); u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex); @@ -593,7 +593,7 @@ bool8 IsTradedMon(struct Pokemon *mon); bool8 IsOtherTrainer(u32 otId, u8 *otName); void MonRestorePP(struct Pokemon *mon); void BoxMonRestorePP(struct BoxPokemon *boxMon); -void sub_806E994(void); +void SetMonPreventsSwitchingString(void); void SetWildMonHeldItem(void); bool8 IsMonShiny(struct Pokemon *mon); bool8 IsShinyOtIdPersonality(u32 otId, u32 personality); diff --git a/include/recorded_battle.h b/include/recorded_battle.h index 8b1fa258d..81c88a15e 100644 --- a/include/recorded_battle.h +++ b/include/recorded_battle.h @@ -16,7 +16,7 @@ void sub_81851A8(u8 *arg0); bool32 CanCopyRecordedBattleSaveData(void); u32 MoveRecordedBattleToSaveData(void); void PlayRecordedBattle(void (*CB2_After)(void)); -u8 sub_8185EA0(void); +u8 GetRecordedBattleFrontierFacility(void); u8 sub_8185EAC(void); void RecordedBattle_SaveParties(void); u8 GetActiveBattlerLinkPlayerGender(void); diff --git a/include/text.h b/include/text.h index 7038149e9..92def780c 100644 --- a/include/text.h +++ b/include/text.h @@ -2,7 +2,17 @@ #define GUARD_TEXT_H #define CHAR_SPACE 0x00 +#define CHAR_PLUS 0x2E #define CHAR_0 0xA1 +#define CHAR_1 0xA2 +#define CHAR_2 0xA3 +#define CHAR_3 0xA4 +#define CHAR_4 0xA5 +#define CHAR_5 0xA6 +#define CHAR_6 0xA7 +#define CHAR_7 0xA8 +#define CHAR_8 0xA9 +#define CHAR_9 0xAA #define CHAR_QUESTION_MARK 0xAC #define CHAR_PERIOD 0xAD #define CHAR_HYPHEN 0xAE diff --git a/include/text_window.h b/include/text_window.h index 20eab57c8..53a6df2e9 100644 --- a/include/text_window.h +++ b/include/text_window.h @@ -12,11 +12,11 @@ struct TilesPal extern const u8 gTextWindowFrame1_Gfx[]; extern const u16 gTextWindowFrame1_Pal[]; -const struct TilesPal* GetWindowFrameTilesPal(u8 id); -void copy_textbox_border_tile_patterns_to_vram(u8 windowId, u16 destOffset, u8 palOffset); +const struct TilesPal *GetWindowFrameTilesPal(u8 id); +void LoadMessageBoxGfx(u8 windowId, u16 destOffset, u8 palOffset); void LoadUserWindowBorderGfx(u8 windowId, u16 destOffset, u8 palOffset); void LoadWindowGfx(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset); -void box_border_load_tiles_and_pal(u8 windowId, u16 destOffset, u8 palOffset); +void LoadUserWindowBorderGfx_(u8 windowId, u16 destOffset, u8 palOffset); void sub_8098858(u8 windowId, u16 tileNum, u8 palNum); void sub_80989E0(u8 windowId, u16 tileNum, u8 palNum); void rbox_fill_rectangle(u8 windowId); diff --git a/include/trade.h b/include/trade.h index 15438ff3f..af4da0015 100644 --- a/include/trade.h +++ b/include/trade.h @@ -7,6 +7,8 @@ // Exported ROM declarations -int sub_807A728(void); +s32 sub_807A728(void); +void sub_80773AC(void); +void sub_807AE50(void); #endif //GUARD_TRADE_H diff --git a/include/trainer_card.h b/include/trainer_card.h index 5cb93dba0..af603444f 100644 --- a/include/trainer_card.h +++ b/include/trainer_card.h @@ -32,4 +32,8 @@ struct TrainerCard extern struct TrainerCard gTrainerCards[4]; +void sub_80C3120(struct TrainerCard *arg0, u16 *arg1, u8 gameVersion); +void sub_80C4E74(u8 arg0, void (*callback)(void)); +void sub_80C30A4(u16 *arg0); + #endif // GUARD_TRAINER_CARD_H |