shithub: pokecrystal

Download patch

ref: d15429e3b78b55c5f111898bd1aaf58b1273d5d7
parent: dae16acd6f4e2e2c177e3776be6ed549af070c4f
author: Remy Oukaour <remy.oukaour@gmail.com>
date: Tue Dec 26 17:25:11 EST 2017

Separate constants in a consistent way

--- a/constants.asm
+++ b/constants.asm
@@ -7,6 +7,7 @@
 INCLUDE "constants/pokemon_constants.asm"
 INCLUDE "constants/type_constants.asm"
 INCLUDE "constants/move_constants.asm"
+INCLUDE "constants/move_effect_constants.asm"
 INCLUDE "constants/battle_constants.asm"
 INCLUDE "constants/battle_anim_constants.asm"
 INCLUDE "constants/map_constants.asm"
@@ -16,6 +17,7 @@
 INCLUDE "constants/item_constants.asm"
 INCLUDE "constants/item_data_constants.asm"
 INCLUDE "constants/trainer_constants.asm"
+INCLUDE "constants/trainer_data_constants.asm"
 INCLUDE "constants/script_constants.asm"
 INCLUDE "constants/event_flags.asm"
 INCLUDE "constants/engine_flags.asm"
--- a/constants/battle_constants.asm
+++ b/constants/battle_constants.asm
@@ -213,166 +213,6 @@
 	const WEATHER_SUN_END
 	const WEATHER_SANDSTORM_END
 
-; MoveEffectsPointers indexes (see data/moves/move_effects_pointers.asm)
-	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_SELFDESTRUCT
-	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_RESET_STATS
-	const EFFECT_BIDE
-	const EFFECT_RAMPAGE
-	const EFFECT_FORCE_SWITCH
-	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_TRAP_TARGET
-	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_POISON_MULTI_HIT
-	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_DEFENSE_UP_HIT
-	const EFFECT_ATTACK_UP_HIT
-	const EFFECT_ALL_UP_HIT
-	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
-
 ; wBattleAction
 	const_def
 	const BATTLEACTION_MOVE1
--- /dev/null
+++ b/constants/move_effect_constants.asm
@@ -1,0 +1,159 @@
+; MoveEffectsPointers indexes (see data/moves/move_effects_pointers.asm)
+	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_SELFDESTRUCT
+	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_RESET_STATS
+	const EFFECT_BIDE
+	const EFFECT_RAMPAGE
+	const EFFECT_FORCE_SWITCH
+	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_TRAP_TARGET
+	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_POISON_MULTI_HIT
+	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_DEFENSE_UP_HIT
+	const EFFECT_ATTACK_UP_HIT
+	const EFFECT_ALL_UP_HIT
+	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
--- a/constants/trainer_constants.asm
+++ b/constants/trainer_constants.asm
@@ -677,57 +677,3 @@
 	const EUSINE
 
 NUM_TRAINER_CLASSES EQU __enum__
