2019-11-29 02:09:35 +00:00
# ifndef GUARD_CONSTANTS_BATTLE_DOME_H
# define GUARD_CONSTANTS_BATTLE_DOME_H
2019-12-18 07:32:52 +00:00
# define DOME_ROUND1 0
# define DOME_ROUND2 1
# define DOME_SEMIFINAL 2
# define DOME_FINAL 3
# define DOME_ROUNDS_COUNT 4
2020-01-05 15:50:32 +00:00
//#define DOME_TOURNAMENT_TRAINERS_COUNT 16 -- defined in global
2019-12-18 07:32:52 +00:00
# define DOME_TOURNAMENT_MATCHES_COUNT DOME_TOURNAMENT_TRAINERS_COUNT - 1
# define DOME_BATTLE_PARTY_SIZE 2
# define DOME_PLAYER_WON_MATCH 1
# define DOME_PLAYER_LOST_MATCH 2
# define DOME_PLAYER_RETIRED 9
2019-11-29 02:09:35 +00:00
# define BATTLE_DOME_FUNC_INIT 0
# define BATTLE_DOME_FUNC_GET_DATA 1
# define BATTLE_DOME_FUNC_SET_DATA 2
# define BATTLE_DOME_FUNC_GET_ROUND_TEXT 3
# define BATTLE_DOME_FUNC_GET_OPPONENT_NAME 4
# define BATTLE_DOME_FUNC_INIT_OPPONENT_PARTY 5
# define BATTLE_DOME_FUNC_SHOW_OPPONENT_INFO 6
# define BATTLE_DOME_FUNC_SHOW_TOURNEY_TREE 7
2020-01-05 15:50:32 +00:00
# define BATTLE_DOME_FUNC_SHOW_PREV_TOURNEY_TREE 8
2019-11-29 02:09:35 +00:00
# define BATTLE_DOME_FUNC_SET_OPPONENT_ID 9
# define BATTLE_DOME_FUNC_SET_OPPONENT_GFX 10
# define BATTLE_DOME_FUNC_SHOW_STATIC_TOURNEY_TREE 11
# define BATTLE_DOME_FUNC_RESOLVE_WINNERS 12
# define BATTLE_DOME_FUNC_SAVE 13
# define BATTLE_DOME_FUNC_INCREMENT_STREAK 14
# define BATTLE_DOME_FUNC_SET_TRAINERS 15
# define BATTLE_DOME_FUNC_RESET_SKETCH 16
# define BATTLE_DOME_FUNC_RESTORE_HELD_ITEMS 17
# define BATTLE_DOME_FUNC_REDUCE_PARTY 18
# define BATTLE_DOME_FUNC_COMPARE_SEEDS 19
# define BATTLE_DOME_FUNC_GET_WINNER_NAME 20
2019-12-18 07:32:52 +00:00
# define BATTLE_DOME_FUNC_INIT_RESULTS_TREE 21
2019-11-29 02:09:35 +00:00
# define BATTLE_DOME_FUNC_INIT_TRAINERS 22
2019-12-18 07:32:52 +00:00
# define DOME_DATA_WIN_STREAK 0
# define DOME_DATA_WIN_STREAK_ACTIVE 1
# define DOME_DATA_ATTEMPTED_SINGLES_50 2
# define DOME_DATA_ATTEMPTED_SINGLES_OPEN 3
# define DOME_DATA_HAS_WON_SINGLES_50 4
# define DOME_DATA_HAS_WON_SINGLES_OPEN 5
# define DOME_DATA_ATTEMPTED_CHALLENGE 6
# define DOME_DATA_HAS_WON_CHALLENGE 7
# define DOME_DATA_SELECTED_MONS 8
2020-01-05 15:50:32 +00:00
# define DOME_DATA_PREV_TOURNEY_TYPE 9
2019-11-29 02:09:35 +00:00
2020-01-05 15:50:32 +00:00
// ID for Exit/Cancel on the tourney tree
# define TOURNEY_TREE_CLOSE_BUTTON 31
2019-12-21 09:27:12 +00:00
2020-01-05 15:50:32 +00:00
// Input IDs on the tourney tree
# define TOURNEY_TREE_SELECTED_CLOSE 0
# define TOURNEY_TREE_NO_SELECTION 1
# define TOURNEY_TREE_SELECTED_TRAINER 2
# define TOURNEY_TREE_SELECTED_MATCH 3
2019-12-21 09:27:12 +00:00
2020-01-05 15:50:32 +00:00
// Modes for showing the tourney tree info card
# define INFOCARD_NEXT_OPPONENT 0
# define INFOCARD_TRAINER 1
# define INFOCARD_MATCH 2
2019-12-21 09:27:12 +00:00
2020-01-05 15:50:32 +00:00
// Input IDs for the info cards
# define INFOCARD_INPUT_NONE 0
# define TRAINERCARD_INPUT_UP 1
# define TRAINERCARD_INPUT_DOWN 2
# define TRAINERCARD_INPUT_LEFT 3
# define TRAINERCARD_INPUT_RIGHT 4
# define MATCHCARD_INPUT_UP 5
# define MATCHCARD_INPUT_DOWN 6
# define MATCHCARD_INPUT_LEFT 7
# define MATCHCARD_INPUT_RIGHT 8
# define INFOCARD_INPUT_AB 9
# define CARD_ALTERNATE_SLOT (1 << 0) // When set, uses an alternate slot to store the incoming card sprites
# define MOVE_CARD_RIGHT (1 << 1)
# define MOVE_CARD_DOWN (1 << 2)
# define MOVE_CARD_LEFT (1 << 3)
# define MOVE_CARD_UP (1 << 4)
# define MOVE_CARD (MOVE_CARD_RIGHT | MOVE_CARD_DOWN | MOVE_CARD_LEFT | MOVE_CARD_UP)
// Text IDs for sBattleDomeWinTexts
# define DOME_TEXT_NO_WINNER_YET 0
# define DOME_TEXT_WON_USING_MOVE 1
# define DOME_TEXT_CHAMP_USING_MOVE 2
# define DOME_TEXT_WON_ON_FORFEIT 3
# define DOME_TEXT_CHAMP_ON_FORFEIT 4
# define DOME_TEXT_WON_NO_MOVES 5
# define DOME_TEXT_CHAMP_NO_MOVES 6
// Offsets/start positions within sBattleDomeOpponentStatsTexts
# define DOME_TEXT_TWO_GOOD_STATS 0
# define DOME_TEXT_ONE_GOOD_STAT 15
# define DOME_TEXT_TWO_BAD_STATS 21
# define DOME_TEXT_ONE_BAD_STAT 36
# define DOME_TEXT_WELL_BALANCED 42
# define DOME_TEXT_HP 0
# define DOME_TEXT_ATK 5
# define DOME_TEXT_DEF 9
# define DOME_TEXT_SPEED 12
# define DOME_TEXT_SPATK 14
2023-11-24 15:19:32 +00:00
// Determine Battle Dome trainers battle styles
# define MOVE_POINTS_COMBO 0 // Moves that work well in combination: moves that cause or are affected by weather/terrain, Stockpile+, entry hazards, sleep inflictions & effects benefiting from it, offensive boosts of a single stat with at least two stages or at least two stats, and several other effects
2020-01-05 15:50:32 +00:00
# define MOVE_POINTS_STAT_RAISE 1
# define MOVE_POINTS_STAT_LOWER 2
2023-11-24 15:19:32 +00:00
# define MOVE_POINTS_RARE 3 // Moves that appear in less than 5% of levelup learnsets
# define MOVE_POINTS_HEAL 4 // Moves that heal
# define MOVE_POINTS_RISKY 5 // Move effects deemed risky by the Emerald developers (excluding High Jump Kick and others for some reason)
# define MOVE_POINTS_STATUS 6 // Moves that cause status effects without dealing damage
# define MOVE_POINTS_DMG 7 // Moves that deal damage (BP > 0)
# define MOVE_POINTS_DEF 8 // Moves like screens, accuracy-lowers or evasiveness-raisers, (special) defense raisers, protect etc.
# define MOVE_POINTS_ACCURATE 9 // Moves with 100% accuracy (or that are guaranteed hits)
# define MOVE_POINTS_POWERFUL 10 // Moves with 100 BP or more
# define MOVE_POINTS_POPULAR 11 // TM/HM moves with 90 BP or more or those that raise a single offensive stat by at least 2 stages
# define MOVE_POINTS_LUCK 12 // Move effects that depend on luck and moves with Accuracy of <= 50%
# define MOVE_POINTS_STRONG 13 // Moves with 90 BP or more
# define MOVE_POINTS_LOW_PP 14 // Moves with 5 PP or less
2020-01-05 15:50:32 +00:00
# define MOVE_POINTS_EFFECT 15 // Moves with additional effects
# define NUM_MOVE_POINT_TYPES 16
// Battle style IDs for sBattleDomeOpponentStyleTexts
2019-12-21 09:27:12 +00:00
# define DOME_BATTLE_STYLE_RISKY 0
# define DOME_BATTLE_STYLE_STALL 1
# define DOME_BATTLE_STYLE_VARIED 2
# define DOME_BATTLE_STYLE_COMBO_HIGH 3
# define DOME_BATTLE_STYLE_RARE_MOVES 4
# define DOME_BATTLE_STYLE_RARE_MOVE 5
# define DOME_BATTLE_STYLE_HP 6
# define DOME_BATTLE_STYLE_STORE_POWER 7
# define DOME_BATTLE_STYLE_ENFEEBLE_LOW 8
# define DOME_BATTLE_STYLE_LUCK 9
2020-01-05 15:50:32 +00:00
# define DOME_BATTLE_STYLE_REGAL 10
2019-12-21 09:27:12 +00:00
# define DOME_BATTLE_STYLE_LOW_PP 11
# define DOME_BATTLE_STYLE_STATUS_ATK 12
# define DOME_BATTLE_STYLE_ENDURE 13
# define DOME_BATTLE_STYLE_STATUS 14
# define DOME_BATTLE_STYLE_STRAIGHTFORWARD 15
# define DOME_BATTLE_STYLE_AGGRESSIVE 16
# define DOME_BATTLE_STYLE_DEF 17
# define DOME_BATTLE_STYLE_ENFEEBLE_HIGH 18
# define DOME_BATTLE_STYLE_POPULAR_POWER 19
# define DOME_BATTLE_STYLE_COMBO_LOW 20
# define DOME_BATTLE_STYLE_ACCURATE 21
# define DOME_BATTLE_STYLE_POWERFUL 22
# define DOME_BATTLE_STYLE_ATK_OVER_DEF 23
# define DOME_BATTLE_STYLE_DEF_OVER_ATK 24
# define DOME_BATTLE_STYLE_POPULAR_STRONG 25
# define DOME_BATTLE_STYLE_EFFECTS 26
# define DOME_BATTLE_STYLE_BALANCED 27
# define DOME_BATTLE_STYLE_UNUSED1 28
# define DOME_BATTLE_STYLE_UNUSED2 29
# define DOME_BATTLE_STYLE_UNUSED3 30
# define DOME_BATTLE_STYLE_UNUSED4 31
# define NUM_BATTLE_STYLES 32
2019-11-29 02:09:35 +00:00
# endif //GUARD_CONSTANTS_BATTLE_DOME_H