mirror of https://github.com/pret/pokecrystal.git
377 lines
8.1 KiB
NASM
377 lines
8.1 KiB
NASM
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
|