-
-; TrainerClassAttributes struct members (see data/trainers/trainer_attributes.asm)
-	const_def
-	const TRNATTR_ITEM1           ; 0
-	const TRNATTR_ITEM2           ; 1
-	const TRNATTR_BASEMONEY       ; 2
-	const TRNATTR_AI_MOVE_WEIGHTS ; 3
-	const TRNATTR_AI2             ; 4
-	const TRNATTR_AI_ITEM_SWITCH  ; 5
-	const TRNATTR_AI4             ; 6
-NUM_TRAINER_ATTRIBUTES EQU const_value
-
-; TRNATTR_AI_MOVE_WEIGHTS bit flags (wEnemyTrainerAIFlags)
-	const_def
-	const       NO_AI
-const_value = 0
-	shift_const AI_BASIC
-	shift_const AI_SETUP
-	shift_const AI_TYPES
-	shift_const AI_OFFENSIVE
-	shift_const AI_SMART
-	shift_const AI_OPPORTUNIST
-	shift_const AI_AGGRESSIVE
-	shift_const AI_CAUTIOUS
-	shift_const AI_STATUS
-	shift_const AI_RISKY
-	shift_const AI_10
-	shift_const AI_11
-	shift_const AI_12
-	shift_const AI_13
-	shift_const AI_14
-	shift_const AI_15
-
-; TRNATTR_AI_ITEM_SWITCH bit flags
-CONTEXT_USE_F      EQU 6
-UNKNOWN_USE_F      EQU 5
-ALWAYS_USE_F       EQU 4
-SWITCH_SOMETIMES_F EQU 2
-SWITCH_RARELY_F    EQU 1
-SWITCH_OFTEN_F     EQU 0
-
-CONTEXT_USE        EQU 1 << CONTEXT_USE_F
-UNKNOWN_USE        EQU 1 << UNKNOWN_USE_F
-ALWAYS_USE         EQU 1 << ALWAYS_USE_F
-SWITCH_SOMETIMES   EQU 1 << SWITCH_SOMETIMES_F
-SWITCH_RARELY      EQU 1 << SWITCH_RARELY_F
-SWITCH_OFTEN       EQU 1 << SWITCH_OFTEN_F
-
-; TrainerTypes indexes (see trainers/read_party.asm)
-	const_def
-	const TRAINERTYPE_NORMAL
-	const TRAINERTYPE_MOVES
-	const TRAINERTYPE_ITEM
-	const TRAINERTYPE_ITEM_MOVES
--- /dev/null
+++ b/constants/trainer_data_constants.asm
@@ -1,0 +1,53 @@
+; TrainerClassAttributes struct members (see data/trainers/trainer_attributes.asm)
+	const_def
+	const TRNATTR_ITEM1           ; 0
+	const TRNATTR_ITEM2           ; 1
+	const TRNATTR_BASEMONEY       ; 2
+	const TRNATTR_AI_MOVE_WEIGHTS ; 3
+	const TRNATTR_AI2             ; 4
+	const TRNATTR_AI_ITEM_SWITCH  ; 5
+	const TRNATTR_AI4             ; 6
+NUM_TRAINER_ATTRIBUTES EQU const_value
+
+; TRNATTR_AI_MOVE_WEIGHTS bit flags (wEnemyTrainerAIFlags)
+	const_def
+	const       NO_AI
+const_value = 0
+	shift_const AI_BASIC
+	shift_const AI_SETUP
+	shift_const AI_TYPES
+	shift_const AI_OFFENSIVE
+	shift_const AI_SMART
+	shift_const AI_OPPORTUNIST
+	shift_const AI_AGGRESSIVE
+	shift_const AI_CAUTIOUS
+	shift_const AI_STATUS
+	shift_const AI_RISKY
+	shift_const AI_10
+	shift_const AI_11
+	shift_const AI_12
+	shift_const AI_13
+	shift_const AI_14
+	shift_const AI_15
+
+; TRNATTR_AI_ITEM_SWITCH bit flags
+CONTEXT_USE_F      EQU 6
+UNKNOWN_USE_F      EQU 5
+ALWAYS_USE_F       EQU 4
+SWITCH_SOMETIMES_F EQU 2
+SWITCH_RARELY_F    EQU 1
+SWITCH_OFTEN_F     EQU 0
+
+CONTEXT_USE        EQU 1 << CONTEXT_USE_F
+UNKNOWN_USE        EQU 1 << UNKNOWN_USE_F
+ALWAYS_USE         EQU 1 << ALWAYS_USE_F
+SWITCH_SOMETIMES   EQU 1 << SWITCH_SOMETIMES_F
+SWITCH_RARELY      EQU 1 << SWITCH_RARELY_F
+SWITCH_OFTEN       EQU 1 << SWITCH_OFTEN_F
+
+; TrainerTypes indexes (see trainers/read_party.asm)
+	const_def
+	const TRAINERTYPE_NORMAL
+	const TRAINERTYPE_MOVES
+	const TRAINERTYPE_ITEM
+	const TRAINERTYPE_ITEM_MOVES