Start misc battle documentation
This commit is contained in:
@@ -32,7 +32,6 @@
|
||||
#define B_ACTION_EXEC_SCRIPT 10
|
||||
#define B_ACTION_TRY_FINISH 11
|
||||
#define B_ACTION_FINISHED 12
|
||||
|
||||
#define B_ACTION_CANCEL_PARTNER 12 // when choosing an action
|
||||
#define B_ACTION_NOTHING_FAINTED 13 // when choosing an action
|
||||
#define B_ACTION_NONE 0xFF
|
||||
@@ -50,14 +49,17 @@
|
||||
#define MSG_DISPLAY 7
|
||||
#define BATTLE_COMMUNICATION_ENTRIES_COUNT 8
|
||||
|
||||
#define MOVE_TARGET_SELECTED 0x0
|
||||
#define MOVE_TARGET_DEPENDS 0x1
|
||||
#define MOVE_TARGET_USER_OR_SELECTED 0x2
|
||||
#define MOVE_TARGET_RANDOM 0x4
|
||||
#define MOVE_TARGET_BOTH 0x8
|
||||
#define MOVE_TARGET_USER 0x10
|
||||
#define MOVE_TARGET_FOES_AND_ALLY 0x20
|
||||
#define MOVE_TARGET_OPPONENTS_FIELD 0x40
|
||||
#define MOVE_TARGET_SELECTED 0
|
||||
#define MOVE_TARGET_DEPENDS (1 << 0)
|
||||
#define MOVE_TARGET_USER_OR_SELECTED (1 << 1)
|
||||
#define MOVE_TARGET_RANDOM (1 << 2)
|
||||
#define MOVE_TARGET_BOTH (1 << 3)
|
||||
#define MOVE_TARGET_USER (1 << 4)
|
||||
#define MOVE_TARGET_FOES_AND_ALLY (1 << 5)
|
||||
#define MOVE_TARGET_OPPONENTS_FIELD (1 << 6)
|
||||
|
||||
// For the second argument of GetMoveTarget, when no target override is needed
|
||||
#define NO_TARGET_OVERRIDE 0
|
||||
|
||||
#define BATTLE_BUFFER_LINK_SIZE 0x1000
|
||||
|
||||
@@ -115,7 +117,7 @@ struct ProtectStruct
|
||||
u32 confusionSelfDmg:1;
|
||||
u32 targetNotAffected:1;
|
||||
u32 chargingTurn:1;
|
||||
u32 fleeFlag:2; // For RunAway and Smoke Ball.
|
||||
u32 fleeType:2; // 0: Normal, 1: FLEE_ITEM, 2: FLEE_ABILITY
|
||||
u32 usedImprisonedMove:1;
|
||||
u32 loveImmobility:1;
|
||||
u32 usedDisabledMove:1;
|
||||
@@ -426,7 +428,7 @@ struct BattleStruct
|
||||
u8 unused_6[3];
|
||||
u8 givenExpMons; // Bits for enemy party's pokemon that gave exp to player's party.
|
||||
u8 lastTakenMoveFrom[MAX_BATTLERS_COUNT * MAX_BATTLERS_COUNT * 2]; // a 3-D array [target][attacker][byte]
|
||||
u16 castformPalette[MAX_BATTLERS_COUNT][16];
|
||||
u16 castformPalette[NUM_CASTFORM_FORMS][16];
|
||||
union {
|
||||
struct LinkBattlerHeader linkBattlerHeader;
|
||||
u32 battleVideo[2];
|
||||
@@ -447,12 +449,16 @@ struct BattleStruct
|
||||
u8 alreadyStatusedMoveAttempt; // As bits for battlers; For example when using Thunder Wave on an already paralyzed pokemon.
|
||||
};
|
||||
|
||||
#define GET_MOVE_TYPE(move, typeArg) \
|
||||
{ \
|
||||
if (gBattleStruct->dynamicMoveType) \
|
||||
typeArg = gBattleStruct->dynamicMoveType & 0x3F; \
|
||||
else \
|
||||
typeArg = gBattleMoves[move].type; \
|
||||
#define F_DYNAMIC_TYPE_1 (1 << 6)
|
||||
#define F_DYNAMIC_TYPE_2 (1 << 7)
|
||||
#define DYNAMIC_TYPE_MASK (F_DYNAMIC_TYPE_1 - 1)
|
||||
|
||||
#define GET_MOVE_TYPE(move, typeArg) \
|
||||
{ \
|
||||
if (gBattleStruct->dynamicMoveType) \
|
||||
typeArg = gBattleStruct->dynamicMoveType & DYNAMIC_TYPE_MASK; \
|
||||
else \
|
||||
typeArg = gBattleMoves[move].type; \
|
||||
}
|
||||
|
||||
#define IS_TYPE_PHYSICAL(moveType)(moveType < TYPE_MYSTERY)
|
||||
@@ -502,7 +508,7 @@ struct BattleScripting
|
||||
u8 reshowMainState;
|
||||
u8 reshowHelperState;
|
||||
u8 levelUpHP;
|
||||
u8 windowsType; // 0 - normal, 1 - battle arena
|
||||
u8 windowsType; // B_WIN_TYPE_*
|
||||
u8 multiplayerId;
|
||||
u8 specialTrainerBattleType;
|
||||
};
|
||||
@@ -624,8 +630,8 @@ extern u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT];
|
||||
extern u32 gBattleTypeFlags;
|
||||
extern u8 gBattleTerrain;
|
||||
extern u32 gUnusedFirstBattleVar1;
|
||||
extern u8 *gUnknown_0202305C;
|
||||
extern u8 *gUnknown_02023060;
|
||||
extern u8 *gBattleAnimBgTileBuffer;
|
||||
extern u8 *gBattleAnimBgTilemapBuffer;
|
||||
extern u8 gBattleBufferA[MAX_BATTLERS_COUNT][0x200];
|
||||
extern u8 gBattleBufferB[MAX_BATTLERS_COUNT][0x200];
|
||||
extern u8 gActiveBattler;
|
||||
|
||||
@@ -64,12 +64,12 @@ s8 BattleAnimAdjustPanning(s8 pan);
|
||||
s8 BattleAnimAdjustPanning2(s8 pan);
|
||||
s16 KeepPanInRange(s16 a, int oldPan);
|
||||
s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan);
|
||||
void sub_80A4720(u16 a, u16 *b, u32 c, u8 d);
|
||||
void RelocateBattleBgPal(u16 paletteNum, u16 *dest, u32 offset, bool8 largeScreen);
|
||||
void ResetBattleAnimBg(bool8);
|
||||
|
||||
// battle_intro.c
|
||||
void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value);
|
||||
void sub_8118FBC(int bgId, u8 arg1, u8 arg2, u8 battlerPosition, u8 arg4, u8 *arg5, u16 *arg6, u16 arg7);
|
||||
void DrawBattlerOnBg(int bgId, u8 x, u8 y, u8 battlerPosition, u8 paletteId, u8 *tiles, u16 *tilemap, u16 tilesOffset);
|
||||
void HandleIntroSlide(u8 terrainId);
|
||||
int GetAnimBgAttribute(u8 bgId, u8 attributeId);
|
||||
|
||||
@@ -107,7 +107,7 @@ void AnimTranslateLinear_WaitEnd(struct Sprite *sprite);
|
||||
u8 GetBattlerSpriteBGPriority(u8 battlerId);
|
||||
void *LoadPointerFromVars(s16 bottom, s16 top);
|
||||
void StorePointerInVars(s16 *bottom, s16 *top, const void *ptr);
|
||||
void sub_80A8278(void);
|
||||
void InitPrioritiesForVisibleBattlers(void);
|
||||
void GetBattleAnimBg1Data(struct BattleAnimBgData*);
|
||||
void GetBattleAnimBgData(struct BattleAnimBgData*, u32 arg1);
|
||||
u8 GetBattlerSpriteSubpriority(u8 battlerId);
|
||||
@@ -125,7 +125,7 @@ u8 AnimDummyReturnArg(u8 battler);
|
||||
s16 CloneBattlerSpriteWithBlend(u8);
|
||||
void obj_delete_but_dont_free_vram(struct Sprite*);
|
||||
u8 CreateInvisibleSpriteCopy(int, u8, int);
|
||||
void AnimLoadCompressedBgTilemapHandleContest(struct BattleAnimBgData*, const void*, u32);
|
||||
void AnimLoadCompressedBgTilemapHandleContest(struct BattleAnimBgData*, const void*, bool32);
|
||||
void AnimLoadCompressedBgGfx(u32, const u32*, u32);
|
||||
void UpdateAnimBg3ScreenSize(bool8);
|
||||
void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *);
|
||||
|
||||
@@ -7,7 +7,6 @@ void BattleArena_InitPoints(void);
|
||||
void BattleArena_AddMindPoints(u8 battler);
|
||||
void BattleArena_AddSkillPoints(u8 battler);
|
||||
void BattleArena_DeductMindPoints(u8 battler, u16 stringId);
|
||||
void sub_81A586C(u8 battler);
|
||||
void DrawArenaRefereeTextBox(void);
|
||||
void EraseArenaRefereeTextBox(void);
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@ void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId);
|
||||
void DecompressTrainerBackPic(u16 backPicId, u8 battlerId);
|
||||
void BattleGfxSfxDummy3(u8 gender);
|
||||
void FreeTrainerFrontPicPalette(u16 frontPicId);
|
||||
void sub_805DFFC(void);
|
||||
bool8 BattleLoadAllHealthBoxesGfx(u8 state);
|
||||
void LoadBattleBarGfx(u8 arg0);
|
||||
bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId);
|
||||
|
||||
@@ -7,7 +7,8 @@ struct TrainerMoney
|
||||
u8 value;
|
||||
};
|
||||
|
||||
struct UnknownPokemonStruct4
|
||||
// For displaying a multi battle partner's Pokémon in the party menu
|
||||
struct MultiPartnerMenuPokemon
|
||||
{
|
||||
/*0x00*/ u16 species;
|
||||
/*0x02*/ u16 heldItem;
|
||||
@@ -46,8 +47,6 @@ struct UnknownPokemonStruct4
|
||||
void CB2_InitBattle(void);
|
||||
void BattleMainCB2(void);
|
||||
void CB2_QuitRecordedBattle(void);
|
||||
void sub_8038528(struct Sprite* sprite);
|
||||
void sub_8038A04(void); // unused
|
||||
void VBlankCB_Battle(void);
|
||||
void SpriteCB_VsLetterDummy(struct Sprite *sprite);
|
||||
void SpriteCB_VsLetterInit(struct Sprite *sprite);
|
||||
@@ -59,13 +58,12 @@ void SpriteCallbackDummy_2(struct Sprite *sprite);
|
||||
void SpriteCB_FaintOpponentMon(struct Sprite *sprite);
|
||||
void SpriteCb_ShowAsMoveTarget(struct Sprite *sprite);
|
||||
void SpriteCb_HideAsMoveTarget(struct Sprite *sprite);
|
||||
void SpriteCb_OpponentMonFromBall(struct Sprite *sprite);
|
||||
void SpriteCB_OpponentMonFromBall(struct Sprite *sprite);
|
||||
void SpriteCB_BattleSpriteStartSlideLeft(struct Sprite *sprite);
|
||||
void SpriteCB_FaintSlideAnim(struct Sprite *sprite);
|
||||
void DoBounceEffect(u8 battlerId, u8 b, s8 c, s8 d);
|
||||
void EndBounceEffect(u8 battlerId, bool8 b);
|
||||
void SpriteCb_PlayerMonFromBall(struct Sprite *sprite);
|
||||
void sub_8039E60(struct Sprite *sprite);
|
||||
void SpriteCB_PlayerMonFromBall(struct Sprite *sprite);
|
||||
void SpriteCB_TrainerThrowObject(struct Sprite *sprite);
|
||||
void sub_8039E9C(struct Sprite *sprite);
|
||||
void BeginBattleIntroDummy(void);
|
||||
@@ -82,9 +80,9 @@ void RunBattleScriptCommands(void);
|
||||
bool8 TryRunFromBattle(u8 battlerId);
|
||||
void SpecialStatusesClear(void);
|
||||
|
||||
extern struct UnknownPokemonStruct4 gMultiPartnerParty[MULTI_PARTY_SIZE];
|
||||
extern struct MultiPartnerMenuPokemon gMultiPartnerParty[MULTI_PARTY_SIZE];
|
||||
|
||||
extern const struct SpriteTemplate gUnknown_0831AC88;
|
||||
extern const struct SpriteTemplate gUnusedBattleInitSprite;
|
||||
extern const struct OamData gOamData_BattleSpriteOpponentSide;
|
||||
extern const struct OamData gOamData_BattleSpritePlayerSide;
|
||||
extern const u8 gTypeEffectiveness[336];
|
||||
|
||||
@@ -63,7 +63,6 @@ void CB2_PyramidBagMenuFromStartMenu(void);
|
||||
void CB2_ReturnToPyramidBagMenu(void);
|
||||
void UpdatePyramidBagList(void);
|
||||
void UpdatePyramidBagCursorPos(void);
|
||||
void sub_81C4EFC(void);
|
||||
void GoToBattlePyramidBagMenu(u8 location, void (*exitCallback)(void));
|
||||
void Task_CloseBattlePyramidBagMessage(u8 taskId);
|
||||
void TryStoreHeldItemsInPyramidBag(void);
|
||||
|
||||
@@ -11,8 +11,7 @@ void GetBg0TilesDst(u16 **tilemap, u16 **tileset);
|
||||
|
||||
extern const struct SpritePalette gSpritePalette_Pokeball;
|
||||
|
||||
enum // TRANSITION_MUGSHOT
|
||||
{
|
||||
enum {
|
||||
MUGSHOT_SIDNEY,
|
||||
MUGSHOT_PHOEBE,
|
||||
MUGSHOT_GLACIA,
|
||||
@@ -21,52 +20,64 @@ enum // TRANSITION_MUGSHOT
|
||||
MUGSHOTS_COUNT
|
||||
};
|
||||
|
||||
// credits for the names go to Dyskinesia, Tetrable and Farore
|
||||
// names are naturally subject to change
|
||||
enum {
|
||||
B_TRANSITION_BLUR,
|
||||
B_TRANSITION_SWIRL,
|
||||
B_TRANSITION_SHUFFLE,
|
||||
B_TRANSITION_BIG_POKEBALL,
|
||||
B_TRANSITION_POKEBALLS_TRAIL,
|
||||
B_TRANSITION_CLOCKWISE_BLACKFADE,
|
||||
B_TRANSITION_RIPPLE,
|
||||
B_TRANSITION_WAVE,
|
||||
B_TRANSITION_SLICE,
|
||||
B_TRANSITION_WHITEFADE,
|
||||
B_TRANSITION_GRID_SQUARES,
|
||||
B_TRANSITION_SHARDS,
|
||||
B_TRANSITION_SIDNEY,
|
||||
B_TRANSITION_PHOEBE,
|
||||
B_TRANSITION_GLACIA,
|
||||
B_TRANSITION_DRAKE,
|
||||
B_TRANSITION_CHAMPION,
|
||||
B_TRANSITION_AQUA, // Here below added in Emerald
|
||||
B_TRANSITION_MAGMA,
|
||||
B_TRANSITION_REGICE,
|
||||
B_TRANSITION_REGISTEEL,
|
||||
B_TRANSITION_REGIROCK,
|
||||
B_TRANSITION_KYOGRE,
|
||||
B_TRANSITION_GROUDON,
|
||||
B_TRANSITION_RAYQUAZA,
|
||||
B_TRANSITION_SHRED_SPLIT,
|
||||
B_TRANSITION_BLACKHOLE1,
|
||||
B_TRANSITION_BLACKHOLE2,
|
||||
B_TRANSITION_RECTANGULAR_SPIRAL,
|
||||
B_TRANSITION_FRONTIER_LOGO_WIGGLE,
|
||||
B_TRANSITION_FRONTIER_LOGO_WAVE,
|
||||
B_TRANSITION_FRONTIER_SQUARES,
|
||||
B_TRANSITION_FRONTIER_SQUARES_SCROLL,
|
||||
B_TRANSITION_FRONTIER_SQUARES_SPIRAL,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_MEET,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_CROSS,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_ASYMMETRIC_SPIRAL,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_SYMMETRIC_SPIRAL,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_MEET_IN_SEQ,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_CROSS_IN_SEQ,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_ASYMMETRIC_SPIRAL_IN_SEQ,
|
||||
B_TRANSITION_FRONTIER_CIRCLES_SYMMETRIC_SPIRAL_IN_SEQ,
|
||||
B_TRANSITION_COUNT
|
||||
};
|
||||
|
||||
#define B_TRANSITION_BLUR 0
|
||||
#define B_TRANSITION_SWIRL 1
|
||||
#define B_TRANSITION_SHUFFLE 2
|
||||
#define B_TRANSITION_BIG_POKEBALL 3
|
||||
#define B_TRANSITION_POKEBALLS_TRAIL 4
|
||||
#define B_TRANSITION_CLOCKWISE_BLACKFADE 5
|
||||
#define B_TRANSITION_RIPPLE 6
|
||||
#define B_TRANSITION_WAVE 7
|
||||
#define B_TRANSITION_SLICE 8
|
||||
#define B_TRANSITION_WHITEFADE 9
|
||||
#define B_TRANSITION_GRID_SQUARES 10
|
||||
#define B_TRANSITION_SHARDS 11
|
||||
#define B_TRANSITION_SIDNEY 12
|
||||
#define B_TRANSITION_PHOEBE 13
|
||||
#define B_TRANSITION_GLACIA 14
|
||||
#define B_TRANSITION_DRAKE 15
|
||||
#define B_TRANSITION_CHAMPION 16
|
||||
// added in Emerald
|
||||
#define B_TRANSITION_AQUA 17
|
||||
#define B_TRANSITION_MAGMA 18
|
||||
#define B_TRANSITION_REGICE 19
|
||||
#define B_TRANSITION_REGISTEEL 20
|
||||
#define B_TRANSITION_REGIROCK 21
|
||||
#define B_TRANSITION_KYOGRE 22
|
||||
#define B_TRANSITION_GROUDON 23
|
||||
#define B_TRANSITION_RAYQUAZA 24
|
||||
#define B_TRANSITION_SHRED_SPLIT 25
|
||||
#define B_TRANSITION_BLACKHOLE1 26
|
||||
#define B_TRANSITION_BLACKHOLE2 27
|
||||
#define B_TRANSITION_RECTANGULAR_SPIRAL 28
|
||||
#define B_TRANSITION_FRONTIER_LOGO_WIGGLE 29
|
||||
#define B_TRANSITION_FRONTIER_LOGO_WAVE 30
|
||||
#define B_TRANSITION_FRONTIER_SQUARES 31
|
||||
#define B_TRANSITION_FRONTIER_SQUARES_SCROLL 32
|
||||
#define B_TRANSITION_FRONTIER_SQUARES_SPIRAL 33
|
||||
#define B_TRANSITION_FRONTIER_CIRCLES_MEET 34
|
||||
#define B_TRANSITION_FRONTIER_CIRCLES_CROSS 35
|
||||
#define B_TRANSITION_FRONTIER_CIRCLES_ASYMMETRIC_SPIRAL 36
|
||||
#define B_TRANSITION_FRONTIER_CIRCLES_SYMMETRIC_SPIRAL 37
|
||||
#define B_TRANSITION_FRONTIER_CIRCLES_MEET_IN_SEQ 38
|
||||
#define B_TRANSITION_FRONTIER_CIRCLES_CROSS_IN_SEQ 39
|
||||
#define B_TRANSITION_FRONTIER_CIRCLES_ASYMMETRIC_SPIRAL_IN_SEQ 40
|
||||
#define B_TRANSITION_FRONTIER_CIRCLES_SYMMETRIC_SPIRAL_IN_SEQ 41
|
||||
#define B_TRANSITION_COUNT 42
|
||||
// IDs for GetSpecialBattleTransition
|
||||
enum {
|
||||
B_TRANSITION_GROUP_B_TOWER,
|
||||
B_TRANSITION_GROUP_B_DOME = 3,
|
||||
B_TRANSITION_GROUP_B_PALACE,
|
||||
B_TRANSITION_GROUP_B_ARENA,
|
||||
B_TRANSITION_GROUP_B_FACTORY,
|
||||
B_TRANSITION_GROUP_B_PIKE,
|
||||
B_TRANSITION_GROUP_B_PYRAMID = 10,
|
||||
B_TRANSITION_GROUP_TRAINER_HILL,
|
||||
B_TRANSITION_GROUP_SECRET_BASE,
|
||||
B_TRANSITION_GROUP_E_READER,
|
||||
};
|
||||
|
||||
#endif // GUARD_BATTLE_TRANSITION_H
|
||||
|
||||
@@ -6,39 +6,43 @@
|
||||
#define MOVE_LIMITATION_DISABLED (1 << 2)
|
||||
#define MOVE_LIMITATION_TORMENTED (1 << 3)
|
||||
#define MOVE_LIMITATION_TAUNT (1 << 4)
|
||||
#define MOVE_LIMITATION_IMPRISON (1 << 5)
|
||||
#define MOVE_LIMITATION_IMPRISON (1 << 5)
|
||||
#define MOVE_LIMITATIONS_ALL 0xFF
|
||||
|
||||
#define ABILITYEFFECT_ON_SWITCHIN 0x0
|
||||
#define ABILITYEFFECT_ENDTURN 0x1
|
||||
#define ABILITYEFFECT_MOVES_BLOCK 0x2
|
||||
#define ABILITYEFFECT_ABSORBING 0x3
|
||||
#define ABILITYEFFECT_ON_DAMAGE 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_MUD_SPORT 0xFD
|
||||
#define ABILITYEFFECT_WATER_SPORT 0xFE
|
||||
#define ABILITYEFFECT_SWITCH_IN_WEATHER 0xFF
|
||||
#define ABILITYEFFECT_ON_SWITCHIN 0
|
||||
#define ABILITYEFFECT_ENDTURN 1
|
||||
#define ABILITYEFFECT_MOVES_BLOCK 2
|
||||
#define ABILITYEFFECT_ABSORBING 3
|
||||
#define ABILITYEFFECT_ON_DAMAGE 4
|
||||
#define ABILITYEFFECT_IMMUNITY 5
|
||||
#define ABILITYEFFECT_FORECAST 6
|
||||
#define ABILITYEFFECT_SYNCHRONIZE 7
|
||||
#define ABILITYEFFECT_ATK_SYNCHRONIZE 8
|
||||
#define ABILITYEFFECT_INTIMIDATE1 9
|
||||
#define ABILITYEFFECT_INTIMIDATE2 10
|
||||
#define ABILITYEFFECT_TRACE 11
|
||||
#define ABILITYEFFECT_CHECK_OTHER_SIDE 12
|
||||
#define ABILITYEFFECT_CHECK_BATTLER_SIDE 13
|
||||
#define ABILITYEFFECT_FIELD_SPORT 14
|
||||
#define ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER 15
|
||||
#define ABILITYEFFECT_COUNT_OTHER_SIDE 16
|
||||
#define ABILITYEFFECT_COUNT_BATTLER_SIDE 17
|
||||
#define ABILITYEFFECT_COUNT_ON_FIELD 18
|
||||
#define ABILITYEFFECT_CHECK_ON_FIELD 19
|
||||
#define ABILITYEFFECT_MUD_SPORT 253
|
||||
#define ABILITYEFFECT_WATER_SPORT 254
|
||||
#define ABILITYEFFECT_SWITCH_IN_WEATHER 255
|
||||
|
||||
#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 ITEMEFFECT_ON_SWITCH_IN 0x0
|
||||
#define ITEMEFFECT_MOVE_END 0x3
|
||||
#define ITEMEFFECT_KINGSROCK_SHELLBELL 0x4
|
||||
// For the first argument of ItemBattleEffects, to deteremine which block of item effects to try
|
||||
#define ITEMEFFECT_ON_SWITCH_IN 0
|
||||
#define ITEMEFFECT_NORMAL 1
|
||||
#define ITEMEFFECT_DUMMY 2 // Unused, empty
|
||||
#define ITEMEFFECT_MOVE_END 3
|
||||
#define ITEMEFFECT_KINGSROCK_SHELLBELL 4
|
||||
|
||||
#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)))
|
||||
|
||||
@@ -306,4 +306,17 @@
|
||||
#define B_WAIT_TIME_MED 48
|
||||
#define B_WAIT_TIME_SHORT 32
|
||||
|
||||
#define CASTFORM_NORMAL 0
|
||||
#define CASTFORM_FIRE 1
|
||||
#define CASTFORM_WATER 2
|
||||
#define CASTFORM_ICE 3
|
||||
#define NUM_CASTFORM_FORMS 4
|
||||
#define CASTFORM_SUBSTITUTE (1 << 7)
|
||||
|
||||
#define FLEE_ITEM 1
|
||||
#define FLEE_ABILITY 2
|
||||
|
||||
#define B_WIN_TYPE_NORMAL 0
|
||||
#define B_WIN_TYPE_ARENA 1
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_H
|
||||
|
||||
@@ -318,7 +318,7 @@
|
||||
#define SOUND_PAN_TARGET 63
|
||||
|
||||
// move background ids
|
||||
#define BG_DARK_ 0 // the same as BG_DARK but is unused
|
||||
#define BG_NONE 0 // the same as BG_DARK but is unused
|
||||
#define BG_DARK 1
|
||||
#define BG_GHOST 2
|
||||
#define BG_PSYCHIC 3
|
||||
|
||||
@@ -294,7 +294,7 @@ struct ContestResources
|
||||
u8 * contestBgTilemaps[CONTESTANT_COUNT];
|
||||
void * boxBlinkTiles1;
|
||||
void * boxBlinkTiles2;
|
||||
void * field_3c;
|
||||
void * animBgTileBuffer;
|
||||
};
|
||||
|
||||
#define eContest (*gContestResources->contest)
|
||||
|
||||
@@ -66,7 +66,7 @@ enum {
|
||||
REMATCH_TRENT,
|
||||
REMATCH_SAWYER,
|
||||
REMATCH_KIRA_AND_DAN,
|
||||
REMATCH_WALLY_3, // Entries above WALLY are considered normal trainers, from Wally below are special trainers
|
||||
REMATCH_WALLY_VR, // Entries above WALLY are considered normal trainers, from Wally below are special trainers
|
||||
REMATCH_ROXANNE,
|
||||
REMATCH_BRAWLY,
|
||||
REMATCH_WATTSON,
|
||||
@@ -75,7 +75,7 @@ enum {
|
||||
REMATCH_WINONA,
|
||||
REMATCH_TATE_AND_LIZA,
|
||||
REMATCH_JUAN,
|
||||
REMATCH_SIDNEY, // Entries below SIDNEY are considered part of REMATCH_ELITE_FOUR_ENTRIES.
|
||||
REMATCH_SIDNEY, // Entries from SIDNEY below are considered part of REMATCH_ELITE_FOUR_ENTRIES.
|
||||
REMATCH_PHOEBE,
|
||||
REMATCH_GLACIA,
|
||||
REMATCH_DRAKE,
|
||||
@@ -83,7 +83,7 @@ enum {
|
||||
REMATCH_TABLE_ENTRIES // The total number of rematch entries. Must be last in enum
|
||||
};
|
||||
|
||||
#define REMATCH_SPECIAL_TRAINER_START REMATCH_WALLY_3
|
||||
#define REMATCH_SPECIAL_TRAINER_START REMATCH_WALLY_VR
|
||||
#define REMATCH_ELITE_FOUR_ENTRIES REMATCH_SIDNEY
|
||||
|
||||
void UpdateGymLeaderRematch(void);
|
||||
|
||||
@@ -9,7 +9,7 @@ extern u8 gRecordedBattleMultiplayerId;
|
||||
#define B_RECORD_MODE_PLAYBACK 2
|
||||
|
||||
void RecordedBattle_Init(u8 arg0);
|
||||
void sub_8184E58(void);
|
||||
void RecordedBattle_SetTrainerInfo(void);
|
||||
void RecordedBattle_SetBattlerAction(u8 battlerId, u8 action);
|
||||
void RecordedBattle_ClearBattlerAction(u8 battlerId, u8 bytesToClear);
|
||||
u8 RecordedBattle_GetBattlerAction(u8 battlerId);
|
||||
@@ -30,8 +30,8 @@ u8 GetTextSpeedInRecordedBattle(void);
|
||||
void RecordedBattle_CopyBattlerMoves(void);
|
||||
void sub_818603C(u8 arg0);
|
||||
u32 GetAiScriptsInRecordedBattle(void);
|
||||
void sub_8186444(void);
|
||||
bool8 sub_8186450(void);
|
||||
void RecordedBattle_SetPlaybackFinished(void);
|
||||
bool8 RecordedBattle_CanStopPlayback(void);
|
||||
void GetRecordedBattleRecordMixFriendName(u8 *dst);
|
||||
u8 GetRecordedBattleRecordMixFriendClass(void);
|
||||
u8 GetRecordedBattleApprenticeId(void);
|
||||
|
||||
Reference in New Issue
Block a user