summaryrefslogtreecommitdiff
path: root/constants/battle_constants.asm
diff options
context:
space:
mode:
Diffstat (limited to 'constants/battle_constants.asm')
-rw-r--r--constants/battle_constants.asm376
1 files changed, 376 insertions, 0 deletions
diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm
new file mode 100644
index 00000000..804f223c
--- /dev/null
+++ b/constants/battle_constants.asm
@@ -0,0 +1,376 @@
+MAX_LEVEL EQU 100
+MIN_LEVEL EQU 2
+EGG_LEVEL EQU 5
+NUM_MOVES EQU 4
+
+REST_TURNS EQU 2
+MAX_STAT_LEVEL EQU 13
+BASE_STAT_LEVEL EQU 7
+
+ const_def
+ const ATTACK
+ const DEFENSE
+ const SPEED
+ const SP_ATTACK
+ const SP_DEFENSE
+ const ACCURACY
+ const EVASION
+ const ABILITY
+NUM_LEVEL_STATS EQU const_value
+
+; move struct
+ const_def
+ const MOVE_ANIM
+ const MOVE_EFFECT
+ const MOVE_POWER
+ const MOVE_TYPE
+ const MOVE_ACC
+ const MOVE_PP
+ const MOVE_CHANCE
+ const MOVE_LENGTH
+
+; stat constants
+const_value SET 1
+ const STAT_HP
+ const STAT_ATK
+ const STAT_DEF
+ const STAT_SPD
+ const STAT_SATK
+ const STAT_SDEF
+NUM_STATS EQU const_value
+STAT_MIN_NORMAL EQU 5
+STAT_MIN_HP EQU 10
+
+; shiny dvs
+ATKDEFDV_SHINY EQU $EA
+SPDSPCDV_SHINY EQU $AA
+
+; battle classes
+const_value SET 1
+ const WILD_BATTLE
+ const TRAINER_BATTLE
+
+; battle types
+ const_def
+ const BATTLETYPE_NORMAL
+ const BATTLETYPE_CANLOSE
+ const BATTLETYPE_DEBUG
+ const BATTLETYPE_TUTORIAL
+ const BATTLETYPE_FISH
+ const BATTLETYPE_ROAMING
+ const BATTLETYPE_CONTEST
+ const BATTLETYPE_SHINY
+ const BATTLETYPE_TREE
+ const BATTLETYPE_TRAP
+ const BATTLETYPE_FORCEITEM
+ const BATTLETYPE_CELEBI
+ const BATTLETYPE_SUICUNE
+
+; battle variables
+ const_def
+ const BATTLE_VARS_SUBSTATUS1
+ const BATTLE_VARS_SUBSTATUS2
+ const BATTLE_VARS_SUBSTATUS3
+ const BATTLE_VARS_SUBSTATUS4
+ const BATTLE_VARS_SUBSTATUS5
+ const BATTLE_VARS_SUBSTATUS1_OPP
+ const BATTLE_VARS_SUBSTATUS2_OPP
+ const BATTLE_VARS_SUBSTATUS3_OPP
+ const BATTLE_VARS_SUBSTATUS4_OPP
+ const BATTLE_VARS_SUBSTATUS5_OPP
+ const BATTLE_VARS_STATUS
+ const BATTLE_VARS_STATUS_OPP
+ const BATTLE_VARS_MOVE_ANIM
+ const BATTLE_VARS_MOVE_EFFECT
+ const BATTLE_VARS_MOVE_POWER
+ const BATTLE_VARS_MOVE_TYPE
+ const BATTLE_VARS_MOVE
+ const BATTLE_VARS_LAST_COUNTER_MOVE
+ const BATTLE_VARS_LAST_COUNTER_MOVE_OPP
+ const BATTLE_VARS_LAST_MOVE
+ const BATTLE_VARS_LAST_MOVE_OPP
+
+; status
+const_value SET 3
+ const PSN
+ const BRN
+ const FRZ
+ const PAR
+ const SLP ; 7 turns
+
+ALL_STATUS EQU (1 << PSN) + (1 << BRN) + (1 << FRZ) + (1 << PAR) + SLP
+
+; substatus
+ enum_start 7, -1
+ enum SUBSTATUS_IN_LOVE
+ enum SUBSTATUS_ROLLOUT
+ enum SUBSTATUS_ENDURE
+ enum SUBSTATUS_PERISH
+ enum SUBSTATUS_IDENTIFIED
+ enum SUBSTATUS_PROTECT
+ enum SUBSTATUS_CURSE
+ enum SUBSTATUS_NIGHTMARE
+
+SUBSTATUS_CURLED EQU 0
+
+ enum_start 7, -1
+ enum SUBSTATUS_CONFUSED
+ enum SUBSTATUS_FLYING
+ enum SUBSTATUS_UNDERGROUND
+ enum SUBSTATUS_CHARGED
+ enum SUBSTATUS_FLINCHED
+ enum SUBSTATUS_IN_LOOP
+ enum SUBSTATUS_RAMPAGE
+ enum SUBSTATUS_BIDE
+
+ enum_start 7, -1
+ enum SUBSTATUS_LEECH_SEED
+ enum SUBSTATUS_RAGE
+ enum SUBSTATUS_RECHARGE
+ enum SUBSTATUS_SUBSTITUTE
+ enum SUBSTATUS_UNKNOWN_1
+ enum SUBSTATUS_FOCUS_ENERGY
+ enum SUBSTATUS_MIST
+ enum SUBSTATUS_X_ACCURACY
+
+ enum_start 7, -1
+ enum SUBSTATUS_CANT_RUN
+ enum SUBSTATUS_DESTINY_BOND
+ enum SUBSTATUS_LOCK_ON
+ enum SUBSTATUS_ENCORED
+ enum SUBSTATUS_TRANSFORMED
+ enum SUBSTATUS_UNKNOWN_2
+ enum SUBSTATUS_UNKNOWN_3
+ enum SUBSTATUS_TOXIC
+
+; environmental
+ enum_start 4, -1
+ enum SCREENS_REFLECT
+ enum SCREENS_LIGHT_SCREEN
+ enum SCREENS_SAFEGUARD
+ enum SCREENS_UNUSED
+ enum SCREENS_SPIKES
+
+; weather
+ const_def
+ const WEATHER_NONE
+ const WEATHER_RAIN
+ const WEATHER_SUN
+ const WEATHER_SANDSTORM
+ const WEATHER_RAIN_END
+ const WEATHER_SUN_END
+ const WEATHER_SANDSTORM_END
+
+
+; move effects
+ const_def
+ const EFFECT_NORMAL_HIT
+ const EFFECT_SLEEP
+ const EFFECT_POISON_HIT
+ const EFFECT_LEECH_HIT
+ const EFFECT_BURN_HIT
+ const EFFECT_FREEZE_HIT
+ const EFFECT_PARALYZE_HIT
+ const EFFECT_EXPLOSION
+ const EFFECT_DREAM_EATER
+ const EFFECT_MIRROR_MOVE
+ const EFFECT_ATTACK_UP
+ const EFFECT_DEFENSE_UP
+ const EFFECT_SPEED_UP
+ const EFFECT_SP_ATK_UP
+ const EFFECT_SP_DEF_UP
+ const EFFECT_ACCURACY_UP
+ const EFFECT_EVASION_UP
+ const EFFECT_ALWAYS_HIT
+ const EFFECT_ATTACK_DOWN
+ const EFFECT_DEFENSE_DOWN
+ const EFFECT_SPEED_DOWN
+ const EFFECT_SP_ATK_DOWN
+ const EFFECT_SP_DEF_DOWN
+ const EFFECT_ACCURACY_DOWN
+ const EFFECT_EVASION_DOWN
+ const EFFECT_HAZE
+ const EFFECT_BIDE
+ const EFFECT_RAMPAGE
+ const EFFECT_WHIRLWIND
+ const EFFECT_MULTI_HIT
+ const EFFECT_CONVERSION
+ const EFFECT_FLINCH_HIT
+ const EFFECT_HEAL
+ const EFFECT_TOXIC
+ const EFFECT_PAY_DAY
+ const EFFECT_LIGHT_SCREEN
+ const EFFECT_TRI_ATTACK
+ const EFFECT_UNUSED_25
+ const EFFECT_OHKO
+ const EFFECT_RAZOR_WIND
+ const EFFECT_SUPER_FANG
+ const EFFECT_STATIC_DAMAGE
+ const EFFECT_BIND
+ const EFFECT_UNUSED_2B
+ const EFFECT_DOUBLE_HIT
+ const EFFECT_JUMP_KICK
+ const EFFECT_MIST
+ const EFFECT_FOCUS_ENERGY
+ const EFFECT_RECOIL_HIT
+ const EFFECT_CONFUSE
+ const EFFECT_ATTACK_UP_2
+ const EFFECT_DEFENSE_UP_2
+ const EFFECT_SPEED_UP_2
+ const EFFECT_SP_ATK_UP_2
+ const EFFECT_SP_DEF_UP_2
+ const EFFECT_ACCURACY_UP_2
+ const EFFECT_EVASION_UP_2
+ const EFFECT_TRANSFORM
+ const EFFECT_ATTACK_DOWN_2
+ const EFFECT_DEFENSE_DOWN_2
+ const EFFECT_SPEED_DOWN_2
+ const EFFECT_SP_ATK_DOWN_2
+ const EFFECT_SP_DEF_DOWN_2
+ const EFFECT_ACCURACY_DOWN_2
+ const EFFECT_EVASION_DOWN_2
+ const EFFECT_REFLECT
+ const EFFECT_POISON
+ const EFFECT_PARALYZE
+ const EFFECT_ATTACK_DOWN_HIT
+ const EFFECT_DEFENSE_DOWN_HIT
+ const EFFECT_SPEED_DOWN_HIT
+ const EFFECT_SP_ATK_DOWN_HIT
+ const EFFECT_SP_DEF_DOWN_HIT
+ const EFFECT_ACCURACY_DOWN_HIT
+ const EFFECT_EVASION_DOWN_HIT
+ const EFFECT_SKY_ATTACK
+ const EFFECT_CONFUSE_HIT
+ const EFFECT_TWINEEDLE
+ const EFFECT_UNUSED_4E
+ const EFFECT_SUBSTITUTE
+ const EFFECT_HYPER_BEAM
+ const EFFECT_RAGE
+ const EFFECT_MIMIC
+ const EFFECT_METRONOME
+ const EFFECT_LEECH_SEED
+ const EFFECT_SPLASH
+ const EFFECT_DISABLE
+ const EFFECT_LEVEL_DAMAGE
+ const EFFECT_PSYWAVE
+ const EFFECT_COUNTER
+ const EFFECT_ENCORE
+ const EFFECT_PAIN_SPLIT
+ const EFFECT_SNORE
+ const EFFECT_CONVERSION2
+ const EFFECT_LOCK_ON
+ const EFFECT_SKETCH
+ const EFFECT_DEFROST_OPPONENT
+ const EFFECT_SLEEP_TALK
+ const EFFECT_DESTINY_BOND
+ const EFFECT_REVERSAL
+ const EFFECT_SPITE
+ const EFFECT_FALSE_SWIPE
+ const EFFECT_HEAL_BELL
+ const EFFECT_PRIORITY_HIT
+ const EFFECT_TRIPLE_KICK
+ const EFFECT_THIEF
+ const EFFECT_MEAN_LOOK
+ const EFFECT_NIGHTMARE
+ const EFFECT_FLAME_WHEEL
+ const EFFECT_CURSE
+ const EFFECT_UNUSED_6E
+ const EFFECT_PROTECT
+ const EFFECT_SPIKES
+ const EFFECT_FORESIGHT
+ const EFFECT_PERISH_SONG
+ const EFFECT_SANDSTORM
+ const EFFECT_ENDURE
+ const EFFECT_ROLLOUT
+ const EFFECT_SWAGGER
+ const EFFECT_FURY_CUTTER
+ const EFFECT_ATTRACT
+ const EFFECT_RETURN
+ const EFFECT_PRESENT
+ const EFFECT_FRUSTRATION
+ const EFFECT_SAFEGUARD
+ const EFFECT_SACRED_FIRE
+ const EFFECT_MAGNITUDE
+ const EFFECT_BATON_PASS
+ const EFFECT_PURSUIT
+ const EFFECT_RAPID_SPIN
+ const EFFECT_UNUSED_82
+ const EFFECT_UNUSED_83
+ const EFFECT_MORNING_SUN
+ const EFFECT_SYNTHESIS
+ const EFFECT_MOONLIGHT
+ const EFFECT_HIDDEN_POWER
+ const EFFECT_RAIN_DANCE
+ const EFFECT_SUNNY_DAY
+ const EFFECT_STEEL_WING
+ const EFFECT_METAL_CLAW
+ const EFFECT_ANCIENTPOWER
+ const EFFECT_FAKE_OUT
+ const EFFECT_BELLY_DRUM
+ const EFFECT_PSYCH_UP
+ const EFFECT_MIRROR_COAT
+ const EFFECT_SKULL_BASH
+ const EFFECT_TWISTER
+ const EFFECT_EARTHQUAKE
+ const EFFECT_FUTURE_SIGHT
+ const EFFECT_GUST
+ const EFFECT_STOMP
+ const EFFECT_SOLARBEAM
+ const EFFECT_THUNDER
+ const EFFECT_TELEPORT
+ const EFFECT_BEAT_UP
+ const EFFECT_FLY
+ const EFFECT_DEFENSE_CURL
+
+; Battle vars used in home/battle.asm
+ const_def
+ const PLAYER_SUBSTATUS_1
+ const ENEMY_SUBSTATUS_1
+ const PLAYER_SUBSTATUS_2
+ const ENEMY_SUBSTATUS_2
+ const PLAYER_SUBSTATUS_3
+ const ENEMY_SUBSTATUS_3
+ const PLAYER_SUBSTATUS_4
+ const ENEMY_SUBSTATUS_4
+ const PLAYER_SUBSTATUS_5
+ const ENEMY_SUBSTATUS_5
+ const PLAYER_STATUS
+ const ENEMY_STATUS
+ const PLAYER_MOVE_ANIMATION
+ const ENEMY_MOVE_ANIMATION
+ const PLAYER_MOVE_EFFECT
+ const ENEMY_MOVE_EFFECT
+ const PLAYER_MOVE_POWER
+ const ENEMY_MOVE_POWER
+ const PLAYER_MOVE_TYPE
+ const ENEMY_MOVE_TYPE
+ const PLAYER_CUR_MOVE
+ const ENEMY_CUR_MOVE
+ const PLAYER_COUNTER_MOVE
+ const ENEMY_COUNTER_MOVE
+ const PLAYER_LAST_MOVE
+ const ENEMY_LAST_MOVE
+
+; wBattleAction
+ const_def
+ const BATTLEACTION_MOVE1
+ const BATTLEACTION_MOVE2
+ const BATTLEACTION_MOVE3
+ const BATTLEACTION_MOVE4
+ const BATTLEACTION_SWITCH1
+ const BATTLEACTION_SWITCH2
+ const BATTLEACTION_SWITCH3
+ const BATTLEACTION_SWITCH4
+ const BATTLEACTION_SWITCH5
+ const BATTLEACTION_SWITCH6
+ const BATTLEACTION_A
+ const BATTLEACTION_B
+ const BATTLEACTION_C
+ const BATTLEACTION_D
+ const BATTLEACTION_E
+ const BATTLEACTION_FORFEIT
+
+ const_def
+ const WIN
+ const LOSE
+ const DRAW