mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-22 22:05:06 -05:00
Merge pull request #3 from cawtds/feature/updated-pokemon-structs
Feature/updated pokemon structs
This commit is contained in:
commit
0a81036b62
|
|
@ -325,13 +325,13 @@
|
|||
|
||||
.macro if_effect byte:req, ptr:req
|
||||
.byte 0x37
|
||||
.byte \byte
|
||||
.2byte \byte
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
.macro if_not_effect byte:req, ptr:req
|
||||
.byte 0x38
|
||||
.byte \byte
|
||||
.2byte \byte
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
|
@ -396,14 +396,14 @@
|
|||
.macro if_has_move_with_effect battler:req, effect:req, ptr:req
|
||||
.byte 0x41
|
||||
.byte \battler
|
||||
.byte \effect
|
||||
.2byte \effect
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
.macro if_doesnt_have_move_with_effect battler:req, effect:req, ptr:req
|
||||
.byte 0x42
|
||||
.byte \battler
|
||||
.byte \effect
|
||||
.2byte \effect
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -406,6 +406,8 @@ B_DEF_PREFIX3 = FD 2D
|
|||
B_TRAINER2_LOSE_TEXT = FD 2E
|
||||
B_TRAINER2_WIN_TEXT = FD 2F
|
||||
B_BUFF3 = FD 30
|
||||
B_ATK_TEAM2 = FD 38
|
||||
B_DEF_TEAM2 = FD 3B
|
||||
|
||||
@ indicates the end of a town/city name (before " TOWN" or " CITY")
|
||||
NAME_END = FC 00
|
||||
|
|
|
|||
|
|
@ -1 +1,2 @@
|
|||
gRngValue
|
||||
gRng2Value
|
||||
|
|
|
|||
|
|
@ -1811,69 +1811,69 @@ AI_CV_Encore_End::
|
|||
end
|
||||
|
||||
AI_CV_Encore_EncouragedMovesToEncore::
|
||||
.byte EFFECT_DREAM_EATER
|
||||
.byte EFFECT_ATTACK_UP
|
||||
.byte EFFECT_DEFENSE_UP
|
||||
.byte EFFECT_SPEED_UP
|
||||
.byte EFFECT_SPECIAL_ATTACK_UP
|
||||
.byte EFFECT_HAZE
|
||||
.byte EFFECT_ROAR
|
||||
.byte EFFECT_CONVERSION
|
||||
.byte EFFECT_TOXIC
|
||||
.byte EFFECT_LIGHT_SCREEN
|
||||
.byte EFFECT_REST
|
||||
.byte EFFECT_SUPER_FANG
|
||||
.byte EFFECT_SPECIAL_DEFENSE_UP_2
|
||||
.byte EFFECT_CONFUSE
|
||||
.byte EFFECT_POISON
|
||||
.byte EFFECT_PARALYZE
|
||||
.byte EFFECT_LEECH_SEED
|
||||
.byte EFFECT_SPLASH
|
||||
.byte EFFECT_ATTACK_UP_2
|
||||
.byte EFFECT_ENCORE
|
||||
.byte EFFECT_CONVERSION_2
|
||||
.byte EFFECT_LOCK_ON
|
||||
.byte EFFECT_HEAL_BELL
|
||||
.byte EFFECT_MEAN_LOOK
|
||||
.byte EFFECT_NIGHTMARE
|
||||
.byte EFFECT_PROTECT
|
||||
.byte EFFECT_SKILL_SWAP
|
||||
.byte EFFECT_FORESIGHT
|
||||
.byte EFFECT_PERISH_SONG
|
||||
.byte EFFECT_SANDSTORM
|
||||
.byte EFFECT_ENDURE
|
||||
.byte EFFECT_SWAGGER
|
||||
.byte EFFECT_ATTRACT
|
||||
.byte EFFECT_SAFEGUARD
|
||||
.byte EFFECT_RAIN_DANCE
|
||||
.byte EFFECT_SUNNY_DAY
|
||||
.byte EFFECT_BELLY_DRUM
|
||||
.byte EFFECT_PSYCH_UP
|
||||
.byte EFFECT_FUTURE_SIGHT
|
||||
.byte EFFECT_FAKE_OUT
|
||||
.byte EFFECT_STOCKPILE
|
||||
.byte EFFECT_SPIT_UP
|
||||
.byte EFFECT_SWALLOW
|
||||
.byte EFFECT_HAIL
|
||||
.byte EFFECT_TORMENT
|
||||
.byte EFFECT_WILL_O_WISP
|
||||
.byte EFFECT_FOLLOW_ME
|
||||
.byte EFFECT_CHARGE
|
||||
.byte EFFECT_TRICK
|
||||
.byte EFFECT_ROLE_PLAY
|
||||
.byte EFFECT_INGRAIN
|
||||
.byte EFFECT_RECYCLE
|
||||
.byte EFFECT_KNOCK_OFF
|
||||
.byte EFFECT_SKILL_SWAP
|
||||
.byte EFFECT_IMPRISON
|
||||
.byte EFFECT_REFRESH
|
||||
.byte EFFECT_GRUDGE
|
||||
.byte EFFECT_TEETER_DANCE
|
||||
.byte EFFECT_MUD_SPORT
|
||||
.byte EFFECT_WATER_SPORT
|
||||
.byte EFFECT_DRAGON_DANCE
|
||||
.byte EFFECT_CAMOUFLAGE
|
||||
.byte -1
|
||||
.2byte EFFECT_DREAM_EATER
|
||||
.2byte EFFECT_ATTACK_UP
|
||||
.2byte EFFECT_DEFENSE_UP
|
||||
.2byte EFFECT_SPEED_UP
|
||||
.2byte EFFECT_SPECIAL_ATTACK_UP
|
||||
.2byte EFFECT_HAZE
|
||||
.2byte EFFECT_ROAR
|
||||
.2byte EFFECT_CONVERSION
|
||||
.2byte EFFECT_TOXIC
|
||||
.2byte EFFECT_LIGHT_SCREEN
|
||||
.2byte EFFECT_REST
|
||||
.2byte EFFECT_SUPER_FANG
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_UP_2
|
||||
.2byte EFFECT_CONFUSE
|
||||
.2byte EFFECT_POISON
|
||||
.2byte EFFECT_PARALYZE
|
||||
.2byte EFFECT_LEECH_SEED
|
||||
.2byte EFFECT_SPLASH
|
||||
.2byte EFFECT_ATTACK_UP_2
|
||||
.2byte EFFECT_ENCORE
|
||||
.2byte EFFECT_CONVERSION_2
|
||||
.2byte EFFECT_LOCK_ON
|
||||
.2byte EFFECT_HEAL_BELL
|
||||
.2byte EFFECT_MEAN_LOOK
|
||||
.2byte EFFECT_NIGHTMARE
|
||||
.2byte EFFECT_PROTECT
|
||||
.2byte EFFECT_SKILL_SWAP
|
||||
.2byte EFFECT_FORESIGHT
|
||||
.2byte EFFECT_PERISH_SONG
|
||||
.2byte EFFECT_SANDSTORM
|
||||
.2byte EFFECT_ENDURE
|
||||
.2byte EFFECT_SWAGGER
|
||||
.2byte EFFECT_ATTRACT
|
||||
.2byte EFFECT_SAFEGUARD
|
||||
.2byte EFFECT_RAIN_DANCE
|
||||
.2byte EFFECT_SUNNY_DAY
|
||||
.2byte EFFECT_BELLY_DRUM
|
||||
.2byte EFFECT_PSYCH_UP
|
||||
.2byte EFFECT_FUTURE_SIGHT
|
||||
.2byte EFFECT_FAKE_OUT
|
||||
.2byte EFFECT_STOCKPILE
|
||||
.2byte EFFECT_SPIT_UP
|
||||
.2byte EFFECT_SWALLOW
|
||||
.2byte EFFECT_HAIL
|
||||
.2byte EFFECT_TORMENT
|
||||
.2byte EFFECT_WILL_O_WISP
|
||||
.2byte EFFECT_FOLLOW_ME
|
||||
.2byte EFFECT_CHARGE
|
||||
.2byte EFFECT_TRICK
|
||||
.2byte EFFECT_ROLE_PLAY
|
||||
.2byte EFFECT_INGRAIN
|
||||
.2byte EFFECT_RECYCLE
|
||||
.2byte EFFECT_KNOCK_OFF
|
||||
.2byte EFFECT_SKILL_SWAP
|
||||
.2byte EFFECT_IMPRISON
|
||||
.2byte EFFECT_REFRESH
|
||||
.2byte EFFECT_GRUDGE
|
||||
.2byte EFFECT_TEETER_DANCE
|
||||
.2byte EFFECT_MUD_SPORT
|
||||
.2byte EFFECT_WATER_SPORT
|
||||
.2byte EFFECT_DRAGON_DANCE
|
||||
.2byte EFFECT_CAMOUFLAGE
|
||||
.2byte -1
|
||||
|
||||
AI_CV_PainSplit::
|
||||
if_hp_less_than AI_TARGET, 80, AI_CV_PainSplit_ScoreDown1
|
||||
|
|
@ -2504,23 +2504,23 @@ AI_CV_ChangeSelfAbility_End::
|
|||
end
|
||||
|
||||
AI_CV_ChangeSelfAbility_AbilitiesToEncourage::
|
||||
.byte ABILITY_SPEED_BOOST
|
||||
.byte ABILITY_BATTLE_ARMOR
|
||||
.byte ABILITY_SAND_VEIL
|
||||
.byte ABILITY_STATIC
|
||||
.byte ABILITY_FLASH_FIRE
|
||||
.byte ABILITY_WONDER_GUARD
|
||||
.byte ABILITY_EFFECT_SPORE
|
||||
.byte ABILITY_SWIFT_SWIM
|
||||
.byte ABILITY_HUGE_POWER
|
||||
.byte ABILITY_RAIN_DISH
|
||||
.byte ABILITY_CUTE_CHARM
|
||||
.byte ABILITY_SHED_SKIN
|
||||
.byte ABILITY_MARVEL_SCALE
|
||||
.byte ABILITY_PURE_POWER
|
||||
.byte ABILITY_CHLOROPHYLL
|
||||
.byte ABILITY_SHIELD_DUST
|
||||
.byte -1
|
||||
.2byte ABILITY_SPEED_BOOST
|
||||
.2byte ABILITY_BATTLE_ARMOR
|
||||
.2byte ABILITY_SAND_VEIL
|
||||
.2byte ABILITY_STATIC
|
||||
.2byte ABILITY_FLASH_FIRE
|
||||
.2byte ABILITY_WONDER_GUARD
|
||||
.2byte ABILITY_EFFECT_SPORE
|
||||
.2byte ABILITY_SWIFT_SWIM
|
||||
.2byte ABILITY_HUGE_POWER
|
||||
.2byte ABILITY_RAIN_DISH
|
||||
.2byte ABILITY_CUTE_CHARM
|
||||
.2byte ABILITY_SHED_SKIN
|
||||
.2byte ABILITY_MARVEL_SCALE
|
||||
.2byte ABILITY_PURE_POWER
|
||||
.2byte ABILITY_CHLOROPHYLL
|
||||
.2byte ABILITY_SHIELD_DUST
|
||||
.2byte -1
|
||||
|
||||
AI_CV_Superpower::
|
||||
if_type_effectiveness AI_EFFECTIVENESS_x0_25, AI_CV_Superpower_ScoreDown1
|
||||
|
|
@ -2579,7 +2579,7 @@ AI_CV_Recycle_ItemsToEncourage::
|
|||
.2byte ITEM_CHESTO_BERRY
|
||||
.2byte ITEM_LUM_BERRY
|
||||
.2byte ITEM_STARF_BERRY
|
||||
.byte -1
|
||||
.2byte -1
|
||||
|
||||
AI_CV_Revenge::
|
||||
if_status AI_TARGET, STATUS1_SLEEP, AI_CV_Revenge_ScoreDown2
|
||||
|
|
@ -2803,62 +2803,62 @@ AI_SetupFirstTurn_End::
|
|||
end
|
||||
|
||||
AI_SetupFirstTurn_SetupEffectsToEncourage::
|
||||
.byte EFFECT_ATTACK_UP
|
||||
.byte EFFECT_DEFENSE_UP
|
||||
.byte EFFECT_SPEED_UP
|
||||
.byte EFFECT_SPECIAL_ATTACK_UP
|
||||
.byte EFFECT_SPECIAL_DEFENSE_UP
|
||||
.byte EFFECT_ACCURACY_UP
|
||||
.byte EFFECT_EVASION_UP
|
||||
.byte EFFECT_ATTACK_DOWN
|
||||
.byte EFFECT_DEFENSE_DOWN
|
||||
.byte EFFECT_SPEED_DOWN
|
||||
.byte EFFECT_SPECIAL_ATTACK_DOWN
|
||||
.byte EFFECT_SPECIAL_DEFENSE_DOWN
|
||||
.byte EFFECT_ACCURACY_DOWN
|
||||
.byte EFFECT_EVASION_DOWN
|
||||
.byte EFFECT_CONVERSION
|
||||
.byte EFFECT_LIGHT_SCREEN
|
||||
.byte EFFECT_SPECIAL_DEFENSE_UP_2
|
||||
.byte EFFECT_FOCUS_ENERGY
|
||||
.byte EFFECT_CONFUSE
|
||||
.byte EFFECT_ATTACK_UP_2
|
||||
.byte EFFECT_DEFENSE_UP_2
|
||||
.byte EFFECT_SPEED_UP_2
|
||||
.byte EFFECT_SPECIAL_ATTACK_UP_2
|
||||
.byte EFFECT_SPECIAL_DEFENSE_UP_2
|
||||
.byte EFFECT_ACCURACY_UP_2
|
||||
.byte EFFECT_EVASION_UP_2
|
||||
.byte EFFECT_ATTACK_DOWN_2
|
||||
.byte EFFECT_DEFENSE_DOWN_2
|
||||
.byte EFFECT_SPEED_DOWN_2
|
||||
.byte EFFECT_SPECIAL_ATTACK_DOWN_2
|
||||
.byte EFFECT_SPECIAL_DEFENSE_DOWN_2
|
||||
.byte EFFECT_ACCURACY_DOWN_2
|
||||
.byte EFFECT_EVASION_DOWN_2
|
||||
.byte EFFECT_REFLECT
|
||||
.byte EFFECT_POISON
|
||||
.byte EFFECT_PARALYZE
|
||||
.byte EFFECT_SUBSTITUTE
|
||||
.byte EFFECT_LEECH_SEED
|
||||
.byte EFFECT_MINIMIZE
|
||||
.byte EFFECT_CURSE
|
||||
.byte EFFECT_SWAGGER
|
||||
.byte EFFECT_CAMOUFLAGE
|
||||
.byte EFFECT_YAWN
|
||||
.byte EFFECT_DEFENSE_CURL
|
||||
.byte EFFECT_TORMENT
|
||||
.byte EFFECT_FLATTER
|
||||
.byte EFFECT_WILL_O_WISP
|
||||
.byte EFFECT_INGRAIN
|
||||
.byte EFFECT_IMPRISON
|
||||
.byte EFFECT_TEETER_DANCE
|
||||
.byte EFFECT_TICKLE
|
||||
.byte EFFECT_COSMIC_POWER
|
||||
.byte EFFECT_BULK_UP
|
||||
.byte EFFECT_CALM_MIND
|
||||
.byte EFFECT_CAMOUFLAGE
|
||||
.byte -1
|
||||
.2byte EFFECT_ATTACK_UP
|
||||
.2byte EFFECT_DEFENSE_UP
|
||||
.2byte EFFECT_SPEED_UP
|
||||
.2byte EFFECT_SPECIAL_ATTACK_UP
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_UP
|
||||
.2byte EFFECT_ACCURACY_UP
|
||||
.2byte EFFECT_EVASION_UP
|
||||
.2byte EFFECT_ATTACK_DOWN
|
||||
.2byte EFFECT_DEFENSE_DOWN
|
||||
.2byte EFFECT_SPEED_DOWN
|
||||
.2byte EFFECT_SPECIAL_ATTACK_DOWN
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_DOWN
|
||||
.2byte EFFECT_ACCURACY_DOWN
|
||||
.2byte EFFECT_EVASION_DOWN
|
||||
.2byte EFFECT_CONVERSION
|
||||
.2byte EFFECT_LIGHT_SCREEN
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_UP_2
|
||||
.2byte EFFECT_FOCUS_ENERGY
|
||||
.2byte EFFECT_CONFUSE
|
||||
.2byte EFFECT_ATTACK_UP_2
|
||||
.2byte EFFECT_DEFENSE_UP_2
|
||||
.2byte EFFECT_SPEED_UP_2
|
||||
.2byte EFFECT_SPECIAL_ATTACK_UP_2
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_UP_2
|
||||
.2byte EFFECT_ACCURACY_UP_2
|
||||
.2byte EFFECT_EVASION_UP_2
|
||||
.2byte EFFECT_ATTACK_DOWN_2
|
||||
.2byte EFFECT_DEFENSE_DOWN_2
|
||||
.2byte EFFECT_SPEED_DOWN_2
|
||||
.2byte EFFECT_SPECIAL_ATTACK_DOWN_2
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_DOWN_2
|
||||
.2byte EFFECT_ACCURACY_DOWN_2
|
||||
.2byte EFFECT_EVASION_DOWN_2
|
||||
.2byte EFFECT_REFLECT
|
||||
.2byte EFFECT_POISON
|
||||
.2byte EFFECT_PARALYZE
|
||||
.2byte EFFECT_SUBSTITUTE
|
||||
.2byte EFFECT_LEECH_SEED
|
||||
.2byte EFFECT_MINIMIZE
|
||||
.2byte EFFECT_CURSE
|
||||
.2byte EFFECT_SWAGGER
|
||||
.2byte EFFECT_CAMOUFLAGE
|
||||
.2byte EFFECT_YAWN
|
||||
.2byte EFFECT_DEFENSE_CURL
|
||||
.2byte EFFECT_TORMENT
|
||||
.2byte EFFECT_FLATTER
|
||||
.2byte EFFECT_WILL_O_WISP
|
||||
.2byte EFFECT_INGRAIN
|
||||
.2byte EFFECT_IMPRISON
|
||||
.2byte EFFECT_TEETER_DANCE
|
||||
.2byte EFFECT_TICKLE
|
||||
.2byte EFFECT_COSMIC_POWER
|
||||
.2byte EFFECT_BULK_UP
|
||||
.2byte EFFECT_CALM_MIND
|
||||
.2byte EFFECT_CAMOUFLAGE
|
||||
.2byte -1
|
||||
|
||||
AI_PreferStrongestMove::
|
||||
get_how_powerful_move_is
|
||||
|
|
@ -2879,26 +2879,26 @@ AI_Risky_End::
|
|||
end
|
||||
|
||||
AI_Risky_EffectsToEncourage::
|
||||
.byte EFFECT_SLEEP
|
||||
.byte EFFECT_EXPLOSION
|
||||
.byte EFFECT_MIRROR_MOVE
|
||||
.byte EFFECT_OHKO
|
||||
.byte EFFECT_HIGH_CRITICAL
|
||||
.byte EFFECT_CONFUSE
|
||||
.byte EFFECT_METRONOME
|
||||
.byte EFFECT_PSYWAVE
|
||||
.byte EFFECT_COUNTER
|
||||
.byte EFFECT_DESTINY_BOND
|
||||
.byte EFFECT_SWAGGER
|
||||
.byte EFFECT_ATTRACT
|
||||
.byte EFFECT_PRESENT
|
||||
.byte EFFECT_ALL_STATS_UP_HIT
|
||||
.byte EFFECT_BELLY_DRUM
|
||||
.byte EFFECT_MIRROR_COAT
|
||||
.byte EFFECT_FOCUS_PUNCH
|
||||
.byte EFFECT_REVENGE
|
||||
.byte EFFECT_TEETER_DANCE
|
||||
.byte -1
|
||||
.2byte EFFECT_SLEEP
|
||||
.2byte EFFECT_EXPLOSION
|
||||
.2byte EFFECT_MIRROR_MOVE
|
||||
.2byte EFFECT_OHKO
|
||||
.2byte EFFECT_HIGH_CRITICAL
|
||||
.2byte EFFECT_CONFUSE
|
||||
.2byte EFFECT_METRONOME
|
||||
.2byte EFFECT_PSYWAVE
|
||||
.2byte EFFECT_COUNTER
|
||||
.2byte EFFECT_DESTINY_BOND
|
||||
.2byte EFFECT_SWAGGER
|
||||
.2byte EFFECT_ATTRACT
|
||||
.2byte EFFECT_PRESENT
|
||||
.2byte EFFECT_ALL_STATS_UP_HIT
|
||||
.2byte EFFECT_BELLY_DRUM
|
||||
.2byte EFFECT_MIRROR_COAT
|
||||
.2byte EFFECT_FOCUS_PUNCH
|
||||
.2byte EFFECT_REVENGE
|
||||
.2byte EFFECT_TEETER_DANCE
|
||||
.2byte -1
|
||||
|
||||
AI_PreferBatonPass::
|
||||
count_alive_pokemon AI_USER
|
||||
|
|
@ -2999,222 +2999,222 @@ AI_HPAware_End::
|
|||
end
|
||||
|
||||
AI_HPAware_DiscouragedEffectsWhenHighHP::
|
||||
.byte EFFECT_EXPLOSION
|
||||
.byte EFFECT_RESTORE_HP
|
||||
.byte EFFECT_REST
|
||||
.byte EFFECT_DESTINY_BOND
|
||||
.byte EFFECT_FLAIL
|
||||
.byte EFFECT_ENDURE
|
||||
.byte EFFECT_MORNING_SUN
|
||||
.byte EFFECT_SYNTHESIS
|
||||
.byte EFFECT_MOONLIGHT
|
||||
.byte EFFECT_SOFTBOILED
|
||||
.byte EFFECT_MEMENTO
|
||||
.byte EFFECT_GRUDGE
|
||||
.byte EFFECT_OVERHEAT
|
||||
.byte -1
|
||||
.2byte EFFECT_EXPLOSION
|
||||
.2byte EFFECT_RESTORE_HP
|
||||
.2byte EFFECT_REST
|
||||
.2byte EFFECT_DESTINY_BOND
|
||||
.2byte EFFECT_FLAIL
|
||||
.2byte EFFECT_ENDURE
|
||||
.2byte EFFECT_MORNING_SUN
|
||||
.2byte EFFECT_SYNTHESIS
|
||||
.2byte EFFECT_MOONLIGHT
|
||||
.2byte EFFECT_SOFTBOILED
|
||||
.2byte EFFECT_MEMENTO
|
||||
.2byte EFFECT_GRUDGE
|
||||
.2byte EFFECT_OVERHEAT
|
||||
.2byte -1
|
||||
|
||||
AI_HPAware_DiscouragedEffectsWhenMediumHP::
|
||||
.byte EFFECT_EXPLOSION
|
||||
.byte EFFECT_ATTACK_UP
|
||||
.byte EFFECT_DEFENSE_UP
|
||||
.byte EFFECT_SPEED_UP
|
||||
.byte EFFECT_SPECIAL_ATTACK_UP
|
||||
.byte EFFECT_SPECIAL_DEFENSE_UP
|
||||
.byte EFFECT_ACCURACY_UP
|
||||
.byte EFFECT_EVASION_UP
|
||||
.byte EFFECT_ATTACK_DOWN
|
||||
.byte EFFECT_DEFENSE_DOWN
|
||||
.byte EFFECT_SPEED_DOWN
|
||||
.byte EFFECT_SPECIAL_ATTACK_DOWN
|
||||
.byte EFFECT_SPECIAL_DEFENSE_DOWN
|
||||
.byte EFFECT_ACCURACY_DOWN
|
||||
.byte EFFECT_EVASION_DOWN
|
||||
.byte EFFECT_BIDE
|
||||
.byte EFFECT_CONVERSION
|
||||
.byte EFFECT_LIGHT_SCREEN
|
||||
.byte EFFECT_MIST
|
||||
.byte EFFECT_FOCUS_ENERGY
|
||||
.byte EFFECT_ATTACK_UP_2
|
||||
.byte EFFECT_DEFENSE_UP_2
|
||||
.byte EFFECT_SPEED_UP_2
|
||||
.byte EFFECT_SPECIAL_ATTACK_UP_2
|
||||
.byte EFFECT_SPECIAL_DEFENSE_UP_2
|
||||
.byte EFFECT_ACCURACY_UP_2
|
||||
.byte EFFECT_EVASION_UP_2
|
||||
.byte EFFECT_ATTACK_DOWN_2
|
||||
.byte EFFECT_DEFENSE_DOWN_2
|
||||
.byte EFFECT_SPEED_DOWN_2
|
||||
.byte EFFECT_SPECIAL_ATTACK_DOWN_2
|
||||
.byte EFFECT_SPECIAL_DEFENSE_DOWN_2
|
||||
.byte EFFECT_ACCURACY_DOWN_2
|
||||
.byte EFFECT_EVASION_DOWN_2
|
||||
.byte EFFECT_CONVERSION_2
|
||||
.byte EFFECT_SAFEGUARD
|
||||
.byte EFFECT_BELLY_DRUM
|
||||
.byte EFFECT_TICKLE
|
||||
.byte EFFECT_COSMIC_POWER
|
||||
.byte EFFECT_BULK_UP
|
||||
.byte EFFECT_CALM_MIND
|
||||
.byte EFFECT_DRAGON_DANCE
|
||||
.byte -1
|
||||
.2byte EFFECT_EXPLOSION
|
||||
.2byte EFFECT_ATTACK_UP
|
||||
.2byte EFFECT_DEFENSE_UP
|
||||
.2byte EFFECT_SPEED_UP
|
||||
.2byte EFFECT_SPECIAL_ATTACK_UP
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_UP
|
||||
.2byte EFFECT_ACCURACY_UP
|
||||
.2byte EFFECT_EVASION_UP
|
||||
.2byte EFFECT_ATTACK_DOWN
|
||||
.2byte EFFECT_DEFENSE_DOWN
|
||||
.2byte EFFECT_SPEED_DOWN
|
||||
.2byte EFFECT_SPECIAL_ATTACK_DOWN
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_DOWN
|
||||
.2byte EFFECT_ACCURACY_DOWN
|
||||
.2byte EFFECT_EVASION_DOWN
|
||||
.2byte EFFECT_BIDE
|
||||
.2byte EFFECT_CONVERSION
|
||||
.2byte EFFECT_LIGHT_SCREEN
|
||||
.2byte EFFECT_MIST
|
||||
.2byte EFFECT_FOCUS_ENERGY
|
||||
.2byte EFFECT_ATTACK_UP_2
|
||||
.2byte EFFECT_DEFENSE_UP_2
|
||||
.2byte EFFECT_SPEED_UP_2
|
||||
.2byte EFFECT_SPECIAL_ATTACK_UP_2
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_UP_2
|
||||
.2byte EFFECT_ACCURACY_UP_2
|
||||
.2byte EFFECT_EVASION_UP_2
|
||||
.2byte EFFECT_ATTACK_DOWN_2
|
||||
.2byte EFFECT_DEFENSE_DOWN_2
|
||||
.2byte EFFECT_SPEED_DOWN_2
|
||||
.2byte EFFECT_SPECIAL_ATTACK_DOWN_2
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_DOWN_2
|
||||
.2byte EFFECT_ACCURACY_DOWN_2
|
||||
.2byte EFFECT_EVASION_DOWN_2
|
||||
.2byte EFFECT_CONVERSION_2
|
||||
.2byte EFFECT_SAFEGUARD
|
||||
.2byte EFFECT_BELLY_DRUM
|
||||
.2byte EFFECT_TICKLE
|
||||
.2byte EFFECT_COSMIC_POWER
|
||||
.2byte EFFECT_BULK_UP
|
||||
.2byte EFFECT_CALM_MIND
|
||||
.2byte EFFECT_DRAGON_DANCE
|
||||
.2byte -1
|
||||
|
||||
AI_HPAware_DiscouragedEffectsWhenLowHP::
|
||||
.byte EFFECT_ATTACK_UP
|
||||
.byte EFFECT_DEFENSE_UP
|
||||
.byte EFFECT_SPEED_UP
|
||||
.byte EFFECT_SPECIAL_ATTACK_UP
|
||||
.byte EFFECT_SPECIAL_DEFENSE_UP
|
||||
.byte EFFECT_ACCURACY_UP
|
||||
.byte EFFECT_EVASION_UP
|
||||
.byte EFFECT_ATTACK_DOWN
|
||||
.byte EFFECT_DEFENSE_DOWN
|
||||
.byte EFFECT_SPEED_DOWN
|
||||
.byte EFFECT_SPECIAL_ATTACK_DOWN
|
||||
.byte EFFECT_SPECIAL_DEFENSE_DOWN
|
||||
.byte EFFECT_ACCURACY_DOWN
|
||||
.byte EFFECT_EVASION_DOWN
|
||||
.byte EFFECT_BIDE
|
||||
.byte EFFECT_CONVERSION
|
||||
.byte EFFECT_LIGHT_SCREEN
|
||||
.byte EFFECT_MIST
|
||||
.byte EFFECT_FOCUS_ENERGY
|
||||
.byte EFFECT_ATTACK_UP_2
|
||||
.byte EFFECT_DEFENSE_UP_2
|
||||
.byte EFFECT_SPEED_UP_2
|
||||
.byte EFFECT_SPECIAL_ATTACK_UP_2
|
||||
.byte EFFECT_SPECIAL_DEFENSE_UP_2
|
||||
.byte EFFECT_ACCURACY_UP_2
|
||||
.byte EFFECT_EVASION_UP_2
|
||||
.byte EFFECT_ATTACK_DOWN_2
|
||||
.byte EFFECT_DEFENSE_DOWN_2
|
||||
.byte EFFECT_SPEED_DOWN_2
|
||||
.byte EFFECT_SPECIAL_ATTACK_DOWN_2
|
||||
.byte EFFECT_SPECIAL_DEFENSE_DOWN_2
|
||||
.byte EFFECT_ACCURACY_DOWN_2
|
||||
.byte EFFECT_EVASION_DOWN_2
|
||||
.byte EFFECT_RAGE
|
||||
.byte EFFECT_CONVERSION_2
|
||||
.byte EFFECT_LOCK_ON
|
||||
.byte EFFECT_SAFEGUARD
|
||||
.byte EFFECT_BELLY_DRUM
|
||||
.byte EFFECT_PSYCH_UP
|
||||
.byte EFFECT_MIRROR_COAT
|
||||
.byte EFFECT_SOLAR_BEAM
|
||||
.byte EFFECT_ERUPTION
|
||||
.byte EFFECT_TICKLE
|
||||
.byte EFFECT_COSMIC_POWER
|
||||
.byte EFFECT_BULK_UP
|
||||
.byte EFFECT_CALM_MIND
|
||||
.byte EFFECT_DRAGON_DANCE
|
||||
.byte -1
|
||||
.2byte EFFECT_ATTACK_UP
|
||||
.2byte EFFECT_DEFENSE_UP
|
||||
.2byte EFFECT_SPEED_UP
|
||||
.2byte EFFECT_SPECIAL_ATTACK_UP
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_UP
|
||||
.2byte EFFECT_ACCURACY_UP
|
||||
.2byte EFFECT_EVASION_UP
|
||||
.2byte EFFECT_ATTACK_DOWN
|
||||
.2byte EFFECT_DEFENSE_DOWN
|
||||
.2byte EFFECT_SPEED_DOWN
|
||||
.2byte EFFECT_SPECIAL_ATTACK_DOWN
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_DOWN
|
||||
.2byte EFFECT_ACCURACY_DOWN
|
||||
.2byte EFFECT_EVASION_DOWN
|
||||
.2byte EFFECT_BIDE
|
||||
.2byte EFFECT_CONVERSION
|
||||
.2byte EFFECT_LIGHT_SCREEN
|
||||
.2byte EFFECT_MIST
|
||||
.2byte EFFECT_FOCUS_ENERGY
|
||||
.2byte EFFECT_ATTACK_UP_2
|
||||
.2byte EFFECT_DEFENSE_UP_2
|
||||
.2byte EFFECT_SPEED_UP_2
|
||||
.2byte EFFECT_SPECIAL_ATTACK_UP_2
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_UP_2
|
||||
.2byte EFFECT_ACCURACY_UP_2
|
||||
.2byte EFFECT_EVASION_UP_2
|
||||
.2byte EFFECT_ATTACK_DOWN_2
|
||||
.2byte EFFECT_DEFENSE_DOWN_2
|
||||
.2byte EFFECT_SPEED_DOWN_2
|
||||
.2byte EFFECT_SPECIAL_ATTACK_DOWN_2
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_DOWN_2
|
||||
.2byte EFFECT_ACCURACY_DOWN_2
|
||||
.2byte EFFECT_EVASION_DOWN_2
|
||||
.2byte EFFECT_RAGE
|
||||
.2byte EFFECT_CONVERSION_2
|
||||
.2byte EFFECT_LOCK_ON
|
||||
.2byte EFFECT_SAFEGUARD
|
||||
.2byte EFFECT_BELLY_DRUM
|
||||
.2byte EFFECT_PSYCH_UP
|
||||
.2byte EFFECT_MIRROR_COAT
|
||||
.2byte EFFECT_SOLAR_BEAM
|
||||
.2byte EFFECT_ERUPTION
|
||||
.2byte EFFECT_TICKLE
|
||||
.2byte EFFECT_COSMIC_POWER
|
||||
.2byte EFFECT_BULK_UP
|
||||
.2byte EFFECT_CALM_MIND
|
||||
.2byte EFFECT_DRAGON_DANCE
|
||||
.2byte -1
|
||||
|
||||
AI_HPAware_DiscouragedEffectsWhenTargetHighHP::
|
||||
.byte -1
|
||||
.2byte -1
|
||||
|
||||
AI_HPAware_DiscouragedEffectsWhenTargetMediumHP::
|
||||
.byte EFFECT_ATTACK_UP
|
||||
.byte EFFECT_DEFENSE_UP
|
||||
.byte EFFECT_SPEED_UP
|
||||
.byte EFFECT_SPECIAL_ATTACK_UP
|
||||
.byte EFFECT_SPECIAL_DEFENSE_UP
|
||||
.byte EFFECT_ACCURACY_UP
|
||||
.byte EFFECT_EVASION_UP
|
||||
.byte EFFECT_ATTACK_DOWN
|
||||
.byte EFFECT_DEFENSE_DOWN
|
||||
.byte EFFECT_SPEED_DOWN
|
||||
.byte EFFECT_SPECIAL_ATTACK_DOWN
|
||||
.byte EFFECT_SPECIAL_DEFENSE_DOWN
|
||||
.byte EFFECT_ACCURACY_DOWN
|
||||
.byte EFFECT_EVASION_DOWN
|
||||
.byte EFFECT_MIST
|
||||
.byte EFFECT_FOCUS_ENERGY
|
||||
.byte EFFECT_ATTACK_UP_2
|
||||
.byte EFFECT_DEFENSE_UP_2
|
||||
.byte EFFECT_SPEED_UP_2
|
||||
.byte EFFECT_SPECIAL_ATTACK_UP_2
|
||||
.byte EFFECT_SPECIAL_DEFENSE_UP_2
|
||||
.byte EFFECT_ACCURACY_UP_2
|
||||
.byte EFFECT_EVASION_UP_2
|
||||
.byte EFFECT_ATTACK_DOWN_2
|
||||
.byte EFFECT_DEFENSE_DOWN_2
|
||||
.byte EFFECT_SPEED_DOWN_2
|
||||
.byte EFFECT_SPECIAL_ATTACK_DOWN_2
|
||||
.byte EFFECT_SPECIAL_DEFENSE_DOWN_2
|
||||
.byte EFFECT_ACCURACY_DOWN_2
|
||||
.byte EFFECT_EVASION_DOWN_2
|
||||
.byte EFFECT_POISON
|
||||
.byte EFFECT_PAIN_SPLIT
|
||||
.byte EFFECT_PERISH_SONG
|
||||
.byte EFFECT_SAFEGUARD
|
||||
.byte EFFECT_TICKLE
|
||||
.byte EFFECT_COSMIC_POWER
|
||||
.byte EFFECT_BULK_UP
|
||||
.byte EFFECT_CALM_MIND
|
||||
.byte EFFECT_DRAGON_DANCE
|
||||
.byte -1
|
||||
.2byte EFFECT_ATTACK_UP
|
||||
.2byte EFFECT_DEFENSE_UP
|
||||
.2byte EFFECT_SPEED_UP
|
||||
.2byte EFFECT_SPECIAL_ATTACK_UP
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_UP
|
||||
.2byte EFFECT_ACCURACY_UP
|
||||
.2byte EFFECT_EVASION_UP
|
||||
.2byte EFFECT_ATTACK_DOWN
|
||||
.2byte EFFECT_DEFENSE_DOWN
|
||||
.2byte EFFECT_SPEED_DOWN
|
||||
.2byte EFFECT_SPECIAL_ATTACK_DOWN
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_DOWN
|
||||
.2byte EFFECT_ACCURACY_DOWN
|
||||
.2byte EFFECT_EVASION_DOWN
|
||||
.2byte EFFECT_MIST
|
||||
.2byte EFFECT_FOCUS_ENERGY
|
||||
.2byte EFFECT_ATTACK_UP_2
|
||||
.2byte EFFECT_DEFENSE_UP_2
|
||||
.2byte EFFECT_SPEED_UP_2
|
||||
.2byte EFFECT_SPECIAL_ATTACK_UP_2
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_UP_2
|
||||
.2byte EFFECT_ACCURACY_UP_2
|
||||
.2byte EFFECT_EVASION_UP_2
|
||||
.2byte EFFECT_ATTACK_DOWN_2
|
||||
.2byte EFFECT_DEFENSE_DOWN_2
|
||||
.2byte EFFECT_SPEED_DOWN_2
|
||||
.2byte EFFECT_SPECIAL_ATTACK_DOWN_2
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_DOWN_2
|
||||
.2byte EFFECT_ACCURACY_DOWN_2
|
||||
.2byte EFFECT_EVASION_DOWN_2
|
||||
.2byte EFFECT_POISON
|
||||
.2byte EFFECT_PAIN_SPLIT
|
||||
.2byte EFFECT_PERISH_SONG
|
||||
.2byte EFFECT_SAFEGUARD
|
||||
.2byte EFFECT_TICKLE
|
||||
.2byte EFFECT_COSMIC_POWER
|
||||
.2byte EFFECT_BULK_UP
|
||||
.2byte EFFECT_CALM_MIND
|
||||
.2byte EFFECT_DRAGON_DANCE
|
||||
.2byte -1
|
||||
|
||||
AI_HPAware_DiscouragedEffectsWhenTargetLowHP::
|
||||
.byte EFFECT_SLEEP
|
||||
.byte EFFECT_EXPLOSION
|
||||
.byte EFFECT_ATTACK_UP
|
||||
.byte EFFECT_DEFENSE_UP
|
||||
.byte EFFECT_SPEED_UP
|
||||
.byte EFFECT_SPECIAL_ATTACK_UP
|
||||
.byte EFFECT_SPECIAL_DEFENSE_UP
|
||||
.byte EFFECT_ACCURACY_UP
|
||||
.byte EFFECT_EVASION_UP
|
||||
.byte EFFECT_ATTACK_DOWN
|
||||
.byte EFFECT_DEFENSE_DOWN
|
||||
.byte EFFECT_SPEED_DOWN
|
||||
.byte EFFECT_SPECIAL_ATTACK_DOWN
|
||||
.byte EFFECT_SPECIAL_DEFENSE_DOWN
|
||||
.byte EFFECT_ACCURACY_DOWN
|
||||
.byte EFFECT_EVASION_DOWN
|
||||
.byte EFFECT_BIDE
|
||||
.byte EFFECT_CONVERSION
|
||||
.byte EFFECT_TOXIC
|
||||
.byte EFFECT_LIGHT_SCREEN
|
||||
.byte EFFECT_OHKO
|
||||
.byte EFFECT_SUPER_FANG @ Maybe supposed to be EFFECT_RAZOR_WIND
|
||||
.byte EFFECT_SUPER_FANG
|
||||
.byte EFFECT_MIST
|
||||
.byte EFFECT_FOCUS_ENERGY
|
||||
.byte EFFECT_CONFUSE
|
||||
.byte EFFECT_ATTACK_UP_2
|
||||
.byte EFFECT_DEFENSE_UP_2
|
||||
.byte EFFECT_SPEED_UP_2
|
||||
.byte EFFECT_SPECIAL_ATTACK_UP_2
|
||||
.byte EFFECT_SPECIAL_DEFENSE_UP_2
|
||||
.byte EFFECT_ACCURACY_UP_2
|
||||
.byte EFFECT_EVASION_UP_2
|
||||
.byte EFFECT_ATTACK_DOWN_2
|
||||
.byte EFFECT_DEFENSE_DOWN_2
|
||||
.byte EFFECT_SPEED_DOWN_2
|
||||
.byte EFFECT_SPECIAL_ATTACK_DOWN_2
|
||||
.byte EFFECT_SPECIAL_DEFENSE_DOWN_2
|
||||
.byte EFFECT_ACCURACY_DOWN_2
|
||||
.byte EFFECT_EVASION_DOWN_2
|
||||
.byte EFFECT_POISON
|
||||
.byte EFFECT_PARALYZE
|
||||
.byte EFFECT_PAIN_SPLIT
|
||||
.byte EFFECT_CONVERSION_2
|
||||
.byte EFFECT_LOCK_ON
|
||||
.byte EFFECT_SPITE
|
||||
.byte EFFECT_PERISH_SONG
|
||||
.byte EFFECT_SWAGGER
|
||||
.byte EFFECT_FURY_CUTTER
|
||||
.byte EFFECT_ATTRACT
|
||||
.byte EFFECT_SAFEGUARD
|
||||
.byte EFFECT_PSYCH_UP
|
||||
.byte EFFECT_MIRROR_COAT
|
||||
.byte EFFECT_WILL_O_WISP
|
||||
.byte EFFECT_TICKLE
|
||||
.byte EFFECT_COSMIC_POWER
|
||||
.byte EFFECT_BULK_UP
|
||||
.byte EFFECT_CALM_MIND
|
||||
.byte EFFECT_DRAGON_DANCE
|
||||
.byte -1
|
||||
.2byte EFFECT_SLEEP
|
||||
.2byte EFFECT_EXPLOSION
|
||||
.2byte EFFECT_ATTACK_UP
|
||||
.2byte EFFECT_DEFENSE_UP
|
||||
.2byte EFFECT_SPEED_UP
|
||||
.2byte EFFECT_SPECIAL_ATTACK_UP
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_UP
|
||||
.2byte EFFECT_ACCURACY_UP
|
||||
.2byte EFFECT_EVASION_UP
|
||||
.2byte EFFECT_ATTACK_DOWN
|
||||
.2byte EFFECT_DEFENSE_DOWN
|
||||
.2byte EFFECT_SPEED_DOWN
|
||||
.2byte EFFECT_SPECIAL_ATTACK_DOWN
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_DOWN
|
||||
.2byte EFFECT_ACCURACY_DOWN
|
||||
.2byte EFFECT_EVASION_DOWN
|
||||
.2byte EFFECT_BIDE
|
||||
.2byte EFFECT_CONVERSION
|
||||
.2byte EFFECT_TOXIC
|
||||
.2byte EFFECT_LIGHT_SCREEN
|
||||
.2byte EFFECT_OHKO
|
||||
.2byte EFFECT_SUPER_FANG @ Maybe supposed to be EFFECT_RAZOR_WIND
|
||||
.2byte EFFECT_SUPER_FANG
|
||||
.2byte EFFECT_MIST
|
||||
.2byte EFFECT_FOCUS_ENERGY
|
||||
.2byte EFFECT_CONFUSE
|
||||
.2byte EFFECT_ATTACK_UP_2
|
||||
.2byte EFFECT_DEFENSE_UP_2
|
||||
.2byte EFFECT_SPEED_UP_2
|
||||
.2byte EFFECT_SPECIAL_ATTACK_UP_2
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_UP_2
|
||||
.2byte EFFECT_ACCURACY_UP_2
|
||||
.2byte EFFECT_EVASION_UP_2
|
||||
.2byte EFFECT_ATTACK_DOWN_2
|
||||
.2byte EFFECT_DEFENSE_DOWN_2
|
||||
.2byte EFFECT_SPEED_DOWN_2
|
||||
.2byte EFFECT_SPECIAL_ATTACK_DOWN_2
|
||||
.2byte EFFECT_SPECIAL_DEFENSE_DOWN_2
|
||||
.2byte EFFECT_ACCURACY_DOWN_2
|
||||
.2byte EFFECT_EVASION_DOWN_2
|
||||
.2byte EFFECT_POISON
|
||||
.2byte EFFECT_PARALYZE
|
||||
.2byte EFFECT_PAIN_SPLIT
|
||||
.2byte EFFECT_CONVERSION_2
|
||||
.2byte EFFECT_LOCK_ON
|
||||
.2byte EFFECT_SPITE
|
||||
.2byte EFFECT_PERISH_SONG
|
||||
.2byte EFFECT_SWAGGER
|
||||
.2byte EFFECT_FURY_CUTTER
|
||||
.2byte EFFECT_ATTRACT
|
||||
.2byte EFFECT_SAFEGUARD
|
||||
.2byte EFFECT_PSYCH_UP
|
||||
.2byte EFFECT_MIRROR_COAT
|
||||
.2byte EFFECT_WILL_O_WISP
|
||||
.2byte EFFECT_TICKLE
|
||||
.2byte EFFECT_COSMIC_POWER
|
||||
.2byte EFFECT_BULK_UP
|
||||
.2byte EFFECT_CALM_MIND
|
||||
.2byte EFFECT_DRAGON_DANCE
|
||||
.2byte -1
|
||||
|
||||
AI_Unknown::
|
||||
if_not_effect EFFECT_SUNNY_DAY, AI_Unknown_End
|
||||
|
|
|
|||
|
|
@ -982,7 +982,7 @@ gBattleAnims_StatusConditions::
|
|||
|
||||
.align 2
|
||||
gBattleAnims_General::
|
||||
.4byte General_CastformChange @ B_ANIM_CASTFORM_CHANGE
|
||||
.4byte General_FormChange @ B_ANIM_FORM_CHANGE
|
||||
.4byte General_StatsChange @ B_ANIM_STATS_CHANGE
|
||||
.4byte General_SubstituteFade @ B_ANIM_SUBSTITUTE_FADE
|
||||
.4byte General_SubstituteAppear @ B_ANIM_SUBSTITUTE_APPEAR
|
||||
|
|
@ -991,7 +991,7 @@ gBattleAnims_General::
|
|||
.4byte General_TurnTrap @ B_ANIM_TURN_TRAP
|
||||
.4byte General_HeldItemEffect @ B_ANIM_HELD_ITEM_EFFECT
|
||||
.4byte General_SmokeballEscape @ B_ANIM_SMOKEBALL_ESCAPE
|
||||
.4byte General_FocusBand @ B_ANIM_FOCUS_BAND
|
||||
.4byte General_FocusBand @ B_ANIM_HANGED_ON
|
||||
.4byte General_Rain @ B_ANIM_RAIN_CONTINUES
|
||||
.4byte General_Sun @ B_ANIM_SUN_CONTINUES
|
||||
.4byte General_Sandstorm @ B_ANIM_SANDSTORM_CONTINUES
|
||||
|
|
@ -1010,6 +1010,8 @@ gBattleAnims_General::
|
|||
.4byte General_SilphScoped @ B_ANIM_SILPH_SCOPED
|
||||
.4byte General_SafariRockThrow @ B_ANIM_ROCK_THROW
|
||||
.4byte General_SafariReaction @ B_ANIM_SAFARI_REACTION
|
||||
.4byte General_RestoreBg @ B_ANIM_RESTORE_BG
|
||||
.4byte General_SlideOffScreen @ B_ANIM_SLIDE_OFFSCREEN
|
||||
|
||||
.align 2
|
||||
gBattleAnims_Special::
|
||||
|
|
@ -11696,16 +11698,9 @@ Status_Nightmare:
|
|||
clearmonbg ANIM_DEF_PARTNER
|
||||
end
|
||||
|
||||
General_CastformChange:
|
||||
createvisualtask AnimTask_IsMonInvisible, 2
|
||||
jumpreteq TRUE, CastformChangeSkipAnim
|
||||
goto CastformChangeContinue
|
||||
|
||||
CastformChangeContinue:
|
||||
General_FormChange:
|
||||
monbg ANIM_ATTACKER
|
||||
playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER
|
||||
waitplaysewithpan SE_M_MINIMIZE, SOUND_PAN_ATTACKER, 48
|
||||
createvisualtask AnimTask_TransformMon, 2, 1
|
||||
createvisualtask AnimTask_TransformMon, 2, 1, 0
|
||||
waitforvisualfinish
|
||||
clearmonbg ANIM_ATTACKER
|
||||
end
|
||||
|
|
@ -12278,3 +12273,17 @@ Special_SubstituteToMon:
|
|||
Special_MonToSubstitute:
|
||||
createvisualtask AnimTask_SwapMonSpriteToFromSubstitute, 2, FALSE
|
||||
end
|
||||
|
||||
General_RestoreBg:
|
||||
restorebg
|
||||
waitbgfadein
|
||||
end
|
||||
|
||||
General_SlideOffScreen:
|
||||
createvisualtask AnimTask_SlideOffScreen, 5, ANIM_TARGET, 3
|
||||
waitforvisualfinish
|
||||
createvisualtask AnimTask_SetInvisible, 1, ANIM_TARGET, TRUE
|
||||
waitforvisualfinish
|
||||
end
|
||||
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -71,56 +71,51 @@ BattleScript_UseItemMessage:
|
|||
waitmessage B_WAIT_TIME_LONG
|
||||
moveendcase 15
|
||||
return
|
||||
|
||||
BattleScript_ItemRestoreHPRet:
|
||||
bichalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT
|
||||
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
||||
healthbarupdate BS_SCRIPTING
|
||||
datahpupdate BS_SCRIPTING
|
||||
printstring STRINGID_ITEMRESTOREDSPECIESHEALTH
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
return
|
||||
|
||||
BattleScript_ItemRestoreHP::
|
||||
call BattleScript_UseItemMessage
|
||||
itemrestorehp
|
||||
bichalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT
|
||||
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
||||
healthbarupdate BS_SCRIPTING
|
||||
datahpupdate BS_SCRIPTING
|
||||
printstring STRINGID_ITEMRESTOREDSPECIESHEALTH
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
moveendcase 15
|
||||
end
|
||||
call BattleScript_UseItemMessage
|
||||
itemrestorehp BattleScript_ItemRestoreHPEnd
|
||||
call BattleScript_ItemRestoreHPRet
|
||||
BattleScript_ItemRestoreHPEnd:
|
||||
end
|
||||
|
||||
BattleScript_ItemRestoreHP_Party::
|
||||
jumpifbyte CMP_EQUAL, gBattleCommunication, TRUE, BattleScript_ItemRestoreHP_SendOutRevivedBattler
|
||||
bichalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT
|
||||
printstring STRINGID_ITEMRESTOREDSPECIESHEALTH
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
end
|
||||
jumpifbyte CMP_EQUAL, gBattleCommunication, TRUE, BattleScript_ItemRestoreHP_SendOutRevivedBattler
|
||||
bichalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT
|
||||
printstring STRINGID_ITEMRESTOREDSPECIESHEALTH
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
end
|
||||
|
||||
BattleScript_ItemRestoreHP_SendOutRevivedBattler:
|
||||
switchinanim BS_SCRIPTING, FALSE
|
||||
waitstate
|
||||
switchineffects BS_SCRIPTING
|
||||
end
|
||||
switchinanim BS_SCRIPTING, FALSE
|
||||
waitstate
|
||||
switchineffects BS_SCRIPTING
|
||||
end
|
||||
|
||||
BattleScript_ItemCureStatus::
|
||||
call BattleScript_UseItemMessage
|
||||
itemcurestatus
|
||||
updatestatusicon BS_SCRIPTING
|
||||
printstring STRINGID_ITEMCUREDSPECIESSTATUS
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
moveendcase 15
|
||||
end
|
||||
call BattleScript_UseItemMessage
|
||||
BattleScript_ItemCureStatusAfterItemMsg:
|
||||
itemcurestatus BattleScript_ItemCureStatusEnd
|
||||
updatestatusicon BS_SCRIPTING
|
||||
printstring STRINGID_ITEMCUREDSPECIESSTATUS
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
BattleScript_ItemCureStatusEnd:
|
||||
end
|
||||
|
||||
BattleScript_ItemHealAndCureStatus::
|
||||
call BattleScript_UseItemMessage
|
||||
itemrestorehp
|
||||
itemcurestatus
|
||||
printstring STRINGID_ITEMRESTOREDSPECIESHEALTH
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
bichalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT
|
||||
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
||||
healthbarupdate BS_SCRIPTING
|
||||
datahpupdate BS_SCRIPTING
|
||||
updatestatusicon BS_SCRIPTING
|
||||
printstring STRINGID_ITEMRESTOREDSPECIESHEALTH
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
moveendcase 15
|
||||
end
|
||||
call BattleScript_UseItemMessage
|
||||
itemrestorehp BattleScript_ItemCureStatusAfterItemMsg
|
||||
call BattleScript_ItemRestoreHPRet
|
||||
goto BattleScript_ItemCureStatusAfterItemMsg
|
||||
|
||||
BattleScript_ItemIncreaseStat::
|
||||
call BattleScript_UseItemMessage
|
||||
|
|
|
|||
|
|
@ -95,6 +95,9 @@ ViridianCity_Mart_Items::
|
|||
.2byte ITEM_PROTEIN
|
||||
.2byte ITEM_ABILITY_CAPSULE
|
||||
.2byte ITEM_ABILITY_PATCH
|
||||
.2byte ITEM_STICKY_BARB
|
||||
.2byte ITEM_ORAN_BERRY
|
||||
.2byte ITEM_BEAST_BALL
|
||||
.2byte ITEM_NONE
|
||||
release
|
||||
end
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
547
include/battle.h
547
include/battle.h
|
|
@ -4,6 +4,7 @@
|
|||
#include <limits.h>
|
||||
#include "global.h"
|
||||
#include "constants/battle.h"
|
||||
#include "constants/form_change_types.h"
|
||||
#include "constants/battle_script_commands.h"
|
||||
#include "battle_util.h"
|
||||
#include "battle_script_commands.h"
|
||||
|
|
@ -48,6 +49,25 @@
|
|||
#define B_ACTION_NOTHING_FAINTED 13 // when choosing an action
|
||||
#define B_ACTION_NONE 0xFF
|
||||
|
||||
|
||||
// Special indicator value for shellBellDmg in SpecialStatus
|
||||
#define IGNORE_SHELL_BELL 0xFFFF
|
||||
|
||||
|
||||
// For defining EFFECT_HIT etc. with battle TV scores and flags etc.
|
||||
struct __attribute__((packed, aligned(2))) BattleMoveEffect
|
||||
{
|
||||
const u8 *battleScript;
|
||||
u16 encourageEncore:1;
|
||||
u16 twoTurnEffect:1;
|
||||
u16 semiInvulnerableEffect:1;
|
||||
u16 usesProtectCounter:1;
|
||||
u16 padding:12;
|
||||
};
|
||||
|
||||
#define GET_MOVE_BATTLESCRIPT(move) gBattleMoveEffects[gMovesInfo[move].effect].battleScript
|
||||
|
||||
|
||||
#define MAX_TRAINER_ITEMS 4
|
||||
|
||||
enum {
|
||||
|
|
@ -56,18 +76,6 @@ enum {
|
|||
BATTLER_AFFINE_RETURN,
|
||||
};
|
||||
|
||||
#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
|
||||
|
||||
struct TrainerMonNoItemDefaultMoves
|
||||
{
|
||||
u16 iv;
|
||||
|
|
@ -131,106 +139,181 @@ extern const struct Trainer gTrainers[];
|
|||
|
||||
struct ResourceFlags
|
||||
{
|
||||
u32 flags[4];
|
||||
u32 flags[MAX_BATTLERS_COUNT];
|
||||
};
|
||||
|
||||
#define RESOURCE_FLAG_FLASH_FIRE 1
|
||||
#define RESOURCE_FLAG_FLASH_FIRE 0x1
|
||||
#define RESOURCE_FLAG_ROOST 0x2
|
||||
#define RESOURCE_FLAG_UNBURDEN 0x4
|
||||
#define RESOURCE_FLAG_UNUSED 0x8
|
||||
#define RESOURCE_FLAG_TRACED 0x10
|
||||
#define RESOURCE_FLAG_EMERGENCY_EXIT 0x20
|
||||
#define RESOURCE_FLAG_NEUTRALIZING_GAS 0x40
|
||||
#define RESOURCE_FLAG_ICE_FACE 0x80
|
||||
|
||||
struct DisableStruct
|
||||
{
|
||||
/*0x00*/ u32 transformedMonPersonality;
|
||||
/*0x04*/ u16 disabledMove;
|
||||
/*0x06*/ u16 encoredMove;
|
||||
/*0x08*/ u8 protectUses;
|
||||
/*0x09*/ u8 stockpileCounter;
|
||||
/*0x0A*/ u8 substituteHP;
|
||||
/*0x0B*/ u8 disableTimer : 4;
|
||||
/*0x0B*/ u8 disableTimerStartValue : 4;
|
||||
/*0x0C*/ u8 encoredMovePos;
|
||||
/*0x0D*/ u8 unkD;
|
||||
/*0x0E*/ u8 encoreTimer : 4;
|
||||
/*0x0E*/ u8 encoreTimerStartValue : 4;
|
||||
/*0x0F*/ u8 perishSongTimer : 4;
|
||||
/*0x0F*/ u8 perishSongTimerStartValue : 4;
|
||||
/*0x10*/ u8 furyCutterCounter;
|
||||
/*0x11*/ u8 rolloutTimer : 4;
|
||||
/*0x11*/ u8 rolloutTimerStartValue : 4;
|
||||
/*0x12*/ u8 chargeTimer : 4;
|
||||
/*0x12*/ u8 chargeTimerStartValue : 4;
|
||||
/*0x13*/ u8 tauntTimer:4;
|
||||
/*0x13*/ u8 tauntTimer2:4;
|
||||
/*0x14*/ u8 battlerPreventingEscape;
|
||||
/*0x15*/ u8 battlerWithSureHit;
|
||||
/*0x16*/ u8 isFirstTurn;
|
||||
/*0x17*/ u8 unk17;
|
||||
/*0x18*/ u8 truantCounter : 1;
|
||||
/*0x18*/ u8 truantSwitchInHack : 1; // Unused here, but used in pokeemerald
|
||||
/*0x18*/ u8 unk18_a_2 : 2;
|
||||
/*0x18*/ u8 mimickedMoves : 4;
|
||||
/*0x19*/ u8 rechargeTimer;
|
||||
/*0x1A*/ u8 unk1A[1];
|
||||
u32 transformedMonPersonality;
|
||||
bool8 transformedMonShininess;
|
||||
u16 disabledMove;
|
||||
u16 encoredMove;
|
||||
u8 protectUses:4;
|
||||
u8 stockpileCounter:4;
|
||||
s8 stockpileDef;
|
||||
s8 stockpileSpDef;
|
||||
s8 stockpileBeforeDef;
|
||||
s8 stockpileBeforeSpDef;
|
||||
u8 substituteHP;
|
||||
u8 encoredMovePos;
|
||||
u8 disableTimer:4;
|
||||
u8 encoreTimer:4;
|
||||
u8 perishSongTimer:4;
|
||||
u8 furyCutterCounter;
|
||||
u8 rolloutTimer:4;
|
||||
u8 rolloutTimerStartValue:4;
|
||||
u8 chargeTimer:4;
|
||||
u8 tauntTimer:4;
|
||||
u8 battlerPreventingEscape;
|
||||
u8 battlerWithSureHit;
|
||||
u8 isFirstTurn;
|
||||
u8 truantCounter:1;
|
||||
u8 truantSwitchInHack:1;
|
||||
u8 mimickedMoves:4;
|
||||
u8 rechargeTimer;
|
||||
u8 autotomizeCount;
|
||||
u8 slowStartTimer;
|
||||
u8 embargoTimer;
|
||||
u8 magnetRiseTimer;
|
||||
u8 telekinesisTimer;
|
||||
u8 healBlockTimer;
|
||||
u8 laserFocusTimer;
|
||||
u8 throatChopTimer;
|
||||
u8 wrapTurns;
|
||||
u8 tormentTimer:4; // used for G-Max Meltdown
|
||||
u8 usedMoves:4;
|
||||
u8 noRetreat:1;
|
||||
u8 tarShot:1;
|
||||
u8 octolock:1;
|
||||
u8 cudChew:1;
|
||||
u8 spikesDone:1;
|
||||
u8 toxicSpikesDone:1;
|
||||
u8 stickyWebDone:1;
|
||||
u8 stealthRockDone:1;
|
||||
u8 syrupBombTimer;
|
||||
u8 syrupBombIsShiny:1;
|
||||
u8 steelSurgeDone:1;
|
||||
u8 weatherAbilityDone:1;
|
||||
u8 terrainAbilityDone:1;
|
||||
u8 usedProteanLibero:1;
|
||||
};
|
||||
|
||||
extern struct DisableStruct gDisableStructs[MAX_BATTLERS_COUNT];
|
||||
|
||||
struct ProtectStruct
|
||||
{
|
||||
/* field_0 */
|
||||
u32 protected:1;
|
||||
u32 spikyShielded:1;
|
||||
u32 kingsShielded:1;
|
||||
u32 banefulBunkered:1;
|
||||
u32 obstructed:1;
|
||||
u32 endured:1;
|
||||
u32 noValidMoves:1;
|
||||
u32 helpingHand:1;
|
||||
u32 bounceMove:1;
|
||||
u32 stealMove:1;
|
||||
u32 flag0Unknown:1;
|
||||
u32 prlzImmobility:1;
|
||||
/* field_1 */
|
||||
u32 confusionSelfDmg:1;
|
||||
u32 targetNotAffected:1;
|
||||
u32 targetAffected:1;
|
||||
u32 chargingTurn:1;
|
||||
u32 fleeType: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;
|
||||
/* field_2 */
|
||||
u32 usedTauntedMove:1; // 0x1
|
||||
u32 flag2Unknown:1; // 0x2
|
||||
u32 flinchImmobility:1; // 0x4
|
||||
u32 notFirstStrike:1; // 0x8
|
||||
u32 flag_x10 : 1; // 0x10
|
||||
u32 flag_x20 : 1; // 0x20
|
||||
u32 flag_x40 : 1; // 0x40
|
||||
u32 flag_x80 : 1; // 0x80
|
||||
u32 field3 : 8;
|
||||
|
||||
u32 usedTauntedMove:1;
|
||||
u32 flag2Unknown:1; // Only set to 0 once. Checked in 'WasUnableToUseMove' function.
|
||||
u32 flinchImmobility:1;
|
||||
u32 notFirstStrike:1;
|
||||
u32 palaceUnableToUseMove:1;
|
||||
u32 usesBouncedMove:1;
|
||||
u32 usedHealBlockedMove:1;
|
||||
u32 usedGravityPreventedMove:1;
|
||||
u32 powderSelfDmg:1;
|
||||
u32 usedThroatChopPreventedMove:1;
|
||||
u32 statRaised:1;
|
||||
u32 usedMicleBerry:1;
|
||||
u32 usedCustapBerry:1; // also quick claw
|
||||
u32 touchedProtectLike:1;
|
||||
// End of 32-bit bitfield
|
||||
u16 disableEjectPack:1;
|
||||
u16 statFell:1;
|
||||
u16 pranksterElevated:1;
|
||||
u16 quickDraw:1;
|
||||
u16 beakBlastCharge:1;
|
||||
u16 quash:1;
|
||||
u16 shellTrap:1;
|
||||
u16 maxGuarded:1;
|
||||
u16 silkTrapped:1;
|
||||
u16 burningBulwarked:1;
|
||||
u16 eatMirrorHerb:1;
|
||||
u16 activateOpportunist:2; // 2 - to copy stats. 1 - stats copied (do not repeat). 0 - no stats to copy
|
||||
u16 usedAllySwitch:1;
|
||||
u32 physicalDmg;
|
||||
u32 specialDmg;
|
||||
u8 physicalBattlerId;
|
||||
u8 specialBattlerId;
|
||||
u16 fieldE;
|
||||
// pokefirered
|
||||
/* field_0 */
|
||||
/* field_1 */
|
||||
u32 targetNotAffected:1;
|
||||
/* field_2 */
|
||||
};
|
||||
|
||||
extern struct ProtectStruct gProtectStructs[MAX_BATTLERS_COUNT];
|
||||
|
||||
struct SpecialStatus
|
||||
{
|
||||
u8 statLowered:1; // 0x1
|
||||
u8 lightningRodRedirected:1; // 0x2
|
||||
u8 restoredBattlerSprite:1; // 0x4
|
||||
u8 intimidatedMon:1; // 0x8
|
||||
u8 traced:1; // 0x10
|
||||
u8 ppNotAffectedByPressure:1;
|
||||
u8 faintedHasReplacement:1;
|
||||
u8 focusBanded:1;
|
||||
u8 field1[3];
|
||||
s32 dmg;
|
||||
s32 shellBellDmg;
|
||||
s32 physicalDmg;
|
||||
s32 specialDmg;
|
||||
u8 physicalBattlerId;
|
||||
u8 specialBattlerId;
|
||||
u8 field12;
|
||||
u8 field13;
|
||||
u8 changedStatsBattlerId; // Battler that was responsible for the latest stat change. Can be self.
|
||||
u8 statLowered:1;
|
||||
u8 lightningRodRedirected:1;
|
||||
u8 restoredBattlerSprite: 1;
|
||||
u8 traced:1;
|
||||
u8 faintedHasReplacement:1;
|
||||
u8 focusBanded:1;
|
||||
u8 focusSashed:1;
|
||||
// End of byte
|
||||
u8 sturdied:1;
|
||||
u8 stormDrainRedirected:1;
|
||||
u8 switchInAbilityDone:1;
|
||||
u8 switchInItemDone:1;
|
||||
u8 instructedChosenTarget:3;
|
||||
u8 berryReduced:1;
|
||||
// End of byte
|
||||
u8 gemParam;
|
||||
// End of byte
|
||||
u8 gemBoost:1;
|
||||
u8 rototillerAffected:1; // to be affected by rototiller
|
||||
u8 parentalBondState:2;
|
||||
u8 multiHitOn:1;
|
||||
u8 announceNeutralizingGas:1; // See Cmd_switchineffects
|
||||
u8 neutralizingGasRemoved:1; // See VARIOUS_TRY_END_NEUTRALIZING_GAS
|
||||
u8 affectionEndured:1;
|
||||
// End of byte
|
||||
u8 damagedMons:4; // Mons that have been damaged directly by using a move, includes substitute.
|
||||
u8 dancerUsedMove:1;
|
||||
u8 dancerOriginalTarget:3;
|
||||
// End of byte
|
||||
u8 emergencyExited:1;
|
||||
u8 afterYou:1;
|
||||
u8 preventLifeOrbDamage:1; // So that Life Orb doesn't activate various effects.
|
||||
// pokeemrald
|
||||
u8 intimidatedMon:1; // 0x8
|
||||
u8 ppNotAffectedByPressure:1;
|
||||
s32 dmg;
|
||||
};
|
||||
|
||||
extern struct SpecialStatus gSpecialStatuses[MAX_BATTLERS_COUNT];
|
||||
|
|
@ -249,20 +332,54 @@ struct SideTimer
|
|||
/*0x09*/ u8 followmeTarget;
|
||||
/*0x0A*/ u8 spikesAmount;
|
||||
/*0x0B*/ u8 fieldB;
|
||||
// pokeemerald
|
||||
u8 retaliateTimer;
|
||||
u8 stealthRockAmount;
|
||||
u8 stickyWebAmount;
|
||||
u8 stickyWebBattlerId;
|
||||
u8 stickyWebBattlerSide; // Used for Court Change
|
||||
u8 tailwindTimer;
|
||||
u8 tailwindBattlerId;
|
||||
u8 auroraVeilTimer;
|
||||
u8 auroraVeilBattlerId;
|
||||
u8 toxicSpikesAmount;
|
||||
u8 followmePowder:1; // Rage powder, does not affect grass type pokemon.
|
||||
u8 steelsurgeAmount;
|
||||
u8 luckyChantTimer;
|
||||
u8 luckyChantBattlerId;
|
||||
u8 damageNonTypesTimer;
|
||||
u8 damageNonTypesType;
|
||||
u8 rainbowTimer;
|
||||
u8 seaOfFireTimer;
|
||||
u8 swampTimer;
|
||||
};
|
||||
|
||||
extern struct SideTimer gSideTimers[];
|
||||
|
||||
struct FieldTimer
|
||||
{
|
||||
u8 mudSportTimer;
|
||||
u8 waterSportTimer;
|
||||
u8 wonderRoomTimer;
|
||||
u8 magicRoomTimer;
|
||||
u8 trickRoomTimer;
|
||||
u8 terrainTimer;
|
||||
u8 gravityTimer;
|
||||
u8 fairyLockTimer;
|
||||
};
|
||||
|
||||
struct WishFutureKnock
|
||||
{
|
||||
u8 futureSightCounter[MAX_BATTLERS_COUNT];
|
||||
u8 futureSightAttacker[MAX_BATTLERS_COUNT];
|
||||
s32 futureSightDmg[MAX_BATTLERS_COUNT];
|
||||
u8 futureSightBattlerIndex[MAX_BATTLERS_COUNT];
|
||||
u8 futureSightPartyIndex[MAX_BATTLERS_COUNT];
|
||||
u8 futureSightAttacker[MAX_BATTLERS_COUNT]; // pokefirered, remove
|
||||
s32 futureSightDmg[MAX_BATTLERS_COUNT]; // pokefirered, remove
|
||||
u16 futureSightMove[MAX_BATTLERS_COUNT];
|
||||
u8 wishCounter[MAX_BATTLERS_COUNT];
|
||||
u8 wishMonId[MAX_BATTLERS_COUNT];
|
||||
u8 wishPartyId[MAX_BATTLERS_COUNT];
|
||||
u8 weatherDuration;
|
||||
u8 knockedOffMons[2];
|
||||
u8 knockedOffMons[NUM_BATTLE_SIDES];
|
||||
};
|
||||
|
||||
extern struct WishFutureKnock gWishFutureKnock;
|
||||
|
|
@ -293,13 +410,18 @@ struct UsedMoves
|
|||
u16 unknown[MAX_BATTLERS_COUNT];
|
||||
};
|
||||
|
||||
#define AI_MOVE_HISTORY_COUNT 3
|
||||
|
||||
struct BattleHistory
|
||||
{
|
||||
/*0x00*/ u16 usedMoves[2][8]; // 0xFFFF means move not used (confuse self hit, etc)
|
||||
/*0x20*/ u16 abilities[MAX_BATTLERS_COUNT / 2];
|
||||
/*0x22*/ u8 itemEffects[MAX_BATTLERS_COUNT / 2];
|
||||
u16 abilities[MAX_BATTLERS_COUNT];
|
||||
/*0x22*/ u8 itemEffects[MAX_BATTLERS_COUNT];
|
||||
/*0x24*/ u16 trainerItems[MAX_BATTLERS_COUNT];
|
||||
/*0x2C*/ u8 itemsNo;
|
||||
u16 moveHistory[MAX_BATTLERS_COUNT][AI_MOVE_HISTORY_COUNT]; // 3 last used moves for each battler
|
||||
u8 moveHistoryIndex[MAX_BATTLERS_COUNT];
|
||||
u16 heldItems[MAX_BATTLERS_COUNT];
|
||||
};
|
||||
|
||||
struct BattleScriptsStack
|
||||
|
|
@ -371,6 +493,74 @@ struct LinkBattlerHeader
|
|||
struct BattleEnigmaBerry battleEnigmaBerry;
|
||||
};
|
||||
|
||||
struct MegaEvolutionData
|
||||
{
|
||||
u8 toEvolve; // As flags using gBitTable.
|
||||
bool8 alreadyEvolved[4]; // Array id is used for mon position.
|
||||
u8 battlerId;
|
||||
bool8 playerSelect;
|
||||
u8 triggerSpriteId;
|
||||
};
|
||||
|
||||
struct UltraBurstData
|
||||
{
|
||||
u8 toBurst; // As flags using gBitTable.
|
||||
bool8 alreadyBursted[4]; // Array id is used for mon position.
|
||||
u8 battlerId;
|
||||
bool8 playerSelect;
|
||||
u8 triggerSpriteId;
|
||||
};
|
||||
|
||||
struct Illusion
|
||||
{
|
||||
u8 on;
|
||||
u8 set;
|
||||
u8 broken;
|
||||
u8 partyId;
|
||||
struct Pokemon *mon;
|
||||
};
|
||||
|
||||
struct ZMoveData
|
||||
{
|
||||
u8 viable:1; // current move can become a z move
|
||||
u8 viewing:1; // if player is viewing the z move name instead of regular moves
|
||||
u8 active:1; // is z move being used this turn
|
||||
u8 zStatusActive:1;
|
||||
u8 healReplacement:1;
|
||||
u8 activeCategory:2; // active z move category
|
||||
u8 zUnused:1;
|
||||
u8 triggerSpriteId;
|
||||
u8 possibleZMoves[MAX_BATTLERS_COUNT];
|
||||
u16 chosenZMove; // z move of move cursor is on
|
||||
u8 effect;
|
||||
u8 used[MAX_BATTLERS_COUNT]; //one per bank for multi-battles
|
||||
u16 toBeUsed[MAX_BATTLERS_COUNT]; // z moves per battler to be used
|
||||
u16 baseMoves[MAX_BATTLERS_COUNT];
|
||||
u8 categories[MAX_BATTLERS_COUNT];
|
||||
};
|
||||
|
||||
struct DynamaxData
|
||||
{
|
||||
bool8 playerSelect;
|
||||
u8 triggerSpriteId;
|
||||
u8 toDynamax; // flags using gBitTable
|
||||
bool8 alreadyDynamaxed[NUM_BATTLE_SIDES];
|
||||
bool8 dynamaxed[MAX_BATTLERS_COUNT];
|
||||
u8 dynamaxTurns[MAX_BATTLERS_COUNT];
|
||||
u8 usingMaxMove[MAX_BATTLERS_COUNT];
|
||||
u8 activeCategory;
|
||||
u8 categories[MAX_BATTLERS_COUNT];
|
||||
u16 baseMove[MAX_BATTLERS_COUNT]; // base move of Max Move
|
||||
u16 lastUsedBaseMove;
|
||||
u16 levelUpHP;
|
||||
};
|
||||
|
||||
struct LostItem
|
||||
{
|
||||
u16 originalItem:15;
|
||||
u16 stolen:1;
|
||||
};
|
||||
|
||||
struct BattleStruct
|
||||
{
|
||||
u8 turnEffectsTracker;
|
||||
|
|
@ -384,7 +574,6 @@ struct BattleStruct
|
|||
u8 wildVictorySong;
|
||||
u8 dynamicMoveType;
|
||||
u8 wrappedBy[MAX_BATTLERS_COUNT];
|
||||
u16 assistPossibleMoves[PARTY_SIZE * MAX_MON_MOVES]; // 6 mons, each of them knowing 4 moves
|
||||
u8 focusPunchBattlerId;
|
||||
u8 battlerPreventingSwitchout;
|
||||
u8 moneyMultiplier;
|
||||
|
|
@ -393,7 +582,7 @@ struct BattleStruct
|
|||
u8 faintedActionsState;
|
||||
u8 faintedActionsBattlerId;
|
||||
// balign 2
|
||||
u16 expValue;
|
||||
u32 expValue;
|
||||
u8 scriptPartyIdx; // for printing the nickname
|
||||
u8 sentInPokes;
|
||||
bool8 selectionScriptFinished[MAX_BATTLERS_COUNT];
|
||||
|
|
@ -403,8 +592,8 @@ struct BattleStruct
|
|||
u8 runTries;
|
||||
u8 caughtMonNick[POKEMON_NAME_LENGTH + 1];
|
||||
u8 field_78; // unused
|
||||
u8 safariRockThrowCounter;
|
||||
u8 safariBaitThrowCounter;
|
||||
u8 safariRockThrowCounter; // safariGoNearCounter in pokeemerald
|
||||
u8 safariBaitThrowCounter; // safariPkblThrowCounter in pokeemerald
|
||||
u8 safariEscapeFactor;
|
||||
u8 safariCatchFactor;
|
||||
u8 linkBattleVsSpriteId_V;
|
||||
|
|
@ -430,11 +619,11 @@ struct BattleStruct
|
|||
u8 hpScale;
|
||||
u16 savedBattleTypeFlags;
|
||||
void (*savedCallback)(void);
|
||||
u8 synchronizeMoveEffect;
|
||||
u16 synchronizeMoveEffect;
|
||||
u8 multiplayerId;
|
||||
u8 overworldWeatherDone;
|
||||
u8 atkCancellerTracker;
|
||||
u16 usedHeldItems[MAX_BATTLERS_COUNT];
|
||||
u16 usedHeldItems[PARTY_SIZE][NUM_BATTLE_SIDES]; // For each party member and side. For harvest, recycle
|
||||
u8 chosenItem[MAX_BATTLERS_COUNT]; // why is this an u8?
|
||||
u8 AI_itemType[2];
|
||||
u8 AI_itemFlags[2];
|
||||
|
|
@ -446,7 +635,7 @@ struct BattleStruct
|
|||
u8 turnSideTracker;
|
||||
u8 fillerDC[0xDF-0xDC];
|
||||
u8 givenExpMons;
|
||||
u8 lastTakenMoveFrom[MAX_BATTLERS_COUNT * MAX_BATTLERS_COUNT * 2];
|
||||
u8 lastTakenMoveFrom[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT];
|
||||
u16 castformPalette[MAX_BATTLERS_COUNT][16];
|
||||
u8 wishPerishSongState;
|
||||
u8 wishPerishSongBattlerId;
|
||||
|
|
@ -459,42 +648,134 @@ struct BattleStruct
|
|||
u8 itemPartyIndex[MAX_BATTLERS_COUNT];
|
||||
u8 itemMoveIndex[MAX_BATTLERS_COUNT];
|
||||
u8 padding_1E4[0x14];
|
||||
}; // size == 0x200 bytes
|
||||
// pokeemerald
|
||||
u8 isSkyBattle:1;
|
||||
u8 isAtkCancelerForCalledMove:1; // Certain cases in atk canceler should only be checked once, when the original move is called, however others need to be checked the twice.
|
||||
u8 swapDamageCategory:1; // Photon Geyser, Shell Side Arm, Light That Burns the Sky
|
||||
u8 beatUpSlot:3;
|
||||
u8 pledgeMove:1;
|
||||
u8 magnitudeBasePower;
|
||||
u8 presentBasePower;
|
||||
u8 sameMoveTurns[MAX_BATTLERS_COUNT]; // For Metronome, number of times the same moves has been SUCCESFULLY used.
|
||||
u8 lastMoveFailed; // as bits for each battler, for the sake of Stomping Tantrum
|
||||
bool8 ateBoost[MAX_BATTLERS_COUNT];
|
||||
u8 timesGotHit[NUM_BATTLE_SIDES][PARTY_SIZE];
|
||||
u8 supremeOverlordCounter[MAX_BATTLERS_COUNT];
|
||||
struct Illusion illusion[MAX_BATTLERS_COUNT];
|
||||
u8 trainerSlideFirstSTABMoveMsgState:2;
|
||||
u8 blunderPolicy:1; // should blunder policy activate
|
||||
u8 skyDropTargets[MAX_BATTLERS_COUNT]; // For Sky Drop, to account for if multiple Pokemon use Sky Drop in a double battle.
|
||||
u8 bonusCritStages[MAX_BATTLERS_COUNT]; // G-Max Chi Strike boosts crit stages of allies.
|
||||
u8 enduredDamage;
|
||||
u16 changedSpecies[NUM_BATTLE_SIDES][PARTY_SIZE]; // For forms when multiple mons can change into the same pokemon.
|
||||
u8 trainerSlideFirstCriticalHitMsgState:2;
|
||||
u8 trainerSlideFirstSuperEffectiveHitMsgState:2;
|
||||
u8 additionalEffectsCounter:4; // A counter for the additionalEffects applied by the current move in Cmd_setadditionaleffects
|
||||
u8 targetsDone[MAX_BATTLERS_COUNT]; // Each battler as a bit.
|
||||
u16 moveEffect2; // For Knock Off
|
||||
u8 stolenStats[NUM_BATTLE_STATS]; // hp byte is used for which stats to raise, other inform about by how many stages
|
||||
u8 stickySyrupdBy[MAX_BATTLERS_COUNT];
|
||||
u8 moneyMultiplierMove:1;
|
||||
struct LostItem itemLost[PARTY_SIZE]; // Player's team that had items consumed or stolen (two bytes per party member)
|
||||
u8 savedBattlerTarget;
|
||||
u8 ateBerry[2]; // array id determined by side, each party pokemon as bit
|
||||
u16 overwrittenAbilities[MAX_BATTLERS_COUNT]; // abilities overwritten during battle (keep separate from battle history in case of switching)
|
||||
struct MegaEvolutionData mega;
|
||||
struct UltraBurstData burst;
|
||||
struct ZMoveData zmove;
|
||||
struct DynamaxData dynamax;
|
||||
u8 appearedInBattle; // Bitfield to track which Pokemon appeared in battle. Used for Burmy's form change
|
||||
bool8 allowedToChangeFormInWeather[PARTY_SIZE][NUM_BATTLE_SIDES]; // For each party member and side, used by Ice Face.
|
||||
u8 startingStatus; // status to apply at battle start. defined in constants/battle.h
|
||||
u8 startingStatusTimer;
|
||||
u8 transformZeroToHero[NUM_BATTLE_SIDES];
|
||||
u8 supersweetSyrup[NUM_BATTLE_SIDES];
|
||||
u8 intrepidSwordBoost[NUM_BATTLE_SIDES];
|
||||
u8 dauntlessShieldBoost[NUM_BATTLE_SIDES];
|
||||
u16 tracedAbility[MAX_BATTLERS_COUNT];
|
||||
u16 hpBefore[MAX_BATTLERS_COUNT]; // Hp of battlers before using a move. For Berserk and Anger Shell.
|
||||
u8 friskedBattler; // Frisk needs to identify 2 battlers in double battles.
|
||||
bool8 friskedAbility; // If identifies two mons, show the ability pop-up only once.
|
||||
bool8 spriteIgnore0Hp;
|
||||
u8 moneyMultiplierItem:1;
|
||||
u8 expGettersOrder[PARTY_SIZE]; // First battlers which were sent out, then via exp-share
|
||||
u32 expShareExpValue;
|
||||
u8 expOrderId:3;
|
||||
u8 expSentInMons; // As bits for player party mons - not including exp share mons.
|
||||
u8 teamGotExpMsgPrinted:1; // The 'Rest of your team got msg' has been printed.
|
||||
u8 roostTypes[MAX_BATTLERS_COUNT][2];
|
||||
u8 lastMoveTarget[MAX_BATTLERS_COUNT]; // The last target on which each mon used a move, for the sake of Instruct
|
||||
u8 attackerBeforeBounce:2;
|
||||
bool8 hitSwitchTargetFailed:1;
|
||||
u8 storedHealingWish:4; // Each battler as a bit.
|
||||
u8 storedLunarDance:4; // Each battler as a bit.
|
||||
u8 forcedSwitch:4; // For each battler
|
||||
u8 alreadyStatusedMoveAttempt; // As bits for battlers; For example when using Thunder Wave on an already paralyzed Pokémon.
|
||||
u8 soulheartBattlerId;
|
||||
const u8 *trainerSlideMsg;
|
||||
u8 battleBondTransformed[NUM_BATTLE_SIDES]; // Bitfield for each party.
|
||||
// pokeemerald unknown use
|
||||
u8 field_93; // related to choosing pokemon? probably related to recording
|
||||
};
|
||||
|
||||
extern struct BattleStruct *gBattleStruct;
|
||||
|
||||
#define F_DYNAMIC_TYPE_1 (1 << 6)
|
||||
#define F_DYNAMIC_TYPE_2 (1 << 7)
|
||||
#define DYNAMIC_TYPE_MASK (F_DYNAMIC_TYPE_1 - 1)
|
||||
#define DYNAMIC_TYPE_MASK ((1 << 6) - 1)
|
||||
#define F_DYNAMIC_TYPE_IGNORE_PHYSICALITY (1 << 6) // If set, the dynamic type's physicality won't be used for certain move effects.
|
||||
#define F_DYNAMIC_TYPE_SET (1 << 7) // Set for all dynamic types to distinguish a dynamic type of Normal (0) from no dynamic type.
|
||||
|
||||
#define GET_MOVE_TYPE(move, typeArg) \
|
||||
{ \
|
||||
if (gBattleStruct->dynamicMoveType) \
|
||||
typeArg = gBattleStruct->dynamicMoveType & DYNAMIC_TYPE_MASK; \
|
||||
else \
|
||||
typeArg = gBattleMoves[move].type; \
|
||||
typeArg = gMovesInfo[move].type; \
|
||||
}
|
||||
|
||||
#define IS_TYPE_PHYSICAL(moveType)(moveType < TYPE_MYSTERY)
|
||||
#define IS_TYPE_SPECIAL(moveType)(moveType > TYPE_MYSTERY)
|
||||
#define IS_MOVE_PHYSICAL(move)(GetBattleMoveCategory(move) == DAMAGE_CATEGORY_PHYSICAL)
|
||||
#define IS_MOVE_SPECIAL(move)(GetBattleMoveCategory(move) == DAMAGE_CATEGORY_SPECIAL)
|
||||
#define IS_MOVE_STATUS(move)(gMovesInfo[move].category == DAMAGE_CATEGORY_STATUS)
|
||||
|
||||
#define TARGET_TURN_DAMAGED ((gSpecialStatuses[gBattlerTarget].physicalDmg != 0 || gSpecialStatuses[gBattlerTarget].specialDmg != 0))
|
||||
#define IS_MOVE_RECOIL(move)(gMovesInfo[move].recoil > 0 || gMovesInfo[move].effect == EFFECT_RECOIL_IF_MISS)
|
||||
|
||||
#define IS_BATTLER_OF_TYPE(battlerId, type)((gBattleMons[battlerId].type1 == type || gBattleMons[battlerId].type2 == type))
|
||||
#define SET_BATTLER_TYPE(battlerId, type) \
|
||||
{ \
|
||||
gBattleMons[battlerId].type1 = type; \
|
||||
gBattleMons[battlerId].type2 = type; \
|
||||
#define IS_TYPE_PHYSICAL(moveType)(moveType < TYPE_MYSTERY) // TODO: remove
|
||||
#define IS_TYPE_SPECIAL(moveType)(moveType > TYPE_MYSTERY) // TODO: remove
|
||||
|
||||
#define BATTLER_MAX_HP(battlerId)(gBattleMons[battlerId].hp == gBattleMons[battlerId].maxHP)
|
||||
#define TARGET_TURN_DAMAGED ((gSpecialStatuses[gBattlerTarget].physicalDmg != 0 || gSpecialStatuses[gBattlerTarget].specialDmg != 0) || (gBattleStruct->enduredDamage & gBitTable[gBattlerTarget]))
|
||||
#define BATTLER_TURN_DAMAGED(battlerId) ((gSpecialStatuses[battlerId].physicalDmg != 0 || gSpecialStatuses[battlerId].specialDmg != 0) || (gBattleStruct->enduredDamage & gBitTable[battler]))
|
||||
|
||||
#define IS_BATTLER_OF_TYPE(battlerId, type)((GetBattlerType(battlerId, 0) == type || GetBattlerType(battlerId, 1) == type || (GetBattlerType(battlerId, 2) != TYPE_MYSTERY && GetBattlerType(battlerId, 2) == type)))
|
||||
|
||||
#define SET_BATTLER_TYPE(battlerId, type) \
|
||||
{ \
|
||||
gBattleMons[battlerId].type1 = type; \
|
||||
gBattleMons[battlerId].type2 = type; \
|
||||
gBattleMons[battlerId].type3 = TYPE_MYSTERY; \
|
||||
}
|
||||
|
||||
#define GET_STAT_BUFF_ID(n)((n & 0xF)) // first four bits 0x1, 0x2, 0x4, 0x8
|
||||
#define GET_STAT_BUFF_VALUE2(n)((n & 0xF0))
|
||||
#define GET_STAT_BUFF_VALUE(n)(((n >> 4) & 7)) // 0x10, 0x20, 0x40
|
||||
#define IS_BATTLER_PROTECTED(battlerId)(gProtectStructs[battlerId].protected \
|
||||
|| gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_WIDE_GUARD \
|
||||
|| gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_QUICK_GUARD \
|
||||
|| gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_CRAFTY_SHIELD \
|
||||
|| gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_MAT_BLOCK \
|
||||
|| gProtectStructs[battlerId].spikyShielded \
|
||||
|| gProtectStructs[battlerId].kingsShielded \
|
||||
|| gProtectStructs[battlerId].banefulBunkered \
|
||||
|| gProtectStructs[battlerId].burningBulwarked \
|
||||
|| gProtectStructs[battlerId].obstructed \
|
||||
|| gProtectStructs[battlerId].silkTrapped)
|
||||
|
||||
#define GET_STAT_BUFF_ID(n)((n & 7)) // first three bits 0x1, 0x2, 0x4
|
||||
#define GET_STAT_BUFF_VALUE_WITH_SIGN(n)((n & 0xF8))
|
||||
#define GET_STAT_BUFF_VALUE(n)(((n >> 3) & 0xF)) // 0x8, 0x10, 0x20, 0x40
|
||||
#define STAT_BUFF_NEGATIVE 0x80 // 0x80, the sign bit
|
||||
|
||||
#define SET_STAT_BUFF_VALUE(n)(((s8)(((s8)(n) << 4)) & 0xF0))
|
||||
#define SET_STAT_BUFF_VALUE(n)((((n) << 3) & 0xF8))
|
||||
|
||||
#define SET_STATCHANGER(statId, stage, goesDown)(gBattleScripting.statChanger = (statId) + (stage << 4) + (goesDown << 7))
|
||||
#define SET_STATCHANGER2(dst, statId, stage, goesDown)(dst = (statId) + ((stage) << 3) + (goesDown << 7))
|
||||
// TODO: change in battle script(?) from stage << 4 to stage << 3
|
||||
|
||||
// NOTE: The members of this struct have hard-coded offsets
|
||||
// in include/constants/battle_script_commands.h
|
||||
|
|
@ -503,14 +784,14 @@ struct BattleScripting
|
|||
s32 painSplitHp;
|
||||
s32 bideDmg;
|
||||
u8 multihitString[6];
|
||||
u8 dmgMultiplier;
|
||||
u8 twoTurnsMoveStringId;
|
||||
bool8 expOnCatch;
|
||||
u8 unused;
|
||||
u8 animArg1;
|
||||
u8 animArg2;
|
||||
u16 tripleKickPower;
|
||||
u16 savedStringId;
|
||||
u8 moveendState;
|
||||
u8 battlerWithAbility;
|
||||
u8 multihitMoveEffect;
|
||||
u8 savedStatChanger; // For further use, if attempting to change stat two times(ex. Moody)
|
||||
u8 shiftSwitched; // When the game tells you the next enemy's pokemon and you switch. Option for noobs but oh well.
|
||||
u8 battler;
|
||||
u8 animTurn;
|
||||
u8 animTargetsHit;
|
||||
|
|
@ -520,10 +801,26 @@ struct BattleScripting
|
|||
u8 battleStyle;
|
||||
u8 drawlvlupboxState;
|
||||
u8 learnMoveState;
|
||||
u8 pursuitDoublesAttacker;
|
||||
u8 savedBattler;
|
||||
u8 reshowMainState;
|
||||
u8 reshowHelperState;
|
||||
u8 levelUpHP;
|
||||
u8 windowsType; // B_WIN_TYPE_*
|
||||
u8 multiplayerId;
|
||||
u8 specialTrainerBattleType;
|
||||
bool8 monCaught;
|
||||
s32 savedDmg;
|
||||
u16 savedMoveEffect; // For moves hitting multiple targets.
|
||||
u16 moveEffect;
|
||||
u16 multihitMoveEffect;
|
||||
u8 illusionNickHack; // To properly display nick in STRINGID_ENEMYABOUTTOSWITCHPKMN.
|
||||
bool8 fixedPopup; // Force ability popup to stick until manually called back
|
||||
u16 abilityPopupOverwrite;
|
||||
u8 switchCase; // Special switching conditions, eg. red card
|
||||
u8 overrideBerryRequirements;
|
||||
u8 stickyWebStatDrop; // To prevent Defiant activating on a Court Change'd Sticky Web
|
||||
// TODO: remove pokefirered members
|
||||
u8 dmgMultiplier;
|
||||
};
|
||||
|
||||
struct BattleSpriteInfo
|
||||
|
|
@ -545,7 +842,9 @@ struct BattleAnimationInfo
|
|||
u8 field_5;
|
||||
u8 field_6;
|
||||
u8 field_7;
|
||||
u8 ballThrowCaseId;
|
||||
u8 ballThrowCaseId:6;
|
||||
u8 isCriticalCapture:1;
|
||||
u8 criticalCaptureSuccess:1;
|
||||
u8 introAnimActive:1;
|
||||
u8 wildMonInvisible:1;
|
||||
u8 field_9_x1C:3;
|
||||
|
|
@ -615,7 +914,8 @@ struct MonSpritesGfx
|
|||
void *sprites[MAX_BATTLERS_COUNT];
|
||||
struct SpriteTemplate templates[MAX_BATTLERS_COUNT];
|
||||
struct SpriteFrameImage images[MAX_BATTLERS_COUNT][4];
|
||||
u8 field_F4[0x80]; // unused
|
||||
u8 field_F4[0x80 - (4 * MAX_BATTLERS_COUNT)]; // unused, original - spritesGfx
|
||||
u8 *spritesGfx[MAX_BATTLERS_COUNT];
|
||||
u8 *barFontGfx;
|
||||
void *field_178; // freed but never allocated
|
||||
u16 *multiUseBuffer;
|
||||
|
|
@ -630,6 +930,12 @@ struct PokedudeBattlerState
|
|||
u8 saved_bg0y;
|
||||
};
|
||||
|
||||
struct QueuedStatBoost
|
||||
{
|
||||
u8 stats; // bitfield for each battle stat that is set if the stat changes
|
||||
s8 statChanges[NUM_BATTLE_STATS - 1]; // highest bit being set decreases the stat
|
||||
}; /* size = 8 */
|
||||
|
||||
extern u16 gBattle_BG0_X;
|
||||
extern u16 gBattle_BG0_Y;
|
||||
extern u16 gBattle_BG1_X;
|
||||
|
|
@ -648,6 +954,7 @@ extern u16 gLastUsedItem;
|
|||
extern u32 gBattleTypeFlags;
|
||||
extern struct MonSpritesGfx *gMonSpritesGfxPtr;
|
||||
extern u16 gTrainerBattleOpponent_A;
|
||||
extern u16 gTrainerBattleOpponent_B;
|
||||
extern u16 gMoveToLearn;
|
||||
extern u16 gBattleMovePower;
|
||||
extern struct BattleEnigmaBerry gEnigmaBerries[MAX_BATTLERS_COUNT];
|
||||
|
|
@ -695,7 +1002,7 @@ extern const u8 *gSelectionBattleScripts[MAX_BATTLERS_COUNT];
|
|||
extern u16 gLastMoves[MAX_BATTLERS_COUNT];
|
||||
extern u8 gBattlerByTurnOrder[MAX_BATTLERS_COUNT];
|
||||
extern u8 gBattleCommunication[BATTLE_COMMUNICATION_ENTRIES_COUNT];
|
||||
extern u16 gSideStatuses[2];
|
||||
extern u32 gSideStatuses[NUM_BATTLE_SIDES];
|
||||
extern u32 gHitMarker;
|
||||
extern u16 gChosenMoveByBattler[MAX_BATTLERS_COUNT];
|
||||
extern u8 gMoveResultFlags;
|
||||
|
|
@ -726,6 +1033,20 @@ extern u8 gChosenActionByBattler[MAX_BATTLERS_COUNT];
|
|||
extern u8 gBattleTerrain;
|
||||
extern struct MultiBattlePokemonTx gMultiPartnerParty[3];
|
||||
extern u16 gRandomTurnNumber;
|
||||
extern u8 gPartyCriticalHits[PARTY_SIZE];
|
||||
extern const struct BattleMoveEffect gBattleMoveEffects[];
|
||||
extern u32 gFieldStatuses;
|
||||
extern u8 gBattlerAbility;
|
||||
extern s32 gBideDmg[MAX_BATTLERS_COUNT];
|
||||
extern u8 gBideTarget[MAX_BATTLERS_COUNT];
|
||||
extern u16 gLastUsedMove;
|
||||
extern u8 gIsCriticalHit;
|
||||
extern struct FieldTimer gFieldTimers;
|
||||
extern bool8 gHasFetchedBall;
|
||||
extern u8 gLastUsedBall;
|
||||
extern u16 gLastThrownBall;
|
||||
extern u16 gBallToDisplay;
|
||||
extern struct QueuedStatBoost gQueuedStatBoosts[MAX_BATTLERS_COUNT];
|
||||
|
||||
static inline u32 GetBattlerPosition(u32 battler)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -12,9 +12,9 @@ void BattleAI_HandleItemUseBeforeAISetup(void);
|
|||
void BattleAI_SetupAIData(void);
|
||||
u8 BattleAI_ChooseMoveOrAction(void);
|
||||
void ClearBankMoveHistory(u8 bank);
|
||||
void RecordAbilityBattle(u8 bank, u16 abilityId);
|
||||
void RecordAbilityBattle(u32 bank, u32 abilityId);
|
||||
void ClearBankAbilityHistory(u8 bank);
|
||||
void RecordItemEffectBattle(u8 bank, u8 itemEffect);
|
||||
void RecordItemEffectBattle(u32 bank, u32 itemEffect);
|
||||
void ClearBankItemEffectHistory(u8 bank);
|
||||
u8 BattleAI_ChooseMoveOrAction(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -185,6 +185,12 @@ extern const u8 *const gBattleAnims_StatusConditions[];
|
|||
extern const u8 *const gBattleAnims_Moves[];
|
||||
extern const u16 gMovesWithQuietBGM[];
|
||||
|
||||
u8 GetAnimBattlerId(u8 wantedBattler);
|
||||
|
||||
// battle_anim_throw.c
|
||||
bool32 IsCriticalCapture(void);
|
||||
|
||||
//
|
||||
void MoveBattlerSpriteToBG(u8 battlerId, u8);
|
||||
void ResetBattleAnimBg(u8);
|
||||
void ClearBattleAnimationVars(void);
|
||||
|
|
|
|||
|
|
@ -181,7 +181,7 @@ enum
|
|||
CONTROLLER_HITANIMATION,
|
||||
CONTROLLER_CANTSWITCH,
|
||||
CONTROLLER_PLAYSE,
|
||||
CONTROLLER_PLAYFANFARE,
|
||||
CONTROLLER_PLAYFANFAREORBGM,
|
||||
CONTROLLER_FAINTINGCRY,
|
||||
CONTROLLER_INTROSLIDE,
|
||||
CONTROLLER_INTROTRAINERBALLTHROW,
|
||||
|
|
@ -206,6 +206,7 @@ void SetUpBattleVars(void);
|
|||
void InitBattleControllers(void);
|
||||
void TryReceiveLinkBattleData(void);
|
||||
void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data);
|
||||
bool32 IsValidForBattle(struct Pokemon *mon);
|
||||
|
||||
// emitters
|
||||
void BtlController_EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck);
|
||||
|
|
@ -218,7 +219,7 @@ void BtlController_EmitTrainerSlide(u8 bufferId);
|
|||
void BtlController_EmitTrainerSlideBack(u8 bufferId);
|
||||
void BtlController_EmitFaintAnimation(u8 bufferId);
|
||||
void BtlController_EmitBallThrowAnim(u8 bufferId, u8 caseId);
|
||||
void BtlController_EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr);
|
||||
void BtlController_EmitMoveAnimation(u32 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit);
|
||||
void BtlController_EmitPrintString(u8 bufferId, u16 stringId);
|
||||
void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringId);
|
||||
void BtlController_EmitChooseAction(u8 bufferId, u8 action, u16 itemId);
|
||||
|
|
@ -237,7 +238,7 @@ void BtlController_EmitOneReturnValue_Duplicate(u8 bufferId, u16 b);
|
|||
void BtlController_EmitHitAnimation(u8 bufferId);
|
||||
void BtlController_EmitCantSwitch(u8 bufferId);
|
||||
void BtlController_EmitPlaySE(u8 bufferId, u16 songId);
|
||||
void BtlController_EmitPlayFanfare(u8 bufferId, u16 songId);
|
||||
void BtlController_EmitPlayFanfareOrBGM(u32 bufferId, u16 songId, bool8 playBGM);
|
||||
void BtlController_EmitFaintingCry(u8 bufferId);
|
||||
void BtlController_EmitIntroSlide(u8 bufferId, u8 terrainId);
|
||||
void BtlController_EmitIntroTrainerBallThrow(u8 bufferId);
|
||||
|
|
@ -245,7 +246,7 @@ void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus *h
|
|||
void BtlController_EmitHidePartyStatusSummary(u8 bufferId);
|
||||
void BtlController_EmitEndBounceEffect(u8 bufferId);
|
||||
void BtlController_EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible);
|
||||
void BtlController_EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument);
|
||||
void BtlController_EmitBattleAnimation(u32 bufferId, u8 animationId, struct DisableStruct* disableStructPtr, u16 argument);
|
||||
void BtlController_EmitLinkStandbyMsg(u8 bufferId, u8 mode);
|
||||
void BtlController_EmitResetActionMoveSelection(u8 bufferId, u8 caseId);
|
||||
void BtlController_EmitEndLinkBattle(u8 bufferId, u8 battleOutcome);
|
||||
|
|
|
|||
92
include/battle_dynamax.h
Normal file
92
include/battle_dynamax.h
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
#ifndef GUARD_BATTLE_DYNAMAX_H
|
||||
#define GUARD_BATTLE_DYNAMAX_H
|
||||
|
||||
#define DYNAMAX_TURNS_COUNT 3
|
||||
|
||||
enum MaxMoveEffect
|
||||
{
|
||||
MAX_EFFECT_NONE,
|
||||
MAX_EFFECT_RAISE_TEAM_ATTACK,
|
||||
MAX_EFFECT_RAISE_TEAM_DEFENSE,
|
||||
MAX_EFFECT_RAISE_TEAM_SPEED,
|
||||
MAX_EFFECT_RAISE_TEAM_SP_ATK,
|
||||
MAX_EFFECT_RAISE_TEAM_SP_DEF,
|
||||
MAX_EFFECT_LOWER_ATTACK,
|
||||
MAX_EFFECT_LOWER_DEFENSE,
|
||||
MAX_EFFECT_LOWER_SPEED,
|
||||
MAX_EFFECT_LOWER_SP_ATK,
|
||||
MAX_EFFECT_LOWER_SP_DEF,
|
||||
MAX_EFFECT_SUN,
|
||||
MAX_EFFECT_RAIN,
|
||||
MAX_EFFECT_SANDSTORM,
|
||||
MAX_EFFECT_HAIL,
|
||||
MAX_EFFECT_MISTY_TERRAIN,
|
||||
MAX_EFFECT_GRASSY_TERRAIN,
|
||||
MAX_EFFECT_ELECTRIC_TERRAIN,
|
||||
MAX_EFFECT_PSYCHIC_TERRAIN,
|
||||
MAX_EFFECT_VINE_LASH,
|
||||
MAX_EFFECT_WILDFIRE,
|
||||
MAX_EFFECT_CANNONADE,
|
||||
MAX_EFFECT_EFFECT_SPORE_FOES,
|
||||
MAX_EFFECT_PARALYZE_FOES,
|
||||
MAX_EFFECT_CONFUSE_FOES_PAY_DAY,
|
||||
MAX_EFFECT_CRIT_PLUS,
|
||||
MAX_EFFECT_MEAN_LOOK,
|
||||
MAX_EFFECT_AURORA_VEIL,
|
||||
MAX_EFFECT_INFATUATE_FOES,
|
||||
MAX_EFFECT_RECYCLE_BERRIES,
|
||||
MAX_EFFECT_POISON_FOES,
|
||||
MAX_EFFECT_STEALTH_ROCK,
|
||||
MAX_EFFECT_DEFOG,
|
||||
MAX_EFFECT_POISON_PARALYZE_FOES,
|
||||
MAX_EFFECT_HEAL_TEAM,
|
||||
MAX_EFFECT_SPITE,
|
||||
MAX_EFFECT_GRAVITY,
|
||||
MAX_EFFECT_VOLCALITH,
|
||||
MAX_EFFECT_SANDBLAST_FOES,
|
||||
MAX_EFFECT_YAWN_FOE,
|
||||
MAX_EFFECT_LOWER_EVASIVENESS_FOES,
|
||||
MAX_EFFECT_AROMATHERAPY,
|
||||
MAX_EFFECT_CONFUSE_FOES,
|
||||
MAX_EFFECT_STEELSURGE,
|
||||
MAX_EFFECT_TORMENT_FOES,
|
||||
MAX_EFFECT_LOWER_SPEED_2_FOES,
|
||||
MAX_EFFECT_FIRE_SPIN_FOES,
|
||||
MAX_EFFECT_FIXED_POWER,
|
||||
MAX_EFFECT_BYPASS_PROTECT,
|
||||
};
|
||||
|
||||
// bool32 IsDynamaxed(u16 battlerId);
|
||||
// bool32 CanDynamax(u16 battlerId);
|
||||
// bool32 IsGigantamaxed(u16 battlerId);
|
||||
// void ApplyDynamaxHPMultiplier(u32 battler, struct Pokemon* mon);
|
||||
// void PrepareBattlerForDynamax(u16 battlerId);
|
||||
// u16 GetNonDynamaxHP(u16 battlerId);
|
||||
// u16 GetNonDynamaxMaxHP(u32 battlerId);
|
||||
// void UndoDynamax(u16 battlerId);
|
||||
// bool32 IsMoveBlockedByMaxGuard(u16 move);
|
||||
// bool32 IsMoveBlockedByDynamax(u16 move);
|
||||
|
||||
// bool32 ShouldUseMaxMove(u16 battlerId, u16 baseMove);
|
||||
// u16 GetMaxMove(u16 battlerId, u16 baseMove);
|
||||
// u8 GetMaxMovePower(u16 move);
|
||||
// bool32 IsMaxMove(u16 move);
|
||||
// void ChooseDamageNonTypesString(u8 type);
|
||||
|
||||
// void BS_UpdateDynamax(void);
|
||||
// void BS_SetMaxMoveEffect(void);
|
||||
// void BS_SetSteelsurge(void);
|
||||
// void BS_TrySetStatus1(void);
|
||||
// void BS_TrySetStatus2(void);
|
||||
// void BS_DamageNonTypes(void);
|
||||
// void BS_HealOneSixth(void);
|
||||
// void BS_TryRecycleBerry(void);
|
||||
// void BS_JumpIfDynamaxed(void);
|
||||
|
||||
// void ChangeDynamaxTriggerSprite(u8 spriteId, u8 animId);
|
||||
// void CreateDynamaxTriggerSprite(u8, bool8);
|
||||
// void HideDynamaxTriggerSprite(void);
|
||||
// bool32 IsDynamaxTriggerSpriteActive(void);
|
||||
// void DestroyDynamaxTriggerSprite(void);
|
||||
|
||||
#endif
|
||||
|
|
@ -23,9 +23,6 @@ struct MultiBattlePokemonTx
|
|||
/*0x1D*/ u8 language;
|
||||
};
|
||||
|
||||
#define TYPE_NAME_LENGTH 6
|
||||
#define ABILITY_NAME_LENGTH 12
|
||||
|
||||
// defines for the u8 array gTypeEffectiveness
|
||||
#define TYPE_EFFECT_ATK_TYPE(i)((gTypeEffectiveness[i + 0]))
|
||||
#define TYPE_EFFECT_DEF_TYPE(i)((gTypeEffectiveness[i + 1]))
|
||||
|
|
@ -59,8 +56,6 @@ extern const u8 gStatusConditionString_LoveJpn[8];
|
|||
extern const u8 *const gStatusConditionStringsTable[7][2];
|
||||
extern const u8 gTypeEffectiveness[372];
|
||||
extern const struct TrainerMoney gTrainerMoneyTable[];
|
||||
extern const u8 *const gAbilityDescriptionPointers[ABILITIES_COUNT];
|
||||
extern const u8 gAbilityNames[ABILITIES_COUNT][ABILITY_NAME_LENGTH + 1];
|
||||
|
||||
void CB2_InitBattle(void);
|
||||
void BattleMainCB2(void);
|
||||
|
|
@ -84,15 +79,20 @@ void SpriteCB_PlayerThrowInit(struct Sprite *sprite);
|
|||
void UpdatePlayerPosInThrowAnim(struct Sprite *sprite);
|
||||
void BeginBattleIntroDummy(void);
|
||||
void BeginBattleIntro(void);
|
||||
void SwitchInClearSetData(void);
|
||||
void FaintClearSetData(void);
|
||||
void SwitchInClearSetData(u32 battler);
|
||||
const u8* FaintClearSetData(u32 battler);
|
||||
void BattleTurnPassed(void);
|
||||
u8 IsRunningFromBattleImpossible(void);
|
||||
void UpdatePartyOwnerOnSwitch_NonMulti(u8 battler);
|
||||
u8 IsRunningFromBattleImpossible(u32 battler);
|
||||
void SwitchPartyOrder(u32 battlerId);
|
||||
void SwapTurnOrder(u8 id1, u8 id2);
|
||||
u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves);
|
||||
void RunBattleScriptCommands_PopCallbacksStack(void);
|
||||
void RunBattleScriptCommands(void);
|
||||
bool8 TryRunFromBattle(u8 battler);
|
||||
s8 GetMovePriority(u32 battlerId, u16 move);
|
||||
s8 GetChosenMovePriority(u32 battlerId);
|
||||
u32 GetBattlerTotalSpeedStatArgs(u32 battler, u32 ability, u32 holdEffect);
|
||||
u32 GetBattlerTotalSpeedStat(u32 battler);
|
||||
void SpecialStatusesClear(void);
|
||||
|
||||
#endif // GUARD_BATTLE_MAIN_H
|
||||
|
|
|
|||
|
|
@ -55,6 +55,8 @@
|
|||
#define B_TXT_TRAINER2_LOSE_TEXT 0x2E
|
||||
#define B_TXT_TRAINER2_WIN_TEXT 0x2F
|
||||
#define B_TXT_BUFF3 0x30
|
||||
#define B_TXT_ATK_TEAM2 0x38 // your/the opposing
|
||||
#define B_TXT_DEF_TEAM2 0x3B // your/the opposing
|
||||
|
||||
// for B_TXT_BUFF1, B_TXT_BUFF2 and B_TXT_BUFF3
|
||||
|
||||
|
|
@ -152,7 +154,7 @@
|
|||
{ \
|
||||
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
|
||||
textVar[1] = B_BUFF_MOVE; \
|
||||
textVar[2] = move; \
|
||||
textVar[2] = (move & 0xFF); \
|
||||
textVar[3] = (move & 0xFF00) >> 8; \
|
||||
textVar[4] = B_BUFF_EOS; \
|
||||
}
|
||||
|
|
@ -233,7 +235,6 @@ extern const u8 *const gRefereeStringsTable[];
|
|||
extern const u8 *const gStatNamesTable2[];
|
||||
|
||||
extern const u16 gMissStringIds[];
|
||||
extern const u16 gTrappingMoves[];
|
||||
|
||||
extern const u8 gText_Sleep[];
|
||||
extern const u8 gText_Poison[];
|
||||
|
|
|
|||
|
|
@ -7,11 +7,26 @@
|
|||
#define WINDOW_CLEAR (1 << 0)
|
||||
#define WINDOW_BG1 (1 << 7)
|
||||
|
||||
// Arguments for 'xStart, yStart, xEnd, yEnd' in HandleBattleWindow
|
||||
#define YESNOBOX_X_Y 23, 8, 29, 13
|
||||
|
||||
struct StatFractions
|
||||
{
|
||||
u8 dividend;
|
||||
u8 divisor;
|
||||
};
|
||||
|
||||
struct PickupItem
|
||||
{
|
||||
u16 itemId;
|
||||
u8 percentage[10];
|
||||
};
|
||||
|
||||
void AI_CalcDmg(u8 attacker, u8 defender);
|
||||
u8 TypeCalc(u16 move, u8 attacker, u8 defender);
|
||||
u8 AI_TypeCalc(u16 move, u16 targetSpecies, u16 targetAbility);
|
||||
u8 GetBattlerTurnOrderNum(u8 battlerId);
|
||||
void SetMoveEffect(bool8 primary, u8 certain);
|
||||
void SetMoveEffect(bool32 primary, u32 certain);
|
||||
bool32 IsMonGettingExpSentOut(void);
|
||||
void BattleDestroyYesNoCursorAt(void);
|
||||
void BattleCreateYesNoCursorAt(void);
|
||||
|
|
@ -19,7 +34,27 @@ void BufferMoveToLearnIntoBattleTextBuff2(void);
|
|||
void HandleBattleWindow(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags);
|
||||
bool8 UproarWakeUpCheck(u8 battlerId);
|
||||
u8 GetCatchingBattler(void);
|
||||
bool32 IsMoveAffectedByParentalBond(u32 move, u32 battler);
|
||||
u32 GetHighestStatId(u32 battlerId);
|
||||
u32 GetTotalAccuracy(u32 battlerAtk, u32 battlerDef, u32 move, u32 atkAbility, u32 defAbility, u32 atkHoldEffect, u32 defHoldEffect);
|
||||
bool32 DoesSubstituteBlockMove(u32 battlerAtk, u32 battlerDef, u32 move);
|
||||
bool32 DoesDisguiseBlockMove(u32 battler, u32 move);
|
||||
bool32 CanPoisonType(u8 battlerAttacker, u8 battlerTarget);
|
||||
bool32 CanParalyzeType(u8 battlerAttacker, u8 battlerTarget);
|
||||
bool32 NoAliveMonsForPlayer(void);
|
||||
bool32 NoAliveMonsForEitherParty(void);
|
||||
void StealTargetItem(u8 battlerStealer, u8 battlerItem);
|
||||
u32 IsFlowerVeilProtected(u32 battler);
|
||||
u32 IsLeafGuardProtected(u32 battler);
|
||||
bool32 IsShieldsDownProtected(u32 battler);
|
||||
u32 IsAbilityStatusProtected(u32 battler);
|
||||
bool32 TryResetBattlerStatChanges(u8 battler);
|
||||
bool32 CanBattlerSwitch(u32 battlerId);
|
||||
u8 GetFirstFaintedPartyIndex(u8 battlerId);
|
||||
u16 GetNaturePowerMove(void);
|
||||
bool32 CanCamouflage(u8 battlerId);
|
||||
|
||||
extern void (* const gBattleScriptingCommandsTable[])(void);
|
||||
extern const struct StatFractions gAccuracyStageRatios[];
|
||||
|
||||
#endif // GUARD_BATTLE_SCRIPT_COMMANDS_H
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -9,63 +9,120 @@
|
|||
#define MOVE_LIMITATION_TORMENTED (1 << 3)
|
||||
#define MOVE_LIMITATION_TAUNT (1 << 4)
|
||||
#define MOVE_LIMITATION_IMPRISON (1 << 5)
|
||||
#define MOVE_LIMITATIONS_ALL 0xFF
|
||||
#define MOVE_LIMITATION_ENCORE (1 << 6)
|
||||
#define MOVE_LIMITATION_CHOICE_ITEM (1 << 7)
|
||||
#define MOVE_LIMITATION_ASSAULT_VEST (1 << 8)
|
||||
#define MOVE_LIMITATION_GRAVITY (1 << 9)
|
||||
#define MOVE_LIMITATION_HEAL_BLOCK (1 << 10)
|
||||
#define MOVE_LIMITATION_BELCH (1 << 11)
|
||||
#define MOVE_LIMITATION_THROAT_CHOP (1 << 12)
|
||||
#define MOVE_LIMITATION_STUFF_CHEEKS (1 << 13)
|
||||
#define MOVE_LIMITATION_CANT_USE_TWICE (1 << 14)
|
||||
|
||||
#define MOVE_LIMITATION_PLACEHOLDER (1 << 15)
|
||||
#define MOVE_LIMITATIONS_ALL 0xFFFF
|
||||
|
||||
#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_MOVE_END_ATTACKER 4
|
||||
#define ABILITYEFFECT_MOVE_END 5
|
||||
#define ABILITYEFFECT_IMMUNITY 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 ABILITYEFFECT_TRACE1 9
|
||||
#define ABILITYEFFECT_TRACE2 10
|
||||
#define ABILITYEFFECT_MOVE_END_OTHER 11
|
||||
#define ABILITYEFFECT_NEUTRALIZINGGAS 12
|
||||
#define ABILITYEFFECT_FIELD_SPORT 13 // Only used if B_SPORT_TURNS >= GEN_6
|
||||
#define ABILITYEFFECT_ON_WEATHER 14
|
||||
#define ABILITYEFFECT_ON_TERRAIN 15
|
||||
#define ABILITYEFFECT_SWITCH_IN_TERRAIN 16
|
||||
#define ABILITYEFFECT_SWITCH_IN_WEATHER 17
|
||||
#define ABILITYEFFECT_OPPORTUNIST 18
|
||||
#define ABILITYEFFECT_SWITCH_IN_STATUSES 19
|
||||
// pokefirered
|
||||
#define ABILITYEFFECT_CHECK_OTHER_SIDE 20
|
||||
#define ABILITYEFFECT_CHECK_BATTLER_SIDE 21
|
||||
#define ABILITYEFFECT_INTIMIDATE1 22
|
||||
#define ABILITYEFFECT_INTIMIDATE2 23
|
||||
#define ABILITYEFFECT_TRACE 24
|
||||
#define ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER 25
|
||||
#define ABILITYEFFECT_CHECK_ON_FIELD 26
|
||||
#define ABILITYEFFECT_ON_DAMAGE 27
|
||||
#define ABILITYEFFECT_FORECAST 28
|
||||
#define ABILITYEFFECT_COUNT_OTHER_SIDE 29
|
||||
// Special cases
|
||||
#define ABILITYEFFECT_MUD_SPORT 252 // Only used if B_SPORT_TURNS >= GEN_6
|
||||
#define ABILITYEFFECT_WATER_SPORT 253 // Only used if B_SPORT_TURNS >= GEN_6
|
||||
|
||||
#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))
|
||||
|
||||
// For the first argument of ItemBattleEffects, to deteremine which block of item effects to try
|
||||
/// 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 ITEMEFFECT_KINGSROCK 4
|
||||
#define ITEMEFFECT_TARGET 5
|
||||
#define ITEMEFFECT_ORBS 6
|
||||
#define ITEMEFFECT_LIFEORB_SHELLBELL 7
|
||||
#define ITEMEFFECT_USE_LAST_ITEM 8 // move end effects for just the battler, not whole field
|
||||
#define ITEMEFFECT_STATS_CHANGED 9 // For White Herb and Eject Pack
|
||||
|
||||
#define WEATHER_HAS_EFFECT ((!AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_AIR_LOCK, 0, 0)))
|
||||
#define WEATHER_HAS_EFFECT2 ((!AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_AIR_LOCK, 0, 0)))
|
||||
|
||||
#define BS_GET_TARGET 0
|
||||
#define BS_GET_ATTACKER 1
|
||||
#define BS_GET_EFFECT_BANK 2
|
||||
#define BS_GET_SCRIPTING_BANK 10
|
||||
#define BS_GET_PLAYER1 11
|
||||
#define BS_GET_OPPONENT1 12
|
||||
#define BS_GET_PLAYER2 13
|
||||
#define BS_GET_OPPONENT2 14
|
||||
#define IS_WHOLE_SIDE_ALIVE(battler) ((IsBattlerAlive(battler) && IsBattlerAlive(BATTLE_PARTNER(battler))))
|
||||
#define IS_ALIVE_AND_PRESENT(battler) (IsBattlerAlive(battler) && IsBattlerSpritePresent(battler))
|
||||
|
||||
// for Natural Gift and Fling
|
||||
struct TypePower
|
||||
{
|
||||
u8 type;
|
||||
u8 power;
|
||||
u16 effect;
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
CANCELLER_FLAGS,
|
||||
CANCELLER_SKY_DROP,
|
||||
CANCELLER_ASLEEP,
|
||||
CANCELLER_FROZEN,
|
||||
CANCELLER_TRUANT,
|
||||
CANCELLER_RECHARGE,
|
||||
CANCELLER_FLINCH,
|
||||
CANCELLER_DISABLED,
|
||||
CANCELLER_GRAVITY,
|
||||
CANCELLER_HEAL_BLOCKED,
|
||||
CANCELLER_TAUNTED,
|
||||
CANCELLER_IMPRISONED,
|
||||
CANCELLER_CONFUSED,
|
||||
CANCELLER_PARALYSED,
|
||||
CANCELLER_GHOST,
|
||||
CANCELLER_IN_LOVE,
|
||||
CANCELLER_BIDE,
|
||||
CANCELLER_THAW,
|
||||
CANCELLER_POWDER_MOVE,
|
||||
CANCELLER_POWDER_STATUS,
|
||||
CANCELLER_THROAT_CHOP,
|
||||
CANCELLER_MULTIHIT_MOVES,
|
||||
CANCELLER_Z_MOVES,
|
||||
CANCELLER_END,
|
||||
CANCELLER_PSYCHIC_TERRAIN,
|
||||
CANCELLER_END2,
|
||||
};
|
||||
|
||||
|
||||
u8 GetBattlerForBattleScript(u8 caseId);
|
||||
void PressurePPLose(u8 target, u8 attacker, u16 move);
|
||||
void PressurePPLoseOnUsingImprison(u8 attacker);
|
||||
void PressurePPLoseOnUsingPerishSong(u8 attacker);
|
||||
void MarkBattlerForControllerExec(u8 battlerId);
|
||||
void MarkBattlerReceivedLinkData(u8 battlerId);
|
||||
void CancelMultiTurnMoves(u8 battler);
|
||||
bool8 WasUnableToUseMove(u8 battler);
|
||||
const u8* CancelMultiTurnMoves(u32 battler);
|
||||
bool32 WasUnableToUseMove(u32 battler);
|
||||
void PrepareStringBattle(u16 stringId, u8 battler);
|
||||
void ResetSentPokesToOpponentValue(void);
|
||||
void OpponentSwitchInResetSentPokesToOpponentValue(u8 battler);
|
||||
|
|
@ -74,7 +131,7 @@ void BattleScriptPush(const u8 *bsPtr);
|
|||
void BattleScriptPushCursor(void);
|
||||
void BattleScriptPop(void);
|
||||
u8 TrySetCantSelectMoveBattleScript(void);
|
||||
u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u8 check);
|
||||
u8 CheckMoveLimitations(u32 battler, u8 unusableMoves, u16 check);
|
||||
bool8 AreAllMovesUnusable(void);
|
||||
u8 GetImprisonedMovesCount(u8 battlerId, u16 move);
|
||||
u8 DoFieldEndTurnEffects(void);
|
||||
|
|
@ -82,20 +139,117 @@ u8 DoBattlerEndTurnEffects(void);
|
|||
bool8 HandleWishPerishSongOnTurnEnd(void);
|
||||
bool8 HandleFaintedMonActions(void);
|
||||
void TryClearRageStatuses(void);
|
||||
u8 AtkCanceller_UnableToUseMove(void);
|
||||
bool8 HasNoMonsToSwitch(u8 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2);
|
||||
u8 AtkCanceller_UnableToUseMove(u32 moveType);
|
||||
bool32 HasNoMonsToSwitch(u32 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2);
|
||||
u8 CastformDataTypeChange(u8 battler);
|
||||
u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 moveArg);
|
||||
u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 moveArg);
|
||||
void BattleScriptExecute(const u8 *BS_ptr);
|
||||
void BattleScriptPushCursorAndCallback(const u8 *BS_ptr);
|
||||
u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn);
|
||||
u8 ItemBattleEffects(u8 caseID, u32 battler, bool32 moveTurn);
|
||||
void ClearFuryCutterDestinyBondGrudge(u8 battlerId);
|
||||
void HandleAction_RunBattleScript(void);
|
||||
u8 GetMoveTarget(u16 move, u8 setTarget);
|
||||
u8 IsMonDisobedient(void);
|
||||
void SwitchPartyOrderInGameMulti(u8 battler, u8 arg1);
|
||||
// new
|
||||
u32 GetBattlerHoldEffect(u32 battler, bool32 checkNegating);
|
||||
bool32 IsAffectedByFollowMe(u32 battlerAtk, u32 defSide, u32 move);
|
||||
bool32 IsNeutralizingGasOnField(void);
|
||||
bool32 IsMyceliumMightOnField(void);
|
||||
bool32 IsMoldBreakerTypeAbility(u32 ability);
|
||||
u32 GetBattlerAbility(u32 battler);
|
||||
u32 IsAbilityOnSide(u32 battler, u32 ability);
|
||||
u32 IsAbilityOnOpposingSide(u32 battler, u32 ability);
|
||||
u32 IsAbilityOnField(u32 ability);
|
||||
u32 IsAbilityOnFieldExcept(u32 battler, u32 ability);
|
||||
u32 IsAbilityPreventingEscape(u32 battler);
|
||||
bool32 IsBattlerAlive(u32 battler);
|
||||
bool32 CompareStat(u32 battler, u8 statId, u8 cmpTo, u8 cmpKind);
|
||||
u32 CalcSecondaryEffectChance(u32 battler, u32 battlerAbility, const struct AdditionalEffect *additionalEffect);
|
||||
bool32 MoveHasAdditionalEffect(u32 move, u32 moveEffect);
|
||||
u8 GetBattleMoveCategory(u32 moveId);
|
||||
u32 GetBattlerMoveTargetType(u32 battler, u32 move);
|
||||
bool32 IsBattlerTerrainAffected(u32 battler, u32 terrainFlag);
|
||||
bool32 IsBattlerGrounded(u32 battler);
|
||||
u8 AtkCanceller_UnableToUseMove2(void);
|
||||
void SetAtkCancellerForCalledMove(void);
|
||||
bool32 BlocksPrankster(u16 move, u32 battlerPrankster, u32 battlerDef, bool32 checkTarget);
|
||||
bool32 IsBattlerProtected(u32 battler, u32 move);
|
||||
bool32 IsMoveMakingContact(u32 move, u32 battlerAtk);
|
||||
bool32 IsHealBlockPreventingMove(u32 battler, u32 move);
|
||||
s32 CalculateMoveDamage(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags);
|
||||
bool32 MoveHasAdditionalEffectSelfArg(u32 move, u32 moveEffect, u32 argument);
|
||||
u32 GetMoveSlot(u16 *moves, u32 move);
|
||||
u32 GetBattlerWeight(u32 battler);
|
||||
u32 CountBattlerStatIncreases(u32 battler, bool32 countEvasionAcc);
|
||||
bool32 ShouldGetStatBadgeBoost(u16 flagId, u32 battler);
|
||||
bool32 IsBattlerWeatherAffected(u32 battler, u32 weatherFlags);
|
||||
bool32 CanBattlerGetOrLoseItem(u32 battler, u16 itemId);
|
||||
bool32 MoveIsAffectedBySheerForce(u32 move);
|
||||
u8 GetBattlerGender(u32 battler);
|
||||
bool32 AreBattlersOfOppositeGender(u32 battler1, u32 battler2);
|
||||
bool32 AreBattlersOfSameGender(u32 battler1, u32 battler2);
|
||||
u32 GetBattlerHoldEffectParam(u32 battler);
|
||||
uq4_12_t CalcTypeEffectivenessMultiplier(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, u32 defAbility, bool32 recordAbilities);
|
||||
bool32 MoveHasAdditionalEffectSelf(u32 move, u32 moveEffect);
|
||||
uq4_12_t GetTypeModifier(u32 atkType, u32 defType);
|
||||
u8 GetBattlerType(u32 battler, u8 typeIndex);
|
||||
u32 GetIllusionMonSpecies(u32 battler);
|
||||
struct Pokemon *GetIllusionMonPtr(u32 battler);
|
||||
void ClearIllusionMon(u32 battler);
|
||||
bool32 SetIllusionMon(struct Pokemon *mon, u32 battler);
|
||||
u32 GetBattlerAffectionHearts(u32 battler);
|
||||
u32 GetBattlerHoldEffect(u32 battler, bool32 checkNegating);
|
||||
u32 GetBattlerHoldEffectIgnoreAbility(u32 battler, bool32 checkNegating);
|
||||
u32 GetBattlerHoldEffectInternal(u32 battler, bool32 checkNegating, bool32 checkAbility);
|
||||
void RecalcBattlerStats(u32 battler, struct Pokemon *mon);
|
||||
bool32 TestIfSheerForceAffected(u32 battler, u16 move);
|
||||
bool32 CanSleep(u32 battler);
|
||||
bool32 CanBePoisoned(u32 battlerAttacker, u32 battlerTarget);
|
||||
bool32 CanBeBurned(u32 battler);
|
||||
bool32 CanBeParalyzed(u32 battler);
|
||||
bool32 CanBeFrozen(u32 battler);
|
||||
bool32 CanGetFrostbite(u32 battler);
|
||||
bool32 CanBeConfused(u32 battler);
|
||||
bool32 CanStealItem(u32 battlerStealing, u32 battlerItem, u16 item);
|
||||
void TrySaveExchangedItem(u32 battler, u16 stolenItem);
|
||||
void RemoveBattlerType(u32 battler, u8 type);
|
||||
bool32 IsBattlerMegaEvolved(u32 battler);
|
||||
bool32 IsBattlerPrimalReverted(u32 battler);
|
||||
bool32 IsBattlerUltraBursted(u32 battler);
|
||||
u16 GetBattleFormChangeTargetSpecies(u32 battler, u16 method);
|
||||
bool32 TryBattleFormChange(u32 battler, u16 method);
|
||||
bool32 TryChangeBattleWeather(u32 battler, u32 weatherEnumId, bool32 viaAbility);
|
||||
u16 GetUsedHeldItem(u32 battler);
|
||||
void RemoveConfusionStatus(u32 battler);
|
||||
bool32 ChangeTypeBasedOnTerrain(u32 battler);
|
||||
bool32 TryRoomService(u32 battler);
|
||||
void BufferStatChange(u32 battler, u8 statId, u8 stringId);
|
||||
s32 GetDrainedBigRootHp(u32 battler, s32 hp);
|
||||
u8 TryHandleSeed(u32 battler, u32 terrainFlag, u8 statId, u16 itemId, bool32 execute);
|
||||
bool32 HasEnoughHpToEatBerry(u32 battler, u32 hpFraction, u32 itemId);
|
||||
bool32 IsGen6ExpShareEnabled(void);
|
||||
void CopyMonLevelAndBaseStatsToBattleMon(u32 battler, struct Pokemon *mon);
|
||||
void SortBattlersBySpeed(u8 *battlers, bool32 slowToFast);
|
||||
bool32 CanBattlerEscape(u32 battler); // no ability check
|
||||
bool32 IsBattlerAffectedByHazards(u32 battler, bool32 toxicSpikes);
|
||||
bool32 TryPrimalReversion(u32 battler);
|
||||
s32 GetStealthHazardDamage(u8 hazardType, u32 battler);
|
||||
s32 GetStealthHazardDamageByTypesAndHP(u8 hazardType, u8 type1, u8 type2, u32 maxHp);
|
||||
bool32 DoBattlersShareType(u32 battler1, u32 battler2);
|
||||
bool32 MoveHasChargeTurnAdditionalEffect(u32 move);
|
||||
bool32 IsPartnerMonFromSameTrainer(u32 battler);
|
||||
|
||||
// battle_ai_util.h
|
||||
bool32 IsHealingMove(u32 move);
|
||||
void RecordKnownMove(u32 battlerId, u32 move);
|
||||
s32 CountUsablePartyMons(u32 battlerId);
|
||||
bool32 IsAiVsAiBattle(void);
|
||||
void RecordLastUsedMoveBy(u32 battlerId, u32 move);
|
||||
bool32 BattlerHasAi(u32 battlerId);
|
||||
void ClearBattlerItemEffectHistory(u32 battlerId);
|
||||
bool32 IsAffectedByPowder(u32 battler, u32 ability, u32 holdEffect);
|
||||
void RecordAllMoves(u32 battler);
|
||||
|
||||
// end battle_ai_util.h
|
||||
|
||||
#endif // GUARD_BATTLE_UTIL_H
|
||||
|
|
|
|||
|
|
@ -3,6 +3,6 @@
|
|||
|
||||
#include "global.h"
|
||||
|
||||
s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 sideStatus, u16 powerOverride, u8 typeOverride, u8 bankAtk, u8 bankDef);
|
||||
// s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u32 sideStatus, u16 powerOverride, u8 typeOverride, u8 bankAtk, u8 bankDef);
|
||||
|
||||
#endif // GUARD_CALCULATE_BASE_DAMAGE_H
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
#ifndef GUARD_CONFIG_H
|
||||
#define GUARD_CONFIG_H
|
||||
|
||||
#include "global.h"
|
||||
|
||||
// In the Generation 3 games, Asserts were used in various debug builds.
|
||||
// Ruby/Sapphire and Emerald do not have these asserts while Fire Red
|
||||
// still has them in the ROM. This is because the developers forgot
|
||||
|
|
|
|||
|
|
@ -46,10 +46,12 @@
|
|||
#define B_PRANKSTER_DARK_TYPES GEN_LATEST // In Gen7+, Prankster-elevated status moves do not affect Dark type Pokémon.
|
||||
#define B_SHEER_COLD_IMMUNITY GEN_LATEST // In Gen7+, Ice-types are immune to Sheer Cold
|
||||
#define B_ROOST_PURE_FLYING GEN_LATEST // In Gen5+, Roost makes pure Flying-types into Normal-type.
|
||||
#define B_STATUS_TYPE_IMMUNITY GEN_LATEST // In Gen1, Pokémon were immune to paralysis/freeze/burn side effects of attacking moves, if they shared a type with the move.
|
||||
|
||||
// Turn settings
|
||||
#define B_BINDING_TURNS GEN_LATEST // In Gen5+, binding moves last for 4-5 turns instead of 2-5 turns. (With Grip Claw, 7 and 5 turns respectively.)
|
||||
#define B_UPROAR_TURNS GEN_LATEST // In Gen5+, Uproar lasts for 3 turns instead of 2-5 turns.
|
||||
#define B_UPROAR_IGNORE_SOUNDPROOF GEN_LATEST // In Gen5+, Uproar status ignores Soundproof.
|
||||
#define B_DISABLE_TURNS GEN_LATEST // Disable's turns. See Cmd_disablelastusedattack.
|
||||
#define B_TAILWIND_TURNS GEN_LATEST // In Gen5+, Tailwind lasts 4 turns instead of 3.
|
||||
#define B_SLEEP_TURNS GEN_LATEST // In Gen5+, sleep lasts for 1-3 turns instead of 2-5 turns.
|
||||
|
|
@ -60,7 +62,7 @@
|
|||
#define B_FAINT_SWITCH_IN GEN_LATEST // In Gen4+, sending out a new Pokémon after the previous one fainted happens at the end of the turn. Before, it would happen after each action.
|
||||
|
||||
// Move data settings
|
||||
#define B_UPDATED_MOVE_DATA GEN_LATEST // Updates move data in gBattleMoves, including Power, Accuracy, PP, stat changes, targets and chances of secondary effects.
|
||||
#define B_UPDATED_MOVE_DATA GEN_LATEST // Updates move data in gMovesInfo, including Power, Accuracy, PP, stat changes, targets and chances of secondary effects.
|
||||
#define B_UPDATED_MOVE_TYPES GEN_LATEST // Updates move types.
|
||||
#define B_UPDATED_MOVE_FLAGS GEN_LATEST // Updates move flags.
|
||||
#define B_PHYSICAL_SPECIAL_SPLIT GEN_LATEST // In Gen3, the move's type determines if it will do physical or special damage. The split icon in the summary will reflect this.
|
||||
|
|
@ -70,6 +72,9 @@
|
|||
#define B_PP_REDUCED_BY_SPITE GEN_LATEST // In Gen4+, Spite reduces the foe's last move's PP by 4, instead of 2 to 5.
|
||||
#define B_EXTRAPOLATED_MOVE_FLAGS TRUE // Adds move flags to moves that they don't officially have but would likely have if they were in the latest core series game.
|
||||
|
||||
// Ability data settings
|
||||
#define B_UPDATED_ABILITY_DATA GEN_LATEST // Affects flags
|
||||
|
||||
// Move accuracy settings
|
||||
#define B_TOXIC_NEVER_MISS GEN_LATEST // In Gen6+, if Toxic is used by a Poison-type Pokémon, it will never miss.
|
||||
#define B_MINIMIZE_DMG_ACC GEN_LATEST // In Gen6+, moves that causes double damage to minimized Pokémon will also skip accuracy checks.
|
||||
|
|
@ -98,7 +103,7 @@
|
|||
// Draining abilities will not heal but will prevent damage. In Gen6+, Heal Block prevents the use of most HP-draining moves.
|
||||
#define B_ROOTED_GROUNDING GEN_LATEST // In Gen4+, Ingrain causes the affected Pokémon to become grounded.
|
||||
#define B_METRONOME_MOVES GEN_LATEST // This config will determine up to which generation will Metronome pull moves from.
|
||||
#define B_TELEPORT_BEHAVIOR GEN_LATEST // In Gen7+, starting with Pokémon LGPE, Teleport allows the user to swap out with another party member.
|
||||
#define B_TELEPORT_BEHAVIOR GEN_LATEST // In LGPE onwards (Gen8+ here), Teleport allows the user to swap out with another party member.
|
||||
#define B_BEAT_UP GEN_LATEST // In Gen5+, Beat Up uses a different formula to calculate its damage, and deals Dark-type damage. Prior to Gen 5, each hit also announces the party member's name.
|
||||
#define B_DARK_VOID_FAIL GEN_LATEST // In Gen7+, only Darkrai can use Dark Void.
|
||||
#define B_BURN_HIT_THAW GEN_LATEST // In Gen6+, damaging moves with a chance of burn will thaw the target, regardless if they're fire-type moves or not.
|
||||
|
|
@ -111,10 +116,11 @@
|
|||
#define B_WIDE_GUARD GEN_LATEST // In Gen5 only, Wide Guard has a chance to fail if used consecutively.
|
||||
#define B_QUICK_GUARD GEN_LATEST // In Gen5 only, Quick Guard has a chance to fail if used consecutively.
|
||||
#define B_IMPRISON GEN_LATEST // In Gen5+, Imprison doesn't fail if opposing pokemon don't have any moves the user knows.
|
||||
#define B_ALLY_SWITCH_FAIL_CHANCE GEN_LATEST // In Gen9, using Ally Switch consecutively decreases the chance of success for each consecutive use.
|
||||
#define B_SKETCH_BANS GEN_LATEST // In Gen9+, Sketch is unable to copy more moves than in previous generations.
|
||||
|
||||
// Ability settings
|
||||
#define B_EXPANDED_ABILITY_NAMES FALSE // If TRUE, ability names are increased from 12 characters to 16 characters.
|
||||
#define B_EXPANDED_ABILITY_NAMES TRUE // If TRUE, ability names are increased from 12 characters to 16 characters.
|
||||
#define B_ABILITY_WEATHER GEN_LATEST // In Gen6+, ability-induced weather lasts 5 turns. Before, it lasted until the battle ended or until it was changed by a move or a different weather-affecting ability.
|
||||
#define B_GALE_WINGS GEN_LATEST // In Gen7+ requires full HP to trigger.
|
||||
#define B_STANCE_CHANGE_FAIL GEN_LATEST // In Gen7+, Stance Change fails if the Pokémon is unable to use a move because of confusion, paralysis, etc. In Gen6, it doesn't.
|
||||
|
|
@ -137,6 +143,7 @@
|
|||
#define B_PROTEAN_LIBERO GEN_LATEST // In Gen9+, Protean and Libero change the user's type only once per Battle.
|
||||
#define B_INTREPID_SWORD GEN_LATEST // In Gen9+, Intrepid Sword raises Attack by one stage only once per Battle.
|
||||
#define B_DAUNTLESS_SHIELD GEN_LATEST // In Gen9+, Dauntless Shield raises Defense by one stage only once per Battle.
|
||||
#define B_DISGUISE_HP_LOSS GEN_LATEST // In Gen8+, when a Disguised Mimikyu's Disguise is busted, upon changing to its Busted Form it loses HP equal to 1/8 of its maximum HP.
|
||||
|
||||
// Item settings
|
||||
#define B_HP_BERRIES GEN_LATEST // In Gen4+, berries which restore HP activate immediately after HP drops to half. In Gen3, the effect occurs at the end of the turn.
|
||||
|
|
@ -145,7 +152,7 @@
|
|||
#define B_X_ITEMS_BUFF GEN_LATEST // In Gen7+, the X Items raise a stat by 2 stages instead of 1.
|
||||
#define B_MENTAL_HERB GEN_LATEST // In Gen5+, the Mental Herb cures Taunt, Encore, Torment, Heal Block, and Disable in addition to Infatuation from before.
|
||||
#define B_TRAINERS_KNOCK_OFF_ITEMS TRUE // If TRUE, trainers can steal/swap your items (non-berries are restored after battle). In vanilla games trainers cannot steal items.
|
||||
#define B_RESTORE_HELD_BATTLE_ITEMS TRUE // In Gen9 all non berry items are restored after battle.
|
||||
#define B_RESTORE_HELD_BATTLE_ITEMS GEN_LATEST // In Gen9, all non-berry items are restored after battle.
|
||||
#define B_SOUL_DEW_BOOST GEN_LATEST // In Gens3-6, Soul Dew boosts Latis' Sp. Atk and Sp. Def. In Gen7+ it boosts the power of their Psychic and Dragon type moves instead.
|
||||
#define B_NET_BALL_MODIFIER GEN_LATEST // In Gen7+, Net Ball's catch multiplier is x5 instead of x3.
|
||||
#define B_DIVE_BALL_MODIFIER GEN_LATEST // In Gen4+, Dive Ball's effectiveness increases by when Surfing or Fishing.
|
||||
|
|
@ -154,10 +161,11 @@
|
|||
#define B_TIMER_BALL_MODIFIER GEN_LATEST // In Gen5+, Timer Ball's effectiveness increases by x0.3 per turn instead of x0.1
|
||||
#define B_DUSK_BALL_MODIFIER GEN_LATEST // In Gen7+, Dusk Ball's catch multiplier is x3 instead of x3.5.
|
||||
#define B_QUICK_BALL_MODIFIER GEN_LATEST // In Gen5+, Quick Ball's catch multiplier is x5 instead of x4.
|
||||
#define B_LURE_BALL_MODIFIER GEN_LATEST // In Gen7+, Lure Ball's catch multiplier is x5 instead of x3.
|
||||
#define B_LURE_BALL_MODIFIER GEN_LATEST // In Gen8+, Lure Ball's catch multiplier is x4. In Gen7, it's x5. In Gen6 and earlier, it's x3.
|
||||
#define B_HEAVY_BALL_MODIFIER GEN_LATEST // In Gen7+, Heavy Ball's ranges change. See Cmd_handleballthrow.
|
||||
#define B_DREAM_BALL_MODIFIER GEN_LATEST // In Gen8, Dream Ball's catch multiplier is x4 when the target is asleep or has the ability Comatose.
|
||||
#define B_SPORT_BALL_MODIFIER GEN_LATEST // In Gen8, Sport Ball's catch multiplier was reduced from x1.5 to x1.
|
||||
#define B_DREAM_BALL_MODIFIER GEN_LATEST // In Gen8+, Dream Ball's catch multiplier is x4 when the target is asleep or has the ability Comatose.
|
||||
#define B_SPORT_BALL_MODIFIER GEN_LATEST // In Gen8+, Sport Ball's catch multiplier was reduced from x1.5 to x1.
|
||||
#define B_SAFARI_BALL_MODIFIER GEN_LATEST // In Gen8+, Safari Ball's catch multiplier was reduced from x1.5 to x1.
|
||||
#define B_SERENE_GRACE_BOOST GEN_LATEST // In Gen5+, Serene Grace boosts the added flinch chance of King's Rock and Razor Fang.
|
||||
|
||||
// Flag settings
|
||||
|
|
@ -173,15 +181,15 @@
|
|||
|
||||
// Var Settings
|
||||
// To use the following features in scripting, replace the 0s with the var ID you're assigning it to.
|
||||
// Eg: Replace with VAR_UNUSED_0x40F7 so you can use VAR_TERRAIN for that feature.
|
||||
#define VAR_TERRAIN 0 // If this var has a value, assigning a STATUS_FIELD_xx_TERRAIN to it before battle causes the battle to start with that terrain active
|
||||
// Eg: Replace with VAR_UNUSED_0x40F7 so you can use B_VAR_STARTING_STATUS for that feature.
|
||||
#define B_VAR_STARTING_STATUS 0 // If this var has a value, assigning a STATUS_FIELD_xx_TERRAIN to it before battle causes the battle to start with that terrain active.
|
||||
#define B_VAR_STARTING_STATUS_TIMER 0 // If this var has a value greater or equal than 1 field terrains will last that number of turns, otherwise they will last until they're overwritten.
|
||||
#define B_VAR_WILD_AI_FLAGS 0 // If not 0, you can use this var to add to default wild AI flags. NOT usable with flags above (1 << 15)
|
||||
|
||||
// Sky Battles
|
||||
#define B_FLAG_SKY_BATTLE 0 // If this flag has a value, the player will be able to engage in scripted Sky Battles.
|
||||
#define B_VAR_SKY_BATTLE 0 // If this var has a value, the game will remember the positions of Pokémon used in Sky Battles.
|
||||
|
||||
#define B_SKY_BATTLE_STRICT_ELIGIBILITY FALSE //If TRUE, Sky Battles will use the eligibility from Pokémon XY. If FALSE, all Flying-types or Pokémon with Levitate are allowed.
|
||||
#define B_FLAG_SKY_BATTLE 0 // If this flag has a value, the player will be able to engage in scripted Sky Battles.
|
||||
#define B_VAR_SKY_BATTLE 0 // If this var has a value, the game will remember the positions of Pokémon used in Sky Battles.
|
||||
#define B_SKY_BATTLE_STRICT_ELIGIBILITY FALSE // If TRUE, Sky Battles will use the eligibility from Pokémon XY. If FALSE, all Flying-types or Pokémon with Levitate are allowed.
|
||||
|
||||
// Flag and Var settings
|
||||
#define B_RESET_FLAGS_VARS_AFTER_WHITEOUT TRUE // If TRUE, Overworld_ResetBattleFlagsAndVars will reset battle-related Flags and Vars when the player whites out.
|
||||
|
|
@ -191,7 +199,7 @@
|
|||
#define B_THUNDERSTORM_TERRAIN TRUE // If TRUE, overworld Thunderstorm generates Rain and Electric Terrain as in Gen 8.
|
||||
#define B_FOG_TERRAIN TRUE // If TRUE, overworld Fog generates Misty Terrain as in Gen 8.
|
||||
#define B_TERRAIN_TYPE_BOOST GEN_LATEST // In Gen8, damage is boosted by 30% instead of 50%.
|
||||
#define B_SECRET_POWER_EFFECT GEN_LATEST // Secret Power's effects change depending on terrain and generation. See GetSecretPowerMoveEffect.
|
||||
#define B_SECRET_POWER_EFFECT GEN_LATEST // Secret Power's effects change depending on terrain and generation. See MOVE_EFFECT_SECRET_POWER's case in `SetMoveEffect`.
|
||||
#define B_SECRET_POWER_ANIMATION GEN_LATEST // Secret Power's animations change depending on terrain and generation.
|
||||
#define B_NATURE_POWER_MOVES GEN_LATEST // Nature Power calls different moves depending on terrain and generation. See sNaturePowerMoves.
|
||||
#define B_CAMOUFLAGE_TYPES GEN_LATEST // Camouflage changes the user to different types depending on terrain and generation. See sTerrainToType.
|
||||
|
|
@ -201,7 +209,7 @@
|
|||
#define B_FAST_INTRO TRUE // If set to TRUE, battle intro texts print at the same time as animation of a Pokémon, as opposing to waiting for the animation to end.
|
||||
#define B_FAST_HP_DRAIN TRUE // If set to TRUE, HP bars will move faster to accomodate higher max HP amounts.
|
||||
#define B_SHOW_TARGETS TRUE // If set to TRUE, all available targets, for moves hitting 2 or 3 Pokémon, will be shown before selecting a move.
|
||||
#define B_SHOW_SPLIT_ICON TRUE // If set to TRUE, it will show an icon in the summary showing the move's category split.
|
||||
#define B_SHOW_CATEGORY_ICON TRUE // If set to TRUE, it will show an icon in the summary showing the move's category.
|
||||
#define B_HIDE_HEALTHBOX_IN_ANIMS TRUE // If set to TRUE, hides healthboxes during move animations.
|
||||
#define B_EXPANDED_MOVE_NAMES FALSE // If set to TRUE, move names are increased from 12 characters to 16 characters.
|
||||
#define B_WAIT_TIME_MULTIPLIER 16 // This determines how long text pauses in battle last. Vanilla is 16. Lower values result in faster battles.
|
||||
|
|
@ -223,6 +231,7 @@
|
|||
#define B_WILD_NATURAL_ENEMIES TRUE // If set to TRUE, certain wild mon species will attack other species when partnered in double wild battles (eg. Zangoose vs Seviper)
|
||||
#define B_AFFECTION_MECHANICS TRUE // In Gen6+, there's a stat called affection that can trigger different effects in battle. From LGPE onwards, those effects use friendship instead.
|
||||
#define B_TRAINER_CLASS_POKE_BALLS GEN_LATEST // In Gen7+, trainers will use certain types of Poké Balls depending on their trainer class.
|
||||
#define B_TRAINER_MON_RANDOM_ABILITY FALSE // If this is set to TRUE a random legal ability will be generated for a trainer mon
|
||||
#define B_OBEDIENCE_MECHANICS GEN_LATEST // In PLA+ (here Gen8+), obedience restrictions also apply to non-outsider Pokémon, albeit based on their level met rather than actual level
|
||||
#define B_USE_FROSTBITE FALSE // In PLA, Frostbite replaces Freeze. Enabling this flag does the same here. Moves can still be cherry-picked to either Freeze or Frostbite. Freeze-Dry, Secret Power & Tri Attack depend on this config.
|
||||
#define B_OVERWORLD_SNOW GEN_LATEST // In Gen9+, overworld Snow will summon snow instead of hail.
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
#define P_GEN_4_POKEMON FALSE // Generation 4 Pokémon (DPPt, HGSS)
|
||||
#define P_GEN_5_POKEMON FALSE // Generation 5 Pokémon (BW, B2W2)
|
||||
#define P_GEN_6_POKEMON FALSE // Generation 6 Pokémon (XY, ORAS)
|
||||
#define P_GEN_7_POKEMON FALSE // Generation 7 Pokémon (SM, USUM, LGPE)
|
||||
#define P_GEN_7_POKEMON TRUE // Generation 7 Pokémon (SM, USUM, LGPE)
|
||||
#define P_GEN_8_POKEMON FALSE // Generation 8 Pokémon (SwSh, BDSP, LA)
|
||||
#define P_GEN_9_POKEMON FALSE // Generation 9 Pokémon (SV)
|
||||
|
||||
|
|
|
|||
|
|
@ -332,10 +332,10 @@
|
|||
#define ABILITY_EMBODY_ASPECT_CORNERSTONE 304
|
||||
#define ABILITY_TOXIC_CHAIN 305
|
||||
#define ABILITY_SUPERSWEET_SYRUP 306
|
||||
#define ABILITY_307 307
|
||||
#define ABILITY_308 308
|
||||
#define ABILITY_309 309
|
||||
#define ABILITY_310 310
|
||||
#define ABILITY_TERA_SHIFT 307
|
||||
#define ABILITY_TERA_SHELL 308
|
||||
#define ABILITY_TERAFORM_ZERO 309
|
||||
#define ABILITY_POISON_PUPPETEER 310
|
||||
|
||||
#define ABILITIES_COUNT_GEN9 311
|
||||
|
||||
|
|
|
|||
|
|
@ -31,11 +31,12 @@
|
|||
#define B_POSITION_OPPONENT_RIGHT 3
|
||||
|
||||
// These macros can be used with either battler ID or positions to get the partner or the opposite mon
|
||||
#define BATTLE_OPPOSITE(id) ((id) ^ 1)
|
||||
#define BATTLE_PARTNER(id) ((id) ^ 2)
|
||||
#define BATTLE_OPPOSITE(id) ((id) ^ BIT_SIDE)
|
||||
#define BATTLE_PARTNER(id) ((id) ^ BIT_FLANK)
|
||||
|
||||
#define B_SIDE_PLAYER 0
|
||||
#define B_SIDE_OPPONENT 1
|
||||
#define NUM_BATTLE_SIDES 2
|
||||
|
||||
#define B_FLANK_LEFT 0
|
||||
#define B_FLANK_RIGHT 1
|
||||
|
|
@ -65,9 +66,15 @@
|
|||
#define BATTLE_TYPE_WILD_SCRIPTED (1 << 17) // Used in pokeemerald as BATTLE_TYPE_PALACE.
|
||||
#define BATTLE_TYPE_LEGENDARY_FRLG (1 << 18) // Used in pokeemerald as BATTLE_TYPE_ARENA.
|
||||
#define BATTLE_TYPE_TRAINER_TOWER (1 << 19) // Used in pokeemerald as BATTLE_TYPE_FACTORY.
|
||||
// pokeemerald
|
||||
#define BATTLE_TYPE_INGAME_PARTNER (1 << 20)
|
||||
#define BATTLE_TYPE_TOWER_LINK_MULTI (1 << 21)
|
||||
#define BATTLE_TYPE_TWO_OPPONENTS (1 << 22)
|
||||
|
||||
#define IS_BATTLE_TYPE_GHOST_WITHOUT_SCOPE(flags) ((flags) & BATTLE_TYPE_GHOST && !((flags) & BATTLE_TYPE_GHOST_UNVEILED))
|
||||
#define IS_BATTLE_TYPE_GHOST_WITH_SCOPE(flags) ((flags) & BATTLE_TYPE_GHOST && (flags) & BATTLE_TYPE_GHOST_UNVEILED)
|
||||
#define WILD_DOUBLE_BATTLE ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER))))
|
||||
#define BATTLE_TWO_VS_ONE_OPPONENT ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gTrainerBattleOpponent_B == 0xFFFF))
|
||||
|
||||
#define RIVAL_BATTLE_HEAL_AFTER 1
|
||||
#define RIVAL_BATTLE_TUTORIAL 3
|
||||
|
|
@ -86,7 +93,10 @@
|
|||
#define B_OUTCOME_LINK_BATTLE_RAN (1 << 7) // 128
|
||||
|
||||
// Non-volatile status conditions
|
||||
// These persist remain outside of battle and after switching out
|
||||
// These remain outside of battle and after switching out.
|
||||
// If a new STATUS1 is added here, it should also be added to
|
||||
// sCompressedStatuses in src/pokemon.c or else it will be lost outside
|
||||
// of battle.
|
||||
#define STATUS1_NONE 0
|
||||
#define STATUS1_SLEEP (1 << 0 | 1 << 1 | 1 << 2) // First 3 bits (Number of turns to sleep)
|
||||
#define STATUS1_SLEEP_TURN(num) ((num) << 0) // Just for readability (or if rearranging statuses)
|
||||
|
|
@ -108,7 +118,7 @@
|
|||
#define STATUS2_FLINCHED (1 << 3)
|
||||
#define STATUS2_UPROAR (1 << 4 | 1 << 5 | 1 << 6)
|
||||
#define STATUS2_UPROAR_TURN(num) ((num) << 4)
|
||||
#define STATUS2_UNUSED (1 << 7)
|
||||
#define STATUS2_TORMENT (1 << 7)
|
||||
#define STATUS2_BIDE (1 << 8 | 1 << 9)
|
||||
#define STATUS2_BIDE_TURN(num) (((num) << 8) & STATUS2_BIDE)
|
||||
#define STATUS2_LOCK_CONFUSE (1 << 10 | 1 << 11) // e.g. Thrash
|
||||
|
|
@ -118,7 +128,7 @@
|
|||
#define STATUS2_POWDER (1 << 14)
|
||||
#define STATUS2_INFATUATION (1 << 16 | 1 << 17 | 1 << 18 | 1 << 19) // 4 bits, one for every battler
|
||||
#define STATUS2_INFATUATED_WITH(battler) (gBitTable[battler] << 16)
|
||||
#define STATUS2_FOCUS_ENERGY (1 << 20)
|
||||
#define STATUS2_DEFENSE_CURL (1 << 20)
|
||||
#define STATUS2_TRANSFORMED (1 << 21)
|
||||
#define STATUS2_RECHARGE (1 << 22)
|
||||
#define STATUS2_RAGE (1 << 23)
|
||||
|
|
@ -128,10 +138,10 @@
|
|||
#define STATUS2_NIGHTMARE (1 << 27)
|
||||
#define STATUS2_CURSED (1 << 28)
|
||||
#define STATUS2_FORESIGHT (1 << 29)
|
||||
#define STATUS2_DEFENSE_CURL (1 << 30)
|
||||
#define STATUS2_TORMENT (1 << 31)
|
||||
#define STATUS2_DRAGON_CHEER (1 << 30)
|
||||
#define STATUS2_FOCUS_ENERGY (1 << 31)
|
||||
#define STATUS2_FOCUS_ENERGY_ANY (STATUS2_DRAGON_CHEER | STATUS2_FOCUS_ENERGY)
|
||||
|
||||
// Seems like per-battler statuses. Not quite sure how to categorize these
|
||||
#define STATUS3_LEECHSEED_BATTLER (1 << 0 | 1 << 1) // The battler to receive HP from Leech Seed
|
||||
#define STATUS3_LEECHSEED (1 << 2)
|
||||
#define STATUS3_ALWAYS_HITS (1 << 3 | 1 << 4)
|
||||
|
|
@ -146,7 +156,7 @@
|
|||
#define STATUS3_YAWN_TURN(num) (((num) << 11) & STATUS3_YAWN)
|
||||
#define STATUS3_IMPRISONED_OTHERS (1 << 13)
|
||||
#define STATUS3_GRUDGE (1 << 14)
|
||||
#define STATUS3_CANT_SCORE_A_CRIT (1 << 15)
|
||||
#define STATUS3_CANT_SCORE_A_CRIT (1 << 15) // unused?
|
||||
#define STATUS3_GASTRO_ACID (1 << 16)
|
||||
#define STATUS3_EMBARGO (1 << 17)
|
||||
#define STATUS3_UNDERWATER (1 << 18)
|
||||
|
|
@ -175,9 +185,9 @@
|
|||
|
||||
// Not really sure what a "hitmarker" is.
|
||||
#define HITMARKER_WAKE_UP_CLEAR (1 << 4) // Cleared when waking up. Never set or checked.
|
||||
#define HITMARKER_SKIP_DMG_TRACK (1 << 5)
|
||||
#define HITMARKER_IGNORE_BIDE (1 << 5)
|
||||
#define HITMARKER_DESTINYBOND (1 << 6)
|
||||
#define HITMARKER_NO_ANIMATIONS (1 << 7)
|
||||
#define HITMARKER_NO_ANIMATIONS (1 << 7) // set from battleSceneOff. Never changed during battle
|
||||
#define HITMARKER_IGNORE_SUBSTITUTE (1 << 8)
|
||||
#define HITMARKER_NO_ATTACKSTRING (1 << 9)
|
||||
#define HITMARKER_ATTACKSTRING_PRINTED (1 << 10)
|
||||
|
|
@ -186,9 +196,9 @@
|
|||
#define HITMARKER_STATUS_ABILITY_EFFECT (1 << 13)
|
||||
#define HITMARKER_SYNCHRONISE_EFFECT (1 << 14)
|
||||
#define HITMARKER_RUN (1 << 15)
|
||||
#define HITMARKER_IGNORE_ON_AIR (1 << 16)
|
||||
#define HITMARKER_IGNORE_UNDERGROUND (1 << 17)
|
||||
#define HITMARKER_IGNORE_UNDERWATER (1 << 18)
|
||||
#define HITMARKER_IGNORE_DISGUISE (1 << 16)
|
||||
#define HITMARKER_DISABLE_ANIMATION (1 << 17) // disable animations during battle scripts, e.g. for Bug Bite
|
||||
// 3 free spots because of change in handling of UNDERGROUND/UNDERWATER/ON AIR
|
||||
#define HITMARKER_UNABLE_TO_USE_MOVE (1 << 19)
|
||||
#define HITMARKER_PASSIVE_DAMAGE (1 << 20)
|
||||
#define HITMARKER_DISOBEDIENT_MOVE (1 << 21)
|
||||
|
|
@ -200,42 +210,108 @@
|
|||
#define HITMARKER_CHARGING (1 << 27)
|
||||
#define HITMARKER_FAINTED(battler) (gBitTable[battler] << 28)
|
||||
#define HITMARKER_FAINTED2(battler) ((1 << 28) << battler)
|
||||
#define HITMARKER_STRING_PRINTED (1 << 29)
|
||||
// TODO: old hitmarkers for compatability, remove with new battle system
|
||||
#define HITMARKER_SKIP_DMG_TRACK (1 << 30)
|
||||
#define HITMARKER_IGNORE_ON_AIR (1 << 31)
|
||||
#define HITMARKER_IGNORE_UNDERGROUND (1 << 0)
|
||||
#define HITMARKER_IGNORE_UNDERWATER (1 << 1)
|
||||
|
||||
|
||||
// Per-side statuses that affect an entire party
|
||||
#define SIDE_STATUS_REFLECT (1 << 0)
|
||||
#define SIDE_STATUS_LIGHTSCREEN (1 << 1)
|
||||
#define SIDE_STATUS_X4 (1 << 2)
|
||||
#define SIDE_STATUS_SPIKES (1 << 4)
|
||||
#define SIDE_STATUS_SAFEGUARD (1 << 5)
|
||||
#define SIDE_STATUS_FUTUREATTACK (1 << 6)
|
||||
#define SIDE_STATUS_MIST (1 << 8)
|
||||
#define SIDE_STATUS_SPIKES_DAMAGED (1 << 9)
|
||||
#define SIDE_STATUS_REFLECT (1 << 0)
|
||||
#define SIDE_STATUS_LIGHTSCREEN (1 << 1)
|
||||
#define SIDE_STATUS_STICKY_WEB (1 << 2)
|
||||
#define SIDE_STATUS_SPIKES (1 << 4)
|
||||
#define SIDE_STATUS_SAFEGUARD (1 << 5)
|
||||
#define SIDE_STATUS_FUTUREATTACK (1 << 6)
|
||||
#define SIDE_STATUS_MIST (1 << 8)
|
||||
#define SIDE_STATUS_SPIKES_DAMAGED (1 << 9) // TODO: remove with new battle system
|
||||
// (1 << 9) previously was SIDE_STATUS_SPIKES_DAMAGED
|
||||
#define SIDE_STATUS_TAILWIND (1 << 10)
|
||||
#define SIDE_STATUS_AURORA_VEIL (1 << 11)
|
||||
#define SIDE_STATUS_LUCKY_CHANT (1 << 12)
|
||||
#define SIDE_STATUS_TOXIC_SPIKES (1 << 13)
|
||||
#define SIDE_STATUS_STEALTH_ROCK (1 << 14)
|
||||
// Missing flags previously were SIDE_STATUS_TOXIC_SPIKES_DAMAGED, SIDE_STATUS_STEALTH_ROCK_DAMAGED, SIDE_STATUS_STICKY_WEB_DAMAGED
|
||||
#define SIDE_STATUS_QUICK_GUARD (1 << 18)
|
||||
#define SIDE_STATUS_WIDE_GUARD (1 << 19)
|
||||
#define SIDE_STATUS_CRAFTY_SHIELD (1 << 20)
|
||||
#define SIDE_STATUS_MAT_BLOCK (1 << 21)
|
||||
#define SIDE_STATUS_STEELSURGE (1 << 22)
|
||||
#define SIDE_STATUS_DAMAGE_NON_TYPES (1 << 23)
|
||||
#define SIDE_STATUS_RAINBOW (1 << 24)
|
||||
#define SIDE_STATUS_SEA_OF_FIRE (1 << 25)
|
||||
#define SIDE_STATUS_SWAMP (1 << 26)
|
||||
|
||||
#define SIDE_STATUS_HAZARDS_ANY (SIDE_STATUS_SPIKES | SIDE_STATUS_STICKY_WEB | SIDE_STATUS_TOXIC_SPIKES | SIDE_STATUS_STEALTH_ROCK | SIDE_STATUS_STEELSURGE)
|
||||
#define SIDE_STATUS_SCREEN_ANY (SIDE_STATUS_REFLECT | SIDE_STATUS_LIGHTSCREEN | SIDE_STATUS_AURORA_VEIL)
|
||||
#define SIDE_STATUS_PLEDGE_ANY (SIDE_STATUS_RAINBOW | SIDE_STATUS_SEA_OF_FIRE | SIDE_STATUS_SWAMP)
|
||||
|
||||
// Field affecting statuses.
|
||||
#define STATUS_FIELD_MAGIC_ROOM (1 << 0)
|
||||
#define STATUS_FIELD_TRICK_ROOM (1 << 1)
|
||||
#define STATUS_FIELD_WONDER_ROOM (1 << 2)
|
||||
#define STATUS_FIELD_MUDSPORT (1 << 3)
|
||||
#define STATUS_FIELD_WATERSPORT (1 << 4)
|
||||
#define STATUS_FIELD_GRAVITY (1 << 5)
|
||||
#define STATUS_FIELD_GRASSY_TERRAIN (1 << 6)
|
||||
#define STATUS_FIELD_MISTY_TERRAIN (1 << 7)
|
||||
#define STATUS_FIELD_ELECTRIC_TERRAIN (1 << 8)
|
||||
#define STATUS_FIELD_PSYCHIC_TERRAIN (1 << 9)
|
||||
#define STATUS_FIELD_ION_DELUGE (1 << 10)
|
||||
#define STATUS_FIELD_FAIRY_LOCK (1 << 11)
|
||||
#define STATUS_FIELD_TERRAIN_PERMANENT (1 << 12) // Overworld thunderstorm generates electric terrain
|
||||
|
||||
#define STATUS_FIELD_TERRAIN_ANY (STATUS_FIELD_GRASSY_TERRAIN | STATUS_FIELD_MISTY_TERRAIN | STATUS_FIELD_ELECTRIC_TERRAIN | STATUS_FIELD_PSYCHIC_TERRAIN)
|
||||
|
||||
// Flags describing move's result
|
||||
#define MOVE_RESULT_MISSED (1 << 0)
|
||||
#define MOVE_RESULT_SUPER_EFFECTIVE (1 << 1)
|
||||
#define MOVE_RESULT_NOT_VERY_EFFECTIVE (1 << 2)
|
||||
#define MOVE_RESULT_DOESNT_AFFECT_FOE (1 << 3)
|
||||
#define MOVE_RESULT_ONE_HIT_KO (1 << 4)
|
||||
#define MOVE_RESULT_FAILED (1 << 5)
|
||||
#define MOVE_RESULT_FOE_ENDURED (1 << 6)
|
||||
#define MOVE_RESULT_FOE_HUNG_ON (1 << 7)
|
||||
#define MOVE_RESULT_NO_EFFECT (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED)
|
||||
#define MOVE_RESULT_MISSED (1 << 0)
|
||||
#define MOVE_RESULT_SUPER_EFFECTIVE (1 << 1)
|
||||
#define MOVE_RESULT_NOT_VERY_EFFECTIVE (1 << 2)
|
||||
#define MOVE_RESULT_DOESNT_AFFECT_FOE (1 << 3)
|
||||
#define MOVE_RESULT_ONE_HIT_KO (1 << 4)
|
||||
#define MOVE_RESULT_FAILED (1 << 5)
|
||||
#define MOVE_RESULT_FOE_ENDURED (1 << 6)
|
||||
#define MOVE_RESULT_FOE_HUNG_ON (1 << 7)
|
||||
#define MOVE_RESULT_STURDIED (1 << 8)
|
||||
#define MOVE_RESULT_FOE_ENDURED_AFFECTION (1 << 9)
|
||||
#define MOVE_RESULT_NO_EFFECT (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED)
|
||||
|
||||
// Battle Weather flags
|
||||
#define B_WEATHER_NONE 0
|
||||
#define B_WEATHER_RAIN_TEMPORARY (1 << 0)
|
||||
#define B_WEATHER_RAIN_DOWNPOUR (1 << 1) // unused
|
||||
#define B_WEATHER_RAIN_PERMANENT (1 << 2)
|
||||
#define B_WEATHER_RAIN (B_WEATHER_RAIN_TEMPORARY | B_WEATHER_RAIN_DOWNPOUR | B_WEATHER_RAIN_PERMANENT)
|
||||
#define B_WEATHER_SANDSTORM_TEMPORARY (1 << 3)
|
||||
#define B_WEATHER_SANDSTORM_PERMANENT (1 << 4)
|
||||
#define B_WEATHER_RAIN_PRIMAL (1 << 3)
|
||||
#define B_WEATHER_RAIN (B_WEATHER_RAIN_TEMPORARY | B_WEATHER_RAIN_DOWNPOUR | B_WEATHER_RAIN_PERMANENT | B_WEATHER_RAIN_PRIMAL)
|
||||
#define B_WEATHER_SANDSTORM_TEMPORARY (1 << 4)
|
||||
#define B_WEATHER_SANDSTORM_PERMANENT (1 << 5)
|
||||
#define B_WEATHER_SANDSTORM (B_WEATHER_SANDSTORM_TEMPORARY | B_WEATHER_SANDSTORM_PERMANENT)
|
||||
#define B_WEATHER_SUN_TEMPORARY (1 << 5)
|
||||
#define B_WEATHER_SUN_PERMANENT (1 << 6)
|
||||
#define B_WEATHER_SUN (B_WEATHER_SUN_TEMPORARY | B_WEATHER_SUN_PERMANENT)
|
||||
#define B_WEATHER_HAIL_TEMPORARY (1 << 7)
|
||||
#define B_WEATHER_HAIL (B_WEATHER_HAIL_TEMPORARY)
|
||||
#define B_WEATHER_ANY (B_WEATHER_RAIN | B_WEATHER_SANDSTORM | B_WEATHER_SUN | B_WEATHER_HAIL)
|
||||
#define B_WEATHER_SUN_TEMPORARY (1 << 6)
|
||||
#define B_WEATHER_SUN_PERMANENT (1 << 7)
|
||||
#define B_WEATHER_SUN_PRIMAL (1 << 8)
|
||||
#define B_WEATHER_SUN (B_WEATHER_SUN_TEMPORARY | B_WEATHER_SUN_PERMANENT | B_WEATHER_SUN_PRIMAL)
|
||||
#define B_WEATHER_HAIL_TEMPORARY (1 << 9)
|
||||
#define B_WEATHER_HAIL_PERMANENT (1 << 10)
|
||||
#define B_WEATHER_HAIL (B_WEATHER_HAIL_TEMPORARY | B_WEATHER_HAIL_PERMANENT)
|
||||
#define B_WEATHER_STRONG_WINDS (1 << 11)
|
||||
#define B_WEATHER_ANY (B_WEATHER_RAIN | B_WEATHER_SANDSTORM | B_WEATHER_SUN | B_WEATHER_HAIL | B_WEATHER_STRONG_WINDS | B_WEATHER_SNOW)
|
||||
#define B_WEATHER_PRIMAL_ANY (B_WEATHER_RAIN_PRIMAL | B_WEATHER_SUN_PRIMAL | B_WEATHER_STRONG_WINDS)
|
||||
#define B_WEATHER_SNOW_TEMPORARY (1 << 12)
|
||||
#define B_WEATHER_SNOW_PERMANENT (1 << 13)
|
||||
#define B_WEATHER_SNOW (B_WEATHER_SNOW_TEMPORARY | B_WEATHER_SNOW_PERMANENT)
|
||||
|
||||
// Battle Weather as enum
|
||||
#define ENUM_WEATHER_NONE 0
|
||||
#define ENUM_WEATHER_RAIN 1
|
||||
#define ENUM_WEATHER_SUN 2
|
||||
#define ENUM_WEATHER_SANDSTORM 3
|
||||
#define ENUM_WEATHER_HAIL 4
|
||||
#define ENUM_WEATHER_SUN_PRIMAL 5
|
||||
#define ENUM_WEATHER_RAIN_PRIMAL 6
|
||||
#define ENUM_WEATHER_STRONG_WINDS 7
|
||||
#define ENUM_WEATHER_SNOW 8
|
||||
|
||||
// Move Effects
|
||||
#define MOVE_EFFECT_SLEEP 1
|
||||
|
|
@ -244,15 +320,16 @@
|
|||
#define MOVE_EFFECT_FREEZE 4
|
||||
#define MOVE_EFFECT_PARALYSIS 5
|
||||
#define MOVE_EFFECT_TOXIC 6
|
||||
#define PRIMARY_STATUS_MOVE_EFFECT MOVE_EFFECT_TOXIC // All above move effects apply primary status
|
||||
#define MOVE_EFFECT_CONFUSION 7
|
||||
#define MOVE_EFFECT_FLINCH 8
|
||||
#define MOVE_EFFECT_TRI_ATTACK 9
|
||||
#define MOVE_EFFECT_UPROAR 10
|
||||
#define MOVE_EFFECT_PAYDAY 11
|
||||
#define MOVE_EFFECT_CHARGING 12
|
||||
#define MOVE_EFFECT_WRAP 13
|
||||
#define MOVE_EFFECT_RECOIL_25 14
|
||||
#define MOVE_EFFECT_FROSTBITE 7
|
||||
#define PRIMARY_STATUS_MOVE_EFFECT MOVE_EFFECT_FROSTBITE // All above move effects apply primary status
|
||||
#define MOVE_EFFECT_FREEZE_OR_FROSTBITE (B_USE_FROSTBITE == TRUE ? MOVE_EFFECT_FROSTBITE : MOVE_EFFECT_FREEZE)
|
||||
#define MOVE_EFFECT_CONFUSION 8
|
||||
#define MOVE_EFFECT_FLINCH 9
|
||||
#define MOVE_EFFECT_TRI_ATTACK 10
|
||||
#define MOVE_EFFECT_UPROAR 11
|
||||
#define MOVE_EFFECT_PAYDAY 12
|
||||
#define MOVE_EFFECT_CHARGING 13
|
||||
#define MOVE_EFFECT_WRAP 14
|
||||
#define MOVE_EFFECT_ATK_PLUS_1 15
|
||||
#define MOVE_EFFECT_DEF_PLUS_1 16
|
||||
#define MOVE_EFFECT_SPD_PLUS_1 17
|
||||
|
|
@ -267,16 +344,16 @@
|
|||
#define MOVE_EFFECT_SP_DEF_MINUS_1 26
|
||||
#define MOVE_EFFECT_ACC_MINUS_1 27
|
||||
#define MOVE_EFFECT_EVS_MINUS_1 28
|
||||
#define MOVE_EFFECT_RECHARGE 29
|
||||
#define MOVE_EFFECT_RAGE 30
|
||||
#define MOVE_EFFECT_STEAL_ITEM 31
|
||||
#define MOVE_EFFECT_PREVENT_ESCAPE 32
|
||||
#define MOVE_EFFECT_NIGHTMARE 33
|
||||
#define MOVE_EFFECT_ALL_STATS_UP 34
|
||||
#define MOVE_EFFECT_RAPIDSPIN 35
|
||||
#define MOVE_EFFECT_REMOVE_PARALYSIS 36
|
||||
#define MOVE_EFFECT_ATK_DEF_DOWN 37
|
||||
#define MOVE_EFFECT_RECOIL_33 38
|
||||
#define MOVE_EFFECT_REMOVE_ARG_TYPE 29
|
||||
#define MOVE_EFFECT_RECHARGE 30
|
||||
#define MOVE_EFFECT_RAGE 31
|
||||
#define MOVE_EFFECT_STEAL_ITEM 32
|
||||
#define MOVE_EFFECT_PREVENT_ESCAPE 33
|
||||
#define MOVE_EFFECT_NIGHTMARE 34
|
||||
#define MOVE_EFFECT_ALL_STATS_UP 35
|
||||
#define MOVE_EFFECT_RAPID_SPIN 36
|
||||
#define MOVE_EFFECT_REMOVE_STATUS 37
|
||||
#define MOVE_EFFECT_ATK_DEF_DOWN 38
|
||||
#define MOVE_EFFECT_ATK_PLUS_2 39
|
||||
#define MOVE_EFFECT_DEF_PLUS_2 40
|
||||
#define MOVE_EFFECT_SPD_PLUS_2 41
|
||||
|
|
@ -291,43 +368,86 @@
|
|||
#define MOVE_EFFECT_SP_DEF_MINUS_2 50
|
||||
#define MOVE_EFFECT_ACC_MINUS_2 51
|
||||
#define MOVE_EFFECT_EVS_MINUS_2 52
|
||||
#define MOVE_EFFECT_THRASH 53
|
||||
#define MOVE_EFFECT_KNOCK_OFF 54
|
||||
#define MOVE_EFFECT_NOTHING_37 55
|
||||
#define MOVE_EFFECT_NOTHING_38 56
|
||||
#define MOVE_EFFECT_NOTHING_39 57
|
||||
#define MOVE_EFFECT_NOTHING_3A 58
|
||||
#define MOVE_EFFECT_SP_ATK_TWO_DOWN 59
|
||||
#define NUM_MOVE_EFFECTS 60
|
||||
#define MOVE_EFFECT_SCALE_SHOT 53
|
||||
#define MOVE_EFFECT_THRASH 54
|
||||
#define MOVE_EFFECT_KNOCK_OFF 55
|
||||
#define MOVE_EFFECT_DEF_SPDEF_DOWN 56
|
||||
#define MOVE_EFFECT_CLEAR_SMOG 57
|
||||
#define MOVE_EFFECT_SP_ATK_TWO_DOWN 58
|
||||
#define MOVE_EFFECT_SMACK_DOWN 59
|
||||
#define MOVE_EFFECT_FLAME_BURST 60
|
||||
#define MOVE_EFFECT_FEINT 61
|
||||
#define MOVE_EFFECT_SPECTRAL_THIEF 62
|
||||
#define MOVE_EFFECT_V_CREATE 63
|
||||
#define MOVE_EFFECT_HAPPY_HOUR 64
|
||||
#define MOVE_EFFECT_CORE_ENFORCER 65
|
||||
#define MOVE_EFFECT_THROAT_CHOP 66
|
||||
#define MOVE_EFFECT_INCINERATE 67
|
||||
#define MOVE_EFFECT_BUG_BITE 68
|
||||
#define MOVE_EFFECT_RECOIL_HP_25 69
|
||||
#define MOVE_EFFECT_TRAP_BOTH 70
|
||||
#define MOVE_EFFECT_ROUND 71
|
||||
#define MOVE_EFFECT_STOCKPILE_WORE_OFF 72
|
||||
#define MOVE_EFFECT_DIRE_CLAW 73
|
||||
#define MOVE_EFFECT_STEALTH_ROCK 74
|
||||
#define MOVE_EFFECT_SPIKES 75
|
||||
#define MOVE_EFFECT_SYRUP_BOMB 76
|
||||
#define MOVE_EFFECT_FLORAL_HEALING 77
|
||||
#define MOVE_EFFECT_SECRET_POWER 78
|
||||
#define MOVE_EFFECT_PSYCHIC_NOISE 79
|
||||
// TODO: old pokefirered move effects, remove with new battle system
|
||||
#define MOVE_EFFECT_RECOIL_25 80
|
||||
#define MOVE_EFFECT_RAPIDSPIN 81
|
||||
#define MOVE_EFFECT_REMOVE_PARALYSIS 82
|
||||
#define MOVE_EFFECT_RECOIL_33 83
|
||||
|
||||
#define MOVE_EFFECT_AFFECTS_USER (1 << 6) // 64
|
||||
#define MOVE_EFFECT_CERTAIN (1 << 7) // 128
|
||||
#define NUM_MOVE_EFFECTS 84
|
||||
|
||||
#define MOVE_EFFECT_AFFECTS_USER 0x2000
|
||||
#define MOVE_EFFECT_CERTAIN 0x4000
|
||||
#define MOVE_EFFECT_CONTINUE 0x8000
|
||||
|
||||
// Battle terrain defines for gBattleTerrain.
|
||||
#define BATTLE_TERRAIN_GRASS 0
|
||||
#define BATTLE_TERRAIN_LONG_GRASS 1
|
||||
#define BATTLE_TERRAIN_SAND 2
|
||||
#define BATTLE_TERRAIN_UNDERWATER 3
|
||||
#define BATTLE_TERRAIN_WATER 4
|
||||
#define BATTLE_TERRAIN_POND 5
|
||||
#define BATTLE_TERRAIN_MOUNTAIN 6
|
||||
#define BATTLE_TERRAIN_CAVE 7
|
||||
#define BATTLE_TERRAIN_BUILDING 8
|
||||
#define BATTLE_TERRAIN_PLAIN 9
|
||||
#define BATTLE_TERRAIN_LINK 10
|
||||
#define BATTLE_TERRAIN_GYM 11
|
||||
#define BATTLE_TERRAIN_LEADER 12
|
||||
#define BATTLE_TERRAIN_INDOOR_2 13
|
||||
#define BATTLE_TERRAIN_INDOOR_1 14
|
||||
#define BATTLE_TERRAIN_LORELEI 15
|
||||
#define BATTLE_TERRAIN_BRUNO 16
|
||||
#define BATTLE_TERRAIN_AGATHA 17
|
||||
#define BATTLE_TERRAIN_LANCE 18
|
||||
#define BATTLE_TERRAIN_CHAMPION 19
|
||||
#define BATTLE_TERRAIN_GRASS 0
|
||||
#define BATTLE_TERRAIN_LONG_GRASS 1
|
||||
#define BATTLE_TERRAIN_SAND 2
|
||||
#define BATTLE_TERRAIN_UNDERWATER 3
|
||||
#define BATTLE_TERRAIN_WATER 4
|
||||
#define BATTLE_TERRAIN_POND 5
|
||||
#define BATTLE_TERRAIN_MOUNTAIN 6
|
||||
#define BATTLE_TERRAIN_CAVE 7
|
||||
#define BATTLE_TERRAIN_BUILDING 8
|
||||
#define BATTLE_TERRAIN_PLAIN 9
|
||||
// New battle terrains are used for Secret Power but not fully implemented.
|
||||
#define BATTLE_TERRAIN_SOARING 10
|
||||
#define BATTLE_TERRAIN_SKY_PILLAR 11
|
||||
#define BATTLE_TERRAIN_BURIAL_GROUND 12
|
||||
#define BATTLE_TERRAIN_PUDDLE 13
|
||||
#define BATTLE_TERRAIN_MARSH 14
|
||||
#define BATTLE_TERRAIN_SWAMP 15
|
||||
#define BATTLE_TERRAIN_SNOW 16
|
||||
#define BATTLE_TERRAIN_ICE 17
|
||||
#define BATTLE_TERRAIN_VOLCANO 18
|
||||
#define BATTLE_TERRAIN_DISTORTION_WORLD 19
|
||||
#define BATTLE_TERRAIN_SPACE 20
|
||||
#define BATTLE_TERRAIN_ULTRA_SPACE 21
|
||||
#define BATTLE_TERRAIN_LINK 22
|
||||
#define BATTLE_TERRAIN_GYM 23
|
||||
#define BATTLE_TERRAIN_LEADER 24
|
||||
#define BATTLE_TERRAIN_INDOOR_2 25
|
||||
#define BATTLE_TERRAIN_INDOOR_1 26
|
||||
#define BATTLE_TERRAIN_LORELEI 27
|
||||
#define BATTLE_TERRAIN_BRUNO 28
|
||||
#define BATTLE_TERRAIN_AGATHA 29
|
||||
#define BATTLE_TERRAIN_LANCE 30
|
||||
#define BATTLE_TERRAIN_CHAMPION 31
|
||||
|
||||
#define B_WAIT_TIME_LONG 64
|
||||
#define B_WAIT_TIME_MED 48
|
||||
#define B_WAIT_TIME_SHORT 32
|
||||
#define BATTLE_TERRAIN_COUNT 32
|
||||
|
||||
#define B_WAIT_TIME_LONG 64
|
||||
#define B_WAIT_TIME_MED 48
|
||||
#define B_WAIT_TIME_SHORT 32
|
||||
#define B_WAIT_TIME_SHORTEST 16
|
||||
|
||||
#define CASTFORM_NORMAL 0
|
||||
#define CASTFORM_FIRE 1
|
||||
|
|
@ -377,4 +497,44 @@
|
|||
// Indicator for the party summary bar to display an empty slot.
|
||||
#define HP_EMPTY_SLOT 0xFFFF
|
||||
|
||||
#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)
|
||||
#define MOVE_TARGET_ALLY (1 << 7)
|
||||
#define MOVE_TARGET_ALL_BATTLERS ((1 << 8) | MOVE_TARGET_USER)
|
||||
|
||||
// For the second argument of GetMoveTarget, when no target override is needed
|
||||
#define NO_TARGET_OVERRIDE 0
|
||||
|
||||
// Constants for Parental Bond
|
||||
#define PARENTAL_BOND_1ST_HIT 2
|
||||
#define PARENTAL_BOND_2ND_HIT 1
|
||||
#define PARENTAL_BOND_OFF 0
|
||||
|
||||
// Constants for if HandleScriptMegaPrimalBurst should handle Mega Evolution, Primal Reversion, or Ultra Burst.
|
||||
#define HANDLE_TYPE_MEGA_EVOLUTION 0
|
||||
#define HANDLE_TYPE_PRIMAL_REVERSION 1
|
||||
#define HANDLE_TYPE_ULTRA_BURST 2
|
||||
|
||||
// Constants for Torment
|
||||
#define PERMANENT_TORMENT 0xF
|
||||
|
||||
// Constants for B_VAR_STARTING_STATUS
|
||||
// Timer value controlled by B_VAR_STARTING_STATUS_TIMER
|
||||
#define STARTING_STATUS_NONE 0
|
||||
#define STARTING_STATUS_ELECTRIC_TERRAIN 1
|
||||
#define STARTING_STATUS_MISTY_TERRAIN 2
|
||||
#define STARTING_STATUS_GRASSY_TERRAIN 3
|
||||
#define STARTING_STATUS_PSYCHIC_TERRAIN 4
|
||||
#define STARTING_STATUS_TRICK_ROOM 5
|
||||
#define STARTING_STATUS_MAGIC_ROOM 6
|
||||
#define STARTING_STATUS_WONDER_ROOM 7
|
||||
#define STARTING_STATUS_TAILWIND_PLAYER 8
|
||||
#define STARTING_STATUS_TAILWIND_OPPONENT 9
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_H
|
||||
|
|
|
|||
|
|
@ -303,6 +303,13 @@
|
|||
#define ANIM_ATK_PARTNER 2
|
||||
#define ANIM_DEF_PARTNER 3
|
||||
|
||||
// Below are used by AnimTask_ShakeMon2 and AnimTask_SetGrayscaleOrOriginalPal
|
||||
#define ANIM_PLAYER_LEFT (MAX_BATTLERS_COUNT + 0)
|
||||
#define ANIM_OPPONENT_LEFT (MAX_BATTLERS_COUNT + 1)
|
||||
#define ANIM_PLAYER_RIGHT (MAX_BATTLERS_COUNT + 2)
|
||||
#define ANIM_OPPONENT_RIGHT (MAX_BATTLERS_COUNT + 3)
|
||||
#define ANIM_ATTACKER_FORCE (MAX_BATTLERS_COUNT + 4)
|
||||
|
||||
// stereo panning constants [0-255]
|
||||
//
|
||||
// 0
|
||||
|
|
@ -347,7 +354,7 @@
|
|||
#define BG_SOLAR_BEAM_CONTESTS 26
|
||||
|
||||
// table ids for general animations (gBattleAnims_General)
|
||||
#define B_ANIM_CASTFORM_CHANGE 0
|
||||
#define B_ANIM_FORM_CHANGE 0
|
||||
#define B_ANIM_STATS_CHANGE 1
|
||||
#define B_ANIM_SUBSTITUTE_FADE 2
|
||||
#define B_ANIM_SUBSTITUTE_APPEAR 3
|
||||
|
|
@ -356,7 +363,7 @@
|
|||
#define B_ANIM_TURN_TRAP 6
|
||||
#define B_ANIM_HELD_ITEM_EFFECT 7
|
||||
#define B_ANIM_SMOKEBALL_ESCAPE 8
|
||||
#define B_ANIM_FOCUS_BAND 9
|
||||
#define B_ANIM_HANGED_ON 9
|
||||
#define B_ANIM_RAIN_CONTINUES 10
|
||||
#define B_ANIM_SUN_CONTINUES 11
|
||||
#define B_ANIM_SANDSTORM_CONTINUES 12
|
||||
|
|
@ -375,6 +382,8 @@
|
|||
#define B_ANIM_SILPH_SCOPED 25
|
||||
#define B_ANIM_ROCK_THROW 26
|
||||
#define B_ANIM_SAFARI_REACTION 27
|
||||
#define B_ANIM_RESTORE_BG 28 // for Terrain Endings
|
||||
#define B_ANIM_SLIDE_OFFSCREEN 29 // for Emergency Exit
|
||||
|
||||
// special animations table (gBattleAnims_Special)
|
||||
#define B_ANIM_LVL_UP 0
|
||||
|
|
|
|||
|
|
@ -1,219 +1,476 @@
|
|||
#ifndef GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H
|
||||
#define GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H
|
||||
|
||||
#define EFFECT_HIT 0
|
||||
#define EFFECT_SLEEP 1
|
||||
#define EFFECT_POISON_HIT 2
|
||||
#define EFFECT_ABSORB 3
|
||||
#define EFFECT_BURN_HIT 4
|
||||
#define EFFECT_FREEZE_HIT 5
|
||||
#define EFFECT_PARALYZE_HIT 6
|
||||
#define EFFECT_EXPLOSION 7
|
||||
#define EFFECT_DREAM_EATER 8
|
||||
#define EFFECT_MIRROR_MOVE 9
|
||||
#define EFFECT_ATTACK_UP 10
|
||||
#define EFFECT_DEFENSE_UP 11
|
||||
#define EFFECT_SPEED_UP 12
|
||||
#define EFFECT_SPECIAL_ATTACK_UP 13
|
||||
#define EFFECT_SPECIAL_DEFENSE_UP 14
|
||||
#define EFFECT_ACCURACY_UP 15
|
||||
#define EFFECT_EVASION_UP 16
|
||||
#define EFFECT_ALWAYS_HIT 17
|
||||
#define EFFECT_ATTACK_DOWN 18
|
||||
#define EFFECT_DEFENSE_DOWN 19
|
||||
#define EFFECT_SPEED_DOWN 20
|
||||
#define EFFECT_SPECIAL_ATTACK_DOWN 21 // unused
|
||||
#define EFFECT_SPECIAL_DEFENSE_DOWN 22 // unused
|
||||
#define EFFECT_ACCURACY_DOWN 23
|
||||
#define EFFECT_EVASION_DOWN 24
|
||||
#define EFFECT_HAZE 25
|
||||
#define EFFECT_BIDE 26
|
||||
#define EFFECT_RAMPAGE 27
|
||||
#define EFFECT_ROAR 28
|
||||
#define EFFECT_MULTI_HIT 29
|
||||
#define EFFECT_CONVERSION 30
|
||||
#define EFFECT_FLINCH_HIT 31
|
||||
#define EFFECT_RESTORE_HP 32
|
||||
#define EFFECT_TOXIC 33
|
||||
#define EFFECT_PAY_DAY 34
|
||||
#define EFFECT_LIGHT_SCREEN 35
|
||||
#define EFFECT_TRI_ATTACK 36
|
||||
#define EFFECT_REST 37
|
||||
#define EFFECT_OHKO 38
|
||||
#define EFFECT_RAZOR_WIND 39
|
||||
#define EFFECT_SUPER_FANG 40
|
||||
#define EFFECT_DRAGON_RAGE 41
|
||||
#define EFFECT_TRAP 42
|
||||
#define EFFECT_HIGH_CRITICAL 43
|
||||
#define EFFECT_DOUBLE_HIT 44
|
||||
#define EFFECT_RECOIL_IF_MISS 45
|
||||
#define EFFECT_MIST 46
|
||||
#define EFFECT_FOCUS_ENERGY 47
|
||||
#define EFFECT_RECOIL 48
|
||||
#define EFFECT_CONFUSE 49
|
||||
#define EFFECT_ATTACK_UP_2 50
|
||||
#define EFFECT_DEFENSE_UP_2 51
|
||||
#define EFFECT_SPEED_UP_2 52
|
||||
#define EFFECT_SPECIAL_ATTACK_UP_2 53
|
||||
#define EFFECT_SPECIAL_DEFENSE_UP_2 54
|
||||
#define EFFECT_ACCURACY_UP_2 55
|
||||
#define EFFECT_EVASION_UP_2 56
|
||||
#define EFFECT_TRANSFORM 57
|
||||
#define EFFECT_ATTACK_DOWN_2 58
|
||||
#define EFFECT_DEFENSE_DOWN_2 59
|
||||
#define EFFECT_SPEED_DOWN_2 60
|
||||
#define EFFECT_SPECIAL_ATTACK_DOWN_2 61
|
||||
#define EFFECT_SPECIAL_DEFENSE_DOWN_2 62
|
||||
#define EFFECT_ACCURACY_DOWN_2 63
|
||||
#define EFFECT_EVASION_DOWN_2 64
|
||||
#define EFFECT_REFLECT 65
|
||||
#define EFFECT_POISON 66
|
||||
#define EFFECT_PARALYZE 67
|
||||
#define EFFECT_ATTACK_DOWN_HIT 68
|
||||
#define EFFECT_DEFENSE_DOWN_HIT 69
|
||||
#define EFFECT_SPEED_DOWN_HIT 70
|
||||
#define EFFECT_SPECIAL_ATTACK_DOWN_HIT 71
|
||||
#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT 72
|
||||
#define EFFECT_ACCURACY_DOWN_HIT 73
|
||||
#define EFFECT_EVASION_DOWN_HIT 74
|
||||
#define EFFECT_SKY_ATTACK 75
|
||||
#define EFFECT_CONFUSE_HIT 76
|
||||
#define EFFECT_TWINEEDLE 77
|
||||
#define EFFECT_VITAL_THROW 78
|
||||
#define EFFECT_SUBSTITUTE 79
|
||||
#define EFFECT_RECHARGE 80
|
||||
#define EFFECT_RAGE 81
|
||||
#define EFFECT_MIMIC 82
|
||||
#define EFFECT_METRONOME 83
|
||||
#define EFFECT_LEECH_SEED 84
|
||||
#define EFFECT_SPLASH 85
|
||||
#define EFFECT_DISABLE 86
|
||||
#define EFFECT_LEVEL_DAMAGE 87
|
||||
#define EFFECT_PSYWAVE 88
|
||||
#define EFFECT_COUNTER 89
|
||||
#define EFFECT_ENCORE 90
|
||||
#define EFFECT_PAIN_SPLIT 91
|
||||
#define EFFECT_SNORE 92
|
||||
#define EFFECT_CONVERSION_2 93
|
||||
#define EFFECT_LOCK_ON 94
|
||||
#define EFFECT_SKETCH 95
|
||||
#define EFFECT_UNUSED_60 96 // thaw
|
||||
#define EFFECT_SLEEP_TALK 97
|
||||
#define EFFECT_DESTINY_BOND 98
|
||||
#define EFFECT_FLAIL 99
|
||||
#define EFFECT_SPITE 100
|
||||
#define EFFECT_FALSE_SWIPE 101
|
||||
#define EFFECT_HEAL_BELL 102
|
||||
#define EFFECT_QUICK_ATTACK 103
|
||||
#define EFFECT_TRIPLE_KICK 104
|
||||
#define EFFECT_THIEF 105
|
||||
#define EFFECT_MEAN_LOOK 106
|
||||
#define EFFECT_NIGHTMARE 107
|
||||
#define EFFECT_MINIMIZE 108
|
||||
#define EFFECT_CURSE 109
|
||||
#define EFFECT_UNUSED_6E 110
|
||||
#define EFFECT_PROTECT 111
|
||||
#define EFFECT_SPIKES 112
|
||||
#define EFFECT_FORESIGHT 113
|
||||
#define EFFECT_PERISH_SONG 114
|
||||
#define EFFECT_SANDSTORM 115
|
||||
#define EFFECT_ENDURE 116
|
||||
#define EFFECT_ROLLOUT 117
|
||||
#define EFFECT_SWAGGER 118
|
||||
#define EFFECT_FURY_CUTTER 119
|
||||
#define EFFECT_ATTRACT 120
|
||||
#define EFFECT_RETURN 121
|
||||
#define EFFECT_PRESENT 122
|
||||
#define EFFECT_FRUSTRATION 123
|
||||
#define EFFECT_SAFEGUARD 124
|
||||
#define EFFECT_THAW_HIT 125
|
||||
#define EFFECT_MAGNITUDE 126
|
||||
#define EFFECT_BATON_PASS 127
|
||||
#define EFFECT_PURSUIT 128
|
||||
#define EFFECT_RAPID_SPIN 129
|
||||
#define EFFECT_SONICBOOM 130
|
||||
#define EFFECT_UNUSED_83 131
|
||||
#define EFFECT_MORNING_SUN 132
|
||||
#define EFFECT_SYNTHESIS 133
|
||||
#define EFFECT_MOONLIGHT 134
|
||||
#define EFFECT_HIDDEN_POWER 135
|
||||
#define EFFECT_RAIN_DANCE 136
|
||||
#define EFFECT_SUNNY_DAY 137
|
||||
#define EFFECT_DEFENSE_UP_HIT 138
|
||||
#define EFFECT_ATTACK_UP_HIT 139
|
||||
#define EFFECT_ALL_STATS_UP_HIT 140
|
||||
#define EFFECT_UNUSED_8D 141 // incomplete fake out in gen 2
|
||||
#define EFFECT_BELLY_DRUM 142
|
||||
#define EFFECT_PSYCH_UP 143
|
||||
#define EFFECT_MIRROR_COAT 144
|
||||
#define EFFECT_SKULL_BASH 145
|
||||
#define EFFECT_TWISTER 146
|
||||
#define EFFECT_EARTHQUAKE 147
|
||||
#define EFFECT_FUTURE_SIGHT 148
|
||||
#define EFFECT_GUST 149
|
||||
#define EFFECT_FLINCH_MINIMIZE_HIT 150 // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
|
||||
#define EFFECT_SOLAR_BEAM 151
|
||||
#define EFFECT_THUNDER 152
|
||||
#define EFFECT_TELEPORT 153
|
||||
#define EFFECT_BEAT_UP 154
|
||||
#define EFFECT_SEMI_INVULNERABLE 155
|
||||
#define EFFECT_DEFENSE_CURL 156
|
||||
#define EFFECT_SOFTBOILED 157
|
||||
#define EFFECT_FAKE_OUT 158
|
||||
#define EFFECT_UPROAR 159
|
||||
#define EFFECT_STOCKPILE 160
|
||||
#define EFFECT_SPIT_UP 161
|
||||
#define EFFECT_SWALLOW 162
|
||||
#define EFFECT_UNUSED_A3 163
|
||||
#define EFFECT_HAIL 164
|
||||
#define EFFECT_TORMENT 165
|
||||
#define EFFECT_FLATTER 166
|
||||
#define EFFECT_WILL_O_WISP 167
|
||||
#define EFFECT_MEMENTO 168
|
||||
#define EFFECT_FACADE 169
|
||||
#define EFFECT_FOCUS_PUNCH 170
|
||||
#define EFFECT_SMELLINGSALT 171
|
||||
#define EFFECT_FOLLOW_ME 172
|
||||
#define EFFECT_NATURE_POWER 173
|
||||
#define EFFECT_CHARGE 174
|
||||
#define EFFECT_TAUNT 175
|
||||
#define EFFECT_HELPING_HAND 176
|
||||
#define EFFECT_TRICK 177
|
||||
#define EFFECT_ROLE_PLAY 178
|
||||
#define EFFECT_WISH 179
|
||||
#define EFFECT_ASSIST 180
|
||||
#define EFFECT_INGRAIN 181
|
||||
#define EFFECT_SUPERPOWER 182
|
||||
#define EFFECT_MAGIC_COAT 183
|
||||
#define EFFECT_RECYCLE 184
|
||||
#define EFFECT_REVENGE 185
|
||||
#define EFFECT_BRICK_BREAK 186
|
||||
#define EFFECT_YAWN 187
|
||||
#define EFFECT_KNOCK_OFF 188
|
||||
#define EFFECT_ENDEAVOR 189
|
||||
#define EFFECT_ERUPTION 190
|
||||
#define EFFECT_SKILL_SWAP 191
|
||||
#define EFFECT_IMPRISON 192
|
||||
#define EFFECT_REFRESH 193
|
||||
#define EFFECT_GRUDGE 194
|
||||
#define EFFECT_SNATCH 195
|
||||
#define EFFECT_LOW_KICK 196
|
||||
#define EFFECT_SECRET_POWER 197
|
||||
#define EFFECT_DOUBLE_EDGE 198
|
||||
#define EFFECT_TEETER_DANCE 199
|
||||
#define EFFECT_BLAZE_KICK 200
|
||||
#define EFFECT_MUD_SPORT 201
|
||||
#define EFFECT_POISON_FANG 202
|
||||
#define EFFECT_WEATHER_BALL 203
|
||||
#define EFFECT_OVERHEAT 204
|
||||
#define EFFECT_TICKLE 205
|
||||
#define EFFECT_COSMIC_POWER 206
|
||||
#define EFFECT_SKY_UPPERCUT 207
|
||||
#define EFFECT_BULK_UP 208
|
||||
#define EFFECT_POISON_TAIL 209
|
||||
#define EFFECT_WATER_SPORT 210
|
||||
#define EFFECT_CALM_MIND 211
|
||||
#define EFFECT_DRAGON_DANCE 212
|
||||
#define EFFECT_CAMOUFLAGE 213
|
||||
|
||||
|
||||
#define EFFECT_PLACEHOLDER 0
|
||||
#define EFFECT_HIT 1
|
||||
#define EFFECT_SLEEP 2
|
||||
#define EFFECT_ABSORB 3
|
||||
#define EFFECT_EXPLOSION 4
|
||||
#define EFFECT_DREAM_EATER 5
|
||||
#define EFFECT_MIRROR_MOVE 6
|
||||
#define EFFECT_ATTACK_UP 7
|
||||
#define EFFECT_DEFENSE_UP 8
|
||||
#define EFFECT_SPEED_UP 9
|
||||
#define EFFECT_SPECIAL_ATTACK_UP 10
|
||||
#define EFFECT_SPECIAL_DEFENSE_UP 11
|
||||
#define EFFECT_ACCURACY_UP 12
|
||||
#define EFFECT_EVASION_UP 13
|
||||
#define EFFECT_SPECIAL_ATTACK_UP_3 14
|
||||
#define EFFECT_ATTACK_DOWN 15
|
||||
#define EFFECT_DEFENSE_DOWN 16
|
||||
#define EFFECT_SPEED_DOWN 17
|
||||
#define EFFECT_SPECIAL_ATTACK_DOWN 18
|
||||
#define EFFECT_SPECIAL_DEFENSE_DOWN 19
|
||||
#define EFFECT_ACCURACY_DOWN 20
|
||||
#define EFFECT_EVASION_DOWN 21
|
||||
#define EFFECT_HAZE 22
|
||||
#define EFFECT_BIDE 23
|
||||
#define EFFECT_ROAR 24
|
||||
#define EFFECT_MULTI_HIT 25
|
||||
#define EFFECT_CONVERSION 26
|
||||
#define EFFECT_RESTORE_HP 27
|
||||
#define EFFECT_TOXIC 28
|
||||
#define EFFECT_LIGHT_SCREEN 29
|
||||
#define EFFECT_REST 30
|
||||
#define EFFECT_OHKO 31
|
||||
#define EFFECT_FUSION_COMBO 32
|
||||
#define EFFECT_SUPER_FANG 33
|
||||
#define EFFECT_FIXED_DAMAGE_ARG 34
|
||||
#define EFFECT_HEAL_BLOCK 35
|
||||
#define EFFECT_RECOIL_IF_MISS 36
|
||||
#define EFFECT_MIST 37
|
||||
#define EFFECT_FOCUS_ENERGY 38
|
||||
#define EFFECT_CONFUSE 39
|
||||
#define EFFECT_ATTACK_UP_2 40
|
||||
#define EFFECT_DEFENSE_UP_2 41
|
||||
#define EFFECT_SPEED_UP_2 42
|
||||
#define EFFECT_SPECIAL_ATTACK_UP_2 43
|
||||
#define EFFECT_SPECIAL_DEFENSE_UP_2 44
|
||||
#define EFFECT_ACCURACY_UP_2 45
|
||||
#define EFFECT_EVASION_UP_2 46
|
||||
#define EFFECT_TRANSFORM 47
|
||||
#define EFFECT_ATTACK_DOWN_2 48
|
||||
#define EFFECT_DEFENSE_DOWN_2 49
|
||||
#define EFFECT_SPEED_DOWN_2 50
|
||||
#define EFFECT_SPECIAL_ATTACK_DOWN_2 51
|
||||
#define EFFECT_SPECIAL_DEFENSE_DOWN_2 52
|
||||
#define EFFECT_ACCURACY_DOWN_2 53
|
||||
#define EFFECT_EVASION_DOWN_2 54
|
||||
#define EFFECT_REFLECT 55
|
||||
#define EFFECT_POISON 56
|
||||
#define EFFECT_PARALYZE 57
|
||||
#define EFFECT_TWO_TURNS_ATTACK 58
|
||||
#define EFFECT_SUBSTITUTE 59
|
||||
#define EFFECT_RAGE 60
|
||||
#define EFFECT_MIMIC 61
|
||||
#define EFFECT_METRONOME 62
|
||||
#define EFFECT_LEECH_SEED 63
|
||||
#define EFFECT_DO_NOTHING 64
|
||||
#define EFFECT_DISABLE 65
|
||||
#define EFFECT_LEVEL_DAMAGE 66
|
||||
#define EFFECT_PSYWAVE 67
|
||||
#define EFFECT_COUNTER 68
|
||||
#define EFFECT_ENCORE 69
|
||||
#define EFFECT_PAIN_SPLIT 70
|
||||
#define EFFECT_SNORE 71
|
||||
#define EFFECT_CONVERSION_2 72
|
||||
#define EFFECT_LOCK_ON 73
|
||||
#define EFFECT_SKETCH 74
|
||||
#define EFFECT_SLEEP_TALK 75
|
||||
#define EFFECT_DESTINY_BOND 76
|
||||
#define EFFECT_FLAIL 77
|
||||
#define EFFECT_SPITE 78
|
||||
#define EFFECT_FALSE_SWIPE 79
|
||||
#define EFFECT_HEAL_BELL 80
|
||||
#define EFFECT_TRIPLE_KICK 81
|
||||
#define EFFECT_MEAN_LOOK 82
|
||||
#define EFFECT_NIGHTMARE 83
|
||||
#define EFFECT_MINIMIZE 84
|
||||
#define EFFECT_CURSE 85
|
||||
#define EFFECT_HEALING_WISH 86
|
||||
#define EFFECT_PROTECT 87
|
||||
#define EFFECT_SPIKES 88
|
||||
#define EFFECT_FORESIGHT 89
|
||||
#define EFFECT_PERISH_SONG 90
|
||||
#define EFFECT_SANDSTORM 91
|
||||
#define EFFECT_ENDURE 92
|
||||
#define EFFECT_ROLLOUT 93
|
||||
#define EFFECT_SWAGGER 94
|
||||
#define EFFECT_FURY_CUTTER 95
|
||||
#define EFFECT_ATTRACT 96
|
||||
#define EFFECT_RETURN 97
|
||||
#define EFFECT_PRESENT 98
|
||||
#define EFFECT_FRUSTRATION 99
|
||||
#define EFFECT_SAFEGUARD 100
|
||||
#define EFFECT_MAGNITUDE 101
|
||||
#define EFFECT_BATON_PASS 102
|
||||
#define EFFECT_PURSUIT 103
|
||||
#define EFFECT_CAPTIVATE 104
|
||||
#define EFFECT_MORNING_SUN 105
|
||||
#define EFFECT_SYNTHESIS 106
|
||||
#define EFFECT_MOONLIGHT 107
|
||||
#define EFFECT_HIDDEN_POWER 108
|
||||
#define EFFECT_RAIN_DANCE 109
|
||||
#define EFFECT_SUNNY_DAY 110
|
||||
#define EFFECT_FELL_STINGER 111
|
||||
#define EFFECT_BELLY_DRUM 112
|
||||
#define EFFECT_PSYCH_UP 113
|
||||
#define EFFECT_MIRROR_COAT 114
|
||||
#define EFFECT_EARTHQUAKE 115
|
||||
#define EFFECT_FUTURE_SIGHT 116
|
||||
#define EFFECT_SOLAR_BEAM 117
|
||||
#define EFFECT_THUNDER 118
|
||||
#define EFFECT_TELEPORT 119
|
||||
#define EFFECT_BEAT_UP 120
|
||||
#define EFFECT_SEMI_INVULNERABLE 121
|
||||
#define EFFECT_DEFENSE_CURL 122
|
||||
#define EFFECT_SOFTBOILED 123 // differences vs Recover - can be used outside of battle to restore HP
|
||||
#define EFFECT_FIRST_TURN_ONLY 124
|
||||
#define EFFECT_UPROAR 125
|
||||
#define EFFECT_STOCKPILE 126
|
||||
#define EFFECT_SPIT_UP 127
|
||||
#define EFFECT_SWALLOW 128
|
||||
#define EFFECT_WORRY_SEED 129
|
||||
#define EFFECT_HAIL 130
|
||||
#define EFFECT_TORMENT 131
|
||||
#define EFFECT_FLATTER 132
|
||||
#define EFFECT_WILL_O_WISP 133
|
||||
#define EFFECT_MEMENTO 134
|
||||
#define EFFECT_FACADE 135
|
||||
#define EFFECT_FOCUS_PUNCH 136
|
||||
#define EFFECT_DOUBLE_POWER_ON_ARG_STATUS 137
|
||||
#define EFFECT_FOLLOW_ME 138
|
||||
#define EFFECT_NATURE_POWER 139
|
||||
#define EFFECT_CHARGE 140
|
||||
#define EFFECT_TAUNT 141
|
||||
#define EFFECT_HELPING_HAND 142
|
||||
#define EFFECT_TRICK 143
|
||||
#define EFFECT_ROLE_PLAY 144
|
||||
#define EFFECT_WISH 145
|
||||
#define EFFECT_ASSIST 146
|
||||
#define EFFECT_INGRAIN 147
|
||||
#define EFFECT_MAGIC_COAT 148
|
||||
#define EFFECT_RECYCLE 149
|
||||
#define EFFECT_REVENGE 150
|
||||
#define EFFECT_BRICK_BREAK 151
|
||||
#define EFFECT_YAWN 152
|
||||
#define EFFECT_KNOCK_OFF 153
|
||||
#define EFFECT_ENDEAVOR 154
|
||||
#define EFFECT_ERUPTION 155
|
||||
#define EFFECT_SKILL_SWAP 156
|
||||
#define EFFECT_IMPRISON 157
|
||||
#define EFFECT_REFRESH 158
|
||||
#define EFFECT_GRUDGE 159
|
||||
#define EFFECT_SNATCH 160
|
||||
#define EFFECT_LOW_KICK 161
|
||||
#define EFFECT_HIT_ESCAPE 162
|
||||
#define EFFECT_MUD_SPORT 163
|
||||
#define EFFECT_WEATHER_BALL 164
|
||||
#define EFFECT_TICKLE 165
|
||||
#define EFFECT_COSMIC_POWER 166
|
||||
#define EFFECT_BULK_UP 167
|
||||
#define EFFECT_WATER_SPORT 168
|
||||
#define EFFECT_CALM_MIND 169
|
||||
#define EFFECT_DRAGON_DANCE 170
|
||||
#define EFFECT_CAMOUFLAGE 171
|
||||
#define EFFECT_PLEDGE 172
|
||||
#define EFFECT_FLING 173
|
||||
#define EFFECT_NATURAL_GIFT 174
|
||||
#define EFFECT_VARY_POWER_BASED_ON_HP 175
|
||||
#define EFFECT_ASSURANCE 176
|
||||
#define EFFECT_TRUMP_CARD 177
|
||||
#define EFFECT_ACROBATICS 178
|
||||
#define EFFECT_HEAT_CRASH 179
|
||||
#define EFFECT_PUNISHMENT 180
|
||||
#define EFFECT_STORED_POWER 181
|
||||
#define EFFECT_ELECTRO_BALL 182
|
||||
#define EFFECT_GYRO_BALL 183
|
||||
#define EFFECT_ECHOED_VOICE 184
|
||||
#define EFFECT_PAYBACK 185
|
||||
#define EFFECT_ROUND 186
|
||||
#define EFFECT_BRINE 187
|
||||
#define EFFECT_RETALIATE 188
|
||||
#define EFFECT_BULLDOZE 189
|
||||
#define EFFECT_FOUL_PLAY 190
|
||||
#define EFFECT_PSYSHOCK 191
|
||||
#define EFFECT_ROOST 192
|
||||
#define EFFECT_GRAVITY 193
|
||||
#define EFFECT_MIRACLE_EYE 194
|
||||
#define EFFECT_TAILWIND 195
|
||||
#define EFFECT_EMBARGO 196
|
||||
#define EFFECT_AQUA_RING 197
|
||||
#define EFFECT_TRICK_ROOM 198
|
||||
#define EFFECT_WONDER_ROOM 199
|
||||
#define EFFECT_MAGIC_ROOM 200
|
||||
#define EFFECT_MAGNET_RISE 201
|
||||
#define EFFECT_TOXIC_SPIKES 202
|
||||
#define EFFECT_GASTRO_ACID 203
|
||||
#define EFFECT_STEALTH_ROCK 204
|
||||
#define EFFECT_TELEKINESIS 205
|
||||
#define EFFECT_POWER_SWAP 206
|
||||
#define EFFECT_GUARD_SWAP 207
|
||||
#define EFFECT_HEART_SWAP 208
|
||||
#define EFFECT_POWER_SPLIT 209
|
||||
#define EFFECT_GUARD_SPLIT 210
|
||||
#define EFFECT_STICKY_WEB 211
|
||||
#define EFFECT_METAL_BURST 212
|
||||
#define EFFECT_LUCKY_CHANT 213
|
||||
#define EFFECT_SUCKER_PUNCH 214
|
||||
#define EFFECT_SIMPLE_BEAM 215
|
||||
#define EFFECT_ENTRAINMENT 216
|
||||
#define EFFECT_HEAL_PULSE 217
|
||||
#define EFFECT_QUASH 218
|
||||
#define EFFECT_ION_DELUGE 219
|
||||
#define EFFECT_FREEZE_DRY 220
|
||||
#define EFFECT_TOPSY_TURVY 221
|
||||
#define EFFECT_MISTY_TERRAIN 222
|
||||
#define EFFECT_GRASSY_TERRAIN 223
|
||||
#define EFFECT_ELECTRIC_TERRAIN 224
|
||||
#define EFFECT_PSYCHIC_TERRAIN 225
|
||||
#define EFFECT_ATTACK_ACCURACY_UP 226
|
||||
#define EFFECT_ATTACK_SPATK_UP 227
|
||||
#define EFFECT_TWO_TYPED_MOVE 228
|
||||
#define EFFECT_ME_FIRST 229
|
||||
#define EFFECT_QUIVER_DANCE 230
|
||||
#define EFFECT_COIL 231
|
||||
#define EFFECT_ELECTRIFY 232
|
||||
#define EFFECT_REFLECT_TYPE 233
|
||||
#define EFFECT_SOAK 234
|
||||
#define EFFECT_GROWTH 235
|
||||
#define EFFECT_LAST_RESORT 236
|
||||
#define EFFECT_SHELL_SMASH 237
|
||||
#define EFFECT_SHIFT_GEAR 238
|
||||
#define EFFECT_DEFENSE_UP_3 239
|
||||
#define EFFECT_NOBLE_ROAR 240
|
||||
#define EFFECT_VENOM_DRENCH 241
|
||||
#define EFFECT_TOXIC_THREAD 242
|
||||
#define EFFECT_HIT_SWITCH_TARGET 243
|
||||
#define EFFECT_FINAL_GAMBIT 244
|
||||
#define EFFECT_CHANGE_TYPE_ON_ITEM 245
|
||||
#define EFFECT_AUTOTOMIZE 246
|
||||
#define EFFECT_COPYCAT 247
|
||||
#define EFFECT_DEFOG 248
|
||||
#define EFFECT_HIT_ENEMY_HEAL_ALLY 249
|
||||
#define EFFECT_SYNCHRONOISE 250
|
||||
#define EFFECT_PSYCHO_SHIFT 251
|
||||
#define EFFECT_POWER_TRICK 252
|
||||
#define EFFECT_AFTER_YOU 253
|
||||
#define EFFECT_BESTOW 254
|
||||
#define EFFECT_ROTOTILLER 255
|
||||
#define EFFECT_FLOWER_SHIELD 256
|
||||
#define EFFECT_SPEED_SWAP 257
|
||||
#define EFFECT_REVELATION_DANCE 258
|
||||
#define EFFECT_AURORA_VEIL 259
|
||||
#define EFFECT_THIRD_TYPE 260
|
||||
#define EFFECT_ACUPRESSURE 261
|
||||
#define EFFECT_AROMATIC_MIST 262
|
||||
#define EFFECT_POWDER 263
|
||||
#define EFFECT_BELCH 264
|
||||
#define EFFECT_PARTING_SHOT 265
|
||||
#define EFFECT_MAT_BLOCK 266
|
||||
#define EFFECT_STOMPING_TANTRUM 267
|
||||
#define EFFECT_INSTRUCT 268
|
||||
#define EFFECT_LASER_FOCUS 269
|
||||
#define EFFECT_MAGNETIC_FLUX 270
|
||||
#define EFFECT_GEAR_UP 271
|
||||
#define EFFECT_STRENGTH_SAP 272
|
||||
#define EFFECT_MIND_BLOWN 273
|
||||
#define EFFECT_PURIFY 274
|
||||
#define EFFECT_FAIL_IF_NOT_ARG_TYPE 275
|
||||
#define EFFECT_SHORE_UP 276
|
||||
#define EFFECT_GEOMANCY 277
|
||||
#define EFFECT_FAIRY_LOCK 278
|
||||
#define EFFECT_ALLY_SWITCH 279
|
||||
#define EFFECT_RELIC_SONG 280
|
||||
#define EFFECT_BODY_PRESS 281
|
||||
#define EFFECT_EERIE_SPELL 282
|
||||
#define EFFECT_JUNGLE_HEALING 283
|
||||
#define EFFECT_COACHING 284
|
||||
#define EFFECT_LASH_OUT 285
|
||||
#define EFFECT_GRASSY_GLIDE 286
|
||||
#define EFFECT_DYNAMAX_DOUBLE_DMG 287
|
||||
#define EFFECT_DECORATE 288
|
||||
#define EFFECT_SNIPE_SHOT 289
|
||||
#define EFFECT_RECOIL_HP_25 290
|
||||
#define EFFECT_STUFF_CHEEKS 291
|
||||
#define EFFECT_GRAV_APPLE 292
|
||||
#define EFFECT_GLITZY_GLOW 293
|
||||
#define EFFECT_BADDY_BAD 294
|
||||
#define EFFECT_SAPPY_SEED 295
|
||||
#define EFFECT_FREEZY_FROST 296
|
||||
#define EFFECT_SPARKLY_SWIRL 297
|
||||
#define EFFECT_PLASMA_FISTS 298
|
||||
#define EFFECT_HYPERSPACE_FURY 299
|
||||
#define EFFECT_AURA_WHEEL 300
|
||||
#define EFFECT_PHOTON_GEYSER 301
|
||||
#define EFFECT_SHELL_SIDE_ARM 302
|
||||
#define EFFECT_TERRAIN_PULSE 303
|
||||
#define EFFECT_NO_RETREAT 304
|
||||
#define EFFECT_TAR_SHOT 305
|
||||
#define EFFECT_POLTERGEIST 306
|
||||
#define EFFECT_OCTOLOCK 307
|
||||
#define EFFECT_CLANGOROUS_SOUL 308
|
||||
#define EFFECT_BOLT_BEAK 309
|
||||
#define EFFECT_SKY_DROP 310
|
||||
#define EFFECT_EXPANDING_FORCE 311
|
||||
#define EFFECT_RISING_VOLTAGE 312
|
||||
#define EFFECT_BEAK_BLAST 313
|
||||
#define EFFECT_COURT_CHANGE 314
|
||||
#define EFFECT_MAX_HP_50_RECOIL 315
|
||||
#define EFFECT_EXTREME_EVOBOOST 316
|
||||
#define EFFECT_HIT_SET_REMOVE_TERRAIN 317
|
||||
#define EFFECT_DARK_VOID 318
|
||||
#define EFFECT_VICTORY_DANCE 319
|
||||
#define EFFECT_TEATIME 320
|
||||
#define EFFECT_ATTACK_UP_USER_ALLY 321
|
||||
#define EFFECT_SHELL_TRAP 322
|
||||
#define EFFECT_PSYBLADE 323
|
||||
#define EFFECT_HYDRO_STEAM 324
|
||||
#define EFFECT_REVIVAL_BLESSING 325
|
||||
#define EFFECT_SNOWSCAPE 326
|
||||
#define EFFECT_TAKE_HEART 327
|
||||
#define EFFECT_COLLISION_COURSE 328
|
||||
#define EFFECT_CORROSIVE_GAS 329
|
||||
#define EFFECT_POPULATION_BOMB 330
|
||||
#define EFFECT_SALT_CURE 331
|
||||
#define EFFECT_CHILLY_RECEPTION 332
|
||||
#define EFFECT_MAX_MOVE 333
|
||||
#define EFFECT_GLAIVE_RUSH 334
|
||||
#define EFFECT_RAGING_BULL 335
|
||||
#define EFFECT_RAGE_FIST 336
|
||||
#define EFFECT_DOODLE 337
|
||||
#define EFFECT_FILLET_AWAY 338
|
||||
#define EFFECT_IVY_CUDGEL 339
|
||||
#define EFFECT_FICKLE_BEAM 340
|
||||
#define EFFECT_BLIZZARD 341
|
||||
#define EFFECT_RAIN_ALWAYS_HIT 342 // Unlike EFFECT_THUNDER it doesn't get its accuracy reduced under sun.
|
||||
#define EFFECT_SHED_TAIL 343
|
||||
#define EFFECT_UPPER_HAND 344
|
||||
#define EFFECT_DRAGON_CHEER 345
|
||||
#define EFFECT_LAST_RESPECTS 346
|
||||
#define EFFECT_TIDY_UP 347
|
||||
// leftovers from original so game doesnt break
|
||||
#define EFFECT_POISON_HIT 349
|
||||
#define EFFECT_BURN_HIT 350
|
||||
#define EFFECT_FREEZE_HIT 351
|
||||
#define EFFECT_PARALYZE_HIT 352
|
||||
#define EFFECT_ALWAYS_HIT 353
|
||||
#define EFFECT_RAMPAGE 354
|
||||
#define EFFECT_FLINCH_HIT 355
|
||||
#define EFFECT_PAY_DAY 356
|
||||
#define EFFECT_TRI_ATTACK 357
|
||||
#define EFFECT_RAZOR_WIND 358
|
||||
#define EFFECT_DRAGON_RAGE 359
|
||||
#define EFFECT_TRAP 360
|
||||
#define EFFECT_HIGH_CRITICAL 361
|
||||
#define EFFECT_DOUBLE_HIT 362
|
||||
#define EFFECT_RECOIL 363
|
||||
#define EFFECT_ATTACK_DOWN_HIT 364
|
||||
#define EFFECT_DEFENSE_DOWN_HIT 365
|
||||
#define EFFECT_SPEED_DOWN_HIT 366
|
||||
#define EFFECT_SPECIAL_ATTACK_DOWN_HIT 367
|
||||
#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT 368
|
||||
#define EFFECT_ACCURACY_DOWN_HIT 369
|
||||
#define EFFECT_EVASION_DOWN_HIT 370
|
||||
#define EFFECT_SKY_ATTACK 371
|
||||
#define EFFECT_CONFUSE_HIT 372
|
||||
#define EFFECT_TWINEEDLE 373
|
||||
#define EFFECT_VITAL_THROW 374
|
||||
#define EFFECT_RECHARGE 375
|
||||
#define EFFECT_SPLASH 376
|
||||
#define EFFECT_UNUSED_60 377
|
||||
#define EFFECT_QUICK_ATTACK 378
|
||||
#define EFFECT_THIEF 379
|
||||
#define EFFECT_UNUSED_6E 380
|
||||
#define EFFECT_THAW_HIT 381
|
||||
#define EFFECT_RAPID_SPIN 382
|
||||
#define EFFECT_SONICBOOM 383
|
||||
#define EFFECT_UNUSED_83 384
|
||||
#define EFFECT_DEFENSE_UP_HIT 385
|
||||
#define EFFECT_ATTACK_UP_HIT 386
|
||||
#define EFFECT_ALL_STATS_UP_HIT 387
|
||||
#define EFFECT_UNUSED_8D 388 // incomplete fake out in gen 2
|
||||
#define EFFECT_SKULL_BASH 389
|
||||
#define EFFECT_TWISTER 390
|
||||
#define EFFECT_GUST 391
|
||||
#define EFFECT_FLINCH_MINIMIZE_HIT 392 // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
|
||||
#define EFFECT_FAKE_OUT 393
|
||||
#define EFFECT_UNUSED_A3 394
|
||||
#define EFFECT_SMELLINGSALT 395
|
||||
#define EFFECT_SUPERPOWER 396
|
||||
#define EFFECT_SECRET_POWER 397
|
||||
#define EFFECT_DOUBLE_EDGE 398
|
||||
#define EFFECT_TEETER_DANCE 399
|
||||
#define EFFECT_BLAZE_KICK 400
|
||||
#define EFFECT_POISON_FANG 401
|
||||
#define EFFECT_OVERHEAT 402
|
||||
#define EFFECT_SKY_UPPERCUT 403
|
||||
#define EFFECT_POISON_TAIL 404
|
||||
|
||||
#define NUM_BATTLE_MOVE_EFFECTS 405
|
||||
|
||||
|
||||
// enum {
|
||||
// EFFECT_POISON_HIT,
|
||||
// EFFECT_BURN_HIT ,
|
||||
// EFFECT_FREEZE_HIT ,
|
||||
// EFFECT_PARALYZE_HIT ,
|
||||
// EFFECT_ALWAYS_HIT ,
|
||||
// EFFECT_RAMPAGE ,
|
||||
// EFFECT_FLINCH_HIT ,
|
||||
// EFFECT_PAY_DAY ,
|
||||
// EFFECT_TRI_ATTACK ,
|
||||
// EFFECT_RAZOR_WIND ,
|
||||
// EFFECT_DRAGON_RAGE ,
|
||||
// EFFECT_TRAP ,
|
||||
// EFFECT_HIGH_CRITICAL ,
|
||||
// EFFECT_DOUBLE_HIT ,
|
||||
// EFFECT_RECOIL ,
|
||||
// EFFECT_ATTACK_DOWN_HIT ,
|
||||
// EFFECT_DEFENSE_DOWN_HIT ,
|
||||
// EFFECT_SPEED_DOWN_HIT ,
|
||||
// EFFECT_SPECIAL_ATTACK_DOWN_HIT ,
|
||||
// EFFECT_SPECIAL_DEFENSE_DOWN_HIT ,
|
||||
// EFFECT_ACCURACY_DOWN_HIT ,
|
||||
// EFFECT_EVASION_DOWN_HIT ,
|
||||
// EFFECT_SKY_ATTACK ,
|
||||
// EFFECT_CONFUSE_HIT ,
|
||||
// EFFECT_TWINEEDLE ,
|
||||
// EFFECT_VITAL_THROW ,
|
||||
// EFFECT_RECHARGE ,
|
||||
// EFFECT_SPLASH ,
|
||||
// EFFECT_UNUSED_60,
|
||||
// EFFECT_QUICK_ATTACK ,
|
||||
// EFFECT_THIEF ,
|
||||
// EFFECT_UNUSED_6E ,
|
||||
// EFFECT_THAW_HIT ,
|
||||
// EFFECT_RAPID_SPIN ,
|
||||
// EFFECT_SONICBOOM ,
|
||||
// EFFECT_UNUSED_83 ,
|
||||
// EFFECT_DEFENSE_UP_HIT ,
|
||||
// EFFECT_ATTACK_UP_HIT ,
|
||||
// EFFECT_ALL_STATS_UP_HIT ,
|
||||
// EFFECT_UNUSED_8D , // incomplete fake out in gen 2
|
||||
// EFFECT_SKULL_BASH ,
|
||||
// EFFECT_TWISTER ,
|
||||
// EFFECT_GUST ,
|
||||
// EFFECT_FLINCH_MINIMIZE_HIT , // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
|
||||
// EFFECT_FAKE_OUT ,
|
||||
// EFFECT_UNUSED_A3 ,
|
||||
// EFFECT_SMELLINGSALT ,
|
||||
// EFFECT_SUPERPOWER ,
|
||||
// EFFECT_SECRET_POWER ,
|
||||
// EFFECT_DOUBLE_EDGE ,
|
||||
// EFFECT_TEETER_DANCE ,
|
||||
// EFFECT_BLAZE_KICK ,
|
||||
// EFFECT_POISON_FANG ,
|
||||
// EFFECT_OVERHEAT ,
|
||||
// EFFECT_SKY_UPPERCUT ,
|
||||
// EFFECT_POISON_TAIL
|
||||
// }
|
||||
|
||||
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H
|
||||
|
|
|
|||
|
|
@ -2,30 +2,45 @@
|
|||
#define GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H
|
||||
|
||||
// The following correspond to the struct members of BattleScripting by adding their offset
|
||||
#define sPAINSPLIT_HP gBattleScripting + 0x00 // painSplitHp
|
||||
#define sBIDE_DMG gBattleScripting + 0x04 // bideDmg
|
||||
#define sMULTIHIT_STRING gBattleScripting + 0x08 // multihitString
|
||||
#define sDMG_MULTIPLIER gBattleScripting + 0x0E // dmgMultiplier
|
||||
#define sTWOTURN_STRINGID gBattleScripting + 0x0F // twoTurnsMoveStringId
|
||||
#define sB_ANIM_ARG1 gBattleScripting + 0x10 // animArg1
|
||||
#define sB_ANIM_ARG2 gBattleScripting + 0x11 // animArg2
|
||||
#define sTRIPLE_KICK_POWER gBattleScripting + 0x12 // tripleKickPower
|
||||
#define sMOVEEND_STATE gBattleScripting + 0x14 // moveendState
|
||||
#define sBATTLER_WITH_ABILITY gBattleScripting + 0x15 // battlerWithAbility
|
||||
#define sMULTIHIT_EFFECT gBattleScripting + 0x16 // multihitMoveEffect
|
||||
#define sBATTLER gBattleScripting + 0x17 // battler
|
||||
#define sB_ANIM_TURN gBattleScripting + 0x18 // animTurn
|
||||
#define sB_ANIM_TARGETS_HIT gBattleScripting + 0x19 // animTargetsHit
|
||||
#define sSTATCHANGER gBattleScripting + 0x1A // statChanger
|
||||
#define sSTAT_ANIM_PLAYED gBattleScripting + 0x1B // statAnimPlayed
|
||||
#define sGIVEEXP_STATE gBattleScripting + 0x1C // getexpState
|
||||
#define sBATTLE_STYLE gBattleScripting + 0x1D // battleStyle
|
||||
#define sLVLBOX_STATE gBattleScripting + 0x1E // drawlvlupboxState
|
||||
#define sLEARNMOVE_STATE gBattleScripting + 0x1F // learnMoveState
|
||||
#define sPURSUIT_DOUBLES_ATTACKER gBattleScripting + 0x20 // pursuitDoublesAttacker
|
||||
#define sRESHOW_MAIN_STATE gBattleScripting + 0x21 // reshowMainState
|
||||
#define sRESHOW_HELPER_STATE gBattleScripting + 0x22 // reshowHelperState
|
||||
#define sLVLUP_HP gBattleScripting + 0x23 // levelUpHP
|
||||
#define sPAINSPLIT_HP (gBattleScripting + 0x00) // painSplitHp
|
||||
#define sBIDE_DMG (gBattleScripting + 0x04) // bideDmg
|
||||
#define sMULTIHIT_STRING (gBattleScripting + 0x08) // multihitString
|
||||
#define sEXP_CATCH (gBattleScripting + 0x0E) // expOnCatch
|
||||
#define sUNUSED (gBattleScripting + 0x0F) // unused
|
||||
#define sB_ANIM_ARG1 (gBattleScripting + 0x10) // animArg1
|
||||
#define sB_ANIM_ARG2 (gBattleScripting + 0x11) // animArg2
|
||||
#define sSAVED_STRINID (gBattleScripting + 0x12) // savedStringId
|
||||
#define sMOVEEND_STATE (gBattleScripting + 0x14) // moveendState
|
||||
#define sSAVED_STAT_CHANGER (gBattleScripting + 0x15) // savedStatChanger
|
||||
#define sSHIFT_SWITCHED (gBattleScripting + 0x16) // shiftSwitched
|
||||
#define sBATTLER (gBattleScripting + 0x17) // battler
|
||||
#define sB_ANIM_TURN (gBattleScripting + 0x18) // animTurn
|
||||
#define sB_ANIM_TARGETS_HIT (gBattleScripting + 0x19) // animTargetsHit
|
||||
#define sSTATCHANGER (gBattleScripting + 0x1A) // statChanger
|
||||
#define sSTAT_ANIM_PLAYED (gBattleScripting + 0x1B) // statAnimPlayed
|
||||
#define sGIVEEXP_STATE (gBattleScripting + 0x1C) // getexpState
|
||||
#define sBATTLE_STYLE (gBattleScripting + 0x1D) // battleStyle
|
||||
#define sLVLBOX_STATE (gBattleScripting + 0x1E) // drawlvlupboxState
|
||||
#define sLEARNMOVE_STATE (gBattleScripting + 0x1F) // learnMoveState
|
||||
#define sSAVED_BATTLER (gBattleScripting + 0x20) // savedBattler
|
||||
#define sRESHOW_MAIN_STATE (gBattleScripting + 0x21) // reshowMainState
|
||||
#define sRESHOW_HELPER_STATE (gBattleScripting + 0x22) // reshowHelperState
|
||||
#define sLVLUP_HP (gBattleScripting + 0x23) // levelUpHP
|
||||
#define sWINDOWS_TYPE (gBattleScripting + 0x24) // windowsType
|
||||
#define sMULTIPLAYER_ID (gBattleScripting + 0x25) // multiplayerId
|
||||
#define sSPECIAL_TRAINER_BATTLE_TYPE (gBattleScripting + 0x26) // specialTrainerBattleType
|
||||
#define sMON_CAUGHT (gBattleScripting + 0x27) // monCaught
|
||||
#define sSAVED_DMG (gBattleScripting + 0x28) // savedDmg
|
||||
#define sSAVED_MOVE_EFFECT (gBattleScripting + 0x2C) // savedMoveEffect
|
||||
#define sMOVE_EFFECT (gBattleScripting + 0x2E) // moveEffect
|
||||
#define sMULTIHIT_EFFECT (gBattleScripting + 0x30) // multihitMoveEffect
|
||||
#define sILLUSION_NICK_HACK (gBattleScripting + 0x32) // illusionNickHack
|
||||
#define sFIXED_ABILITY_POPUP (gBattleScripting + 0x33) // fixedPopup
|
||||
#define sABILITY_OVERWRITE (gBattleScripting + 0x34) // abilityPopupOverwrite
|
||||
#define sSWITCH_CASE (gBattleScripting + 0x36) // switchCase
|
||||
#define sBERRY_OVERRIDE (gBattleScripting + 0x37) // overrideBerryRequirements
|
||||
#define sSTICKY_WEB_STAT_DROP (gBattleScripting + 0x38) // stickyWebStatDrop
|
||||
#define sDMG_MULTIPLIER (gBattleScripting + 0x39) // dmgMultiplier
|
||||
|
||||
// Array entries for battle communication
|
||||
#define MULTIUSE_STATE 0
|
||||
|
|
@ -40,7 +55,6 @@
|
|||
#define MSG_DISPLAY 7
|
||||
#define BATTLE_COMMUNICATION_ENTRIES_COUNT 8
|
||||
|
||||
#define cEFFECT_CHOOSER (gBattleCommunication + MOVE_EFFECT_BYTE)
|
||||
#define cMULTISTRING_CHOOSER (gBattleCommunication + MULTISTRING_CHOOSER)
|
||||
#define cMISS_TYPE (gBattleCommunication + MISS_TYPE)
|
||||
|
||||
|
|
@ -54,12 +68,14 @@
|
|||
#define BS_FAINTED_LINK_MULTIPLE_2 6 // for openpartyscreen
|
||||
#define BS_BATTLER_0 7
|
||||
#define BS_ATTACKER_SIDE 8 // for Cmd_jumpifability
|
||||
#define BS_NOT_ATTACKER_SIDE 9 // for Cmd_jumpifability
|
||||
#define BS_TARGET_SIDE 9 // for Cmd_jumpifability
|
||||
#define BS_SCRIPTING 10
|
||||
#define BS_PLAYER1 11
|
||||
#define BS_OPPONENT1 12
|
||||
#define BS_PLAYER2 13 // for Cmd_updatestatusicon
|
||||
#define BS_OPPONENT2 14
|
||||
#define BS_ABILITY_BATTLER 15
|
||||
#define BS_ATTACKER_PARTNER 16
|
||||
|
||||
// atk 01, accuracy calc
|
||||
#define NO_ACC_CALC 0xFFFE
|
||||
|
|
@ -76,32 +92,180 @@
|
|||
|
||||
// TODO: documentation
|
||||
// atk76, various
|
||||
#define VARIOUS_CANCEL_MULTI_TURN_MOVES 0
|
||||
#define VARIOUS_SET_MAGIC_COAT_TARGET 1
|
||||
#define VARIOUS_IS_RUNNING_IMPOSSIBLE 2
|
||||
#define VARIOUS_GET_MOVE_TARGET 3
|
||||
#define VARIOUS_GET_BATTLER_FAINTED 4
|
||||
#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5
|
||||
#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6
|
||||
#define VARIOUS_RESET_PLAYER_FAINTED 7
|
||||
#define VARIOUS_GET_BATTLERS_FOR_RECALL 8
|
||||
#define VARIOUS_RETURN_OPPONENT_MON1 9
|
||||
#define VARIOUS_RETURN_OPPONENT_MON2 10
|
||||
#define VARIOUS_CHECK_POKEFLUTE 11
|
||||
#define VARIOUS_WAIT_FANFARE 12
|
||||
#define VARIOUS_PLAY_MOVE_ANIMATION 36
|
||||
// pokeemerald
|
||||
// Cmd_various
|
||||
#define VARIOUS_CANCEL_MULTI_TURN_MOVES 0
|
||||
#define VARIOUS_SET_MAGIC_COAT_TARGET 1
|
||||
#define VARIOUS_IS_RUNNING_IMPOSSIBLE 2
|
||||
#define VARIOUS_GET_MOVE_TARGET 3
|
||||
#define VARIOUS_GET_BATTLER_FAINTED 4
|
||||
#define VARIOUS_RESET_SWITCH_IN_ABILITY_BITS 5
|
||||
#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6
|
||||
#define VARIOUS_RESET_PLAYER_FAINTED 7
|
||||
#define VARIOUS_PALACE_FLAVOR_TEXT 8 // unused from pokeemerald
|
||||
#define VARIOUS_ARENA_JUDGMENT_WINDOW 9 // unused, from pokeemerald
|
||||
#define VARIOUS_ARENA_OPPONENT_MON_LOST 10 // unused, from pokeemerald
|
||||
#define VARIOUS_ARENA_PLAYER_MON_LOST 11 // unused, from pokeemerald
|
||||
#define VARIOUS_ARENA_BOTH_MONS_LOST 12 // unused, from pokeemerald
|
||||
#define VARIOUS_EMIT_YESNOBOX 13 // unused, from pokeemerald
|
||||
#define VARIOUS_DRAW_ARENA_REF_TEXT_BOX 14 // unused, from pokeemerald
|
||||
#define VARIOUS_ERASE_ARENA_REF_TEXT_BOX 15 // unused, from pokeemerald
|
||||
#define VARIOUS_ARENA_JUDGMENT_STRING 16 // unused, from pokeemerald
|
||||
#define VARIOUS_ARENA_WAIT_STRING 17 // unused, from pokeemerald
|
||||
#define VARIOUS_WAIT_CRY 18
|
||||
#define VARIOUS_RETURN_OPPONENT_MON1 19
|
||||
#define VARIOUS_RETURN_OPPONENT_MON2 20
|
||||
#define VARIOUS_VOLUME_DOWN 21
|
||||
#define VARIOUS_VOLUME_UP 22
|
||||
#define VARIOUS_SET_ALREADY_STATUS_MOVE_ATTEMPT 23
|
||||
#define VARIOUS_PALACE_TRY_ESCAPE_STATUS 24 // unused from pokeemerald
|
||||
#define VARIOUS_SET_TELEPORT_OUTCOME 25
|
||||
#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26
|
||||
#define VARIOUS_STAT_TEXT_BUFFER 27
|
||||
#define VARIOUS_SWITCHIN_ABILITIES 28
|
||||
#define VARIOUS_SAVE_TARGET 29
|
||||
#define VARIOUS_RESTORE_TARGET 30
|
||||
#define VARIOUS_INSTANT_HP_DROP 31
|
||||
#define VARIOUS_CLEAR_STATUS 32
|
||||
#define VARIOUS_RESTORE_PP 33
|
||||
#define VARIOUS_TRY_ACTIVATE_MOXIE 34
|
||||
#define VARIOUS_TRY_ACTIVATE_FELL_STINGER 35
|
||||
#define VARIOUS_PLAY_MOVE_ANIMATION 36
|
||||
#define VARIOUS_SET_LUCKY_CHANT 37
|
||||
#define VARIOUS_SUCKER_PUNCH_CHECK 38
|
||||
#define VARIOUS_SET_SIMPLE_BEAM 39
|
||||
#define VARIOUS_TRY_ENTRAINMENT 40
|
||||
#define VARIOUS_SET_LAST_USED_ABILITY 41
|
||||
#define VARIOUS_INVERT_STAT_STAGES 42
|
||||
#define VARIOUS_TRY_ME_FIRST 43
|
||||
#define VARIOUS_JUMP_IF_BATTLE_END 44
|
||||
#define VARIOUS_TRY_ELECTRIFY 45
|
||||
#define VARIOUS_TRY_REFLECT_TYPE 46
|
||||
#define VARIOUS_TRY_SOAK 47
|
||||
#define VARIOUS_HANDLE_MEGA_EVO 48
|
||||
#define VARIOUS_TRY_LAST_RESORT 49
|
||||
#define VARIOUS_SET_ARG_TO_BATTLE_DAMAGE 50
|
||||
#define VARIOUS_TRY_HIT_SWITCH_TARGET 51
|
||||
#define VARIOUS_TRY_AUTOTOMIZE 52
|
||||
#define VARIOUS_ABILITY_POPUP 53
|
||||
#define VARIOUS_JUMP_IF_TARGET_ALLY 54
|
||||
#define VARIOUS_TRY_SYNCHRONOISE 55
|
||||
#define VARIOUS_PSYCHO_SHIFT 56
|
||||
#define VARIOUS_CURE_STATUS 57
|
||||
#define VARIOUS_POWER_TRICK 58
|
||||
#define VARIOUS_AFTER_YOU 59
|
||||
#define VARIOUS_BESTOW 60
|
||||
#define VARIOUS_JUMP_IF_NOT_GROUNDED 61
|
||||
#define VARIOUS_HANDLE_TRAINER_SLIDE_MSG 62
|
||||
#define VARIOUS_TRY_TRAINER_SLIDE_MSG_FIRST_OFF 63
|
||||
#define VARIOUS_TRY_TRAINER_SLIDE_MSG_LAST_ON 64
|
||||
#define VARIOUS_SET_AURORA_VEIL 65
|
||||
#define VARIOUS_TRY_THIRD_TYPE 66
|
||||
#define VARIOUS_ACUPRESSURE 67
|
||||
#define VARIOUS_SET_POWDER 68
|
||||
#define VARIOUS_SPECTRAL_THIEF 69
|
||||
#define VARIOUS_GRAVITY_ON_AIRBORNE_MONS 70
|
||||
#define VARIOUS_CHECK_IF_GRASSY_TERRAIN_HEALS 71
|
||||
#define VARIOUS_JUMP_IF_ROAR_FAILS 72
|
||||
#define VARIOUS_TRY_INSTRUCT 73
|
||||
#define VARIOUS_JUMP_IF_NOT_BERRY 74
|
||||
#define VARIOUS_TRACE_ABILITY 75
|
||||
#define VARIOUS_UPDATE_NICK 76
|
||||
#define VARIOUS_TRY_ILLUSION_OFF 77
|
||||
#define VARIOUS_SET_SPRITEIGNORE0HP 78
|
||||
#define VARIOUS_HANDLE_FORM_CHANGE 79
|
||||
#define VARIOUS_GET_STAT_VALUE 80
|
||||
#define VARIOUS_JUMP_IF_FULL_HP 81
|
||||
#define VARIOUS_LOSE_TYPE 82
|
||||
#define VARIOUS_TRY_ACTIVATE_SOULHEART 83
|
||||
#define VARIOUS_TRY_ACTIVATE_RECEIVER 84
|
||||
#define VARIOUS_TRY_ACTIVATE_BEAST_BOOST 85
|
||||
#define VARIOUS_TRY_FRISK 86
|
||||
#define VARIOUS_JUMP_IF_SHIELDS_DOWN_PROTECTED 87
|
||||
#define VARIOUS_TRY_FAIRY_LOCK 88
|
||||
#define VARIOUS_JUMP_IF_NO_ALLY 89
|
||||
#define VARIOUS_POISON_TYPE_IMMUNITY 90
|
||||
#define VARIOUS_JUMP_IF_HOLD_EFFECT 91
|
||||
#define VARIOUS_INFATUATE_WITH_BATTLER 92
|
||||
#define VARIOUS_SET_LAST_USED_ITEM 93
|
||||
#define VARIOUS_PARALYZE_TYPE_IMMUNITY 94
|
||||
#define VARIOUS_JUMP_IF_ABSENT 95
|
||||
#define VARIOUS_DESTROY_ABILITY_POPUP 96
|
||||
#define VARIOUS_TOTEM_BOOST 97
|
||||
#define VARIOUS_TRY_ACTIVATE_GRIM_NEIGH 98
|
||||
#define VARIOUS_MOVEEND_ITEM_EFFECTS 99
|
||||
#define VARIOUS_TERRAIN_SEED 100
|
||||
#define VARIOUS_MAKE_INVISIBLE 101
|
||||
#define VARIOUS_ROOM_SERVICE 102
|
||||
#define VARIOUS_EERIE_SPELL_PP_REDUCE 103
|
||||
#define VARIOUS_JUMP_IF_TEAM_HEALTHY 104
|
||||
#define VARIOUS_TRY_HEAL_QUARTER_HP 105
|
||||
#define VARIOUS_REMOVE_TERRAIN 106
|
||||
#define VARIOUS_JUMP_IF_PRANKSTER_BLOCKED 107
|
||||
#define VARIOUS_TRY_TO_CLEAR_PRIMAL_WEATHER 108
|
||||
#define VARIOUS_GET_ROTOTILLER_TARGETS 109
|
||||
#define VARIOUS_JUMP_IF_NOT_ROTOTILLER_AFFECTED 110
|
||||
#define VARIOUS_TRY_ACTIVATE_BATTLE_BOND 111
|
||||
#define VARIOUS_CONSUME_BERRY 112
|
||||
#define VARIOUS_JUMP_IF_CANT_REVERT_TO_PRIMAL 113
|
||||
#define VARIOUS_JUMP_IF_SPECIES 114
|
||||
#define VARIOUS_UPDATE_ABILITY_POPUP 115
|
||||
#define VARIOUS_JUMP_IF_WEATHER_AFFECTED 116
|
||||
#define VARIOUS_JUMP_IF_LEAF_GUARD_PROTECTED 117
|
||||
#define VARIOUS_SET_ATTACKER_STICKY_WEB_USER 118
|
||||
#define VARIOUS_SHELL_SIDE_ARM_CHECK 119
|
||||
#define VARIOUS_TRY_NO_RETREAT 120
|
||||
#define VARIOUS_TRY_TAR_SHOT 121
|
||||
#define VARIOUS_CAN_TAR_SHOT_WORK 122
|
||||
#define VARIOUS_CHECK_POLTERGEIST 123
|
||||
#define VARIOUS_CUT_1_3_HP_RAISE_STATS 124
|
||||
#define VARIOUS_TRY_END_NEUTRALIZING_GAS 125
|
||||
#define VARIOUS_JUMP_IF_UNDER_200 126
|
||||
#define VARIOUS_SET_SKY_DROP 127
|
||||
#define VARIOUS_CLEAR_SKY_DROP 128
|
||||
#define VARIOUS_SKY_DROP_YAWN 129
|
||||
#define VARIOUS_CURE_CERTAIN_STATUSES 130
|
||||
#define VARIOUS_TRY_RESET_NEGATIVE_STAT_STAGES 131
|
||||
#define VARIOUS_JUMP_IF_LAST_USED_ITEM_BERRY 132
|
||||
#define VARIOUS_JUMP_IF_LAST_USED_ITEM_HOLD_EFFECT 133
|
||||
#define VARIOUS_SAVE_BATTLER_ITEM 134
|
||||
#define VARIOUS_RESTORE_BATTLER_ITEM 135
|
||||
#define VARIOUS_BATTLER_ITEM_TO_LAST_USED_ITEM 136
|
||||
#define VARIOUS_SET_BEAK_BLAST 137
|
||||
#define VARIOUS_SWAP_SIDE_STATUSES 138
|
||||
#define VARIOUS_SWAP_STATS 139
|
||||
#define VARIOUS_TEATIME_INVUL 140
|
||||
#define VARIOUS_TEATIME_TARGETS 141
|
||||
#define VARIOUS_TRY_WIND_RIDER_POWER 142
|
||||
#define VARIOUS_ACTIVATE_WEATHER_CHANGE_ABILITIES 143
|
||||
#define VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES 144
|
||||
#define VARIOUS_STORE_HEALING_WISH 145
|
||||
#define VARIOUS_HIT_SWITCH_TARGET_FAILED 146
|
||||
#define VARIOUS_TRY_REVIVAL_BLESSING 147
|
||||
// pokefirered
|
||||
#define VARIOUS_GET_BATTLERS_FOR_RECALL 148 // for battle tower
|
||||
#define VARIOUS_CHECK_POKEFLUTE 149 // pokeflute
|
||||
#define VARIOUS_WAIT_FANFARE 151 // pokeflute and other
|
||||
|
||||
// Cmd_manipulatedmg
|
||||
// Cmd_manipulatedamage
|
||||
#define DMG_CHANGE_SIGN 0
|
||||
#define DMG_RECOIL_FROM_MISS 1
|
||||
#define DMG_DOUBLED 2
|
||||
#define DMG_1_8_TARGET_HP 3
|
||||
#define DMG_FULL_ATTACKER_HP 4
|
||||
#define DMG_CURR_ATTACKER_HP 5
|
||||
#define DMG_BIG_ROOT 6
|
||||
#define DMG_1_2_ATTACKER_HP 7
|
||||
#define DMG_RECOIL_FROM_IMMUNE 8 // Used to calculate recoil for the Gen 4 version of Jump Kick
|
||||
|
||||
// Cmd_jumpifcantswitch
|
||||
#define SWITCH_IGNORE_ESCAPE_PREVENTION (1 << 7)
|
||||
|
||||
// Cmd_statbuffchange
|
||||
#define STAT_CHANGE_ALLOW_PTR (1 << 0) // If set, allow use of jumpptr. Set in every use of statbuffchange
|
||||
#define STAT_CHANGE_MIRROR_ARMOR (1 << 1) // Stat change redirection caused by Mirror Armor ability.
|
||||
#define STAT_CHANGE_NOT_PROTECT_AFFECTED (1 << 5)
|
||||
#define STAT_CHANGE_UPDATE_MOVE_EFFECT (1 << 6)
|
||||
|
||||
// stat change flags for Cmd_playstatchangeanimation
|
||||
#define STAT_CHANGE_NEGATIVE (1 << 0)
|
||||
|
|
@ -122,23 +286,55 @@
|
|||
#define PARTY_SCREEN_OPTIONAL (1 << 7) // Flag for first argument to openpartyscreen
|
||||
|
||||
// cases for Cmd_moveend
|
||||
#define MOVEEND_RAGE 0
|
||||
#define MOVEEND_DEFROST 1
|
||||
#define MOVEEND_SYNCHRONIZE_TARGET 2
|
||||
#define MOVEEND_ON_DAMAGE_ABILITIES 3
|
||||
#define MOVEEND_IMMUNITY_ABILITIES 4
|
||||
#define MOVEEND_SYNCHRONIZE_ATTACKER 5
|
||||
#define MOVEEND_CHOICE_MOVE 6
|
||||
#define MOVEEND_CHANGED_ITEMS 7
|
||||
#define MOVEEND_ATTACKER_INVISIBLE 8
|
||||
#define MOVEEND_ATTACKER_VISIBLE 9
|
||||
#define MOVEEND_TARGET_VISIBLE 10
|
||||
#define MOVEEND_ITEM_EFFECTS_ALL 11
|
||||
#define MOVEEND_KINGSROCK_SHELLBELL 12
|
||||
#define MOVEEND_SUBSTITUTE 13
|
||||
#define MOVEEND_UPDATE_LAST_MOVES 14
|
||||
#define MOVEEND_MIRROR_MOVE 15
|
||||
#define MOVEEND_NEXT_TARGET 16
|
||||
#define MOVEEND_COUNT 17
|
||||
#define MOVEEND_SUM_DAMAGE 0
|
||||
#define MOVEEND_PROTECT_LIKE_EFFECT 1
|
||||
#define MOVEEND_RAGE 2
|
||||
#define MOVEEND_SYNCHRONIZE_TARGET 3
|
||||
#define MOVEEND_ABILITIES 4
|
||||
#define MOVEEND_ABILITIES_ATTACKER 5
|
||||
#define MOVEEND_STATUS_IMMUNITY_ABILITIES 6
|
||||
#define MOVEEND_SYNCHRONIZE_ATTACKER 7
|
||||
#define MOVEEND_CHOICE_MOVE 8
|
||||
#define MOVEEND_ATTACKER_INVISIBLE 9
|
||||
#define MOVEEND_ATTACKER_VISIBLE 10
|
||||
#define MOVEEND_TARGET_VISIBLE 11
|
||||
#define MOVEEND_ITEM_EFFECTS_TARGET 12
|
||||
#define MOVEEND_MOVE_EFFECTS2 13
|
||||
#define MOVEEND_ITEM_EFFECTS_ALL 14
|
||||
#define MOVEEND_KINGSROCK 15 // These item effects will occur each strike of a multi-hit move
|
||||
#define MOVEEND_NUM_HITS 16
|
||||
#define MOVEEND_SUBSTITUTE 17
|
||||
#define MOVEEND_SKY_DROP_CONFUSE 18
|
||||
#define MOVEEND_UPDATE_LAST_MOVES 19
|
||||
#define MOVEEND_MIRROR_MOVE 20
|
||||
#define MOVEEND_NEXT_TARGET 21 // Everything up until here is handled for each strike of a multi-hit move
|
||||
#define MOVEEND_MULTIHIT_MOVE 22
|
||||
#define MOVEEND_DEFROST 23
|
||||
#define MOVEEND_RECOIL 24
|
||||
#define MOVEEND_MAGICIAN 25 // Occurs after final multi-hit strike, and after other items/abilities would activate
|
||||
#define MOVEEND_EJECT_ITEMS 26
|
||||
#define MOVEEND_WHITE_HERB 27
|
||||
#define MOVEEND_RED_CARD 28
|
||||
#define MOVEEND_LIFEORB_SHELLBELL 29 // Includes shell bell, throat spray, etc
|
||||
#define MOVEEND_CHANGED_ITEMS 30
|
||||
#define MOVEEND_PICKPOCKET 31
|
||||
#define MOVEEND_DANCER 32
|
||||
#define MOVEEND_EMERGENCY_EXIT 33
|
||||
#define MOVEEND_SYMBIOSIS 34
|
||||
#define MOVEEND_OPPORTUNIST 35 // Occurs after other stat change items/abilities to try and copy the boosts
|
||||
#define MOVEEND_SAME_MOVE_TURNS 36
|
||||
#define MOVEEND_SET_EVOLUTION_TRACKER 37
|
||||
#define MOVEEND_CLEAR_BITS 38
|
||||
#define MOVEEND_COUNT 39
|
||||
|
||||
// switch cases
|
||||
#define B_SWITCH_NORMAL 0
|
||||
#define B_SWITCH_HIT 1 // dragon tail, circle throw
|
||||
#define B_SWITCH_RED_CARD 2
|
||||
|
||||
// Argument labels for EFFECT_HIT_SET_REMOVE_TERRAIN
|
||||
#define ARG_SET_PSYCHIC_TERRAIN 0
|
||||
#define ARG_TRY_REMOVE_TERRAIN_HIT 1
|
||||
#define ARG_TRY_REMOVE_TERRAIN_FAIL 2
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H
|
||||
|
|
|
|||
|
|
@ -1,12 +1,13 @@
|
|||
#ifndef GUARD_BATTLE_STRING_IDS_H
|
||||
#define GUARD_BATTLE_STRING_IDS_H
|
||||
|
||||
#define STRINGID_INTROMSG 0
|
||||
#define STRINGID_INTROMSG 0
|
||||
#define STRINGID_INTROSENDOUT 1
|
||||
#define STRINGID_RETURNMON 2
|
||||
#define STRINGID_RETURNMON 2
|
||||
#define STRINGID_SWITCHINMON 3
|
||||
#define STRINGID_USEDMOVE 4
|
||||
#define STRINGID_BATTLEEND 5
|
||||
#define STRINGID_USEDMOVE 4
|
||||
#define STRINGID_BATTLEEND 5
|
||||
#define STRINGID_TRAINERSLIDE 6
|
||||
|
||||
|
||||
// todo: make some of those names less vague: attacker/target vs pkmn, etc.
|
||||
|
|
@ -388,8 +389,191 @@
|
|||
#define STRINGID_ITEMRESTOREDSPECIESHEALTH 386
|
||||
#define STRINGID_ITEMRESTOREDSPECIESPP 387
|
||||
#define STRINGID_ITEMCUREDSPECIESSTATUS 388
|
||||
#define STRINGID_ELECTROSHOTCHARGING 389
|
||||
#define STRINGID_METEORBEAMCHARGING 390
|
||||
#define STRINGID_CLOAKEDINAHARSHLIGHT 391
|
||||
#define STRINGID_VANISHEDINSTANTLY 392
|
||||
#define STRINGID_PKMNTOOKTARGETHIGH 393
|
||||
#define STRINGID_CLOAKEDINAFREEZINGLIGHT 394
|
||||
#define STRINGID_PKNMABSORBINGPOWER 395
|
||||
#define STRINGID_POKEMONCANNOTUSEMOVE 396
|
||||
#define STRINGID_PKMNMOVEBOUNCEDABILITY 397
|
||||
#define STRINGID_HEALBLOCKPREVENTSUSAGE 398
|
||||
#define STRINGID_GRAVITYPREVENTSUSAGE 399
|
||||
#define STRINGID_PKMNFROSTBITEHEALED2 400
|
||||
#define STRINGID_PKMNFROSTBITEHEALEDBY 401
|
||||
#define STRINGID_SAFETYGOGGLESPROTECTED 402
|
||||
#define STRINGID_POWDEREXPLODES 403
|
||||
#define STRINGID_PKMNCANTUSEMOVETHROATCHOP 404
|
||||
#define STRINGID_MOVEFIZZLEDOUTINTHEHEAVYRAIN 405
|
||||
#define STRINGID_MOVEEVAPORATEDINTHEHARSHSUNLIGHT 406
|
||||
#define STRINGID_TARGETATEITEM 407
|
||||
#define STRINGID_GEMACTIVATES 408
|
||||
#define STRINGID_ATTACKWEAKENEDBSTRONGWINDS 409
|
||||
#define STRINGID_ENDUREDSTURDY 410
|
||||
#define STRINGID_BERRYDMGREDUCES 411
|
||||
#define STRINGID_TARGETTOUGHEDITOUT 412
|
||||
#define STRINGID_TRAPPEDBYSWIRLINGMAGMA 413
|
||||
#define STRINGID_INFESTATION 414
|
||||
#define STRINGID_PKMNINSNAPTRAP 415
|
||||
#define STRINGID_THUNDERCAGETRAPPED 416
|
||||
#define STRINGID_RESETSTARGETSSTATLEVELS 417
|
||||
#define STRINGID_EXTREMESUNLIGHTFADED 418
|
||||
#define STRINGID_HEAVYRAINLIFTED 419
|
||||
#define STRINGID_STRONGWINDSDISSIPATED 420
|
||||
#define STRINGID_SYMBIOSISITEMPASS 421
|
||||
#define STRINGID_BURSTINGFLAMESHIT 422
|
||||
#define STRINGID_BROKETHROUGHPROTECTION 423
|
||||
#define STRINGID_FELLFORFEINT 424
|
||||
#define STRINGID_SPECTRALTHIEFSTEAL 425
|
||||
#define STRINGID_PKMNSABILITYSUPPRESSED 426
|
||||
#define STRINGID_INCINERATEBURN 427
|
||||
#define STRINGID_BUGBITE 428
|
||||
#define STRINGID_BOTHCANNOLONGERESCAPE 429
|
||||
#define STRINGID_ATTACKERLOSTFIRETYPE 430
|
||||
#define STRINGID_ATTACKERLOSTELECTRICTYPE 431
|
||||
#define STRINGID_ATTACKERLOSTITSTYPE 432
|
||||
#define STRINGID_STEALTHROCKDMG 433
|
||||
#define STRINGID_SHARPSTEELDMG 434
|
||||
#define STRINGID_POINTEDSTONESFLOAT 435
|
||||
#define STRINGID_SHARPSTEELFLOATS 436
|
||||
#define STRINGID_TARGETCOVEREDINSTICKYCANDYSYRUP 437
|
||||
#define STRINGID_AROMAVEILPROTECTED 438
|
||||
#define STRINGID_PKMNPREVENTEDFROMHEALING 439
|
||||
#define STRINGID_TERRAINBECOMESMISTY 440
|
||||
#define STRINGID_TERRAINBECOMESGRASSY 441
|
||||
#define STRINGID_TERRAINBECOMESELECTRIC 442
|
||||
#define STRINGID_TERRAINBECOMESPSYCHIC 443
|
||||
#define STRINGID_DIMENSIONSWERETWISTED 444
|
||||
#define STRINGID_BIZARREARENACREATED 445
|
||||
#define STRINGID_BIZARREAREACREATED 446
|
||||
#define STRINGID_TAILWINDBLEW 447
|
||||
#define STRINGID_ELECTRICTERRAINENDS 448
|
||||
#define STRINGID_MISTYTERRAINENDS 449
|
||||
#define STRINGID_PSYCHICTERRAINENDS 450
|
||||
#define STRINGID_GRASSYTERRAINENDS 451
|
||||
#define STRINGID_MOLDBREAKERENTERS 452
|
||||
#define STRINGID_TERAVOLTENTERS 453
|
||||
#define STRINGID_TURBOBLAZEENTERS 454
|
||||
#define STRINGID_SLOWSTARTENTERS 455
|
||||
#define STRINGID_UNNERVEENTERS 456
|
||||
#define STRINGID_ANTICIPATIONACTIVATES 457
|
||||
#define STRINGID_FOREWARNACTIVATES 458
|
||||
#define STRINGID_PRESSUREENTERS 459
|
||||
#define STRINGID_DARKAURAENTERS 460
|
||||
#define STRINGID_FAIRYAURAENTERS 461
|
||||
#define STRINGID_AURABREAKENTERS 462
|
||||
#define STRINGID_COMATOSEENTERS 463
|
||||
#define STRINGID_SCREENCLEANERENTERS 464
|
||||
#define STRINGID_ASONEENTERS 465
|
||||
#define STRINGID_CURIOUSMEDICINEENTERS 466
|
||||
#define STRINGID_PASTELVEILENTERS 467
|
||||
#define STRINGID_NEUTRALIZINGGASENTERS 468
|
||||
#define STRINGID_BEINGHITCHARGEDPKMNWITHPOWER 469
|
||||
#define STRINGID_IMPOSTERTRANSFORM 470
|
||||
#define STRINGID_SNOWWARNINGHAIL 471
|
||||
#define STRINGID_SNOWWARNINGSNOW 472
|
||||
#define STRINGID_SUPERSWEETAROMAWAFTS 473
|
||||
#define STRINGID_AIRLOCKACTIVATES 474
|
||||
#define STRINGID_BATTLERABILITYRAISEDSTAT 475
|
||||
#define STRINGID_EXTREMELYHARSHSUNLIGHT 476
|
||||
#define STRINGID_HEAVYRAIN 477
|
||||
#define STRINGID_MYSTERIOUSAIRCURRENT 478
|
||||
#define STRINGID_ABILITYWEAKENEDFSURROUNDINGMONSSTAT 479
|
||||
#define STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN 480
|
||||
#define STRINGID_ZEROTOHEROTRANSFORMATION 481
|
||||
#define STRINGID_HOSPITALITYRESTORATION 482
|
||||
#define STRINGID_HARVESTBERRY 483
|
||||
#define STRINGID_BADDREAMSDMG 484
|
||||
#define STRINGID_SOLARPOWERHPDROP 485
|
||||
#define STRINGID_HEALERCURE 486
|
||||
#define STRINGID_FETCHEDPOKEBALL 487
|
||||
#define STRINGID_TARGETABILITYSTATLOWER 488
|
||||
#define STRINGID_TARGETSTATWONTGOHIGHER 489
|
||||
#define STRINGID_TARGETABILITYSTATRAISE 490
|
||||
#define STRINGID_CUSEDBODYDISABLED 491
|
||||
#define STRINGID_ATTACKERACQUIREDABILITY 492
|
||||
#define STRINGID_SWAPPEDABILITIES 493
|
||||
#define STRINGID_TARGETSSTATWASMAXEDOUT 494
|
||||
#define STRINGID_PKMNSABILITYPREVENTSABILITY 495
|
||||
#define STRINGID_AFTERMATHDMG 496
|
||||
#define STRINGID_ILLUSIONWOREOFF 497
|
||||
#define STRINGID_ASANDSTORMKICKEDUP 498
|
||||
#define STRINGID_PKMNSWILLPERISHIN3TURNS 499
|
||||
#define STRINGID_POISONSPIKESSCATTERED 500
|
||||
#define STRINGID_OPPORTUNISTCOPIED 501
|
||||
#define STRINGID_PKMNGOTOVERITSINFATUATION 502
|
||||
#define STRINGID_PKMNSHOOKOFFTHETAUNT 503
|
||||
#define STRINGID_SUNLIGHTACTIVATEDABILITY 504
|
||||
#define STRINGID_STATWASHEIGHTENED 505
|
||||
#define STRINGID_BATTLERTYPECHANGEDTO 506
|
||||
#define STRINGID_ELECTRICTERRAINACTIVATEDABILITY 507
|
||||
#define STRINGID_FRISKACTIVATES 508
|
||||
#define STRINGID_ATTACKERABILITYSTATRAISE 509
|
||||
#define STRINGID_EXTREMELYHARSHSUNLIGHTWASNOTLESSENED 510
|
||||
#define STRINGID_NORELIEFROMHEAVYRAIN 511
|
||||
#define STRINGID_MYSTERIOUSAIRCURRENTBLOWSON 512
|
||||
#define STRINGID_AURAFLAREDTOLIFE 513
|
||||
#define STRINGID_ATKGOTOVERINFATUATION 514
|
||||
#define STRINGID_TORMENTEDNOMORE 515
|
||||
#define STRINGID_BUFFERENDS 516
|
||||
#define STRINGID_HEALBLOCKEDNOMORE 517
|
||||
#define STRINGID_MICLEBERRYACTIVATES 518
|
||||
#define STRINGID_MIRRORHERBCOPIED 519
|
||||
#define STRINGID_PKMNSITEMHEALEDFROSTBITE 520
|
||||
#define STRINGID_AIRBALLOONFLOAT 521
|
||||
#define STRINGID_EJECTBUTTONACTIVATE 522
|
||||
#define STRINGID_HURTBYITEM 523
|
||||
#define STRINGID_AIRBALLOONPOP 524
|
||||
#define STRINGID_STICKYBARBTRANSFER 525
|
||||
#define STRINGID_TEAMGAINEDEXP 526
|
||||
#define STRINGID_PKMNFROSTBITEHEALED 527
|
||||
#define STRINGID_STOCKPILEDEFFECTWOREOFF 528
|
||||
#define STRINGID_FELLSTRAIGHTDOWN 529
|
||||
#define STRINGID_TARGETWOKEUP 530
|
||||
#define STRINGID_PKMNBURNHEALED 531
|
||||
#define STRINGID_REDCARDACTIVATE 532
|
||||
#define STRINGID_MOVEBLOCKEDBYDYNAMAX 533
|
||||
#define STRINGID_ITEMCANNOTBEREMOVED 534
|
||||
#define STRINGID_ZMOVERESETSSTATS 535
|
||||
#define STRINGID_ZMOVEZBOOSTCRIT 536
|
||||
#define STRINGID_ZMOVERESTOREHP 537
|
||||
#define STRINGID_ZMOVESTATUP 538
|
||||
#define STRINGID_ZMOVEHPTRAP 539
|
||||
#define STRINGID_ZMOVEALLSTATSUP 540
|
||||
#define STRINGID_PKMNREVERTEDTOPRIMAL 541
|
||||
#define STRINGID_HEALINGWISHHEALED 542
|
||||
#define STRINGID_TOXICSPIKESABSORBED 543
|
||||
#define STRINGID_TOXICSPIKESPOISONED 544
|
||||
#define STRINGID_STICKYWEBSWITCHIN 545
|
||||
#define STRINGID_HEALINGWISHCAMETRUE 546
|
||||
#define STRINGID_LUNARDANCECAMETRUE 547
|
||||
#define STRINGID_SPIKESDISAPPEAREDFROMTEAM 548
|
||||
#define STRINGID_TOXICSPIKESDISAPPEAREDFROMTEAM 549
|
||||
#define STRINGID_STICKYWEBDISAPPEAREDFROMTEAM 550
|
||||
#define STRINGID_STEALTHROCKDISAPPEAREDFROMTEAM 551
|
||||
#define STRINGID_SHARPSTEELDISAPPEAREDFROMTEAM 552
|
||||
#define STRINGID_LASTABILITYRAISEDSTAT 553
|
||||
#define STRINGID_RECEIVERABILITYTAKEOVER 554
|
||||
#define STRINGID_NEUTRALIZINGGASOVER 555
|
||||
#define STRINGID_ATTACKERBECAMEFULLYCHARGED 556
|
||||
#define STRINGID_ATTACKERBECAMEASHSPECIES 557
|
||||
#define STRINGID_PROTECTEDTEAM 558
|
||||
#define STRINGID_ELECTRICTERRAINPREVENTS 559
|
||||
#define STRINGID_MISTYTERRAINPREVENTS 560
|
||||
#define STRINGID_PSYCHICTERRAINPREVENTS 561
|
||||
#define STRINGID_FLOWERVEILPROTECTED 562
|
||||
#define STRINGID_DRASTICALLY 563
|
||||
#define STRINGID_SEVERELY 564
|
||||
#define STRINGID_CLEARAMULETWONTLOWERSTATS 565
|
||||
#define STRINGID_CELEBRATEMESSAGE 566
|
||||
#define STRINGID_PKMNBLEWAWAYTOXICSPIKES 567
|
||||
#define STRINGID_PKMNBLEWAWAYSTICKYWEB 568
|
||||
#define STRINGID_PKMNBLEWAWAYSTEALTHROCK 569
|
||||
#define STRINGID_PKMNBLEWAWAYSHARPSTEEL 570
|
||||
#define STRINGID_PKMNGOTFROSTBITE 571
|
||||
|
||||
#define BATTLESTRINGS_COUNT 389
|
||||
#define BATTLESTRINGS_COUNT 572
|
||||
|
||||
// This is the string id that gBattleStringsTable starts with.
|
||||
// String ids before this (e.g. STRINGID_INTROMSG) are not in the table,
|
||||
|
|
@ -472,6 +656,7 @@
|
|||
#define B_MSG_PROTECTED_ITSELF 0
|
||||
#define B_MSG_BRACED_ITSELF 1
|
||||
#define B_MSG_PROTECT_FAILED 2
|
||||
#define B_MSG_PROTECTED_TEAM 3
|
||||
|
||||
// gRestUsedStringIds
|
||||
#define B_MSG_REST 0
|
||||
|
|
@ -544,6 +729,10 @@
|
|||
#define B_MSG_SOMEONES_BOX_FULL 2
|
||||
#define B_MSG_BILLS_BOX_FULL 3
|
||||
|
||||
// gPrimalWeatherBlocksStringIds
|
||||
#define B_MSG_PRIMAL_WEATHER_FIZZLED_BY_RAIN 0
|
||||
#define B_MSG_PRIMAL_WEATHER_EVAPORATED_IN_SUN 1
|
||||
|
||||
// gInobedientStringIds
|
||||
#define B_MSG_LOAFING 0
|
||||
#define B_MSG_WONT_OBEY 1
|
||||
|
|
@ -590,6 +779,93 @@
|
|||
#define B_MSG_DEFROSTED 0
|
||||
#define B_MSG_DEFROSTED_BY_MOVE 1
|
||||
|
||||
#define NUM_TRAPPING_MOVES 6
|
||||
// gFrostbiteHealedStringIds
|
||||
#define B_MSG_FROSTBITE_HEALED 0
|
||||
#define B_MSG_FROSTBITE_HEALED_BY_MOVE 1
|
||||
|
||||
// gSwitchInAbilityStringIds
|
||||
#define B_MSG_SWITCHIN_MOLDBREAKER 0
|
||||
#define B_MSG_SWITCHIN_TERAVOLT 1
|
||||
#define B_MSG_SWITCHIN_TURBOBLAZE 2
|
||||
#define B_MSG_SWITCHIN_SLOWSTART 3
|
||||
#define B_MSG_SWITCHIN_UNNERVE 4
|
||||
#define B_MSG_SWITCHIN_ANTICIPATION 5
|
||||
#define B_MSG_SWITCHIN_FOREWARN 6
|
||||
#define B_MSG_SWITCHIN_PRESSURE 7
|
||||
#define B_MSG_SWITCHIN_DARKAURA 8
|
||||
#define B_MSG_SWITCHIN_FAIRYAURA 9
|
||||
#define B_MSG_SWITCHIN_AURABREAK 10
|
||||
#define B_MSG_SWITCHIN_COMATOSE 11
|
||||
#define B_MSG_SWITCHIN_SCREENCLEANER 12
|
||||
#define B_MSG_SWITCHIN_ASONE 13
|
||||
#define B_MSG_SWITCHIN_CURIOUS_MEDICINE 14
|
||||
#define B_MSG_SWITCHIN_PASTEL_VEIL 15
|
||||
#define B_MSG_SWITCHIN_NEUTRALIZING_GAS 16
|
||||
|
||||
// gMentalHerbCureStringIds
|
||||
#define B_MSG_MENTALHERBCURE_INFATUATION 0
|
||||
#define B_MSG_MENTALHERBCURE_TAUNT 1
|
||||
#define B_MSG_MENTALHERBCURE_ENCORE 2
|
||||
#define B_MSG_MENTALHERBCURE_TORMENT 3
|
||||
#define B_MSG_MENTALHERBCURE_HEALBLOCK 4
|
||||
#define B_MSG_MENTALHERBCURE_DISABLE 5
|
||||
|
||||
// gTerrainPreventsStringIds
|
||||
#define B_MSG_TERRAINPREVENTS_MISTY 0
|
||||
#define B_MSG_TERRAINPREVENTS_ELECTRIC 1
|
||||
#define B_MSG_TERRAINPREVENTS_PSYCHIC 2
|
||||
|
||||
// gTerrainStringIds
|
||||
#define B_MSG_TERRAIN_SET_MISTY 0
|
||||
#define B_MSG_TERRAIN_SET_ELECTRIC 1
|
||||
#define B_MSG_TERRAIN_SET_PSYCHIC 2
|
||||
#define B_MSG_TERRAIN_SET_GRASSY 3
|
||||
#define B_MSG_TERRAIN_END_MISTY 4
|
||||
#define B_MSG_TERRAIN_END_ELECTRIC 5
|
||||
#define B_MSG_TERRAIN_END_PSYCHIC 6
|
||||
#define B_MSG_TERRAIN_END_GRASSY 7
|
||||
#define B_MSG_TERRAIN_COUNT 8
|
||||
|
||||
// gStartingStatusStringIds
|
||||
#define B_MSG_TERRAIN_SET_MISTY 0
|
||||
#define B_MSG_TERRAIN_SET_ELECTRIC 1
|
||||
#define B_MSG_TERRAIN_SET_PSYCHIC 2
|
||||
#define B_MSG_TERRAIN_SET_GRASSY 3
|
||||
#define B_MSG_SET_TRICK_ROOM 4
|
||||
#define B_MSG_SET_MAGIC_ROOM 5
|
||||
#define B_MSG_SET_WONDER_ROOM 6
|
||||
#define B_MSG_SET_TAILWIND_PLAYER 7
|
||||
#define B_MSG_SET_TAILWIND_OPPONENT 8
|
||||
#define B_MSG_STARTING_STATUS_COUNT 9
|
||||
|
||||
// gWrappedStringIds
|
||||
#define B_MSG_WRAPPED_BIND 0
|
||||
#define B_MSG_WRAPPED_WRAP 1
|
||||
#define B_MSG_WRAPPED_FIRE_SPIN 2
|
||||
#define B_MSG_WRAPPED_CLAMP 3
|
||||
#define B_MSG_WRAPPED_WHIRLPOOL 4
|
||||
#define B_MSG_WRAPPED_SAND_TOMB 5
|
||||
#define B_MSG_WRAPPED_MAGMA_STORM 6
|
||||
#define B_MSG_WRAPPED_INFESTATION 7
|
||||
#define B_MSG_WRAPPED_SNAP_TRAP 8
|
||||
#define B_MSG_WRAPPED_THUNDER_CAGE 9
|
||||
#define NUM_TRAPPING_MOVES 10
|
||||
|
||||
// z effects (gZEffectStringIds)
|
||||
#define B_MSG_Z_RESET_STATS 0
|
||||
#define B_MSG_Z_ALL_STATS_UP 1
|
||||
#define B_MSG_Z_BOOST_CRITS 2
|
||||
#define B_MSG_Z_FOLLOW_ME 3
|
||||
#define B_MSG_Z_RECOVER_HP 4
|
||||
#define B_MSG_Z_STAT_UP 5
|
||||
#define B_MSG_Z_HP_TRAP 6
|
||||
|
||||
// gDmgHazardsStringIds
|
||||
#define B_MSG_PKMNHURTBYSPIKES 0
|
||||
#define B_MSG_STEALTHROCKDMG 1
|
||||
#define B_MSG_SHARPSTEELDMG 2
|
||||
#define B_MSG_POINTEDSTONESFLOAT 3
|
||||
#define B_MSG_SPIKESSCATTERED 4
|
||||
#define B_MSG_SHARPSTEELFLOATS 5
|
||||
|
||||
#endif // GUARD_BATTLE_STRING_IDS_H
|
||||
|
|
|
|||
38
include/constants/battle_z_move_effects.h
Normal file
38
include/constants/battle_z_move_effects.h
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
#ifndef GUARD_Z_MOVE_EFFECTS_H
|
||||
#define GUARD_Z_MOVE_EFFECTS_H
|
||||
|
||||
#define Z_EFFECT_NONE 0
|
||||
#define Z_EFFECT_RESET_STATS 1
|
||||
#define Z_EFFECT_ALL_STATS_UP_1 2
|
||||
#define Z_EFFECT_BOOST_CRITS 3
|
||||
#define Z_EFFECT_FOLLOW_ME 4
|
||||
#define Z_EFFECT_CURSE 5
|
||||
#define Z_EFFECT_RECOVER_HP 6
|
||||
#define Z_EFFECT_RESTORE_REPLACEMENT_HP 7
|
||||
|
||||
#define Z_EFFECT_ATK_UP_1 8
|
||||
#define Z_EFFECT_DEF_UP_1 9
|
||||
#define Z_EFFECT_SPD_UP_1 10
|
||||
#define Z_EFFECT_SPATK_UP_1 11
|
||||
#define Z_EFFECT_SPDEF_UP_1 12
|
||||
#define Z_EFFECT_ACC_UP_1 13
|
||||
#define Z_EFFECT_EVSN_UP_1 14
|
||||
|
||||
#define Z_EFFECT_ATK_UP_2 15
|
||||
#define Z_EFFECT_DEF_UP_2 16
|
||||
#define Z_EFFECT_SPD_UP_2 17
|
||||
#define Z_EFFECT_SPATK_UP_2 18
|
||||
#define Z_EFFECT_SPDEF_UP_2 19
|
||||
#define Z_EFFECT_ACC_UP_2 20
|
||||
#define Z_EFFECT_EVSN_UP_2 21
|
||||
|
||||
#define Z_EFFECT_ATK_UP_3 22
|
||||
#define Z_EFFECT_DEF_UP_3 23
|
||||
#define Z_EFFECT_SPD_UP_3 24
|
||||
#define Z_EFFECT_SPATK_UP_3 25
|
||||
#define Z_EFFECT_SPDEF_UP_3 26
|
||||
#define Z_EFFECT_ACC_UP_3 27
|
||||
#define Z_EFFECT_EVSN_UP_3 28
|
||||
|
||||
|
||||
#endif // GUARD_Z_MOVE_EFFECTS_H
|
||||
123
include/constants/form_change_types.h
Normal file
123
include/constants/form_change_types.h
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
#ifndef GUARD_CONSTANTS_FORM_CHANGE_TYPES_H
|
||||
#define GUARD_CONSTANTS_FORM_CHANGE_TYPES_H
|
||||
|
||||
// FORM_CHANGE_BATTLE_HP_PERCENT param2 arguments
|
||||
#define HP_HIGHER_THAN 1
|
||||
#define HP_LOWER_EQ_THAN 2
|
||||
// FORM_CHANGE_MOVE param2 Arguments
|
||||
#define WHEN_LEARNED 0
|
||||
#define WHEN_FORGOTTEN 1
|
||||
// FORM_CHANGE_ITEM_USE param2 Arguments
|
||||
#define DAY 1
|
||||
#define NIGHT 2
|
||||
|
||||
#define FUSION_TERMINATOR 0xFF
|
||||
#define FORM_CHANGE_TERMINATOR 0
|
||||
|
||||
// Form change that activates when the specified item is given to or taken from the selected Pokémon.
|
||||
// param1: item to hold.
|
||||
// param2: ability to check for, optional.
|
||||
#define FORM_CHANGE_ITEM_HOLD 1
|
||||
|
||||
// Form change that activates when the item is used on the selected Pokémon.
|
||||
// param1: item to use
|
||||
// param2: time of day to check, optional.
|
||||
// - DAY if Form change that activates in the daytime.
|
||||
// - NIGHT if Form change that activates at nighttime.
|
||||
#define FORM_CHANGE_ITEM_USE 2
|
||||
|
||||
// TODO: Form change that activates when the Pokémon learns or forgets the move.
|
||||
// param1: move to check for
|
||||
// param2:
|
||||
// - WHEN_LEARNED if Form change that activates when move is forgotten
|
||||
// - WHEN_FORGOTTEN if Form change that activates when move is learned
|
||||
#define FORM_CHANGE_MOVE 3
|
||||
|
||||
// Form change that activates when the Pokémon is withdrawn from the PC or Daycare.
|
||||
// Daycare withdraw done, PC withdraw TODO.
|
||||
// - No parameters.
|
||||
#define FORM_CHANGE_WITHDRAW 4
|
||||
|
||||
// Form change that activates when the Pokémon faints, either in battle or in the overworld by poison.
|
||||
// If species is not specified and it's on the player's side, it will try to use the value
|
||||
// saved in gBattleStruct->changedSpecies from a previous form change.
|
||||
// - No parameters.
|
||||
#define FORM_CHANGE_FAINT 5
|
||||
|
||||
// Form change that activates when the Pokémon is sent out at the beginning of a battle
|
||||
// param1: item to hold, optional
|
||||
// param2: a move that will be replaced, optional
|
||||
// param3: a new move to replace it with, optional
|
||||
#define FORM_CHANGE_BEGIN_BATTLE 6
|
||||
|
||||
// Form change that activates at the end of a battle. If species is not specified and it's on the player's side, it will try to use the value saved in gBattleStruct->changedSpecies from a previous form change.
|
||||
// param1: item to hold, optional
|
||||
// param2: a move that will be replaced, optional
|
||||
// param3: a new move to replace it with, optional
|
||||
#define FORM_CHANGE_END_BATTLE 7
|
||||
|
||||
// Form change that activates at the end of a battle based on the terrain if it participated in the battle and hasn't fainted. Takes priority over FORM_CHANGE_END_BATTLE.
|
||||
// param1: battle terrain to check.
|
||||
#define FORM_CHANGE_END_BATTLE_TERRAIN 8
|
||||
|
||||
// Form change that activates when the Pokémon is switched out in battle.
|
||||
// - No parameters.
|
||||
#define FORM_CHANGE_BATTLE_SWITCH 9
|
||||
|
||||
// Form change that activates when the Pokémon's HP % passes a certain threshold.
|
||||
// param1: Ability to check.
|
||||
// param2: HP comparer
|
||||
// - HP_HIGHER_THAN if the form triggers when the current HP is higher than the specified threshold.
|
||||
// - HP_LOWER_EQ_THAN if the form triggers when the current HP is lower or equal than the specified threshold.
|
||||
// param3: HP percentage threshold.
|
||||
#define FORM_CHANGE_BATTLE_HP_PERCENT 10
|
||||
|
||||
// Form change that activates when the mon has the defined item.
|
||||
// If it's on the player's side, it also requires ITEM_MEGA_RING in the user's bag and for the player to trigger it by pressing START before selecting a move.
|
||||
// param1: item to hold.
|
||||
#define FORM_CHANGE_BATTLE_MEGA_EVOLUTION_ITEM 11
|
||||
|
||||
// Form change that activates when the mon has the defined move.
|
||||
// If it's on the player's side, it also requires ITEM_MEGA_RING in the user's bag and for the player to trigger it by pressing START before selecting a move.
|
||||
// param1: move to have.
|
||||
#define FORM_CHANGE_BATTLE_MEGA_EVOLUTION_MOVE 12
|
||||
|
||||
// Form change that activates automatically when entering battle with the specified item.
|
||||
// If the item is a Red Orb, it uses the Omega Symbol for the animation and icon. Otherwise, it defaults to the Alpha symbol.
|
||||
// The battle indicator icon is based on the species, with Primal Groudon's as Omega and otherwise being Alpha.
|
||||
// param1: item to hold.
|
||||
#define FORM_CHANGE_BATTLE_PRIMAL_REVERSION 13
|
||||
|
||||
// Form change that activates when a specific weather is set during battle.
|
||||
// param1: weather to check
|
||||
// param2: (optional) revert if specified ability is lost
|
||||
#define FORM_CHANGE_BATTLE_WEATHER 14
|
||||
|
||||
// Form change that activates automatically when the turn ends.
|
||||
// param1: ability to check.
|
||||
#define FORM_CHANGE_BATTLE_TURN_END 15
|
||||
|
||||
// Form change that activates when the mon has the defined item.
|
||||
// If it's on the player's side, it also requires for the player to trigger it by pressing START before selecting a move.
|
||||
// param1: item to hold.
|
||||
#define FORM_CHANGE_BATTLE_ULTRA_BURST 16
|
||||
|
||||
// Form change that activates when the mon Dynamaxes (TODO: with Gigantamax factor).
|
||||
// - No parameters
|
||||
#define FORM_CHANGE_BATTLE_GIGANTAMAX 17
|
||||
|
||||
// Form change that activates at a certain time of day in the overworld automatically.
|
||||
// param1: time of day to check.
|
||||
// - DAY if Form change that activates in the daytime.
|
||||
// - NIGHT if Form change that activates at nighttime.
|
||||
#define FORM_CHANGE_TIME_OF_DAY 18
|
||||
|
||||
// Form change that depends on a multichoice (e.g. Rotom Catalog).
|
||||
// param1: multichoice list (starting at 0).
|
||||
#define FORM_CHANGE_ITEM_USE_MULTICHOICE 19
|
||||
|
||||
// Form change that activates when inflicted with a specific status
|
||||
// param1: status
|
||||
#define FORM_CHANGE_STATUS 20
|
||||
|
||||
#endif // GUARD_CONSTANTS_FORM_CHANGE_TYPES_H
|
||||
|
|
@ -21,6 +21,8 @@
|
|||
#define VERSION_PLATINUM 12
|
||||
#define VERSION_GAMECUBE 15
|
||||
|
||||
#define NUM_VERSIONS 15
|
||||
|
||||
#define LANGUAGE_JAPANESE 1
|
||||
#define LANGUAGE_ENGLISH 2
|
||||
#define LANGUAGE_FRENCH 3
|
||||
|
|
@ -34,6 +36,10 @@
|
|||
#define GAME_LANGUAGE (LANGUAGE_ENGLISH)
|
||||
#endif
|
||||
|
||||
// party sizes
|
||||
#define PARTY_SIZE 6
|
||||
#define MULTI_PARTY_SIZE (PARTY_SIZE / 2)
|
||||
|
||||
// capacities of various saveblock objects
|
||||
#define DAYCARE_MON_COUNT 2
|
||||
#define PC_ITEMS_COUNT 30
|
||||
|
|
@ -74,13 +80,14 @@
|
|||
#define WONDER_NEWS_TEXT_LENGTH 40
|
||||
#define WONDER_CARD_BODY_TEXT_LINES 4
|
||||
#define WONDER_NEWS_BODY_TEXT_LINES 10
|
||||
#define TYPE_NAME_LENGTH 6
|
||||
#define ABILITY_NAME_LENGTH ((B_EXPANDED_ABILITY_NAMES == TRUE) ? 16 : 12)
|
||||
|
||||
#define MAX_STAMP_CARD_STAMPS 7
|
||||
|
||||
#define TRAINER_ID_LENGTH 4
|
||||
#define MAX_MON_MOVES 4
|
||||
#define PARTY_SIZE 6
|
||||
#define MULTI_PARTY_SIZE (PARTY_SIZE / 2)
|
||||
#define ALL_MOVES_MASK ((1 << MAX_MON_MOVES) - 1)
|
||||
|
||||
#define QUEST_LOG_SCENE_COUNT 4
|
||||
|
||||
|
|
|
|||
|
|
@ -4,39 +4,74 @@
|
|||
#define ITEM_NONE 0
|
||||
|
||||
// Poké Balls
|
||||
#define ITEM_MASTER_BALL 1
|
||||
#define ITEM_ULTRA_BALL 2
|
||||
#define ITEM_GREAT_BALL 3
|
||||
#define ITEM_POKE_BALL 4
|
||||
#define ITEM_SAFARI_BALL 5
|
||||
#define ITEM_NET_BALL 6
|
||||
#define ITEM_DIVE_BALL 7
|
||||
#define ITEM_POKE_BALL 1
|
||||
#define ITEM_GREAT_BALL 2
|
||||
#define ITEM_ULTRA_BALL 3
|
||||
#define ITEM_MASTER_BALL 4
|
||||
#define ITEM_PREMIER_BALL 5
|
||||
#define ITEM_HEAL_BALL 6
|
||||
#define ITEM_NET_BALL 7
|
||||
#define ITEM_NEST_BALL 8
|
||||
#define ITEM_REPEAT_BALL 9
|
||||
#define ITEM_TIMER_BALL 10
|
||||
#define ITEM_LUXURY_BALL 11
|
||||
#define ITEM_PREMIER_BALL 12
|
||||
#define ITEM_HEAL_BALL 13
|
||||
#define ITEM_DUSK_BALL 14
|
||||
#define ITEM_QUICK_BALL 15
|
||||
#define ITEM_LEVEL_BALL 16
|
||||
#define ITEM_LURE_BALL 17
|
||||
#define ITEM_MOON_BALL 18
|
||||
#define ITEM_FRIEND_BALL 19
|
||||
#define ITEM_LOVE_BALL 20
|
||||
#define ITEM_FAST_BALL 21
|
||||
#define ITEM_HEAVY_BALL 22
|
||||
#define ITEM_DREAM_BALL 23
|
||||
#define ITEM_DIVE_BALL 9
|
||||
#define ITEM_DUSK_BALL 10
|
||||
#define ITEM_TIMER_BALL 11
|
||||
#define ITEM_QUICK_BALL 12
|
||||
#define ITEM_REPEAT_BALL 13
|
||||
#define ITEM_LUXURY_BALL 14
|
||||
#define ITEM_LEVEL_BALL 15
|
||||
#define ITEM_LURE_BALL 16
|
||||
#define ITEM_MOON_BALL 17
|
||||
#define ITEM_FRIEND_BALL 18
|
||||
#define ITEM_LOVE_BALL 19
|
||||
#define ITEM_FAST_BALL 20
|
||||
#define ITEM_HEAVY_BALL 21
|
||||
#define ITEM_DREAM_BALL 22
|
||||
#define ITEM_SAFARI_BALL 23
|
||||
#define ITEM_SPORT_BALL 24
|
||||
#define ITEM_PARK_BALL 25
|
||||
#define ITEM_BEAST_BALL 26
|
||||
#define ITEM_CHERISH_BALL 27
|
||||
#define ITEM_CHERISH_BALL 27 // TODO: throwing CHERISH_BALL restarts game, intended?
|
||||
|
||||
// Note: If moving ball IDs around, updating FIRST_BALL/LAST_BALL is not sufficient
|
||||
// Several places expect the ball IDs to be first and contiguous (e.g. MON_DATA_POKEBALL)
|
||||
// If adding new balls, it's easiest to insert them after the last ball and increment the below IDs (and removing ITEM_034 for example)
|
||||
#define FIRST_BALL ITEM_MASTER_BALL
|
||||
#define LAST_BALL ITEM_PREMIER_BALL
|
||||
#define FIRST_BALL ITEM_POKE_BALL
|
||||
#define LAST_BALL ITEM_CHERISH_BALL
|
||||
|
||||
// // Poké Balls
|
||||
// #define ITEM_MASTER_BALL 1
|
||||
// #define ITEM_ULTRA_BALL 2
|
||||
// #define ITEM_GREAT_BALL 3
|
||||
// #define ITEM_POKE_BALL 4
|
||||
// #define ITEM_SAFARI_BALL 5
|
||||
// #define ITEM_NET_BALL 6
|
||||
// #define ITEM_DIVE_BALL 7
|
||||
// #define ITEM_NEST_BALL 8
|
||||
// #define ITEM_REPEAT_BALL 9
|
||||
// #define ITEM_TIMER_BALL 10
|
||||
// #define ITEM_LUXURY_BALL 11
|
||||
// #define ITEM_PREMIER_BALL 12
|
||||
// #define ITEM_HEAL_BALL 13
|
||||
// #define ITEM_DUSK_BALL 14
|
||||
// #define ITEM_QUICK_BALL 15
|
||||
// #define ITEM_LEVEL_BALL 16
|
||||
// #define ITEM_LURE_BALL 17
|
||||
// #define ITEM_MOON_BALL 18
|
||||
// #define ITEM_FRIEND_BALL 19
|
||||
// #define ITEM_LOVE_BALL 20
|
||||
// #define ITEM_FAST_BALL 21
|
||||
// #define ITEM_HEAVY_BALL 22
|
||||
// #define ITEM_DREAM_BALL 23
|
||||
// #define ITEM_SPORT_BALL 24
|
||||
// #define ITEM_PARK_BALL 25
|
||||
// #define ITEM_BEAST_BALL 26
|
||||
// #define ITEM_CHERISH_BALL 27
|
||||
|
||||
// // Note: If moving ball IDs around, updating FIRST_BALL/LAST_BALL is not sufficient
|
||||
// // Several places expect the ball IDs to be first and contiguous (e.g. MON_DATA_POKEBALL)
|
||||
// // If adding new balls, it's easiest to insert them after the last ball and increment the below IDs (and removing ITEM_034 for example)
|
||||
// #define FIRST_BALL ITEM_MASTER_BALL
|
||||
// #define LAST_BALL ITEM_CHERISH_BALL
|
||||
|
||||
// Medicine
|
||||
#define ITEM_POTION 28
|
||||
|
|
|
|||
|
|
@ -1016,6 +1016,8 @@
|
|||
|
||||
#define MOVES_COUNT_DYNAMAX (LAST_MAX_MOVE + 1)
|
||||
|
||||
#define MOVES_COUNT_ALL MOVES_COUNT_DYNAMAX
|
||||
|
||||
// Used for checks for moves affected by Disable, Mimic, etc.
|
||||
#define MOVE_UNAVAILABLE 0xFFFF
|
||||
|
||||
|
|
|
|||
|
|
@ -70,8 +70,8 @@
|
|||
#define PARTY_ACTION_CANT_SWITCH 2
|
||||
#define PARTY_ACTION_USE_ITEM 3
|
||||
#define PARTY_ACTION_ABILITY_PREVENTS 4
|
||||
#define PARTY_ACTION_GIVE_ITEM 5
|
||||
#define PARTY_ACTION_GIVE_PC_ITEM 6
|
||||
#define PARTY_ACTION_GIVE_ITEM 5
|
||||
#define PARTY_ACTION_GIVE_PC_ITEM 6 // Unused. Not possible to give non-mail items directly from PC
|
||||
#define PARTY_ACTION_GIVE_MAILBOX_MAIL 7
|
||||
#define PARTY_ACTION_SWITCH 8
|
||||
#define PARTY_ACTION_SWITCHING 9
|
||||
|
|
@ -79,7 +79,8 @@
|
|||
#define PARTY_ACTION_CHOOSE_AND_CLOSE 11
|
||||
#define PARTY_ACTION_MOVE_TUTOR 12
|
||||
#define PARTY_ACTION_MINIGAME 13
|
||||
#define PARTY_ACTION_REUSABLE_ITEM 14
|
||||
#define PARTY_ACTION_REUSABLE_ITEM 14 // Unused. The only reusable items are handled separately
|
||||
#define PARTY_ACTION_CHOOSE_FAINTED_MON 15 // TODO: Party actions
|
||||
|
||||
// IDs for DisplayPartyMenuStdMessage, to display the message at the bottom of the party menu
|
||||
#define PARTY_MSG_CHOOSE_MON 0
|
||||
|
|
|
|||
|
|
@ -1,97 +1,6 @@
|
|||
#ifndef GUARD_CONSTANTS_POKEMON_H
|
||||
#define GUARD_CONSTANTS_POKEMON_H
|
||||
|
||||
// For (Set|Get)(Box)?MonData
|
||||
#define MON_DATA_PERSONALITY 0
|
||||
#define MON_DATA_OT_ID 1
|
||||
#define MON_DATA_NICKNAME 2
|
||||
#define MON_DATA_LANGUAGE 3
|
||||
#define MON_DATA_SANITY_IS_BAD_EGG 4
|
||||
#define MON_DATA_SANITY_HAS_SPECIES 5
|
||||
#define MON_DATA_SANITY_IS_EGG 6
|
||||
#define MON_DATA_OT_NAME 7
|
||||
#define MON_DATA_MARKINGS 8
|
||||
#define MON_DATA_CHECKSUM 9
|
||||
#define MON_DATA_ENCRYPT_SEPARATOR 10
|
||||
#define MON_DATA_SPECIES 11
|
||||
#define MON_DATA_HELD_ITEM 12
|
||||
#define MON_DATA_MOVE1 13
|
||||
#define MON_DATA_MOVE2 14
|
||||
#define MON_DATA_MOVE3 15
|
||||
#define MON_DATA_MOVE4 16
|
||||
#define MON_DATA_PP1 17
|
||||
#define MON_DATA_PP2 18
|
||||
#define MON_DATA_PP3 19
|
||||
#define MON_DATA_PP4 20
|
||||
#define MON_DATA_PP_BONUSES 21
|
||||
#define MON_DATA_COOL 22
|
||||
#define MON_DATA_BEAUTY 23
|
||||
#define MON_DATA_CUTE 24
|
||||
#define MON_DATA_EXP 25
|
||||
#define MON_DATA_HP_EV 26
|
||||
#define MON_DATA_ATK_EV 27
|
||||
#define MON_DATA_DEF_EV 28
|
||||
#define MON_DATA_SPEED_EV 29
|
||||
#define MON_DATA_SPATK_EV 30
|
||||
#define MON_DATA_SPDEF_EV 31
|
||||
#define MON_DATA_FRIENDSHIP 32
|
||||
#define MON_DATA_SMART 33
|
||||
#define MON_DATA_POKERUS 34
|
||||
#define MON_DATA_MET_LOCATION 35
|
||||
#define MON_DATA_MET_LEVEL 36
|
||||
#define MON_DATA_MET_GAME 37
|
||||
#define MON_DATA_POKEBALL 38
|
||||
#define MON_DATA_HP_IV 39
|
||||
#define MON_DATA_ATK_IV 40
|
||||
#define MON_DATA_DEF_IV 41
|
||||
#define MON_DATA_SPEED_IV 42
|
||||
#define MON_DATA_SPATK_IV 43
|
||||
#define MON_DATA_SPDEF_IV 44
|
||||
#define MON_DATA_IS_EGG 45
|
||||
#define MON_DATA_ABILITY_NUM 46
|
||||
#define MON_DATA_TOUGH 47
|
||||
#define MON_DATA_SHEEN 48
|
||||
#define MON_DATA_OT_GENDER 49
|
||||
#define MON_DATA_COOL_RIBBON 50
|
||||
#define MON_DATA_BEAUTY_RIBBON 51
|
||||
#define MON_DATA_CUTE_RIBBON 52
|
||||
#define MON_DATA_SMART_RIBBON 53
|
||||
#define MON_DATA_TOUGH_RIBBON 54
|
||||
#define MON_DATA_STATUS 55
|
||||
#define MON_DATA_LEVEL 56
|
||||
#define MON_DATA_HP 57
|
||||
#define MON_DATA_MAX_HP 58
|
||||
#define MON_DATA_ATK 59
|
||||
#define MON_DATA_DEF 60
|
||||
#define MON_DATA_SPEED 61
|
||||
#define MON_DATA_SPATK 62
|
||||
#define MON_DATA_SPDEF 63
|
||||
#define MON_DATA_MAIL 64
|
||||
#define MON_DATA_SPECIES_OR_EGG 65
|
||||
#define MON_DATA_IVS 66
|
||||
#define MON_DATA_CHAMPION_RIBBON 67
|
||||
#define MON_DATA_WINNING_RIBBON 68
|
||||
#define MON_DATA_VICTORY_RIBBON 69
|
||||
#define MON_DATA_ARTIST_RIBBON 70
|
||||
#define MON_DATA_EFFORT_RIBBON 71
|
||||
#define MON_DATA_MARINE_RIBBON 72
|
||||
#define MON_DATA_LAND_RIBBON 73
|
||||
#define MON_DATA_SKY_RIBBON 74
|
||||
#define MON_DATA_COUNTRY_RIBBON 75
|
||||
#define MON_DATA_NATIONAL_RIBBON 76
|
||||
#define MON_DATA_EARTH_RIBBON 77
|
||||
#define MON_DATA_WORLD_RIBBON 78
|
||||
// #define MON_DATA_UNUSED_RIBBONS 79
|
||||
#define MON_DATA_MODERN_FATEFUL_ENCOUNTER 79
|
||||
#define MON_DATA_KNOWN_MOVES 80
|
||||
#define MON_DATA_RIBBON_COUNT 81
|
||||
#define MON_DATA_RIBBONS 82
|
||||
#define MON_DATA_ATK2 83
|
||||
#define MON_DATA_DEF2 84
|
||||
#define MON_DATA_SPEED2 85
|
||||
#define MON_DATA_SPATK2 86
|
||||
#define MON_DATA_SPDEF2 87
|
||||
|
||||
// Pokemon types
|
||||
#define TYPE_NONE 255
|
||||
#define TYPE_NORMAL 0
|
||||
|
|
@ -185,8 +94,11 @@
|
|||
// Shiny odds
|
||||
#define SHINY_ODDS 8 // Actual probability is SHINY_ODDS/65536
|
||||
|
||||
#define MIN_LEVEL 1
|
||||
#define MAX_LEVEL 100
|
||||
|
||||
#define MAX_DYNAMAX_LEVEL 10
|
||||
|
||||
#define OT_ID_PLAYER_ID 0
|
||||
#define OT_ID_PRESET 1
|
||||
#define OT_ID_RANDOM_NO_SHINY 2
|
||||
|
|
@ -224,11 +136,16 @@
|
|||
#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 8
|
||||
#define FRIENDSHIP_EVENT_FAINT_LARGE 9
|
||||
|
||||
#if P_UPDATED_FRIENDSHIP >= GEN_8
|
||||
#define STANDARD_FRIENDSHIP 50
|
||||
#else
|
||||
#define STANDARD_FRIENDSHIP 70
|
||||
#endif
|
||||
// Constants for GetBattlerAffectionHearts (based on friendship value)
|
||||
#define AFFECTION_NO_HEARTS 0 // 0-79 friendship
|
||||
#define AFFECTION_ONE_HEART 1 // 80-129 friendship
|
||||
#define AFFECTION_TWO_HEARTS 2 // 130-179 friendship
|
||||
#define AFFECTION_THREE_HEARTS 3 // 180-219 friendship
|
||||
#define AFFECTION_FOUR_HEARTS 4 // 220-254 friendship
|
||||
#define AFFECTION_FIVE_HEARTS 5 // Max friendship
|
||||
|
||||
// Friendship value that the majority of species use.
|
||||
#define STANDARD_FRIENDSHIP ((P_UPDATED_FRIENDSHIP >= GEN_8) ? 50 : 70)
|
||||
|
||||
#define MAX_FRIENDSHIP 255
|
||||
#define MAX_SHEEN 255
|
||||
|
|
@ -241,6 +158,11 @@
|
|||
#define MAX_TOTAL_EVS 510
|
||||
#define EV_ITEM_RAISE_LIMIT ((I_VITAMIN_EV_CAP >= GEN_8) ? MAX_PER_STAT_EVS : 100)
|
||||
|
||||
// Move category defines.
|
||||
#define DAMAGE_CATEGORY_PHYSICAL 0
|
||||
#define DAMAGE_CATEGORY_SPECIAL 1
|
||||
#define DAMAGE_CATEGORY_STATUS 2
|
||||
|
||||
// Battle move flags
|
||||
#define FLAG_MAKES_CONTACT (1 << 0)
|
||||
#define FLAG_PROTECT_AFFECTED (1 << 1)
|
||||
|
|
@ -270,23 +192,23 @@
|
|||
#define BODY_COLOR_PINK 9
|
||||
|
||||
// Evolution types
|
||||
#define EVOLUTIONS_END 0xFFFF // Not an actual evolution, used to mark the end of an evolution array.
|
||||
#define EVO_NONE 0xFFFE // Not an actual evolution, used to generate offspring that can't evolve into the specified species, like regional forms.
|
||||
#define EVO_FRIENDSHIP 1 // Pokémon levels up with friendship ≥ 220
|
||||
#define EVO_FRIENDSHIP_DAY 2 // Pokémon levels up during the day with friendship ≥ 220
|
||||
#define EVO_FRIENDSHIP_NIGHT 3 // Pokémon levels up at night with friendship ≥ 220
|
||||
#define EVO_LEVEL 4 // Pokémon reaches the specified level
|
||||
#define EVO_TRADE 5 // Pokémon is traded
|
||||
#define EVO_TRADE_ITEM 6 // Pokémon is traded while it's holding the specified item
|
||||
#define EVO_ITEM 7 // specified item is used on Pokémon
|
||||
#define EVO_LEVEL_ATK_GT_DEF 8 // Pokémon reaches the specified level with attack > defense
|
||||
#define EVO_LEVEL_ATK_EQ_DEF 9 // Pokémon reaches the specified level with attack = defense
|
||||
#define EVO_LEVEL_ATK_LT_DEF 10 // Pokémon reaches the specified level with attack < defense
|
||||
#define EVO_LEVEL_SILCOON 11 // Pokémon reaches the specified level with a Silcoon personality value
|
||||
#define EVO_LEVEL_CASCOON 12 // Pokémon reaches the specified level with a Cascoon personality value
|
||||
#define EVO_LEVEL_NINJASK 13 // Pokémon reaches the specified level (special value for Ninjask)
|
||||
#define EVO_LEVEL_SHEDINJA 14 // Pokémon reaches the specified level (special value for Shedinja)
|
||||
#define EVO_BEAUTY 15 // Pokémon levels up with beauty ≥ specified value
|
||||
#define EVOLUTIONS_END 0xFFFF // Not an actual evolution, used to mark the end of an evolution array.
|
||||
#define EVO_NONE 0xFFFE // Not an actual evolution, used to generate offspring that can't evolve into the specified species, like regional forms.
|
||||
#define EVO_FRIENDSHIP 1 // Pokémon levels up with friendship ≥ 220
|
||||
#define EVO_FRIENDSHIP_DAY 2 // Pokémon levels up during the day with friendship ≥ 220
|
||||
#define EVO_FRIENDSHIP_NIGHT 3 // Pokémon levels up at night with friendship ≥ 220
|
||||
#define EVO_LEVEL 4 // Pokémon reaches the specified level
|
||||
#define EVO_TRADE 5 // Pokémon is traded
|
||||
#define EVO_TRADE_ITEM 6 // Pokémon is traded while it's holding the specified item
|
||||
#define EVO_ITEM 7 // specified item is used on Pokémon
|
||||
#define EVO_LEVEL_ATK_GT_DEF 8 // Pokémon reaches the specified level with attack > defense
|
||||
#define EVO_LEVEL_ATK_EQ_DEF 9 // Pokémon reaches the specified level with attack = defense
|
||||
#define EVO_LEVEL_ATK_LT_DEF 10 // Pokémon reaches the specified level with attack < defense
|
||||
#define EVO_LEVEL_SILCOON 11 // Pokémon reaches the specified level with a Silcoon personality value
|
||||
#define EVO_LEVEL_CASCOON 12 // Pokémon reaches the specified level with a Cascoon personality value
|
||||
#define EVO_LEVEL_NINJASK 13 // Pokémon reaches the specified level (special value for Ninjask)
|
||||
#define EVO_LEVEL_SHEDINJA 14 // Pokémon reaches the specified level (special value for Shedinja)
|
||||
#define EVO_BEAUTY 15 // Pokémon levels up with beauty ≥ specified value
|
||||
#define EVO_LEVEL_FEMALE 16 // Pokémon reaches the specified level, is female
|
||||
#define EVO_LEVEL_MALE 17 // Pokémon reaches the specified level, is male
|
||||
#define EVO_LEVEL_NIGHT 18 // Pokémon reaches the specified level, is night
|
||||
|
|
@ -318,14 +240,19 @@
|
|||
#define EVO_MOVE_THREE_SEGMENT 44 // Pokémon levels up, knows specified move, has a personality value with a modulus of 1-99
|
||||
#define EVO_LEVEL_FAMILY_OF_THREE 45 // Pokémon reaches the specified level with a personality value with a modulus of 0
|
||||
#define EVO_LEVEL_FAMILY_OF_FOUR 46 // Pokémon reaches the specified level with a personality value with a modulus of 1-99
|
||||
#define EVO_LEVEL_MOVE_TWENTY_TIMES 47 // Pokémon levels up after having used a move for at least 20 times
|
||||
#define EVO_LEVEL_RECOIL_DAMAGE_MALE 48 // Pokémon levels up after having suffered specified amount of non-fainting recoil damage as a male
|
||||
#define EVO_LEVEL_RECOIL_DAMAGE_FEMALE 49 // Pokémon levels up after having suffered specified amount of non-fainting recoil damage as a female
|
||||
|
||||
|
||||
#define EVOS_PER_MON 5
|
||||
|
||||
#define EVO_MODE_NORMAL 0
|
||||
#define EVO_MODE_TRADE 1
|
||||
#define EVO_MODE_ITEM_USE 2
|
||||
#define EVO_MODE_ITEM_CHECK 3 // If an Everstone is being held, still want to show that the stone *could* be used on that Pokémon to evolve
|
||||
#define EVO_MODE_NORMAL 0
|
||||
#define EVO_MODE_TRADE 1
|
||||
#define EVO_MODE_ITEM_USE 2
|
||||
#define EVO_MODE_ITEM_CHECK 3 // If an Everstone is being held, still want to show that the stone *could* be used on that Pokémon to evolve
|
||||
#define EVO_MODE_BATTLE_SPECIAL 4
|
||||
#define EVO_MODE_OVERWORLD_SPECIAL 5
|
||||
|
||||
#define MON_PIC_WIDTH 64
|
||||
#define MON_PIC_HEIGHT 64
|
||||
|
|
@ -336,6 +263,11 @@
|
|||
// - Deoxys has 2 frames, 1 for each form
|
||||
#define MAX_MON_PIC_FRAMES 4
|
||||
|
||||
#define BATTLE_ALIVE_EXCEPT_BATTLER 0
|
||||
#define BATTLE_ALIVE_SIDE 1
|
||||
|
||||
#define SKIP_FRONT_ANIM (1 << 7)
|
||||
|
||||
// used by ShouldIgnoreDeoxysForm
|
||||
#define DEOXYS_CHECK_BATTLE_SPRITE 1
|
||||
#define DEOXYS_CHECK_TRADE_MAIN 3
|
||||
|
|
@ -345,4 +277,6 @@
|
|||
#define NUM_NORMAL_ABILITY_SLOTS 2
|
||||
#define NUM_HIDDEN_ABILITY_SLOTS 1
|
||||
|
||||
#define LEGENDARY_PERFECT_IV_COUNT 3
|
||||
|
||||
#endif // GUARD_CONSTANTS_POKEMON_H
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -2,6 +2,7 @@
|
|||
#define GUARD_DATA_H
|
||||
|
||||
#include "global.h"
|
||||
#include "constants/trainers.h"
|
||||
|
||||
#define SPECIES_SHINY_TAG 500
|
||||
#define TRAINER_ENCOUNTER_MUSIC(trainer)((gTrainers[trainer].encounterMusic_gender & 0x7F))
|
||||
|
|
@ -23,6 +24,13 @@ extern const u8 gMoveNames[][MOVE_NAME_LENGTH + 1];
|
|||
|
||||
extern const u8 gTrainerClassNames[][13];
|
||||
|
||||
static inline u16 SanitizeTrainerId(u16 trainerId)
|
||||
{
|
||||
if (trainerId >= NUM_TRAINERS)
|
||||
return TRAINER_NONE;
|
||||
return trainerId;
|
||||
}
|
||||
|
||||
// extern const struct MonCoords gMonFrontPicCoords[];
|
||||
// extern const struct CompressedSpriteSheet gMonFrontPicTable[];
|
||||
// extern const struct MonCoords gMonBackPicCoords[];
|
||||
|
|
@ -41,8 +49,6 @@ extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
|
|||
extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow;
|
||||
extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow;
|
||||
|
||||
extern const u8 gEnemyMonElevation[NUM_SPECIES];
|
||||
|
||||
extern const u8 *const gBattleAnims_General[];
|
||||
extern const u8 *const gBattleAnims_Special[];
|
||||
|
||||
|
|
@ -63,4 +69,9 @@ extern const struct SpriteFrameImage gTrainerBackPicTable_RSMay[];
|
|||
|
||||
extern const union AnimCmd sAnim_GeneralFrame0[];
|
||||
|
||||
// static inline const struct TrainerMon *GetTrainerPartyFromId(u16 trainerId)
|
||||
// {
|
||||
// return gTrainers[SanitizeTrainerId(trainerId)].party;
|
||||
// }
|
||||
|
||||
#endif // GUARD_DATA_H
|
||||
|
|
|
|||
81
include/fpmath.h
Normal file
81
include/fpmath.h
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
#ifndef FPMATH_H_
|
||||
#define FPMATH_H_
|
||||
|
||||
typedef s16 q4_12_t;
|
||||
typedef u32 uq4_12_t;
|
||||
|
||||
#define Q_4_12_SHIFT (12)
|
||||
#define UQ_4_12_SHIFT (12)
|
||||
|
||||
// Converts a number to Q8.8 fixed-point format
|
||||
#define Q_8_8(n) ((s16)((n) * 256))
|
||||
|
||||
// Converts a number to Q4.12 fixed-point format
|
||||
#define Q_4_12(n) ((q4_12_t)((n) * 4096))
|
||||
#define UQ_4_12(n) ((uq4_12_t)((n) * 4096))
|
||||
|
||||
// Converts a number to Q24.8 fixed-point format
|
||||
#define Q_24_8(n) ((s32)((n) << 8))
|
||||
|
||||
// Converts a Q8.8 fixed-point format number to a regular integer
|
||||
#define Q_8_8_TO_INT(n) ((s32)((n) / 256))
|
||||
|
||||
// Converts a Q4.12 fixed-point format number to a regular integer
|
||||
#define Q_4_12_TO_INT(n) ((s32)((n) / 4096))
|
||||
#define UQ_4_12_TO_INT(n) ((u32)((n) / 4096))
|
||||
|
||||
// Converts a Q24.8 fixed-point format number to a regular integer
|
||||
#define Q_24_8_TO_INT(n) ((s32)((n) >> 8))
|
||||
|
||||
// Rounding value for Q4.12 fixed-point format
|
||||
#define Q_4_12_ROUND ((1) << (Q_4_12_SHIFT - 1))
|
||||
#define UQ_4_12_ROUND ((1) << (UQ_4_12_SHIFT - 1))
|
||||
|
||||
// Basic arithmetic for fixed point number formats
|
||||
// Consumers should use encapsulated functions where possible
|
||||
|
||||
// FP API does not provide sanity checks against overflows
|
||||
|
||||
static inline uq4_12_t uq4_12_add(uq4_12_t a, uq4_12_t b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
||||
|
||||
static inline uq4_12_t uq4_12_subtract(uq4_12_t a, uq4_12_t b)
|
||||
{
|
||||
return a - b;
|
||||
}
|
||||
|
||||
static inline uq4_12_t uq4_12_multiply(uq4_12_t a, uq4_12_t b)
|
||||
{
|
||||
u32 product = (u32) a * b;
|
||||
return (product + UQ_4_12_ROUND) >> UQ_4_12_SHIFT;
|
||||
}
|
||||
|
||||
static inline uq4_12_t uq4_12_multiply_half_down(uq4_12_t a, uq4_12_t b)
|
||||
{
|
||||
u32 product = (u32) a * b;
|
||||
return (product + UQ_4_12_ROUND - 1) >> UQ_4_12_SHIFT;
|
||||
}
|
||||
|
||||
static inline uq4_12_t uq4_12_divide(uq4_12_t dividend, uq4_12_t divisor)
|
||||
{
|
||||
if (divisor == UQ_4_12(0.0)) return UQ_4_12(0);
|
||||
return (dividend << UQ_4_12_SHIFT) / divisor;
|
||||
}
|
||||
|
||||
// Multiplies value by the UQ_4_12 number modifier.
|
||||
// Returns an integer, rounded to nearest (rounding down on n.5)
|
||||
static inline u32 uq4_12_multiply_by_int_half_down(uq4_12_t modifier, u32 value)
|
||||
{
|
||||
return UQ_4_12_TO_INT((modifier * value) + UQ_4_12_ROUND - 1);
|
||||
}
|
||||
|
||||
// Multiplies value by the UQ_4_12 number modifier.
|
||||
// Returns an integer, rounded to nearest (rounding up on n.5)
|
||||
static inline u32 uq4_12_multiply_by_int_half_up(uq4_12_t modifier, u32 value)
|
||||
{
|
||||
return UQ_4_12_TO_INT((modifier * value) + UQ_4_12_ROUND);
|
||||
}
|
||||
|
||||
#endif // FPMATH_H_
|
||||
|
|
@ -4,6 +4,8 @@
|
|||
#include "config.h"
|
||||
#include "gba/gba.h"
|
||||
#include <string.h>
|
||||
#include "fpmath.h"
|
||||
#include "metaprogram.h"
|
||||
#include "constants/global.h"
|
||||
#include "constants/flags.h"
|
||||
#include "constants/vars.h"
|
||||
|
|
@ -51,13 +53,13 @@
|
|||
#define Q_8_8(n) ((s16)((n) * 256))
|
||||
|
||||
// Converts a number from Q8.8 fixed-point format
|
||||
#define Q_8_8_TO_INT(n) ((s16)((n) >> 8))
|
||||
// #define Q_8_8_TO_INT(n) ((s16)((n) >> 8))
|
||||
|
||||
// Converts a number to Q4.12 fixed-point format
|
||||
#define Q_4_12(n) ((s16)((n) * 4096))
|
||||
// #define Q_4_12(n) ((s16)((n) * 4096))
|
||||
|
||||
// Converts a number from Q4.12 fixed-point format
|
||||
#define Q_4_12_TO_INT(n) ((s16)((n) >> 12))
|
||||
// #define Q_4_12_TO_INT(n) ((s16)((n) >> 12))
|
||||
|
||||
// Converts a number to QN.S fixed-point format (16-bits)
|
||||
#define Q_N_S(s, n) ((s16)((n) * (1 << (s))))
|
||||
|
|
@ -86,6 +88,12 @@
|
|||
#define SAFE_DIV(a, b) ((a) / (b))
|
||||
#endif
|
||||
|
||||
// The below macro does a%n, but (to match) will switch to a&(n-1) if n is a power of 2.
|
||||
// There are cases where GF does a&(n-1) where we would really like to have a%n, because
|
||||
// if n is changed to a value that isn't a power of 2 then a&(n-1) is unlikely to work as
|
||||
// intended, and a%n for powers of 2 isn't always optimized to use &.
|
||||
#define MOD(a, n)(((n) & ((n)-1)) ? ((a) % (n)) : ((a) & ((n)-1)))
|
||||
|
||||
// Extracts the upper 16 bits of a 32-bit number
|
||||
#define HIHALF(n) (((n) & 0xFFFF0000) >> 16)
|
||||
|
||||
|
|
@ -132,25 +140,27 @@ extern u8 gStringVar4[];
|
|||
#define NUM_ADDITIONAL_PHRASE_BYTES ROUND_BITS_TO_BYTES(NUM_ADDITIONAL_PHRASES)
|
||||
|
||||
// Calls m0/m1/.../m8 depending on how many arguments are passed.
|
||||
#define VARARG_8(m, ...) CAT(m, NARG_8(__VA_ARGS__))(__VA_ARGS__)
|
||||
// #define VARARG_8(m, ...) CAT(m, NARG_8(__VA_ARGS__))(__VA_ARGS__)
|
||||
|
||||
// This returns the number of arguments passed to it (up to 8).
|
||||
#define NARG_8(...) NARG_8_(_, ##__VA_ARGS__, 8, 7, 6, 5, 4, 3, 2, 1, 0)
|
||||
#define NARG_8_(_, a, b, c, d, e, f, g, h, N, ...) N
|
||||
// #define NARG_8(...) NARG_8_(_, ##__VA_ARGS__, 8, 7, 6, 5, 4, 3, 2, 1, 0)
|
||||
// #define NARG_8_(_, a, b, c, d, e, f, g, h, N, ...) N
|
||||
|
||||
#define CAT(a, b) CAT_(a, b)
|
||||
#define CAT_(a, b) a ## b
|
||||
// #define CAT(a, b) CAT_(a, b)
|
||||
// #define CAT_(a, b) a ## b
|
||||
|
||||
#define STR(a) STR_(a)
|
||||
#define STR_(a) #a
|
||||
// #define STR(a) STR_(a)
|
||||
// #define STR_(a) #a
|
||||
|
||||
// Converts a string to a compound literal, essentially making it a pointer to const u8
|
||||
#define COMPOUND_STRING(str) (const u8[]) _(str)
|
||||
// #define COMPOUND_STRING(str) (const u8[]) _(str)
|
||||
|
||||
// This produces an error at compile-time if expr is zero.
|
||||
// It looks like file.c:line: size of array `id' is negative
|
||||
#define STATIC_ASSERT(expr, id) typedef char id[(expr) ? 1 : -1];
|
||||
|
||||
#define FEATURE_FLAG_ASSERT(flag, id) STATIC_ASSERT(flag > TEMP_FLAGS_END || flag == 0, id)
|
||||
|
||||
struct Coords8
|
||||
{
|
||||
s8 x;
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ u8 ItemId_GetType(u16 itemId);
|
|||
ItemUseFunc ItemId_GetFieldFunc(u16 itemId);
|
||||
u8 ItemId_GetBattleUsage(u16 itemId);
|
||||
u8 ItemId_GetSecondaryId(u16 itemId);
|
||||
u32 ItemId_GetFlingPower(u32 itemId);
|
||||
u16 ItemId_GetPrice(u16 itemId);
|
||||
void ClearBag(void);
|
||||
void ClearPCItemSlots(void);
|
||||
|
|
|
|||
143
include/metaprogram.h
Normal file
143
include/metaprogram.h
Normal file
|
|
@ -0,0 +1,143 @@
|
|||
/* Macros to aid with metaprogramming. */
|
||||
#ifndef METAPROGRAM_H
|
||||
#define METAPROGRAM_H
|
||||
|
||||
/* Check if VA_OPT_ is supported by the compiler. GCC's version should be at least 9.5*/
|
||||
#define PP_THIRD_ARG(a,b,c,...) c
|
||||
#define VA_OPT_SUPPORTED_I(...) PP_THIRD_ARG(__VA_OPT__(,),TRUE,FALSE,)
|
||||
#define VA_OPT_SUPPORTED VA_OPT_SUPPORTED_I(?)
|
||||
|
||||
#if !VA_OPT_SUPPORTED
|
||||
#error ERROR: VA_OPT__ is not supported. Please update your gcc compiler to version 10 or higher
|
||||
#endif // VA_OPT_SUPPORTED
|
||||
|
||||
/* Calls m0/m1/.../m8 depending on how many arguments are passed. */
|
||||
#define VARARG_8(m, ...) CAT(m, NARG_8(__VA_ARGS__))(__VA_ARGS__)
|
||||
|
||||
/* Returns the number of arguments passed to it (up to 8). */
|
||||
#define NARG_8(...) NARG_8_(_, ##__VA_ARGS__, 8, 7, 6, 5, 4, 3, 2, 1, 0)
|
||||
#define NARG_8_(_, a, b, c, d, e, f, g, h, N, ...) N
|
||||
|
||||
/* Expands 'a' and 'b' and then concatenates them. */
|
||||
#define CAT(a, b) CAT_(a, b)
|
||||
#define CAT_(a, b) a ## b
|
||||
|
||||
/* Expands '__VA_ARGS__' and then stringizes them. */
|
||||
#define STR(...) STR_(__VA_ARGS__)
|
||||
#define STR_(...) #__VA_ARGS__
|
||||
|
||||
/* Converts a string to a compound literal, essentially making it a pointer to const u8 */
|
||||
#define COMPOUND_STRING(str) (const u8[]) _(str)
|
||||
|
||||
/* Expands to the first/second/third/fourth argument. */
|
||||
#define FIRST(a, ...) a
|
||||
#define SECOND(a, ...) __VA_OPT__(FIRST(__VA_ARGS__))
|
||||
#define THIRD(a, ...) __VA_OPT__(SECOND(__VA_ARGS__))
|
||||
#define FOURTH(a, ...) __VA_OPT__(THIRD(__VA_ARGS__))
|
||||
|
||||
/* Expands to everything but the first x arguments */
|
||||
#define EXCEPT_1(a, ...) __VA_OPT__(__VA_ARGS__)
|
||||
#define EXCEPT_2(a, ...) __VA_OPT__(EXCEPT_1(__VA_ARGS__))
|
||||
#define EXCEPT_3(a, ...) __VA_OPT__(EXCEPT_2(__VA_ARGS__))
|
||||
#define EXCEPT_4(a, ...) __VA_OPT__(EXCEPT_3(__VA_ARGS__))
|
||||
|
||||
/* 'UNPACK (x, y, z)' expands to 'x, y, z'.
|
||||
* Useful for passing arguments which may contain commas into a macro. */
|
||||
#define UNPACK(...) __VA_ARGS__
|
||||
|
||||
/* Expands to 'macro(...args, ...)'. */
|
||||
#define INVOKE_WITH(macro, args, ...) INVOKE_WITH_(macro, UNPACK args __VA_OPT__(, __VA_ARGS__))
|
||||
#define INVOKE_WITH_(macro, ...) macro(__VA_ARGS__)
|
||||
|
||||
/* Recursive macros.
|
||||
* Based on https://www.scs.stanford.edu/~dm/blog/va-opt.html
|
||||
*
|
||||
* Macros prefixed with R_ are recursive, to correctly expand them the
|
||||
* top-level macro which references them should use 'RECURSIVELY' around
|
||||
* them. 'RECURSIVELY' cannot be nested, hence the top-level macro must
|
||||
* use it so that a recursive macro is able to reference another
|
||||
* recursive macro. */
|
||||
|
||||
#define RECURSIVELY(...) RECURSIVELY_4(RECURSIVELY_4(RECURSIVELY_4(RECURSIVELY_4(__VA_ARGS__))))
|
||||
#define RECURSIVELY_4(...) RECURSIVELY_3(RECURSIVELY_3(RECURSIVELY_3(RECURSIVELY_3(__VA_ARGS__))))
|
||||
#define RECURSIVELY_3(...) RECURSIVELY_2(RECURSIVELY_2(RECURSIVELY_2(RECURSIVELY_2(__VA_ARGS__))))
|
||||
#define RECURSIVELY_2(...) RECURSIVELY_1(RECURSIVELY_1(RECURSIVELY_1(RECURSIVELY_1(__VA_ARGS__))))
|
||||
#define RECURSIVELY_1(...) __VA_ARGS__
|
||||
|
||||
/* Useful for deferring expansion until the second scan. See
|
||||
* https://www.scs.stanford.edu/~dm/blog/va-opt.html for more info. */
|
||||
#define PARENS ()
|
||||
|
||||
/* Expands to 'macro(a)' for each 'a' in '...' */
|
||||
#define R_FOR_EACH(macro, ...) __VA_OPT__(R_FOR_EACH_(macro, __VA_ARGS__))
|
||||
#define R_FOR_EACH_(macro, a, ...) macro(a) __VA_OPT__(R_FOR_EACH_P PARENS (macro, __VA_ARGS__))
|
||||
#define R_FOR_EACH_P() R_FOR_EACH_
|
||||
|
||||
/* Expands to 'macro(...args, a)' for each 'a' in '...'. */
|
||||
#define R_FOR_EACH_WITH(macro, args, ...) __VA_OPT__(R_FOR_EACH_WITH_(macro, args, __VA_ARGS__))
|
||||
#define R_FOR_EACH_WITH_(macro, args, a, ...) INVOKE_WITH(macro, args, a) __VA_OPT__(R_FOR_EACH_WITH_P PARENS (macro, args, __VA_ARGS__))
|
||||
#define R_FOR_EACH_WITH_P() R_FOR_EACH_WITH_
|
||||
|
||||
/* Picks the xth VA_ARG if it exists, otherwise returns a default value */
|
||||
#define DEFAULT(_default, ...) FIRST(__VA_OPT__(__VA_ARGS__, ) _default)
|
||||
#define DEFAULT_2(_default, ...) DEFAULT(_default __VA_OPT__(, SECOND(__VA_ARGS__)))
|
||||
#define DEFAULT_3(_default, ...) DEFAULT(_default __VA_OPT__(, THIRD(__VA_ARGS__)))
|
||||
#define DEFAULT_4(_default, ...) DEFAULT(_default __VA_OPT__(, FOURTH(__VA_ARGS__)))
|
||||
|
||||
/* (Credit to MGriffin) A rather monstrous way of finding the set bit in a word.
|
||||
Invalid input causes a compiler error. Sample: https://cexplore.karathan.at/z/x1hm7B */
|
||||
#define BIT_INDEX(n) \
|
||||
(n) == (1 << 0) ? 0 : \
|
||||
(n) == (1 << 1) ? 1 : \
|
||||
(n) == (1 << 2) ? 2 : \
|
||||
(n) == (1 << 3) ? 3 : \
|
||||
(n) == (1 << 4) ? 4 : \
|
||||
(n) == (1 << 5) ? 5 : \
|
||||
(n) == (1 << 6) ? 6 : \
|
||||
(n) == (1 << 7) ? 7 : \
|
||||
(n) == (1 << 8) ? 8 : \
|
||||
(n) == (1 << 9) ? 9 : \
|
||||
(n) == (1 << 10) ? 10 : \
|
||||
(n) == (1 << 11) ? 11 : \
|
||||
(n) == (1 << 12) ? 12 : \
|
||||
(n) == (1 << 13) ? 13 : \
|
||||
(n) == (1 << 14) ? 14 : \
|
||||
(n) == (1 << 15) ? 15 : \
|
||||
(n) == (1 << 16) ? 16 : \
|
||||
(n) == (1 << 17) ? 17 : \
|
||||
(n) == (1 << 18) ? 18 : \
|
||||
(n) == (1 << 19) ? 19 : \
|
||||
(n) == (1 << 20) ? 20 : \
|
||||
(n) == (1 << 21) ? 21 : \
|
||||
(n) == (1 << 22) ? 22 : \
|
||||
(n) == (1 << 23) ? 23 : \
|
||||
(n) == (1 << 24) ? 24 : \
|
||||
(n) == (1 << 25) ? 25 : \
|
||||
(n) == (1 << 26) ? 26 : \
|
||||
(n) == (1 << 27) ? 27 : \
|
||||
(n) == (1 << 28) ? 28 : \
|
||||
(n) == (1 << 29) ? 29 : \
|
||||
(n) == (1 << 30) ? 30 : \
|
||||
(n) == (1 << 31) ? 31 : \
|
||||
*(u32 *)NULL
|
||||
|
||||
#define COMPRESS_BITS_0 0, 1
|
||||
#define COMPRESS_BITS_1 1, 1
|
||||
#define COMPRESS_BITS_2 2, 1
|
||||
#define COMPRESS_BITS_3 3, 1
|
||||
#define COMPRESS_BITS_4 4, 1
|
||||
#define COMPRESS_BITS_5 5, 1
|
||||
#define COMPRESS_BITS_6 6, 1
|
||||
#define COMPRESS_BITS_7 7, 1
|
||||
|
||||
/* Will try and compress a set bit (or up to three sequential bits) into a single byte
|
||||
Input must be of the form (upper << lower) where upper can be up to 3, lower up to 31 */
|
||||
#define COMPRESS_BITS(_val) COMPRESS_BITS_STEP_2 _val
|
||||
#define COMPRESS_BITS_STEP_2(_unpacked) COMPRESS_BITS_STEP_3(COMPRESS_BITS_## _unpacked)
|
||||
#define COMPRESS_BITS_STEP_3(...) COMPRESS_BITS_STEP_4(__VA_ARGS__)
|
||||
#define COMPRESS_BITS_STEP_4(upper, lower) (((upper % 8) << 5) + (BIT_INDEX(lower)))
|
||||
|
||||
/* Will read a compressed bit stored by COMPRESS_BIT into a single byte */
|
||||
#define UNCOMPRESS_BITS(compressed) ((compressed >> 5) << (compressed & 0x1F))
|
||||
|
||||
#endif
|
||||
|
|
@ -60,8 +60,8 @@ void ItemUseCB_ResetEVs(u8 taskId, TaskFunc task);
|
|||
void ItemUseCB_PPRecovery(u8 taskId, TaskFunc func);
|
||||
void ItemUseCB_PPUp(u8 taskId, TaskFunc func);
|
||||
u16 ItemIdToBattleMoveId(u16 item);
|
||||
bool8 IsMoveHm(u16 move);
|
||||
bool8 MonKnowsMove(struct Pokemon *mon, u16 move);
|
||||
bool8 BoxMonKnowsMove(struct BoxPokemon *boxMon, u16 move);
|
||||
void ItemUseCB_TMHM(u8 taskId, TaskFunc func);
|
||||
void ItemUseCB_RareCandy(u8 taskId, TaskFunc func);
|
||||
void ItemUseCB_SacredAsh(u8 taskId, TaskFunc func);
|
||||
|
|
|
|||
|
|
@ -3,26 +3,159 @@
|
|||
|
||||
#include "global.h"
|
||||
#include "sprite.h"
|
||||
#include "constants/pokemon.h"
|
||||
#include "constants/items.h"
|
||||
#include "constants/region_map_sections.h"
|
||||
#include "constants/pokemon.h"
|
||||
|
||||
|
||||
#define GET_BASE_SPECIES_ID(speciesId) (GetFormSpeciesId(speciesId, 0))
|
||||
#define FORM_SPECIES_END (0xffff)
|
||||
|
||||
|
||||
|
||||
// For (Set|Get)(Box)?MonData
|
||||
enum {
|
||||
MON_DATA_PERSONALITY,
|
||||
MON_DATA_STATUS,
|
||||
MON_DATA_OT_ID,
|
||||
MON_DATA_LANGUAGE,
|
||||
MON_DATA_SANITY_IS_BAD_EGG,
|
||||
MON_DATA_SANITY_HAS_SPECIES,
|
||||
MON_DATA_SANITY_IS_EGG,
|
||||
MON_DATA_OT_NAME,
|
||||
MON_DATA_MARKINGS,
|
||||
MON_DATA_CHECKSUM,
|
||||
MON_DATA_HP,
|
||||
MON_DATA_IS_SHINY,
|
||||
MON_DATA_HIDDEN_NATURE,
|
||||
MON_DATA_HP_LOST,
|
||||
MON_DATA_ENCRYPT_SEPARATOR,
|
||||
MON_DATA_NICKNAME,
|
||||
MON_DATA_SPECIES,
|
||||
MON_DATA_HELD_ITEM,
|
||||
MON_DATA_MOVE1,
|
||||
MON_DATA_MOVE2,
|
||||
MON_DATA_MOVE3,
|
||||
MON_DATA_MOVE4,
|
||||
MON_DATA_PP1,
|
||||
MON_DATA_PP2,
|
||||
MON_DATA_PP3,
|
||||
MON_DATA_PP4,
|
||||
MON_DATA_PP_BONUSES,
|
||||
MON_DATA_COOL,
|
||||
MON_DATA_BEAUTY,
|
||||
MON_DATA_CUTE,
|
||||
MON_DATA_EXP,
|
||||
MON_DATA_HP_EV,
|
||||
MON_DATA_ATK_EV,
|
||||
MON_DATA_DEF_EV,
|
||||
MON_DATA_SPEED_EV,
|
||||
MON_DATA_SPATK_EV,
|
||||
MON_DATA_SPDEF_EV,
|
||||
MON_DATA_FRIENDSHIP,
|
||||
MON_DATA_SMART,
|
||||
MON_DATA_POKERUS,
|
||||
MON_DATA_MET_LOCATION,
|
||||
MON_DATA_MET_LEVEL,
|
||||
MON_DATA_MET_GAME,
|
||||
MON_DATA_POKEBALL,
|
||||
MON_DATA_HP_IV,
|
||||
MON_DATA_ATK_IV,
|
||||
MON_DATA_DEF_IV,
|
||||
MON_DATA_SPEED_IV,
|
||||
MON_DATA_SPATK_IV,
|
||||
MON_DATA_SPDEF_IV,
|
||||
MON_DATA_IS_EGG,
|
||||
MON_DATA_ABILITY_NUM,
|
||||
MON_DATA_TOUGH,
|
||||
MON_DATA_SHEEN,
|
||||
MON_DATA_OT_GENDER,
|
||||
MON_DATA_COOL_RIBBON,
|
||||
MON_DATA_BEAUTY_RIBBON,
|
||||
MON_DATA_CUTE_RIBBON,
|
||||
MON_DATA_SMART_RIBBON,
|
||||
MON_DATA_TOUGH_RIBBON,
|
||||
MON_DATA_LEVEL,
|
||||
MON_DATA_MAX_HP,
|
||||
MON_DATA_ATK,
|
||||
MON_DATA_DEF,
|
||||
MON_DATA_SPEED,
|
||||
MON_DATA_SPATK,
|
||||
MON_DATA_SPDEF,
|
||||
MON_DATA_MAIL,
|
||||
MON_DATA_SPECIES_OR_EGG,
|
||||
MON_DATA_IVS,
|
||||
MON_DATA_CHAMPION_RIBBON,
|
||||
MON_DATA_WINNING_RIBBON,
|
||||
MON_DATA_VICTORY_RIBBON,
|
||||
MON_DATA_ARTIST_RIBBON,
|
||||
MON_DATA_EFFORT_RIBBON,
|
||||
MON_DATA_MARINE_RIBBON,
|
||||
MON_DATA_LAND_RIBBON,
|
||||
MON_DATA_SKY_RIBBON,
|
||||
MON_DATA_COUNTRY_RIBBON,
|
||||
MON_DATA_NATIONAL_RIBBON,
|
||||
MON_DATA_EARTH_RIBBON,
|
||||
MON_DATA_WORLD_RIBBON,
|
||||
MON_DATA_MODERN_FATEFUL_ENCOUNTER,
|
||||
MON_DATA_KNOWN_MOVES,
|
||||
MON_DATA_RIBBON_COUNT,
|
||||
MON_DATA_RIBBONS,
|
||||
MON_DATA_ATK2,
|
||||
MON_DATA_DEF2,
|
||||
MON_DATA_SPEED2,
|
||||
MON_DATA_SPATK2,
|
||||
MON_DATA_SPDEF2,
|
||||
MON_DATA_HYPER_TRAINED_HP,
|
||||
MON_DATA_HYPER_TRAINED_ATK,
|
||||
MON_DATA_HYPER_TRAINED_DEF,
|
||||
MON_DATA_HYPER_TRAINED_SPEED,
|
||||
MON_DATA_HYPER_TRAINED_SPATK,
|
||||
MON_DATA_HYPER_TRAINED_SPDEF,
|
||||
MON_DATA_IS_SHADOW,
|
||||
MON_DATA_DYNAMAX_LEVEL,
|
||||
MON_DATA_GIGANTAMAX_FACTOR,
|
||||
MON_DATA_TERA_TYPE,
|
||||
MON_DATA_EVOLUTION_TRACKER,
|
||||
};
|
||||
|
||||
|
||||
struct PokemonSubstruct0
|
||||
{
|
||||
u16 species;
|
||||
u16 heldItem;
|
||||
u32 experience;
|
||||
u16 species:11; // 2047 species.
|
||||
u16 teraType:5; // 30 types.
|
||||
u16 heldItem:10; // 1023 items.
|
||||
u16 unused_02:6;
|
||||
u32 experience:21;
|
||||
u32 nickname11:8; // 11th character of nickname.
|
||||
u32 unused_04:3;
|
||||
u8 ppBonuses;
|
||||
u8 friendship;
|
||||
u16 filler;
|
||||
u16 pokeball:6; // 63 balls.
|
||||
u16 nickname12:8; // 12th character of nickname.
|
||||
u16 unused_0A:2;
|
||||
};
|
||||
|
||||
struct PokemonSubstruct1
|
||||
{
|
||||
u16 moves[MAX_MON_MOVES];
|
||||
u8 pp[MAX_MON_MOVES];
|
||||
u16 move1:11; // 2047 moves.
|
||||
u16 evolutionTracker1:5;
|
||||
u16 move2:11; // 2047 moves.
|
||||
u16 evolutionTracker2:4;
|
||||
u16 unused_02:1;
|
||||
u16 move3:11; // 2047 moves.
|
||||
u16 unused_04:5;
|
||||
u16 move4:11; // 2047 moves.
|
||||
u16 unused_06:3;
|
||||
u16 hyperTrainedHP:1;
|
||||
u16 hyperTrainedAttack:1;
|
||||
u8 pp1:7; // 127 PP.
|
||||
u8 hyperTrainedDefense:1;
|
||||
u8 pp2:7; // 127 PP.
|
||||
u8 hyperTrainedSpeed:1;
|
||||
u8 pp3:7; // 127 PP.
|
||||
u8 hyperTrainedSpAttack:1;
|
||||
u8 pp4:7; // 127 PP.
|
||||
u8 hyperTrainedSpDefense:1;
|
||||
};
|
||||
|
||||
struct PokemonSubstruct2
|
||||
|
|
@ -43,41 +176,40 @@ struct PokemonSubstruct2
|
|||
|
||||
struct PokemonSubstruct3
|
||||
{
|
||||
/* 0x00 */ u8 pokerus;
|
||||
/* 0x01 */ u8 metLocation;
|
||||
|
||||
/* 0x02 */ u16 metLevel:7;
|
||||
/* 0x02 */ u16 metGame:4;
|
||||
/* 0x03 */ u16 pokeball:4;
|
||||
/* 0x03 */ u16 otGender:1;
|
||||
|
||||
/* 0x04 */ u32 hpIV:5;
|
||||
/* 0x04 */ u32 attackIV:5;
|
||||
/* 0x05 */ u32 defenseIV:5;
|
||||
/* 0x05 */ u32 speedIV:5;
|
||||
/* 0x05 */ u32 spAttackIV:5;
|
||||
/* 0x06 */ u32 spDefenseIV:5;
|
||||
/* 0x07 */ u32 isEgg:1;
|
||||
/* 0x07 */ u32 abilityNum:2;
|
||||
|
||||
/* 0x08 */ u32 coolRibbon:3; // Stores the highest contest rank achieved in the Cool category.
|
||||
/* 0x08 */ u32 beautyRibbon:3; // Stores the highest contest rank achieved in the Beauty category.
|
||||
/* 0x08 */ u32 cuteRibbon:3; // Stores the highest contest rank achieved in the Cute category.
|
||||
/* 0x09 */ u32 smartRibbon:3; // Stores the highest contest rank achieved in the Smart category.
|
||||
/* 0x09 */ u32 toughRibbon:3; // Stores the highest contest rank achieved in the Tough category.
|
||||
/* 0x09 */ u32 championRibbon:1; // Given when defeating the Champion. Because both RSE and FRLG use it, later generations don't specify from which region it comes from.
|
||||
/* 0x0A */ u32 winningRibbon:1; // Given at the Battle Tower's Level 50 challenge by winning a set of seven battles that extends the current streak to 56 or more.
|
||||
/* 0x0A */ u32 victoryRibbon:1; // Given at the Battle Tower's Level 100 challenge by winning a set of seven battles that extends the current streak to 56 or more.
|
||||
/* 0x0A */ u32 artistRibbon:1; // Given at the Contest Hall by winning a Master Rank contest with at least 800 points, and agreeing to have the Pokémon's portrait placed in the museum after being offered.
|
||||
/* 0x0A */ u32 effortRibbon:1; // Given at Slateport's market to Pokémon with maximum EVs.
|
||||
/* 0x0A */ u32 marineRibbon:1; // Never distributed.
|
||||
/* 0x0A */ u32 landRibbon:1; // Never distributed.
|
||||
/* 0x0A */ u32 skyRibbon:1; // Never distributed.
|
||||
/* 0x0A */ u32 countryRibbon:1; // Distributed during Pokémon Festa '04 and '05 to tournament winners.
|
||||
/* 0x0B */ u32 nationalRibbon:1; // Given to purified Shadow Pokémon in Colosseum/XD.
|
||||
/* 0x0B */ u32 earthRibbon:1; // Given to teams that have beaten Mt. Battle's 100-battle challenge in Colosseum/XD.
|
||||
/* 0x0B */ u32 worldRibbon:1; // Distributed during Pokémon Festa '04 and '05 to tournament winners.
|
||||
/* 0x0B */ u32 unusedRibbons:3; // Discarded in Gen 4.
|
||||
u8 pokerus;
|
||||
u8 metLocation;
|
||||
u16 metLevel:7;
|
||||
u16 metGame:4;
|
||||
u16 dynamaxLevel:4;
|
||||
u16 otGender:1;
|
||||
u32 hpIV:5;
|
||||
u32 attackIV:5;
|
||||
u32 defenseIV:5;
|
||||
u32 speedIV:5;
|
||||
u32 spAttackIV:5;
|
||||
u32 spDefenseIV:5;
|
||||
u32 isEgg:1;
|
||||
u32 gigantamaxFactor:1;
|
||||
u32 coolRibbon:3; // Stores the highest contest rank achieved in the Cool category.
|
||||
u32 beautyRibbon:3; // Stores the highest contest rank achieved in the Beauty category.
|
||||
u32 cuteRibbon:3; // Stores the highest contest rank achieved in the Cute category.
|
||||
u32 smartRibbon:3; // Stores the highest contest rank achieved in the Smart category.
|
||||
u32 toughRibbon:3; // Stores the highest contest rank achieved in the Tough category.
|
||||
u32 championRibbon:1; // Given when defeating the Champion. Because both RSE and FRLG use it, later generations don't specify from which region it comes from.
|
||||
u32 winningRibbon:1; // Given at the Battle Tower's Level 50 challenge by winning a set of seven battles that extends the current streak to 56 or more.
|
||||
u32 victoryRibbon:1; // Given at the Battle Tower's Level 100 challenge by winning a set of seven battles that extends the current streak to 56 or more.
|
||||
u32 artistRibbon:1; // Given at the Contest Hall by winning a Master Rank contest with at least 800 points, and agreeing to have the Pokémon's portrait placed in the museum after being offered.
|
||||
u32 effortRibbon:1; // Given at Slateport's market to Pokémon with maximum EVs.
|
||||
u32 marineRibbon:1; // Never distributed.
|
||||
u32 landRibbon:1; // Never distributed.
|
||||
u32 skyRibbon:1; // Never distributed.
|
||||
u32 countryRibbon:1; // Distributed during Pokémon Festa '04 and '05 to tournament winners.
|
||||
u32 nationalRibbon:1; // Given to purified Shadow Pokémon in Colosseum/XD.
|
||||
u32 earthRibbon:1; // Given to teams that have beaten Mt. Battle's 100-battle challenge in Colosseum/XD.
|
||||
u32 worldRibbon:1; // Distributed during Pokémon Festa '04 and '05 to tournament winners.
|
||||
u32 isShadow:1;
|
||||
u32 unused_0B:1;
|
||||
u32 abilityNum:2;
|
||||
|
||||
// The functionality of this bit changed in FRLG:
|
||||
// In RS, this bit does nothing, is never set, & is accidentally unset when hatching Eggs.
|
||||
|
|
@ -110,17 +242,21 @@ struct BoxPokemon
|
|||
{
|
||||
u32 personality;
|
||||
u32 otId;
|
||||
u8 nickname[POKEMON_NAME_LENGTH];
|
||||
u8 language;
|
||||
u8 nickname[min(10, POKEMON_NAME_LENGTH)];
|
||||
u8 language:3;
|
||||
u8 hiddenNatureModifier:5; // 31 natures.
|
||||
u8 isBadEgg:1;
|
||||
u8 hasSpecies:1;
|
||||
u8 isEgg:1;
|
||||
u8 blockBoxRS:1; // Unused, but Pokémon Box Ruby & Sapphire will refuse to deposit a Pokémon with this flag set
|
||||
u8 unused:4;
|
||||
u8 unused_13:4;
|
||||
u8 otName[PLAYER_NAME_LENGTH];
|
||||
u8 markings;
|
||||
u8 markings:4;
|
||||
u8 compressedStatus:4;
|
||||
u16 checksum;
|
||||
u16 unknown;
|
||||
u16 hpLost:14; // 16383 HP.
|
||||
u16 shinyModifier:1;
|
||||
u16 unused_1E:1;
|
||||
|
||||
union
|
||||
{
|
||||
|
|
@ -186,27 +322,28 @@ struct BattlePokemon
|
|||
/*0x15*/ u32 speedIV:5;
|
||||
/*0x16*/ u32 spAttackIV:5;
|
||||
/*0x17*/ u32 spDefenseIV:5;
|
||||
/*0x17*/ u32 isEgg:1;
|
||||
/*0x17*/ u32 abilityNum:2;
|
||||
/*0x18*/ s8 statStages[NUM_BATTLE_STATS];
|
||||
/*0x20*/ u16 ability;
|
||||
/*0x21*/ u8 type1;
|
||||
/*0x22*/ u8 type2;
|
||||
/*0x23*/ u8 unknown;
|
||||
/*0x24*/ u8 pp[MAX_MON_MOVES];
|
||||
/*0x28*/ u16 hp;
|
||||
/*0x2A*/ u8 level;
|
||||
/*0x2B*/ u8 friendship;
|
||||
/*0x2C*/ u16 maxHP;
|
||||
/*0x2E*/ u16 item;
|
||||
/*0x30*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
|
||||
/*0x3B*/ u8 ppBonuses;
|
||||
/*0x3C*/ u8 otName[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x44*/ u32 experience;
|
||||
/*0x48*/ u32 personality;
|
||||
/*0x4C*/ u32 status1;
|
||||
/*0x50*/ u32 status2;
|
||||
/*0x54*/ u32 otId;
|
||||
/*0x22*/ u8 type1;
|
||||
/*0x23*/ u8 type2;
|
||||
/*0x24*/ u8 type3;
|
||||
/*0x25*/ u8 pp[MAX_MON_MOVES];
|
||||
/*0x29*/ u16 hp;
|
||||
/*0x2B*/ u8 level;
|
||||
/*0x2C*/ u8 friendship;
|
||||
/*0x2D*/ u16 maxHP;
|
||||
/*0x2F*/ u16 item;
|
||||
/*0x31*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
|
||||
/*0x3C*/ u8 ppBonuses;
|
||||
/*0x3D*/ u8 otName[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x45*/ u32 experience;
|
||||
/*0x49*/ u32 personality;
|
||||
/*0x4D*/ u32 status1;
|
||||
/*0x51*/ u32 status2;
|
||||
/*0x55*/ u32 otId;
|
||||
/*0x59*/ u8 metLevel;
|
||||
/*0x5A*/ bool8 isShiny;
|
||||
};
|
||||
|
||||
struct SpeciesInfo /*0x8C*/
|
||||
|
|
@ -249,9 +386,9 @@ struct SpeciesInfo /*0x8C*/
|
|||
/* 0x38 */ u16 trainerScale;
|
||||
/* 0x3A */ u16 trainerOffset;
|
||||
/* 0x3C */ const u8 *description;
|
||||
/* 0x40 */ u8 bodyColor : 7;
|
||||
/* 0x40 */ u8 bodyColor:7;
|
||||
// Graphical Data
|
||||
u8 noFlip : 1;
|
||||
u8 noFlip:1;
|
||||
/* 0x41 */ u8 frontAnimDelay;
|
||||
/* 0x42 */ u8 frontAnimId;
|
||||
/* 0x43 */ u8 backAnimId;
|
||||
|
|
@ -266,7 +403,9 @@ struct SpeciesInfo /*0x8C*/
|
|||
/* 0x64 */ const u32 *shinyPaletteFemale;
|
||||
/* 0x68 */ const u8 *iconSprite;
|
||||
/* 0x6C */ const u8 *iconSpriteFemale;
|
||||
// #if P_FOOTPRINTS
|
||||
/* 0x70 */ const u8 *footprint;
|
||||
// #endif
|
||||
// All Pokémon pics are 64x64, but this data table defines where in this 64x64 frame the sprite's non-transparent pixels actually are.
|
||||
/* 0x74 */ u8 frontPicSize; // The dimensions of this drawn pixel area.
|
||||
/* 0x74 */ u8 frontPicSizeFemale; // The dimensions of this drawn pixel area.
|
||||
|
|
@ -282,6 +421,7 @@ struct SpeciesInfo /*0x8C*/
|
|||
/* 0x7A */ u32 isLegendary:1;
|
||||
u32 isMythical:1;
|
||||
u32 isUltraBeast:1;
|
||||
u32 isTotem:1;
|
||||
u32 isParadoxForm:1;
|
||||
u32 isMegaEvolution:1;
|
||||
u32 isPrimalReversion:1;
|
||||
|
|
@ -294,7 +434,8 @@ struct SpeciesInfo /*0x8C*/
|
|||
u32 cannotBeTraded:1;
|
||||
u32 allPerfectIVs:1;
|
||||
u32 dexForceRequired:1; // This species will be taken into account for Pokédex ratings even if they have the "isMythical" flag set.
|
||||
u32 padding4:17;
|
||||
u32 tmIlliterate:1; // This species will be unable to learn the universal moves.
|
||||
u32 padding4:15;
|
||||
// Move Data
|
||||
/* 0x80 */ const struct LevelUpMove *levelUpLearnset;
|
||||
/* 0x84 */ const u16 *teachableLearnset;
|
||||
|
|
@ -305,7 +446,7 @@ struct SpeciesInfo /*0x8C*/
|
|||
|
||||
struct BattleMove
|
||||
{
|
||||
u8 effect;
|
||||
u16 effect;
|
||||
u8 power;
|
||||
u8 type;
|
||||
u8 accuracy;
|
||||
|
|
@ -316,6 +457,115 @@ struct BattleMove
|
|||
u8 flags;
|
||||
};
|
||||
|
||||
struct MoveInfo
|
||||
{
|
||||
const u8 *name;
|
||||
const u8 *description;
|
||||
u16 effect;
|
||||
u16 type:5;
|
||||
u16 category:2;
|
||||
u16 power:9; // up to 511
|
||||
u16 accuracy:7;
|
||||
u16 target:9;
|
||||
u8 pp;
|
||||
union {
|
||||
u8 effect;
|
||||
u8 powerOverride;
|
||||
} zMove;
|
||||
|
||||
s32 priority:4;
|
||||
u32 recoil:7;
|
||||
u32 strikeCount:4; // Max 15 hits. Defaults to 1 if not set. May apply its effect on each hit.
|
||||
u32 criticalHitStage:2;
|
||||
u32 alwaysCriticalHit:1;
|
||||
u32 numAdditionalEffects:2; // limited to 3 - don't want to get too crazy
|
||||
// 12 bits left to complete this word - continues into flags
|
||||
|
||||
// Flags
|
||||
u32 makesContact:1;
|
||||
u32 ignoresProtect:1;
|
||||
u32 magicCoatAffected:1;
|
||||
u32 snatchAffected:1;
|
||||
u32 ignoresKingsRock:1;
|
||||
u32 punchingMove:1;
|
||||
u32 bitingMove:1;
|
||||
u32 pulseMove:1;
|
||||
u32 soundMove:1;
|
||||
u32 ballisticMove:1;
|
||||
u32 powderMove:1;
|
||||
u32 danceMove:1;
|
||||
u32 windMove:1;
|
||||
u32 slicingMove:1; // end of word
|
||||
u32 healingMove:1;
|
||||
u32 minimizeDoubleDamage:1;
|
||||
u32 ignoresTargetAbility:1;
|
||||
u32 ignoresTargetDefenseEvasionStages:1;
|
||||
u32 damagesUnderground:1;
|
||||
u32 damagesUnderwater:1;
|
||||
u32 damagesAirborne:1;
|
||||
u32 damagesAirborneDoubleDamage:1;
|
||||
u32 ignoreTypeIfFlyingAndUngrounded:1;
|
||||
u32 thawsUser:1;
|
||||
u32 ignoresSubstitute:1;
|
||||
u32 forcePressure:1;
|
||||
u32 cantUseTwice:1;
|
||||
|
||||
// Ban flags
|
||||
u32 gravityBanned:1;
|
||||
u32 mirrorMoveBanned:1;
|
||||
u32 meFirstBanned:1;
|
||||
u32 mimicBanned:1;
|
||||
u32 metronomeBanned:1;
|
||||
u32 copycatBanned:1;
|
||||
u32 assistBanned:1; // Matches same moves as copycatBanned + semi-invulnerable moves and Mirror Coat.
|
||||
u32 sleepTalkBanned:1;
|
||||
u32 instructBanned:1;
|
||||
u32 encoreBanned:1;
|
||||
u32 parentalBondBanned:1;
|
||||
u32 skyBattleBanned:1;
|
||||
u32 sketchBanned:1;
|
||||
|
||||
u32 argument;
|
||||
|
||||
// primary/secondary effects
|
||||
const struct AdditionalEffect *additionalEffects;
|
||||
|
||||
// contest parameters
|
||||
// u8 contestEffect;
|
||||
// u8 contestCategory:3;
|
||||
// u8 contestComboStarterId;
|
||||
// u8 contestComboMoves[MAX_COMBO_MOVES];
|
||||
};
|
||||
|
||||
#define EFFECTS_ARR(...) (const struct AdditionalEffect[]) {__VA_ARGS__}
|
||||
#define ADDITIONAL_EFFECTS(...) EFFECTS_ARR( __VA_ARGS__ ), .numAdditionalEffects = ARRAY_COUNT(EFFECTS_ARR( __VA_ARGS__ ))
|
||||
|
||||
// Just a hack to make a move boosted by Sheer Force despite having no secondary effects affected
|
||||
#define SHEER_FORCE_HACK { .moveEffect = 0, .chance = 100, }
|
||||
|
||||
struct AdditionalEffect
|
||||
{
|
||||
u16 moveEffect;
|
||||
u8 self:1;
|
||||
u8 onlyIfTargetRaisedStats:1;
|
||||
u8 onChargeTurnOnly:1;
|
||||
u8 chance; // 0% = effect certain, primary effect
|
||||
};
|
||||
|
||||
struct Ability
|
||||
{
|
||||
u8 name[ABILITY_NAME_LENGTH + 1];
|
||||
const u8 *description;
|
||||
s8 aiRating;
|
||||
u8 cantBeCopied:1; // cannot be copied by Role Play or Doodle
|
||||
u8 cantBeSwapped:1; // cannot be swapped with Skill Swap or Wandering Spirit
|
||||
u8 cantBeTraced:1; // cannot be copied by Trace - same as cantBeCopied except for Wonder Guard
|
||||
u8 cantBeSuppressed:1; // cannot be negated by Gastro Acid or Neutralizing Gas
|
||||
u8 cantBeOverwritten:1; // cannot be overwritten by Entrainment, Worry Seed or Simple Beam (but can be by Mummy) - same as cantBeSuppressed except for Truant
|
||||
u8 breakable:1; // can be bypassed by Mold Breaker and clones
|
||||
u8 failsOnImposter:1; // doesn't work on an Imposter mon; when can we actually use this?
|
||||
};
|
||||
|
||||
#define SPINDA_SPOT_WIDTH 16
|
||||
#define SPINDA_SPOT_HEIGHT 16
|
||||
|
||||
|
|
@ -341,6 +591,17 @@ struct FormChange
|
|||
u16 param3;
|
||||
};
|
||||
|
||||
struct Fusion
|
||||
{
|
||||
u16 fusionStorageIndex;
|
||||
u16 itemId;
|
||||
u16 targetSpecies1;
|
||||
u16 targetSpecies2;
|
||||
u16 fusingIntoMon;
|
||||
u16 fusionMove;
|
||||
u16 unfuseForgetMove;
|
||||
};
|
||||
|
||||
// struct __attribute__((packed)) LevelUpMove
|
||||
// {
|
||||
// u16 move:9;
|
||||
|
|
@ -365,7 +626,8 @@ struct Evolution
|
|||
|
||||
#define GET_SHINY_VALUE(otId, personality) (HIHALF(otId) ^ LOHALF(otId) ^ HIHALF(personality) ^ LOHALF(personality))
|
||||
|
||||
extern const struct BattleMove gBattleMoves[];
|
||||
extern const struct MoveInfo gMovesInfo[];
|
||||
// extern const struct BattleMove gBattleMoves[];
|
||||
extern u8 gPlayerPartyCount;
|
||||
extern struct Pokemon gPlayerParty[PARTY_SIZE];
|
||||
extern u8 gEnemyPartyCount;
|
||||
|
|
@ -382,6 +644,7 @@ extern const u8 gFacilityClassToTrainerClass[];
|
|||
extern const struct SpriteTemplate gSpriteTemplates_Battlers[];
|
||||
extern const u8 gPPUpGetMask[];
|
||||
extern const u32 sExpCandyExperienceTable[];
|
||||
extern const struct Ability gAbilitiesInfo[];
|
||||
|
||||
void ZeroBoxMonData(struct BoxPokemon *boxMon);
|
||||
void ZeroMonData(struct Pokemon *mon);
|
||||
|
|
@ -405,13 +668,9 @@ void SetMonMoveSlot(struct Pokemon *mon, u16 move, u8 slot);
|
|||
void SetBattleMonMoveSlot(struct BattlePokemon *mon, u16 move, u8 slot);
|
||||
u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove);
|
||||
void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move);
|
||||
s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 sideStatus, u16 powerOverride, u8 typeOverride, u8 battlerIdAtk, u8 battlerIdDef);
|
||||
|
||||
#define BATTLE_ALIVE_EXCEPT_ACTIVE 0
|
||||
#define BATTLE_ALIVE_ATK_SIDE 1
|
||||
#define BATTLE_ALIVE_DEF_SIDE 2
|
||||
|
||||
u8 CountAliveMonsInBattle(u8 caseId);
|
||||
s32 CalculateBaseDamageOld(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u32 sideStatus, u16 powerOverride, u8 typeOverride, u8 battlerIdAtk, u8 battlerIdDef);
|
||||
u32 GetMonAffectionHearts(struct Pokemon *pokemon);
|
||||
u8 CountAliveMonsInBattle(u8 caseId, u32 battler);
|
||||
|
||||
u8 GetDefaultMoveTarget(u8 battlerId);
|
||||
u8 GetMonGender(struct Pokemon *mon);
|
||||
|
|
@ -425,13 +684,25 @@ void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosit
|
|||
// u32 GetMonData(struct Pokemon *mon, s32 field, u8 *data);
|
||||
// u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data);
|
||||
|
||||
#ifdef IS_POKEMON_C
|
||||
u32 GetMonData(struct Pokemon *, s32, u8 *);
|
||||
u32 GetBoxMonData(struct BoxPokemon *, s32, u8 *);
|
||||
#else
|
||||
u32 GetMonData();
|
||||
u32 GetBoxMonData();
|
||||
#endif // IS_POKEMON_C
|
||||
// #ifdef IS_POKEMON_C
|
||||
// u32 GetMonData(struct Pokemon *, s32, u8 *);
|
||||
// u32 GetBoxMonData(struct BoxPokemon *, s32, u8 *);
|
||||
// #else
|
||||
// u32 GetMonData();
|
||||
// u32 GetBoxMonData();
|
||||
// #endif // IS_POKEMON_C
|
||||
|
||||
/* GameFreak called Get(Box)MonData with either 2 or 3 arguments, for
|
||||
* type safety we have a Get(Box)MonData macro which dispatches to
|
||||
* either Get(Box)MonData2 or Get(Box)MonData3 based on the number of
|
||||
* arguments. The two functions are aliases of each other, but they
|
||||
* differ for matching purposes in the caller's codegen. */
|
||||
#define GetMonData(...) CAT(GetMonData, NARG_8(__VA_ARGS__))(__VA_ARGS__)
|
||||
#define GetBoxMonData(...) CAT(GetBoxMonData, NARG_8(__VA_ARGS__))(__VA_ARGS__)
|
||||
u32 GetMonData3(struct Pokemon *mon, s32 field, u8 *data);
|
||||
u32 GetMonData2(struct Pokemon *mon, s32 field);
|
||||
u32 GetBoxMonData3(struct BoxPokemon *boxMon, s32 field, u8 *data);
|
||||
u32 GetBoxMonData2(struct BoxPokemon *boxMon, s32 field);
|
||||
|
||||
void SetMonData(struct Pokemon *mon, s32 field, const void *dataArg);
|
||||
void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg);
|
||||
|
|
@ -440,12 +711,21 @@ u8 GiveMonToPlayer(struct Pokemon *mon);
|
|||
u8 CalculatePlayerPartyCount(void);
|
||||
u8 CalculateEnemyPartyCount(void);
|
||||
u8 GetMonsStateToDoubles(void);
|
||||
u16 GetAbilityBySpecies(u16 species, bool8 abilityNum);
|
||||
u16 GetAbilityBySpecies(u16 species, u8 abilityNum);
|
||||
u16 GetMonAbility(struct Pokemon *mon);
|
||||
u8 GetSecretBaseTrainerPicIndex(void);
|
||||
u8 GetSecretBaseTrainerNameIndex(void);
|
||||
bool8 IsPlayerPartyAndPokemonStorageFull(void);
|
||||
void GetSpeciesName(u8 *name, u16 species);
|
||||
const u8 *GetSpeciesName(u16 species);
|
||||
const u8 *GetSpeciesCategory(u16 species);
|
||||
const u8 *GetSpeciesPokedexDescription(u16 species);
|
||||
u16 GetSpeciesHeight(u16 species);
|
||||
u16 GetSpeciesWeight(u16 species);
|
||||
const struct LevelUpMove *GetSpeciesLevelUpLearnset(u16 species);
|
||||
const u16 *GetSpeciesTeachableLearnset(u16 species);
|
||||
const struct Evolution *GetSpeciesEvolutions(u16 species);
|
||||
const u16 *GetSpeciesFormTable(u16 species);
|
||||
const struct FormChange *GetSpeciesFormChanges(u16 species);
|
||||
u8 CalculatePPWithBonus(u16 move, u8 ppBonuses, u8 moveIndex);
|
||||
void RemoveMonPPBonus(struct Pokemon *mon, u8 moveIndex);
|
||||
void RemoveBattleMonPPBonus(struct BattlePokemon *mon, u8 moveIndex);
|
||||
|
|
@ -487,7 +767,7 @@ const u32 *GetMonFrontSpritePal(struct Pokemon *mon);
|
|||
const u32 *GetMonSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 personality);
|
||||
const u32 *GetMonSpritePalStruct(struct Pokemon *mon);
|
||||
const u32 *GetMonSpritePalStructFromOtIdPersonality(u16 species, u32 otId , u32 personality);
|
||||
bool32 IsHMMove2(u16 move);
|
||||
bool32 IsMoveHM(u16 move);
|
||||
bool8 IsMonSpriteNotFlipped(u16 species);
|
||||
s8 GetFlavorRelationByPersonality(u32 personality, u8 flavor);
|
||||
bool8 IsTradedMon(struct Pokemon *mon);
|
||||
|
|
@ -510,6 +790,14 @@ bool8 CheckBattleTypeGhost(struct Pokemon *mon, u8 bank);
|
|||
struct MonSpritesGfxManager *CreateMonSpritesGfxManager(u8 battlePosition, u8 mode);
|
||||
void DestroyMonSpritesGfxManager(void);
|
||||
u8 *MonSpritesGfxManager_GetSpritePtr(u8 bufferId);
|
||||
u16 GetFormSpeciesId(u16 speciesId, u8 formId);
|
||||
u8 GetFormIdFromFormSpeciesId(u16 formSpeciesId);
|
||||
u16 GetFormChangeTargetSpecies(struct Pokemon *mon, u16 method, u32 arg);
|
||||
u16 GetFormChangeTargetSpeciesBoxMon(struct BoxPokemon *boxMon, u16 method, u32 arg);
|
||||
bool32 DoesSpeciesHaveFormChangeMethod(u16 species, u16 method);
|
||||
void TryToSetBattleFormChangeMoves(struct Pokemon *mon, u16 method);
|
||||
bool8 IsMonPastEvolutionLevel(struct Pokemon *mon);
|
||||
bool32 IsPersonalityFemale(u16 species, u32 personality);
|
||||
|
||||
|
||||
bool8 HealStatusConditions(struct Pokemon *mon, u32 healMask, u8 battleId);
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ extern const struct SpritePalette gMonIconPaletteTable[];
|
|||
extern const u16 gMonIconPalettes[][16];
|
||||
// extern const u8 gMonIconPaletteIndices[];
|
||||
|
||||
const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo);
|
||||
const u8 *GetMonIconPtr(u16 speciesId, u32 personality);
|
||||
const u8 *GetMonIconTiles(u16 iconSpecies, bool32 extra);
|
||||
const u16 *GetValidMonIconPalettePtr(u16 speciesId);
|
||||
void LoadMonIconPalettes(void);
|
||||
|
|
|
|||
256
include/random.h
256
include/random.h
|
|
@ -3,24 +3,258 @@
|
|||
|
||||
#include "global.h"
|
||||
|
||||
extern u32 gRngValue;
|
||||
extern u32 gRng2Value;
|
||||
// extern u32 gRngValue;
|
||||
// extern u32 gRng2Value;
|
||||
|
||||
// //Returns a 16-bit pseudorandom number
|
||||
// u16 Random(void);
|
||||
// u16 Random2(void);
|
||||
|
||||
// //Returns a 32-bit pseudorandom number
|
||||
// #define Random32() (Random() | (Random() << 16))
|
||||
|
||||
// // The number 1103515245 comes from the example implementation of rand and srand
|
||||
// // in the ISO C standard.
|
||||
#define RAND_MULT 1103515245
|
||||
// #define ISO_RANDOMIZE1(val)(RAND_MULT * (val) + 24691)
|
||||
// #define ISO_RANDOMIZE2(val)(RAND_MULT * (val) + 12345)
|
||||
|
||||
// //Sets the initial seed value of the pseudorandom number generator
|
||||
// void SeedRng(u16 seed);
|
||||
// void SeedRng2(u16 seed);
|
||||
|
||||
|
||||
// The number 1103515245 comes from the example implementation of rand and srand
|
||||
// in the ISO C standard.
|
||||
#define ISO_RANDOMIZE1(val)(RAND_MULT * (val) + 24691)
|
||||
#define ISO_RANDOMIZE2(val)(RAND_MULT * (val) + 12345)
|
||||
|
||||
/* Some functions have been added to support HQ_RANDOM.
|
||||
*
|
||||
* If using HQ_RANDOM, you cannot call Random() in interrupt handlers safely.
|
||||
* AdvanceRandom() is provided to handle burning numbers in the VBlank handler
|
||||
* if you choose to do that, and can be used regardless of HQ_RANDOM setting.
|
||||
* If you need to use random numbers in the VBlank handler, a local state
|
||||
* should be used instead.
|
||||
*
|
||||
* LocalRandom(*val) allows you to have local random states that are the same
|
||||
* type as the global states regardless of HQ_RANDOM setting, which is useful
|
||||
* if you want to be able to set them from or assign them to gRngValue.
|
||||
* LocalRandomSeed(u32) returns a properly seeded rng_value_t.
|
||||
*
|
||||
* Random2_32() was added to HQ_RANDOM because the output of the generator is
|
||||
* always 32 bits and Random()/Random2() are just wrappers in that mode. It is
|
||||
* also available in non-HQ mode for consistency.
|
||||
*/
|
||||
|
||||
#if HQ_RANDOM == TRUE
|
||||
struct Sfc32State {
|
||||
u32 a;
|
||||
u32 b;
|
||||
u32 c;
|
||||
u32 ctr;
|
||||
};
|
||||
|
||||
typedef struct Sfc32State rng_value_t;
|
||||
|
||||
#define RNG_VALUE_EMPTY {}
|
||||
|
||||
// Calling this function directly is discouraged.
|
||||
// Use LocalRandom() instead.
|
||||
static inline u32 _SFC32_Next(struct Sfc32State *state)
|
||||
{
|
||||
const u32 result = state->a + state->b + state->ctr++;
|
||||
state->a = state->b ^ (state->b >> 9);
|
||||
state->b = state->c * 9;
|
||||
state->c = result + ((state->c << 21) | (state->c >> 11));
|
||||
return result;
|
||||
}
|
||||
|
||||
static inline u16 LocalRandom(rng_value_t *val)
|
||||
{
|
||||
return _SFC32_Next(val) >> 16;
|
||||
}
|
||||
|
||||
u32 Random32(void);
|
||||
u32 Random2_32(void);
|
||||
|
||||
static inline u16 Random(void)
|
||||
{
|
||||
return Random32() >> 16;
|
||||
}
|
||||
|
||||
void SeedRng(u32 seed);
|
||||
void SeedRng2(u32 seed);
|
||||
rng_value_t LocalRandomSeed(u32 seed);
|
||||
|
||||
static inline u16 Random2(void)
|
||||
{
|
||||
return Random2_32() >> 16;
|
||||
}
|
||||
|
||||
void AdvanceRandom(void);
|
||||
#else
|
||||
typedef u32 rng_value_t;
|
||||
|
||||
#define RNG_VALUE_EMPTY 0
|
||||
|
||||
//Returns a 16-bit pseudorandom number
|
||||
u16 Random(void);
|
||||
u16 Random2(void);
|
||||
|
||||
//Returns a 32-bit pseudorandom number
|
||||
#define Random32() (Random() | (Random() << 16))
|
||||
|
||||
// The number 1103515245 comes from the example implementation of rand and srand
|
||||
// in the ISO C standard.
|
||||
#define RAND_MULT 1103515245
|
||||
#define ISO_RANDOMIZE1(val)(RAND_MULT * (val) + 24691)
|
||||
#define ISO_RANDOMIZE2(val)(RAND_MULT * (val) + 12345)
|
||||
|
||||
//Sets the initial seed value of the pseudorandom number generator
|
||||
void SeedRng(u16 seed);
|
||||
void SeedRng2(u16 seed);
|
||||
|
||||
//Returns a 32-bit pseudorandom number
|
||||
#define Random32() (Random() | (Random() << 16))
|
||||
#define Random2_32() (Random2() | (Random2() << 16))
|
||||
|
||||
static inline u16 LocalRandom(rng_value_t *val)
|
||||
{
|
||||
*val = ISO_RANDOMIZE1(*val);
|
||||
return *val >> 16;
|
||||
}
|
||||
|
||||
static inline void AdvanceRandom(void)
|
||||
{
|
||||
Random();
|
||||
}
|
||||
|
||||
static inline rng_value_t LocalRandomSeed(u32 seed)
|
||||
{
|
||||
return seed;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
extern rng_value_t gRngValue;
|
||||
extern rng_value_t gRng2Value;
|
||||
|
||||
void Shuffle8(void *data, size_t n);
|
||||
void Shuffle16(void *data, size_t n);
|
||||
void Shuffle32(void *data, size_t n);
|
||||
void ShuffleN(void *data, size_t n, size_t size);
|
||||
|
||||
static inline void Shuffle(void *data, size_t n, size_t size)
|
||||
{
|
||||
switch (size)
|
||||
{
|
||||
case 1: Shuffle8(data, n); break;
|
||||
case 2: Shuffle16(data, n); break;
|
||||
case 4: Shuffle32(data, n); break;
|
||||
default: ShuffleN(data, n, size); break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Structured random number generator.
|
||||
* Instead of the caller converting bits from Random() to a meaningful
|
||||
* value, the caller provides metadata that is used to return the
|
||||
* meaningful value directly. This allows code to interpret the random
|
||||
* call, for example, battle tests know what the domain of a random call
|
||||
* is, and can exhaustively test it.
|
||||
*
|
||||
* RandomTag identifies the purpose of the value.
|
||||
*
|
||||
* RandomUniform(tag, lo, hi) returns a number from lo to hi inclusive
|
||||
* with uniform probability.
|
||||
*
|
||||
* RandomUniformExcept(tag, lo, hi, reject) returns a number from lo to
|
||||
* hi inclusive with uniform probability, excluding those for which
|
||||
* reject returns TRUE.
|
||||
*
|
||||
* RandomElement(tag, array) returns an element in array with uniform
|
||||
* probability. The array must be known at compile-time (e.g. a global
|
||||
* const array).
|
||||
*
|
||||
* RandomPercentage(tag, t) returns FALSE with probability (1-t)/100,
|
||||
* and TRUE with probability t/100.
|
||||
*
|
||||
* RandomWeighted(tag, w0, w1, ... wN) returns a number from 0 to N
|
||||
* inclusive. The return value is proportional to the weights, e.g.
|
||||
* RandomWeighted(..., 1, 1) returns 50% 0s and 50% 1s.
|
||||
* RandomWeighted(..., 2, 1) returns 2/3 0s and 1/3 1s. */
|
||||
|
||||
enum RandomTag
|
||||
{
|
||||
RNG_NONE,
|
||||
RNG_ACCURACY,
|
||||
RNG_CONFUSION,
|
||||
RNG_CRITICAL_HIT,
|
||||
RNG_CUTE_CHARM,
|
||||
RNG_DAMAGE_MODIFIER,
|
||||
RNG_DIRE_CLAW,
|
||||
RNG_FLAME_BODY,
|
||||
RNG_FORCE_RANDOM_SWITCH,
|
||||
RNG_FROZEN,
|
||||
RNG_G_MAX_STUN_SHOCK,
|
||||
RNG_G_MAX_BEFUDDLE,
|
||||
RNG_G_MAX_REPLENISH,
|
||||
RNG_G_MAX_SNOOZE,
|
||||
RNG_HITS,
|
||||
RNG_HOLD_EFFECT_FLINCH,
|
||||
RNG_INFATUATION,
|
||||
RNG_LOADED_DICE,
|
||||
RNG_METRONOME,
|
||||
RNG_PARALYSIS,
|
||||
RNG_POISON_POINT,
|
||||
RNG_RAMPAGE_TURNS,
|
||||
RNG_SECONDARY_EFFECT,
|
||||
RNG_SECONDARY_EFFECT_2,
|
||||
RNG_SECONDARY_EFFECT_3,
|
||||
RNG_SLEEP_TURNS,
|
||||
RNG_SPEED_TIE,
|
||||
RNG_STATIC,
|
||||
RNG_STENCH,
|
||||
RNG_TRI_ATTACK,
|
||||
RNG_QUICK_DRAW,
|
||||
RNG_QUICK_CLAW,
|
||||
RNG_TRACE,
|
||||
RNG_FICKLE_BEAM,
|
||||
};
|
||||
|
||||
#define RandomWeighted(tag, ...) \
|
||||
({ \
|
||||
const u8 weights[] = { __VA_ARGS__ }; \
|
||||
u32 sum, i; \
|
||||
for (i = 0, sum = 0; i < ARRAY_COUNT(weights); i++) \
|
||||
sum += weights[i]; \
|
||||
RandomWeightedArray(tag, sum, ARRAY_COUNT(weights), weights); \
|
||||
})
|
||||
|
||||
#define RandomPercentage(tag, t) \
|
||||
({ \
|
||||
u32 r; \
|
||||
if (t <= 0) \
|
||||
{ \
|
||||
r = FALSE; \
|
||||
} \
|
||||
else if (t >= 100) \
|
||||
{ \
|
||||
r = TRUE; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
const u8 weights[] = { 100 - t, t }; \
|
||||
r = RandomWeightedArray(tag, 100, ARRAY_COUNT(weights), weights); \
|
||||
} \
|
||||
r; \
|
||||
})
|
||||
|
||||
#define RandomElement(tag, array) \
|
||||
({ \
|
||||
*(typeof((array)[0]) *)RandomElementArray(tag, array, sizeof((array)[0]), ARRAY_COUNT(array)); \
|
||||
})
|
||||
|
||||
u32 RandomUniform(enum RandomTag, u32 lo, u32 hi);
|
||||
u32 RandomUniformExcept(enum RandomTag, u32 lo, u32 hi, bool32 (*reject)(u32));
|
||||
u32 RandomWeightedArray(enum RandomTag, u32 sum, u32 n, const u8 *weights);
|
||||
const void *RandomElementArray(enum RandomTag, const void *array, size_t size, size_t count);
|
||||
|
||||
u32 RandomUniformDefault(enum RandomTag, u32 lo, u32 hi);
|
||||
u32 RandomUniformExceptDefault(enum RandomTag, u32 lo, u32 hi, bool32 (*reject)(u32));
|
||||
u32 RandomWeightedArrayDefault(enum RandomTag, u32 sum, u32 n, const u8 *weights);
|
||||
const void *RandomElementArrayDefault(enum RandomTag, const void *array, size_t size, size_t count);
|
||||
|
||||
|
||||
#endif // GUARD_RANDOM_H
|
||||
|
|
|
|||
|
|
@ -282,10 +282,8 @@ static const u16 sDiscouragedPowerfulMoveEffects[] =
|
|||
{
|
||||
EFFECT_EXPLOSION,
|
||||
EFFECT_DREAM_EATER,
|
||||
EFFECT_RAZOR_WIND,
|
||||
EFFECT_SKY_ATTACK,
|
||||
EFFECT_TWO_TURNS_ATTACK,
|
||||
EFFECT_RECHARGE,
|
||||
EFFECT_SKULL_BASH,
|
||||
EFFECT_SOLAR_BEAM,
|
||||
EFFECT_SPIT_UP,
|
||||
EFFECT_FOCUS_PUNCH,
|
||||
|
|
@ -514,16 +512,18 @@ static void ClearBattlerMoveHistory(u8 battlerId)
|
|||
BATTLE_HISTORY->usedMoves[battlerId / 2][i] = MOVE_NONE;
|
||||
}
|
||||
|
||||
void RecordAbilityBattle(u8 battlerId, u16 abilityId)
|
||||
void RecordAbilityBattle(u32 battlerId, u32 abilityId)
|
||||
{
|
||||
if (GetBattlerSide(battlerId) == 0)
|
||||
BATTLE_HISTORY->abilities[GET_BATTLER_SIDE(battlerId)] = abilityId;
|
||||
BATTLE_HISTORY->abilities[battlerId] = abilityId;
|
||||
// TODO: AI
|
||||
// AI_PARTY->mons[GetBattlerSide(battlerId)][gBattlerPartyIndexes[battlerId]].ability = abilityId;
|
||||
}
|
||||
|
||||
void RecordItemEffectBattle(u8 battlerId, u8 itemEffect)
|
||||
void RecordItemEffectBattle(u32 battlerId, u32 itemEffect)
|
||||
{
|
||||
if (GetBattlerSide(battlerId) == 0)
|
||||
BATTLE_HISTORY->itemEffects[GET_BATTLER_SIDE(battlerId)] = itemEffect;
|
||||
BATTLE_HISTORY->itemEffects[battlerId] = itemEffect;
|
||||
// TODO: AI
|
||||
// AI_PARTY->mons[GetBattlerSide(battlerId)][gBattlerPartyIndexes[battlerId]].heldEffect = itemEffect;
|
||||
}
|
||||
|
||||
static void Cmd_if_random_less_than(void)
|
||||
|
|
@ -894,18 +894,19 @@ static void Cmd_if_in_bytes(void)
|
|||
|
||||
static void Cmd_if_not_in_bytes(void)
|
||||
{
|
||||
const u8 *ptr = T1_READ_PTR(sAIScriptPtr + 1);
|
||||
CMD_ARGS(const u8 *list, const u8 *ptr);
|
||||
const u8 *ptr = cmd->list;
|
||||
|
||||
while (*ptr != 0xFF)
|
||||
{
|
||||
if (AI_THINKING_STRUCT->funcResult == *ptr)
|
||||
{
|
||||
sAIScriptPtr += 9;
|
||||
sAIScriptPtr = cmd->nextInstr;
|
||||
return;
|
||||
}
|
||||
ptr++;
|
||||
}
|
||||
sAIScriptPtr = T1_READ_PTR(sAIScriptPtr + 5);
|
||||
sAIScriptPtr = cmd->ptr;
|
||||
}
|
||||
|
||||
static void Cmd_if_in_hwords(void)
|
||||
|
|
@ -947,7 +948,7 @@ static void Cmd_if_user_has_attacking_move(void)
|
|||
for (i = 0; i < MAX_MON_MOVES; i++)
|
||||
{
|
||||
if (gBattleMons[gBattlerAttacker].moves[i] != 0
|
||||
&& gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].power != 0)
|
||||
&& gMovesInfo[gBattleMons[gBattlerAttacker].moves[i]].power != 0)
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -964,7 +965,7 @@ static void Cmd_if_user_has_no_attacking_moves(void)
|
|||
for (i = 0; i < MAX_MON_MOVES; i++)
|
||||
{
|
||||
if (gBattleMons[gBattlerAttacker].moves[i] != 0
|
||||
&& gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].power != 0)
|
||||
&& gMovesInfo[gBattleMons[gBattlerAttacker].moves[i]].power != 0)
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -997,7 +998,7 @@ static void Cmd_get_type(void)
|
|||
AI_THINKING_STRUCT->funcResult = gBattleMons[gBattlerTarget].type2;
|
||||
break;
|
||||
case AI_TYPE_MOVE:
|
||||
AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].type;
|
||||
AI_THINKING_STRUCT->funcResult = gMovesInfo[AI_THINKING_STRUCT->moveConsidered].type;
|
||||
break;
|
||||
}
|
||||
sAIScriptPtr += 2;
|
||||
|
|
@ -1005,7 +1006,7 @@ static void Cmd_get_type(void)
|
|||
|
||||
static void Cmd_get_considered_move_power(void)
|
||||
{
|
||||
AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power;
|
||||
AI_THINKING_STRUCT->funcResult = gMovesInfo[AI_THINKING_STRUCT->moveConsidered].power;
|
||||
sAIScriptPtr += 1;
|
||||
}
|
||||
|
||||
|
|
@ -1016,11 +1017,11 @@ static void Cmd_get_how_powerful_move_is(void)
|
|||
|
||||
for (i = 0; sDiscouragedPowerfulMoveEffects[i] != 0xFFFF; i++)
|
||||
{
|
||||
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect == sDiscouragedPowerfulMoveEffects[i])
|
||||
if (gMovesInfo[AI_THINKING_STRUCT->moveConsidered].effect == sDiscouragedPowerfulMoveEffects[i])
|
||||
break;
|
||||
}
|
||||
|
||||
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power > 1
|
||||
if (gMovesInfo[AI_THINKING_STRUCT->moveConsidered].power > 1
|
||||
&& sDiscouragedPowerfulMoveEffects[i] == 0xFFFF)
|
||||
{
|
||||
gDynamicBasePower = 0;
|
||||
|
|
@ -1033,13 +1034,13 @@ static void Cmd_get_how_powerful_move_is(void)
|
|||
{
|
||||
for (i = 0; sDiscouragedPowerfulMoveEffects[i] != 0xFFFF; i++)
|
||||
{
|
||||
if (gBattleMoves[gBattleMons[gBattlerAttacker].moves[checkedMove]].effect == sDiscouragedPowerfulMoveEffects[i])
|
||||
if (gMovesInfo[gBattleMons[gBattlerAttacker].moves[checkedMove]].effect == sDiscouragedPowerfulMoveEffects[i])
|
||||
break;
|
||||
}
|
||||
|
||||
if (gBattleMons[gBattlerAttacker].moves[checkedMove] != MOVE_NONE
|
||||
&& sDiscouragedPowerfulMoveEffects[i] == 0xFFFF
|
||||
&& gBattleMoves[gBattleMons[gBattlerAttacker].moves[checkedMove]].power > 1)
|
||||
&& gMovesInfo[gBattleMons[gBattlerAttacker].moves[checkedMove]].power > 1)
|
||||
{
|
||||
gCurrentMove = gBattleMons[gBattlerAttacker].moves[checkedMove];
|
||||
AI_CalcDmg(gBattlerAttacker, gBattlerTarget);
|
||||
|
|
@ -1177,7 +1178,7 @@ static void Cmd_get_considered_move(void)
|
|||
|
||||
static void Cmd_get_considered_move_effect(void)
|
||||
{
|
||||
AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect;
|
||||
AI_THINKING_STRUCT->funcResult = gMovesInfo[AI_THINKING_STRUCT->moveConsidered].effect;
|
||||
sAIScriptPtr += 1;
|
||||
}
|
||||
|
||||
|
|
@ -1444,18 +1445,28 @@ static void Cmd_get_weather(void)
|
|||
|
||||
static void Cmd_if_effect(void)
|
||||
{
|
||||
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect == sAIScriptPtr[1])
|
||||
sAIScriptPtr = T1_READ_PTR(sAIScriptPtr + 2);
|
||||
CMD_ARGS(u16 byte, const u8 *ptr);
|
||||
if (gMovesInfo[AI_THINKING_STRUCT->moveConsidered].effect == cmd->byte)
|
||||
{
|
||||
sAIScriptPtr = cmd->ptr;
|
||||
}
|
||||
else
|
||||
sAIScriptPtr += 6;
|
||||
{
|
||||
sAIScriptPtr = cmd->nextInstr;
|
||||
}
|
||||
}
|
||||
|
||||
static void Cmd_if_not_effect(void)
|
||||
{
|
||||
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect != sAIScriptPtr[1])
|
||||
sAIScriptPtr = T1_READ_PTR(sAIScriptPtr + 2);
|
||||
CMD_ARGS(u16 byte, const u8 *ptr);
|
||||
if (gMovesInfo[AI_THINKING_STRUCT->moveConsidered].effect != cmd->byte)
|
||||
{
|
||||
sAIScriptPtr = cmd->ptr;
|
||||
}
|
||||
else
|
||||
sAIScriptPtr += 6;
|
||||
{
|
||||
sAIScriptPtr = cmd->nextInstr;
|
||||
}
|
||||
}
|
||||
|
||||
static void Cmd_if_stat_level_less_than(void)
|
||||
|
|
@ -1520,7 +1531,7 @@ static void Cmd_if_stat_level_not_equal(void)
|
|||
|
||||
static void Cmd_if_can_faint(void)
|
||||
{
|
||||
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power < 2)
|
||||
if (gMovesInfo[AI_THINKING_STRUCT->moveConsidered].power < 2)
|
||||
{
|
||||
sAIScriptPtr += 5;
|
||||
return;
|
||||
|
|
@ -1549,7 +1560,7 @@ static void Cmd_if_can_faint(void)
|
|||
|
||||
static void Cmd_if_cant_faint(void)
|
||||
{
|
||||
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power < 2)
|
||||
if (gMovesInfo[AI_THINKING_STRUCT->moveConsidered].power < 2)
|
||||
{
|
||||
sAIScriptPtr += 5;
|
||||
return;
|
||||
|
|
@ -1644,59 +1655,61 @@ static void Cmd_if_doesnt_have_move(void)
|
|||
|
||||
static void Cmd_if_has_move_with_effect(void)
|
||||
{
|
||||
CMD_ARGS(u8 battler, u16 effect, const u8 *ptr);
|
||||
int i;
|
||||
|
||||
switch (sAIScriptPtr[1])
|
||||
switch (cmd->battler)
|
||||
{
|
||||
case AI_USER:
|
||||
case AI_USER_PARTNER:
|
||||
for (i = 0; i < MAX_MON_MOVES; i++)
|
||||
{
|
||||
if (gBattleMons[gBattlerAttacker].moves[i] != 0 && gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].effect == sAIScriptPtr[2])
|
||||
if (gBattleMons[gBattlerAttacker].moves[i] != 0 && gMovesInfo[gBattleMons[gBattlerAttacker].moves[i]].effect == cmd->effect)
|
||||
break;
|
||||
}
|
||||
if (i != MAX_MON_MOVES)
|
||||
sAIScriptPtr = T1_READ_PTR(sAIScriptPtr + 3);
|
||||
sAIScriptPtr = cmd->ptr;
|
||||
else
|
||||
sAIScriptPtr += 7;
|
||||
sAIScriptPtr = cmd->nextInstr;
|
||||
break;
|
||||
case AI_TARGET:
|
||||
case AI_TARGET_PARTNER:
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
if (gBattleMons[gBattlerAttacker].moves[i] != 0 && gBattleMoves[BATTLE_HISTORY->usedMoves[gBattlerTarget >> 1][i]].effect == sAIScriptPtr[2])
|
||||
if (gBattleMons[gBattlerAttacker].moves[i] != 0 && gMovesInfo[BATTLE_HISTORY->usedMoves[gBattlerTarget >> 1][i]].effect == cmd->effect)
|
||||
break;
|
||||
}
|
||||
sAIScriptPtr = T1_READ_PTR(sAIScriptPtr + 3);
|
||||
sAIScriptPtr = cmd->ptr;
|
||||
}
|
||||
}
|
||||
|
||||
static void Cmd_if_doesnt_have_move_with_effect(void)
|
||||
{
|
||||
CMD_ARGS(u8 battler, u16 effect, const u8 *ptr);
|
||||
int i;
|
||||
|
||||
switch (sAIScriptPtr[1])
|
||||
switch (cmd->battler)
|
||||
{
|
||||
case AI_USER:
|
||||
case AI_USER_PARTNER:
|
||||
for (i = 0; i < MAX_MON_MOVES; i++)
|
||||
{
|
||||
if (gBattleMons[gBattlerAttacker].moves[i] != 0 && gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].effect == sAIScriptPtr[2])
|
||||
if (gBattleMons[gBattlerAttacker].moves[i] != 0 && gMovesInfo[gBattleMons[gBattlerAttacker].moves[i]].effect == cmd->effect)
|
||||
break;
|
||||
}
|
||||
if (i != MAX_MON_MOVES)
|
||||
sAIScriptPtr += 7;
|
||||
sAIScriptPtr = cmd->nextInstr;
|
||||
else
|
||||
sAIScriptPtr = T1_READ_PTR(sAIScriptPtr + 3);
|
||||
sAIScriptPtr = cmd->ptr;
|
||||
break;
|
||||
case AI_TARGET:
|
||||
case AI_TARGET_PARTNER:
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
if (BATTLE_HISTORY->usedMoves[gBattlerTarget >> 1][i] != 0 && gBattleMoves[BATTLE_HISTORY->usedMoves[gBattlerTarget >> 1][i]].effect == sAIScriptPtr[2])
|
||||
if (BATTLE_HISTORY->usedMoves[gBattlerTarget >> 1][i] != 0 && gMovesInfo[BATTLE_HISTORY->usedMoves[gBattlerTarget >> 1][i]].effect == cmd->effect)
|
||||
break;
|
||||
}
|
||||
sAIScriptPtr += 7;
|
||||
sAIScriptPtr = cmd->nextInstr;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1865,27 +1878,27 @@ static void Cmd_get_used_held_item(void)
|
|||
else
|
||||
battlerId = gBattlerTarget;
|
||||
|
||||
AI_THINKING_STRUCT->funcResult = ((u8 *)gBattleStruct->usedHeldItems)[battlerId * 2];
|
||||
AI_THINKING_STRUCT->funcResult = gBattleStruct->usedHeldItems[battlerId][GetBattlerSide(battlerId)];
|
||||
sAIScriptPtr += 2;
|
||||
}
|
||||
|
||||
static void Cmd_get_move_type_from_result(void)
|
||||
{
|
||||
AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].type;
|
||||
AI_THINKING_STRUCT->funcResult = gMovesInfo[AI_THINKING_STRUCT->funcResult].type;
|
||||
|
||||
sAIScriptPtr += 1;
|
||||
}
|
||||
|
||||
static void Cmd_get_move_power_from_result(void)
|
||||
{
|
||||
AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].power;
|
||||
AI_THINKING_STRUCT->funcResult = gMovesInfo[AI_THINKING_STRUCT->funcResult].power;
|
||||
|
||||
sAIScriptPtr += 1;
|
||||
}
|
||||
|
||||
static void Cmd_get_move_effect_from_result(void)
|
||||
{
|
||||
AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].effect;
|
||||
AI_THINKING_STRUCT->funcResult = gMovesInfo[AI_THINKING_STRUCT->funcResult].effect;
|
||||
|
||||
sAIScriptPtr += 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void)
|
|||
|| (gLastLandedMoves[gActiveBattler] == MOVE_NONE))
|
||||
return FALSE;
|
||||
if (gLastLandedMoves[gActiveBattler] == 0xFFFF
|
||||
|| gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0)
|
||||
|| gMovesInfo[gLastLandedMoves[gActiveBattler]].power == 0)
|
||||
return FALSE;
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
{
|
||||
|
|
@ -105,11 +105,11 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void)
|
|||
battlerIn1 = gActiveBattler;
|
||||
battlerIn2 = gActiveBattler;
|
||||
}
|
||||
if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_FIRE)
|
||||
if (gMovesInfo[gLastLandedMoves[gActiveBattler]].type == TYPE_FIRE)
|
||||
absorbingTypeAbility = ABILITY_FLASH_FIRE;
|
||||
else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_WATER)
|
||||
else if (gMovesInfo[gLastLandedMoves[gActiveBattler]].type == TYPE_WATER)
|
||||
absorbingTypeAbility = ABILITY_WATER_ABSORB;
|
||||
else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_ELECTRIC)
|
||||
else if (gMovesInfo[gLastLandedMoves[gActiveBattler]].type == TYPE_ELECTRIC)
|
||||
absorbingTypeAbility = ABILITY_VOLT_ABSORB;
|
||||
else
|
||||
return FALSE;
|
||||
|
|
@ -156,7 +156,7 @@ static bool8 ShouldSwitchIfNaturalCure(void)
|
|||
BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0);
|
||||
return TRUE;
|
||||
}
|
||||
else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0 && Random() & 1)
|
||||
else if (gMovesInfo[gLastLandedMoves[gActiveBattler]].power == 0 && Random() & 1)
|
||||
{
|
||||
*(gBattleStruct->AI_monToSwitchIntoId + (GetBattlerPosition(gActiveBattler) >> 1)) = PARTY_SIZE;
|
||||
BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0);
|
||||
|
|
@ -245,7 +245,7 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent)
|
|||
return FALSE;
|
||||
if ((gLastLandedMoves[gActiveBattler] == 0xFFFF)
|
||||
|| (gLastHitBy[gActiveBattler] == 0xFF)
|
||||
|| (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0))
|
||||
|| (gMovesInfo[gLastLandedMoves[gActiveBattler]].power == 0))
|
||||
return FALSE;
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
{
|
||||
|
|
@ -529,7 +529,7 @@ u8 GetMostSuitableMonToSwitchInto(void)
|
|||
{
|
||||
move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j);
|
||||
gBattleMoveDamage = 0;
|
||||
if (move != MOVE_NONE && gBattleMoves[move].power != 1)
|
||||
if (move != MOVE_NONE && gMovesInfo[move].power != 1)
|
||||
{
|
||||
AI_CalcDmg(gActiveBattler, opposingBattler);
|
||||
TypeCalc(move, gActiveBattler, opposingBattler);
|
||||
|
|
|
|||
|
|
@ -1723,3 +1723,30 @@ static void Cmd_stopsound(void)
|
|||
m4aMPlayStop(&gMPlayInfo_SE2);
|
||||
sBattleAnimScriptPtr++;
|
||||
}
|
||||
|
||||
u8 GetAnimBattlerId(u8 wantedBattler)
|
||||
{
|
||||
switch (wantedBattler)
|
||||
{
|
||||
case ANIM_ATTACKER:
|
||||
default:
|
||||
return gBattleAnimAttacker;
|
||||
case ANIM_TARGET:
|
||||
return gBattleAnimTarget;
|
||||
case ANIM_ATK_PARTNER:
|
||||
return BATTLE_PARTNER(gBattleAnimAttacker);
|
||||
case ANIM_DEF_PARTNER:
|
||||
return BATTLE_PARTNER(gBattleAnimTarget);
|
||||
case ANIM_PLAYER_LEFT ... ANIM_OPPONENT_RIGHT:
|
||||
return wantedBattler - MAX_BATTLERS_COUNT;
|
||||
}
|
||||
}
|
||||
|
||||
// battle_anim_throw.c
|
||||
|
||||
bool32 IsCriticalCapture(void)
|
||||
{
|
||||
return gBattleSpritesDataPtr->animationData->isCriticalCapture;
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
|||
|
|
@ -223,9 +223,9 @@ static u8 GetBattlerElevation(u8 battlerId, u16 species)
|
|||
if (species == SPECIES_CASTFORM)
|
||||
ret = sCastformElevations[gBattleMonForms[battlerId]];
|
||||
else if (species > NUM_SPECIES)
|
||||
ret = gEnemyMonElevation[0];
|
||||
ret = gSpeciesInfo[SPECIES_NONE].enemyMonElevation;
|
||||
else
|
||||
ret = gEnemyMonElevation[species];
|
||||
ret = gSpeciesInfo[species].enemyMonElevation;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -968,3 +968,12 @@ static void AnimTask_WaitAndRestoreVisibility(u8 taskId)
|
|||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
void AnimTask_SetInvisible(u8 taskId)
|
||||
{
|
||||
u32 battlerId = GetAnimBattlerId(gBattleAnimArgs[0]);
|
||||
u32 spriteId = gBattlerSpriteIds[battlerId];
|
||||
|
||||
gSprites[spriteId].invisible = gBattleSpritesDataPtr->battlerData[battlerId].invisible = gBattleAnimArgs[1];
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
|||
[CONTROLLER_HITANIMATION] = LinkOpponentHandleHitAnimation,
|
||||
[CONTROLLER_CANTSWITCH] = LinkOpponentHandleCantSwitch,
|
||||
[CONTROLLER_PLAYSE] = LinkOpponentHandlePlaySE,
|
||||
[CONTROLLER_PLAYFANFARE] = LinkOpponentHandlePlayFanfare,
|
||||
[CONTROLLER_PLAYFANFAREORBGM] = LinkOpponentHandlePlayFanfare,
|
||||
[CONTROLLER_FAINTINGCRY] = LinkOpponentHandleFaintingCry,
|
||||
[CONTROLLER_INTROSLIDE] = LinkOpponentHandleIntroSlide,
|
||||
[CONTROLLER_INTROTRAINERBALLTHROW] = LinkOpponentHandleIntroTrainerBallThrow,
|
||||
|
|
@ -505,7 +505,7 @@ static u32 CopyLinkOpponentMonData(u8 monId, u8 *dst)
|
|||
battleMon.speed = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED);
|
||||
battleMon.spAttack = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK);
|
||||
battleMon.spDefense = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF);
|
||||
battleMon.isEgg = GetMonData(&gEnemyParty[monId], MON_DATA_IS_EGG);
|
||||
// battleMon.isEgg = GetMonData(&gEnemyParty[monId], MON_DATA_IS_EGG);
|
||||
battleMon.abilityNum = GetMonData(&gEnemyParty[monId], MON_DATA_ABILITY_NUM);
|
||||
battleMon.otId = GetMonData(&gEnemyParty[monId], MON_DATA_OT_ID);
|
||||
GetMonData(&gEnemyParty[monId], MON_DATA_NICKNAME, nickname);
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
|||
[CONTROLLER_HITANIMATION] = LinkPartnerHandleHitAnimation,
|
||||
[CONTROLLER_CANTSWITCH] = LinkPartnerHandleCantSwitch,
|
||||
[CONTROLLER_PLAYSE] = LinkPartnerHandlePlaySE,
|
||||
[CONTROLLER_PLAYFANFARE] = LinkPartnerHandlePlayFanfare,
|
||||
[CONTROLLER_PLAYFANFAREORBGM] = LinkPartnerHandlePlayFanfare,
|
||||
[CONTROLLER_FAINTINGCRY] = LinkPartnerHandleFaintingCry,
|
||||
[CONTROLLER_INTROSLIDE] = LinkPartnerHandleIntroSlide,
|
||||
[CONTROLLER_INTROTRAINERBALLTHROW] = LinkPartnerHandleIntroTrainerBallThrow,
|
||||
|
|
@ -466,7 +466,7 @@ static u32 CopyLinkPartnerMonData(u8 monId, u8 *dst)
|
|||
battleMon.speed = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED);
|
||||
battleMon.spAttack = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK);
|
||||
battleMon.spDefense = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF);
|
||||
battleMon.isEgg = GetMonData(&gPlayerParty[monId], MON_DATA_IS_EGG);
|
||||
// battleMon.isEgg = GetMonData(&gPlayerParty[monId], MON_DATA_IS_EGG); TODO: check controllers if this is correct
|
||||
battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM);
|
||||
battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID);
|
||||
GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname);
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ static void (*const sOakOldManBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
|||
[CONTROLLER_HITANIMATION] = OakOldManHandleHitAnimation,
|
||||
[CONTROLLER_CANTSWITCH] = OakOldManHandleCmd42,
|
||||
[CONTROLLER_PLAYSE] = OakOldManHandlePlaySE,
|
||||
[CONTROLLER_PLAYFANFARE] = OakOldManHandlePlayFanfare,
|
||||
[CONTROLLER_PLAYFANFAREORBGM] = OakOldManHandlePlayFanfare,
|
||||
[CONTROLLER_FAINTINGCRY] = OakOldManHandleFaintingCry,
|
||||
[CONTROLLER_INTROSLIDE] = OakOldManHandleIntroSlide,
|
||||
[CONTROLLER_INTROTRAINERBALLTHROW] = OakOldManHandleIntroTrainerBallThrow,
|
||||
|
|
@ -1029,7 +1029,7 @@ static u32 CopyOakOldManMonData(u8 monId, u8 *dst)
|
|||
battleMon.speed = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED);
|
||||
battleMon.spAttack = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK);
|
||||
battleMon.spDefense = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF);
|
||||
battleMon.isEgg = GetMonData(&gPlayerParty[monId], MON_DATA_IS_EGG);
|
||||
// battleMon.isEgg = GetMonData(&gPlayerParty[monId], MON_DATA_IS_EGG);
|
||||
battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM);
|
||||
battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID);
|
||||
GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname);
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
|||
[CONTROLLER_HITANIMATION] = OpponentHandleHitAnimation,
|
||||
[CONTROLLER_CANTSWITCH] = OpponentHandleCmd42,
|
||||
[CONTROLLER_PLAYSE] = OpponentHandlePlaySE,
|
||||
[CONTROLLER_PLAYFANFARE] = OpponentHandlePlayFanfare,
|
||||
[CONTROLLER_PLAYFANFAREORBGM] = OpponentHandlePlayFanfare,
|
||||
[CONTROLLER_FAINTINGCRY] = OpponentHandleFaintingCry,
|
||||
[CONTROLLER_INTROSLIDE] = OpponentHandleIntroSlide,
|
||||
[CONTROLLER_INTROTRAINERBALLTHROW] = OpponentHandleIntroTrainerBallThrow,
|
||||
|
|
@ -490,7 +490,7 @@ static u32 GetOpponentMonData(u8 monId, u8 *dst)
|
|||
battleMon.speed = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED);
|
||||
battleMon.spAttack = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK);
|
||||
battleMon.spDefense = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF);
|
||||
battleMon.isEgg = GetMonData(&gEnemyParty[monId], MON_DATA_IS_EGG);
|
||||
// battleMon.isEgg = GetMonData(&gEnemyParty[monId], MON_DATA_IS_EGG);
|
||||
battleMon.abilityNum = GetMonData(&gEnemyParty[monId], MON_DATA_ABILITY_NUM);
|
||||
battleMon.otId = GetMonData(&gEnemyParty[monId], MON_DATA_OT_ID);
|
||||
GetMonData(&gEnemyParty[monId], MON_DATA_NICKNAME, nickname);
|
||||
|
|
@ -1367,9 +1367,9 @@ static void OpponentHandleChooseMove(void)
|
|||
BtlController_EmitTwoReturnValues(1, B_ACTION_RUN, 0);
|
||||
break;
|
||||
default:
|
||||
if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER))
|
||||
if (gMovesInfo[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER))
|
||||
gBattlerTarget = gActiveBattler;
|
||||
if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & MOVE_TARGET_BOTH)
|
||||
if (gMovesInfo[moveInfo->moves[chosenMoveId]].target & MOVE_TARGET_BOTH)
|
||||
{
|
||||
gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
|
||||
if (gAbsentBattlerFlags & gBitTable[gBattlerTarget])
|
||||
|
|
@ -1390,7 +1390,7 @@ static void OpponentHandleChooseMove(void)
|
|||
move = moveInfo->moves[chosenMoveId];
|
||||
}
|
||||
while (move == MOVE_NONE);
|
||||
if (gBattleMoves[move].target & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER))
|
||||
if (gMovesInfo[move].target & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER))
|
||||
BtlController_EmitTwoReturnValues(1, 10, (chosenMoveId) | (gActiveBattler << 8));
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
BtlController_EmitTwoReturnValues(1, 10, (chosenMoveId) | (GetBattlerAtPosition(Random() & 2) << 8));
|
||||
|
|
|
|||
|
|
@ -153,7 +153,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
|||
[CONTROLLER_HITANIMATION] = PlayerHandleHitAnimation,
|
||||
[CONTROLLER_CANTSWITCH] = PlayerHandleCmd42,
|
||||
[CONTROLLER_PLAYSE] = PlayerHandlePlaySE,
|
||||
[CONTROLLER_PLAYFANFARE] = PlayerHandlePlayFanfare,
|
||||
[CONTROLLER_PLAYFANFAREORBGM] = PlayerHandlePlayFanfare,
|
||||
[CONTROLLER_FAINTINGCRY] = PlayerHandleFaintingCry,
|
||||
[CONTROLLER_INTROSLIDE] = PlayerHandleIntroSlide,
|
||||
[CONTROLLER_INTROTRAINERBALLTHROW] = PlayerHandleIntroTrainerBallThrow,
|
||||
|
|
@ -378,7 +378,7 @@ static void HandleInputChooseTarget(void)
|
|||
case B_POSITION_PLAYER_RIGHT:
|
||||
if (gActiveBattler != gMultiUsePlayerCursor)
|
||||
++i;
|
||||
else if (gBattleMoves[GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler])].target & MOVE_TARGET_USER_OR_SELECTED)
|
||||
else if (gMovesInfo[GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler])].target & MOVE_TARGET_USER_OR_SELECTED)
|
||||
++i;
|
||||
break;
|
||||
case B_POSITION_OPPONENT_LEFT:
|
||||
|
|
@ -418,7 +418,7 @@ static void HandleInputChooseTarget(void)
|
|||
case B_POSITION_PLAYER_RIGHT:
|
||||
if (gActiveBattler != gMultiUsePlayerCursor)
|
||||
++i;
|
||||
else if (gBattleMoves[GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler])].target & MOVE_TARGET_USER_OR_SELECTED)
|
||||
else if (gMovesInfo[GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler])].target & MOVE_TARGET_USER_OR_SELECTED)
|
||||
++i;
|
||||
break;
|
||||
case B_POSITION_OPPONENT_LEFT:
|
||||
|
|
@ -454,7 +454,7 @@ void HandleInputChooseMove(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
moveTarget = gBattleMoves[moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]].target;
|
||||
moveTarget = gMovesInfo[moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]].target;
|
||||
}
|
||||
|
||||
if (moveTarget & MOVE_TARGET_USER)
|
||||
|
|
@ -475,7 +475,7 @@ void HandleInputChooseMove(void)
|
|||
{
|
||||
canSelectTarget = FALSE;
|
||||
}
|
||||
else if (!(moveTarget & (MOVE_TARGET_USER | MOVE_TARGET_USER_OR_SELECTED)) && CountAliveMonsInBattle(BATTLE_ALIVE_EXCEPT_ACTIVE) <= 1)
|
||||
else if (!(moveTarget & (MOVE_TARGET_USER | MOVE_TARGET_USER_OR_SELECTED)) && CountAliveMonsInBattle(BATTLE_ALIVE_EXCEPT_BATTLER, gActiveBattler) <= 1)
|
||||
{
|
||||
gMultiUsePlayerCursor = GetDefaultMoveTarget(gActiveBattler);
|
||||
canSelectTarget = FALSE;
|
||||
|
|
@ -1409,7 +1409,7 @@ static void MoveSelectionDisplayMoveType(void)
|
|||
*txtPtr++ = 6;
|
||||
*txtPtr++ = 1;
|
||||
txtPtr = StringCopy(txtPtr, gText_MoveInterfaceDynamicColors);
|
||||
StringCopy(txtPtr, gTypeNames[gBattleMoves[moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]].type]);
|
||||
StringCopy(txtPtr, gTypeNames[gMovesInfo[moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]].type]);
|
||||
BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MOVE_TYPE);
|
||||
}
|
||||
|
||||
|
|
@ -1549,7 +1549,7 @@ static u32 CopyPlayerMonData(u8 monId, u8 *dst)
|
|||
battleMon.speed = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED);
|
||||
battleMon.spAttack = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK);
|
||||
battleMon.spDefense = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF);
|
||||
battleMon.isEgg = GetMonData(&gPlayerParty[monId], MON_DATA_IS_EGG);
|
||||
// battleMon.isEgg = GetMonData(&gPlayerParty[monId], MON_DATA_IS_EGG);
|
||||
battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM);
|
||||
battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID);
|
||||
GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname);
|
||||
|
|
@ -2900,7 +2900,7 @@ static void PreviewDeterminativeMoveTargets(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
moveTarget = gBattleMoves[moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]].target;
|
||||
moveTarget = gMovesInfo[moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]].target;
|
||||
}
|
||||
switch (moveTarget)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -166,7 +166,7 @@ static void (*const sPokedudeBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
|||
[CONTROLLER_HITANIMATION] = PokedudeHandleHitAnimation,
|
||||
[CONTROLLER_CANTSWITCH] = PokedudeHandleCmd42,
|
||||
[CONTROLLER_PLAYSE] = PokedudeHandlePlaySE,
|
||||
[CONTROLLER_PLAYFANFARE] = PokedudeHandlePlayFanfare,
|
||||
[CONTROLLER_PLAYFANFAREORBGM] = PokedudeHandlePlayFanfare,
|
||||
[CONTROLLER_FAINTINGCRY] = PokedudeHandleFaintingCry,
|
||||
[CONTROLLER_INTROSLIDE] = PokedudeHandleIntroSlide,
|
||||
[CONTROLLER_INTROTRAINERBALLTHROW] = PokedudeHandleIntroTrainerBallThrow,
|
||||
|
|
@ -777,7 +777,7 @@ static u32 CopyPokedudeMonData(u8 monId, u8 *dst)
|
|||
battleMon.speed = GetMonData(mon, MON_DATA_SPEED);
|
||||
battleMon.spAttack = GetMonData(mon, MON_DATA_SPATK);
|
||||
battleMon.spDefense = GetMonData(mon, MON_DATA_SPDEF);
|
||||
battleMon.isEgg = GetMonData(mon, MON_DATA_IS_EGG);
|
||||
// battleMon.isEgg = GetMonData(mon, MON_DATA_IS_EGG);
|
||||
battleMon.abilityNum = GetMonData(mon, MON_DATA_ABILITY_NUM);
|
||||
battleMon.otId = GetMonData(mon, MON_DATA_OT_ID);
|
||||
GetMonData(mon, MON_DATA_NICKNAME, nickname);
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
|||
[CONTROLLER_HITANIMATION] = SafariHandleHitAnimation,
|
||||
[CONTROLLER_CANTSWITCH] = SafariHandleCmd42,
|
||||
[CONTROLLER_PLAYSE] = SafariHandlePlaySE,
|
||||
[CONTROLLER_PLAYFANFARE] = SafariHandlePlayFanfareOrBGM,
|
||||
[CONTROLLER_PLAYFANFAREORBGM] = SafariHandlePlayFanfareOrBGM,
|
||||
[CONTROLLER_FAINTINGCRY] = SafariHandleFaintingCry,
|
||||
[CONTROLLER_INTROSLIDE] = SafariHandleIntroSlide,
|
||||
[CONTROLLER_INTROTRAINERBALLTHROW] = SafariHandleIntroTrainerBallThrow,
|
||||
|
|
|
|||
|
|
@ -287,6 +287,14 @@ static void InitLinkBtlControllers(void)
|
|||
}
|
||||
}
|
||||
|
||||
bool32 IsValidForBattle(struct Pokemon *mon)
|
||||
{
|
||||
u32 species = GetMonData(mon, MON_DATA_SPECIES_OR_EGG);
|
||||
return (species != SPECIES_NONE && species != SPECIES_EGG
|
||||
&& GetMonData(mon, MON_DATA_HP) != 0
|
||||
&& GetMonData(mon, MON_DATA_IS_EGG) == FALSE);
|
||||
}
|
||||
|
||||
static void SetBattlePartyIds(void)
|
||||
{
|
||||
s32 i, j;
|
||||
|
|
@ -740,7 +748,7 @@ static void BtlController_EmitPause(u8 bufferId, u8 toWait, void *data)
|
|||
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, toWait * 3 + 2);
|
||||
}
|
||||
|
||||
void BtlController_EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr)
|
||||
void BtlController_EmitMoveAnimation(u32 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit)
|
||||
{
|
||||
sBattleBuffersTransferData[0] = CONTROLLER_MOVEANIMATION;
|
||||
sBattleBuffersTransferData[1] = move;
|
||||
|
|
@ -753,7 +761,7 @@ void BtlController_EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 m
|
|||
sBattleBuffersTransferData[8] = (dmg & 0x00FF0000) >> 16;
|
||||
sBattleBuffersTransferData[9] = (dmg & 0xFF000000) >> 24;
|
||||
sBattleBuffersTransferData[10] = friendship;
|
||||
sBattleBuffersTransferData[11] = gMultiHitCounter; // multihit in pokeem
|
||||
sBattleBuffersTransferData[11] = multihit; // multihit in pokeem
|
||||
if (WEATHER_HAS_EFFECT2)
|
||||
{
|
||||
sBattleBuffersTransferData[12] = gBattleWeather;
|
||||
|
|
@ -789,7 +797,7 @@ void BtlController_EmitPrintString(u8 bufferId, u16 stringID)
|
|||
stringInfo->bakScriptPartyIdx = gBattleStruct->scriptPartyIdx;
|
||||
stringInfo->hpScale = gBattleStruct->hpScale;
|
||||
stringInfo->itemEffectBattler = gPotentialItemEffectBattler;
|
||||
stringInfo->moveType = gBattleMoves[gCurrentMove].type;
|
||||
stringInfo->moveType = gMovesInfo[gCurrentMove].type;
|
||||
|
||||
for (i = 0; i < MAX_BATTLERS_COUNT; i++)
|
||||
stringInfo->abilities[i] = gBattleMons[i].ability;
|
||||
|
|
@ -1109,12 +1117,12 @@ void BtlController_EmitPlaySE(u8 bufferId, u16 songId)
|
|||
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
|
||||
}
|
||||
|
||||
void BtlController_EmitPlayFanfare(u8 bufferId, u16 songId)
|
||||
void BtlController_EmitPlayFanfareOrBGM(u32 bufferId, u16 songId, bool8 playBGM)
|
||||
{
|
||||
sBattleBuffersTransferData[0] = CONTROLLER_PLAYFANFARE;
|
||||
sBattleBuffersTransferData[0] = CONTROLLER_PLAYFANFAREORBGM;
|
||||
sBattleBuffersTransferData[1] = songId;
|
||||
sBattleBuffersTransferData[2] = (songId & 0xFF00) >> 8;
|
||||
sBattleBuffersTransferData[3] = 0;
|
||||
sBattleBuffersTransferData[3] = playBGM;
|
||||
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
|
||||
}
|
||||
|
||||
|
|
@ -1183,13 +1191,14 @@ void BtlController_EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible)
|
|||
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
|
||||
}
|
||||
|
||||
void BtlController_EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument)
|
||||
void BtlController_EmitBattleAnimation(u32 bufferId, u8 animationId, struct DisableStruct* disableStructPtr, u16 argument)
|
||||
{
|
||||
sBattleBuffersTransferData[0] = CONTROLLER_BATTLEANIMATION;
|
||||
sBattleBuffersTransferData[1] = animationId;
|
||||
sBattleBuffersTransferData[2] = argument;
|
||||
sBattleBuffersTransferData[3] = (argument & 0xFF00) >> 8;
|
||||
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
|
||||
memcpy(&sBattleBuffersTransferData[4], disableStructPtr, sizeof(struct DisableStruct));
|
||||
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4 + sizeof(struct DisableStruct));
|
||||
}
|
||||
|
||||
// mode is a LINK_STANDBY_* constant
|
||||
|
|
|
|||
|
|
@ -209,7 +209,7 @@ bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattler, u8 atkBattler, u8 de
|
|||
{
|
||||
u8 taskId;
|
||||
|
||||
if (tableId == B_ANIM_CASTFORM_CHANGE && (argument & 0x80))
|
||||
if (tableId == B_ANIM_FORM_CHANGE && (argument & 0x80))
|
||||
{
|
||||
gBattleMonForms[activeBattler] = (argument & ~(0x80));
|
||||
return TRUE;
|
||||
|
|
@ -918,7 +918,7 @@ static void SpriteCB_EnemyShadow(struct Sprite *shadowSprite)
|
|||
if (gAnimScriptActive || battlerSprite->invisible)
|
||||
invisible = TRUE;
|
||||
else if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE
|
||||
&& gEnemyMonElevation[gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies] == 0)
|
||||
&& gSpeciesInfo[gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies].enemyMonElevation == 0)
|
||||
invisible = TRUE;
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute)
|
||||
invisible = TRUE;
|
||||
|
|
@ -941,7 +941,7 @@ void SetBattlerShadowSpriteCallback(u8 battlerId, u16 species)
|
|||
if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE)
|
||||
species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies;
|
||||
|
||||
if (gEnemyMonElevation[species] != 0)
|
||||
if (gSpeciesInfo[species].enemyMonElevation != 0)
|
||||
gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_EnemyShadow;
|
||||
else
|
||||
gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_SetInvisible;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -518,14 +518,189 @@ const u8 gText_HowDissapointing[] = _("OAK: Hm…\nHow disappointing…\pIf you
|
|||
static const u8 sText_ItemRestoredSpeciesHealth[] = _("{B_BUFF1} had its\nHP restored!");
|
||||
static const u8 sText_ItemCuredSpeciesStatus[] = _("{B_BUFF1} had\nits status healed!");
|
||||
static const u8 sText_ItemRestoredSpeciesPP[] = _("{B_BUFF1} had its\nPP restored!");
|
||||
|
||||
|
||||
const u16 gTrainerUsedItemStringIds[] =
|
||||
{
|
||||
STRINGID_PLAYERUSEDITEM, STRINGID_TRAINER1USEDITEM
|
||||
};
|
||||
//
|
||||
|
||||
static const u8 sText_ElectroShotCharging[] = _("{B_ATK_NAME_WITH_PREFIX} absorbed\nelectricity!");
|
||||
static const u8 sText_MeteorBeamCharging[] = _("{B_ATK_NAME_WITH_PREFIX} is overflowing\nwith space energy!");
|
||||
static const u8 sText_PkmnIsCloakedInAHarshLight[] = _("{B_ATK_NAME_WITH_PREFIX} became\ncloaked in a harsh light!");
|
||||
static const u8 sText_VanishedInstantly[] =_("{B_ATK_NAME_WITH_PREFIX} vanished\ninstantly!");
|
||||
static const u8 sText_PkmnTookTargetHigh[] = _("{B_ATK_NAME_WITH_PREFIX} took {B_DEF_NAME_WITH_PREFIX}\ninto the air!");
|
||||
static const u8 sText_CloakedInAFreezingLight[] = _("{B_ATK_NAME_WITH_PREFIX} became cloaked\nin a freezing light!");
|
||||
static const u8 sText_PkmnAbsorbingPower[] = _("{B_ATK_NAME_WITH_PREFIX} is absorbing power!");
|
||||
static const u8 sText_PokemonCannotUseMove[] = _("{B_ATK_NAME_WITH_PREFIX} cannot\nuse {B_CURRENT_MOVE}!");
|
||||
static const u8 sText_PkmnMoveBouncedViaAbility[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE} was\nbounced back by {B_DEF_NAME_WITH_PREFIX}'s\l{B_DEF_ABILITY}!");
|
||||
static const u8 sText_HealBlockPreventsUsage[] = _("{B_ATK_NAME_WITH_PREFIX} was\nprevented from healing!\p");
|
||||
static const u8 sText_GravityPreventsUsage[] = _("{B_ATK_NAME_WITH_PREFIX} can't use {B_CURRENT_MOVE}\nbecause of gravity!\p");
|
||||
static const u8 sText_PkmnFrostbiteHealed2[] = _("{B_ATK_NAME_WITH_PREFIX}'s\nfrostbite was healed!");
|
||||
static const u8 sText_PkmnFrostbiteHealedBy[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\nhealed its frostbite!");
|
||||
static const u8 sText_SafetyGogglesProtected[] = _("{B_DEF_NAME_WITH_PREFIX} is not affected\nthanks to its {B_LAST_ITEM}!");
|
||||
static const u8 sText_PowderExplodes[] = _("When the flame touched the powder\non the Pokémon, it exploded!");
|
||||
static const u8 sText_PkmnCantUseMoveThroatChop[] = _("{B_ATK_NAME_WITH_PREFIX} can't use\n{B_CURRENT_MOVE} due to Throat Chop!\p");
|
||||
static const u8 sText_MoveFizzledOutInTheHeavyRain[] = _("The Fire-type attack fizzled out\nin the heavy rain!");
|
||||
static const u8 sText_MoveEvaporatedInTheHarshSunlight[] = _("The Water-type attack evaporated\nin the harsh sunlight!");
|
||||
static const u8 sText_TargetAteItem[] = _("{B_DEF_NAME_WITH_PREFIX} ate its {B_LAST_ITEM}!");
|
||||
static const u8 sText_GemActivates[] = _("{B_LAST_ITEM} strengthened\n{B_ATK_NAME_WITH_PREFIX}'s power!");
|
||||
static const u8 sText_AttackWeakenedByStrongWinds[] = _("The mysterious strong winds\nweakened the attack!");
|
||||
static const u8 sText_EnduredViaSturdy[] = _("{B_DEF_NAME_WITH_PREFIX} endured\nthe hit using {B_DEF_ABILITY}!");
|
||||
static const u8 sText_BerryDmgReducing[] = _("{B_LAST_ITEM} weakened the damage\nto {B_DEF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_TargetToughedItOut[] = _("{B_DEF_NAME_WITH_PREFIX} toughed it out\nto show you its best side!");
|
||||
static const u8 sText_TrappedBySwirlingMagma[] =_("{B_DEF_NAME_WITH_PREFIX} became\ntrapped by swirling magma!");
|
||||
static const u8 sText_Infestation[] = _("{B_DEF_NAME_WITH_PREFIX} has been afflicted\nwith an infestation by {B_ATK_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PkmnInSnapTrap[] = _("{B_DEF_NAME_WITH_PREFIX} got trapped\nby a snap trap!");
|
||||
static const u8 sText_AtkTrappedDef[] = _("{B_ATK_NAME_WITH_PREFIX} trapped\nthe {B_DEF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_ResetsTargetsStatLevels[] =_("{B_DEF_NAME_WITH_PREFIX}'s stat changes\nwere removed!");
|
||||
static const u8 sText_StrongWindsDissipated[] = _("The mysterious strong winds\nhave dissipated!{PAUSE 64}");
|
||||
static const u8 sText_ExtremeSunlightFaded[] = _("The extreme sunlight faded.{PAUSE 64}");
|
||||
static const u8 sText_HeavyRainLifted[] = _("The heavy rain has lifted!{PAUSE 64}");
|
||||
static const u8 sText_SymbiosisItemPass[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} passed its {B_LAST_ITEM}\nto {B_ATK_NAME_WITH_PREFIX} through {B_LAST_ABILITY}!");
|
||||
static const u8 sText_BurstingFlames[] = _("The bursting flames\nhit {B_SCR_ACTIVE_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_BrokeThroughProtection[] = _("It broke through\n{B_DEF_NAME_WITH_PREFIX}'s protection!");
|
||||
static const u8 sText_FellForFeint[] = _("{B_DEF_NAME_WITH_PREFIX} fell for\nthe feint!");
|
||||
static const u8 sText_SpectralThiefSteal[] = _("{B_ATK_NAME_WITH_PREFIX} stole the target's\nboosted stats!");
|
||||
static const u8 sText_PkmnsAbilitySuppressed[] = _("{B_DEF_NAME_WITH_PREFIX}'s ability\nwas suppressed!");
|
||||
static const u8 sText_IncinerateBurn[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nwas burnt up!");
|
||||
static const u8 sText_BugBite[] = _("{B_ATK_NAME_WITH_PREFIX} stole and ate\n{B_EFF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!");
|
||||
static const u8 sText_BothCanNoLongerEscape[] = _("Neither Pokémon can run away!");
|
||||
static const u8 sText_AttackerLostFireType[] = _("{B_ATK_NAME_WITH_PREFIX} burned itself out!");
|
||||
static const u8 sText_AttackerLostElectricType[] = _("{B_ATK_NAME_WITH_PREFIX} used up all\nof its electricity!");
|
||||
static const u8 sText_AttackerLostItsType[] = _("{B_ATK_NAME_WITH_PREFIX} lost\nits {B_BUFF1} type!");
|
||||
static const u8 sText_StealthRockDmg[] = _("Pointed stones dug into\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_SharpSteelDmg[] = _("Sharp steel bit into {B_DEF_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_PointedStonesFloat[] =_("Pointed stones float in the air\naround {B_DEF_TEAM2} team!");
|
||||
static const u8 sText_SharpSteelFloats[] = _("Sharp-pointed steel floats\naround {B_DEF_TEAM2} team!");
|
||||
static const u8 sText_TargetCoveredInStickyCandySyrup[] = _("{B_DEF_NAME_WITH_PREFIX} got covered\nin sticky syrup!");
|
||||
static const u8 sText_AromaVeilProtected[] = _("{B_DEF_NAME_WITH_PREFIX} is protected\nby an aromatic veil!");
|
||||
static const u8 sText_PkmnPreventedFromHealing[] = _("{B_DEF_NAME_WITH_PREFIX} was prevented\nfrom healing!");
|
||||
static const u8 sText_TerrainBecomesMisty[] = _("Mist swirled about\nthe battlefield!");
|
||||
static const u8 sText_TerrainBecomesGrassy[] = _("Grass grew to cover\nthe battlefield!");
|
||||
static const u8 sText_TerrainBecomesElectric[] = _("An electric current runs across\nthe battlefield!");
|
||||
static const u8 sText_TerrainBecomesPsychic[] = _("The battlefield got weird!");
|
||||
static const u8 sText_DimensionsWereTwisted[] = _("The dimensions were\ntwisted!");
|
||||
static const u8 sText_BizzareAreaCreated[] =_("A bizarre area was created in which the\nDefense and Sp. Def stats are swapped!");
|
||||
static const u8 sText_BizarreArenaCreated[] =_("A bizarre area was created!\nHold items lost their effects!");
|
||||
static const u8 sText_TailWindBlew[] = _("The tailwind blew from\nbehind {B_ATK_TEAM2} team!");
|
||||
static const u8 sText_ElectricTerrainEnds[] = _("The electricity disappeared\nfrom the battlefield.");
|
||||
static const u8 sText_MistyTerrainEnds[] = _("The mist disappeared\nfrom the battlefield.");
|
||||
static const u8 sText_PsychicTerrainEnds[] = _("The weirdness disappeared\nfrom the battlefield.");
|
||||
static const u8 sText_GrassyTerrainEnds[] = _("The grass disappeared\nfrom the battlefield.");
|
||||
static const u8 sText_MoldBreakerEnters[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} breaks the mold!");
|
||||
static const u8 sText_TeravoltEnters[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is radiating\na bursting aura!");
|
||||
static const u8 sText_TurboblazeEnters[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is radiating\na blazing aura!");
|
||||
static const u8 sText_SlowStartEnters[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} can't get it going!");
|
||||
static const u8 sText_UnnerveEnters[] = _("The opposing team is too nervous\nto eat Berries!");
|
||||
static const u8 sText_AnticipationActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} shuddered\nin anticipation!");
|
||||
static const u8 sText_ForewarnActivates[] = _("{B_SCR_ACTIVE_ABILITY} alerted {B_SCR_ACTIVE_NAME_WITH_PREFIX}\nto {B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}!");
|
||||
static const u8 sText_PressureActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is exerting its\npressure!");
|
||||
static const u8 sText_DarkAuraActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is radiating\na dark aura!");
|
||||
static const u8 sText_FairyAuraActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is radiating\na fairy aura!");
|
||||
static const u8 sText_AuraBreakActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} reversed all\nother Pokémon's auras!");
|
||||
static const u8 sText_ComatoseActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is drowsing!");
|
||||
static const u8 sText_ScreenCleanerActivates[] = _("All screens on the field were\ncleansed!");
|
||||
static const u8 sText_AsOneEnters[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} has two Abilities!");
|
||||
static const u8 sText_CuriousMedicineEnters[] = _("{B_EFF_NAME_WITH_PREFIX}'s\nstat changes were reset!");
|
||||
static const u8 sText_PastelVeilEnters[] = _("{B_DEF_NAME_WITH_PREFIX} was cured\nof its poisoning!");
|
||||
static const u8 sText_NeutralizingGasEnters[] = _("Neutralizing Gas filled the area!");
|
||||
static const u8 sText_BeingHitChargedPkmnWithPower[] = _("Being hit by {B_CURRENT_MOVE}\ncharged {B_DEF_NAME_WITH_PREFIX} with power!");
|
||||
static const u8 sText_ImposterTransform[] = _("{B_ATK_NAME_WITH_PREFIX} transformed into\n{B_DEF_NAME_WITH_PREFIX} using {B_LAST_ABILITY}!");
|
||||
static const u8 sText_SnowWarningHail[] = _("It started to hail!");
|
||||
static const u8 sText_SnowWarningSnow[] = _("It started to snow!");
|
||||
static const u8 sText_SupersweetAromaWafts[] = _("A supersweet aroma is wafting from\nthe syrup covering {B_ATK_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_AirLockActivates[] = _("The effects of weather\ndisappeared.");
|
||||
static const u8 sText_BattlerAbilityRaisedStat[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nraised its {B_BUFF1}!");
|
||||
static const u8 sText_ExtremelyHarshSunlight[] = _("The sunlight turned\nextremely harsh!");
|
||||
static const u8 sText_HeavyRain[] = _("A heavy rain began to fall!");
|
||||
static const u8 sText_MysteriousAirCurrent[] = _("A mysterious air current is\nprotecting Flying-type Pokémon!");
|
||||
static const u8 sText_AbilityWeakenedSurroundingMonsStat[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nweakened the {B_BUFF1} of\lall surrounding Pokémon!\p");
|
||||
static const u8 sText_AttackerGainedStrengthFromTheFallen[] = _("{B_ATK_NAME_WITH_PREFIX} gained strength\nfrom the fallen!");
|
||||
static const u8 sText_ZeroToHeroTransformation[] = _("{B_ATK_NAME_WITH_PREFIX} underwent a heroic\ntransformation!");
|
||||
static const u8 sText_HospitalityRestoration[] = _("{B_ATK_PARTNER_NAME} drank down all the\nmatcha that {B_ATK_NAME_WITH_PREFIX} made!");
|
||||
static const u8 sText_HarvestBerry[] = _("{B_ATK_NAME_WITH_PREFIX} harvested\nits {B_LAST_ITEM}!");
|
||||
static const u8 sText_BadDreamsDmg[] = _("{B_DEF_NAME_WITH_PREFIX} is tormented!");
|
||||
static const u8 sText_SolarPowerHpDrop[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\ntakes its toll!");
|
||||
static const u8 sText_HealerCure[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_LAST_ABILITY}\ncured {B_SCR_ACTIVE_NAME_WITH_PREFIX}'s problem!");
|
||||
static const u8 sText_FetchedPokeBall[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} found\na {B_LAST_ITEM}!");
|
||||
static const u8 sText_TargetAbilityLoweredStat[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nlowered its {B_BUFF1}!");
|
||||
static const u8 sText_TargetStatWontGoHigher[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\nwon't go higher!");
|
||||
static const u8 sText_TargetAbilityRaisedStat[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nraised its {B_BUFF1}!");
|
||||
static const u8 sText_CursedBodyDisabled[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} was disabled\nby {B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}!");
|
||||
static const u8 sText_AttackerAquiredAbility[] = _("{B_ATK_NAME_WITH_PREFIX} acquired\n{B_LAST_ABILITY}!");
|
||||
static const u8 sText_SwappedAbilities[] = _("{B_DEF_NAME_WITH_PREFIX} swapped Abilities\nwith its target!");
|
||||
static const u8 sText_TargetsStatWasMaxedOut[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY} maxed\nits {B_BUFF1}!");
|
||||
static const u8 sText_PkmnsAbilityPreventsAbility[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nprevents {B_DEF_NAME_WITH_PREFIX}'s\l{B_DEF_ABILITY} from working!");
|
||||
static const u8 sText_AftermathDmg[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt!");
|
||||
static const u8 sText_IllusionWoreOff[] = _("{B_DEF_NAME_WITH_PREFIX}'s Illusion wore off!");
|
||||
static const u8 sText_ASandstormKickedUp[] = _("A sandstorm kicked up!");
|
||||
static const u8 sText_PkmnsWillPerishIn3Turns[] = _("Both Pokémon will perish\nin three turns!");
|
||||
static const u8 sText_PoisonSpikesScattered[] = _("Poison Spikes were scattered all\naround {B_DEF_TEAM2} team's feet!");
|
||||
static const u8 sText_OpportunistCopied[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} copied its\nopponent's stat changes!");
|
||||
static const u8 sText_PkmnGotOverItsInfatuation[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} got over\nits infatuation!");
|
||||
static const u8 sText_PkmnShookOffTheTaunt[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} shook off\nthe taunt!");
|
||||
static const u8 sText_SunlightActivatedAbility[] = _("The harsh sunlight activated\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ABILITY}!");
|
||||
static const u8 sText_StatWasHeightened[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_BUFF1} was heightened!");
|
||||
static const u8 sText_BattlerTypeChangedTo[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s type\nchanged to {B_BUFF1}!");
|
||||
static const u8 sText_ElectricTerrainActivatedAbility[] = _("The Electric Terrain activated\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ABILITY}!");
|
||||
static const u8 sText_FriskActivates[] = _("{B_ATK_NAME_WITH_PREFIX} frisked {B_DEF_NAME_WITH_PREFIX} and\nfound its {B_LAST_ITEM}!");
|
||||
static const u8 sText_AttackerAbilityRaisedStat[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nraised its {B_BUFF1}!");
|
||||
static const u8 sText_ExtremelyHarshSunlightWasNotLessened[] = _("The extremely harsh sunlight\nwas not lessened at all!");
|
||||
static const u8 sText_NoReliefFromHeavyRain[] = _("There is no relief from\nthis heavy rain!");
|
||||
static const u8 sText_MysteriousAirCurrentBlowsOn[] = _("The mysterious air current\nblows on regardless!");
|
||||
static const u8 sText_AuraFlaredToLife[] = _("{B_DEF_NAME_WITH_PREFIX}'s aura flared to life!");
|
||||
static const u8 sText_AttackerGotOverInfatuation[] =_("{B_ATK_NAME_WITH_PREFIX} got over\nits infatuation!");
|
||||
static const u8 sText_TormentedNoMore[] = _("{B_ATK_NAME_WITH_PREFIX} is\ntormented no more!");
|
||||
static const u8 sText_BufferEnds[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\nwore off!");
|
||||
static const u8 sText_HealBlockedNoMore[] = _("{B_ATK_NAME_WITH_PREFIX} is cured of\nits heal block!");
|
||||
static const u8 sText_MicleBerryActivates[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} boosted the accuracy of its\nnext move using {B_LAST_ITEM}!");
|
||||
static const u8 sText_MirrorHerbCopied[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} used its {B_LAST_ITEM}\nto mirror its opponent's stat changes!");
|
||||
static const u8 sText_PkmnsItemHealedFrostbite[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nhealed its frostbite!");
|
||||
static const u8 sText_AirBalloonFloat[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} floats in the air\nwith its {B_LAST_ITEM}!");
|
||||
static const u8 sText_EjectButtonActivate[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is switched\nout with the {B_LAST_ITEM}!");
|
||||
static const u8 sText_HurtByItem[] = _("{B_ATK_NAME_WITH_PREFIX} was hurt\nby its {B_LAST_ITEM}!");
|
||||
static const u8 sText_AirBalloonPop[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM} popped!");
|
||||
static const u8 sText_StickyBarbTransfer[] = _("The {B_LAST_ITEM} attached itself to\n{B_ATK_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_TeamGainedEXP[] = _("The rest of your team gained EXP.\nPoints thanks to the {B_LAST_ITEM}!\p");
|
||||
static const u8 sText_PkmnFrostbiteHealed[] = _("{B_DEF_NAME_WITH_PREFIX}'s\nfrostbite was healed!");
|
||||
static const u8 sText_StockpiledEffectWoreOff[] = _("{B_ATK_NAME_WITH_PREFIX}'s stockpiled\neffect wore off!");
|
||||
static const u8 sText_FellStraightDown[] =_("{B_DEF_NAME_WITH_PREFIX} fell\nstraight down!");
|
||||
static const u8 sText_TargetWokeUp[] = _("{B_DEF_NAME_WITH_PREFIX} woke up!");
|
||||
static const u8 sText_PkmnBurnHealed[] = _("{B_DEF_NAME_WITH_PREFIX}'s\nburn was healed.");
|
||||
static const u8 sText_RedCardActivate[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} held up its {B_LAST_ITEM}\nagainst {B_ATK_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_MoveBlockedByDynamax[] = _("The move was blocked by\nthe power of Dynamax!");
|
||||
static const u8 sText_ItemCannotBeRemoved[] = _("{B_ATK_NAME_WITH_PREFIX}'s item cannot be removed!");
|
||||
static const u8 sText_ZMoveResetsStats[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} returned its\ndecreased stats to normal using\lits Z-Power!");
|
||||
static const u8 sText_ZMoveBoostCrit[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} boosted its\ncritical-hit ratio using its Z-Power!");
|
||||
static const u8 sText_ZMoveRestoreHp[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} restored its\nHP using its Z-Power!");
|
||||
static const u8 sText_ZMoveStatUp[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} boosted\nits stats using its Z-Power!");
|
||||
static const u8 sText_ZMoveHpSwitchInTrap[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s HP was restored by the Z-Power!");
|
||||
static const u8 sText_ZMoveAllStatsUp[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} boosted all\nof its stats using its Z-Power!");
|
||||
static const u8 sText_PkmnRevertedToPrimal[] = _("{B_ATK_NAME_WITH_PREFIX}'s Primal Reversion!\nIt reverted to its primal form!");
|
||||
static const u8 sText_HealingWishHealed[] = _("{B_ATK_NAME_WITH_PREFIX} regained health!");
|
||||
static const u8 sText_ToxicSpikesAbsorbed[] = _("The poison spikes disappeared\nfrom around {B_DEF_TEAM2} team's feet!");
|
||||
static const u8 sText_ToxicSpikesPoisoned[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} was poisoned!");
|
||||
static const u8 sText_StickyWebSwitchIn[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} was\ncaught in a Sticky Web!");
|
||||
static const u8 sText_HealingWishCameTrue[] = _("The healing wish came true\nfor {B_ATK_NAME_WITH_PREFIX}!");
|
||||
static const u8 sText_LunarDanceCameTrue[] = _("{B_ATK_NAME_WITH_PREFIX} became cloaked\nin mystical moonlight!");
|
||||
static const u8 sText_SpikesDisappearedFromTeam[] = _("The spikes disappeared from\nthe ground around {B_ATK_TEAM2} team!");
|
||||
static const u8 sText_ToxicSpikesDisappearedFromTeam[] = _("The poison spikes disappeared from\nthe ground around {B_ATK_TEAM2} team!");
|
||||
static const u8 sText_StickyWebDisappearedFromTeam[] = _("The sticky web has disappeared from\nthe ground around {B_ATK_TEAM2} team!");
|
||||
static const u8 sText_StealthRockDisappearedFromTeam[] = _("The pointed stones disappeared\nfrom around {B_ATK_TEAM2} team!");
|
||||
static const u8 sText_SharpSteelDisappearedFromTeam[] = _("The sharp steel disappeared from\nthe ground around {B_ATK_TEAM2} team!");
|
||||
static const u8 sText_LastAbilityRaisedBuff1[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_LAST_ABILITY}\nraised its {B_BUFF1}!");
|
||||
static const u8 sText_ReceiverAbilityTakeOver[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nwas taken over!");
|
||||
static const u8 sText_NeutralizingGasOver[] = _("The effects of Neutralizing\nGas wore off!");
|
||||
static const u8 sText_AttackerBecameFullyCharged[] = _("{B_ATK_NAME_WITH_PREFIX} became fully charged\ndue to its bond with its trainer!\p");
|
||||
static const u8 sText_AttackerBecameAshSpecies[] = _("{B_ATK_NAME_WITH_PREFIX} became Ash-{B_BUFF1}!\p");
|
||||
static const u8 sText_ProtectedTeam[] =_("{B_CURRENT_MOVE} protected\n{B_ATK_TEAM2} team!");
|
||||
static const u8 sText_ElectricTerrainPreventsSleep[] = _("{B_DEF_NAME_WITH_PREFIX} surrounds itself\nwith electrified terrain!");
|
||||
static const u8 sText_MistyTerrainPreventsStatus[] = _("{B_DEF_NAME_WITH_PREFIX} surrounds itself\nwith a protective mist!");
|
||||
static const u8 sText_PsychicTerrainPreventsPriority[] = _("{B_DEF_NAME_WITH_PREFIX} surrounds itself\nwith psychic terrain!");
|
||||
static const u8 sText_FlowerVeilProtected[] = _("{B_DEF_NAME_WITH_PREFIX} surrounded itself\nwith a veil of petals!");
|
||||
static const u8 sText_drastically[] = _("drastically ");
|
||||
static const u8 sText_severely[] = _("severely ");
|
||||
static const u8 sText_ClearAmuletWontLowerStats[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM} prevents\nits stats from being lowered!");
|
||||
static const u8 sText_CelebrateMessage[] = _("Congratulations, {B_PLAYER_NAME}!");
|
||||
static const u8 sText_PkmnBlewAwayToxicSpikes[] = _("{B_ATK_NAME_WITH_PREFIX} blew away\nToxic Spikes!");
|
||||
static const u8 sText_PkmnBlewAwayStickyWeb[] = _("{B_ATK_NAME_WITH_PREFIX} blew away\nSticky Web!");
|
||||
static const u8 sText_PkmnBlewAwayStealthRock[] = _("{B_ATK_NAME_WITH_PREFIX} blew away\nStealth Rock!");
|
||||
static const u8 sText_PkmnBlewAwaySharpSteel[] = _("{B_ATK_NAME_WITH_PREFIX} blew away\nsharp steel!");
|
||||
static const u8 sText_PkmnGotFrostbite[] = _("{B_EFF_NAME_WITH_PREFIX} got frostbite!");
|
||||
|
||||
|
||||
const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT - BATTLESTRINGS_TABLE_START] = {
|
||||
|
|
@ -906,6 +1081,288 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT - BATTLESTRINGS_TABLE_ST
|
|||
[STRINGID_ITEMRESTOREDSPECIESHEALTH - BATTLESTRINGS_TABLE_START] = sText_ItemRestoredSpeciesHealth,
|
||||
[STRINGID_ITEMRESTOREDSPECIESPP - BATTLESTRINGS_TABLE_START] = sText_ItemRestoredSpeciesPP,
|
||||
[STRINGID_ITEMCUREDSPECIESSTATUS - BATTLESTRINGS_TABLE_START] = sText_ItemCuredSpeciesStatus,
|
||||
[STRINGID_ELECTROSHOTCHARGING - BATTLESTRINGS_TABLE_START] = sText_ElectroShotCharging,
|
||||
[STRINGID_METEORBEAMCHARGING - BATTLESTRINGS_TABLE_START] = sText_MeteorBeamCharging,
|
||||
[STRINGID_CLOAKEDINAHARSHLIGHT - BATTLESTRINGS_TABLE_START] = sText_PkmnIsCloakedInAHarshLight,
|
||||
[STRINGID_VANISHEDINSTANTLY - BATTLESTRINGS_TABLE_START] = sText_VanishedInstantly,
|
||||
[STRINGID_PKMNTOOKTARGETHIGH - BATTLESTRINGS_TABLE_START] = sText_PkmnTookTargetHigh,
|
||||
[STRINGID_CLOAKEDINAFREEZINGLIGHT - BATTLESTRINGS_TABLE_START] = sText_CloakedInAFreezingLight,
|
||||
[STRINGID_PKNMABSORBINGPOWER - BATTLESTRINGS_TABLE_START] = sText_PkmnAbsorbingPower,
|
||||
[STRINGID_POKEMONCANNOTUSEMOVE - BATTLESTRINGS_TABLE_START] = sText_PokemonCannotUseMove,
|
||||
[STRINGID_PKMNMOVEBOUNCEDABILITY - BATTLESTRINGS_TABLE_START] = sText_PkmnMoveBouncedViaAbility,
|
||||
[STRINGID_HEALBLOCKPREVENTSUSAGE - BATTLESTRINGS_TABLE_START] = sText_HealBlockPreventsUsage,
|
||||
[STRINGID_GRAVITYPREVENTSUSAGE - BATTLESTRINGS_TABLE_START] = sText_GravityPreventsUsage,
|
||||
[STRINGID_PKMNFROSTBITEHEALED2 - BATTLESTRINGS_TABLE_START] = sText_PkmnFrostbiteHealed2,
|
||||
[STRINGID_PKMNFROSTBITEHEALEDBY - BATTLESTRINGS_TABLE_START] = sText_PkmnFrostbiteHealedBy,
|
||||
[STRINGID_SAFETYGOGGLESPROTECTED - BATTLESTRINGS_TABLE_START] = sText_SafetyGogglesProtected,
|
||||
[STRINGID_POWDEREXPLODES - BATTLESTRINGS_TABLE_START] = sText_PowderExplodes,
|
||||
[STRINGID_PKMNCANTUSEMOVETHROATCHOP - BATTLESTRINGS_TABLE_START] = sText_PkmnCantUseMoveThroatChop,
|
||||
[STRINGID_MOVEFIZZLEDOUTINTHEHEAVYRAIN - BATTLESTRINGS_TABLE_START] = sText_MoveFizzledOutInTheHeavyRain,
|
||||
[STRINGID_MOVEEVAPORATEDINTHEHARSHSUNLIGHT - BATTLESTRINGS_TABLE_START] = sText_MoveEvaporatedInTheHarshSunlight,
|
||||
[STRINGID_TARGETATEITEM - BATTLESTRINGS_TABLE_START] = sText_TargetAteItem,
|
||||
[STRINGID_GEMACTIVATES - BATTLESTRINGS_TABLE_START] = sText_GemActivates,
|
||||
[STRINGID_ATTACKWEAKENEDBSTRONGWINDS - BATTLESTRINGS_TABLE_START] = sText_AttackWeakenedByStrongWinds,
|
||||
[STRINGID_ENDUREDSTURDY - BATTLESTRINGS_TABLE_START] = sText_EnduredViaSturdy,
|
||||
[STRINGID_BERRYDMGREDUCES - BATTLESTRINGS_TABLE_START] = sText_BerryDmgReducing,
|
||||
[STRINGID_TARGETTOUGHEDITOUT - BATTLESTRINGS_TABLE_START] = sText_TargetToughedItOut,
|
||||
[STRINGID_TRAPPEDBYSWIRLINGMAGMA - BATTLESTRINGS_TABLE_START] = sText_TrappedBySwirlingMagma,
|
||||
[STRINGID_INFESTATION - BATTLESTRINGS_TABLE_START] = sText_Infestation,
|
||||
[STRINGID_PKMNINSNAPTRAP - BATTLESTRINGS_TABLE_START] = sText_PkmnInSnapTrap,
|
||||
[STRINGID_THUNDERCAGETRAPPED - BATTLESTRINGS_TABLE_START] = sText_AtkTrappedDef,
|
||||
[STRINGID_RESETSTARGETSSTATLEVELS - BATTLESTRINGS_TABLE_START] = sText_ResetsTargetsStatLevels,
|
||||
[STRINGID_STRONGWINDSDISSIPATED - BATTLESTRINGS_TABLE_START] = sText_StrongWindsDissipated,
|
||||
[STRINGID_EXTREMESUNLIGHTFADED - BATTLESTRINGS_TABLE_START] = sText_ExtremeSunlightFaded,
|
||||
[STRINGID_HEAVYRAINLIFTED - BATTLESTRINGS_TABLE_START] = sText_HeavyRainLifted,
|
||||
[STRINGID_SYMBIOSISITEMPASS - BATTLESTRINGS_TABLE_START] = sText_SymbiosisItemPass,
|
||||
[STRINGID_BURSTINGFLAMESHIT - BATTLESTRINGS_TABLE_START] = sText_BurstingFlames,
|
||||
[STRINGID_BROKETHROUGHPROTECTION - BATTLESTRINGS_TABLE_START] = sText_BrokeThroughProtection,
|
||||
[STRINGID_FELLFORFEINT - BATTLESTRINGS_TABLE_START] = sText_FellForFeint,
|
||||
[STRINGID_SPECTRALTHIEFSTEAL - BATTLESTRINGS_TABLE_START] = sText_SpectralThiefSteal,
|
||||
[STRINGID_PKMNSABILITYSUPPRESSED - BATTLESTRINGS_TABLE_START] = sText_PkmnsAbilitySuppressed,
|
||||
[STRINGID_INCINERATEBURN - BATTLESTRINGS_TABLE_START] = sText_IncinerateBurn,
|
||||
[STRINGID_BUGBITE - BATTLESTRINGS_TABLE_START] = sText_BugBite,
|
||||
[STRINGID_BOTHCANNOLONGERESCAPE - BATTLESTRINGS_TABLE_START] = sText_BothCanNoLongerEscape,
|
||||
[STRINGID_ATTACKERLOSTFIRETYPE - BATTLESTRINGS_TABLE_START] = sText_AttackerLostFireType,
|
||||
[STRINGID_ATTACKERLOSTELECTRICTYPE - BATTLESTRINGS_TABLE_START] = sText_AttackerLostElectricType,
|
||||
[STRINGID_ATTACKERLOSTITSTYPE - BATTLESTRINGS_TABLE_START] = sText_AttackerLostItsType,
|
||||
[STRINGID_STEALTHROCKDMG - BATTLESTRINGS_TABLE_START] = sText_StealthRockDmg,
|
||||
[STRINGID_SHARPSTEELDMG - BATTLESTRINGS_TABLE_START] = sText_SharpSteelDmg,
|
||||
[STRINGID_POINTEDSTONESFLOAT - BATTLESTRINGS_TABLE_START] = sText_PointedStonesFloat,
|
||||
[STRINGID_SHARPSTEELFLOATS - BATTLESTRINGS_TABLE_START] = sText_SharpSteelFloats,
|
||||
[STRINGID_TARGETCOVEREDINSTICKYCANDYSYRUP - BATTLESTRINGS_TABLE_START] = sText_TargetCoveredInStickyCandySyrup,
|
||||
[STRINGID_AROMAVEILPROTECTED - BATTLESTRINGS_TABLE_START] = sText_AromaVeilProtected,
|
||||
[STRINGID_PKMNPREVENTEDFROMHEALING - BATTLESTRINGS_TABLE_START] = sText_PkmnPreventedFromHealing,
|
||||
[STRINGID_TERRAINBECOMESMISTY - BATTLESTRINGS_TABLE_START] = sText_TerrainBecomesMisty,
|
||||
[STRINGID_TERRAINBECOMESGRASSY - BATTLESTRINGS_TABLE_START] = sText_TerrainBecomesGrassy,
|
||||
[STRINGID_TERRAINBECOMESELECTRIC - BATTLESTRINGS_TABLE_START] = sText_TerrainBecomesElectric,
|
||||
[STRINGID_TERRAINBECOMESPSYCHIC - BATTLESTRINGS_TABLE_START] = sText_TerrainBecomesPsychic,
|
||||
[STRINGID_DIMENSIONSWERETWISTED - BATTLESTRINGS_TABLE_START] = sText_DimensionsWereTwisted,
|
||||
[STRINGID_BIZARREAREACREATED - BATTLESTRINGS_TABLE_START] = sText_BizzareAreaCreated,
|
||||
[STRINGID_BIZARREARENACREATED - BATTLESTRINGS_TABLE_START] = sText_BizarreArenaCreated,
|
||||
[STRINGID_TAILWINDBLEW - BATTLESTRINGS_TABLE_START] = sText_TailWindBlew,
|
||||
[STRINGID_ELECTRICTERRAINENDS - BATTLESTRINGS_TABLE_START] = sText_ElectricTerrainEnds,
|
||||
[STRINGID_MISTYTERRAINENDS - BATTLESTRINGS_TABLE_START] = sText_MistyTerrainEnds,
|
||||
[STRINGID_PSYCHICTERRAINENDS - BATTLESTRINGS_TABLE_START] = sText_PsychicTerrainEnds,
|
||||
[STRINGID_GRASSYTERRAINENDS - BATTLESTRINGS_TABLE_START] = sText_GrassyTerrainEnds,
|
||||
[STRINGID_MOLDBREAKERENTERS - BATTLESTRINGS_TABLE_START] = sText_MoldBreakerEnters,
|
||||
[STRINGID_TERAVOLTENTERS - BATTLESTRINGS_TABLE_START] = sText_TeravoltEnters,
|
||||
[STRINGID_TURBOBLAZEENTERS - BATTLESTRINGS_TABLE_START] = sText_TurboblazeEnters,
|
||||
[STRINGID_SLOWSTARTENTERS - BATTLESTRINGS_TABLE_START] = sText_SlowStartEnters,
|
||||
[STRINGID_UNNERVEENTERS - BATTLESTRINGS_TABLE_START] = sText_UnnerveEnters,
|
||||
[STRINGID_ANTICIPATIONACTIVATES - BATTLESTRINGS_TABLE_START] = sText_AnticipationActivates,
|
||||
[STRINGID_FOREWARNACTIVATES - BATTLESTRINGS_TABLE_START] = sText_ForewarnActivates,
|
||||
[STRINGID_PRESSUREENTERS - BATTLESTRINGS_TABLE_START] = sText_PressureActivates,
|
||||
[STRINGID_DARKAURAENTERS - BATTLESTRINGS_TABLE_START] = sText_DarkAuraActivates,
|
||||
[STRINGID_FAIRYAURAENTERS - BATTLESTRINGS_TABLE_START] = sText_FairyAuraActivates,
|
||||
[STRINGID_AURABREAKENTERS - BATTLESTRINGS_TABLE_START] = sText_AuraBreakActivates,
|
||||
[STRINGID_COMATOSEENTERS - BATTLESTRINGS_TABLE_START] = sText_ComatoseActivates,
|
||||
[STRINGID_SCREENCLEANERENTERS - BATTLESTRINGS_TABLE_START] = sText_ScreenCleanerActivates,
|
||||
[STRINGID_ASONEENTERS - BATTLESTRINGS_TABLE_START] = sText_AsOneEnters,
|
||||
[STRINGID_CURIOUSMEDICINEENTERS - BATTLESTRINGS_TABLE_START] = sText_CuriousMedicineEnters,
|
||||
[STRINGID_PASTELVEILENTERS - BATTLESTRINGS_TABLE_START] = sText_PastelVeilEnters,
|
||||
[STRINGID_NEUTRALIZINGGASENTERS - BATTLESTRINGS_TABLE_START] = sText_NeutralizingGasEnters,
|
||||
[STRINGID_BEINGHITCHARGEDPKMNWITHPOWER - BATTLESTRINGS_TABLE_START] = sText_BeingHitChargedPkmnWithPower,
|
||||
[STRINGID_IMPOSTERTRANSFORM - BATTLESTRINGS_TABLE_START] = sText_ImposterTransform,
|
||||
[STRINGID_SNOWWARNINGHAIL - BATTLESTRINGS_TABLE_START] = sText_SnowWarningHail,
|
||||
[STRINGID_SNOWWARNINGSNOW - BATTLESTRINGS_TABLE_START] = sText_SnowWarningSnow,
|
||||
[STRINGID_SUPERSWEETAROMAWAFTS - BATTLESTRINGS_TABLE_START] = sText_SupersweetAromaWafts,
|
||||
[STRINGID_AIRLOCKACTIVATES - BATTLESTRINGS_TABLE_START] = sText_AirLockActivates,
|
||||
[STRINGID_BATTLERABILITYRAISEDSTAT - BATTLESTRINGS_TABLE_START] = sText_BattlerAbilityRaisedStat,
|
||||
[STRINGID_EXTREMELYHARSHSUNLIGHT - BATTLESTRINGS_TABLE_START] = sText_ExtremelyHarshSunlight,
|
||||
[STRINGID_HEAVYRAIN - BATTLESTRINGS_TABLE_START] = sText_HeavyRain,
|
||||
[STRINGID_MYSTERIOUSAIRCURRENT - BATTLESTRINGS_TABLE_START] = sText_MysteriousAirCurrent,
|
||||
[STRINGID_ABILITYWEAKENEDFSURROUNDINGMONSSTAT - BATTLESTRINGS_TABLE_START] = sText_AbilityWeakenedSurroundingMonsStat,
|
||||
[STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN - BATTLESTRINGS_TABLE_START] = sText_AttackerGainedStrengthFromTheFallen,
|
||||
[STRINGID_ZEROTOHEROTRANSFORMATION - BATTLESTRINGS_TABLE_START] = sText_ZeroToHeroTransformation,
|
||||
[STRINGID_HOSPITALITYRESTORATION - BATTLESTRINGS_TABLE_START] = sText_HospitalityRestoration,
|
||||
[STRINGID_HARVESTBERRY - BATTLESTRINGS_TABLE_START] = sText_HarvestBerry,
|
||||
[STRINGID_BADDREAMSDMG - BATTLESTRINGS_TABLE_START] = sText_BadDreamsDmg,
|
||||
[STRINGID_SOLARPOWERHPDROP - BATTLESTRINGS_TABLE_START] = sText_SolarPowerHpDrop,
|
||||
[STRINGID_HEALERCURE - BATTLESTRINGS_TABLE_START] = sText_HealerCure,
|
||||
[STRINGID_FETCHEDPOKEBALL - BATTLESTRINGS_TABLE_START] = sText_FetchedPokeBall,
|
||||
[STRINGID_TARGETABILITYSTATLOWER - BATTLESTRINGS_TABLE_START] = sText_TargetAbilityLoweredStat,
|
||||
[STRINGID_TARGETSTATWONTGOHIGHER - BATTLESTRINGS_TABLE_START] = sText_TargetStatWontGoHigher,
|
||||
[STRINGID_TARGETABILITYSTATRAISE - BATTLESTRINGS_TABLE_START] = sText_TargetAbilityRaisedStat,
|
||||
[STRINGID_CUSEDBODYDISABLED - BATTLESTRINGS_TABLE_START] = sText_CursedBodyDisabled,
|
||||
[STRINGID_ATTACKERACQUIREDABILITY - BATTLESTRINGS_TABLE_START] = sText_AttackerAquiredAbility,
|
||||
[STRINGID_SWAPPEDABILITIES - BATTLESTRINGS_TABLE_START] = sText_SwappedAbilities,
|
||||
[STRINGID_TARGETSSTATWASMAXEDOUT - BATTLESTRINGS_TABLE_START] = sText_TargetsStatWasMaxedOut,
|
||||
[STRINGID_PKMNSABILITYPREVENTSABILITY - BATTLESTRINGS_TABLE_START] = sText_PkmnsAbilityPreventsAbility,
|
||||
[STRINGID_AFTERMATHDMG - BATTLESTRINGS_TABLE_START] = sText_AftermathDmg,
|
||||
[STRINGID_ILLUSIONWOREOFF - BATTLESTRINGS_TABLE_START] = sText_IllusionWoreOff,
|
||||
[STRINGID_ASANDSTORMKICKEDUP - BATTLESTRINGS_TABLE_START] = sText_ASandstormKickedUp,
|
||||
[STRINGID_PKMNSWILLPERISHIN3TURNS - BATTLESTRINGS_TABLE_START] = sText_PkmnsWillPerishIn3Turns,
|
||||
[STRINGID_POISONSPIKESSCATTERED - BATTLESTRINGS_TABLE_START] = sText_PoisonSpikesScattered,
|
||||
[STRINGID_OPPORTUNISTCOPIED - BATTLESTRINGS_TABLE_START] = sText_OpportunistCopied,
|
||||
[STRINGID_PKMNGOTOVERITSINFATUATION - BATTLESTRINGS_TABLE_START] = sText_PkmnGotOverItsInfatuation,
|
||||
[STRINGID_PKMNSHOOKOFFTHETAUNT - BATTLESTRINGS_TABLE_START] = sText_PkmnShookOffTheTaunt,
|
||||
[STRINGID_SUNLIGHTACTIVATEDABILITY - BATTLESTRINGS_TABLE_START] = sText_SunlightActivatedAbility,
|
||||
[STRINGID_STATWASHEIGHTENED - BATTLESTRINGS_TABLE_START] = sText_StatWasHeightened,
|
||||
[STRINGID_BATTLERTYPECHANGEDTO - BATTLESTRINGS_TABLE_START] = sText_BattlerTypeChangedTo,
|
||||
[STRINGID_ELECTRICTERRAINACTIVATEDABILITY - BATTLESTRINGS_TABLE_START] = sText_ElectricTerrainActivatedAbility,
|
||||
[STRINGID_FRISKACTIVATES - BATTLESTRINGS_TABLE_START] = sText_FriskActivates,
|
||||
[STRINGID_ATTACKERABILITYSTATRAISE - BATTLESTRINGS_TABLE_START] = sText_AttackerAbilityRaisedStat,
|
||||
[STRINGID_EXTREMELYHARSHSUNLIGHTWASNOTLESSENED - BATTLESTRINGS_TABLE_START] = sText_ExtremelyHarshSunlightWasNotLessened,
|
||||
[STRINGID_NORELIEFROMHEAVYRAIN - BATTLESTRINGS_TABLE_START] = sText_NoReliefFromHeavyRain,
|
||||
[STRINGID_MYSTERIOUSAIRCURRENTBLOWSON - BATTLESTRINGS_TABLE_START] = sText_MysteriousAirCurrentBlowsOn,
|
||||
[STRINGID_AURAFLAREDTOLIFE - BATTLESTRINGS_TABLE_START] = sText_AuraFlaredToLife,
|
||||
[STRINGID_ATKGOTOVERINFATUATION - BATTLESTRINGS_TABLE_START] = sText_AttackerGotOverInfatuation,
|
||||
[STRINGID_TORMENTEDNOMORE - BATTLESTRINGS_TABLE_START] = sText_TormentedNoMore,
|
||||
[STRINGID_BUFFERENDS - BATTLESTRINGS_TABLE_START] = sText_BufferEnds,
|
||||
[STRINGID_HEALBLOCKEDNOMORE - BATTLESTRINGS_TABLE_START] = sText_HealBlockedNoMore,
|
||||
[STRINGID_MICLEBERRYACTIVATES - BATTLESTRINGS_TABLE_START] = sText_MicleBerryActivates,
|
||||
[STRINGID_MIRRORHERBCOPIED - BATTLESTRINGS_TABLE_START] = sText_MirrorHerbCopied,
|
||||
[STRINGID_PKMNSITEMHEALEDFROSTBITE - BATTLESTRINGS_TABLE_START] = sText_PkmnsItemHealedFrostbite,
|
||||
[STRINGID_AIRBALLOONFLOAT - BATTLESTRINGS_TABLE_START] = sText_AirBalloonFloat,
|
||||
[STRINGID_EJECTBUTTONACTIVATE - BATTLESTRINGS_TABLE_START] = sText_EjectButtonActivate,
|
||||
[STRINGID_HURTBYITEM - BATTLESTRINGS_TABLE_START] = sText_HurtByItem,
|
||||
[STRINGID_AIRBALLOONPOP - BATTLESTRINGS_TABLE_START] = sText_AirBalloonPop,
|
||||
[STRINGID_STICKYBARBTRANSFER - BATTLESTRINGS_TABLE_START] = sText_StickyBarbTransfer,
|
||||
[STRINGID_TEAMGAINEDEXP - BATTLESTRINGS_TABLE_START] = sText_TeamGainedEXP,
|
||||
[STRINGID_PKMNFROSTBITEHEALED - BATTLESTRINGS_TABLE_START] = sText_PkmnFrostbiteHealed,
|
||||
[STRINGID_STOCKPILEDEFFECTWOREOFF - BATTLESTRINGS_TABLE_START] = sText_StockpiledEffectWoreOff,
|
||||
[STRINGID_FELLSTRAIGHTDOWN - BATTLESTRINGS_TABLE_START] = sText_FellStraightDown,
|
||||
[STRINGID_TARGETWOKEUP - BATTLESTRINGS_TABLE_START] = sText_TargetWokeUp,
|
||||
[STRINGID_PKMNBURNHEALED - BATTLESTRINGS_TABLE_START] = sText_PkmnBurnHealed,
|
||||
[STRINGID_REDCARDACTIVATE - BATTLESTRINGS_TABLE_START] = sText_RedCardActivate,
|
||||
[STRINGID_MOVEBLOCKEDBYDYNAMAX - BATTLESTRINGS_TABLE_START] = sText_MoveBlockedByDynamax,
|
||||
[STRINGID_ITEMCANNOTBEREMOVED - BATTLESTRINGS_TABLE_START] = sText_ItemCannotBeRemoved,
|
||||
[STRINGID_ZMOVERESETSSTATS - BATTLESTRINGS_TABLE_START] = sText_ZMoveResetsStats,
|
||||
[STRINGID_ZMOVEZBOOSTCRIT - BATTLESTRINGS_TABLE_START] = sText_ZMoveBoostCrit,
|
||||
[STRINGID_ZMOVERESTOREHP - BATTLESTRINGS_TABLE_START] = sText_ZMoveRestoreHp,
|
||||
[STRINGID_ZMOVESTATUP - BATTLESTRINGS_TABLE_START] = sText_ZMoveStatUp,
|
||||
[STRINGID_ZMOVEHPTRAP - BATTLESTRINGS_TABLE_START] = sText_ZMoveHpSwitchInTrap,
|
||||
[STRINGID_ZMOVEALLSTATSUP - BATTLESTRINGS_TABLE_START] = sText_ZMoveAllStatsUp,
|
||||
[STRINGID_PKMNREVERTEDTOPRIMAL - BATTLESTRINGS_TABLE_START] = sText_PkmnRevertedToPrimal,
|
||||
[STRINGID_HEALINGWISHHEALED - BATTLESTRINGS_TABLE_START] = sText_HealingWishHealed,
|
||||
[STRINGID_TOXICSPIKESABSORBED - BATTLESTRINGS_TABLE_START] = sText_ToxicSpikesAbsorbed,
|
||||
[STRINGID_TOXICSPIKESPOISONED - BATTLESTRINGS_TABLE_START] = sText_ToxicSpikesPoisoned,
|
||||
[STRINGID_STICKYWEBSWITCHIN - BATTLESTRINGS_TABLE_START] = sText_StickyWebSwitchIn,
|
||||
[STRINGID_HEALINGWISHCAMETRUE - BATTLESTRINGS_TABLE_START] = sText_HealingWishCameTrue,
|
||||
[STRINGID_LUNARDANCECAMETRUE - BATTLESTRINGS_TABLE_START] = sText_LunarDanceCameTrue,
|
||||
[STRINGID_SPIKESDISAPPEAREDFROMTEAM - BATTLESTRINGS_TABLE_START] = sText_SpikesDisappearedFromTeam,
|
||||
[STRINGID_TOXICSPIKESDISAPPEAREDFROMTEAM - BATTLESTRINGS_TABLE_START] = sText_ToxicSpikesDisappearedFromTeam,
|
||||
[STRINGID_STICKYWEBDISAPPEAREDFROMTEAM - BATTLESTRINGS_TABLE_START] = sText_StickyWebDisappearedFromTeam,
|
||||
[STRINGID_STEALTHROCKDISAPPEAREDFROMTEAM - BATTLESTRINGS_TABLE_START] = sText_StealthRockDisappearedFromTeam,
|
||||
[STRINGID_SHARPSTEELDISAPPEAREDFROMTEAM - BATTLESTRINGS_TABLE_START] = sText_SharpSteelDisappearedFromTeam,
|
||||
[STRINGID_LASTABILITYRAISEDSTAT - BATTLESTRINGS_TABLE_START] = sText_LastAbilityRaisedBuff1,
|
||||
[STRINGID_RECEIVERABILITYTAKEOVER - BATTLESTRINGS_TABLE_START] = sText_ReceiverAbilityTakeOver,
|
||||
[STRINGID_NEUTRALIZINGGASOVER - BATTLESTRINGS_TABLE_START] = sText_NeutralizingGasOver,
|
||||
[STRINGID_ATTACKERBECAMEFULLYCHARGED - BATTLESTRINGS_TABLE_START] = sText_AttackerBecameFullyCharged,
|
||||
[STRINGID_ATTACKERBECAMEASHSPECIES - BATTLESTRINGS_TABLE_START] = sText_AttackerBecameAshSpecies,
|
||||
[STRINGID_PROTECTEDTEAM - BATTLESTRINGS_TABLE_START] = sText_ProtectedTeam,
|
||||
[STRINGID_ELECTRICTERRAINPREVENTS - BATTLESTRINGS_TABLE_START] = sText_ElectricTerrainPreventsSleep,
|
||||
[STRINGID_MISTYTERRAINPREVENTS - BATTLESTRINGS_TABLE_START] = sText_MistyTerrainPreventsStatus,
|
||||
[STRINGID_PSYCHICTERRAINPREVENTS - BATTLESTRINGS_TABLE_START] = sText_PsychicTerrainPreventsPriority,
|
||||
[STRINGID_FLOWERVEILPROTECTED - BATTLESTRINGS_TABLE_START] = sText_FlowerVeilProtected,
|
||||
[STRINGID_DRASTICALLY - BATTLESTRINGS_TABLE_START] = sText_drastically,
|
||||
[STRINGID_SEVERELY - BATTLESTRINGS_TABLE_START] = sText_severely,
|
||||
[STRINGID_CLEARAMULETWONTLOWERSTATS - BATTLESTRINGS_TABLE_START] = sText_ClearAmuletWontLowerStats,
|
||||
[STRINGID_CELEBRATEMESSAGE - BATTLESTRINGS_TABLE_START] = sText_CelebrateMessage,
|
||||
[STRINGID_PKMNBLEWAWAYTOXICSPIKES - BATTLESTRINGS_TABLE_START] = sText_PkmnBlewAwayToxicSpikes,
|
||||
[STRINGID_PKMNBLEWAWAYSTICKYWEB - BATTLESTRINGS_TABLE_START] = sText_PkmnBlewAwayStickyWeb,
|
||||
[STRINGID_PKMNBLEWAWAYSTEALTHROCK - BATTLESTRINGS_TABLE_START] = sText_PkmnBlewAwayStealthRock,
|
||||
[STRINGID_PKMNBLEWAWAYSHARPSTEEL - BATTLESTRINGS_TABLE_START] = sText_PkmnBlewAwaySharpSteel,
|
||||
[STRINGID_PKMNGOTFROSTBITE - BATTLESTRINGS_TABLE_START] = sText_PkmnGotFrostbite,
|
||||
};
|
||||
|
||||
const u16 gTrainerUsedItemStringIds[] =
|
||||
{
|
||||
STRINGID_PLAYERUSEDITEM, STRINGID_TRAINER1USEDITEM
|
||||
};
|
||||
|
||||
const u16 gZEffectStringIds[] =
|
||||
{
|
||||
[B_MSG_Z_RESET_STATS] = STRINGID_ZMOVERESETSSTATS,
|
||||
[B_MSG_Z_ALL_STATS_UP]= STRINGID_ZMOVEALLSTATSUP,
|
||||
[B_MSG_Z_BOOST_CRITS] = STRINGID_ZMOVEZBOOSTCRIT,
|
||||
[B_MSG_Z_FOLLOW_ME] = STRINGID_PKMNCENTERATTENTION,
|
||||
[B_MSG_Z_RECOVER_HP] = STRINGID_ZMOVERESTOREHP,
|
||||
[B_MSG_Z_STAT_UP] = STRINGID_ZMOVESTATUP,
|
||||
[B_MSG_Z_HP_TRAP] = STRINGID_ZMOVEHPTRAP,
|
||||
};
|
||||
|
||||
const u16 gMentalHerbCureStringIds[] =
|
||||
{
|
||||
[B_MSG_MENTALHERBCURE_INFATUATION] = STRINGID_ATKGOTOVERINFATUATION,
|
||||
[B_MSG_MENTALHERBCURE_TAUNT] = STRINGID_BUFFERENDS,
|
||||
[B_MSG_MENTALHERBCURE_ENCORE] = STRINGID_PKMNENCOREENDED,
|
||||
[B_MSG_MENTALHERBCURE_TORMENT] = STRINGID_TORMENTEDNOMORE,
|
||||
[B_MSG_MENTALHERBCURE_HEALBLOCK] = STRINGID_HEALBLOCKEDNOMORE,
|
||||
[B_MSG_MENTALHERBCURE_DISABLE] = STRINGID_PKMNMOVEDISABLEDNOMORE,
|
||||
};
|
||||
|
||||
const u16 gStartingStatusStringIds[B_MSG_STARTING_STATUS_COUNT] =
|
||||
{
|
||||
[B_MSG_TERRAIN_SET_MISTY] = STRINGID_TERRAINBECOMESMISTY,
|
||||
[B_MSG_TERRAIN_SET_ELECTRIC] = STRINGID_TERRAINBECOMESELECTRIC,
|
||||
[B_MSG_TERRAIN_SET_PSYCHIC] = STRINGID_TERRAINBECOMESPSYCHIC,
|
||||
[B_MSG_TERRAIN_SET_GRASSY] = STRINGID_TERRAINBECOMESGRASSY,
|
||||
[B_MSG_SET_TRICK_ROOM] = STRINGID_DIMENSIONSWERETWISTED,
|
||||
[B_MSG_SET_MAGIC_ROOM] = STRINGID_BIZARREARENACREATED,
|
||||
[B_MSG_SET_WONDER_ROOM] = STRINGID_BIZARREAREACREATED,
|
||||
[B_MSG_SET_TAILWIND_PLAYER] = STRINGID_TAILWINDBLEW,
|
||||
[B_MSG_SET_TAILWIND_OPPONENT] = STRINGID_TAILWINDBLEW,
|
||||
};
|
||||
|
||||
const u16 gTerrainStringIds[B_MSG_TERRAIN_COUNT] =
|
||||
{
|
||||
[B_MSG_TERRAIN_SET_MISTY] = STRINGID_TERRAINBECOMESMISTY,
|
||||
[B_MSG_TERRAIN_SET_ELECTRIC] = STRINGID_TERRAINBECOMESELECTRIC,
|
||||
[B_MSG_TERRAIN_SET_PSYCHIC] = STRINGID_TERRAINBECOMESPSYCHIC,
|
||||
[B_MSG_TERRAIN_SET_GRASSY] = STRINGID_TERRAINBECOMESGRASSY,
|
||||
[B_MSG_TERRAIN_END_MISTY] = STRINGID_MISTYTERRAINENDS,
|
||||
[B_MSG_TERRAIN_END_ELECTRIC] = STRINGID_ELECTRICTERRAINENDS,
|
||||
[B_MSG_TERRAIN_END_PSYCHIC] = STRINGID_PSYCHICTERRAINENDS,
|
||||
[B_MSG_TERRAIN_END_GRASSY] = STRINGID_GRASSYTERRAINENDS,
|
||||
};
|
||||
|
||||
const u16 gTerrainPreventsStringIds[] =
|
||||
{
|
||||
[B_MSG_TERRAINPREVENTS_MISTY] = STRINGID_MISTYTERRAINPREVENTS,
|
||||
[B_MSG_TERRAINPREVENTS_ELECTRIC] = STRINGID_ELECTRICTERRAINPREVENTS,
|
||||
[B_MSG_TERRAINPREVENTS_PSYCHIC] = STRINGID_PSYCHICTERRAINPREVENTS
|
||||
};
|
||||
|
||||
const u16 gMagicCoatBounceStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNMOVEBOUNCED, STRINGID_PKMNMOVEBOUNCEDABILITY
|
||||
};
|
||||
|
||||
const u16 gHealingWishStringIds[] =
|
||||
{
|
||||
STRINGID_HEALINGWISHCAMETRUE, STRINGID_LUNARDANCECAMETRUE
|
||||
};
|
||||
|
||||
const u16 gDmgHazardsStringIds[] =
|
||||
{
|
||||
[B_MSG_PKMNHURTBYSPIKES] = STRINGID_PKMNHURTBYSPIKES,
|
||||
[B_MSG_STEALTHROCKDMG] = STRINGID_STEALTHROCKDMG,
|
||||
[B_MSG_SHARPSTEELDMG] = STRINGID_SHARPSTEELDMG,
|
||||
[B_MSG_POINTEDSTONESFLOAT] = STRINGID_POINTEDSTONESFLOAT,
|
||||
[B_MSG_SPIKESSCATTERED] = STRINGID_SPIKESSCATTERED,
|
||||
[B_MSG_SHARPSTEELFLOATS] = STRINGID_SHARPSTEELFLOATS,
|
||||
};
|
||||
|
||||
const u16 gSwitchInAbilityStringIds[] =
|
||||
{
|
||||
[B_MSG_SWITCHIN_MOLDBREAKER] = STRINGID_MOLDBREAKERENTERS,
|
||||
[B_MSG_SWITCHIN_TERAVOLT] = STRINGID_TERAVOLTENTERS,
|
||||
[B_MSG_SWITCHIN_TURBOBLAZE] = STRINGID_TURBOBLAZEENTERS,
|
||||
[B_MSG_SWITCHIN_SLOWSTART] = STRINGID_SLOWSTARTENTERS,
|
||||
[B_MSG_SWITCHIN_UNNERVE] = STRINGID_UNNERVEENTERS,
|
||||
[B_MSG_SWITCHIN_ANTICIPATION] = STRINGID_ANTICIPATIONACTIVATES,
|
||||
[B_MSG_SWITCHIN_FOREWARN] = STRINGID_FOREWARNACTIVATES,
|
||||
[B_MSG_SWITCHIN_PRESSURE] = STRINGID_PRESSUREENTERS,
|
||||
[B_MSG_SWITCHIN_DARKAURA] = STRINGID_DARKAURAENTERS,
|
||||
[B_MSG_SWITCHIN_FAIRYAURA] = STRINGID_FAIRYAURAENTERS,
|
||||
[B_MSG_SWITCHIN_AURABREAK] = STRINGID_AURABREAKENTERS,
|
||||
[B_MSG_SWITCHIN_COMATOSE] = STRINGID_COMATOSEENTERS,
|
||||
[B_MSG_SWITCHIN_SCREENCLEANER] = STRINGID_SCREENCLEANERENTERS,
|
||||
[B_MSG_SWITCHIN_ASONE] = STRINGID_ASONEENTERS,
|
||||
[B_MSG_SWITCHIN_CURIOUS_MEDICINE] = STRINGID_CURIOUSMEDICINEENTERS,
|
||||
[B_MSG_SWITCHIN_PASTEL_VEIL] = STRINGID_PASTELVEILENTERS,
|
||||
[B_MSG_SWITCHIN_NEUTRALIZING_GAS] = STRINGID_NEUTRALIZINGGASENTERS,
|
||||
};
|
||||
|
||||
const u16 gMissStringIds[] =
|
||||
|
|
@ -965,7 +1422,8 @@ const u16 gProtectLikeUsedStringIds[] =
|
|||
{
|
||||
[B_MSG_PROTECTED_ITSELF] = STRINGID_PKMNPROTECTEDITSELF2,
|
||||
[B_MSG_BRACED_ITSELF] = STRINGID_PKMNBRACEDITSELF,
|
||||
[B_MSG_PROTECT_FAILED] = STRINGID_BUTITFAILED
|
||||
[B_MSG_PROTECT_FAILED] = STRINGID_BUTITFAILED,
|
||||
[B_MSG_PROTECTED_TEAM] = STRINGID_PROTECTEDTEAM,
|
||||
};
|
||||
|
||||
const u16 gReflectLightScreenSafeguardStringIds[] =
|
||||
|
|
@ -1055,15 +1513,19 @@ const u16 gFirstTurnOfTwoStringIds[] =
|
|||
[B_MSG_TURN1_BOUNCE] = STRINGID_PKMNSPRANGUP
|
||||
};
|
||||
|
||||
// Index copied from move's index in gTrappingMoves
|
||||
const u16 gWrappedStringIds[] =
|
||||
// Index copied from move's index in sTrappingMoves
|
||||
const u16 gWrappedStringIds[NUM_TRAPPING_MOVES] =
|
||||
{
|
||||
STRINGID_PKMNSQUEEZEDBYBIND, // MOVE_BIND
|
||||
STRINGID_PKMNWRAPPEDBY, // MOVE_WRAP
|
||||
STRINGID_PKMNTRAPPEDINVORTEX, // MOVE_FIRE_SPIN
|
||||
STRINGID_PKMNCLAMPED, // MOVE_CLAMP
|
||||
STRINGID_PKMNTRAPPEDINVORTEX, // MOVE_WHIRLPOOL
|
||||
STRINGID_PKMNTRAPPEDBYSANDTOMB // MOVE_SAND_TOMB
|
||||
[B_MSG_WRAPPED_BIND] = STRINGID_PKMNSQUEEZEDBYBIND, // MOVE_BIND
|
||||
[B_MSG_WRAPPED_WRAP] = STRINGID_PKMNWRAPPEDBY, // MOVE_WRAP
|
||||
[B_MSG_WRAPPED_FIRE_SPIN] = STRINGID_PKMNTRAPPEDINVORTEX, // MOVE_FIRE_SPIN
|
||||
[B_MSG_WRAPPED_CLAMP] = STRINGID_PKMNCLAMPED, // MOVE_CLAMP
|
||||
[B_MSG_WRAPPED_WHIRLPOOL] = STRINGID_PKMNTRAPPEDINVORTEX, // MOVE_WHIRLPOOL
|
||||
[B_MSG_WRAPPED_SAND_TOMB] = STRINGID_PKMNTRAPPEDBYSANDTOMB, // MOVE_SAND_TOMB
|
||||
[B_MSG_WRAPPED_MAGMA_STORM] = STRINGID_TRAPPEDBYSWIRLINGMAGMA, // MOVE_MAGMA_STORM
|
||||
[B_MSG_WRAPPED_INFESTATION] = STRINGID_INFESTATION, // MOVE_INFESTATION
|
||||
[B_MSG_WRAPPED_SNAP_TRAP] = STRINGID_PKMNINSNAPTRAP, // MOVE_SNAP_TRAP
|
||||
[B_MSG_WRAPPED_THUNDER_CAGE]= STRINGID_THUNDERCAGETRAPPED, // MOVE_THUNDER_CAGE
|
||||
};
|
||||
|
||||
const u16 gMistUsedStringIds[] =
|
||||
|
|
@ -1114,6 +1576,17 @@ const u16 gGotBurnedStringIds[] =
|
|||
[B_MSG_STATUSED_BY_ABILITY] = STRINGID_PKMNBURNEDBY
|
||||
};
|
||||
|
||||
const u16 gGotFrostbiteStringIds[] =
|
||||
{
|
||||
[B_MSG_STATUSED] = STRINGID_PKMNGOTFROSTBITE
|
||||
};
|
||||
|
||||
const u16 gFrostbiteHealedStringIds[] =
|
||||
{
|
||||
[B_MSG_FROSTBITE_HEALED] = STRINGID_PKMNFROSTBITEHEALED2,
|
||||
[B_MSG_FROSTBITE_HEALED_BY_MOVE] = STRINGID_PKMNFROSTBITEHEALEDBY
|
||||
};
|
||||
|
||||
const u16 gGotFrozenStringIds[] =
|
||||
{
|
||||
[B_MSG_STATUSED] = STRINGID_PKMNWASFROZEN,
|
||||
|
|
@ -1194,6 +1667,12 @@ const u16 gWeatherStartsStringIds[] =
|
|||
[WEATHER_ABNORMAL] = STRINGID_ITISRAINING
|
||||
};
|
||||
|
||||
const u16 gPrimalWeatherBlocksStringIds[] =
|
||||
{
|
||||
[B_MSG_PRIMAL_WEATHER_FIZZLED_BY_RAIN] = STRINGID_MOVEFIZZLEDOUTINTHEHEAVYRAIN,
|
||||
[B_MSG_PRIMAL_WEATHER_EVAPORATED_IN_SUN] = STRINGID_MOVEEVAPORATEDINTHEHARSHSUNLIGHT,
|
||||
};
|
||||
|
||||
const u16 gInobedientStringIds[] =
|
||||
{
|
||||
[B_MSG_LOAFING] = STRINGID_PKMNLOAFING,
|
||||
|
|
@ -1277,17 +1756,6 @@ const u16 gDoubleBattleRecallStrings[1 << (MAX_BATTLERS_COUNT / 2)] =
|
|||
STRINGID_TRAINER1MON1AND2COMEBACK
|
||||
};
|
||||
|
||||
const u16 gTrappingMoves[NUM_TRAPPING_MOVES + 1] =
|
||||
{
|
||||
MOVE_BIND,
|
||||
MOVE_WRAP,
|
||||
MOVE_FIRE_SPIN,
|
||||
MOVE_CLAMP,
|
||||
MOVE_WHIRLPOOL,
|
||||
MOVE_SAND_TOMB,
|
||||
0xFFFF // Never read
|
||||
};
|
||||
|
||||
const u8 gText_PkmnIsEvolving[] = _("What?\n{STR_VAR_1} is evolving!");
|
||||
const u8 gText_CongratsPkmnEvolved[] = _("Congratulations! Your {STR_VAR_1}\nevolved into {STR_VAR_2}!{WAIT_SE}\p");
|
||||
const u8 gText_PkmnStoppedEvolving[] = _("Huh? {STR_VAR_1}\nstopped evolving!\p");
|
||||
|
|
@ -1391,6 +1859,9 @@ static const u8 sText_Trainer1Fled[] = _("{PLAY_SE SE_FLEE}{B_TRAINER1_CLASS} {B
|
|||
static const u8 sText_PlayerLostAgainstTrainer1[] = _("Player lost against\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!");
|
||||
static const u8 sText_PlayerBattledToDrawTrainer1[] = _("Player battled to a draw against\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!");
|
||||
|
||||
static const u8 sText_Your2[] = _("your");
|
||||
static const u8 sText_Opposing2[] = _("the opposing");
|
||||
|
||||
static const u8 *const sATypeMove_Table[NUMBER_OF_MON_TYPES] =
|
||||
{
|
||||
[TYPE_NORMAL] = gText_ANormalMove,
|
||||
|
|
@ -1779,6 +2250,9 @@ void BufferStringBattle(u16 stringId)
|
|||
}
|
||||
}
|
||||
break;
|
||||
case STRINGID_TRAINERSLIDE:
|
||||
stringPtr = gBattleStruct->trainerSlideMsg;
|
||||
break;
|
||||
default: // load a string from the table
|
||||
if (stringId >= BATTLESTRINGS_COUNT)
|
||||
{
|
||||
|
|
@ -2044,19 +2518,19 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
|
|||
}
|
||||
break;
|
||||
case B_TXT_LAST_ABILITY: // last used ability
|
||||
toCpy = gAbilityNames[gLastUsedAbility];
|
||||
toCpy = gAbilitiesInfo[gLastUsedAbility].name;
|
||||
break;
|
||||
case B_TXT_ATK_ABILITY: // attacker ability
|
||||
toCpy = gAbilityNames[sBattlerAbilities[gBattlerAttacker]];
|
||||
toCpy = gAbilitiesInfo[sBattlerAbilities[gBattlerAttacker]].name;
|
||||
break;
|
||||
case B_TXT_DEF_ABILITY: // target ability
|
||||
toCpy = gAbilityNames[sBattlerAbilities[gBattlerTarget]];
|
||||
toCpy = gAbilitiesInfo[sBattlerAbilities[gBattlerTarget]].name;
|
||||
break;
|
||||
case B_TXT_SCR_ACTIVE_ABILITY: // scripting active ability
|
||||
toCpy = gAbilityNames[sBattlerAbilities[gBattleScripting.battler]];
|
||||
toCpy = gAbilitiesInfo[sBattlerAbilities[gBattleScripting.battler]].name;
|
||||
break;
|
||||
case B_TXT_EFF_ABILITY: // effect battlerId ability
|
||||
toCpy = gAbilityNames[sBattlerAbilities[gEffectBattler]];
|
||||
toCpy = gAbilitiesInfo[sBattlerAbilities[gEffectBattler]].name;
|
||||
break;
|
||||
case B_TXT_TRAINER1_CLASS: // trainer class name
|
||||
if (gTrainerBattleOpponent_A == TRAINER_SECRET_BASE)
|
||||
|
|
@ -2202,8 +2676,21 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
|
|||
else
|
||||
toCpy = sText_FoePkmnPrefix4;
|
||||
break;
|
||||
case B_TXT_ATK_TEAM2:
|
||||
if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER)
|
||||
toCpy = sText_Your2;
|
||||
else
|
||||
toCpy = sText_Opposing2;
|
||||
break;
|
||||
case B_TXT_DEF_TEAM2:
|
||||
if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER)
|
||||
toCpy = sText_Your2;
|
||||
else
|
||||
toCpy = sText_Opposing2;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
// missing if (toCpy != NULL) check
|
||||
while (*toCpy != EOS)
|
||||
{
|
||||
|
|
@ -2293,7 +2780,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst)
|
|||
srcId += 2;
|
||||
break;
|
||||
case B_BUFF_SPECIES: // species name
|
||||
GetSpeciesName(dst, T1_READ_16(&src[srcId + 1]));
|
||||
StringCopy(dst, GetSpeciesName(T1_READ_16(&src[srcId + 1])));
|
||||
srcId += 3;
|
||||
break;
|
||||
case B_BUFF_MON_NICK: // poke nick without prefix
|
||||
|
|
@ -2309,7 +2796,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst)
|
|||
srcId += 2;
|
||||
break;
|
||||
case B_BUFF_ABILITY: // ability names
|
||||
StringAppend(dst, gAbilityNames[src[srcId + 1]]);
|
||||
StringAppend(dst, gAbilitiesInfo[src[srcId + 1]].name);
|
||||
srcId += 2;
|
||||
break;
|
||||
case B_BUFF_ITEM: // item name
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -72,6 +72,7 @@ static const u8 *GetTrainerCantBattleSpeech(void);
|
|||
|
||||
static EWRAM_DATA u16 sTrainerBattleMode = 0;
|
||||
EWRAM_DATA u16 gTrainerBattleOpponent_A = 0;
|
||||
EWRAM_DATA u16 gTrainerBattleOpponent_B = 0;
|
||||
static EWRAM_DATA u16 sTrainerObjectEventLocalId = 0;
|
||||
static EWRAM_DATA u8 *sTrainerAIntroSpeech = NULL;
|
||||
static EWRAM_DATA u8 *sTrainerADefeatSpeech = NULL;
|
||||
|
|
|
|||
8979
src/battle_util.c
8979
src/battle_util.c
File diff suppressed because it is too large
Load Diff
|
|
@ -75,7 +75,7 @@ void FreeBattleResources(void)
|
|||
}
|
||||
}
|
||||
|
||||
void AdjustFriendshipOnBattleFaint(u8 battlerId)
|
||||
void AdjustFriendshipOnBattleFaint(u8 battler)
|
||||
{
|
||||
u8 opposingBattlerId;
|
||||
|
||||
|
|
@ -94,15 +94,15 @@ void AdjustFriendshipOnBattleFaint(u8 battlerId)
|
|||
opposingBattlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
|
||||
}
|
||||
|
||||
if (gBattleMons[opposingBattlerId].level > gBattleMons[battlerId].level)
|
||||
if (gBattleMons[opposingBattlerId].level > gBattleMons[battler].level)
|
||||
{
|
||||
if (gBattleMons[opposingBattlerId].level - gBattleMons[battlerId].level > 29)
|
||||
AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], FRIENDSHIP_EVENT_FAINT_LARGE);
|
||||
if (gBattleMons[opposingBattlerId].level - gBattleMons[battler].level > 29)
|
||||
AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battler]], FRIENDSHIP_EVENT_FAINT_LARGE);
|
||||
else
|
||||
AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], FRIENDSHIP_EVENT_FAINT_SMALL);
|
||||
AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battler]], FRIENDSHIP_EVENT_FAINT_SMALL);
|
||||
}
|
||||
else
|
||||
{
|
||||
AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], FRIENDSHIP_EVENT_FAINT_SMALL);
|
||||
AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battler]], FRIENDSHIP_EVENT_FAINT_SMALL);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
10
src/data.c
10
src/data.c
|
|
@ -284,22 +284,12 @@ const union AnimCmd *const gAnims_MonPic[] =
|
|||
#define TRAINER_SPRITE(trainerPic, sprite, size) [TRAINER_PIC_##trainerPic] = {sprite, size, TRAINER_PIC_##trainerPic}
|
||||
#define TRAINER_PAL(trainerPic, pal) [TRAINER_PIC_##trainerPic] = {pal, TRAINER_PIC_##trainerPic}
|
||||
|
||||
#include "data/pokemon_graphics/front_pic_coordinates.h"
|
||||
#include "data/pokemon_graphics/front_pic_table.h"
|
||||
#include "data/pokemon_graphics/back_pic_coordinates.h"
|
||||
#include "data/pokemon_graphics/back_pic_table.h"
|
||||
#include "data/pokemon_graphics/palette_table.h"
|
||||
#include "data/pokemon_graphics/shiny_palette_table.h"
|
||||
|
||||
#include "data/trainer_graphics/front_pic_anims.h"
|
||||
#include "data/trainer_graphics/front_pic_tables.h"
|
||||
#include "data/trainer_graphics/back_pic_anims.h"
|
||||
#include "data/trainer_graphics/back_pic_tables.h"
|
||||
|
||||
#include "data/pokemon_graphics/enemy_mon_elevation.h"
|
||||
|
||||
#include "data/trainer_parties.h"
|
||||
#include "data/text/trainer_class_names.h"
|
||||
#include "data/trainers.h"
|
||||
#include "data/text/species_names.h"
|
||||
#include "data/text/move_names.h"
|
||||
|
|
|
|||
2604
src/data/abilities.h
Normal file
2604
src/data/abilities.h
Normal file
File diff suppressed because it is too large
Load Diff
1886
src/data/battle_move_effects.h
Normal file
1886
src/data/battle_move_effects.h
Normal file
File diff suppressed because it is too large
Load Diff
12444
src/data/battle_moves.h
12444
src/data/battle_moves.h
File diff suppressed because it is too large
Load Diff
18118
src/data/moves_info.h
Normal file
18118
src/data/moves_info.h
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -1,187 +0,0 @@
|
|||
const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
|
||||
{
|
||||
[SPECIES_BULBASAUR] = {{EVO_LEVEL, 16, SPECIES_IVYSAUR}},
|
||||
[SPECIES_IVYSAUR] = {{EVO_LEVEL, 32, SPECIES_VENUSAUR}},
|
||||
[SPECIES_CHARMANDER] = {{EVO_LEVEL, 16, SPECIES_CHARMELEON}},
|
||||
[SPECIES_CHARMELEON] = {{EVO_LEVEL, 36, SPECIES_CHARIZARD}},
|
||||
[SPECIES_SQUIRTLE] = {{EVO_LEVEL, 16, SPECIES_WARTORTLE}},
|
||||
[SPECIES_WARTORTLE] = {{EVO_LEVEL, 36, SPECIES_BLASTOISE}},
|
||||
[SPECIES_CATERPIE] = {{EVO_LEVEL, 7, SPECIES_METAPOD}},
|
||||
[SPECIES_METAPOD] = {{EVO_LEVEL, 10, SPECIES_BUTTERFREE}},
|
||||
[SPECIES_WEEDLE] = {{EVO_LEVEL, 7, SPECIES_KAKUNA}},
|
||||
[SPECIES_KAKUNA] = {{EVO_LEVEL, 10, SPECIES_BEEDRILL}},
|
||||
[SPECIES_PIDGEY] = {{EVO_LEVEL, 18, SPECIES_PIDGEOTTO}},
|
||||
[SPECIES_PIDGEOTTO] = {{EVO_LEVEL, 36, SPECIES_PIDGEOT}},
|
||||
[SPECIES_RATTATA] = {{EVO_LEVEL, 20, SPECIES_RATICATE}},
|
||||
[SPECIES_SPEAROW] = {{EVO_LEVEL, 20, SPECIES_FEAROW}},
|
||||
[SPECIES_EKANS] = {{EVO_LEVEL, 22, SPECIES_ARBOK}},
|
||||
[SPECIES_PIKACHU] = {{EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_RAICHU}},
|
||||
[SPECIES_SANDSHREW] = {{EVO_LEVEL, 22, SPECIES_SANDSLASH}},
|
||||
[SPECIES_NIDORAN_F] = {{EVO_LEVEL, 16, SPECIES_NIDORINA}},
|
||||
[SPECIES_NIDORINA] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOQUEEN}},
|
||||
[SPECIES_NIDORAN_M] = {{EVO_LEVEL, 16, SPECIES_NIDORINO}},
|
||||
[SPECIES_NIDORINO] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOKING}},
|
||||
[SPECIES_CLEFAIRY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_CLEFABLE}},
|
||||
[SPECIES_VULPIX] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_NINETALES}},
|
||||
[SPECIES_JIGGLYPUFF] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_WIGGLYTUFF}},
|
||||
[SPECIES_ZUBAT] = {{EVO_LEVEL, 22, SPECIES_GOLBAT}},
|
||||
[SPECIES_GOLBAT] = {{EVO_FRIENDSHIP, 0, SPECIES_CROBAT}},
|
||||
[SPECIES_ODDISH] = {{EVO_LEVEL, 21, SPECIES_GLOOM}},
|
||||
[SPECIES_GLOOM] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VILEPLUME},
|
||||
{EVO_ITEM, ITEM_SUN_STONE, SPECIES_BELLOSSOM}},
|
||||
[SPECIES_PARAS] = {{EVO_LEVEL, 24, SPECIES_PARASECT}},
|
||||
[SPECIES_VENONAT] = {{EVO_LEVEL, 31, SPECIES_VENOMOTH}},
|
||||
[SPECIES_DIGLETT] = {{EVO_LEVEL, 26, SPECIES_DUGTRIO}},
|
||||
[SPECIES_MEOWTH] = {{EVO_LEVEL, 28, SPECIES_PERSIAN}},
|
||||
[SPECIES_PSYDUCK] = {{EVO_LEVEL, 33, SPECIES_GOLDUCK}},
|
||||
[SPECIES_MANKEY] = {{EVO_LEVEL, 28, SPECIES_PRIMEAPE}},
|
||||
[SPECIES_GROWLITHE] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_ARCANINE}},
|
||||
[SPECIES_POLIWAG] = {{EVO_LEVEL, 25, SPECIES_POLIWHIRL}},
|
||||
[SPECIES_POLIWHIRL] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_POLIWRATH},
|
||||
{EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_POLITOED}},
|
||||
[SPECIES_ABRA] = {{EVO_LEVEL, 16, SPECIES_KADABRA}},
|
||||
[SPECIES_KADABRA] = {{EVO_TRADE, 0, SPECIES_ALAKAZAM}},
|
||||
[SPECIES_MACHOP] = {{EVO_LEVEL, 28, SPECIES_MACHOKE}},
|
||||
[SPECIES_MACHOKE] = {{EVO_TRADE, 0, SPECIES_MACHAMP}},
|
||||
[SPECIES_BELLSPROUT] = {{EVO_LEVEL, 21, SPECIES_WEEPINBELL}},
|
||||
[SPECIES_WEEPINBELL] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VICTREEBEL}},
|
||||
[SPECIES_TENTACOOL] = {{EVO_LEVEL, 30, SPECIES_TENTACRUEL}},
|
||||
[SPECIES_GEODUDE] = {{EVO_LEVEL, 25, SPECIES_GRAVELER}},
|
||||
[SPECIES_GRAVELER] = {{EVO_TRADE, 0, SPECIES_GOLEM}},
|
||||
[SPECIES_PONYTA] = {{EVO_LEVEL, 40, SPECIES_RAPIDASH}},
|
||||
[SPECIES_SLOWPOKE] = {{EVO_LEVEL, 37, SPECIES_SLOWBRO},
|
||||
{EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING}},
|
||||
[SPECIES_MAGNEMITE] = {{EVO_LEVEL, 30, SPECIES_MAGNETON}},
|
||||
[SPECIES_DODUO] = {{EVO_LEVEL, 31, SPECIES_DODRIO}},
|
||||
[SPECIES_SEEL] = {{EVO_LEVEL, 34, SPECIES_DEWGONG}},
|
||||
[SPECIES_GRIMER] = {{EVO_LEVEL, 38, SPECIES_MUK}},
|
||||
[SPECIES_SHELLDER] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_CLOYSTER}},
|
||||
[SPECIES_GASTLY] = {{EVO_LEVEL, 25, SPECIES_HAUNTER}},
|
||||
[SPECIES_HAUNTER] = {{EVO_TRADE, 0, SPECIES_GENGAR}},
|
||||
[SPECIES_ONIX] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_STEELIX}},
|
||||
[SPECIES_DROWZEE] = {{EVO_LEVEL, 26, SPECIES_HYPNO}},
|
||||
[SPECIES_KRABBY] = {{EVO_LEVEL, 28, SPECIES_KINGLER}},
|
||||
[SPECIES_VOLTORB] = {{EVO_LEVEL, 30, SPECIES_ELECTRODE}},
|
||||
[SPECIES_EXEGGCUTE] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_EXEGGUTOR}},
|
||||
[SPECIES_CUBONE] = {{EVO_LEVEL, 28, SPECIES_MAROWAK}},
|
||||
[SPECIES_KOFFING] = {{EVO_LEVEL, 35, SPECIES_WEEZING}},
|
||||
[SPECIES_RHYHORN] = {{EVO_LEVEL, 42, SPECIES_RHYDON}},
|
||||
[SPECIES_CHANSEY] = {{EVO_FRIENDSHIP, 0, SPECIES_BLISSEY}},
|
||||
[SPECIES_HORSEA] = {{EVO_LEVEL, 32, SPECIES_SEADRA}},
|
||||
[SPECIES_SEADRA] = {{EVO_TRADE_ITEM, ITEM_DRAGON_SCALE, SPECIES_KINGDRA}},
|
||||
[SPECIES_GOLDEEN] = {{EVO_LEVEL, 33, SPECIES_SEAKING}},
|
||||
[SPECIES_STARYU] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_STARMIE}},
|
||||
[SPECIES_SCYTHER] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR}},
|
||||
[SPECIES_MAGIKARP] = {{EVO_LEVEL, 20, SPECIES_GYARADOS}},
|
||||
[SPECIES_EEVEE] = {{EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_JOLTEON},
|
||||
{EVO_ITEM, ITEM_WATER_STONE, SPECIES_VAPOREON},
|
||||
{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_FLAREON},
|
||||
{EVO_FRIENDSHIP_DAY, 0, SPECIES_ESPEON},
|
||||
{EVO_FRIENDSHIP_NIGHT, 0, SPECIES_UMBREON}},
|
||||
[SPECIES_PORYGON] = {{EVO_TRADE_ITEM, ITEM_UP_GRADE, SPECIES_PORYGON2}},
|
||||
[SPECIES_OMANYTE] = {{EVO_LEVEL, 40, SPECIES_OMASTAR}},
|
||||
[SPECIES_KABUTO] = {{EVO_LEVEL, 40, SPECIES_KABUTOPS}},
|
||||
[SPECIES_DRATINI] = {{EVO_LEVEL, 30, SPECIES_DRAGONAIR}},
|
||||
[SPECIES_DRAGONAIR] = {{EVO_LEVEL, 55, SPECIES_DRAGONITE}},
|
||||
[SPECIES_CHIKORITA] = {{EVO_LEVEL, 16, SPECIES_BAYLEEF}},
|
||||
[SPECIES_BAYLEEF] = {{EVO_LEVEL, 32, SPECIES_MEGANIUM}},
|
||||
[SPECIES_CYNDAQUIL] = {{EVO_LEVEL, 14, SPECIES_QUILAVA}},
|
||||
[SPECIES_QUILAVA] = {{EVO_LEVEL, 36, SPECIES_TYPHLOSION}},
|
||||
[SPECIES_TOTODILE] = {{EVO_LEVEL, 18, SPECIES_CROCONAW}},
|
||||
[SPECIES_CROCONAW] = {{EVO_LEVEL, 30, SPECIES_FERALIGATR}},
|
||||
[SPECIES_SENTRET] = {{EVO_LEVEL, 15, SPECIES_FURRET}},
|
||||
[SPECIES_HOOTHOOT] = {{EVO_LEVEL, 20, SPECIES_NOCTOWL}},
|
||||
[SPECIES_LEDYBA] = {{EVO_LEVEL, 18, SPECIES_LEDIAN}},
|
||||
[SPECIES_SPINARAK] = {{EVO_LEVEL, 22, SPECIES_ARIADOS}},
|
||||
[SPECIES_CHINCHOU] = {{EVO_LEVEL, 27, SPECIES_LANTURN}},
|
||||
[SPECIES_PICHU] = {{EVO_FRIENDSHIP, 0, SPECIES_PIKACHU}},
|
||||
[SPECIES_CLEFFA] = {{EVO_FRIENDSHIP, 0, SPECIES_CLEFAIRY}},
|
||||
[SPECIES_IGGLYBUFF] = {{EVO_FRIENDSHIP, 0, SPECIES_JIGGLYPUFF}},
|
||||
[SPECIES_TOGEPI] = {{EVO_FRIENDSHIP, 0, SPECIES_TOGETIC}},
|
||||
[SPECIES_NATU] = {{EVO_LEVEL, 25, SPECIES_XATU}},
|
||||
[SPECIES_MAREEP] = {{EVO_LEVEL, 15, SPECIES_FLAAFFY}},
|
||||
[SPECIES_FLAAFFY] = {{EVO_LEVEL, 30, SPECIES_AMPHAROS}},
|
||||
[SPECIES_MARILL] = {{EVO_LEVEL, 18, SPECIES_AZUMARILL}},
|
||||
[SPECIES_HOPPIP] = {{EVO_LEVEL, 18, SPECIES_SKIPLOOM}},
|
||||
[SPECIES_SKIPLOOM] = {{EVO_LEVEL, 27, SPECIES_JUMPLUFF}},
|
||||
[SPECIES_SUNKERN] = {{EVO_ITEM, ITEM_SUN_STONE, SPECIES_SUNFLORA}},
|
||||
[SPECIES_WOOPER] = {{EVO_LEVEL, 20, SPECIES_QUAGSIRE}},
|
||||
[SPECIES_PINECO] = {{EVO_LEVEL, 31, SPECIES_FORRETRESS}},
|
||||
[SPECIES_SNUBBULL] = {{EVO_LEVEL, 23, SPECIES_GRANBULL}},
|
||||
[SPECIES_TEDDIURSA] = {{EVO_LEVEL, 30, SPECIES_URSARING}},
|
||||
[SPECIES_SLUGMA] = {{EVO_LEVEL, 38, SPECIES_MAGCARGO}},
|
||||
[SPECIES_SWINUB] = {{EVO_LEVEL, 33, SPECIES_PILOSWINE}},
|
||||
[SPECIES_REMORAID] = {{EVO_LEVEL, 25, SPECIES_OCTILLERY}},
|
||||
[SPECIES_HOUNDOUR] = {{EVO_LEVEL, 24, SPECIES_HOUNDOOM}},
|
||||
[SPECIES_PHANPY] = {{EVO_LEVEL, 25, SPECIES_DONPHAN}},
|
||||
[SPECIES_TYROGUE] = {{EVO_LEVEL_ATK_LT_DEF, 20, SPECIES_HITMONCHAN},
|
||||
{EVO_LEVEL_ATK_GT_DEF, 20, SPECIES_HITMONLEE},
|
||||
{EVO_LEVEL_ATK_EQ_DEF, 20, SPECIES_HITMONTOP}},
|
||||
[SPECIES_SMOOCHUM] = {{EVO_LEVEL, 30, SPECIES_JYNX}},
|
||||
[SPECIES_ELEKID] = {{EVO_LEVEL, 30, SPECIES_ELECTABUZZ}},
|
||||
[SPECIES_MAGBY] = {{EVO_LEVEL, 30, SPECIES_MAGMAR}},
|
||||
[SPECIES_LARVITAR] = {{EVO_LEVEL, 30, SPECIES_PUPITAR}},
|
||||
[SPECIES_PUPITAR] = {{EVO_LEVEL, 55, SPECIES_TYRANITAR}},
|
||||
[SPECIES_TREECKO] = {{EVO_LEVEL, 16, SPECIES_GROVYLE}},
|
||||
[SPECIES_GROVYLE] = {{EVO_LEVEL, 36, SPECIES_SCEPTILE}},
|
||||
[SPECIES_TORCHIC] = {{EVO_LEVEL, 16, SPECIES_COMBUSKEN}},
|
||||
[SPECIES_COMBUSKEN] = {{EVO_LEVEL, 36, SPECIES_BLAZIKEN}},
|
||||
[SPECIES_MUDKIP] = {{EVO_LEVEL, 16, SPECIES_MARSHTOMP}},
|
||||
[SPECIES_MARSHTOMP] = {{EVO_LEVEL, 36, SPECIES_SWAMPERT}},
|
||||
[SPECIES_POOCHYENA] = {{EVO_LEVEL, 18, SPECIES_MIGHTYENA}},
|
||||
[SPECIES_ZIGZAGOON] = {{EVO_LEVEL, 20, SPECIES_LINOONE}},
|
||||
[SPECIES_WURMPLE] = {{EVO_LEVEL_SILCOON, 7, SPECIES_SILCOON},
|
||||
{EVO_LEVEL_CASCOON, 7, SPECIES_CASCOON}},
|
||||
[SPECIES_SILCOON] = {{EVO_LEVEL, 10, SPECIES_BEAUTIFLY}},
|
||||
[SPECIES_CASCOON] = {{EVO_LEVEL, 10, SPECIES_DUSTOX}},
|
||||
[SPECIES_LOTAD] = {{EVO_LEVEL, 14, SPECIES_LOMBRE}},
|
||||
[SPECIES_LOMBRE] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_LUDICOLO}},
|
||||
[SPECIES_SEEDOT] = {{EVO_LEVEL, 14, SPECIES_NUZLEAF}},
|
||||
[SPECIES_NUZLEAF] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_SHIFTRY}},
|
||||
[SPECIES_NINCADA] = {{EVO_LEVEL_NINJASK, 20, SPECIES_NINJASK},
|
||||
{EVO_LEVEL_SHEDINJA, 20, SPECIES_SHEDINJA}},
|
||||
[SPECIES_TAILLOW] = {{EVO_LEVEL, 22, SPECIES_SWELLOW}},
|
||||
[SPECIES_SHROOMISH] = {{EVO_LEVEL, 23, SPECIES_BRELOOM}},
|
||||
[SPECIES_WINGULL] = {{EVO_LEVEL, 25, SPECIES_PELIPPER}},
|
||||
[SPECIES_SURSKIT] = {{EVO_LEVEL, 22, SPECIES_MASQUERAIN}},
|
||||
[SPECIES_WAILMER] = {{EVO_LEVEL, 40, SPECIES_WAILORD}},
|
||||
[SPECIES_SKITTY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_DELCATTY}},
|
||||
[SPECIES_BALTOY] = {{EVO_LEVEL, 36, SPECIES_CLAYDOL}},
|
||||
[SPECIES_BARBOACH] = {{EVO_LEVEL, 30, SPECIES_WHISCASH}},
|
||||
[SPECIES_CORPHISH] = {{EVO_LEVEL, 30, SPECIES_CRAWDAUNT}},
|
||||
[SPECIES_FEEBAS] = {{EVO_BEAUTY, 170, SPECIES_MILOTIC}},
|
||||
[SPECIES_CARVANHA] = {{EVO_LEVEL, 30, SPECIES_SHARPEDO}},
|
||||
[SPECIES_TRAPINCH] = {{EVO_LEVEL, 35, SPECIES_VIBRAVA}},
|
||||
[SPECIES_VIBRAVA] = {{EVO_LEVEL, 45, SPECIES_FLYGON}},
|
||||
[SPECIES_MAKUHITA] = {{EVO_LEVEL, 24, SPECIES_HARIYAMA}},
|
||||
[SPECIES_ELECTRIKE] = {{EVO_LEVEL, 26, SPECIES_MANECTRIC}},
|
||||
[SPECIES_NUMEL] = {{EVO_LEVEL, 33, SPECIES_CAMERUPT}},
|
||||
[SPECIES_SPHEAL] = {{EVO_LEVEL, 32, SPECIES_SEALEO}},
|
||||
[SPECIES_SEALEO] = {{EVO_LEVEL, 44, SPECIES_WALREIN}},
|
||||
[SPECIES_CACNEA] = {{EVO_LEVEL, 32, SPECIES_CACTURNE}},
|
||||
[SPECIES_SNORUNT] = {{EVO_LEVEL, 42, SPECIES_GLALIE}},
|
||||
[SPECIES_AZURILL] = {{EVO_FRIENDSHIP, 0, SPECIES_MARILL}},
|
||||
[SPECIES_SPOINK] = {{EVO_LEVEL, 32, SPECIES_GRUMPIG}},
|
||||
[SPECIES_MEDITITE] = {{EVO_LEVEL, 37, SPECIES_MEDICHAM}},
|
||||
[SPECIES_SWABLU] = {{EVO_LEVEL, 35, SPECIES_ALTARIA}},
|
||||
[SPECIES_WYNAUT] = {{EVO_LEVEL, 15, SPECIES_WOBBUFFET}},
|
||||
[SPECIES_DUSKULL] = {{EVO_LEVEL, 37, SPECIES_DUSCLOPS}},
|
||||
[SPECIES_SLAKOTH] = {{EVO_LEVEL, 18, SPECIES_VIGOROTH}},
|
||||
[SPECIES_VIGOROTH] = {{EVO_LEVEL, 36, SPECIES_SLAKING}},
|
||||
[SPECIES_GULPIN] = {{EVO_LEVEL, 26, SPECIES_SWALOT}},
|
||||
[SPECIES_WHISMUR] = {{EVO_LEVEL, 20, SPECIES_LOUDRED}},
|
||||
[SPECIES_LOUDRED] = {{EVO_LEVEL, 40, SPECIES_EXPLOUD}},
|
||||
[SPECIES_CLAMPERL] = {{EVO_TRADE_ITEM, ITEM_DEEP_SEA_TOOTH, SPECIES_HUNTAIL},
|
||||
{EVO_TRADE_ITEM, ITEM_DEEP_SEA_SCALE, SPECIES_GOREBYSS}},
|
||||
[SPECIES_SHUPPET] = {{EVO_LEVEL, 37, SPECIES_BANETTE}},
|
||||
[SPECIES_ARON] = {{EVO_LEVEL, 32, SPECIES_LAIRON}},
|
||||
[SPECIES_LAIRON] = {{EVO_LEVEL, 42, SPECIES_AGGRON}},
|
||||
[SPECIES_LILEEP] = {{EVO_LEVEL, 40, SPECIES_CRADILY}},
|
||||
[SPECIES_ANORITH] = {{EVO_LEVEL, 40, SPECIES_ARMALDO}},
|
||||
[SPECIES_RALTS] = {{EVO_LEVEL, 20, SPECIES_KIRLIA}},
|
||||
[SPECIES_KIRLIA] = {{EVO_LEVEL, 30, SPECIES_GARDEVOIR}},
|
||||
[SPECIES_BAGON] = {{EVO_LEVEL, 30, SPECIES_SHELGON}},
|
||||
[SPECIES_SHELGON] = {{EVO_LEVEL, 50, SPECIES_SALAMENCE}},
|
||||
[SPECIES_BELDUM] = {{EVO_LEVEL, 20, SPECIES_METANG}},
|
||||
[SPECIES_METANG] = {{EVO_LEVEL, 45, SPECIES_METAGROSS}},
|
||||
};
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,415 +0,0 @@
|
|||
// const u16 *const gLevelUpLearnsets[NUM_SPECIES] =
|
||||
// {
|
||||
// [SPECIES_NONE] = sBulbasaurLevelUpLearnset,
|
||||
// [SPECIES_BULBASAUR] = sBulbasaurLevelUpLearnset,
|
||||
// [SPECIES_IVYSAUR] = sIvysaurLevelUpLearnset,
|
||||
// [SPECIES_VENUSAUR] = sVenusaurLevelUpLearnset,
|
||||
// [SPECIES_CHARMANDER] = sCharmanderLevelUpLearnset,
|
||||
// [SPECIES_CHARMELEON] = sCharmeleonLevelUpLearnset,
|
||||
// [SPECIES_CHARIZARD] = sCharizardLevelUpLearnset,
|
||||
// [SPECIES_SQUIRTLE] = sSquirtleLevelUpLearnset,
|
||||
// [SPECIES_WARTORTLE] = sWartortleLevelUpLearnset,
|
||||
// [SPECIES_BLASTOISE] = sBlastoiseLevelUpLearnset,
|
||||
// [SPECIES_CATERPIE] = sCaterpieLevelUpLearnset,
|
||||
// [SPECIES_METAPOD] = sMetapodLevelUpLearnset,
|
||||
// [SPECIES_BUTTERFREE] = sButterfreeLevelUpLearnset,
|
||||
// [SPECIES_WEEDLE] = sWeedleLevelUpLearnset,
|
||||
// [SPECIES_KAKUNA] = sKakunaLevelUpLearnset,
|
||||
// [SPECIES_BEEDRILL] = sBeedrillLevelUpLearnset,
|
||||
// [SPECIES_PIDGEY] = sPidgeyLevelUpLearnset,
|
||||
// [SPECIES_PIDGEOTTO] = sPidgeottoLevelUpLearnset,
|
||||
// [SPECIES_PIDGEOT] = sPidgeotLevelUpLearnset,
|
||||
// [SPECIES_RATTATA] = sRattataLevelUpLearnset,
|
||||
// [SPECIES_RATICATE] = sRaticateLevelUpLearnset,
|
||||
// [SPECIES_SPEAROW] = sSpearowLevelUpLearnset,
|
||||
// [SPECIES_FEAROW] = sFearowLevelUpLearnset,
|
||||
// [SPECIES_EKANS] = sEkansLevelUpLearnset,
|
||||
// [SPECIES_ARBOK] = sArbokLevelUpLearnset,
|
||||
// [SPECIES_PIKACHU] = sPikachuLevelUpLearnset,
|
||||
// [SPECIES_RAICHU] = sRaichuLevelUpLearnset,
|
||||
// [SPECIES_SANDSHREW] = sSandshrewLevelUpLearnset,
|
||||
// [SPECIES_SANDSLASH] = sSandslashLevelUpLearnset,
|
||||
// [SPECIES_NIDORAN_F] = sNidoranFLevelUpLearnset,
|
||||
// [SPECIES_NIDORINA] = sNidorinaLevelUpLearnset,
|
||||
// [SPECIES_NIDOQUEEN] = sNidoqueenLevelUpLearnset,
|
||||
// [SPECIES_NIDORAN_M] = sNidoranMLevelUpLearnset,
|
||||
// [SPECIES_NIDORINO] = sNidorinoLevelUpLearnset,
|
||||
// [SPECIES_NIDOKING] = sNidokingLevelUpLearnset,
|
||||
// [SPECIES_CLEFAIRY] = sClefairyLevelUpLearnset,
|
||||
// [SPECIES_CLEFABLE] = sClefableLevelUpLearnset,
|
||||
// [SPECIES_VULPIX] = sVulpixLevelUpLearnset,
|
||||
// [SPECIES_NINETALES] = sNinetalesLevelUpLearnset,
|
||||
// [SPECIES_JIGGLYPUFF] = sJigglypuffLevelUpLearnset,
|
||||
// [SPECIES_WIGGLYTUFF] = sWigglytuffLevelUpLearnset,
|
||||
// [SPECIES_ZUBAT] = sZubatLevelUpLearnset,
|
||||
// [SPECIES_GOLBAT] = sGolbatLevelUpLearnset,
|
||||
// [SPECIES_ODDISH] = sOddishLevelUpLearnset,
|
||||
// [SPECIES_GLOOM] = sGloomLevelUpLearnset,
|
||||
// [SPECIES_VILEPLUME] = sVileplumeLevelUpLearnset,
|
||||
// [SPECIES_PARAS] = sParasLevelUpLearnset,
|
||||
// [SPECIES_PARASECT] = sParasectLevelUpLearnset,
|
||||
// [SPECIES_VENONAT] = sVenonatLevelUpLearnset,
|
||||
// [SPECIES_VENOMOTH] = sVenomothLevelUpLearnset,
|
||||
// [SPECIES_DIGLETT] = sDiglettLevelUpLearnset,
|
||||
// [SPECIES_DUGTRIO] = sDugtrioLevelUpLearnset,
|
||||
// [SPECIES_MEOWTH] = sMeowthLevelUpLearnset,
|
||||
// [SPECIES_PERSIAN] = sPersianLevelUpLearnset,
|
||||
// [SPECIES_PSYDUCK] = sPsyduckLevelUpLearnset,
|
||||
// [SPECIES_GOLDUCK] = sGolduckLevelUpLearnset,
|
||||
// [SPECIES_MANKEY] = sMankeyLevelUpLearnset,
|
||||
// [SPECIES_PRIMEAPE] = sPrimeapeLevelUpLearnset,
|
||||
// [SPECIES_GROWLITHE] = sGrowlitheLevelUpLearnset,
|
||||
// [SPECIES_ARCANINE] = sArcanineLevelUpLearnset,
|
||||
// [SPECIES_POLIWAG] = sPoliwagLevelUpLearnset,
|
||||
// [SPECIES_POLIWHIRL] = sPoliwhirlLevelUpLearnset,
|
||||
// [SPECIES_POLIWRATH] = sPoliwrathLevelUpLearnset,
|
||||
// [SPECIES_ABRA] = sAbraLevelUpLearnset,
|
||||
// [SPECIES_KADABRA] = sKadabraLevelUpLearnset,
|
||||
// [SPECIES_ALAKAZAM] = sAlakazamLevelUpLearnset,
|
||||
// [SPECIES_MACHOP] = sMachopLevelUpLearnset,
|
||||
// [SPECIES_MACHOKE] = sMachokeLevelUpLearnset,
|
||||
// [SPECIES_MACHAMP] = sMachampLevelUpLearnset,
|
||||
// [SPECIES_BELLSPROUT] = sBellsproutLevelUpLearnset,
|
||||
// [SPECIES_WEEPINBELL] = sWeepinbellLevelUpLearnset,
|
||||
// [SPECIES_VICTREEBEL] = sVictreebelLevelUpLearnset,
|
||||
// [SPECIES_TENTACOOL] = sTentacoolLevelUpLearnset,
|
||||
// [SPECIES_TENTACRUEL] = sTentacruelLevelUpLearnset,
|
||||
// [SPECIES_GEODUDE] = sGeodudeLevelUpLearnset,
|
||||
// [SPECIES_GRAVELER] = sGravelerLevelUpLearnset,
|
||||
// [SPECIES_GOLEM] = sGolemLevelUpLearnset,
|
||||
// [SPECIES_PONYTA] = sPonytaLevelUpLearnset,
|
||||
// [SPECIES_RAPIDASH] = sRapidashLevelUpLearnset,
|
||||
// [SPECIES_SLOWPOKE] = sSlowpokeLevelUpLearnset,
|
||||
// [SPECIES_SLOWBRO] = sSlowbroLevelUpLearnset,
|
||||
// [SPECIES_MAGNEMITE] = sMagnemiteLevelUpLearnset,
|
||||
// [SPECIES_MAGNETON] = sMagnetonLevelUpLearnset,
|
||||
// [SPECIES_FARFETCHD] = sFarfetchdLevelUpLearnset,
|
||||
// [SPECIES_DODUO] = sDoduoLevelUpLearnset,
|
||||
// [SPECIES_DODRIO] = sDodrioLevelUpLearnset,
|
||||
// [SPECIES_SEEL] = sSeelLevelUpLearnset,
|
||||
// [SPECIES_DEWGONG] = sDewgongLevelUpLearnset,
|
||||
// [SPECIES_GRIMER] = sGrimerLevelUpLearnset,
|
||||
// [SPECIES_MUK] = sMukLevelUpLearnset,
|
||||
// [SPECIES_SHELLDER] = sShellderLevelUpLearnset,
|
||||
// [SPECIES_CLOYSTER] = sCloysterLevelUpLearnset,
|
||||
// [SPECIES_GASTLY] = sGastlyLevelUpLearnset,
|
||||
// [SPECIES_HAUNTER] = sHaunterLevelUpLearnset,
|
||||
// [SPECIES_GENGAR] = sGengarLevelUpLearnset,
|
||||
// [SPECIES_ONIX] = sOnixLevelUpLearnset,
|
||||
// [SPECIES_DROWZEE] = sDrowzeeLevelUpLearnset,
|
||||
// [SPECIES_HYPNO] = sHypnoLevelUpLearnset,
|
||||
// [SPECIES_KRABBY] = sKrabbyLevelUpLearnset,
|
||||
// [SPECIES_KINGLER] = sKinglerLevelUpLearnset,
|
||||
// [SPECIES_VOLTORB] = sVoltorbLevelUpLearnset,
|
||||
// [SPECIES_ELECTRODE] = sElectrodeLevelUpLearnset,
|
||||
// [SPECIES_EXEGGCUTE] = sExeggcuteLevelUpLearnset,
|
||||
// [SPECIES_EXEGGUTOR] = sExeggutorLevelUpLearnset,
|
||||
// [SPECIES_CUBONE] = sCuboneLevelUpLearnset,
|
||||
// [SPECIES_MAROWAK] = sMarowakLevelUpLearnset,
|
||||
// [SPECIES_HITMONLEE] = sHitmonleeLevelUpLearnset,
|
||||
// [SPECIES_HITMONCHAN] = sHitmonchanLevelUpLearnset,
|
||||
// [SPECIES_LICKITUNG] = sLickitungLevelUpLearnset,
|
||||
// [SPECIES_KOFFING] = sKoffingLevelUpLearnset,
|
||||
// [SPECIES_WEEZING] = sWeezingLevelUpLearnset,
|
||||
// [SPECIES_RHYHORN] = sRhyhornLevelUpLearnset,
|
||||
// [SPECIES_RHYDON] = sRhydonLevelUpLearnset,
|
||||
// [SPECIES_CHANSEY] = sChanseyLevelUpLearnset,
|
||||
// [SPECIES_TANGELA] = sTangelaLevelUpLearnset,
|
||||
// [SPECIES_KANGASKHAN] = sKangaskhanLevelUpLearnset,
|
||||
// [SPECIES_HORSEA] = sHorseaLevelUpLearnset,
|
||||
// [SPECIES_SEADRA] = sSeadraLevelUpLearnset,
|
||||
// [SPECIES_GOLDEEN] = sGoldeenLevelUpLearnset,
|
||||
// [SPECIES_SEAKING] = sSeakingLevelUpLearnset,
|
||||
// [SPECIES_STARYU] = sStaryuLevelUpLearnset,
|
||||
// [SPECIES_STARMIE] = sStarmieLevelUpLearnset,
|
||||
// [SPECIES_MR_MIME] = sMrMimeLevelUpLearnset,
|
||||
// [SPECIES_SCYTHER] = sScytherLevelUpLearnset,
|
||||
// [SPECIES_JYNX] = sJynxLevelUpLearnset,
|
||||
// [SPECIES_ELECTABUZZ] = sElectabuzzLevelUpLearnset,
|
||||
// [SPECIES_MAGMAR] = sMagmarLevelUpLearnset,
|
||||
// [SPECIES_PINSIR] = sPinsirLevelUpLearnset,
|
||||
// [SPECIES_TAUROS] = sTaurosLevelUpLearnset,
|
||||
// [SPECIES_MAGIKARP] = sMagikarpLevelUpLearnset,
|
||||
// [SPECIES_GYARADOS] = sGyaradosLevelUpLearnset,
|
||||
// [SPECIES_LAPRAS] = sLaprasLevelUpLearnset,
|
||||
// [SPECIES_DITTO] = sDittoLevelUpLearnset,
|
||||
// [SPECIES_EEVEE] = sEeveeLevelUpLearnset,
|
||||
// [SPECIES_VAPOREON] = sVaporeonLevelUpLearnset,
|
||||
// [SPECIES_JOLTEON] = sJolteonLevelUpLearnset,
|
||||
// [SPECIES_FLAREON] = sFlareonLevelUpLearnset,
|
||||
// [SPECIES_PORYGON] = sPorygonLevelUpLearnset,
|
||||
// [SPECIES_OMANYTE] = sOmanyteLevelUpLearnset,
|
||||
// [SPECIES_OMASTAR] = sOmastarLevelUpLearnset,
|
||||
// [SPECIES_KABUTO] = sKabutoLevelUpLearnset,
|
||||
// [SPECIES_KABUTOPS] = sKabutopsLevelUpLearnset,
|
||||
// [SPECIES_AERODACTYL] = sAerodactylLevelUpLearnset,
|
||||
// [SPECIES_SNORLAX] = sSnorlaxLevelUpLearnset,
|
||||
// [SPECIES_ARTICUNO] = sArticunoLevelUpLearnset,
|
||||
// [SPECIES_ZAPDOS] = sZapdosLevelUpLearnset,
|
||||
// [SPECIES_MOLTRES] = sMoltresLevelUpLearnset,
|
||||
// [SPECIES_DRATINI] = sDratiniLevelUpLearnset,
|
||||
// [SPECIES_DRAGONAIR] = sDragonairLevelUpLearnset,
|
||||
// [SPECIES_DRAGONITE] = sDragoniteLevelUpLearnset,
|
||||
// [SPECIES_MEWTWO] = sMewtwoLevelUpLearnset,
|
||||
// [SPECIES_MEW] = sMewLevelUpLearnset,
|
||||
// [SPECIES_CHIKORITA] = sChikoritaLevelUpLearnset,
|
||||
// [SPECIES_BAYLEEF] = sBayleefLevelUpLearnset,
|
||||
// [SPECIES_MEGANIUM] = sMeganiumLevelUpLearnset,
|
||||
// [SPECIES_CYNDAQUIL] = sCyndaquilLevelUpLearnset,
|
||||
// [SPECIES_QUILAVA] = sQuilavaLevelUpLearnset,
|
||||
// [SPECIES_TYPHLOSION] = sTyphlosionLevelUpLearnset,
|
||||
// [SPECIES_TOTODILE] = sTotodileLevelUpLearnset,
|
||||
// [SPECIES_CROCONAW] = sCroconawLevelUpLearnset,
|
||||
// [SPECIES_FERALIGATR] = sFeraligatrLevelUpLearnset,
|
||||
// [SPECIES_SENTRET] = sSentretLevelUpLearnset,
|
||||
// [SPECIES_FURRET] = sFurretLevelUpLearnset,
|
||||
// [SPECIES_HOOTHOOT] = sHoothootLevelUpLearnset,
|
||||
// [SPECIES_NOCTOWL] = sNoctowlLevelUpLearnset,
|
||||
// [SPECIES_LEDYBA] = sLedybaLevelUpLearnset,
|
||||
// [SPECIES_LEDIAN] = sLedianLevelUpLearnset,
|
||||
// [SPECIES_SPINARAK] = sSpinarakLevelUpLearnset,
|
||||
// [SPECIES_ARIADOS] = sAriadosLevelUpLearnset,
|
||||
// [SPECIES_CROBAT] = sCrobatLevelUpLearnset,
|
||||
// [SPECIES_CHINCHOU] = sChinchouLevelUpLearnset,
|
||||
// [SPECIES_LANTURN] = sLanturnLevelUpLearnset,
|
||||
// [SPECIES_PICHU] = sPichuLevelUpLearnset,
|
||||
// [SPECIES_CLEFFA] = sCleffaLevelUpLearnset,
|
||||
// [SPECIES_IGGLYBUFF] = sIgglybuffLevelUpLearnset,
|
||||
// [SPECIES_TOGEPI] = sTogepiLevelUpLearnset,
|
||||
// [SPECIES_TOGETIC] = sTogeticLevelUpLearnset,
|
||||
// [SPECIES_NATU] = sNatuLevelUpLearnset,
|
||||
// [SPECIES_XATU] = sXatuLevelUpLearnset,
|
||||
// [SPECIES_MAREEP] = sMareepLevelUpLearnset,
|
||||
// [SPECIES_FLAAFFY] = sFlaaffyLevelUpLearnset,
|
||||
// [SPECIES_AMPHAROS] = sAmpharosLevelUpLearnset,
|
||||
// [SPECIES_BELLOSSOM] = sBellossomLevelUpLearnset,
|
||||
// [SPECIES_MARILL] = sMarillLevelUpLearnset,
|
||||
// [SPECIES_AZUMARILL] = sAzumarillLevelUpLearnset,
|
||||
// [SPECIES_SUDOWOODO] = sSudowoodoLevelUpLearnset,
|
||||
// [SPECIES_POLITOED] = sPolitoedLevelUpLearnset,
|
||||
// [SPECIES_HOPPIP] = sHoppipLevelUpLearnset,
|
||||
// [SPECIES_SKIPLOOM] = sSkiploomLevelUpLearnset,
|
||||
// [SPECIES_JUMPLUFF] = sJumpluffLevelUpLearnset,
|
||||
// [SPECIES_AIPOM] = sAipomLevelUpLearnset,
|
||||
// [SPECIES_SUNKERN] = sSunkernLevelUpLearnset,
|
||||
// [SPECIES_SUNFLORA] = sSunfloraLevelUpLearnset,
|
||||
// [SPECIES_YANMA] = sYanmaLevelUpLearnset,
|
||||
// [SPECIES_WOOPER] = sWooperLevelUpLearnset,
|
||||
// [SPECIES_QUAGSIRE] = sQuagsireLevelUpLearnset,
|
||||
// [SPECIES_ESPEON] = sEspeonLevelUpLearnset,
|
||||
// [SPECIES_UMBREON] = sUmbreonLevelUpLearnset,
|
||||
// [SPECIES_MURKROW] = sMurkrowLevelUpLearnset,
|
||||
// [SPECIES_SLOWKING] = sSlowkingLevelUpLearnset,
|
||||
// [SPECIES_MISDREAVUS] = sMisdreavusLevelUpLearnset,
|
||||
// [SPECIES_UNOWN] = sUnownLevelUpLearnset,
|
||||
// [SPECIES_WOBBUFFET] = sWobbuffetLevelUpLearnset,
|
||||
// [SPECIES_GIRAFARIG] = sGirafarigLevelUpLearnset,
|
||||
// [SPECIES_PINECO] = sPinecoLevelUpLearnset,
|
||||
// [SPECIES_FORRETRESS] = sForretressLevelUpLearnset,
|
||||
// [SPECIES_DUNSPARCE] = sDunsparceLevelUpLearnset,
|
||||
// [SPECIES_GLIGAR] = sGligarLevelUpLearnset,
|
||||
// [SPECIES_STEELIX] = sSteelixLevelUpLearnset,
|
||||
// [SPECIES_SNUBBULL] = sSnubbullLevelUpLearnset,
|
||||
// [SPECIES_GRANBULL] = sGranbullLevelUpLearnset,
|
||||
// [SPECIES_QWILFISH] = sQwilfishLevelUpLearnset,
|
||||
// [SPECIES_SCIZOR] = sScizorLevelUpLearnset,
|
||||
// [SPECIES_SHUCKLE] = sShuckleLevelUpLearnset,
|
||||
// [SPECIES_HERACROSS] = sHeracrossLevelUpLearnset,
|
||||
// [SPECIES_SNEASEL] = sSneaselLevelUpLearnset,
|
||||
// [SPECIES_TEDDIURSA] = sTeddiursaLevelUpLearnset,
|
||||
// [SPECIES_URSARING] = sUrsaringLevelUpLearnset,
|
||||
// [SPECIES_SLUGMA] = sSlugmaLevelUpLearnset,
|
||||
// [SPECIES_MAGCARGO] = sMagcargoLevelUpLearnset,
|
||||
// [SPECIES_SWINUB] = sSwinubLevelUpLearnset,
|
||||
// [SPECIES_PILOSWINE] = sPiloswineLevelUpLearnset,
|
||||
// [SPECIES_CORSOLA] = sCorsolaLevelUpLearnset,
|
||||
// [SPECIES_REMORAID] = sRemoraidLevelUpLearnset,
|
||||
// [SPECIES_OCTILLERY] = sOctilleryLevelUpLearnset,
|
||||
// [SPECIES_DELIBIRD] = sDelibirdLevelUpLearnset,
|
||||
// [SPECIES_MANTINE] = sMantineLevelUpLearnset,
|
||||
// [SPECIES_SKARMORY] = sSkarmoryLevelUpLearnset,
|
||||
// [SPECIES_HOUNDOUR] = sHoundourLevelUpLearnset,
|
||||
// [SPECIES_HOUNDOOM] = sHoundoomLevelUpLearnset,
|
||||
// [SPECIES_KINGDRA] = sKingdraLevelUpLearnset,
|
||||
// [SPECIES_PHANPY] = sPhanpyLevelUpLearnset,
|
||||
// [SPECIES_DONPHAN] = sDonphanLevelUpLearnset,
|
||||
// [SPECIES_PORYGON2] = sPorygon2LevelUpLearnset,
|
||||
// [SPECIES_STANTLER] = sStantlerLevelUpLearnset,
|
||||
// [SPECIES_SMEARGLE] = sSmeargleLevelUpLearnset,
|
||||
// [SPECIES_TYROGUE] = sTyrogueLevelUpLearnset,
|
||||
// [SPECIES_HITMONTOP] = sHitmontopLevelUpLearnset,
|
||||
// [SPECIES_SMOOCHUM] = sSmoochumLevelUpLearnset,
|
||||
// [SPECIES_ELEKID] = sElekidLevelUpLearnset,
|
||||
// [SPECIES_MAGBY] = sMagbyLevelUpLearnset,
|
||||
// [SPECIES_MILTANK] = sMiltankLevelUpLearnset,
|
||||
// [SPECIES_BLISSEY] = sBlisseyLevelUpLearnset,
|
||||
// [SPECIES_RAIKOU] = sRaikouLevelUpLearnset,
|
||||
// [SPECIES_ENTEI] = sEnteiLevelUpLearnset,
|
||||
// [SPECIES_SUICUNE] = sSuicuneLevelUpLearnset,
|
||||
// [SPECIES_LARVITAR] = sLarvitarLevelUpLearnset,
|
||||
// [SPECIES_PUPITAR] = sPupitarLevelUpLearnset,
|
||||
// [SPECIES_TYRANITAR] = sTyranitarLevelUpLearnset,
|
||||
// [SPECIES_LUGIA] = sLugiaLevelUpLearnset,
|
||||
// [SPECIES_HO_OH] = sHoOhLevelUpLearnset,
|
||||
// [SPECIES_CELEBI] = sCelebiLevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_B] = sSpecies252LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_C] = sSpecies253LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_D] = sSpecies254LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_E] = sSpecies255LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_F] = sSpecies256LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_G] = sSpecies257LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_H] = sSpecies258LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_I] = sSpecies259LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_J] = sSpecies260LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_K] = sSpecies261LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_L] = sSpecies262LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_M] = sSpecies263LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_N] = sSpecies264LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_O] = sSpecies265LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_P] = sSpecies266LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_Q] = sSpecies267LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_R] = sSpecies268LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_S] = sSpecies269LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_T] = sSpecies270LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_U] = sSpecies271LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_V] = sSpecies272LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_W] = sSpecies273LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_X] = sSpecies274LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_Y] = sSpecies275LevelUpLearnset,
|
||||
// [SPECIES_OLD_UNOWN_Z] = sSpecies276LevelUpLearnset,
|
||||
// [SPECIES_TREECKO] = sTreeckoLevelUpLearnset,
|
||||
// [SPECIES_GROVYLE] = sGrovyleLevelUpLearnset,
|
||||
// [SPECIES_SCEPTILE] = sSceptileLevelUpLearnset,
|
||||
// [SPECIES_TORCHIC] = sTorchicLevelUpLearnset,
|
||||
// [SPECIES_COMBUSKEN] = sCombuskenLevelUpLearnset,
|
||||
// [SPECIES_BLAZIKEN] = sBlazikenLevelUpLearnset,
|
||||
// [SPECIES_MUDKIP] = sMudkipLevelUpLearnset,
|
||||
// [SPECIES_MARSHTOMP] = sMarshtompLevelUpLearnset,
|
||||
// [SPECIES_SWAMPERT] = sSwampertLevelUpLearnset,
|
||||
// [SPECIES_POOCHYENA] = sPoochyenaLevelUpLearnset,
|
||||
// [SPECIES_MIGHTYENA] = sMightyenaLevelUpLearnset,
|
||||
// [SPECIES_ZIGZAGOON] = sZigzagoonLevelUpLearnset,
|
||||
// [SPECIES_LINOONE] = sLinooneLevelUpLearnset,
|
||||
// [SPECIES_WURMPLE] = sWurmpleLevelUpLearnset,
|
||||
// [SPECIES_SILCOON] = sSilcoonLevelUpLearnset,
|
||||
// [SPECIES_BEAUTIFLY] = sBeautiflyLevelUpLearnset,
|
||||
// [SPECIES_CASCOON] = sCascoonLevelUpLearnset,
|
||||
// [SPECIES_DUSTOX] = sDustoxLevelUpLearnset,
|
||||
// [SPECIES_LOTAD] = sLotadLevelUpLearnset,
|
||||
// [SPECIES_LOMBRE] = sLombreLevelUpLearnset,
|
||||
// [SPECIES_LUDICOLO] = sLudicoloLevelUpLearnset,
|
||||
// [SPECIES_SEEDOT] = sSeedotLevelUpLearnset,
|
||||
// [SPECIES_NUZLEAF] = sNuzleafLevelUpLearnset,
|
||||
// [SPECIES_SHIFTRY] = sShiftryLevelUpLearnset,
|
||||
// [SPECIES_NINCADA] = sNincadaLevelUpLearnset,
|
||||
// [SPECIES_NINJASK] = sNinjaskLevelUpLearnset,
|
||||
// [SPECIES_SHEDINJA] = sShedinjaLevelUpLearnset,
|
||||
// [SPECIES_TAILLOW] = sTaillowLevelUpLearnset,
|
||||
// [SPECIES_SWELLOW] = sSwellowLevelUpLearnset,
|
||||
// [SPECIES_SHROOMISH] = sShroomishLevelUpLearnset,
|
||||
// [SPECIES_BRELOOM] = sBreloomLevelUpLearnset,
|
||||
// [SPECIES_SPINDA] = sSpindaLevelUpLearnset,
|
||||
// [SPECIES_WINGULL] = sWingullLevelUpLearnset,
|
||||
// [SPECIES_PELIPPER] = sPelipperLevelUpLearnset,
|
||||
// [SPECIES_SURSKIT] = sSurskitLevelUpLearnset,
|
||||
// [SPECIES_MASQUERAIN] = sMasquerainLevelUpLearnset,
|
||||
// [SPECIES_WAILMER] = sWailmerLevelUpLearnset,
|
||||
// [SPECIES_WAILORD] = sWailordLevelUpLearnset,
|
||||
// [SPECIES_SKITTY] = sSkittyLevelUpLearnset,
|
||||
// [SPECIES_DELCATTY] = sDelcattyLevelUpLearnset,
|
||||
// [SPECIES_KECLEON] = sKecleonLevelUpLearnset,
|
||||
// [SPECIES_BALTOY] = sBaltoyLevelUpLearnset,
|
||||
// [SPECIES_CLAYDOL] = sClaydolLevelUpLearnset,
|
||||
// [SPECIES_NOSEPASS] = sNosepassLevelUpLearnset,
|
||||
// [SPECIES_TORKOAL] = sTorkoalLevelUpLearnset,
|
||||
// [SPECIES_SABLEYE] = sSableyeLevelUpLearnset,
|
||||
// [SPECIES_BARBOACH] = sBarboachLevelUpLearnset,
|
||||
// [SPECIES_WHISCASH] = sWhiscashLevelUpLearnset,
|
||||
// [SPECIES_LUVDISC] = sLuvdiscLevelUpLearnset,
|
||||
// [SPECIES_CORPHISH] = sCorphishLevelUpLearnset,
|
||||
// [SPECIES_CRAWDAUNT] = sCrawdauntLevelUpLearnset,
|
||||
// [SPECIES_FEEBAS] = sFeebasLevelUpLearnset,
|
||||
// [SPECIES_MILOTIC] = sMiloticLevelUpLearnset,
|
||||
// [SPECIES_CARVANHA] = sCarvanhaLevelUpLearnset,
|
||||
// [SPECIES_SHARPEDO] = sSharpedoLevelUpLearnset,
|
||||
// [SPECIES_TRAPINCH] = sTrapinchLevelUpLearnset,
|
||||
// [SPECIES_VIBRAVA] = sVibravaLevelUpLearnset,
|
||||
// [SPECIES_FLYGON] = sFlygonLevelUpLearnset,
|
||||
// [SPECIES_MAKUHITA] = sMakuhitaLevelUpLearnset,
|
||||
// [SPECIES_HARIYAMA] = sHariyamaLevelUpLearnset,
|
||||
// [SPECIES_ELECTRIKE] = sElectrikeLevelUpLearnset,
|
||||
// [SPECIES_MANECTRIC] = sManectricLevelUpLearnset,
|
||||
// [SPECIES_NUMEL] = sNumelLevelUpLearnset,
|
||||
// [SPECIES_CAMERUPT] = sCameruptLevelUpLearnset,
|
||||
// [SPECIES_SPHEAL] = sSphealLevelUpLearnset,
|
||||
// [SPECIES_SEALEO] = sSealeoLevelUpLearnset,
|
||||
// [SPECIES_WALREIN] = sWalreinLevelUpLearnset,
|
||||
// [SPECIES_CACNEA] = sCacneaLevelUpLearnset,
|
||||
// [SPECIES_CACTURNE] = sCacturneLevelUpLearnset,
|
||||
// [SPECIES_SNORUNT] = sSnoruntLevelUpLearnset,
|
||||
// [SPECIES_GLALIE] = sGlalieLevelUpLearnset,
|
||||
// [SPECIES_LUNATONE] = sLunatoneLevelUpLearnset,
|
||||
// [SPECIES_SOLROCK] = sSolrockLevelUpLearnset,
|
||||
// [SPECIES_AZURILL] = sAzurillLevelUpLearnset,
|
||||
// [SPECIES_SPOINK] = sSpoinkLevelUpLearnset,
|
||||
// [SPECIES_GRUMPIG] = sGrumpigLevelUpLearnset,
|
||||
// [SPECIES_PLUSLE] = sPlusleLevelUpLearnset,
|
||||
// [SPECIES_MINUN] = sMinunLevelUpLearnset,
|
||||
// [SPECIES_MAWILE] = sMawileLevelUpLearnset,
|
||||
// [SPECIES_MEDITITE] = sMedititeLevelUpLearnset,
|
||||
// [SPECIES_MEDICHAM] = sMedichamLevelUpLearnset,
|
||||
// [SPECIES_SWABLU] = sSwabluLevelUpLearnset,
|
||||
// [SPECIES_ALTARIA] = sAltariaLevelUpLearnset,
|
||||
// [SPECIES_WYNAUT] = sWynautLevelUpLearnset,
|
||||
// [SPECIES_DUSKULL] = sDuskullLevelUpLearnset,
|
||||
// [SPECIES_DUSCLOPS] = sDusclopsLevelUpLearnset,
|
||||
// [SPECIES_ROSELIA] = sRoseliaLevelUpLearnset,
|
||||
// [SPECIES_SLAKOTH] = sSlakothLevelUpLearnset,
|
||||
// [SPECIES_VIGOROTH] = sVigorothLevelUpLearnset,
|
||||
// [SPECIES_SLAKING] = sSlakingLevelUpLearnset,
|
||||
// [SPECIES_GULPIN] = sGulpinLevelUpLearnset,
|
||||
// [SPECIES_SWALOT] = sSwalotLevelUpLearnset,
|
||||
// [SPECIES_TROPIUS] = sTropiusLevelUpLearnset,
|
||||
// [SPECIES_WHISMUR] = sWhismurLevelUpLearnset,
|
||||
// [SPECIES_LOUDRED] = sLoudredLevelUpLearnset,
|
||||
// [SPECIES_EXPLOUD] = sExploudLevelUpLearnset,
|
||||
// [SPECIES_CLAMPERL] = sClamperlLevelUpLearnset,
|
||||
// [SPECIES_HUNTAIL] = sHuntailLevelUpLearnset,
|
||||
// [SPECIES_GOREBYSS] = sGorebyssLevelUpLearnset,
|
||||
// [SPECIES_ABSOL] = sAbsolLevelUpLearnset,
|
||||
// [SPECIES_SHUPPET] = sShuppetLevelUpLearnset,
|
||||
// [SPECIES_BANETTE] = sBanetteLevelUpLearnset,
|
||||
// [SPECIES_SEVIPER] = sSeviperLevelUpLearnset,
|
||||
// [SPECIES_ZANGOOSE] = sZangooseLevelUpLearnset,
|
||||
// [SPECIES_RELICANTH] = sRelicanthLevelUpLearnset,
|
||||
// [SPECIES_ARON] = sAronLevelUpLearnset,
|
||||
// [SPECIES_LAIRON] = sLaironLevelUpLearnset,
|
||||
// [SPECIES_AGGRON] = sAggronLevelUpLearnset,
|
||||
// [SPECIES_CASTFORM] = sCastformLevelUpLearnset,
|
||||
// [SPECIES_VOLBEAT] = sVolbeatLevelUpLearnset,
|
||||
// [SPECIES_ILLUMISE] = sIllumiseLevelUpLearnset,
|
||||
// [SPECIES_LILEEP] = sLileepLevelUpLearnset,
|
||||
// [SPECIES_CRADILY] = sCradilyLevelUpLearnset,
|
||||
// [SPECIES_ANORITH] = sAnorithLevelUpLearnset,
|
||||
// [SPECIES_ARMALDO] = sArmaldoLevelUpLearnset,
|
||||
// [SPECIES_RALTS] = sRaltsLevelUpLearnset,
|
||||
// [SPECIES_KIRLIA] = sKirliaLevelUpLearnset,
|
||||
// [SPECIES_GARDEVOIR] = sGardevoirLevelUpLearnset,
|
||||
// [SPECIES_BAGON] = sBagonLevelUpLearnset,
|
||||
// [SPECIES_SHELGON] = sShelgonLevelUpLearnset,
|
||||
// [SPECIES_SALAMENCE] = sSalamenceLevelUpLearnset,
|
||||
// [SPECIES_BELDUM] = sBeldumLevelUpLearnset,
|
||||
// [SPECIES_METANG] = sMetangLevelUpLearnset,
|
||||
// [SPECIES_METAGROSS] = sMetagrossLevelUpLearnset,
|
||||
// [SPECIES_REGIROCK] = sRegirockLevelUpLearnset,
|
||||
// [SPECIES_REGICE] = sRegiceLevelUpLearnset,
|
||||
// [SPECIES_REGISTEEL] = sRegisteelLevelUpLearnset,
|
||||
// [SPECIES_KYOGRE] = sKyogreLevelUpLearnset,
|
||||
// [SPECIES_GROUDON] = sGroudonLevelUpLearnset,
|
||||
// [SPECIES_RAYQUAZA] = sRayquazaLevelUpLearnset,
|
||||
// [SPECIES_LATIAS] = sLatiasLevelUpLearnset,
|
||||
// [SPECIES_LATIOS] = sLatiosLevelUpLearnset,
|
||||
// [SPECIES_JIRACHI] = sJirachiLevelUpLearnset,
|
||||
// [SPECIES_DEOXYS] = sDeoxysLevelUpLearnset,
|
||||
// [SPECIES_CHIMECHO] = sChimechoLevelUpLearnset,
|
||||
// };
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -918,7 +918,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] =
|
|||
ICON(Crabrawler, 2),
|
||||
.footprint = gMonFootprint_Crabrawler,
|
||||
LEARNSETS(Crabrawler),
|
||||
.evolutions = EVOLUTION({EVO_SPECIFIC_MAP, MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM, SPECIES_CRABOMINABLE},
|
||||
.evolutions = EVOLUTION({EVO_SPECIFIC_MAP, MAPSEC_SEAFOAM_ISLANDS, SPECIES_CRABOMINABLE},
|
||||
{EVO_ITEM, ITEM_ICE_STONE, SPECIES_CRABOMINABLE}),
|
||||
},
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,443 +0,0 @@
|
|||
// const struct CompressedSpriteSheet gMonBackPicTable[] =
|
||||
// {
|
||||
// SPECIES_SPRITE(NONE, gMonBackPic_CircledQuestionMark),
|
||||
// SPECIES_SPRITE(BULBASAUR, gMonBackPic_Bulbasaur),
|
||||
// SPECIES_SPRITE(IVYSAUR, gMonBackPic_Ivysaur),
|
||||
// SPECIES_SPRITE(VENUSAUR, gMonBackPic_Venusaur),
|
||||
// SPECIES_SPRITE(CHARMANDER, gMonBackPic_Charmander),
|
||||
// SPECIES_SPRITE(CHARMELEON, gMonBackPic_Charmeleon),
|
||||
// SPECIES_SPRITE(CHARIZARD, gMonBackPic_Charizard),
|
||||
// SPECIES_SPRITE(SQUIRTLE, gMonBackPic_Squirtle),
|
||||
// SPECIES_SPRITE(WARTORTLE, gMonBackPic_Wartortle),
|
||||
// SPECIES_SPRITE(BLASTOISE, gMonBackPic_Blastoise),
|
||||
// SPECIES_SPRITE(CATERPIE, gMonBackPic_Caterpie),
|
||||
// SPECIES_SPRITE(METAPOD, gMonBackPic_Metapod),
|
||||
// SPECIES_SPRITE(BUTTERFREE, gMonBackPic_Butterfree),
|
||||
// SPECIES_SPRITE(WEEDLE, gMonBackPic_Weedle),
|
||||
// SPECIES_SPRITE(KAKUNA, gMonBackPic_Kakuna),
|
||||
// SPECIES_SPRITE(BEEDRILL, gMonBackPic_Beedrill),
|
||||
// SPECIES_SPRITE(PIDGEY, gMonBackPic_Pidgey),
|
||||
// SPECIES_SPRITE(PIDGEOTTO, gMonBackPic_Pidgeotto),
|
||||
// SPECIES_SPRITE(PIDGEOT, gMonBackPic_Pidgeot),
|
||||
// SPECIES_SPRITE(RATTATA, gMonBackPic_Rattata),
|
||||
// SPECIES_SPRITE(RATICATE, gMonBackPic_Raticate),
|
||||
// SPECIES_SPRITE(SPEAROW, gMonBackPic_Spearow),
|
||||
// SPECIES_SPRITE(FEAROW, gMonBackPic_Fearow),
|
||||
// SPECIES_SPRITE(EKANS, gMonBackPic_Ekans),
|
||||
// SPECIES_SPRITE(ARBOK, gMonBackPic_Arbok),
|
||||
// SPECIES_SPRITE(PIKACHU, gMonBackPic_Pikachu),
|
||||
// SPECIES_SPRITE(RAICHU, gMonBackPic_Raichu),
|
||||
// SPECIES_SPRITE(SANDSHREW, gMonBackPic_Sandshrew),
|
||||
// SPECIES_SPRITE(SANDSLASH, gMonBackPic_Sandslash),
|
||||
// SPECIES_SPRITE(NIDORAN_F, gMonBackPic_NidoranF),
|
||||
// SPECIES_SPRITE(NIDORINA, gMonBackPic_Nidorina),
|
||||
// SPECIES_SPRITE(NIDOQUEEN, gMonBackPic_Nidoqueen),
|
||||
// SPECIES_SPRITE(NIDORAN_M, gMonBackPic_NidoranM),
|
||||
// SPECIES_SPRITE(NIDORINO, gMonBackPic_Nidorino),
|
||||
// SPECIES_SPRITE(NIDOKING, gMonBackPic_Nidoking),
|
||||
// SPECIES_SPRITE(CLEFAIRY, gMonBackPic_Clefairy),
|
||||
// SPECIES_SPRITE(CLEFABLE, gMonBackPic_Clefable),
|
||||
// SPECIES_SPRITE(VULPIX, gMonBackPic_Vulpix),
|
||||
// SPECIES_SPRITE(NINETALES, gMonBackPic_Ninetales),
|
||||
// SPECIES_SPRITE(JIGGLYPUFF, gMonBackPic_Jigglypuff),
|
||||
// SPECIES_SPRITE(WIGGLYTUFF, gMonBackPic_Wigglytuff),
|
||||
// SPECIES_SPRITE(ZUBAT, gMonBackPic_Zubat),
|
||||
// SPECIES_SPRITE(GOLBAT, gMonBackPic_Golbat),
|
||||
// SPECIES_SPRITE(ODDISH, gMonBackPic_Oddish),
|
||||
// SPECIES_SPRITE(GLOOM, gMonBackPic_Gloom),
|
||||
// SPECIES_SPRITE(VILEPLUME, gMonBackPic_Vileplume),
|
||||
// SPECIES_SPRITE(PARAS, gMonBackPic_Paras),
|
||||
// SPECIES_SPRITE(PARASECT, gMonBackPic_Parasect),
|
||||
// SPECIES_SPRITE(VENONAT, gMonBackPic_Venonat),
|
||||
// SPECIES_SPRITE(VENOMOTH, gMonBackPic_Venomoth),
|
||||
// SPECIES_SPRITE(DIGLETT, gMonBackPic_Diglett),
|
||||
// SPECIES_SPRITE(DUGTRIO, gMonBackPic_Dugtrio),
|
||||
// SPECIES_SPRITE(MEOWTH, gMonBackPic_Meowth),
|
||||
// SPECIES_SPRITE(PERSIAN, gMonBackPic_Persian),
|
||||
// SPECIES_SPRITE(PSYDUCK, gMonBackPic_Psyduck),
|
||||
// SPECIES_SPRITE(GOLDUCK, gMonBackPic_Golduck),
|
||||
// SPECIES_SPRITE(MANKEY, gMonBackPic_Mankey),
|
||||
// SPECIES_SPRITE(PRIMEAPE, gMonBackPic_Primeape),
|
||||
// SPECIES_SPRITE(GROWLITHE, gMonBackPic_Growlithe),
|
||||
// SPECIES_SPRITE(ARCANINE, gMonBackPic_Arcanine),
|
||||
// SPECIES_SPRITE(POLIWAG, gMonBackPic_Poliwag),
|
||||
// SPECIES_SPRITE(POLIWHIRL, gMonBackPic_Poliwhirl),
|
||||
// SPECIES_SPRITE(POLIWRATH, gMonBackPic_Poliwrath),
|
||||
// SPECIES_SPRITE(ABRA, gMonBackPic_Abra),
|
||||
// SPECIES_SPRITE(KADABRA, gMonBackPic_Kadabra),
|
||||
// SPECIES_SPRITE(ALAKAZAM, gMonBackPic_Alakazam),
|
||||
// SPECIES_SPRITE(MACHOP, gMonBackPic_Machop),
|
||||
// SPECIES_SPRITE(MACHOKE, gMonBackPic_Machoke),
|
||||
// SPECIES_SPRITE(MACHAMP, gMonBackPic_Machamp),
|
||||
// SPECIES_SPRITE(BELLSPROUT, gMonBackPic_Bellsprout),
|
||||
// SPECIES_SPRITE(WEEPINBELL, gMonBackPic_Weepinbell),
|
||||
// SPECIES_SPRITE(VICTREEBEL, gMonBackPic_Victreebel),
|
||||
// SPECIES_SPRITE(TENTACOOL, gMonBackPic_Tentacool),
|
||||
// SPECIES_SPRITE(TENTACRUEL, gMonBackPic_Tentacruel),
|
||||
// SPECIES_SPRITE(GEODUDE, gMonBackPic_Geodude),
|
||||
// SPECIES_SPRITE(GRAVELER, gMonBackPic_Graveler),
|
||||
// SPECIES_SPRITE(GOLEM, gMonBackPic_Golem),
|
||||
// SPECIES_SPRITE(PONYTA, gMonBackPic_Ponyta),
|
||||
// SPECIES_SPRITE(RAPIDASH, gMonBackPic_Rapidash),
|
||||
// SPECIES_SPRITE(SLOWPOKE, gMonBackPic_Slowpoke),
|
||||
// SPECIES_SPRITE(SLOWBRO, gMonBackPic_Slowbro),
|
||||
// SPECIES_SPRITE(MAGNEMITE, gMonBackPic_Magnemite),
|
||||
// SPECIES_SPRITE(MAGNETON, gMonBackPic_Magneton),
|
||||
// SPECIES_SPRITE(FARFETCHD, gMonBackPic_Farfetchd),
|
||||
// SPECIES_SPRITE(DODUO, gMonBackPic_Doduo),
|
||||
// SPECIES_SPRITE(DODRIO, gMonBackPic_Dodrio),
|
||||
// SPECIES_SPRITE(SEEL, gMonBackPic_Seel),
|
||||
// SPECIES_SPRITE(DEWGONG, gMonBackPic_Dewgong),
|
||||
// SPECIES_SPRITE(GRIMER, gMonBackPic_Grimer),
|
||||
// SPECIES_SPRITE(MUK, gMonBackPic_Muk),
|
||||
// SPECIES_SPRITE(SHELLDER, gMonBackPic_Shellder),
|
||||
// SPECIES_SPRITE(CLOYSTER, gMonBackPic_Cloyster),
|
||||
// SPECIES_SPRITE(GASTLY, gMonBackPic_Gastly),
|
||||
// SPECIES_SPRITE(HAUNTER, gMonBackPic_Haunter),
|
||||
// SPECIES_SPRITE(GENGAR, gMonBackPic_Gengar),
|
||||
// SPECIES_SPRITE(ONIX, gMonBackPic_Onix),
|
||||
// SPECIES_SPRITE(DROWZEE, gMonBackPic_Drowzee),
|
||||
// SPECIES_SPRITE(HYPNO, gMonBackPic_Hypno),
|
||||
// SPECIES_SPRITE(KRABBY, gMonBackPic_Krabby),
|
||||
// SPECIES_SPRITE(KINGLER, gMonBackPic_Kingler),
|
||||
// SPECIES_SPRITE(VOLTORB, gMonBackPic_Voltorb),
|
||||
// SPECIES_SPRITE(ELECTRODE, gMonBackPic_Electrode),
|
||||
// SPECIES_SPRITE(EXEGGCUTE, gMonBackPic_Exeggcute),
|
||||
// SPECIES_SPRITE(EXEGGUTOR, gMonBackPic_Exeggutor),
|
||||
// SPECIES_SPRITE(CUBONE, gMonBackPic_Cubone),
|
||||
// SPECIES_SPRITE(MAROWAK, gMonBackPic_Marowak),
|
||||
// SPECIES_SPRITE(HITMONLEE, gMonBackPic_Hitmonlee),
|
||||
// SPECIES_SPRITE(HITMONCHAN, gMonBackPic_Hitmonchan),
|
||||
// SPECIES_SPRITE(LICKITUNG, gMonBackPic_Lickitung),
|
||||
// SPECIES_SPRITE(KOFFING, gMonBackPic_Koffing),
|
||||
// SPECIES_SPRITE(WEEZING, gMonBackPic_Weezing),
|
||||
// SPECIES_SPRITE(RHYHORN, gMonBackPic_Rhyhorn),
|
||||
// SPECIES_SPRITE(RHYDON, gMonBackPic_Rhydon),
|
||||
// SPECIES_SPRITE(CHANSEY, gMonBackPic_Chansey),
|
||||
// SPECIES_SPRITE(TANGELA, gMonBackPic_Tangela),
|
||||
// SPECIES_SPRITE(KANGASKHAN, gMonBackPic_Kangaskhan),
|
||||
// SPECIES_SPRITE(HORSEA, gMonBackPic_Horsea),
|
||||
// SPECIES_SPRITE(SEADRA, gMonBackPic_Seadra),
|
||||
// SPECIES_SPRITE(GOLDEEN, gMonBackPic_Goldeen),
|
||||
// SPECIES_SPRITE(SEAKING, gMonBackPic_Seaking),
|
||||
// SPECIES_SPRITE(STARYU, gMonBackPic_Staryu),
|
||||
// SPECIES_SPRITE(STARMIE, gMonBackPic_Starmie),
|
||||
// SPECIES_SPRITE(MR_MIME, gMonBackPic_Mrmime),
|
||||
// SPECIES_SPRITE(SCYTHER, gMonBackPic_Scyther),
|
||||
// SPECIES_SPRITE(JYNX, gMonBackPic_Jynx),
|
||||
// SPECIES_SPRITE(ELECTABUZZ, gMonBackPic_Electabuzz),
|
||||
// SPECIES_SPRITE(MAGMAR, gMonBackPic_Magmar),
|
||||
// SPECIES_SPRITE(PINSIR, gMonBackPic_Pinsir),
|
||||
// SPECIES_SPRITE(TAUROS, gMonBackPic_Tauros),
|
||||
// SPECIES_SPRITE(MAGIKARP, gMonBackPic_Magikarp),
|
||||
// SPECIES_SPRITE(GYARADOS, gMonBackPic_Gyarados),
|
||||
// SPECIES_SPRITE(LAPRAS, gMonBackPic_Lapras),
|
||||
// SPECIES_SPRITE(DITTO, gMonBackPic_Ditto),
|
||||
// SPECIES_SPRITE(EEVEE, gMonBackPic_Eevee),
|
||||
// SPECIES_SPRITE(VAPOREON, gMonBackPic_Vaporeon),
|
||||
// SPECIES_SPRITE(JOLTEON, gMonBackPic_Jolteon),
|
||||
// SPECIES_SPRITE(FLAREON, gMonBackPic_Flareon),
|
||||
// SPECIES_SPRITE(PORYGON, gMonBackPic_Porygon),
|
||||
// SPECIES_SPRITE(OMANYTE, gMonBackPic_Omanyte),
|
||||
// SPECIES_SPRITE(OMASTAR, gMonBackPic_Omastar),
|
||||
// SPECIES_SPRITE(KABUTO, gMonBackPic_Kabuto),
|
||||
// SPECIES_SPRITE(KABUTOPS, gMonBackPic_Kabutops),
|
||||
// SPECIES_SPRITE(AERODACTYL, gMonBackPic_Aerodactyl),
|
||||
// SPECIES_SPRITE(SNORLAX, gMonBackPic_Snorlax),
|
||||
// SPECIES_SPRITE(ARTICUNO, gMonBackPic_Articuno),
|
||||
// SPECIES_SPRITE(ZAPDOS, gMonBackPic_Zapdos),
|
||||
// SPECIES_SPRITE(MOLTRES, gMonBackPic_Moltres),
|
||||
// SPECIES_SPRITE(DRATINI, gMonBackPic_Dratini),
|
||||
// SPECIES_SPRITE(DRAGONAIR, gMonBackPic_Dragonair),
|
||||
// SPECIES_SPRITE(DRAGONITE, gMonBackPic_Dragonite),
|
||||
// SPECIES_SPRITE(MEWTWO, gMonBackPic_Mewtwo),
|
||||
// SPECIES_SPRITE(MEW, gMonBackPic_Mew),
|
||||
// SPECIES_SPRITE(CHIKORITA, gMonBackPic_Chikorita),
|
||||
// SPECIES_SPRITE(BAYLEEF, gMonBackPic_Bayleef),
|
||||
// SPECIES_SPRITE(MEGANIUM, gMonBackPic_Meganium),
|
||||
// SPECIES_SPRITE(CYNDAQUIL, gMonBackPic_Cyndaquil),
|
||||
// SPECIES_SPRITE(QUILAVA, gMonBackPic_Quilava),
|
||||
// SPECIES_SPRITE(TYPHLOSION, gMonBackPic_Typhlosion),
|
||||
// SPECIES_SPRITE(TOTODILE, gMonBackPic_Totodile),
|
||||
// SPECIES_SPRITE(CROCONAW, gMonBackPic_Croconaw),
|
||||
// SPECIES_SPRITE(FERALIGATR, gMonBackPic_Feraligatr),
|
||||
// SPECIES_SPRITE(SENTRET, gMonBackPic_Sentret),
|
||||
// SPECIES_SPRITE(FURRET, gMonBackPic_Furret),
|
||||
// SPECIES_SPRITE(HOOTHOOT, gMonBackPic_Hoothoot),
|
||||
// SPECIES_SPRITE(NOCTOWL, gMonBackPic_Noctowl),
|
||||
// SPECIES_SPRITE(LEDYBA, gMonBackPic_Ledyba),
|
||||
// SPECIES_SPRITE(LEDIAN, gMonBackPic_Ledian),
|
||||
// SPECIES_SPRITE(SPINARAK, gMonBackPic_Spinarak),
|
||||
// SPECIES_SPRITE(ARIADOS, gMonBackPic_Ariados),
|
||||
// SPECIES_SPRITE(CROBAT, gMonBackPic_Crobat),
|
||||
// SPECIES_SPRITE(CHINCHOU, gMonBackPic_Chinchou),
|
||||
// SPECIES_SPRITE(LANTURN, gMonBackPic_Lanturn),
|
||||
// SPECIES_SPRITE(PICHU, gMonBackPic_Pichu),
|
||||
// SPECIES_SPRITE(CLEFFA, gMonBackPic_Cleffa),
|
||||
// SPECIES_SPRITE(IGGLYBUFF, gMonBackPic_Igglybuff),
|
||||
// SPECIES_SPRITE(TOGEPI, gMonBackPic_Togepi),
|
||||
// SPECIES_SPRITE(TOGETIC, gMonBackPic_Togetic),
|
||||
// SPECIES_SPRITE(NATU, gMonBackPic_Natu),
|
||||
// SPECIES_SPRITE(XATU, gMonBackPic_Xatu),
|
||||
// SPECIES_SPRITE(MAREEP, gMonBackPic_Mareep),
|
||||
// SPECIES_SPRITE(FLAAFFY, gMonBackPic_Flaaffy),
|
||||
// SPECIES_SPRITE(AMPHAROS, gMonBackPic_Ampharos),
|
||||
// SPECIES_SPRITE(BELLOSSOM, gMonBackPic_Bellossom),
|
||||
// SPECIES_SPRITE(MARILL, gMonBackPic_Marill),
|
||||
// SPECIES_SPRITE(AZUMARILL, gMonBackPic_Azumarill),
|
||||
// SPECIES_SPRITE(SUDOWOODO, gMonBackPic_Sudowoodo),
|
||||
// SPECIES_SPRITE(POLITOED, gMonBackPic_Politoed),
|
||||
// SPECIES_SPRITE(HOPPIP, gMonBackPic_Hoppip),
|
||||
// SPECIES_SPRITE(SKIPLOOM, gMonBackPic_Skiploom),
|
||||
// SPECIES_SPRITE(JUMPLUFF, gMonBackPic_Jumpluff),
|
||||
// SPECIES_SPRITE(AIPOM, gMonBackPic_Aipom),
|
||||
// SPECIES_SPRITE(SUNKERN, gMonBackPic_Sunkern),
|
||||
// SPECIES_SPRITE(SUNFLORA, gMonBackPic_Sunflora),
|
||||
// SPECIES_SPRITE(YANMA, gMonBackPic_Yanma),
|
||||
// SPECIES_SPRITE(WOOPER, gMonBackPic_Wooper),
|
||||
// SPECIES_SPRITE(QUAGSIRE, gMonBackPic_Quagsire),
|
||||
// SPECIES_SPRITE(ESPEON, gMonBackPic_Espeon),
|
||||
// SPECIES_SPRITE(UMBREON, gMonBackPic_Umbreon),
|
||||
// SPECIES_SPRITE(MURKROW, gMonBackPic_Murkrow),
|
||||
// SPECIES_SPRITE(SLOWKING, gMonBackPic_Slowking),
|
||||
// SPECIES_SPRITE(MISDREAVUS, gMonBackPic_Misdreavus),
|
||||
// SPECIES_SPRITE(UNOWN, gMonBackPic_UnownA),
|
||||
// SPECIES_SPRITE(WOBBUFFET, gMonBackPic_Wobbuffet),
|
||||
// SPECIES_SPRITE(GIRAFARIG, gMonBackPic_Girafarig),
|
||||
// SPECIES_SPRITE(PINECO, gMonBackPic_Pineco),
|
||||
// SPECIES_SPRITE(FORRETRESS, gMonBackPic_Forretress),
|
||||
// SPECIES_SPRITE(DUNSPARCE, gMonBackPic_Dunsparce),
|
||||
// SPECIES_SPRITE(GLIGAR, gMonBackPic_Gligar),
|
||||
// SPECIES_SPRITE(STEELIX, gMonBackPic_Steelix),
|
||||
// SPECIES_SPRITE(SNUBBULL, gMonBackPic_Snubbull),
|
||||
// SPECIES_SPRITE(GRANBULL, gMonBackPic_Granbull),
|
||||
// SPECIES_SPRITE(QWILFISH, gMonBackPic_Qwilfish),
|
||||
// SPECIES_SPRITE(SCIZOR, gMonBackPic_Scizor),
|
||||
// SPECIES_SPRITE(SHUCKLE, gMonBackPic_Shuckle),
|
||||
// SPECIES_SPRITE(HERACROSS, gMonBackPic_Heracross),
|
||||
// SPECIES_SPRITE(SNEASEL, gMonBackPic_Sneasel),
|
||||
// SPECIES_SPRITE(TEDDIURSA, gMonBackPic_Teddiursa),
|
||||
// SPECIES_SPRITE(URSARING, gMonBackPic_Ursaring),
|
||||
// SPECIES_SPRITE(SLUGMA, gMonBackPic_Slugma),
|
||||
// SPECIES_SPRITE(MAGCARGO, gMonBackPic_Magcargo),
|
||||
// SPECIES_SPRITE(SWINUB, gMonBackPic_Swinub),
|
||||
// SPECIES_SPRITE(PILOSWINE, gMonBackPic_Piloswine),
|
||||
// SPECIES_SPRITE(CORSOLA, gMonBackPic_Corsola),
|
||||
// SPECIES_SPRITE(REMORAID, gMonBackPic_Remoraid),
|
||||
// SPECIES_SPRITE(OCTILLERY, gMonBackPic_Octillery),
|
||||
// SPECIES_SPRITE(DELIBIRD, gMonBackPic_Delibird),
|
||||
// SPECIES_SPRITE(MANTINE, gMonBackPic_Mantine),
|
||||
// SPECIES_SPRITE(SKARMORY, gMonBackPic_Skarmory),
|
||||
// SPECIES_SPRITE(HOUNDOUR, gMonBackPic_Houndour),
|
||||
// SPECIES_SPRITE(HOUNDOOM, gMonBackPic_Houndoom),
|
||||
// SPECIES_SPRITE(KINGDRA, gMonBackPic_Kingdra),
|
||||
// SPECIES_SPRITE(PHANPY, gMonBackPic_Phanpy),
|
||||
// SPECIES_SPRITE(DONPHAN, gMonBackPic_Donphan),
|
||||
// SPECIES_SPRITE(PORYGON2, gMonBackPic_Porygon2),
|
||||
// SPECIES_SPRITE(STANTLER, gMonBackPic_Stantler),
|
||||
// SPECIES_SPRITE(SMEARGLE, gMonBackPic_Smeargle),
|
||||
// SPECIES_SPRITE(TYROGUE, gMonBackPic_Tyrogue),
|
||||
// SPECIES_SPRITE(HITMONTOP, gMonBackPic_Hitmontop),
|
||||
// SPECIES_SPRITE(SMOOCHUM, gMonBackPic_Smoochum),
|
||||
// SPECIES_SPRITE(ELEKID, gMonBackPic_Elekid),
|
||||
// SPECIES_SPRITE(MAGBY, gMonBackPic_Magby),
|
||||
// SPECIES_SPRITE(MILTANK, gMonBackPic_Miltank),
|
||||
// SPECIES_SPRITE(BLISSEY, gMonBackPic_Blissey),
|
||||
// SPECIES_SPRITE(RAIKOU, gMonBackPic_Raikou),
|
||||
// SPECIES_SPRITE(ENTEI, gMonBackPic_Entei),
|
||||
// SPECIES_SPRITE(SUICUNE, gMonBackPic_Suicune),
|
||||
// SPECIES_SPRITE(LARVITAR, gMonBackPic_Larvitar),
|
||||
// SPECIES_SPRITE(PUPITAR, gMonBackPic_Pupitar),
|
||||
// SPECIES_SPRITE(TYRANITAR, gMonBackPic_Tyranitar),
|
||||
// SPECIES_SPRITE(LUGIA, gMonBackPic_Lugia),
|
||||
// SPECIES_SPRITE(HO_OH, gMonBackPic_HoOh),
|
||||
// SPECIES_SPRITE(CELEBI, gMonBackPic_Celebi),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_B, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_C, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_D, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_E, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_F, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_G, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_H, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_I, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_J, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_K, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_L, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_M, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_N, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_O, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_P, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_Q, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_R, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_S, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_T, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_U, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_V, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_W, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_X, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_Y, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_Z, gMonBackPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(TREECKO, gMonBackPic_Treecko),
|
||||
// SPECIES_SPRITE(GROVYLE, gMonBackPic_Grovyle),
|
||||
// SPECIES_SPRITE(SCEPTILE, gMonBackPic_Sceptile),
|
||||
// SPECIES_SPRITE(TORCHIC, gMonBackPic_Torchic),
|
||||
// SPECIES_SPRITE(COMBUSKEN, gMonBackPic_Combusken),
|
||||
// SPECIES_SPRITE(BLAZIKEN, gMonBackPic_Blaziken),
|
||||
// SPECIES_SPRITE(MUDKIP, gMonBackPic_Mudkip),
|
||||
// SPECIES_SPRITE(MARSHTOMP, gMonBackPic_Marshtomp),
|
||||
// SPECIES_SPRITE(SWAMPERT, gMonBackPic_Swampert),
|
||||
// SPECIES_SPRITE(POOCHYENA, gMonBackPic_Poochyena),
|
||||
// SPECIES_SPRITE(MIGHTYENA, gMonBackPic_Mightyena),
|
||||
// SPECIES_SPRITE(ZIGZAGOON, gMonBackPic_Zigzagoon),
|
||||
// SPECIES_SPRITE(LINOONE, gMonBackPic_Linoone),
|
||||
// SPECIES_SPRITE(WURMPLE, gMonBackPic_Wurmple),
|
||||
// SPECIES_SPRITE(SILCOON, gMonBackPic_Silcoon),
|
||||
// SPECIES_SPRITE(BEAUTIFLY, gMonBackPic_Beautifly),
|
||||
// SPECIES_SPRITE(CASCOON, gMonBackPic_Cascoon),
|
||||
// SPECIES_SPRITE(DUSTOX, gMonBackPic_Dustox),
|
||||
// SPECIES_SPRITE(LOTAD, gMonBackPic_Lotad),
|
||||
// SPECIES_SPRITE(LOMBRE, gMonBackPic_Lombre),
|
||||
// SPECIES_SPRITE(LUDICOLO, gMonBackPic_Ludicolo),
|
||||
// SPECIES_SPRITE(SEEDOT, gMonBackPic_Seedot),
|
||||
// SPECIES_SPRITE(NUZLEAF, gMonBackPic_Nuzleaf),
|
||||
// SPECIES_SPRITE(SHIFTRY, gMonBackPic_Shiftry),
|
||||
// SPECIES_SPRITE(NINCADA, gMonBackPic_Nincada),
|
||||
// SPECIES_SPRITE(NINJASK, gMonBackPic_Ninjask),
|
||||
// SPECIES_SPRITE(SHEDINJA, gMonBackPic_Shedinja),
|
||||
// SPECIES_SPRITE(TAILLOW, gMonBackPic_Taillow),
|
||||
// SPECIES_SPRITE(SWELLOW, gMonBackPic_Swellow),
|
||||
// SPECIES_SPRITE(SHROOMISH, gMonBackPic_Shroomish),
|
||||
// SPECIES_SPRITE(BRELOOM, gMonBackPic_Breloom),
|
||||
// SPECIES_SPRITE(SPINDA, gMonBackPic_Spinda),
|
||||
// SPECIES_SPRITE(WINGULL, gMonBackPic_Wingull),
|
||||
// SPECIES_SPRITE(PELIPPER, gMonBackPic_Pelipper),
|
||||
// SPECIES_SPRITE(SURSKIT, gMonBackPic_Surskit),
|
||||
// SPECIES_SPRITE(MASQUERAIN, gMonBackPic_Masquerain),
|
||||
// SPECIES_SPRITE(WAILMER, gMonBackPic_Wailmer),
|
||||
// SPECIES_SPRITE(WAILORD, gMonBackPic_Wailord),
|
||||
// SPECIES_SPRITE(SKITTY, gMonBackPic_Skitty),
|
||||
// SPECIES_SPRITE(DELCATTY, gMonBackPic_Delcatty),
|
||||
// SPECIES_SPRITE(KECLEON, gMonBackPic_Kecleon),
|
||||
// SPECIES_SPRITE(BALTOY, gMonBackPic_Baltoy),
|
||||
// SPECIES_SPRITE(CLAYDOL, gMonBackPic_Claydol),
|
||||
// SPECIES_SPRITE(NOSEPASS, gMonBackPic_Nosepass),
|
||||
// SPECIES_SPRITE(TORKOAL, gMonBackPic_Torkoal),
|
||||
// SPECIES_SPRITE(SABLEYE, gMonBackPic_Sableye),
|
||||
// SPECIES_SPRITE(BARBOACH, gMonBackPic_Barboach),
|
||||
// SPECIES_SPRITE(WHISCASH, gMonBackPic_Whiscash),
|
||||
// SPECIES_SPRITE(LUVDISC, gMonBackPic_Luvdisc),
|
||||
// SPECIES_SPRITE(CORPHISH, gMonBackPic_Corphish),
|
||||
// SPECIES_SPRITE(CRAWDAUNT, gMonBackPic_Crawdaunt),
|
||||
// SPECIES_SPRITE(FEEBAS, gMonBackPic_Feebas),
|
||||
// SPECIES_SPRITE(MILOTIC, gMonBackPic_Milotic),
|
||||
// SPECIES_SPRITE(CARVANHA, gMonBackPic_Carvanha),
|
||||
// SPECIES_SPRITE(SHARPEDO, gMonBackPic_Sharpedo),
|
||||
// SPECIES_SPRITE(TRAPINCH, gMonBackPic_Trapinch),
|
||||
// SPECIES_SPRITE(VIBRAVA, gMonBackPic_Vibrava),
|
||||
// SPECIES_SPRITE(FLYGON, gMonBackPic_Flygon),
|
||||
// SPECIES_SPRITE(MAKUHITA, gMonBackPic_Makuhita),
|
||||
// SPECIES_SPRITE(HARIYAMA, gMonBackPic_Hariyama),
|
||||
// SPECIES_SPRITE(ELECTRIKE, gMonBackPic_Electrike),
|
||||
// SPECIES_SPRITE(MANECTRIC, gMonBackPic_Manectric),
|
||||
// SPECIES_SPRITE(NUMEL, gMonBackPic_Numel),
|
||||
// SPECIES_SPRITE(CAMERUPT, gMonBackPic_Camerupt),
|
||||
// SPECIES_SPRITE(SPHEAL, gMonBackPic_Spheal),
|
||||
// SPECIES_SPRITE(SEALEO, gMonBackPic_Sealeo),
|
||||
// SPECIES_SPRITE(WALREIN, gMonBackPic_Walrein),
|
||||
// SPECIES_SPRITE(CACNEA, gMonBackPic_Cacnea),
|
||||
// SPECIES_SPRITE(CACTURNE, gMonBackPic_Cacturne),
|
||||
// SPECIES_SPRITE(SNORUNT, gMonBackPic_Snorunt),
|
||||
// SPECIES_SPRITE(GLALIE, gMonBackPic_Glalie),
|
||||
// SPECIES_SPRITE(LUNATONE, gMonBackPic_Lunatone),
|
||||
// SPECIES_SPRITE(SOLROCK, gMonBackPic_Solrock),
|
||||
// SPECIES_SPRITE(AZURILL, gMonBackPic_Azurill),
|
||||
// SPECIES_SPRITE(SPOINK, gMonBackPic_Spoink),
|
||||
// SPECIES_SPRITE(GRUMPIG, gMonBackPic_Grumpig),
|
||||
// SPECIES_SPRITE(PLUSLE, gMonBackPic_Plusle),
|
||||
// SPECIES_SPRITE(MINUN, gMonBackPic_Minun),
|
||||
// SPECIES_SPRITE(MAWILE, gMonBackPic_Mawile),
|
||||
// SPECIES_SPRITE(MEDITITE, gMonBackPic_Meditite),
|
||||
// SPECIES_SPRITE(MEDICHAM, gMonBackPic_Medicham),
|
||||
// SPECIES_SPRITE(SWABLU, gMonBackPic_Swablu),
|
||||
// SPECIES_SPRITE(ALTARIA, gMonBackPic_Altaria),
|
||||
// SPECIES_SPRITE(WYNAUT, gMonBackPic_Wynaut),
|
||||
// SPECIES_SPRITE(DUSKULL, gMonBackPic_Duskull),
|
||||
// SPECIES_SPRITE(DUSCLOPS, gMonBackPic_Dusclops),
|
||||
// SPECIES_SPRITE(ROSELIA, gMonBackPic_Roselia),
|
||||
// SPECIES_SPRITE(SLAKOTH, gMonBackPic_Slakoth),
|
||||
// SPECIES_SPRITE(VIGOROTH, gMonBackPic_Vigoroth),
|
||||
// SPECIES_SPRITE(SLAKING, gMonBackPic_Slaking),
|
||||
// SPECIES_SPRITE(GULPIN, gMonBackPic_Gulpin),
|
||||
// SPECIES_SPRITE(SWALOT, gMonBackPic_Swalot),
|
||||
// SPECIES_SPRITE(TROPIUS, gMonBackPic_Tropius),
|
||||
// SPECIES_SPRITE(WHISMUR, gMonBackPic_Whismur),
|
||||
// SPECIES_SPRITE(LOUDRED, gMonBackPic_Loudred),
|
||||
// SPECIES_SPRITE(EXPLOUD, gMonBackPic_Exploud),
|
||||
// SPECIES_SPRITE(CLAMPERL, gMonBackPic_Clamperl),
|
||||
// SPECIES_SPRITE(HUNTAIL, gMonBackPic_Huntail),
|
||||
// SPECIES_SPRITE(GOREBYSS, gMonBackPic_Gorebyss),
|
||||
// SPECIES_SPRITE(ABSOL, gMonBackPic_Absol),
|
||||
// SPECIES_SPRITE(SHUPPET, gMonBackPic_Shuppet),
|
||||
// SPECIES_SPRITE(BANETTE, gMonBackPic_Banette),
|
||||
// SPECIES_SPRITE(SEVIPER, gMonBackPic_Seviper),
|
||||
// SPECIES_SPRITE(ZANGOOSE, gMonBackPic_Zangoose),
|
||||
// SPECIES_SPRITE(RELICANTH, gMonBackPic_Relicanth),
|
||||
// SPECIES_SPRITE(ARON, gMonBackPic_Aron),
|
||||
// SPECIES_SPRITE(LAIRON, gMonBackPic_Lairon),
|
||||
// SPECIES_SPRITE(AGGRON, gMonBackPic_Aggron),
|
||||
// SPECIES_SPRITE(CASTFORM, gMonBackPic_Castform),
|
||||
// SPECIES_SPRITE(VOLBEAT, gMonBackPic_Volbeat),
|
||||
// SPECIES_SPRITE(ILLUMISE, gMonBackPic_Illumise),
|
||||
// SPECIES_SPRITE(LILEEP, gMonBackPic_Lileep),
|
||||
// SPECIES_SPRITE(CRADILY, gMonBackPic_Cradily),
|
||||
// SPECIES_SPRITE(ANORITH, gMonBackPic_Anorith),
|
||||
// SPECIES_SPRITE(ARMALDO, gMonBackPic_Armaldo),
|
||||
// SPECIES_SPRITE(RALTS, gMonBackPic_Ralts),
|
||||
// SPECIES_SPRITE(KIRLIA, gMonBackPic_Kirlia),
|
||||
// SPECIES_SPRITE(GARDEVOIR, gMonBackPic_Gardevoir),
|
||||
// SPECIES_SPRITE(BAGON, gMonBackPic_Bagon),
|
||||
// SPECIES_SPRITE(SHELGON, gMonBackPic_Shelgon),
|
||||
// SPECIES_SPRITE(SALAMENCE, gMonBackPic_Salamence),
|
||||
// SPECIES_SPRITE(BELDUM, gMonBackPic_Beldum),
|
||||
// SPECIES_SPRITE(METANG, gMonBackPic_Metang),
|
||||
// SPECIES_SPRITE(METAGROSS, gMonBackPic_Metagross),
|
||||
// SPECIES_SPRITE(REGIROCK, gMonBackPic_Regirock),
|
||||
// SPECIES_SPRITE(REGICE, gMonBackPic_Regice),
|
||||
// SPECIES_SPRITE(REGISTEEL, gMonBackPic_Registeel),
|
||||
// SPECIES_SPRITE(KYOGRE, gMonBackPic_Kyogre),
|
||||
// SPECIES_SPRITE(GROUDON, gMonBackPic_Groudon),
|
||||
// SPECIES_SPRITE(RAYQUAZA, gMonBackPic_Rayquaza),
|
||||
// SPECIES_SPRITE(LATIAS, gMonBackPic_Latias),
|
||||
// SPECIES_SPRITE(LATIOS, gMonBackPic_Latios),
|
||||
// SPECIES_SPRITE(JIRACHI, gMonBackPic_Jirachi),
|
||||
// SPECIES_SPRITE(DEOXYS, gMonBackPic_Deoxys),
|
||||
// SPECIES_SPRITE(CHIMECHO, gMonBackPic_Chimecho),
|
||||
// SPECIES_SPRITE(EGG, gMonFrontPic_Egg),
|
||||
// SPECIES_SPRITE(UNOWN_B, gMonBackPic_UnownB),
|
||||
// SPECIES_SPRITE(UNOWN_C, gMonBackPic_UnownC),
|
||||
// SPECIES_SPRITE(UNOWN_D, gMonBackPic_UnownD),
|
||||
// SPECIES_SPRITE(UNOWN_E, gMonBackPic_UnownE),
|
||||
// SPECIES_SPRITE(UNOWN_F, gMonBackPic_UnownF),
|
||||
// SPECIES_SPRITE(UNOWN_G, gMonBackPic_UnownG),
|
||||
// SPECIES_SPRITE(UNOWN_H, gMonBackPic_UnownH),
|
||||
// SPECIES_SPRITE(UNOWN_I, gMonBackPic_UnownI),
|
||||
// SPECIES_SPRITE(UNOWN_J, gMonBackPic_UnownJ),
|
||||
// SPECIES_SPRITE(UNOWN_K, gMonBackPic_UnownK),
|
||||
// SPECIES_SPRITE(UNOWN_L, gMonBackPic_UnownL),
|
||||
// SPECIES_SPRITE(UNOWN_M, gMonBackPic_UnownM),
|
||||
// SPECIES_SPRITE(UNOWN_N, gMonBackPic_UnownN),
|
||||
// SPECIES_SPRITE(UNOWN_O, gMonBackPic_UnownO),
|
||||
// SPECIES_SPRITE(UNOWN_P, gMonBackPic_UnownP),
|
||||
// SPECIES_SPRITE(UNOWN_Q, gMonBackPic_UnownQ),
|
||||
// SPECIES_SPRITE(UNOWN_R, gMonBackPic_UnownR),
|
||||
// SPECIES_SPRITE(UNOWN_S, gMonBackPic_UnownS),
|
||||
// SPECIES_SPRITE(UNOWN_T, gMonBackPic_UnownT),
|
||||
// SPECIES_SPRITE(UNOWN_U, gMonBackPic_UnownU),
|
||||
// SPECIES_SPRITE(UNOWN_V, gMonBackPic_UnownV),
|
||||
// SPECIES_SPRITE(UNOWN_W, gMonBackPic_UnownW),
|
||||
// SPECIES_SPRITE(UNOWN_X, gMonBackPic_UnownX),
|
||||
// SPECIES_SPRITE(UNOWN_Y, gMonBackPic_UnownY),
|
||||
// SPECIES_SPRITE(UNOWN_Z, gMonBackPic_UnownZ),
|
||||
// SPECIES_SPRITE(UNOWN_EMARK, gMonBackPic_UnownExclamationMark),
|
||||
// SPECIES_SPRITE(UNOWN_QMARK, gMonBackPic_UnownQuestionMark),
|
||||
// };
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
// This determines how much higher above the usual position the enemy Pokémon
|
||||
// is during battle. Species that float or fly have nonzero values.
|
||||
const u8 gEnemyMonElevation[NUM_SPECIES] =
|
||||
{
|
||||
[SPECIES_BUTTERFREE] = 8,
|
||||
[SPECIES_BEEDRILL] = 8,
|
||||
[SPECIES_PIDGEOT] = 4,
|
||||
[SPECIES_FEAROW] = 6,
|
||||
[SPECIES_ZUBAT] = 8,
|
||||
[SPECIES_GOLBAT] = 8,
|
||||
[SPECIES_VENOMOTH] = 8,
|
||||
[SPECIES_GEODUDE] = 16,
|
||||
[SPECIES_MAGNEMITE] = 16,
|
||||
[SPECIES_MAGNETON] = 8,
|
||||
[SPECIES_GASTLY] = 4,
|
||||
[SPECIES_HAUNTER] = 4,
|
||||
[SPECIES_VOLTORB] = 10,
|
||||
[SPECIES_ELECTRODE] = 12,
|
||||
[SPECIES_KOFFING] = 8,
|
||||
[SPECIES_WEEZING] = 6,
|
||||
[SPECIES_AERODACTYL] = 7,
|
||||
[SPECIES_ARTICUNO] = 6,
|
||||
[SPECIES_ZAPDOS] = 8,
|
||||
[SPECIES_MOLTRES] = 5,
|
||||
[SPECIES_DRAGONITE] = 6,
|
||||
[SPECIES_MEW] = 8,
|
||||
[SPECIES_LEDIAN] = 8,
|
||||
[SPECIES_CROBAT] = 6,
|
||||
[SPECIES_HOPPIP] = 11,
|
||||
[SPECIES_SKIPLOOM] = 12,
|
||||
[SPECIES_JUMPLUFF] = 9,
|
||||
[SPECIES_YANMA] = 8,
|
||||
[SPECIES_MISDREAVUS] = 8,
|
||||
[SPECIES_UNOWN] = 8,
|
||||
[SPECIES_GLIGAR] = 6,
|
||||
[SPECIES_LUGIA] = 6,
|
||||
[SPECIES_HO_OH] = 6,
|
||||
[SPECIES_CELEBI] = 15,
|
||||
[SPECIES_BEAUTIFLY] = 8,
|
||||
[SPECIES_DUSTOX] = 10,
|
||||
[SPECIES_NINJASK] = 10,
|
||||
[SPECIES_SHEDINJA] = 8,
|
||||
[SPECIES_WINGULL] = 16,
|
||||
[SPECIES_PELIPPER] = 8,
|
||||
[SPECIES_MASQUERAIN] = 10,
|
||||
[SPECIES_BALTOY] = 4,
|
||||
[SPECIES_CLAYDOL] = 10,
|
||||
[SPECIES_FLYGON] = 7,
|
||||
[SPECIES_GLALIE] = 12,
|
||||
[SPECIES_LUNATONE] = 13,
|
||||
[SPECIES_SOLROCK] = 4,
|
||||
[SPECIES_SWABLU] = 12,
|
||||
[SPECIES_ALTARIA] = 8,
|
||||
[SPECIES_DUSKULL] = 9,
|
||||
[SPECIES_SHUPPET] = 12,
|
||||
[SPECIES_BANETTE] = 8,
|
||||
[SPECIES_CASTFORM] = 16,
|
||||
[SPECIES_BELDUM] = 8,
|
||||
[SPECIES_RAYQUAZA] = 6,
|
||||
[SPECIES_LATIAS] = 6,
|
||||
[SPECIES_LATIOS] = 6,
|
||||
[SPECIES_JIRACHI] = 12,
|
||||
[SPECIES_DEOXYS] = 8,
|
||||
[SPECIES_CHIMECHO] = 12,
|
||||
};
|
||||
|
|
@ -1,416 +0,0 @@
|
|||
// const u8 *const gMonFootprintTable[] =
|
||||
// {
|
||||
// [SPECIES_NONE] = gMonFootprint_Bulbasaur,
|
||||
// [SPECIES_BULBASAUR] = gMonFootprint_Bulbasaur,
|
||||
// [SPECIES_IVYSAUR] = gMonFootprint_Ivysaur,
|
||||
// [SPECIES_VENUSAUR] = gMonFootprint_Venusaur,
|
||||
// [SPECIES_CHARMANDER] = gMonFootprint_Charmander,
|
||||
// [SPECIES_CHARMELEON] = gMonFootprint_Charmeleon,
|
||||
// [SPECIES_CHARIZARD] = gMonFootprint_Charizard,
|
||||
// [SPECIES_SQUIRTLE] = gMonFootprint_Squirtle,
|
||||
// [SPECIES_WARTORTLE] = gMonFootprint_Wartortle,
|
||||
// [SPECIES_BLASTOISE] = gMonFootprint_Blastoise,
|
||||
// [SPECIES_CATERPIE] = gMonFootprint_Caterpie,
|
||||
// [SPECIES_METAPOD] = gMonFootprint_Metapod,
|
||||
// [SPECIES_BUTTERFREE] = gMonFootprint_Butterfree,
|
||||
// [SPECIES_WEEDLE] = gMonFootprint_Weedle,
|
||||
// [SPECIES_KAKUNA] = gMonFootprint_Kakuna,
|
||||
// [SPECIES_BEEDRILL] = gMonFootprint_Beedrill,
|
||||
// [SPECIES_PIDGEY] = gMonFootprint_Pidgey,
|
||||
// [SPECIES_PIDGEOTTO] = gMonFootprint_Pidgeotto,
|
||||
// [SPECIES_PIDGEOT] = gMonFootprint_Pidgeot,
|
||||
// [SPECIES_RATTATA] = gMonFootprint_Rattata,
|
||||
// [SPECIES_RATICATE] = gMonFootprint_Raticate,
|
||||
// [SPECIES_SPEAROW] = gMonFootprint_Spearow,
|
||||
// [SPECIES_FEAROW] = gMonFootprint_Fearow,
|
||||
// [SPECIES_EKANS] = gMonFootprint_Ekans,
|
||||
// [SPECIES_ARBOK] = gMonFootprint_Arbok,
|
||||
// [SPECIES_PIKACHU] = gMonFootprint_Pikachu,
|
||||
// [SPECIES_RAICHU] = gMonFootprint_Raichu,
|
||||
// [SPECIES_SANDSHREW] = gMonFootprint_Sandshrew,
|
||||
// [SPECIES_SANDSLASH] = gMonFootprint_Sandslash,
|
||||
// [SPECIES_NIDORAN_F] = gMonFootprint_NidoranF,
|
||||
// [SPECIES_NIDORINA] = gMonFootprint_Nidorina,
|
||||
// [SPECIES_NIDOQUEEN] = gMonFootprint_Nidoqueen,
|
||||
// [SPECIES_NIDORAN_M] = gMonFootprint_NidoranM,
|
||||
// [SPECIES_NIDORINO] = gMonFootprint_Nidorino,
|
||||
// [SPECIES_NIDOKING] = gMonFootprint_Nidoking,
|
||||
// [SPECIES_CLEFAIRY] = gMonFootprint_Clefairy,
|
||||
// [SPECIES_CLEFABLE] = gMonFootprint_Clefable,
|
||||
// [SPECIES_VULPIX] = gMonFootprint_Vulpix,
|
||||
// [SPECIES_NINETALES] = gMonFootprint_Ninetales,
|
||||
// [SPECIES_JIGGLYPUFF] = gMonFootprint_Jigglypuff,
|
||||
// [SPECIES_WIGGLYTUFF] = gMonFootprint_Wigglytuff,
|
||||
// [SPECIES_ZUBAT] = gMonFootprint_Zubat,
|
||||
// [SPECIES_GOLBAT] = gMonFootprint_Golbat,
|
||||
// [SPECIES_ODDISH] = gMonFootprint_Oddish,
|
||||
// [SPECIES_GLOOM] = gMonFootprint_Gloom,
|
||||
// [SPECIES_VILEPLUME] = gMonFootprint_Vileplume,
|
||||
// [SPECIES_PARAS] = gMonFootprint_Paras,
|
||||
// [SPECIES_PARASECT] = gMonFootprint_Parasect,
|
||||
// [SPECIES_VENONAT] = gMonFootprint_Venonat,
|
||||
// [SPECIES_VENOMOTH] = gMonFootprint_Venomoth,
|
||||
// [SPECIES_DIGLETT] = gMonFootprint_Diglett,
|
||||
// [SPECIES_DUGTRIO] = gMonFootprint_Dugtrio,
|
||||
// [SPECIES_MEOWTH] = gMonFootprint_Meowth,
|
||||
// [SPECIES_PERSIAN] = gMonFootprint_Persian,
|
||||
// [SPECIES_PSYDUCK] = gMonFootprint_Psyduck,
|
||||
// [SPECIES_GOLDUCK] = gMonFootprint_Golduck,
|
||||
// [SPECIES_MANKEY] = gMonFootprint_Mankey,
|
||||
// [SPECIES_PRIMEAPE] = gMonFootprint_Primeape,
|
||||
// [SPECIES_GROWLITHE] = gMonFootprint_Growlithe,
|
||||
// [SPECIES_ARCANINE] = gMonFootprint_Arcanine,
|
||||
// [SPECIES_POLIWAG] = gMonFootprint_Poliwag,
|
||||
// [SPECIES_POLIWHIRL] = gMonFootprint_Poliwhirl,
|
||||
// [SPECIES_POLIWRATH] = gMonFootprint_Poliwrath,
|
||||
// [SPECIES_ABRA] = gMonFootprint_Abra,
|
||||
// [SPECIES_KADABRA] = gMonFootprint_Kadabra,
|
||||
// [SPECIES_ALAKAZAM] = gMonFootprint_Alakazam,
|
||||
// [SPECIES_MACHOP] = gMonFootprint_Machop,
|
||||
// [SPECIES_MACHOKE] = gMonFootprint_Machoke,
|
||||
// [SPECIES_MACHAMP] = gMonFootprint_Machamp,
|
||||
// [SPECIES_BELLSPROUT] = gMonFootprint_Bellsprout,
|
||||
// [SPECIES_WEEPINBELL] = gMonFootprint_Weepinbell,
|
||||
// [SPECIES_VICTREEBEL] = gMonFootprint_Victreebel,
|
||||
// [SPECIES_TENTACOOL] = gMonFootprint_Tentacool,
|
||||
// [SPECIES_TENTACRUEL] = gMonFootprint_Tentacruel,
|
||||
// [SPECIES_GEODUDE] = gMonFootprint_Geodude,
|
||||
// [SPECIES_GRAVELER] = gMonFootprint_Graveler,
|
||||
// [SPECIES_GOLEM] = gMonFootprint_Golem,
|
||||
// [SPECIES_PONYTA] = gMonFootprint_Ponyta,
|
||||
// [SPECIES_RAPIDASH] = gMonFootprint_Rapidash,
|
||||
// [SPECIES_SLOWPOKE] = gMonFootprint_Slowpoke,
|
||||
// [SPECIES_SLOWBRO] = gMonFootprint_Slowbro,
|
||||
// [SPECIES_MAGNEMITE] = gMonFootprint_Magnemite,
|
||||
// [SPECIES_MAGNETON] = gMonFootprint_Magneton,
|
||||
// [SPECIES_FARFETCHD] = gMonFootprint_Farfetchd,
|
||||
// [SPECIES_DODUO] = gMonFootprint_Doduo,
|
||||
// [SPECIES_DODRIO] = gMonFootprint_Dodrio,
|
||||
// [SPECIES_SEEL] = gMonFootprint_Seel,
|
||||
// [SPECIES_DEWGONG] = gMonFootprint_Dewgong,
|
||||
// [SPECIES_GRIMER] = gMonFootprint_Grimer,
|
||||
// [SPECIES_MUK] = gMonFootprint_Muk,
|
||||
// [SPECIES_SHELLDER] = gMonFootprint_Shellder,
|
||||
// [SPECIES_CLOYSTER] = gMonFootprint_Cloyster,
|
||||
// [SPECIES_GASTLY] = gMonFootprint_Gastly,
|
||||
// [SPECIES_HAUNTER] = gMonFootprint_Haunter,
|
||||
// [SPECIES_GENGAR] = gMonFootprint_Gengar,
|
||||
// [SPECIES_ONIX] = gMonFootprint_Onix,
|
||||
// [SPECIES_DROWZEE] = gMonFootprint_Drowzee,
|
||||
// [SPECIES_HYPNO] = gMonFootprint_Hypno,
|
||||
// [SPECIES_KRABBY] = gMonFootprint_Krabby,
|
||||
// [SPECIES_KINGLER] = gMonFootprint_Kingler,
|
||||
// [SPECIES_VOLTORB] = gMonFootprint_Voltorb,
|
||||
// [SPECIES_ELECTRODE] = gMonFootprint_Electrode,
|
||||
// [SPECIES_EXEGGCUTE] = gMonFootprint_Exeggcute,
|
||||
// [SPECIES_EXEGGUTOR] = gMonFootprint_Exeggutor,
|
||||
// [SPECIES_CUBONE] = gMonFootprint_Cubone,
|
||||
// [SPECIES_MAROWAK] = gMonFootprint_Marowak,
|
||||
// [SPECIES_HITMONLEE] = gMonFootprint_Hitmonlee,
|
||||
// [SPECIES_HITMONCHAN] = gMonFootprint_Hitmonchan,
|
||||
// [SPECIES_LICKITUNG] = gMonFootprint_Lickitung,
|
||||
// [SPECIES_KOFFING] = gMonFootprint_Koffing,
|
||||
// [SPECIES_WEEZING] = gMonFootprint_Weezing,
|
||||
// [SPECIES_RHYHORN] = gMonFootprint_Rhyhorn,
|
||||
// [SPECIES_RHYDON] = gMonFootprint_Rhydon,
|
||||
// [SPECIES_CHANSEY] = gMonFootprint_Chansey,
|
||||
// [SPECIES_TANGELA] = gMonFootprint_Tangela,
|
||||
// [SPECIES_KANGASKHAN] = gMonFootprint_Kangaskhan,
|
||||
// [SPECIES_HORSEA] = gMonFootprint_Horsea,
|
||||
// [SPECIES_SEADRA] = gMonFootprint_Seadra,
|
||||
// [SPECIES_GOLDEEN] = gMonFootprint_Goldeen,
|
||||
// [SPECIES_SEAKING] = gMonFootprint_Seaking,
|
||||
// [SPECIES_STARYU] = gMonFootprint_Staryu,
|
||||
// [SPECIES_STARMIE] = gMonFootprint_Starmie,
|
||||
// [SPECIES_MR_MIME] = gMonFootprint_Mrmime,
|
||||
// [SPECIES_SCYTHER] = gMonFootprint_Scyther,
|
||||
// [SPECIES_JYNX] = gMonFootprint_Jynx,
|
||||
// [SPECIES_ELECTABUZZ] = gMonFootprint_Electabuzz,
|
||||
// [SPECIES_MAGMAR] = gMonFootprint_Magmar,
|
||||
// [SPECIES_PINSIR] = gMonFootprint_Pinsir,
|
||||
// [SPECIES_TAUROS] = gMonFootprint_Tauros,
|
||||
// [SPECIES_MAGIKARP] = gMonFootprint_Magikarp,
|
||||
// [SPECIES_GYARADOS] = gMonFootprint_Gyarados,
|
||||
// [SPECIES_LAPRAS] = gMonFootprint_Lapras,
|
||||
// [SPECIES_DITTO] = gMonFootprint_Ditto,
|
||||
// [SPECIES_EEVEE] = gMonFootprint_Eevee,
|
||||
// [SPECIES_VAPOREON] = gMonFootprint_Vaporeon,
|
||||
// [SPECIES_JOLTEON] = gMonFootprint_Jolteon,
|
||||
// [SPECIES_FLAREON] = gMonFootprint_Flareon,
|
||||
// [SPECIES_PORYGON] = gMonFootprint_Porygon,
|
||||
// [SPECIES_OMANYTE] = gMonFootprint_Omanyte,
|
||||
// [SPECIES_OMASTAR] = gMonFootprint_Omastar,
|
||||
// [SPECIES_KABUTO] = gMonFootprint_Kabuto,
|
||||
// [SPECIES_KABUTOPS] = gMonFootprint_Kabutops,
|
||||
// [SPECIES_AERODACTYL] = gMonFootprint_Aerodactyl,
|
||||
// [SPECIES_SNORLAX] = gMonFootprint_Snorlax,
|
||||
// [SPECIES_ARTICUNO] = gMonFootprint_Articuno,
|
||||
// [SPECIES_ZAPDOS] = gMonFootprint_Zapdos,
|
||||
// [SPECIES_MOLTRES] = gMonFootprint_Moltres,
|
||||
// [SPECIES_DRATINI] = gMonFootprint_Dratini,
|
||||
// [SPECIES_DRAGONAIR] = gMonFootprint_Dragonair,
|
||||
// [SPECIES_DRAGONITE] = gMonFootprint_Dragonite,
|
||||
// [SPECIES_MEWTWO] = gMonFootprint_Mewtwo,
|
||||
// [SPECIES_MEW] = gMonFootprint_Mew,
|
||||
// [SPECIES_CHIKORITA] = gMonFootprint_Chikorita,
|
||||
// [SPECIES_BAYLEEF] = gMonFootprint_Bayleef,
|
||||
// [SPECIES_MEGANIUM] = gMonFootprint_Meganium,
|
||||
// [SPECIES_CYNDAQUIL] = gMonFootprint_Cyndaquil,
|
||||
// [SPECIES_QUILAVA] = gMonFootprint_Quilava,
|
||||
// [SPECIES_TYPHLOSION] = gMonFootprint_Typhlosion,
|
||||
// [SPECIES_TOTODILE] = gMonFootprint_Totodile,
|
||||
// [SPECIES_CROCONAW] = gMonFootprint_Croconaw,
|
||||
// [SPECIES_FERALIGATR] = gMonFootprint_Feraligatr,
|
||||
// [SPECIES_SENTRET] = gMonFootprint_Sentret,
|
||||
// [SPECIES_FURRET] = gMonFootprint_Furret,
|
||||
// [SPECIES_HOOTHOOT] = gMonFootprint_Hoothoot,
|
||||
// [SPECIES_NOCTOWL] = gMonFootprint_Noctowl,
|
||||
// [SPECIES_LEDYBA] = gMonFootprint_Ledyba,
|
||||
// [SPECIES_LEDIAN] = gMonFootprint_Ledian,
|
||||
// [SPECIES_SPINARAK] = gMonFootprint_Spinarak,
|
||||
// [SPECIES_ARIADOS] = gMonFootprint_Ariados,
|
||||
// [SPECIES_CROBAT] = gMonFootprint_Crobat,
|
||||
// [SPECIES_CHINCHOU] = gMonFootprint_Chinchou,
|
||||
// [SPECIES_LANTURN] = gMonFootprint_Lanturn,
|
||||
// [SPECIES_PICHU] = gMonFootprint_Pichu,
|
||||
// [SPECIES_CLEFFA] = gMonFootprint_Cleffa,
|
||||
// [SPECIES_IGGLYBUFF] = gMonFootprint_Igglybuff,
|
||||
// [SPECIES_TOGEPI] = gMonFootprint_Togepi,
|
||||
// [SPECIES_TOGETIC] = gMonFootprint_Togetic,
|
||||
// [SPECIES_NATU] = gMonFootprint_Natu,
|
||||
// [SPECIES_XATU] = gMonFootprint_Xatu,
|
||||
// [SPECIES_MAREEP] = gMonFootprint_Mareep,
|
||||
// [SPECIES_FLAAFFY] = gMonFootprint_Flaaffy,
|
||||
// [SPECIES_AMPHAROS] = gMonFootprint_Ampharos,
|
||||
// [SPECIES_BELLOSSOM] = gMonFootprint_Bellossom,
|
||||
// [SPECIES_MARILL] = gMonFootprint_Marill,
|
||||
// [SPECIES_AZUMARILL] = gMonFootprint_Azumarill,
|
||||
// [SPECIES_SUDOWOODO] = gMonFootprint_Sudowoodo,
|
||||
// [SPECIES_POLITOED] = gMonFootprint_Politoed,
|
||||
// [SPECIES_HOPPIP] = gMonFootprint_Hoppip,
|
||||
// [SPECIES_SKIPLOOM] = gMonFootprint_Skiploom,
|
||||
// [SPECIES_JUMPLUFF] = gMonFootprint_Jumpluff,
|
||||
// [SPECIES_AIPOM] = gMonFootprint_Aipom,
|
||||
// [SPECIES_SUNKERN] = gMonFootprint_Sunkern,
|
||||
// [SPECIES_SUNFLORA] = gMonFootprint_Sunflora,
|
||||
// [SPECIES_YANMA] = gMonFootprint_Yanma,
|
||||
// [SPECIES_WOOPER] = gMonFootprint_Wooper,
|
||||
// [SPECIES_QUAGSIRE] = gMonFootprint_Quagsire,
|
||||
// [SPECIES_ESPEON] = gMonFootprint_Espeon,
|
||||
// [SPECIES_UMBREON] = gMonFootprint_Umbreon,
|
||||
// [SPECIES_MURKROW] = gMonFootprint_Murkrow,
|
||||
// [SPECIES_SLOWKING] = gMonFootprint_Slowking,
|
||||
// [SPECIES_MISDREAVUS] = gMonFootprint_Misdreavus,
|
||||
// [SPECIES_UNOWN] = gMonFootprint_Unown,
|
||||
// [SPECIES_WOBBUFFET] = gMonFootprint_Wobbuffet,
|
||||
// [SPECIES_GIRAFARIG] = gMonFootprint_Girafarig,
|
||||
// [SPECIES_PINECO] = gMonFootprint_Pineco,
|
||||
// [SPECIES_FORRETRESS] = gMonFootprint_Forretress,
|
||||
// [SPECIES_DUNSPARCE] = gMonFootprint_Dunsparce,
|
||||
// [SPECIES_GLIGAR] = gMonFootprint_Gligar,
|
||||
// [SPECIES_STEELIX] = gMonFootprint_Steelix,
|
||||
// [SPECIES_SNUBBULL] = gMonFootprint_Snubbull,
|
||||
// [SPECIES_GRANBULL] = gMonFootprint_Granbull,
|
||||
// [SPECIES_QWILFISH] = gMonFootprint_Qwilfish,
|
||||
// [SPECIES_SCIZOR] = gMonFootprint_Scizor,
|
||||
// [SPECIES_SHUCKLE] = gMonFootprint_Shuckle,
|
||||
// [SPECIES_HERACROSS] = gMonFootprint_Heracross,
|
||||
// [SPECIES_SNEASEL] = gMonFootprint_Sneasel,
|
||||
// [SPECIES_TEDDIURSA] = gMonFootprint_Teddiursa,
|
||||
// [SPECIES_URSARING] = gMonFootprint_Ursaring,
|
||||
// [SPECIES_SLUGMA] = gMonFootprint_Slugma,
|
||||
// [SPECIES_MAGCARGO] = gMonFootprint_Magcargo,
|
||||
// [SPECIES_SWINUB] = gMonFootprint_Swinub,
|
||||
// [SPECIES_PILOSWINE] = gMonFootprint_Piloswine,
|
||||
// [SPECIES_CORSOLA] = gMonFootprint_Corsola,
|
||||
// [SPECIES_REMORAID] = gMonFootprint_Remoraid,
|
||||
// [SPECIES_OCTILLERY] = gMonFootprint_Octillery,
|
||||
// [SPECIES_DELIBIRD] = gMonFootprint_Delibird,
|
||||
// [SPECIES_MANTINE] = gMonFootprint_Mantine,
|
||||
// [SPECIES_SKARMORY] = gMonFootprint_Skarmory,
|
||||
// [SPECIES_HOUNDOUR] = gMonFootprint_Houndour,
|
||||
// [SPECIES_HOUNDOOM] = gMonFootprint_Houndoom,
|
||||
// [SPECIES_KINGDRA] = gMonFootprint_Kingdra,
|
||||
// [SPECIES_PHANPY] = gMonFootprint_Phanpy,
|
||||
// [SPECIES_DONPHAN] = gMonFootprint_Donphan,
|
||||
// [SPECIES_PORYGON2] = gMonFootprint_Porygon2,
|
||||
// [SPECIES_STANTLER] = gMonFootprint_Stantler,
|
||||
// [SPECIES_SMEARGLE] = gMonFootprint_Smeargle,
|
||||
// [SPECIES_TYROGUE] = gMonFootprint_Tyrogue,
|
||||
// [SPECIES_HITMONTOP] = gMonFootprint_Hitmontop,
|
||||
// [SPECIES_SMOOCHUM] = gMonFootprint_Smoochum,
|
||||
// [SPECIES_ELEKID] = gMonFootprint_Elekid,
|
||||
// [SPECIES_MAGBY] = gMonFootprint_Magby,
|
||||
// [SPECIES_MILTANK] = gMonFootprint_Miltank,
|
||||
// [SPECIES_BLISSEY] = gMonFootprint_Blissey,
|
||||
// [SPECIES_RAIKOU] = gMonFootprint_Raikou,
|
||||
// [SPECIES_ENTEI] = gMonFootprint_Entei,
|
||||
// [SPECIES_SUICUNE] = gMonFootprint_Suicune,
|
||||
// [SPECIES_LARVITAR] = gMonFootprint_Larvitar,
|
||||
// [SPECIES_PUPITAR] = gMonFootprint_Pupitar,
|
||||
// [SPECIES_TYRANITAR] = gMonFootprint_Tyranitar,
|
||||
// [SPECIES_LUGIA] = gMonFootprint_Lugia,
|
||||
// [SPECIES_HO_OH] = gMonFootprint_HoOh,
|
||||
// [SPECIES_CELEBI] = gMonFootprint_Celebi,
|
||||
// [SPECIES_OLD_UNOWN_B] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_C] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_D] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_E] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_F] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_G] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_H] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_I] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_J] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_K] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_L] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_M] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_N] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_O] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_P] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_Q] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_R] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_S] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_T] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_U] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_V] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_W] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_X] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_Y] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_Z] = gMonFootprint_QuestionMark,
|
||||
// [SPECIES_TREECKO] = gMonFootprint_Treecko,
|
||||
// [SPECIES_GROVYLE] = gMonFootprint_Grovyle,
|
||||
// [SPECIES_SCEPTILE] = gMonFootprint_Sceptile,
|
||||
// [SPECIES_TORCHIC] = gMonFootprint_Torchic,
|
||||
// [SPECIES_COMBUSKEN] = gMonFootprint_Combusken,
|
||||
// [SPECIES_BLAZIKEN] = gMonFootprint_Blaziken,
|
||||
// [SPECIES_MUDKIP] = gMonFootprint_Mudkip,
|
||||
// [SPECIES_MARSHTOMP] = gMonFootprint_Marshtomp,
|
||||
// [SPECIES_SWAMPERT] = gMonFootprint_Swampert,
|
||||
// [SPECIES_POOCHYENA] = gMonFootprint_Poochyena,
|
||||
// [SPECIES_MIGHTYENA] = gMonFootprint_Mightyena,
|
||||
// [SPECIES_ZIGZAGOON] = gMonFootprint_Zigzagoon,
|
||||
// [SPECIES_LINOONE] = gMonFootprint_Linoone,
|
||||
// [SPECIES_WURMPLE] = gMonFootprint_Wurmple,
|
||||
// [SPECIES_SILCOON] = gMonFootprint_Silcoon,
|
||||
// [SPECIES_BEAUTIFLY] = gMonFootprint_Beautifly,
|
||||
// [SPECIES_CASCOON] = gMonFootprint_Cascoon,
|
||||
// [SPECIES_DUSTOX] = gMonFootprint_Dustox,
|
||||
// [SPECIES_LOTAD] = gMonFootprint_Lotad,
|
||||
// [SPECIES_LOMBRE] = gMonFootprint_Lombre,
|
||||
// [SPECIES_LUDICOLO] = gMonFootprint_Ludicolo,
|
||||
// [SPECIES_SEEDOT] = gMonFootprint_Seedot,
|
||||
// [SPECIES_NUZLEAF] = gMonFootprint_Nuzleaf,
|
||||
// [SPECIES_SHIFTRY] = gMonFootprint_Shiftry,
|
||||
// [SPECIES_NINCADA] = gMonFootprint_Nincada,
|
||||
// [SPECIES_NINJASK] = gMonFootprint_Ninjask,
|
||||
// [SPECIES_SHEDINJA] = gMonFootprint_Shedinja,
|
||||
// [SPECIES_TAILLOW] = gMonFootprint_Taillow,
|
||||
// [SPECIES_SWELLOW] = gMonFootprint_Swellow,
|
||||
// [SPECIES_SHROOMISH] = gMonFootprint_Shroomish,
|
||||
// [SPECIES_BRELOOM] = gMonFootprint_Breloom,
|
||||
// [SPECIES_SPINDA] = gMonFootprint_Spinda,
|
||||
// [SPECIES_WINGULL] = gMonFootprint_Wingull,
|
||||
// [SPECIES_PELIPPER] = gMonFootprint_Pelipper,
|
||||
// [SPECIES_SURSKIT] = gMonFootprint_Surskit,
|
||||
// [SPECIES_MASQUERAIN] = gMonFootprint_Masquerain,
|
||||
// [SPECIES_WAILMER] = gMonFootprint_Wailmer,
|
||||
// [SPECIES_WAILORD] = gMonFootprint_Wailord,
|
||||
// [SPECIES_SKITTY] = gMonFootprint_Skitty,
|
||||
// [SPECIES_DELCATTY] = gMonFootprint_Delcatty,
|
||||
// [SPECIES_KECLEON] = gMonFootprint_Kecleon,
|
||||
// [SPECIES_BALTOY] = gMonFootprint_Baltoy,
|
||||
// [SPECIES_CLAYDOL] = gMonFootprint_Claydol,
|
||||
// [SPECIES_NOSEPASS] = gMonFootprint_Nosepass,
|
||||
// [SPECIES_TORKOAL] = gMonFootprint_Torkoal,
|
||||
// [SPECIES_SABLEYE] = gMonFootprint_Sableye,
|
||||
// [SPECIES_BARBOACH] = gMonFootprint_Barboach,
|
||||
// [SPECIES_WHISCASH] = gMonFootprint_Whiscash,
|
||||
// [SPECIES_LUVDISC] = gMonFootprint_Luvdisc,
|
||||
// [SPECIES_CORPHISH] = gMonFootprint_Corphish,
|
||||
// [SPECIES_CRAWDAUNT] = gMonFootprint_Crawdaunt,
|
||||
// [SPECIES_FEEBAS] = gMonFootprint_Feebas,
|
||||
// [SPECIES_MILOTIC] = gMonFootprint_Milotic,
|
||||
// [SPECIES_CARVANHA] = gMonFootprint_Carvanha,
|
||||
// [SPECIES_SHARPEDO] = gMonFootprint_Sharpedo,
|
||||
// [SPECIES_TRAPINCH] = gMonFootprint_Trapinch,
|
||||
// [SPECIES_VIBRAVA] = gMonFootprint_Vibrava,
|
||||
// [SPECIES_FLYGON] = gMonFootprint_Flygon,
|
||||
// [SPECIES_MAKUHITA] = gMonFootprint_Makuhita,
|
||||
// [SPECIES_HARIYAMA] = gMonFootprint_Hariyama,
|
||||
// [SPECIES_ELECTRIKE] = gMonFootprint_Electrike,
|
||||
// [SPECIES_MANECTRIC] = gMonFootprint_Manectric,
|
||||
// [SPECIES_NUMEL] = gMonFootprint_Numel,
|
||||
// [SPECIES_CAMERUPT] = gMonFootprint_Camerupt,
|
||||
// [SPECIES_SPHEAL] = gMonFootprint_Spheal,
|
||||
// [SPECIES_SEALEO] = gMonFootprint_Sealeo,
|
||||
// [SPECIES_WALREIN] = gMonFootprint_Walrein,
|
||||
// [SPECIES_CACNEA] = gMonFootprint_Cacnea,
|
||||
// [SPECIES_CACTURNE] = gMonFootprint_Cacturne,
|
||||
// [SPECIES_SNORUNT] = gMonFootprint_Snorunt,
|
||||
// [SPECIES_GLALIE] = gMonFootprint_Glalie,
|
||||
// [SPECIES_LUNATONE] = gMonFootprint_Lunatone,
|
||||
// [SPECIES_SOLROCK] = gMonFootprint_Solrock,
|
||||
// [SPECIES_AZURILL] = gMonFootprint_Azurill,
|
||||
// [SPECIES_SPOINK] = gMonFootprint_Spoink,
|
||||
// [SPECIES_GRUMPIG] = gMonFootprint_Grumpig,
|
||||
// [SPECIES_PLUSLE] = gMonFootprint_Plusle,
|
||||
// [SPECIES_MINUN] = gMonFootprint_Minun,
|
||||
// [SPECIES_MAWILE] = gMonFootprint_Mawile,
|
||||
// [SPECIES_MEDITITE] = gMonFootprint_Meditite,
|
||||
// [SPECIES_MEDICHAM] = gMonFootprint_Medicham,
|
||||
// [SPECIES_SWABLU] = gMonFootprint_Swablu,
|
||||
// [SPECIES_ALTARIA] = gMonFootprint_Altaria,
|
||||
// [SPECIES_WYNAUT] = gMonFootprint_Wynaut,
|
||||
// [SPECIES_DUSKULL] = gMonFootprint_Duskull,
|
||||
// [SPECIES_DUSCLOPS] = gMonFootprint_Dusclops,
|
||||
// [SPECIES_ROSELIA] = gMonFootprint_Roselia,
|
||||
// [SPECIES_SLAKOTH] = gMonFootprint_Slakoth,
|
||||
// [SPECIES_VIGOROTH] = gMonFootprint_Vigoroth,
|
||||
// [SPECIES_SLAKING] = gMonFootprint_Slaking,
|
||||
// [SPECIES_GULPIN] = gMonFootprint_Gulpin,
|
||||
// [SPECIES_SWALOT] = gMonFootprint_Swalot,
|
||||
// [SPECIES_TROPIUS] = gMonFootprint_Tropius,
|
||||
// [SPECIES_WHISMUR] = gMonFootprint_Whismur,
|
||||
// [SPECIES_LOUDRED] = gMonFootprint_Loudred,
|
||||
// [SPECIES_EXPLOUD] = gMonFootprint_Exploud,
|
||||
// [SPECIES_CLAMPERL] = gMonFootprint_Clamperl,
|
||||
// [SPECIES_HUNTAIL] = gMonFootprint_Huntail,
|
||||
// [SPECIES_GOREBYSS] = gMonFootprint_Gorebyss,
|
||||
// [SPECIES_ABSOL] = gMonFootprint_Absol,
|
||||
// [SPECIES_SHUPPET] = gMonFootprint_Shuppet,
|
||||
// [SPECIES_BANETTE] = gMonFootprint_Banette,
|
||||
// [SPECIES_SEVIPER] = gMonFootprint_Seviper,
|
||||
// [SPECIES_ZANGOOSE] = gMonFootprint_Zangoose,
|
||||
// [SPECIES_RELICANTH] = gMonFootprint_Relicanth,
|
||||
// [SPECIES_ARON] = gMonFootprint_Aron,
|
||||
// [SPECIES_LAIRON] = gMonFootprint_Lairon,
|
||||
// [SPECIES_AGGRON] = gMonFootprint_Aggron,
|
||||
// [SPECIES_CASTFORM] = gMonFootprint_Castform,
|
||||
// [SPECIES_VOLBEAT] = gMonFootprint_Volbeat,
|
||||
// [SPECIES_ILLUMISE] = gMonFootprint_Illumise,
|
||||
// [SPECIES_LILEEP] = gMonFootprint_Lileep,
|
||||
// [SPECIES_CRADILY] = gMonFootprint_Cradily,
|
||||
// [SPECIES_ANORITH] = gMonFootprint_Anorith,
|
||||
// [SPECIES_ARMALDO] = gMonFootprint_Armaldo,
|
||||
// [SPECIES_RALTS] = gMonFootprint_Ralts,
|
||||
// [SPECIES_KIRLIA] = gMonFootprint_Kirlia,
|
||||
// [SPECIES_GARDEVOIR] = gMonFootprint_Gardevoir,
|
||||
// [SPECIES_BAGON] = gMonFootprint_Bagon,
|
||||
// [SPECIES_SHELGON] = gMonFootprint_Shelgon,
|
||||
// [SPECIES_SALAMENCE] = gMonFootprint_Salamence,
|
||||
// [SPECIES_BELDUM] = gMonFootprint_Beldum,
|
||||
// [SPECIES_METANG] = gMonFootprint_Metang,
|
||||
// [SPECIES_METAGROSS] = gMonFootprint_Metagross,
|
||||
// [SPECIES_REGIROCK] = gMonFootprint_Regirock,
|
||||
// [SPECIES_REGICE] = gMonFootprint_Regice,
|
||||
// [SPECIES_REGISTEEL] = gMonFootprint_Registeel,
|
||||
// [SPECIES_KYOGRE] = gMonFootprint_Kyogre,
|
||||
// [SPECIES_GROUDON] = gMonFootprint_Groudon,
|
||||
// [SPECIES_RAYQUAZA] = gMonFootprint_Rayquaza,
|
||||
// [SPECIES_LATIAS] = gMonFootprint_Latias,
|
||||
// [SPECIES_LATIOS] = gMonFootprint_Latios,
|
||||
// [SPECIES_JIRACHI] = gMonFootprint_Jirachi,
|
||||
// [SPECIES_DEOXYS] = gMonFootprint_Deoxys,
|
||||
// [SPECIES_CHIMECHO] = gMonFootprint_Chimecho,
|
||||
// [SPECIES_EGG] = gMonFootprint_Bulbasaur,
|
||||
// };
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,443 +0,0 @@
|
|||
// const struct CompressedSpriteSheet gMonFrontPicTable[] =
|
||||
// {
|
||||
// SPECIES_SPRITE(NONE, gMonFrontPic_CircledQuestionMark),
|
||||
// SPECIES_SPRITE(BULBASAUR, gMonFrontPic_Bulbasaur),
|
||||
// SPECIES_SPRITE(IVYSAUR, gMonFrontPic_Ivysaur),
|
||||
// SPECIES_SPRITE(VENUSAUR, gMonFrontPic_Venusaur),
|
||||
// SPECIES_SPRITE(CHARMANDER, gMonFrontPic_Charmander),
|
||||
// SPECIES_SPRITE(CHARMELEON, gMonFrontPic_Charmeleon),
|
||||
// SPECIES_SPRITE(CHARIZARD, gMonFrontPic_Charizard),
|
||||
// SPECIES_SPRITE(SQUIRTLE, gMonFrontPic_Squirtle),
|
||||
// SPECIES_SPRITE(WARTORTLE, gMonFrontPic_Wartortle),
|
||||
// SPECIES_SPRITE(BLASTOISE, gMonFrontPic_Blastoise),
|
||||
// SPECIES_SPRITE(CATERPIE, gMonFrontPic_Caterpie),
|
||||
// SPECIES_SPRITE(METAPOD, gMonFrontPic_Metapod),
|
||||
// SPECIES_SPRITE(BUTTERFREE, gMonFrontPic_Butterfree),
|
||||
// SPECIES_SPRITE(WEEDLE, gMonFrontPic_Weedle),
|
||||
// SPECIES_SPRITE(KAKUNA, gMonFrontPic_Kakuna),
|
||||
// SPECIES_SPRITE(BEEDRILL, gMonFrontPic_Beedrill),
|
||||
// SPECIES_SPRITE(PIDGEY, gMonFrontPic_Pidgey),
|
||||
// SPECIES_SPRITE(PIDGEOTTO, gMonFrontPic_Pidgeotto),
|
||||
// SPECIES_SPRITE(PIDGEOT, gMonFrontPic_Pidgeot),
|
||||
// SPECIES_SPRITE(RATTATA, gMonFrontPic_Rattata),
|
||||
// SPECIES_SPRITE(RATICATE, gMonFrontPic_Raticate),
|
||||
// SPECIES_SPRITE(SPEAROW, gMonFrontPic_Spearow),
|
||||
// SPECIES_SPRITE(FEAROW, gMonFrontPic_Fearow),
|
||||
// SPECIES_SPRITE(EKANS, gMonFrontPic_Ekans),
|
||||
// SPECIES_SPRITE(ARBOK, gMonFrontPic_Arbok),
|
||||
// SPECIES_SPRITE(PIKACHU, gMonFrontPic_Pikachu),
|
||||
// SPECIES_SPRITE(RAICHU, gMonFrontPic_Raichu),
|
||||
// SPECIES_SPRITE(SANDSHREW, gMonFrontPic_Sandshrew),
|
||||
// SPECIES_SPRITE(SANDSLASH, gMonFrontPic_Sandslash),
|
||||
// SPECIES_SPRITE(NIDORAN_F, gMonFrontPic_NidoranF),
|
||||
// SPECIES_SPRITE(NIDORINA, gMonFrontPic_Nidorina),
|
||||
// SPECIES_SPRITE(NIDOQUEEN, gMonFrontPic_Nidoqueen),
|
||||
// SPECIES_SPRITE(NIDORAN_M, gMonFrontPic_NidoranM),
|
||||
// SPECIES_SPRITE(NIDORINO, gMonFrontPic_Nidorino),
|
||||
// SPECIES_SPRITE(NIDOKING, gMonFrontPic_Nidoking),
|
||||
// SPECIES_SPRITE(CLEFAIRY, gMonFrontPic_Clefairy),
|
||||
// SPECIES_SPRITE(CLEFABLE, gMonFrontPic_Clefable),
|
||||
// SPECIES_SPRITE(VULPIX, gMonFrontPic_Vulpix),
|
||||
// SPECIES_SPRITE(NINETALES, gMonFrontPic_Ninetales),
|
||||
// SPECIES_SPRITE(JIGGLYPUFF, gMonFrontPic_Jigglypuff),
|
||||
// SPECIES_SPRITE(WIGGLYTUFF, gMonFrontPic_Wigglytuff),
|
||||
// SPECIES_SPRITE(ZUBAT, gMonFrontPic_Zubat),
|
||||
// SPECIES_SPRITE(GOLBAT, gMonFrontPic_Golbat),
|
||||
// SPECIES_SPRITE(ODDISH, gMonFrontPic_Oddish),
|
||||
// SPECIES_SPRITE(GLOOM, gMonFrontPic_Gloom),
|
||||
// SPECIES_SPRITE(VILEPLUME, gMonFrontPic_Vileplume),
|
||||
// SPECIES_SPRITE(PARAS, gMonFrontPic_Paras),
|
||||
// SPECIES_SPRITE(PARASECT, gMonFrontPic_Parasect),
|
||||
// SPECIES_SPRITE(VENONAT, gMonFrontPic_Venonat),
|
||||
// SPECIES_SPRITE(VENOMOTH, gMonFrontPic_Venomoth),
|
||||
// SPECIES_SPRITE(DIGLETT, gMonFrontPic_Diglett),
|
||||
// SPECIES_SPRITE(DUGTRIO, gMonFrontPic_Dugtrio),
|
||||
// SPECIES_SPRITE(MEOWTH, gMonFrontPic_Meowth),
|
||||
// SPECIES_SPRITE(PERSIAN, gMonFrontPic_Persian),
|
||||
// SPECIES_SPRITE(PSYDUCK, gMonFrontPic_Psyduck),
|
||||
// SPECIES_SPRITE(GOLDUCK, gMonFrontPic_Golduck),
|
||||
// SPECIES_SPRITE(MANKEY, gMonFrontPic_Mankey),
|
||||
// SPECIES_SPRITE(PRIMEAPE, gMonFrontPic_Primeape),
|
||||
// SPECIES_SPRITE(GROWLITHE, gMonFrontPic_Growlithe),
|
||||
// SPECIES_SPRITE(ARCANINE, gMonFrontPic_Arcanine),
|
||||
// SPECIES_SPRITE(POLIWAG, gMonFrontPic_Poliwag),
|
||||
// SPECIES_SPRITE(POLIWHIRL, gMonFrontPic_Poliwhirl),
|
||||
// SPECIES_SPRITE(POLIWRATH, gMonFrontPic_Poliwrath),
|
||||
// SPECIES_SPRITE(ABRA, gMonFrontPic_Abra),
|
||||
// SPECIES_SPRITE(KADABRA, gMonFrontPic_Kadabra),
|
||||
// SPECIES_SPRITE(ALAKAZAM, gMonFrontPic_Alakazam),
|
||||
// SPECIES_SPRITE(MACHOP, gMonFrontPic_Machop),
|
||||
// SPECIES_SPRITE(MACHOKE, gMonFrontPic_Machoke),
|
||||
// SPECIES_SPRITE(MACHAMP, gMonFrontPic_Machamp),
|
||||
// SPECIES_SPRITE(BELLSPROUT, gMonFrontPic_Bellsprout),
|
||||
// SPECIES_SPRITE(WEEPINBELL, gMonFrontPic_Weepinbell),
|
||||
// SPECIES_SPRITE(VICTREEBEL, gMonFrontPic_Victreebel),
|
||||
// SPECIES_SPRITE(TENTACOOL, gMonFrontPic_Tentacool),
|
||||
// SPECIES_SPRITE(TENTACRUEL, gMonFrontPic_Tentacruel),
|
||||
// SPECIES_SPRITE(GEODUDE, gMonFrontPic_Geodude),
|
||||
// SPECIES_SPRITE(GRAVELER, gMonFrontPic_Graveler),
|
||||
// SPECIES_SPRITE(GOLEM, gMonFrontPic_Golem),
|
||||
// SPECIES_SPRITE(PONYTA, gMonFrontPic_Ponyta),
|
||||
// SPECIES_SPRITE(RAPIDASH, gMonFrontPic_Rapidash),
|
||||
// SPECIES_SPRITE(SLOWPOKE, gMonFrontPic_Slowpoke),
|
||||
// SPECIES_SPRITE(SLOWBRO, gMonFrontPic_Slowbro),
|
||||
// SPECIES_SPRITE(MAGNEMITE, gMonFrontPic_Magnemite),
|
||||
// SPECIES_SPRITE(MAGNETON, gMonFrontPic_Magneton),
|
||||
// SPECIES_SPRITE(FARFETCHD, gMonFrontPic_Farfetchd),
|
||||
// SPECIES_SPRITE(DODUO, gMonFrontPic_Doduo),
|
||||
// SPECIES_SPRITE(DODRIO, gMonFrontPic_Dodrio),
|
||||
// SPECIES_SPRITE(SEEL, gMonFrontPic_Seel),
|
||||
// SPECIES_SPRITE(DEWGONG, gMonFrontPic_Dewgong),
|
||||
// SPECIES_SPRITE(GRIMER, gMonFrontPic_Grimer),
|
||||
// SPECIES_SPRITE(MUK, gMonFrontPic_Muk),
|
||||
// SPECIES_SPRITE(SHELLDER, gMonFrontPic_Shellder),
|
||||
// SPECIES_SPRITE(CLOYSTER, gMonFrontPic_Cloyster),
|
||||
// SPECIES_SPRITE(GASTLY, gMonFrontPic_Gastly),
|
||||
// SPECIES_SPRITE(HAUNTER, gMonFrontPic_Haunter),
|
||||
// SPECIES_SPRITE(GENGAR, gMonFrontPic_Gengar),
|
||||
// SPECIES_SPRITE(ONIX, gMonFrontPic_Onix),
|
||||
// SPECIES_SPRITE(DROWZEE, gMonFrontPic_Drowzee),
|
||||
// SPECIES_SPRITE(HYPNO, gMonFrontPic_Hypno),
|
||||
// SPECIES_SPRITE(KRABBY, gMonFrontPic_Krabby),
|
||||
// SPECIES_SPRITE(KINGLER, gMonFrontPic_Kingler),
|
||||
// SPECIES_SPRITE(VOLTORB, gMonFrontPic_Voltorb),
|
||||
// SPECIES_SPRITE(ELECTRODE, gMonFrontPic_Electrode),
|
||||
// SPECIES_SPRITE(EXEGGCUTE, gMonFrontPic_Exeggcute),
|
||||
// SPECIES_SPRITE(EXEGGUTOR, gMonFrontPic_Exeggutor),
|
||||
// SPECIES_SPRITE(CUBONE, gMonFrontPic_Cubone),
|
||||
// SPECIES_SPRITE(MAROWAK, gMonFrontPic_Marowak),
|
||||
// SPECIES_SPRITE(HITMONLEE, gMonFrontPic_Hitmonlee),
|
||||
// SPECIES_SPRITE(HITMONCHAN, gMonFrontPic_Hitmonchan),
|
||||
// SPECIES_SPRITE(LICKITUNG, gMonFrontPic_Lickitung),
|
||||
// SPECIES_SPRITE(KOFFING, gMonFrontPic_Koffing),
|
||||
// SPECIES_SPRITE(WEEZING, gMonFrontPic_Weezing),
|
||||
// SPECIES_SPRITE(RHYHORN, gMonFrontPic_Rhyhorn),
|
||||
// SPECIES_SPRITE(RHYDON, gMonFrontPic_Rhydon),
|
||||
// SPECIES_SPRITE(CHANSEY, gMonFrontPic_Chansey),
|
||||
// SPECIES_SPRITE(TANGELA, gMonFrontPic_Tangela),
|
||||
// SPECIES_SPRITE(KANGASKHAN, gMonFrontPic_Kangaskhan),
|
||||
// SPECIES_SPRITE(HORSEA, gMonFrontPic_Horsea),
|
||||
// SPECIES_SPRITE(SEADRA, gMonFrontPic_Seadra),
|
||||
// SPECIES_SPRITE(GOLDEEN, gMonFrontPic_Goldeen),
|
||||
// SPECIES_SPRITE(SEAKING, gMonFrontPic_Seaking),
|
||||
// SPECIES_SPRITE(STARYU, gMonFrontPic_Staryu),
|
||||
// SPECIES_SPRITE(STARMIE, gMonFrontPic_Starmie),
|
||||
// SPECIES_SPRITE(MR_MIME, gMonFrontPic_Mrmime),
|
||||
// SPECIES_SPRITE(SCYTHER, gMonFrontPic_Scyther),
|
||||
// SPECIES_SPRITE(JYNX, gMonFrontPic_Jynx),
|
||||
// SPECIES_SPRITE(ELECTABUZZ, gMonFrontPic_Electabuzz),
|
||||
// SPECIES_SPRITE(MAGMAR, gMonFrontPic_Magmar),
|
||||
// SPECIES_SPRITE(PINSIR, gMonFrontPic_Pinsir),
|
||||
// SPECIES_SPRITE(TAUROS, gMonFrontPic_Tauros),
|
||||
// SPECIES_SPRITE(MAGIKARP, gMonFrontPic_Magikarp),
|
||||
// SPECIES_SPRITE(GYARADOS, gMonFrontPic_Gyarados),
|
||||
// SPECIES_SPRITE(LAPRAS, gMonFrontPic_Lapras),
|
||||
// SPECIES_SPRITE(DITTO, gMonFrontPic_Ditto),
|
||||
// SPECIES_SPRITE(EEVEE, gMonFrontPic_Eevee),
|
||||
// SPECIES_SPRITE(VAPOREON, gMonFrontPic_Vaporeon),
|
||||
// SPECIES_SPRITE(JOLTEON, gMonFrontPic_Jolteon),
|
||||
// SPECIES_SPRITE(FLAREON, gMonFrontPic_Flareon),
|
||||
// SPECIES_SPRITE(PORYGON, gMonFrontPic_Porygon),
|
||||
// SPECIES_SPRITE(OMANYTE, gMonFrontPic_Omanyte),
|
||||
// SPECIES_SPRITE(OMASTAR, gMonFrontPic_Omastar),
|
||||
// SPECIES_SPRITE(KABUTO, gMonFrontPic_Kabuto),
|
||||
// SPECIES_SPRITE(KABUTOPS, gMonFrontPic_Kabutops),
|
||||
// SPECIES_SPRITE(AERODACTYL, gMonFrontPic_Aerodactyl),
|
||||
// SPECIES_SPRITE(SNORLAX, gMonFrontPic_Snorlax),
|
||||
// SPECIES_SPRITE(ARTICUNO, gMonFrontPic_Articuno),
|
||||
// SPECIES_SPRITE(ZAPDOS, gMonFrontPic_Zapdos),
|
||||
// SPECIES_SPRITE(MOLTRES, gMonFrontPic_Moltres),
|
||||
// SPECIES_SPRITE(DRATINI, gMonFrontPic_Dratini),
|
||||
// SPECIES_SPRITE(DRAGONAIR, gMonFrontPic_Dragonair),
|
||||
// SPECIES_SPRITE(DRAGONITE, gMonFrontPic_Dragonite),
|
||||
// SPECIES_SPRITE(MEWTWO, gMonFrontPic_Mewtwo),
|
||||
// SPECIES_SPRITE(MEW, gMonFrontPic_Mew),
|
||||
// SPECIES_SPRITE(CHIKORITA, gMonFrontPic_Chikorita),
|
||||
// SPECIES_SPRITE(BAYLEEF, gMonFrontPic_Bayleef),
|
||||
// SPECIES_SPRITE(MEGANIUM, gMonFrontPic_Meganium),
|
||||
// SPECIES_SPRITE(CYNDAQUIL, gMonFrontPic_Cyndaquil),
|
||||
// SPECIES_SPRITE(QUILAVA, gMonFrontPic_Quilava),
|
||||
// SPECIES_SPRITE(TYPHLOSION, gMonFrontPic_Typhlosion),
|
||||
// SPECIES_SPRITE(TOTODILE, gMonFrontPic_Totodile),
|
||||
// SPECIES_SPRITE(CROCONAW, gMonFrontPic_Croconaw),
|
||||
// SPECIES_SPRITE(FERALIGATR, gMonFrontPic_Feraligatr),
|
||||
// SPECIES_SPRITE(SENTRET, gMonFrontPic_Sentret),
|
||||
// SPECIES_SPRITE(FURRET, gMonFrontPic_Furret),
|
||||
// SPECIES_SPRITE(HOOTHOOT, gMonFrontPic_Hoothoot),
|
||||
// SPECIES_SPRITE(NOCTOWL, gMonFrontPic_Noctowl),
|
||||
// SPECIES_SPRITE(LEDYBA, gMonFrontPic_Ledyba),
|
||||
// SPECIES_SPRITE(LEDIAN, gMonFrontPic_Ledian),
|
||||
// SPECIES_SPRITE(SPINARAK, gMonFrontPic_Spinarak),
|
||||
// SPECIES_SPRITE(ARIADOS, gMonFrontPic_Ariados),
|
||||
// SPECIES_SPRITE(CROBAT, gMonFrontPic_Crobat),
|
||||
// SPECIES_SPRITE(CHINCHOU, gMonFrontPic_Chinchou),
|
||||
// SPECIES_SPRITE(LANTURN, gMonFrontPic_Lanturn),
|
||||
// SPECIES_SPRITE(PICHU, gMonFrontPic_Pichu),
|
||||
// SPECIES_SPRITE(CLEFFA, gMonFrontPic_Cleffa),
|
||||
// SPECIES_SPRITE(IGGLYBUFF, gMonFrontPic_Igglybuff),
|
||||
// SPECIES_SPRITE(TOGEPI, gMonFrontPic_Togepi),
|
||||
// SPECIES_SPRITE(TOGETIC, gMonFrontPic_Togetic),
|
||||
// SPECIES_SPRITE(NATU, gMonFrontPic_Natu),
|
||||
// SPECIES_SPRITE(XATU, gMonFrontPic_Xatu),
|
||||
// SPECIES_SPRITE(MAREEP, gMonFrontPic_Mareep),
|
||||
// SPECIES_SPRITE(FLAAFFY, gMonFrontPic_Flaaffy),
|
||||
// SPECIES_SPRITE(AMPHAROS, gMonFrontPic_Ampharos),
|
||||
// SPECIES_SPRITE(BELLOSSOM, gMonFrontPic_Bellossom),
|
||||
// SPECIES_SPRITE(MARILL, gMonFrontPic_Marill),
|
||||
// SPECIES_SPRITE(AZUMARILL, gMonFrontPic_Azumarill),
|
||||
// SPECIES_SPRITE(SUDOWOODO, gMonFrontPic_Sudowoodo),
|
||||
// SPECIES_SPRITE(POLITOED, gMonFrontPic_Politoed),
|
||||
// SPECIES_SPRITE(HOPPIP, gMonFrontPic_Hoppip),
|
||||
// SPECIES_SPRITE(SKIPLOOM, gMonFrontPic_Skiploom),
|
||||
// SPECIES_SPRITE(JUMPLUFF, gMonFrontPic_Jumpluff),
|
||||
// SPECIES_SPRITE(AIPOM, gMonFrontPic_Aipom),
|
||||
// SPECIES_SPRITE(SUNKERN, gMonFrontPic_Sunkern),
|
||||
// SPECIES_SPRITE(SUNFLORA, gMonFrontPic_Sunflora),
|
||||
// SPECIES_SPRITE(YANMA, gMonFrontPic_Yanma),
|
||||
// SPECIES_SPRITE(WOOPER, gMonFrontPic_Wooper),
|
||||
// SPECIES_SPRITE(QUAGSIRE, gMonFrontPic_Quagsire),
|
||||
// SPECIES_SPRITE(ESPEON, gMonFrontPic_Espeon),
|
||||
// SPECIES_SPRITE(UMBREON, gMonFrontPic_Umbreon),
|
||||
// SPECIES_SPRITE(MURKROW, gMonFrontPic_Murkrow),
|
||||
// SPECIES_SPRITE(SLOWKING, gMonFrontPic_Slowking),
|
||||
// SPECIES_SPRITE(MISDREAVUS, gMonFrontPic_Misdreavus),
|
||||
// SPECIES_SPRITE(UNOWN, gMonFrontPic_UnownA),
|
||||
// SPECIES_SPRITE(WOBBUFFET, gMonFrontPic_Wobbuffet),
|
||||
// SPECIES_SPRITE(GIRAFARIG, gMonFrontPic_Girafarig),
|
||||
// SPECIES_SPRITE(PINECO, gMonFrontPic_Pineco),
|
||||
// SPECIES_SPRITE(FORRETRESS, gMonFrontPic_Forretress),
|
||||
// SPECIES_SPRITE(DUNSPARCE, gMonFrontPic_Dunsparce),
|
||||
// SPECIES_SPRITE(GLIGAR, gMonFrontPic_Gligar),
|
||||
// SPECIES_SPRITE(STEELIX, gMonFrontPic_Steelix),
|
||||
// SPECIES_SPRITE(SNUBBULL, gMonFrontPic_Snubbull),
|
||||
// SPECIES_SPRITE(GRANBULL, gMonFrontPic_Granbull),
|
||||
// SPECIES_SPRITE(QWILFISH, gMonFrontPic_Qwilfish),
|
||||
// SPECIES_SPRITE(SCIZOR, gMonFrontPic_Scizor),
|
||||
// SPECIES_SPRITE(SHUCKLE, gMonFrontPic_Shuckle),
|
||||
// SPECIES_SPRITE(HERACROSS, gMonFrontPic_Heracross),
|
||||
// SPECIES_SPRITE(SNEASEL, gMonFrontPic_Sneasel),
|
||||
// SPECIES_SPRITE(TEDDIURSA, gMonFrontPic_Teddiursa),
|
||||
// SPECIES_SPRITE(URSARING, gMonFrontPic_Ursaring),
|
||||
// SPECIES_SPRITE(SLUGMA, gMonFrontPic_Slugma),
|
||||
// SPECIES_SPRITE(MAGCARGO, gMonFrontPic_Magcargo),
|
||||
// SPECIES_SPRITE(SWINUB, gMonFrontPic_Swinub),
|
||||
// SPECIES_SPRITE(PILOSWINE, gMonFrontPic_Piloswine),
|
||||
// SPECIES_SPRITE(CORSOLA, gMonFrontPic_Corsola),
|
||||
// SPECIES_SPRITE(REMORAID, gMonFrontPic_Remoraid),
|
||||
// SPECIES_SPRITE(OCTILLERY, gMonFrontPic_Octillery),
|
||||
// SPECIES_SPRITE(DELIBIRD, gMonFrontPic_Delibird),
|
||||
// SPECIES_SPRITE(MANTINE, gMonFrontPic_Mantine),
|
||||
// SPECIES_SPRITE(SKARMORY, gMonFrontPic_Skarmory),
|
||||
// SPECIES_SPRITE(HOUNDOUR, gMonFrontPic_Houndour),
|
||||
// SPECIES_SPRITE(HOUNDOOM, gMonFrontPic_Houndoom),
|
||||
// SPECIES_SPRITE(KINGDRA, gMonFrontPic_Kingdra),
|
||||
// SPECIES_SPRITE(PHANPY, gMonFrontPic_Phanpy),
|
||||
// SPECIES_SPRITE(DONPHAN, gMonFrontPic_Donphan),
|
||||
// SPECIES_SPRITE(PORYGON2, gMonFrontPic_Porygon2),
|
||||
// SPECIES_SPRITE(STANTLER, gMonFrontPic_Stantler),
|
||||
// SPECIES_SPRITE(SMEARGLE, gMonFrontPic_Smeargle),
|
||||
// SPECIES_SPRITE(TYROGUE, gMonFrontPic_Tyrogue),
|
||||
// SPECIES_SPRITE(HITMONTOP, gMonFrontPic_Hitmontop),
|
||||
// SPECIES_SPRITE(SMOOCHUM, gMonFrontPic_Smoochum),
|
||||
// SPECIES_SPRITE(ELEKID, gMonFrontPic_Elekid),
|
||||
// SPECIES_SPRITE(MAGBY, gMonFrontPic_Magby),
|
||||
// SPECIES_SPRITE(MILTANK, gMonFrontPic_Miltank),
|
||||
// SPECIES_SPRITE(BLISSEY, gMonFrontPic_Blissey),
|
||||
// SPECIES_SPRITE(RAIKOU, gMonFrontPic_Raikou),
|
||||
// SPECIES_SPRITE(ENTEI, gMonFrontPic_Entei),
|
||||
// SPECIES_SPRITE(SUICUNE, gMonFrontPic_Suicune),
|
||||
// SPECIES_SPRITE(LARVITAR, gMonFrontPic_Larvitar),
|
||||
// SPECIES_SPRITE(PUPITAR, gMonFrontPic_Pupitar),
|
||||
// SPECIES_SPRITE(TYRANITAR, gMonFrontPic_Tyranitar),
|
||||
// SPECIES_SPRITE(LUGIA, gMonFrontPic_Lugia),
|
||||
// SPECIES_SPRITE(HO_OH, gMonFrontPic_HoOh),
|
||||
// SPECIES_SPRITE(CELEBI, gMonFrontPic_Celebi),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_B, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_C, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_D, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_E, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_F, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_G, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_H, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_I, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_J, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_K, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_L, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_M, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_N, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_O, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_P, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_Q, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_R, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_S, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_T, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_U, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_V, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_W, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_X, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_Y, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(OLD_UNOWN_Z, gMonFrontPic_DoubleQuestionMark),
|
||||
// SPECIES_SPRITE(TREECKO, gMonFrontPic_Treecko),
|
||||
// SPECIES_SPRITE(GROVYLE, gMonFrontPic_Grovyle),
|
||||
// SPECIES_SPRITE(SCEPTILE, gMonFrontPic_Sceptile),
|
||||
// SPECIES_SPRITE(TORCHIC, gMonFrontPic_Torchic),
|
||||
// SPECIES_SPRITE(COMBUSKEN, gMonFrontPic_Combusken),
|
||||
// SPECIES_SPRITE(BLAZIKEN, gMonFrontPic_Blaziken),
|
||||
// SPECIES_SPRITE(MUDKIP, gMonFrontPic_Mudkip),
|
||||
// SPECIES_SPRITE(MARSHTOMP, gMonFrontPic_Marshtomp),
|
||||
// SPECIES_SPRITE(SWAMPERT, gMonFrontPic_Swampert),
|
||||
// SPECIES_SPRITE(POOCHYENA, gMonFrontPic_Poochyena),
|
||||
// SPECIES_SPRITE(MIGHTYENA, gMonFrontPic_Mightyena),
|
||||
// SPECIES_SPRITE(ZIGZAGOON, gMonFrontPic_Zigzagoon),
|
||||
// SPECIES_SPRITE(LINOONE, gMonFrontPic_Linoone),
|
||||
// SPECIES_SPRITE(WURMPLE, gMonFrontPic_Wurmple),
|
||||
// SPECIES_SPRITE(SILCOON, gMonFrontPic_Silcoon),
|
||||
// SPECIES_SPRITE(BEAUTIFLY, gMonFrontPic_Beautifly),
|
||||
// SPECIES_SPRITE(CASCOON, gMonFrontPic_Cascoon),
|
||||
// SPECIES_SPRITE(DUSTOX, gMonFrontPic_Dustox),
|
||||
// SPECIES_SPRITE(LOTAD, gMonFrontPic_Lotad),
|
||||
// SPECIES_SPRITE(LOMBRE, gMonFrontPic_Lombre),
|
||||
// SPECIES_SPRITE(LUDICOLO, gMonFrontPic_Ludicolo),
|
||||
// SPECIES_SPRITE(SEEDOT, gMonFrontPic_Seedot),
|
||||
// SPECIES_SPRITE(NUZLEAF, gMonFrontPic_Nuzleaf),
|
||||
// SPECIES_SPRITE(SHIFTRY, gMonFrontPic_Shiftry),
|
||||
// SPECIES_SPRITE(NINCADA, gMonFrontPic_Nincada),
|
||||
// SPECIES_SPRITE(NINJASK, gMonFrontPic_Ninjask),
|
||||
// SPECIES_SPRITE(SHEDINJA, gMonFrontPic_Shedinja),
|
||||
// SPECIES_SPRITE(TAILLOW, gMonFrontPic_Taillow),
|
||||
// SPECIES_SPRITE(SWELLOW, gMonFrontPic_Swellow),
|
||||
// SPECIES_SPRITE(SHROOMISH, gMonFrontPic_Shroomish),
|
||||
// SPECIES_SPRITE(BRELOOM, gMonFrontPic_Breloom),
|
||||
// SPECIES_SPRITE(SPINDA, gMonFrontPic_Spinda),
|
||||
// SPECIES_SPRITE(WINGULL, gMonFrontPic_Wingull),
|
||||
// SPECIES_SPRITE(PELIPPER, gMonFrontPic_Pelipper),
|
||||
// SPECIES_SPRITE(SURSKIT, gMonFrontPic_Surskit),
|
||||
// SPECIES_SPRITE(MASQUERAIN, gMonFrontPic_Masquerain),
|
||||
// SPECIES_SPRITE(WAILMER, gMonFrontPic_Wailmer),
|
||||
// SPECIES_SPRITE(WAILORD, gMonFrontPic_Wailord),
|
||||
// SPECIES_SPRITE(SKITTY, gMonFrontPic_Skitty),
|
||||
// SPECIES_SPRITE(DELCATTY, gMonFrontPic_Delcatty),
|
||||
// SPECIES_SPRITE(KECLEON, gMonFrontPic_Kecleon),
|
||||
// SPECIES_SPRITE(BALTOY, gMonFrontPic_Baltoy),
|
||||
// SPECIES_SPRITE(CLAYDOL, gMonFrontPic_Claydol),
|
||||
// SPECIES_SPRITE(NOSEPASS, gMonFrontPic_Nosepass),
|
||||
// SPECIES_SPRITE(TORKOAL, gMonFrontPic_Torkoal),
|
||||
// SPECIES_SPRITE(SABLEYE, gMonFrontPic_Sableye),
|
||||
// SPECIES_SPRITE(BARBOACH, gMonFrontPic_Barboach),
|
||||
// SPECIES_SPRITE(WHISCASH, gMonFrontPic_Whiscash),
|
||||
// SPECIES_SPRITE(LUVDISC, gMonFrontPic_Luvdisc),
|
||||
// SPECIES_SPRITE(CORPHISH, gMonFrontPic_Corphish),
|
||||
// SPECIES_SPRITE(CRAWDAUNT, gMonFrontPic_Crawdaunt),
|
||||
// SPECIES_SPRITE(FEEBAS, gMonFrontPic_Feebas),
|
||||
// SPECIES_SPRITE(MILOTIC, gMonFrontPic_Milotic),
|
||||
// SPECIES_SPRITE(CARVANHA, gMonFrontPic_Carvanha),
|
||||
// SPECIES_SPRITE(SHARPEDO, gMonFrontPic_Sharpedo),
|
||||
// SPECIES_SPRITE(TRAPINCH, gMonFrontPic_Trapinch),
|
||||
// SPECIES_SPRITE(VIBRAVA, gMonFrontPic_Vibrava),
|
||||
// SPECIES_SPRITE(FLYGON, gMonFrontPic_Flygon),
|
||||
// SPECIES_SPRITE(MAKUHITA, gMonFrontPic_Makuhita),
|
||||
// SPECIES_SPRITE(HARIYAMA, gMonFrontPic_Hariyama),
|
||||
// SPECIES_SPRITE(ELECTRIKE, gMonFrontPic_Electrike),
|
||||
// SPECIES_SPRITE(MANECTRIC, gMonFrontPic_Manectric),
|
||||
// SPECIES_SPRITE(NUMEL, gMonFrontPic_Numel),
|
||||
// SPECIES_SPRITE(CAMERUPT, gMonFrontPic_Camerupt),
|
||||
// SPECIES_SPRITE(SPHEAL, gMonFrontPic_Spheal),
|
||||
// SPECIES_SPRITE(SEALEO, gMonFrontPic_Sealeo),
|
||||
// SPECIES_SPRITE(WALREIN, gMonFrontPic_Walrein),
|
||||
// SPECIES_SPRITE(CACNEA, gMonFrontPic_Cacnea),
|
||||
// SPECIES_SPRITE(CACTURNE, gMonFrontPic_Cacturne),
|
||||
// SPECIES_SPRITE(SNORUNT, gMonFrontPic_Snorunt),
|
||||
// SPECIES_SPRITE(GLALIE, gMonFrontPic_Glalie),
|
||||
// SPECIES_SPRITE(LUNATONE, gMonFrontPic_Lunatone),
|
||||
// SPECIES_SPRITE(SOLROCK, gMonFrontPic_Solrock),
|
||||
// SPECIES_SPRITE(AZURILL, gMonFrontPic_Azurill),
|
||||
// SPECIES_SPRITE(SPOINK, gMonFrontPic_Spoink),
|
||||
// SPECIES_SPRITE(GRUMPIG, gMonFrontPic_Grumpig),
|
||||
// SPECIES_SPRITE(PLUSLE, gMonFrontPic_Plusle),
|
||||
// SPECIES_SPRITE(MINUN, gMonFrontPic_Minun),
|
||||
// SPECIES_SPRITE(MAWILE, gMonFrontPic_Mawile),
|
||||
// SPECIES_SPRITE(MEDITITE, gMonFrontPic_Meditite),
|
||||
// SPECIES_SPRITE(MEDICHAM, gMonFrontPic_Medicham),
|
||||
// SPECIES_SPRITE(SWABLU, gMonFrontPic_Swablu),
|
||||
// SPECIES_SPRITE(ALTARIA, gMonFrontPic_Altaria),
|
||||
// SPECIES_SPRITE(WYNAUT, gMonFrontPic_Wynaut),
|
||||
// SPECIES_SPRITE(DUSKULL, gMonFrontPic_Duskull),
|
||||
// SPECIES_SPRITE(DUSCLOPS, gMonFrontPic_Dusclops),
|
||||
// SPECIES_SPRITE(ROSELIA, gMonFrontPic_Roselia),
|
||||
// SPECIES_SPRITE(SLAKOTH, gMonFrontPic_Slakoth),
|
||||
// SPECIES_SPRITE(VIGOROTH, gMonFrontPic_Vigoroth),
|
||||
// SPECIES_SPRITE(SLAKING, gMonFrontPic_Slaking),
|
||||
// SPECIES_SPRITE(GULPIN, gMonFrontPic_Gulpin),
|
||||
// SPECIES_SPRITE(SWALOT, gMonFrontPic_Swalot),
|
||||
// SPECIES_SPRITE(TROPIUS, gMonFrontPic_Tropius),
|
||||
// SPECIES_SPRITE(WHISMUR, gMonFrontPic_Whismur),
|
||||
// SPECIES_SPRITE(LOUDRED, gMonFrontPic_Loudred),
|
||||
// SPECIES_SPRITE(EXPLOUD, gMonFrontPic_Exploud),
|
||||
// SPECIES_SPRITE(CLAMPERL, gMonFrontPic_Clamperl),
|
||||
// SPECIES_SPRITE(HUNTAIL, gMonFrontPic_Huntail),
|
||||
// SPECIES_SPRITE(GOREBYSS, gMonFrontPic_Gorebyss),
|
||||
// SPECIES_SPRITE(ABSOL, gMonFrontPic_Absol),
|
||||
// SPECIES_SPRITE(SHUPPET, gMonFrontPic_Shuppet),
|
||||
// SPECIES_SPRITE(BANETTE, gMonFrontPic_Banette),
|
||||
// SPECIES_SPRITE(SEVIPER, gMonFrontPic_Seviper),
|
||||
// SPECIES_SPRITE(ZANGOOSE, gMonFrontPic_Zangoose),
|
||||
// SPECIES_SPRITE(RELICANTH, gMonFrontPic_Relicanth),
|
||||
// SPECIES_SPRITE(ARON, gMonFrontPic_Aron),
|
||||
// SPECIES_SPRITE(LAIRON, gMonFrontPic_Lairon),
|
||||
// SPECIES_SPRITE(AGGRON, gMonFrontPic_Aggron),
|
||||
// SPECIES_SPRITE(CASTFORM, gMonFrontPic_Castform),
|
||||
// SPECIES_SPRITE(VOLBEAT, gMonFrontPic_Volbeat),
|
||||
// SPECIES_SPRITE(ILLUMISE, gMonFrontPic_Illumise),
|
||||
// SPECIES_SPRITE(LILEEP, gMonFrontPic_Lileep),
|
||||
// SPECIES_SPRITE(CRADILY, gMonFrontPic_Cradily),
|
||||
// SPECIES_SPRITE(ANORITH, gMonFrontPic_Anorith),
|
||||
// SPECIES_SPRITE(ARMALDO, gMonFrontPic_Armaldo),
|
||||
// SPECIES_SPRITE(RALTS, gMonFrontPic_Ralts),
|
||||
// SPECIES_SPRITE(KIRLIA, gMonFrontPic_Kirlia),
|
||||
// SPECIES_SPRITE(GARDEVOIR, gMonFrontPic_Gardevoir),
|
||||
// SPECIES_SPRITE(BAGON, gMonFrontPic_Bagon),
|
||||
// SPECIES_SPRITE(SHELGON, gMonFrontPic_Shelgon),
|
||||
// SPECIES_SPRITE(SALAMENCE, gMonFrontPic_Salamence),
|
||||
// SPECIES_SPRITE(BELDUM, gMonFrontPic_Beldum),
|
||||
// SPECIES_SPRITE(METANG, gMonFrontPic_Metang),
|
||||
// SPECIES_SPRITE(METAGROSS, gMonFrontPic_Metagross),
|
||||
// SPECIES_SPRITE(REGIROCK, gMonFrontPic_Regirock),
|
||||
// SPECIES_SPRITE(REGICE, gMonFrontPic_Regice),
|
||||
// SPECIES_SPRITE(REGISTEEL, gMonFrontPic_Registeel),
|
||||
// SPECIES_SPRITE(KYOGRE, gMonFrontPic_Kyogre),
|
||||
// SPECIES_SPRITE(GROUDON, gMonFrontPic_Groudon),
|
||||
// SPECIES_SPRITE(RAYQUAZA, gMonFrontPic_Rayquaza),
|
||||
// SPECIES_SPRITE(LATIAS, gMonFrontPic_Latias),
|
||||
// SPECIES_SPRITE(LATIOS, gMonFrontPic_Latios),
|
||||
// SPECIES_SPRITE(JIRACHI, gMonFrontPic_Jirachi),
|
||||
// SPECIES_SPRITE(DEOXYS, gMonFrontPic_Deoxys),
|
||||
// SPECIES_SPRITE(CHIMECHO, gMonFrontPic_Chimecho),
|
||||
// SPECIES_SPRITE(EGG, gMonFrontPic_Egg),
|
||||
// SPECIES_SPRITE(UNOWN_B, gMonFrontPic_UnownB),
|
||||
// SPECIES_SPRITE(UNOWN_C, gMonFrontPic_UnownC),
|
||||
// SPECIES_SPRITE(UNOWN_D, gMonFrontPic_UnownD),
|
||||
// SPECIES_SPRITE(UNOWN_E, gMonFrontPic_UnownE),
|
||||
// SPECIES_SPRITE(UNOWN_F, gMonFrontPic_UnownF),
|
||||
// SPECIES_SPRITE(UNOWN_G, gMonFrontPic_UnownG),
|
||||
// SPECIES_SPRITE(UNOWN_H, gMonFrontPic_UnownH),
|
||||
// SPECIES_SPRITE(UNOWN_I, gMonFrontPic_UnownI),
|
||||
// SPECIES_SPRITE(UNOWN_J, gMonFrontPic_UnownJ),
|
||||
// SPECIES_SPRITE(UNOWN_K, gMonFrontPic_UnownK),
|
||||
// SPECIES_SPRITE(UNOWN_L, gMonFrontPic_UnownL),
|
||||
// SPECIES_SPRITE(UNOWN_M, gMonFrontPic_UnownM),
|
||||
// SPECIES_SPRITE(UNOWN_N, gMonFrontPic_UnownN),
|
||||
// SPECIES_SPRITE(UNOWN_O, gMonFrontPic_UnownO),
|
||||
// SPECIES_SPRITE(UNOWN_P, gMonFrontPic_UnownP),
|
||||
// SPECIES_SPRITE(UNOWN_Q, gMonFrontPic_UnownQ),
|
||||
// SPECIES_SPRITE(UNOWN_R, gMonFrontPic_UnownR),
|
||||
// SPECIES_SPRITE(UNOWN_S, gMonFrontPic_UnownS),
|
||||
// SPECIES_SPRITE(UNOWN_T, gMonFrontPic_UnownT),
|
||||
// SPECIES_SPRITE(UNOWN_U, gMonFrontPic_UnownU),
|
||||
// SPECIES_SPRITE(UNOWN_V, gMonFrontPic_UnownV),
|
||||
// SPECIES_SPRITE(UNOWN_W, gMonFrontPic_UnownW),
|
||||
// SPECIES_SPRITE(UNOWN_X, gMonFrontPic_UnownX),
|
||||
// SPECIES_SPRITE(UNOWN_Y, gMonFrontPic_UnownY),
|
||||
// SPECIES_SPRITE(UNOWN_Z, gMonFrontPic_UnownZ),
|
||||
// SPECIES_SPRITE(UNOWN_EMARK, gMonFrontPic_UnownExclamationMark),
|
||||
// SPECIES_SPRITE(UNOWN_QMARK, gMonFrontPic_UnownQuestionMark),
|
||||
// };
|
||||
|
|
@ -1,443 +0,0 @@
|
|||
// const struct CompressedSpritePalette gMonPaletteTable[] =
|
||||
// {
|
||||
// SPECIES_PAL(NONE, gMonPalette_CircledQuestionMark),
|
||||
// SPECIES_PAL(BULBASAUR, gMonPalette_Bulbasaur),
|
||||
// SPECIES_PAL(IVYSAUR, gMonPalette_Ivysaur),
|
||||
// SPECIES_PAL(VENUSAUR, gMonPalette_Venusaur),
|
||||
// SPECIES_PAL(CHARMANDER, gMonPalette_Charmander),
|
||||
// SPECIES_PAL(CHARMELEON, gMonPalette_Charmeleon),
|
||||
// SPECIES_PAL(CHARIZARD, gMonPalette_Charizard),
|
||||
// SPECIES_PAL(SQUIRTLE, gMonPalette_Squirtle),
|
||||
// SPECIES_PAL(WARTORTLE, gMonPalette_Wartortle),
|
||||
// SPECIES_PAL(BLASTOISE, gMonPalette_Blastoise),
|
||||
// SPECIES_PAL(CATERPIE, gMonPalette_Caterpie),
|
||||
// SPECIES_PAL(METAPOD, gMonPalette_Metapod),
|
||||
// SPECIES_PAL(BUTTERFREE, gMonPalette_Butterfree),
|
||||
// SPECIES_PAL(WEEDLE, gMonPalette_Weedle),
|
||||
// SPECIES_PAL(KAKUNA, gMonPalette_Kakuna),
|
||||
// SPECIES_PAL(BEEDRILL, gMonPalette_Beedrill),
|
||||
// SPECIES_PAL(PIDGEY, gMonPalette_Pidgey),
|
||||
// SPECIES_PAL(PIDGEOTTO, gMonPalette_Pidgeotto),
|
||||
// SPECIES_PAL(PIDGEOT, gMonPalette_Pidgeot),
|
||||
// SPECIES_PAL(RATTATA, gMonPalette_Rattata),
|
||||
// SPECIES_PAL(RATICATE, gMonPalette_Raticate),
|
||||
// SPECIES_PAL(SPEAROW, gMonPalette_Spearow),
|
||||
// SPECIES_PAL(FEAROW, gMonPalette_Fearow),
|
||||
// SPECIES_PAL(EKANS, gMonPalette_Ekans),
|
||||
// SPECIES_PAL(ARBOK, gMonPalette_Arbok),
|
||||
// SPECIES_PAL(PIKACHU, gMonPalette_Pikachu),
|
||||
// SPECIES_PAL(RAICHU, gMonPalette_Raichu),
|
||||
// SPECIES_PAL(SANDSHREW, gMonPalette_Sandshrew),
|
||||
// SPECIES_PAL(SANDSLASH, gMonPalette_Sandslash),
|
||||
// SPECIES_PAL(NIDORAN_F, gMonPalette_NidoranF),
|
||||
// SPECIES_PAL(NIDORINA, gMonPalette_Nidorina),
|
||||
// SPECIES_PAL(NIDOQUEEN, gMonPalette_Nidoqueen),
|
||||
// SPECIES_PAL(NIDORAN_M, gMonPalette_NidoranM),
|
||||
// SPECIES_PAL(NIDORINO, gMonPalette_Nidorino),
|
||||
// SPECIES_PAL(NIDOKING, gMonPalette_Nidoking),
|
||||
// SPECIES_PAL(CLEFAIRY, gMonPalette_Clefairy),
|
||||
// SPECIES_PAL(CLEFABLE, gMonPalette_Clefable),
|
||||
// SPECIES_PAL(VULPIX, gMonPalette_Vulpix),
|
||||
// SPECIES_PAL(NINETALES, gMonPalette_Ninetales),
|
||||
// SPECIES_PAL(JIGGLYPUFF, gMonPalette_Jigglypuff),
|
||||
// SPECIES_PAL(WIGGLYTUFF, gMonPalette_Wigglytuff),
|
||||
// SPECIES_PAL(ZUBAT, gMonPalette_Zubat),
|
||||
// SPECIES_PAL(GOLBAT, gMonPalette_Golbat),
|
||||
// SPECIES_PAL(ODDISH, gMonPalette_Oddish),
|
||||
// SPECIES_PAL(GLOOM, gMonPalette_Gloom),
|
||||
// SPECIES_PAL(VILEPLUME, gMonPalette_Vileplume),
|
||||
// SPECIES_PAL(PARAS, gMonPalette_Paras),
|
||||
// SPECIES_PAL(PARASECT, gMonPalette_Parasect),
|
||||
// SPECIES_PAL(VENONAT, gMonPalette_Venonat),
|
||||
// SPECIES_PAL(VENOMOTH, gMonPalette_Venomoth),
|
||||
// SPECIES_PAL(DIGLETT, gMonPalette_Diglett),
|
||||
// SPECIES_PAL(DUGTRIO, gMonPalette_Dugtrio),
|
||||
// SPECIES_PAL(MEOWTH, gMonPalette_Meowth),
|
||||
// SPECIES_PAL(PERSIAN, gMonPalette_Persian),
|
||||
// SPECIES_PAL(PSYDUCK, gMonPalette_Psyduck),
|
||||
// SPECIES_PAL(GOLDUCK, gMonPalette_Golduck),
|
||||
// SPECIES_PAL(MANKEY, gMonPalette_Mankey),
|
||||
// SPECIES_PAL(PRIMEAPE, gMonPalette_Primeape),
|
||||
// SPECIES_PAL(GROWLITHE, gMonPalette_Growlithe),
|
||||
// SPECIES_PAL(ARCANINE, gMonPalette_Arcanine),
|
||||
// SPECIES_PAL(POLIWAG, gMonPalette_Poliwag),
|
||||
// SPECIES_PAL(POLIWHIRL, gMonPalette_Poliwhirl),
|
||||
// SPECIES_PAL(POLIWRATH, gMonPalette_Poliwrath),
|
||||
// SPECIES_PAL(ABRA, gMonPalette_Abra),
|
||||
// SPECIES_PAL(KADABRA, gMonPalette_Kadabra),
|
||||
// SPECIES_PAL(ALAKAZAM, gMonPalette_Alakazam),
|
||||
// SPECIES_PAL(MACHOP, gMonPalette_Machop),
|
||||
// SPECIES_PAL(MACHOKE, gMonPalette_Machoke),
|
||||
// SPECIES_PAL(MACHAMP, gMonPalette_Machamp),
|
||||
// SPECIES_PAL(BELLSPROUT, gMonPalette_Bellsprout),
|
||||
// SPECIES_PAL(WEEPINBELL, gMonPalette_Weepinbell),
|
||||
// SPECIES_PAL(VICTREEBEL, gMonPalette_Victreebel),
|
||||
// SPECIES_PAL(TENTACOOL, gMonPalette_Tentacool),
|
||||
// SPECIES_PAL(TENTACRUEL, gMonPalette_Tentacruel),
|
||||
// SPECIES_PAL(GEODUDE, gMonPalette_Geodude),
|
||||
// SPECIES_PAL(GRAVELER, gMonPalette_Graveler),
|
||||
// SPECIES_PAL(GOLEM, gMonPalette_Golem),
|
||||
// SPECIES_PAL(PONYTA, gMonPalette_Ponyta),
|
||||
// SPECIES_PAL(RAPIDASH, gMonPalette_Rapidash),
|
||||
// SPECIES_PAL(SLOWPOKE, gMonPalette_Slowpoke),
|
||||
// SPECIES_PAL(SLOWBRO, gMonPalette_Slowbro),
|
||||
// SPECIES_PAL(MAGNEMITE, gMonPalette_Magnemite),
|
||||
// SPECIES_PAL(MAGNETON, gMonPalette_Magneton),
|
||||
// SPECIES_PAL(FARFETCHD, gMonPalette_Farfetchd),
|
||||
// SPECIES_PAL(DODUO, gMonPalette_Doduo),
|
||||
// SPECIES_PAL(DODRIO, gMonPalette_Dodrio),
|
||||
// SPECIES_PAL(SEEL, gMonPalette_Seel),
|
||||
// SPECIES_PAL(DEWGONG, gMonPalette_Dewgong),
|
||||
// SPECIES_PAL(GRIMER, gMonPalette_Grimer),
|
||||
// SPECIES_PAL(MUK, gMonPalette_Muk),
|
||||
// SPECIES_PAL(SHELLDER, gMonPalette_Shellder),
|
||||
// SPECIES_PAL(CLOYSTER, gMonPalette_Cloyster),
|
||||
// SPECIES_PAL(GASTLY, gMonPalette_Gastly),
|
||||
// SPECIES_PAL(HAUNTER, gMonPalette_Haunter),
|
||||
// SPECIES_PAL(GENGAR, gMonPalette_Gengar),
|
||||
// SPECIES_PAL(ONIX, gMonPalette_Onix),
|
||||
// SPECIES_PAL(DROWZEE, gMonPalette_Drowzee),
|
||||
// SPECIES_PAL(HYPNO, gMonPalette_Hypno),
|
||||
// SPECIES_PAL(KRABBY, gMonPalette_Krabby),
|
||||
// SPECIES_PAL(KINGLER, gMonPalette_Kingler),
|
||||
// SPECIES_PAL(VOLTORB, gMonPalette_Voltorb),
|
||||
// SPECIES_PAL(ELECTRODE, gMonPalette_Electrode),
|
||||
// SPECIES_PAL(EXEGGCUTE, gMonPalette_Exeggcute),
|
||||
// SPECIES_PAL(EXEGGUTOR, gMonPalette_Exeggutor),
|
||||
// SPECIES_PAL(CUBONE, gMonPalette_Cubone),
|
||||
// SPECIES_PAL(MAROWAK, gMonPalette_Marowak),
|
||||
// SPECIES_PAL(HITMONLEE, gMonPalette_Hitmonlee),
|
||||
// SPECIES_PAL(HITMONCHAN, gMonPalette_Hitmonchan),
|
||||
// SPECIES_PAL(LICKITUNG, gMonPalette_Lickitung),
|
||||
// SPECIES_PAL(KOFFING, gMonPalette_Koffing),
|
||||
// SPECIES_PAL(WEEZING, gMonPalette_Weezing),
|
||||
// SPECIES_PAL(RHYHORN, gMonPalette_Rhyhorn),
|
||||
// SPECIES_PAL(RHYDON, gMonPalette_Rhydon),
|
||||
// SPECIES_PAL(CHANSEY, gMonPalette_Chansey),
|
||||
// SPECIES_PAL(TANGELA, gMonPalette_Tangela),
|
||||
// SPECIES_PAL(KANGASKHAN, gMonPalette_Kangaskhan),
|
||||
// SPECIES_PAL(HORSEA, gMonPalette_Horsea),
|
||||
// SPECIES_PAL(SEADRA, gMonPalette_Seadra),
|
||||
// SPECIES_PAL(GOLDEEN, gMonPalette_Goldeen),
|
||||
// SPECIES_PAL(SEAKING, gMonPalette_Seaking),
|
||||
// SPECIES_PAL(STARYU, gMonPalette_Staryu),
|
||||
// SPECIES_PAL(STARMIE, gMonPalette_Starmie),
|
||||
// SPECIES_PAL(MR_MIME, gMonPalette_Mrmime),
|
||||
// SPECIES_PAL(SCYTHER, gMonPalette_Scyther),
|
||||
// SPECIES_PAL(JYNX, gMonPalette_Jynx),
|
||||
// SPECIES_PAL(ELECTABUZZ, gMonPalette_Electabuzz),
|
||||
// SPECIES_PAL(MAGMAR, gMonPalette_Magmar),
|
||||
// SPECIES_PAL(PINSIR, gMonPalette_Pinsir),
|
||||
// SPECIES_PAL(TAUROS, gMonPalette_Tauros),
|
||||
// SPECIES_PAL(MAGIKARP, gMonPalette_Magikarp),
|
||||
// SPECIES_PAL(GYARADOS, gMonPalette_Gyarados),
|
||||
// SPECIES_PAL(LAPRAS, gMonPalette_Lapras),
|
||||
// SPECIES_PAL(DITTO, gMonPalette_Ditto),
|
||||
// SPECIES_PAL(EEVEE, gMonPalette_Eevee),
|
||||
// SPECIES_PAL(VAPOREON, gMonPalette_Vaporeon),
|
||||
// SPECIES_PAL(JOLTEON, gMonPalette_Jolteon),
|
||||
// SPECIES_PAL(FLAREON, gMonPalette_Flareon),
|
||||
// SPECIES_PAL(PORYGON, gMonPalette_Porygon),
|
||||
// SPECIES_PAL(OMANYTE, gMonPalette_Omanyte),
|
||||
// SPECIES_PAL(OMASTAR, gMonPalette_Omastar),
|
||||
// SPECIES_PAL(KABUTO, gMonPalette_Kabuto),
|
||||
// SPECIES_PAL(KABUTOPS, gMonPalette_Kabutops),
|
||||
// SPECIES_PAL(AERODACTYL, gMonPalette_Aerodactyl),
|
||||
// SPECIES_PAL(SNORLAX, gMonPalette_Snorlax),
|
||||
// SPECIES_PAL(ARTICUNO, gMonPalette_Articuno),
|
||||
// SPECIES_PAL(ZAPDOS, gMonPalette_Zapdos),
|
||||
// SPECIES_PAL(MOLTRES, gMonPalette_Moltres),
|
||||
// SPECIES_PAL(DRATINI, gMonPalette_Dratini),
|
||||
// SPECIES_PAL(DRAGONAIR, gMonPalette_Dragonair),
|
||||
// SPECIES_PAL(DRAGONITE, gMonPalette_Dragonite),
|
||||
// SPECIES_PAL(MEWTWO, gMonPalette_Mewtwo),
|
||||
// SPECIES_PAL(MEW, gMonPalette_Mew),
|
||||
// SPECIES_PAL(CHIKORITA, gMonPalette_Chikorita),
|
||||
// SPECIES_PAL(BAYLEEF, gMonPalette_Bayleef),
|
||||
// SPECIES_PAL(MEGANIUM, gMonPalette_Meganium),
|
||||
// SPECIES_PAL(CYNDAQUIL, gMonPalette_Cyndaquil),
|
||||
// SPECIES_PAL(QUILAVA, gMonPalette_Quilava),
|
||||
// SPECIES_PAL(TYPHLOSION, gMonPalette_Typhlosion),
|
||||
// SPECIES_PAL(TOTODILE, gMonPalette_Totodile),
|
||||
// SPECIES_PAL(CROCONAW, gMonPalette_Croconaw),
|
||||
// SPECIES_PAL(FERALIGATR, gMonPalette_Feraligatr),
|
||||
// SPECIES_PAL(SENTRET, gMonPalette_Sentret),
|
||||
// SPECIES_PAL(FURRET, gMonPalette_Furret),
|
||||
// SPECIES_PAL(HOOTHOOT, gMonPalette_Hoothoot),
|
||||
// SPECIES_PAL(NOCTOWL, gMonPalette_Noctowl),
|
||||
// SPECIES_PAL(LEDYBA, gMonPalette_Ledyba),
|
||||
// SPECIES_PAL(LEDIAN, gMonPalette_Ledian),
|
||||
// SPECIES_PAL(SPINARAK, gMonPalette_Spinarak),
|
||||
// SPECIES_PAL(ARIADOS, gMonPalette_Ariados),
|
||||
// SPECIES_PAL(CROBAT, gMonPalette_Crobat),
|
||||
// SPECIES_PAL(CHINCHOU, gMonPalette_Chinchou),
|
||||
// SPECIES_PAL(LANTURN, gMonPalette_Lanturn),
|
||||
// SPECIES_PAL(PICHU, gMonPalette_Pichu),
|
||||
// SPECIES_PAL(CLEFFA, gMonPalette_Cleffa),
|
||||
// SPECIES_PAL(IGGLYBUFF, gMonPalette_Igglybuff),
|
||||
// SPECIES_PAL(TOGEPI, gMonPalette_Togepi),
|
||||
// SPECIES_PAL(TOGETIC, gMonPalette_Togetic),
|
||||
// SPECIES_PAL(NATU, gMonPalette_Natu),
|
||||
// SPECIES_PAL(XATU, gMonPalette_Xatu),
|
||||
// SPECIES_PAL(MAREEP, gMonPalette_Mareep),
|
||||
// SPECIES_PAL(FLAAFFY, gMonPalette_Flaaffy),
|
||||
// SPECIES_PAL(AMPHAROS, gMonPalette_Ampharos),
|
||||
// SPECIES_PAL(BELLOSSOM, gMonPalette_Bellossom),
|
||||
// SPECIES_PAL(MARILL, gMonPalette_Marill),
|
||||
// SPECIES_PAL(AZUMARILL, gMonPalette_Azumarill),
|
||||
// SPECIES_PAL(SUDOWOODO, gMonPalette_Sudowoodo),
|
||||
// SPECIES_PAL(POLITOED, gMonPalette_Politoed),
|
||||
// SPECIES_PAL(HOPPIP, gMonPalette_Hoppip),
|
||||
// SPECIES_PAL(SKIPLOOM, gMonPalette_Skiploom),
|
||||
// SPECIES_PAL(JUMPLUFF, gMonPalette_Jumpluff),
|
||||
// SPECIES_PAL(AIPOM, gMonPalette_Aipom),
|
||||
// SPECIES_PAL(SUNKERN, gMonPalette_Sunkern),
|
||||
// SPECIES_PAL(SUNFLORA, gMonPalette_Sunflora),
|
||||
// SPECIES_PAL(YANMA, gMonPalette_Yanma),
|
||||
// SPECIES_PAL(WOOPER, gMonPalette_Wooper),
|
||||
// SPECIES_PAL(QUAGSIRE, gMonPalette_Quagsire),
|
||||
// SPECIES_PAL(ESPEON, gMonPalette_Espeon),
|
||||
// SPECIES_PAL(UMBREON, gMonPalette_Umbreon),
|
||||
// SPECIES_PAL(MURKROW, gMonPalette_Murkrow),
|
||||
// SPECIES_PAL(SLOWKING, gMonPalette_Slowking),
|
||||
// SPECIES_PAL(MISDREAVUS, gMonPalette_Misdreavus),
|
||||
// SPECIES_PAL(UNOWN, gMonPalette_Unown),
|
||||
// SPECIES_PAL(WOBBUFFET, gMonPalette_Wobbuffet),
|
||||
// SPECIES_PAL(GIRAFARIG, gMonPalette_Girafarig),
|
||||
// SPECIES_PAL(PINECO, gMonPalette_Pineco),
|
||||
// SPECIES_PAL(FORRETRESS, gMonPalette_Forretress),
|
||||
// SPECIES_PAL(DUNSPARCE, gMonPalette_Dunsparce),
|
||||
// SPECIES_PAL(GLIGAR, gMonPalette_Gligar),
|
||||
// SPECIES_PAL(STEELIX, gMonPalette_Steelix),
|
||||
// SPECIES_PAL(SNUBBULL, gMonPalette_Snubbull),
|
||||
// SPECIES_PAL(GRANBULL, gMonPalette_Granbull),
|
||||
// SPECIES_PAL(QWILFISH, gMonPalette_Qwilfish),
|
||||
// SPECIES_PAL(SCIZOR, gMonPalette_Scizor),
|
||||
// SPECIES_PAL(SHUCKLE, gMonPalette_Shuckle),
|
||||
// SPECIES_PAL(HERACROSS, gMonPalette_Heracross),
|
||||
// SPECIES_PAL(SNEASEL, gMonPalette_Sneasel),
|
||||
// SPECIES_PAL(TEDDIURSA, gMonPalette_Teddiursa),
|
||||
// SPECIES_PAL(URSARING, gMonPalette_Ursaring),
|
||||
// SPECIES_PAL(SLUGMA, gMonPalette_Slugma),
|
||||
// SPECIES_PAL(MAGCARGO, gMonPalette_Magcargo),
|
||||
// SPECIES_PAL(SWINUB, gMonPalette_Swinub),
|
||||
// SPECIES_PAL(PILOSWINE, gMonPalette_Piloswine),
|
||||
// SPECIES_PAL(CORSOLA, gMonPalette_Corsola),
|
||||
// SPECIES_PAL(REMORAID, gMonPalette_Remoraid),
|
||||
// SPECIES_PAL(OCTILLERY, gMonPalette_Octillery),
|
||||
// SPECIES_PAL(DELIBIRD, gMonPalette_Delibird),
|
||||
// SPECIES_PAL(MANTINE, gMonPalette_Mantine),
|
||||
// SPECIES_PAL(SKARMORY, gMonPalette_Skarmory),
|
||||
// SPECIES_PAL(HOUNDOUR, gMonPalette_Houndour),
|
||||
// SPECIES_PAL(HOUNDOOM, gMonPalette_Houndoom),
|
||||
// SPECIES_PAL(KINGDRA, gMonPalette_Kingdra),
|
||||
// SPECIES_PAL(PHANPY, gMonPalette_Phanpy),
|
||||
// SPECIES_PAL(DONPHAN, gMonPalette_Donphan),
|
||||
// SPECIES_PAL(PORYGON2, gMonPalette_Porygon2),
|
||||
// SPECIES_PAL(STANTLER, gMonPalette_Stantler),
|
||||
// SPECIES_PAL(SMEARGLE, gMonPalette_Smeargle),
|
||||
// SPECIES_PAL(TYROGUE, gMonPalette_Tyrogue),
|
||||
// SPECIES_PAL(HITMONTOP, gMonPalette_Hitmontop),
|
||||
// SPECIES_PAL(SMOOCHUM, gMonPalette_Smoochum),
|
||||
// SPECIES_PAL(ELEKID, gMonPalette_Elekid),
|
||||
// SPECIES_PAL(MAGBY, gMonPalette_Magby),
|
||||
// SPECIES_PAL(MILTANK, gMonPalette_Miltank),
|
||||
// SPECIES_PAL(BLISSEY, gMonPalette_Blissey),
|
||||
// SPECIES_PAL(RAIKOU, gMonPalette_Raikou),
|
||||
// SPECIES_PAL(ENTEI, gMonPalette_Entei),
|
||||
// SPECIES_PAL(SUICUNE, gMonPalette_Suicune),
|
||||
// SPECIES_PAL(LARVITAR, gMonPalette_Larvitar),
|
||||
// SPECIES_PAL(PUPITAR, gMonPalette_Pupitar),
|
||||
// SPECIES_PAL(TYRANITAR, gMonPalette_Tyranitar),
|
||||
// SPECIES_PAL(LUGIA, gMonPalette_Lugia),
|
||||
// SPECIES_PAL(HO_OH, gMonPalette_HoOh),
|
||||
// SPECIES_PAL(CELEBI, gMonPalette_Celebi),
|
||||
// SPECIES_PAL(OLD_UNOWN_B, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_C, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_D, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_E, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_F, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_G, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_H, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_I, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_J, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_K, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_L, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_M, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_N, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_O, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_P, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_Q, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_R, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_S, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_T, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_U, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_V, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_W, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_X, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_Y, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(OLD_UNOWN_Z, gMonPalette_DoubleQuestionMark),
|
||||
// SPECIES_PAL(TREECKO, gMonPalette_Treecko),
|
||||
// SPECIES_PAL(GROVYLE, gMonPalette_Grovyle),
|
||||
// SPECIES_PAL(SCEPTILE, gMonPalette_Sceptile),
|
||||
// SPECIES_PAL(TORCHIC, gMonPalette_Torchic),
|
||||
// SPECIES_PAL(COMBUSKEN, gMonPalette_Combusken),
|
||||
// SPECIES_PAL(BLAZIKEN, gMonPalette_Blaziken),
|
||||
// SPECIES_PAL(MUDKIP, gMonPalette_Mudkip),
|
||||
// SPECIES_PAL(MARSHTOMP, gMonPalette_Marshtomp),
|
||||
// SPECIES_PAL(SWAMPERT, gMonPalette_Swampert),
|
||||
// SPECIES_PAL(POOCHYENA, gMonPalette_Poochyena),
|
||||
// SPECIES_PAL(MIGHTYENA, gMonPalette_Mightyena),
|
||||
// SPECIES_PAL(ZIGZAGOON, gMonPalette_Zigzagoon),
|
||||
// SPECIES_PAL(LINOONE, gMonPalette_Linoone),
|
||||
// SPECIES_PAL(WURMPLE, gMonPalette_Wurmple),
|
||||
// SPECIES_PAL(SILCOON, gMonPalette_Silcoon),
|
||||
// SPECIES_PAL(BEAUTIFLY, gMonPalette_Beautifly),
|
||||
// SPECIES_PAL(CASCOON, gMonPalette_Cascoon),
|
||||
// SPECIES_PAL(DUSTOX, gMonPalette_Dustox),
|
||||
// SPECIES_PAL(LOTAD, gMonPalette_Lotad),
|
||||
// SPECIES_PAL(LOMBRE, gMonPalette_Lombre),
|
||||
// SPECIES_PAL(LUDICOLO, gMonPalette_Ludicolo),
|
||||
// SPECIES_PAL(SEEDOT, gMonPalette_Seedot),
|
||||
// SPECIES_PAL(NUZLEAF, gMonPalette_Nuzleaf),
|
||||
// SPECIES_PAL(SHIFTRY, gMonPalette_Shiftry),
|
||||
// SPECIES_PAL(NINCADA, gMonPalette_Nincada),
|
||||
// SPECIES_PAL(NINJASK, gMonPalette_Ninjask),
|
||||
// SPECIES_PAL(SHEDINJA, gMonPalette_Shedinja),
|
||||
// SPECIES_PAL(TAILLOW, gMonPalette_Taillow),
|
||||
// SPECIES_PAL(SWELLOW, gMonPalette_Swellow),
|
||||
// SPECIES_PAL(SHROOMISH, gMonPalette_Shroomish),
|
||||
// SPECIES_PAL(BRELOOM, gMonPalette_Breloom),
|
||||
// SPECIES_PAL(SPINDA, gMonPalette_Spinda),
|
||||
// SPECIES_PAL(WINGULL, gMonPalette_Wingull),
|
||||
// SPECIES_PAL(PELIPPER, gMonPalette_Pelipper),
|
||||
// SPECIES_PAL(SURSKIT, gMonPalette_Surskit),
|
||||
// SPECIES_PAL(MASQUERAIN, gMonPalette_Masquerain),
|
||||
// SPECIES_PAL(WAILMER, gMonPalette_Wailmer),
|
||||
// SPECIES_PAL(WAILORD, gMonPalette_Wailord),
|
||||
// SPECIES_PAL(SKITTY, gMonPalette_Skitty),
|
||||
// SPECIES_PAL(DELCATTY, gMonPalette_Delcatty),
|
||||
// SPECIES_PAL(KECLEON, gMonPalette_Kecleon),
|
||||
// SPECIES_PAL(BALTOY, gMonPalette_Baltoy),
|
||||
// SPECIES_PAL(CLAYDOL, gMonPalette_Claydol),
|
||||
// SPECIES_PAL(NOSEPASS, gMonPalette_Nosepass),
|
||||
// SPECIES_PAL(TORKOAL, gMonPalette_Torkoal),
|
||||
// SPECIES_PAL(SABLEYE, gMonPalette_Sableye),
|
||||
// SPECIES_PAL(BARBOACH, gMonPalette_Barboach),
|
||||
// SPECIES_PAL(WHISCASH, gMonPalette_Whiscash),
|
||||
// SPECIES_PAL(LUVDISC, gMonPalette_Luvdisc),
|
||||
// SPECIES_PAL(CORPHISH, gMonPalette_Corphish),
|
||||
// SPECIES_PAL(CRAWDAUNT, gMonPalette_Crawdaunt),
|
||||
// SPECIES_PAL(FEEBAS, gMonPalette_Feebas),
|
||||
// SPECIES_PAL(MILOTIC, gMonPalette_Milotic),
|
||||
// SPECIES_PAL(CARVANHA, gMonPalette_Carvanha),
|
||||
// SPECIES_PAL(SHARPEDO, gMonPalette_Sharpedo),
|
||||
// SPECIES_PAL(TRAPINCH, gMonPalette_Trapinch),
|
||||
// SPECIES_PAL(VIBRAVA, gMonPalette_Vibrava),
|
||||
// SPECIES_PAL(FLYGON, gMonPalette_Flygon),
|
||||
// SPECIES_PAL(MAKUHITA, gMonPalette_Makuhita),
|
||||
// SPECIES_PAL(HARIYAMA, gMonPalette_Hariyama),
|
||||
// SPECIES_PAL(ELECTRIKE, gMonPalette_Electrike),
|
||||
// SPECIES_PAL(MANECTRIC, gMonPalette_Manectric),
|
||||
// SPECIES_PAL(NUMEL, gMonPalette_Numel),
|
||||
// SPECIES_PAL(CAMERUPT, gMonPalette_Camerupt),
|
||||
// SPECIES_PAL(SPHEAL, gMonPalette_Spheal),
|
||||
// SPECIES_PAL(SEALEO, gMonPalette_Sealeo),
|
||||
// SPECIES_PAL(WALREIN, gMonPalette_Walrein),
|
||||
// SPECIES_PAL(CACNEA, gMonPalette_Cacnea),
|
||||
// SPECIES_PAL(CACTURNE, gMonPalette_Cacturne),
|
||||
// SPECIES_PAL(SNORUNT, gMonPalette_Snorunt),
|
||||
// SPECIES_PAL(GLALIE, gMonPalette_Glalie),
|
||||
// SPECIES_PAL(LUNATONE, gMonPalette_Lunatone),
|
||||
// SPECIES_PAL(SOLROCK, gMonPalette_Solrock),
|
||||
// SPECIES_PAL(AZURILL, gMonPalette_Azurill),
|
||||
// SPECIES_PAL(SPOINK, gMonPalette_Spoink),
|
||||
// SPECIES_PAL(GRUMPIG, gMonPalette_Grumpig),
|
||||
// SPECIES_PAL(PLUSLE, gMonPalette_Plusle),
|
||||
// SPECIES_PAL(MINUN, gMonPalette_Minun),
|
||||
// SPECIES_PAL(MAWILE, gMonPalette_Mawile),
|
||||
// SPECIES_PAL(MEDITITE, gMonPalette_Meditite),
|
||||
// SPECIES_PAL(MEDICHAM, gMonPalette_Medicham),
|
||||
// SPECIES_PAL(SWABLU, gMonPalette_Swablu),
|
||||
// SPECIES_PAL(ALTARIA, gMonPalette_Altaria),
|
||||
// SPECIES_PAL(WYNAUT, gMonPalette_Wynaut),
|
||||
// SPECIES_PAL(DUSKULL, gMonPalette_Duskull),
|
||||
// SPECIES_PAL(DUSCLOPS, gMonPalette_Dusclops),
|
||||
// SPECIES_PAL(ROSELIA, gMonPalette_Roselia),
|
||||
// SPECIES_PAL(SLAKOTH, gMonPalette_Slakoth),
|
||||
// SPECIES_PAL(VIGOROTH, gMonPalette_Vigoroth),
|
||||
// SPECIES_PAL(SLAKING, gMonPalette_Slaking),
|
||||
// SPECIES_PAL(GULPIN, gMonPalette_Gulpin),
|
||||
// SPECIES_PAL(SWALOT, gMonPalette_Swalot),
|
||||
// SPECIES_PAL(TROPIUS, gMonPalette_Tropius),
|
||||
// SPECIES_PAL(WHISMUR, gMonPalette_Whismur),
|
||||
// SPECIES_PAL(LOUDRED, gMonPalette_Loudred),
|
||||
// SPECIES_PAL(EXPLOUD, gMonPalette_Exploud),
|
||||
// SPECIES_PAL(CLAMPERL, gMonPalette_Clamperl),
|
||||
// SPECIES_PAL(HUNTAIL, gMonPalette_Huntail),
|
||||
// SPECIES_PAL(GOREBYSS, gMonPalette_Gorebyss),
|
||||
// SPECIES_PAL(ABSOL, gMonPalette_Absol),
|
||||
// SPECIES_PAL(SHUPPET, gMonPalette_Shuppet),
|
||||
// SPECIES_PAL(BANETTE, gMonPalette_Banette),
|
||||
// SPECIES_PAL(SEVIPER, gMonPalette_Seviper),
|
||||
// SPECIES_PAL(ZANGOOSE, gMonPalette_Zangoose),
|
||||
// SPECIES_PAL(RELICANTH, gMonPalette_Relicanth),
|
||||
// SPECIES_PAL(ARON, gMonPalette_Aron),
|
||||
// SPECIES_PAL(LAIRON, gMonPalette_Lairon),
|
||||
// SPECIES_PAL(AGGRON, gMonPalette_Aggron),
|
||||
// SPECIES_PAL(CASTFORM, gMonPalette_Castform),
|
||||
// SPECIES_PAL(VOLBEAT, gMonPalette_Volbeat),
|
||||
// SPECIES_PAL(ILLUMISE, gMonPalette_Illumise),
|
||||
// SPECIES_PAL(LILEEP, gMonPalette_Lileep),
|
||||
// SPECIES_PAL(CRADILY, gMonPalette_Cradily),
|
||||
// SPECIES_PAL(ANORITH, gMonPalette_Anorith),
|
||||
// SPECIES_PAL(ARMALDO, gMonPalette_Armaldo),
|
||||
// SPECIES_PAL(RALTS, gMonPalette_Ralts),
|
||||
// SPECIES_PAL(KIRLIA, gMonPalette_Kirlia),
|
||||
// SPECIES_PAL(GARDEVOIR, gMonPalette_Gardevoir),
|
||||
// SPECIES_PAL(BAGON, gMonPalette_Bagon),
|
||||
// SPECIES_PAL(SHELGON, gMonPalette_Shelgon),
|
||||
// SPECIES_PAL(SALAMENCE, gMonPalette_Salamence),
|
||||
// SPECIES_PAL(BELDUM, gMonPalette_Beldum),
|
||||
// SPECIES_PAL(METANG, gMonPalette_Metang),
|
||||
// SPECIES_PAL(METAGROSS, gMonPalette_Metagross),
|
||||
// SPECIES_PAL(REGIROCK, gMonPalette_Regirock),
|
||||
// SPECIES_PAL(REGICE, gMonPalette_Regice),
|
||||
// SPECIES_PAL(REGISTEEL, gMonPalette_Registeel),
|
||||
// SPECIES_PAL(KYOGRE, gMonPalette_Kyogre),
|
||||
// SPECIES_PAL(GROUDON, gMonPalette_Groudon),
|
||||
// SPECIES_PAL(RAYQUAZA, gMonPalette_Rayquaza),
|
||||
// SPECIES_PAL(LATIAS, gMonPalette_Latias),
|
||||
// SPECIES_PAL(LATIOS, gMonPalette_Latios),
|
||||
// SPECIES_PAL(JIRACHI, gMonPalette_Jirachi),
|
||||
// SPECIES_PAL(DEOXYS, gMonPalette_Deoxys),
|
||||
// SPECIES_PAL(CHIMECHO, gMonPalette_Chimecho),
|
||||
// SPECIES_PAL(EGG, gMonPalette_Egg),
|
||||
// SPECIES_PAL(UNOWN_B, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_C, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_D, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_E, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_F, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_G, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_H, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_I, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_J, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_K, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_L, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_M, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_N, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_O, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_P, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_Q, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_R, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_S, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_T, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_U, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_V, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_W, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_X, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_Y, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_Z, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_EMARK, gMonPalette_Unown),
|
||||
// SPECIES_PAL(UNOWN_QMARK, gMonPalette_Unown),
|
||||
// };
|
||||
|
|
@ -1,443 +0,0 @@
|
|||
// const struct CompressedSpritePalette gMonShinyPaletteTable[] =
|
||||
// {
|
||||
// SPECIES_SHINY_PAL(NONE, gMonShinyPalette_CircledQuestionMark),
|
||||
// SPECIES_SHINY_PAL(BULBASAUR, gMonShinyPalette_Bulbasaur),
|
||||
// SPECIES_SHINY_PAL(IVYSAUR, gMonShinyPalette_Ivysaur),
|
||||
// SPECIES_SHINY_PAL(VENUSAUR, gMonShinyPalette_Venusaur),
|
||||
// SPECIES_SHINY_PAL(CHARMANDER, gMonShinyPalette_Charmander),
|
||||
// SPECIES_SHINY_PAL(CHARMELEON, gMonShinyPalette_Charmeleon),
|
||||
// SPECIES_SHINY_PAL(CHARIZARD, gMonShinyPalette_Charizard),
|
||||
// SPECIES_SHINY_PAL(SQUIRTLE, gMonShinyPalette_Squirtle),
|
||||
// SPECIES_SHINY_PAL(WARTORTLE, gMonShinyPalette_Wartortle),
|
||||
// SPECIES_SHINY_PAL(BLASTOISE, gMonShinyPalette_Blastoise),
|
||||
// SPECIES_SHINY_PAL(CATERPIE, gMonShinyPalette_Caterpie),
|
||||
// SPECIES_SHINY_PAL(METAPOD, gMonShinyPalette_Metapod),
|
||||
// SPECIES_SHINY_PAL(BUTTERFREE, gMonShinyPalette_Butterfree),
|
||||
// SPECIES_SHINY_PAL(WEEDLE, gMonShinyPalette_Weedle),
|
||||
// SPECIES_SHINY_PAL(KAKUNA, gMonShinyPalette_Kakuna),
|
||||
// SPECIES_SHINY_PAL(BEEDRILL, gMonShinyPalette_Beedrill),
|
||||
// SPECIES_SHINY_PAL(PIDGEY, gMonShinyPalette_Pidgey),
|
||||
// SPECIES_SHINY_PAL(PIDGEOTTO, gMonShinyPalette_Pidgeotto),
|
||||
// SPECIES_SHINY_PAL(PIDGEOT, gMonShinyPalette_Pidgeot),
|
||||
// SPECIES_SHINY_PAL(RATTATA, gMonShinyPalette_Rattata),
|
||||
// SPECIES_SHINY_PAL(RATICATE, gMonShinyPalette_Raticate),
|
||||
// SPECIES_SHINY_PAL(SPEAROW, gMonShinyPalette_Spearow),
|
||||
// SPECIES_SHINY_PAL(FEAROW, gMonShinyPalette_Fearow),
|
||||
// SPECIES_SHINY_PAL(EKANS, gMonShinyPalette_Ekans),
|
||||
// SPECIES_SHINY_PAL(ARBOK, gMonShinyPalette_Arbok),
|
||||
// SPECIES_SHINY_PAL(PIKACHU, gMonShinyPalette_Pikachu),
|
||||
// SPECIES_SHINY_PAL(RAICHU, gMonShinyPalette_Raichu),
|
||||
// SPECIES_SHINY_PAL(SANDSHREW, gMonShinyPalette_Sandshrew),
|
||||
// SPECIES_SHINY_PAL(SANDSLASH, gMonShinyPalette_Sandslash),
|
||||
// SPECIES_SHINY_PAL(NIDORAN_F, gMonShinyPalette_NidoranF),
|
||||
// SPECIES_SHINY_PAL(NIDORINA, gMonShinyPalette_Nidorina),
|
||||
// SPECIES_SHINY_PAL(NIDOQUEEN, gMonShinyPalette_Nidoqueen),
|
||||
// SPECIES_SHINY_PAL(NIDORAN_M, gMonShinyPalette_NidoranM),
|
||||
// SPECIES_SHINY_PAL(NIDORINO, gMonShinyPalette_Nidorino),
|
||||
// SPECIES_SHINY_PAL(NIDOKING, gMonShinyPalette_Nidoking),
|
||||
// SPECIES_SHINY_PAL(CLEFAIRY, gMonShinyPalette_Clefairy),
|
||||
// SPECIES_SHINY_PAL(CLEFABLE, gMonShinyPalette_Clefable),
|
||||
// SPECIES_SHINY_PAL(VULPIX, gMonShinyPalette_Vulpix),
|
||||
// SPECIES_SHINY_PAL(NINETALES, gMonShinyPalette_Ninetales),
|
||||
// SPECIES_SHINY_PAL(JIGGLYPUFF, gMonShinyPalette_Jigglypuff),
|
||||
// SPECIES_SHINY_PAL(WIGGLYTUFF, gMonShinyPalette_Wigglytuff),
|
||||
// SPECIES_SHINY_PAL(ZUBAT, gMonShinyPalette_Zubat),
|
||||
// SPECIES_SHINY_PAL(GOLBAT, gMonShinyPalette_Golbat),
|
||||
// SPECIES_SHINY_PAL(ODDISH, gMonShinyPalette_Oddish),
|
||||
// SPECIES_SHINY_PAL(GLOOM, gMonShinyPalette_Gloom),
|
||||
// SPECIES_SHINY_PAL(VILEPLUME, gMonShinyPalette_Vileplume),
|
||||
// SPECIES_SHINY_PAL(PARAS, gMonShinyPalette_Paras),
|
||||
// SPECIES_SHINY_PAL(PARASECT, gMonShinyPalette_Parasect),
|
||||
// SPECIES_SHINY_PAL(VENONAT, gMonShinyPalette_Venonat),
|
||||
// SPECIES_SHINY_PAL(VENOMOTH, gMonShinyPalette_Venomoth),
|
||||
// SPECIES_SHINY_PAL(DIGLETT, gMonShinyPalette_Diglett),
|
||||
// SPECIES_SHINY_PAL(DUGTRIO, gMonShinyPalette_Dugtrio),
|
||||
// SPECIES_SHINY_PAL(MEOWTH, gMonShinyPalette_Meowth),
|
||||
// SPECIES_SHINY_PAL(PERSIAN, gMonShinyPalette_Persian),
|
||||
// SPECIES_SHINY_PAL(PSYDUCK, gMonShinyPalette_Psyduck),
|
||||
// SPECIES_SHINY_PAL(GOLDUCK, gMonShinyPalette_Golduck),
|
||||
// SPECIES_SHINY_PAL(MANKEY, gMonShinyPalette_Mankey),
|
||||
// SPECIES_SHINY_PAL(PRIMEAPE, gMonShinyPalette_Primeape),
|
||||
// SPECIES_SHINY_PAL(GROWLITHE, gMonShinyPalette_Growlithe),
|
||||
// SPECIES_SHINY_PAL(ARCANINE, gMonShinyPalette_Arcanine),
|
||||
// SPECIES_SHINY_PAL(POLIWAG, gMonShinyPalette_Poliwag),
|
||||
// SPECIES_SHINY_PAL(POLIWHIRL, gMonShinyPalette_Poliwhirl),
|
||||
// SPECIES_SHINY_PAL(POLIWRATH, gMonShinyPalette_Poliwrath),
|
||||
// SPECIES_SHINY_PAL(ABRA, gMonShinyPalette_Abra),
|
||||
// SPECIES_SHINY_PAL(KADABRA, gMonShinyPalette_Kadabra),
|
||||
// SPECIES_SHINY_PAL(ALAKAZAM, gMonShinyPalette_Alakazam),
|
||||
// SPECIES_SHINY_PAL(MACHOP, gMonShinyPalette_Machop),
|
||||
// SPECIES_SHINY_PAL(MACHOKE, gMonShinyPalette_Machoke),
|
||||
// SPECIES_SHINY_PAL(MACHAMP, gMonShinyPalette_Machamp),
|
||||
// SPECIES_SHINY_PAL(BELLSPROUT, gMonShinyPalette_Bellsprout),
|
||||
// SPECIES_SHINY_PAL(WEEPINBELL, gMonShinyPalette_Weepinbell),
|
||||
// SPECIES_SHINY_PAL(VICTREEBEL, gMonShinyPalette_Victreebel),
|
||||
// SPECIES_SHINY_PAL(TENTACOOL, gMonShinyPalette_Tentacool),
|
||||
// SPECIES_SHINY_PAL(TENTACRUEL, gMonShinyPalette_Tentacruel),
|
||||
// SPECIES_SHINY_PAL(GEODUDE, gMonShinyPalette_Geodude),
|
||||
// SPECIES_SHINY_PAL(GRAVELER, gMonShinyPalette_Graveler),
|
||||
// SPECIES_SHINY_PAL(GOLEM, gMonShinyPalette_Golem),
|
||||
// SPECIES_SHINY_PAL(PONYTA, gMonShinyPalette_Ponyta),
|
||||
// SPECIES_SHINY_PAL(RAPIDASH, gMonShinyPalette_Rapidash),
|
||||
// SPECIES_SHINY_PAL(SLOWPOKE, gMonShinyPalette_Slowpoke),
|
||||
// SPECIES_SHINY_PAL(SLOWBRO, gMonShinyPalette_Slowbro),
|
||||
// SPECIES_SHINY_PAL(MAGNEMITE, gMonShinyPalette_Magnemite),
|
||||
// SPECIES_SHINY_PAL(MAGNETON, gMonShinyPalette_Magneton),
|
||||
// SPECIES_SHINY_PAL(FARFETCHD, gMonShinyPalette_Farfetchd),
|
||||
// SPECIES_SHINY_PAL(DODUO, gMonShinyPalette_Doduo),
|
||||
// SPECIES_SHINY_PAL(DODRIO, gMonShinyPalette_Dodrio),
|
||||
// SPECIES_SHINY_PAL(SEEL, gMonShinyPalette_Seel),
|
||||
// SPECIES_SHINY_PAL(DEWGONG, gMonShinyPalette_Dewgong),
|
||||
// SPECIES_SHINY_PAL(GRIMER, gMonShinyPalette_Grimer),
|
||||
// SPECIES_SHINY_PAL(MUK, gMonShinyPalette_Muk),
|
||||
// SPECIES_SHINY_PAL(SHELLDER, gMonShinyPalette_Shellder),
|
||||
// SPECIES_SHINY_PAL(CLOYSTER, gMonShinyPalette_Cloyster),
|
||||
// SPECIES_SHINY_PAL(GASTLY, gMonShinyPalette_Gastly),
|
||||
// SPECIES_SHINY_PAL(HAUNTER, gMonShinyPalette_Haunter),
|
||||
// SPECIES_SHINY_PAL(GENGAR, gMonShinyPalette_Gengar),
|
||||
// SPECIES_SHINY_PAL(ONIX, gMonShinyPalette_Onix),
|
||||
// SPECIES_SHINY_PAL(DROWZEE, gMonShinyPalette_Drowzee),
|
||||
// SPECIES_SHINY_PAL(HYPNO, gMonShinyPalette_Hypno),
|
||||
// SPECIES_SHINY_PAL(KRABBY, gMonShinyPalette_Krabby),
|
||||
// SPECIES_SHINY_PAL(KINGLER, gMonShinyPalette_Kingler),
|
||||
// SPECIES_SHINY_PAL(VOLTORB, gMonShinyPalette_Voltorb),
|
||||
// SPECIES_SHINY_PAL(ELECTRODE, gMonShinyPalette_Electrode),
|
||||
// SPECIES_SHINY_PAL(EXEGGCUTE, gMonShinyPalette_Exeggcute),
|
||||
// SPECIES_SHINY_PAL(EXEGGUTOR, gMonShinyPalette_Exeggutor),
|
||||
// SPECIES_SHINY_PAL(CUBONE, gMonShinyPalette_Cubone),
|
||||
// SPECIES_SHINY_PAL(MAROWAK, gMonShinyPalette_Marowak),
|
||||
// SPECIES_SHINY_PAL(HITMONLEE, gMonShinyPalette_Hitmonlee),
|
||||
// SPECIES_SHINY_PAL(HITMONCHAN, gMonShinyPalette_Hitmonchan),
|
||||
// SPECIES_SHINY_PAL(LICKITUNG, gMonShinyPalette_Lickitung),
|
||||
// SPECIES_SHINY_PAL(KOFFING, gMonShinyPalette_Koffing),
|
||||
// SPECIES_SHINY_PAL(WEEZING, gMonShinyPalette_Weezing),
|
||||
// SPECIES_SHINY_PAL(RHYHORN, gMonShinyPalette_Rhyhorn),
|
||||
// SPECIES_SHINY_PAL(RHYDON, gMonShinyPalette_Rhydon),
|
||||
// SPECIES_SHINY_PAL(CHANSEY, gMonShinyPalette_Chansey),
|
||||
// SPECIES_SHINY_PAL(TANGELA, gMonShinyPalette_Tangela),
|
||||
// SPECIES_SHINY_PAL(KANGASKHAN, gMonShinyPalette_Kangaskhan),
|
||||
// SPECIES_SHINY_PAL(HORSEA, gMonShinyPalette_Horsea),
|
||||
// SPECIES_SHINY_PAL(SEADRA, gMonShinyPalette_Seadra),
|
||||
// SPECIES_SHINY_PAL(GOLDEEN, gMonShinyPalette_Goldeen),
|
||||
// SPECIES_SHINY_PAL(SEAKING, gMonShinyPalette_Seaking),
|
||||
// SPECIES_SHINY_PAL(STARYU, gMonShinyPalette_Staryu),
|
||||
// SPECIES_SHINY_PAL(STARMIE, gMonShinyPalette_Starmie),
|
||||
// SPECIES_SHINY_PAL(MR_MIME, gMonShinyPalette_Mrmime),
|
||||
// SPECIES_SHINY_PAL(SCYTHER, gMonShinyPalette_Scyther),
|
||||
// SPECIES_SHINY_PAL(JYNX, gMonShinyPalette_Jynx),
|
||||
// SPECIES_SHINY_PAL(ELECTABUZZ, gMonShinyPalette_Electabuzz),
|
||||
// SPECIES_SHINY_PAL(MAGMAR, gMonShinyPalette_Magmar),
|
||||
// SPECIES_SHINY_PAL(PINSIR, gMonShinyPalette_Pinsir),
|
||||
// SPECIES_SHINY_PAL(TAUROS, gMonShinyPalette_Tauros),
|
||||
// SPECIES_SHINY_PAL(MAGIKARP, gMonShinyPalette_Magikarp),
|
||||
// SPECIES_SHINY_PAL(GYARADOS, gMonShinyPalette_Gyarados),
|
||||
// SPECIES_SHINY_PAL(LAPRAS, gMonShinyPalette_Lapras),
|
||||
// SPECIES_SHINY_PAL(DITTO, gMonShinyPalette_Ditto),
|
||||
// SPECIES_SHINY_PAL(EEVEE, gMonShinyPalette_Eevee),
|
||||
// SPECIES_SHINY_PAL(VAPOREON, gMonShinyPalette_Vaporeon),
|
||||
// SPECIES_SHINY_PAL(JOLTEON, gMonShinyPalette_Jolteon),
|
||||
// SPECIES_SHINY_PAL(FLAREON, gMonShinyPalette_Flareon),
|
||||
// SPECIES_SHINY_PAL(PORYGON, gMonShinyPalette_Porygon),
|
||||
// SPECIES_SHINY_PAL(OMANYTE, gMonShinyPalette_Omanyte),
|
||||
// SPECIES_SHINY_PAL(OMASTAR, gMonShinyPalette_Omastar),
|
||||
// SPECIES_SHINY_PAL(KABUTO, gMonShinyPalette_Kabuto),
|
||||
// SPECIES_SHINY_PAL(KABUTOPS, gMonShinyPalette_Kabutops),
|
||||
// SPECIES_SHINY_PAL(AERODACTYL, gMonShinyPalette_Aerodactyl),
|
||||
// SPECIES_SHINY_PAL(SNORLAX, gMonShinyPalette_Snorlax),
|
||||
// SPECIES_SHINY_PAL(ARTICUNO, gMonShinyPalette_Articuno),
|
||||
// SPECIES_SHINY_PAL(ZAPDOS, gMonShinyPalette_Zapdos),
|
||||
// SPECIES_SHINY_PAL(MOLTRES, gMonShinyPalette_Moltres),
|
||||
// SPECIES_SHINY_PAL(DRATINI, gMonShinyPalette_Dratini),
|
||||
// SPECIES_SHINY_PAL(DRAGONAIR, gMonShinyPalette_Dragonair),
|
||||
// SPECIES_SHINY_PAL(DRAGONITE, gMonShinyPalette_Dragonite),
|
||||
// SPECIES_SHINY_PAL(MEWTWO, gMonShinyPalette_Mewtwo),
|
||||
// SPECIES_SHINY_PAL(MEW, gMonShinyPalette_Mew),
|
||||
// SPECIES_SHINY_PAL(CHIKORITA, gMonShinyPalette_Chikorita),
|
||||
// SPECIES_SHINY_PAL(BAYLEEF, gMonShinyPalette_Bayleef),
|
||||
// SPECIES_SHINY_PAL(MEGANIUM, gMonShinyPalette_Meganium),
|
||||
// SPECIES_SHINY_PAL(CYNDAQUIL, gMonShinyPalette_Cyndaquil),
|
||||
// SPECIES_SHINY_PAL(QUILAVA, gMonShinyPalette_Quilava),
|
||||
// SPECIES_SHINY_PAL(TYPHLOSION, gMonShinyPalette_Typhlosion),
|
||||
// SPECIES_SHINY_PAL(TOTODILE, gMonShinyPalette_Totodile),
|
||||
// SPECIES_SHINY_PAL(CROCONAW, gMonShinyPalette_Croconaw),
|
||||
// SPECIES_SHINY_PAL(FERALIGATR, gMonShinyPalette_Feraligatr),
|
||||
// SPECIES_SHINY_PAL(SENTRET, gMonShinyPalette_Sentret),
|
||||
// SPECIES_SHINY_PAL(FURRET, gMonShinyPalette_Furret),
|
||||
// SPECIES_SHINY_PAL(HOOTHOOT, gMonShinyPalette_Hoothoot),
|
||||
// SPECIES_SHINY_PAL(NOCTOWL, gMonShinyPalette_Noctowl),
|
||||
// SPECIES_SHINY_PAL(LEDYBA, gMonShinyPalette_Ledyba),
|
||||
// SPECIES_SHINY_PAL(LEDIAN, gMonShinyPalette_Ledian),
|
||||
// SPECIES_SHINY_PAL(SPINARAK, gMonShinyPalette_Spinarak),
|
||||
// SPECIES_SHINY_PAL(ARIADOS, gMonShinyPalette_Ariados),
|
||||
// SPECIES_SHINY_PAL(CROBAT, gMonShinyPalette_Crobat),
|
||||
// SPECIES_SHINY_PAL(CHINCHOU, gMonShinyPalette_Chinchou),
|
||||
// SPECIES_SHINY_PAL(LANTURN, gMonShinyPalette_Lanturn),
|
||||
// SPECIES_SHINY_PAL(PICHU, gMonShinyPalette_Pichu),
|
||||
// SPECIES_SHINY_PAL(CLEFFA, gMonShinyPalette_Cleffa),
|
||||
// SPECIES_SHINY_PAL(IGGLYBUFF, gMonShinyPalette_Igglybuff),
|
||||
// SPECIES_SHINY_PAL(TOGEPI, gMonShinyPalette_Togepi),
|
||||
// SPECIES_SHINY_PAL(TOGETIC, gMonShinyPalette_Togetic),
|
||||
// SPECIES_SHINY_PAL(NATU, gMonShinyPalette_Natu),
|
||||
// SPECIES_SHINY_PAL(XATU, gMonShinyPalette_Xatu),
|
||||
// SPECIES_SHINY_PAL(MAREEP, gMonShinyPalette_Mareep),
|
||||
// SPECIES_SHINY_PAL(FLAAFFY, gMonShinyPalette_Flaaffy),
|
||||
// SPECIES_SHINY_PAL(AMPHAROS, gMonShinyPalette_Ampharos),
|
||||
// SPECIES_SHINY_PAL(BELLOSSOM, gMonShinyPalette_Bellossom),
|
||||
// SPECIES_SHINY_PAL(MARILL, gMonShinyPalette_Marill),
|
||||
// SPECIES_SHINY_PAL(AZUMARILL, gMonShinyPalette_Azumarill),
|
||||
// SPECIES_SHINY_PAL(SUDOWOODO, gMonShinyPalette_Sudowoodo),
|
||||
// SPECIES_SHINY_PAL(POLITOED, gMonShinyPalette_Politoed),
|
||||
// SPECIES_SHINY_PAL(HOPPIP, gMonShinyPalette_Hoppip),
|
||||
// SPECIES_SHINY_PAL(SKIPLOOM, gMonShinyPalette_Skiploom),
|
||||
// SPECIES_SHINY_PAL(JUMPLUFF, gMonShinyPalette_Jumpluff),
|
||||
// SPECIES_SHINY_PAL(AIPOM, gMonShinyPalette_Aipom),
|
||||
// SPECIES_SHINY_PAL(SUNKERN, gMonShinyPalette_Sunkern),
|
||||
// SPECIES_SHINY_PAL(SUNFLORA, gMonShinyPalette_Sunflora),
|
||||
// SPECIES_SHINY_PAL(YANMA, gMonShinyPalette_Yanma),
|
||||
// SPECIES_SHINY_PAL(WOOPER, gMonShinyPalette_Wooper),
|
||||
// SPECIES_SHINY_PAL(QUAGSIRE, gMonShinyPalette_Quagsire),
|
||||
// SPECIES_SHINY_PAL(ESPEON, gMonShinyPalette_Espeon),
|
||||
// SPECIES_SHINY_PAL(UMBREON, gMonShinyPalette_Umbreon),
|
||||
// SPECIES_SHINY_PAL(MURKROW, gMonShinyPalette_Murkrow),
|
||||
// SPECIES_SHINY_PAL(SLOWKING, gMonShinyPalette_Slowking),
|
||||
// SPECIES_SHINY_PAL(MISDREAVUS, gMonShinyPalette_Misdreavus),
|
||||
// SPECIES_SHINY_PAL(UNOWN, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(WOBBUFFET, gMonShinyPalette_Wobbuffet),
|
||||
// SPECIES_SHINY_PAL(GIRAFARIG, gMonShinyPalette_Girafarig),
|
||||
// SPECIES_SHINY_PAL(PINECO, gMonShinyPalette_Pineco),
|
||||
// SPECIES_SHINY_PAL(FORRETRESS, gMonShinyPalette_Forretress),
|
||||
// SPECIES_SHINY_PAL(DUNSPARCE, gMonShinyPalette_Dunsparce),
|
||||
// SPECIES_SHINY_PAL(GLIGAR, gMonShinyPalette_Gligar),
|
||||
// SPECIES_SHINY_PAL(STEELIX, gMonShinyPalette_Steelix),
|
||||
// SPECIES_SHINY_PAL(SNUBBULL, gMonShinyPalette_Snubbull),
|
||||
// SPECIES_SHINY_PAL(GRANBULL, gMonShinyPalette_Granbull),
|
||||
// SPECIES_SHINY_PAL(QWILFISH, gMonShinyPalette_Qwilfish),
|
||||
// SPECIES_SHINY_PAL(SCIZOR, gMonShinyPalette_Scizor),
|
||||
// SPECIES_SHINY_PAL(SHUCKLE, gMonShinyPalette_Shuckle),
|
||||
// SPECIES_SHINY_PAL(HERACROSS, gMonShinyPalette_Heracross),
|
||||
// SPECIES_SHINY_PAL(SNEASEL, gMonShinyPalette_Sneasel),
|
||||
// SPECIES_SHINY_PAL(TEDDIURSA, gMonShinyPalette_Teddiursa),
|
||||
// SPECIES_SHINY_PAL(URSARING, gMonShinyPalette_Ursaring),
|
||||
// SPECIES_SHINY_PAL(SLUGMA, gMonShinyPalette_Slugma),
|
||||
// SPECIES_SHINY_PAL(MAGCARGO, gMonShinyPalette_Magcargo),
|
||||
// SPECIES_SHINY_PAL(SWINUB, gMonShinyPalette_Swinub),
|
||||
// SPECIES_SHINY_PAL(PILOSWINE, gMonShinyPalette_Piloswine),
|
||||
// SPECIES_SHINY_PAL(CORSOLA, gMonShinyPalette_Corsola),
|
||||
// SPECIES_SHINY_PAL(REMORAID, gMonShinyPalette_Remoraid),
|
||||
// SPECIES_SHINY_PAL(OCTILLERY, gMonShinyPalette_Octillery),
|
||||
// SPECIES_SHINY_PAL(DELIBIRD, gMonShinyPalette_Delibird),
|
||||
// SPECIES_SHINY_PAL(MANTINE, gMonShinyPalette_Mantine),
|
||||
// SPECIES_SHINY_PAL(SKARMORY, gMonShinyPalette_Skarmory),
|
||||
// SPECIES_SHINY_PAL(HOUNDOUR, gMonShinyPalette_Houndour),
|
||||
// SPECIES_SHINY_PAL(HOUNDOOM, gMonShinyPalette_Houndoom),
|
||||
// SPECIES_SHINY_PAL(KINGDRA, gMonShinyPalette_Kingdra),
|
||||
// SPECIES_SHINY_PAL(PHANPY, gMonShinyPalette_Phanpy),
|
||||
// SPECIES_SHINY_PAL(DONPHAN, gMonShinyPalette_Donphan),
|
||||
// SPECIES_SHINY_PAL(PORYGON2, gMonShinyPalette_Porygon2),
|
||||
// SPECIES_SHINY_PAL(STANTLER, gMonShinyPalette_Stantler),
|
||||
// SPECIES_SHINY_PAL(SMEARGLE, gMonShinyPalette_Smeargle),
|
||||
// SPECIES_SHINY_PAL(TYROGUE, gMonShinyPalette_Tyrogue),
|
||||
// SPECIES_SHINY_PAL(HITMONTOP, gMonShinyPalette_Hitmontop),
|
||||
// SPECIES_SHINY_PAL(SMOOCHUM, gMonShinyPalette_Smoochum),
|
||||
// SPECIES_SHINY_PAL(ELEKID, gMonShinyPalette_Elekid),
|
||||
// SPECIES_SHINY_PAL(MAGBY, gMonShinyPalette_Magby),
|
||||
// SPECIES_SHINY_PAL(MILTANK, gMonShinyPalette_Miltank),
|
||||
// SPECIES_SHINY_PAL(BLISSEY, gMonShinyPalette_Blissey),
|
||||
// SPECIES_SHINY_PAL(RAIKOU, gMonShinyPalette_Raikou),
|
||||
// SPECIES_SHINY_PAL(ENTEI, gMonShinyPalette_Entei),
|
||||
// SPECIES_SHINY_PAL(SUICUNE, gMonShinyPalette_Suicune),
|
||||
// SPECIES_SHINY_PAL(LARVITAR, gMonShinyPalette_Larvitar),
|
||||
// SPECIES_SHINY_PAL(PUPITAR, gMonShinyPalette_Pupitar),
|
||||
// SPECIES_SHINY_PAL(TYRANITAR, gMonShinyPalette_Tyranitar),
|
||||
// SPECIES_SHINY_PAL(LUGIA, gMonShinyPalette_Lugia),
|
||||
// SPECIES_SHINY_PAL(HO_OH, gMonShinyPalette_HoOh),
|
||||
// SPECIES_SHINY_PAL(CELEBI, gMonShinyPalette_Celebi),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_B, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_C, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_D, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_E, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_F, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_G, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_H, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_I, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_J, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_K, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_L, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_M, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_N, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_O, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_P, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_Q, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_R, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_S, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_T, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_U, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_V, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_W, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_X, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_Y, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(OLD_UNOWN_Z, gMonShinyPalette_DoubleQuestionMark),
|
||||
// SPECIES_SHINY_PAL(TREECKO, gMonShinyPalette_Treecko),
|
||||
// SPECIES_SHINY_PAL(GROVYLE, gMonShinyPalette_Grovyle),
|
||||
// SPECIES_SHINY_PAL(SCEPTILE, gMonShinyPalette_Sceptile),
|
||||
// SPECIES_SHINY_PAL(TORCHIC, gMonShinyPalette_Torchic),
|
||||
// SPECIES_SHINY_PAL(COMBUSKEN, gMonShinyPalette_Combusken),
|
||||
// SPECIES_SHINY_PAL(BLAZIKEN, gMonShinyPalette_Blaziken),
|
||||
// SPECIES_SHINY_PAL(MUDKIP, gMonShinyPalette_Mudkip),
|
||||
// SPECIES_SHINY_PAL(MARSHTOMP, gMonShinyPalette_Marshtomp),
|
||||
// SPECIES_SHINY_PAL(SWAMPERT, gMonShinyPalette_Swampert),
|
||||
// SPECIES_SHINY_PAL(POOCHYENA, gMonShinyPalette_Poochyena),
|
||||
// SPECIES_SHINY_PAL(MIGHTYENA, gMonShinyPalette_Mightyena),
|
||||
// SPECIES_SHINY_PAL(ZIGZAGOON, gMonShinyPalette_Zigzagoon),
|
||||
// SPECIES_SHINY_PAL(LINOONE, gMonShinyPalette_Linoone),
|
||||
// SPECIES_SHINY_PAL(WURMPLE, gMonShinyPalette_Wurmple),
|
||||
// SPECIES_SHINY_PAL(SILCOON, gMonShinyPalette_Silcoon),
|
||||
// SPECIES_SHINY_PAL(BEAUTIFLY, gMonShinyPalette_Beautifly),
|
||||
// SPECIES_SHINY_PAL(CASCOON, gMonShinyPalette_Cascoon),
|
||||
// SPECIES_SHINY_PAL(DUSTOX, gMonShinyPalette_Dustox),
|
||||
// SPECIES_SHINY_PAL(LOTAD, gMonShinyPalette_Lotad),
|
||||
// SPECIES_SHINY_PAL(LOMBRE, gMonShinyPalette_Lombre),
|
||||
// SPECIES_SHINY_PAL(LUDICOLO, gMonShinyPalette_Ludicolo),
|
||||
// SPECIES_SHINY_PAL(SEEDOT, gMonShinyPalette_Seedot),
|
||||
// SPECIES_SHINY_PAL(NUZLEAF, gMonShinyPalette_Nuzleaf),
|
||||
// SPECIES_SHINY_PAL(SHIFTRY, gMonShinyPalette_Shiftry),
|
||||
// SPECIES_SHINY_PAL(NINCADA, gMonShinyPalette_Nincada),
|
||||
// SPECIES_SHINY_PAL(NINJASK, gMonShinyPalette_Ninjask),
|
||||
// SPECIES_SHINY_PAL(SHEDINJA, gMonShinyPalette_Shedinja),
|
||||
// SPECIES_SHINY_PAL(TAILLOW, gMonShinyPalette_Taillow),
|
||||
// SPECIES_SHINY_PAL(SWELLOW, gMonShinyPalette_Swellow),
|
||||
// SPECIES_SHINY_PAL(SHROOMISH, gMonShinyPalette_Shroomish),
|
||||
// SPECIES_SHINY_PAL(BRELOOM, gMonShinyPalette_Breloom),
|
||||
// SPECIES_SHINY_PAL(SPINDA, gMonShinyPalette_Spinda),
|
||||
// SPECIES_SHINY_PAL(WINGULL, gMonShinyPalette_Wingull),
|
||||
// SPECIES_SHINY_PAL(PELIPPER, gMonShinyPalette_Pelipper),
|
||||
// SPECIES_SHINY_PAL(SURSKIT, gMonShinyPalette_Surskit),
|
||||
// SPECIES_SHINY_PAL(MASQUERAIN, gMonShinyPalette_Masquerain),
|
||||
// SPECIES_SHINY_PAL(WAILMER, gMonShinyPalette_Wailmer),
|
||||
// SPECIES_SHINY_PAL(WAILORD, gMonShinyPalette_Wailord),
|
||||
// SPECIES_SHINY_PAL(SKITTY, gMonShinyPalette_Skitty),
|
||||
// SPECIES_SHINY_PAL(DELCATTY, gMonShinyPalette_Delcatty),
|
||||
// SPECIES_SHINY_PAL(KECLEON, gMonShinyPalette_Kecleon),
|
||||
// SPECIES_SHINY_PAL(BALTOY, gMonShinyPalette_Baltoy),
|
||||
// SPECIES_SHINY_PAL(CLAYDOL, gMonShinyPalette_Claydol),
|
||||
// SPECIES_SHINY_PAL(NOSEPASS, gMonShinyPalette_Nosepass),
|
||||
// SPECIES_SHINY_PAL(TORKOAL, gMonShinyPalette_Torkoal),
|
||||
// SPECIES_SHINY_PAL(SABLEYE, gMonShinyPalette_Sableye),
|
||||
// SPECIES_SHINY_PAL(BARBOACH, gMonShinyPalette_Barboach),
|
||||
// SPECIES_SHINY_PAL(WHISCASH, gMonShinyPalette_Whiscash),
|
||||
// SPECIES_SHINY_PAL(LUVDISC, gMonShinyPalette_Luvdisc),
|
||||
// SPECIES_SHINY_PAL(CORPHISH, gMonShinyPalette_Corphish),
|
||||
// SPECIES_SHINY_PAL(CRAWDAUNT, gMonShinyPalette_Crawdaunt),
|
||||
// SPECIES_SHINY_PAL(FEEBAS, gMonShinyPalette_Feebas),
|
||||
// SPECIES_SHINY_PAL(MILOTIC, gMonShinyPalette_Milotic),
|
||||
// SPECIES_SHINY_PAL(CARVANHA, gMonShinyPalette_Carvanha),
|
||||
// SPECIES_SHINY_PAL(SHARPEDO, gMonShinyPalette_Sharpedo),
|
||||
// SPECIES_SHINY_PAL(TRAPINCH, gMonShinyPalette_Trapinch),
|
||||
// SPECIES_SHINY_PAL(VIBRAVA, gMonShinyPalette_Vibrava),
|
||||
// SPECIES_SHINY_PAL(FLYGON, gMonShinyPalette_Flygon),
|
||||
// SPECIES_SHINY_PAL(MAKUHITA, gMonShinyPalette_Makuhita),
|
||||
// SPECIES_SHINY_PAL(HARIYAMA, gMonShinyPalette_Hariyama),
|
||||
// SPECIES_SHINY_PAL(ELECTRIKE, gMonShinyPalette_Electrike),
|
||||
// SPECIES_SHINY_PAL(MANECTRIC, gMonShinyPalette_Manectric),
|
||||
// SPECIES_SHINY_PAL(NUMEL, gMonShinyPalette_Numel),
|
||||
// SPECIES_SHINY_PAL(CAMERUPT, gMonShinyPalette_Camerupt),
|
||||
// SPECIES_SHINY_PAL(SPHEAL, gMonShinyPalette_Spheal),
|
||||
// SPECIES_SHINY_PAL(SEALEO, gMonShinyPalette_Sealeo),
|
||||
// SPECIES_SHINY_PAL(WALREIN, gMonShinyPalette_Walrein),
|
||||
// SPECIES_SHINY_PAL(CACNEA, gMonShinyPalette_Cacnea),
|
||||
// SPECIES_SHINY_PAL(CACTURNE, gMonShinyPalette_Cacturne),
|
||||
// SPECIES_SHINY_PAL(SNORUNT, gMonShinyPalette_Snorunt),
|
||||
// SPECIES_SHINY_PAL(GLALIE, gMonShinyPalette_Glalie),
|
||||
// SPECIES_SHINY_PAL(LUNATONE, gMonShinyPalette_Lunatone),
|
||||
// SPECIES_SHINY_PAL(SOLROCK, gMonShinyPalette_Solrock),
|
||||
// SPECIES_SHINY_PAL(AZURILL, gMonShinyPalette_Azurill),
|
||||
// SPECIES_SHINY_PAL(SPOINK, gMonShinyPalette_Spoink),
|
||||
// SPECIES_SHINY_PAL(GRUMPIG, gMonShinyPalette_Grumpig),
|
||||
// SPECIES_SHINY_PAL(PLUSLE, gMonShinyPalette_Plusle),
|
||||
// SPECIES_SHINY_PAL(MINUN, gMonShinyPalette_Minun),
|
||||
// SPECIES_SHINY_PAL(MAWILE, gMonShinyPalette_Mawile),
|
||||
// SPECIES_SHINY_PAL(MEDITITE, gMonShinyPalette_Meditite),
|
||||
// SPECIES_SHINY_PAL(MEDICHAM, gMonShinyPalette_Medicham),
|
||||
// SPECIES_SHINY_PAL(SWABLU, gMonShinyPalette_Swablu),
|
||||
// SPECIES_SHINY_PAL(ALTARIA, gMonShinyPalette_Altaria),
|
||||
// SPECIES_SHINY_PAL(WYNAUT, gMonShinyPalette_Wynaut),
|
||||
// SPECIES_SHINY_PAL(DUSKULL, gMonShinyPalette_Duskull),
|
||||
// SPECIES_SHINY_PAL(DUSCLOPS, gMonShinyPalette_Dusclops),
|
||||
// SPECIES_SHINY_PAL(ROSELIA, gMonShinyPalette_Roselia),
|
||||
// SPECIES_SHINY_PAL(SLAKOTH, gMonShinyPalette_Slakoth),
|
||||
// SPECIES_SHINY_PAL(VIGOROTH, gMonShinyPalette_Vigoroth),
|
||||
// SPECIES_SHINY_PAL(SLAKING, gMonShinyPalette_Slaking),
|
||||
// SPECIES_SHINY_PAL(GULPIN, gMonShinyPalette_Gulpin),
|
||||
// SPECIES_SHINY_PAL(SWALOT, gMonShinyPalette_Swalot),
|
||||
// SPECIES_SHINY_PAL(TROPIUS, gMonShinyPalette_Tropius),
|
||||
// SPECIES_SHINY_PAL(WHISMUR, gMonShinyPalette_Whismur),
|
||||
// SPECIES_SHINY_PAL(LOUDRED, gMonShinyPalette_Loudred),
|
||||
// SPECIES_SHINY_PAL(EXPLOUD, gMonShinyPalette_Exploud),
|
||||
// SPECIES_SHINY_PAL(CLAMPERL, gMonShinyPalette_Clamperl),
|
||||
// SPECIES_SHINY_PAL(HUNTAIL, gMonShinyPalette_Huntail),
|
||||
// SPECIES_SHINY_PAL(GOREBYSS, gMonShinyPalette_Gorebyss),
|
||||
// SPECIES_SHINY_PAL(ABSOL, gMonShinyPalette_Absol),
|
||||
// SPECIES_SHINY_PAL(SHUPPET, gMonShinyPalette_Shuppet),
|
||||
// SPECIES_SHINY_PAL(BANETTE, gMonShinyPalette_Banette),
|
||||
// SPECIES_SHINY_PAL(SEVIPER, gMonShinyPalette_Seviper),
|
||||
// SPECIES_SHINY_PAL(ZANGOOSE, gMonShinyPalette_Zangoose),
|
||||
// SPECIES_SHINY_PAL(RELICANTH, gMonShinyPalette_Relicanth),
|
||||
// SPECIES_SHINY_PAL(ARON, gMonShinyPalette_Aron),
|
||||
// SPECIES_SHINY_PAL(LAIRON, gMonShinyPalette_Lairon),
|
||||
// SPECIES_SHINY_PAL(AGGRON, gMonShinyPalette_Aggron),
|
||||
// SPECIES_SHINY_PAL(CASTFORM, gMonShinyPalette_Castform),
|
||||
// SPECIES_SHINY_PAL(VOLBEAT, gMonShinyPalette_Volbeat),
|
||||
// SPECIES_SHINY_PAL(ILLUMISE, gMonShinyPalette_Illumise),
|
||||
// SPECIES_SHINY_PAL(LILEEP, gMonShinyPalette_Lileep),
|
||||
// SPECIES_SHINY_PAL(CRADILY, gMonShinyPalette_Cradily),
|
||||
// SPECIES_SHINY_PAL(ANORITH, gMonShinyPalette_Anorith),
|
||||
// SPECIES_SHINY_PAL(ARMALDO, gMonShinyPalette_Armaldo),
|
||||
// SPECIES_SHINY_PAL(RALTS, gMonShinyPalette_Ralts),
|
||||
// SPECIES_SHINY_PAL(KIRLIA, gMonShinyPalette_Kirlia),
|
||||
// SPECIES_SHINY_PAL(GARDEVOIR, gMonShinyPalette_Gardevoir),
|
||||
// SPECIES_SHINY_PAL(BAGON, gMonShinyPalette_Bagon),
|
||||
// SPECIES_SHINY_PAL(SHELGON, gMonShinyPalette_Shelgon),
|
||||
// SPECIES_SHINY_PAL(SALAMENCE, gMonShinyPalette_Salamence),
|
||||
// SPECIES_SHINY_PAL(BELDUM, gMonShinyPalette_Beldum),
|
||||
// SPECIES_SHINY_PAL(METANG, gMonShinyPalette_Metang),
|
||||
// SPECIES_SHINY_PAL(METAGROSS, gMonShinyPalette_Metagross),
|
||||
// SPECIES_SHINY_PAL(REGIROCK, gMonShinyPalette_Regirock),
|
||||
// SPECIES_SHINY_PAL(REGICE, gMonShinyPalette_Regice),
|
||||
// SPECIES_SHINY_PAL(REGISTEEL, gMonShinyPalette_Registeel),
|
||||
// SPECIES_SHINY_PAL(KYOGRE, gMonShinyPalette_Kyogre),
|
||||
// SPECIES_SHINY_PAL(GROUDON, gMonShinyPalette_Groudon),
|
||||
// SPECIES_SHINY_PAL(RAYQUAZA, gMonShinyPalette_Rayquaza),
|
||||
// SPECIES_SHINY_PAL(LATIAS, gMonShinyPalette_Latias),
|
||||
// SPECIES_SHINY_PAL(LATIOS, gMonShinyPalette_Latios),
|
||||
// SPECIES_SHINY_PAL(JIRACHI, gMonShinyPalette_Jirachi),
|
||||
// SPECIES_SHINY_PAL(DEOXYS, gMonShinyPalette_Deoxys),
|
||||
// SPECIES_SHINY_PAL(CHIMECHO, gMonShinyPalette_Chimecho),
|
||||
// SPECIES_SHINY_PAL(EGG, gMonPalette_Egg),
|
||||
// SPECIES_SHINY_PAL(UNOWN_B, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_C, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_D, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_E, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_F, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_G, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_H, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_I, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_J, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_K, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_L, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_M, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_N, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_O, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_P, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_Q, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_R, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_S, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_T, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_U, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_V, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_W, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_X, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_Y, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_Z, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_EMARK, gMonShinyPalette_Unown),
|
||||
// SPECIES_SHINY_PAL(UNOWN_QMARK, gMonShinyPalette_Unown),
|
||||
// };
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -1,414 +0,0 @@
|
|||
// const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = {
|
||||
// [SPECIES_NONE] = _("??????????"),
|
||||
// [SPECIES_BULBASAUR] = _("BULBASAUR"),
|
||||
// [SPECIES_IVYSAUR] = _("IVYSAUR"),
|
||||
// [SPECIES_VENUSAUR] = _("VENUSAUR"),
|
||||
// [SPECIES_CHARMANDER] = _("CHARMANDER"),
|
||||
// [SPECIES_CHARMELEON] = _("CHARMELEON"),
|
||||
// [SPECIES_CHARIZARD] = _("CHARIZARD"),
|
||||
// [SPECIES_SQUIRTLE] = _("SQUIRTLE"),
|
||||
// [SPECIES_WARTORTLE] = _("WARTORTLE"),
|
||||
// [SPECIES_BLASTOISE] = _("BLASTOISE"),
|
||||
// [SPECIES_CATERPIE] = _("CATERPIE"),
|
||||
// [SPECIES_METAPOD] = _("METAPOD"),
|
||||
// [SPECIES_BUTTERFREE] = _("BUTTERFREE"),
|
||||
// [SPECIES_WEEDLE] = _("WEEDLE"),
|
||||
// [SPECIES_KAKUNA] = _("KAKUNA"),
|
||||
// [SPECIES_BEEDRILL] = _("BEEDRILL"),
|
||||
// [SPECIES_PIDGEY] = _("PIDGEY"),
|
||||
// [SPECIES_PIDGEOTTO] = _("PIDGEOTTO"),
|
||||
// [SPECIES_PIDGEOT] = _("PIDGEOT"),
|
||||
// [SPECIES_RATTATA] = _("RATTATA"),
|
||||
// [SPECIES_RATICATE] = _("RATICATE"),
|
||||
// [SPECIES_SPEAROW] = _("SPEAROW"),
|
||||
// [SPECIES_FEAROW] = _("FEAROW"),
|
||||
// [SPECIES_EKANS] = _("EKANS"),
|
||||
// [SPECIES_ARBOK] = _("ARBOK"),
|
||||
// [SPECIES_PIKACHU] = _("PIKACHU"),
|
||||
// [SPECIES_RAICHU] = _("RAICHU"),
|
||||
// [SPECIES_SANDSHREW] = _("SANDSHREW"),
|
||||
// [SPECIES_SANDSLASH] = _("SANDSLASH"),
|
||||
// [SPECIES_NIDORAN_F] = _("NIDORAN♀"),
|
||||
// [SPECIES_NIDORINA] = _("NIDORINA"),
|
||||
// [SPECIES_NIDOQUEEN] = _("NIDOQUEEN"),
|
||||
// [SPECIES_NIDORAN_M] = _("NIDORAN♂"),
|
||||
// [SPECIES_NIDORINO] = _("NIDORINO"),
|
||||
// [SPECIES_NIDOKING] = _("NIDOKING"),
|
||||
// [SPECIES_CLEFAIRY] = _("CLEFAIRY"),
|
||||
// [SPECIES_CLEFABLE] = _("CLEFABLE"),
|
||||
// [SPECIES_VULPIX] = _("VULPIX"),
|
||||
// [SPECIES_NINETALES] = _("NINETALES"),
|
||||
// [SPECIES_JIGGLYPUFF] = _("JIGGLYPUFF"),
|
||||
// [SPECIES_WIGGLYTUFF] = _("WIGGLYTUFF"),
|
||||
// [SPECIES_ZUBAT] = _("ZUBAT"),
|
||||
// [SPECIES_GOLBAT] = _("GOLBAT"),
|
||||
// [SPECIES_ODDISH] = _("ODDISH"),
|
||||
// [SPECIES_GLOOM] = _("GLOOM"),
|
||||
// [SPECIES_VILEPLUME] = _("VILEPLUME"),
|
||||
// [SPECIES_PARAS] = _("PARAS"),
|
||||
// [SPECIES_PARASECT] = _("PARASECT"),
|
||||
// [SPECIES_VENONAT] = _("VENONAT"),
|
||||
// [SPECIES_VENOMOTH] = _("VENOMOTH"),
|
||||
// [SPECIES_DIGLETT] = _("DIGLETT"),
|
||||
// [SPECIES_DUGTRIO] = _("DUGTRIO"),
|
||||
// [SPECIES_MEOWTH] = _("MEOWTH"),
|
||||
// [SPECIES_PERSIAN] = _("PERSIAN"),
|
||||
// [SPECIES_PSYDUCK] = _("PSYDUCK"),
|
||||
// [SPECIES_GOLDUCK] = _("GOLDUCK"),
|
||||
// [SPECIES_MANKEY] = _("MANKEY"),
|
||||
// [SPECIES_PRIMEAPE] = _("PRIMEAPE"),
|
||||
// [SPECIES_GROWLITHE] = _("GROWLITHE"),
|
||||
// [SPECIES_ARCANINE] = _("ARCANINE"),
|
||||
// [SPECIES_POLIWAG] = _("POLIWAG"),
|
||||
// [SPECIES_POLIWHIRL] = _("POLIWHIRL"),
|
||||
// [SPECIES_POLIWRATH] = _("POLIWRATH"),
|
||||
// [SPECIES_ABRA] = _("ABRA"),
|
||||
// [SPECIES_KADABRA] = _("KADABRA"),
|
||||
// [SPECIES_ALAKAZAM] = _("ALAKAZAM"),
|
||||
// [SPECIES_MACHOP] = _("MACHOP"),
|
||||
// [SPECIES_MACHOKE] = _("MACHOKE"),
|
||||
// [SPECIES_MACHAMP] = _("MACHAMP"),
|
||||
// [SPECIES_BELLSPROUT] = _("BELLSPROUT"),
|
||||
// [SPECIES_WEEPINBELL] = _("WEEPINBELL"),
|
||||
// [SPECIES_VICTREEBEL] = _("VICTREEBEL"),
|
||||
// [SPECIES_TENTACOOL] = _("TENTACOOL"),
|
||||
// [SPECIES_TENTACRUEL] = _("TENTACRUEL"),
|
||||
// [SPECIES_GEODUDE] = _("GEODUDE"),
|
||||
// [SPECIES_GRAVELER] = _("GRAVELER"),
|
||||
// [SPECIES_GOLEM] = _("GOLEM"),
|
||||
// [SPECIES_PONYTA] = _("PONYTA"),
|
||||
// [SPECIES_RAPIDASH] = _("RAPIDASH"),
|
||||
// [SPECIES_SLOWPOKE] = _("SLOWPOKE"),
|
||||
// [SPECIES_SLOWBRO] = _("SLOWBRO"),
|
||||
// [SPECIES_MAGNEMITE] = _("MAGNEMITE"),
|
||||
// [SPECIES_MAGNETON] = _("MAGNETON"),
|
||||
// [SPECIES_FARFETCHD] = _("FARFETCH'D"),
|
||||
// [SPECIES_DODUO] = _("DODUO"),
|
||||
// [SPECIES_DODRIO] = _("DODRIO"),
|
||||
// [SPECIES_SEEL] = _("SEEL"),
|
||||
// [SPECIES_DEWGONG] = _("DEWGONG"),
|
||||
// [SPECIES_GRIMER] = _("GRIMER"),
|
||||
// [SPECIES_MUK] = _("MUK"),
|
||||
// [SPECIES_SHELLDER] = _("SHELLDER"),
|
||||
// [SPECIES_CLOYSTER] = _("CLOYSTER"),
|
||||
// [SPECIES_GASTLY] = _("GASTLY"),
|
||||
// [SPECIES_HAUNTER] = _("HAUNTER"),
|
||||
// [SPECIES_GENGAR] = _("GENGAR"),
|
||||
// [SPECIES_ONIX] = _("ONIX"),
|
||||
// [SPECIES_DROWZEE] = _("DROWZEE"),
|
||||
// [SPECIES_HYPNO] = _("HYPNO"),
|
||||
// [SPECIES_KRABBY] = _("KRABBY"),
|
||||
// [SPECIES_KINGLER] = _("KINGLER"),
|
||||
// [SPECIES_VOLTORB] = _("VOLTORB"),
|
||||
// [SPECIES_ELECTRODE] = _("ELECTRODE"),
|
||||
// [SPECIES_EXEGGCUTE] = _("EXEGGCUTE"),
|
||||
// [SPECIES_EXEGGUTOR] = _("EXEGGUTOR"),
|
||||
// [SPECIES_CUBONE] = _("CUBONE"),
|
||||
// [SPECIES_MAROWAK] = _("MAROWAK"),
|
||||
// [SPECIES_HITMONLEE] = _("HITMONLEE"),
|
||||
// [SPECIES_HITMONCHAN] = _("HITMONCHAN"),
|
||||
// [SPECIES_LICKITUNG] = _("LICKITUNG"),
|
||||
// [SPECIES_KOFFING] = _("KOFFING"),
|
||||
// [SPECIES_WEEZING] = _("WEEZING"),
|
||||
// [SPECIES_RHYHORN] = _("RHYHORN"),
|
||||
// [SPECIES_RHYDON] = _("RHYDON"),
|
||||
// [SPECIES_CHANSEY] = _("CHANSEY"),
|
||||
// [SPECIES_TANGELA] = _("TANGELA"),
|
||||
// [SPECIES_KANGASKHAN] = _("KANGASKHAN"),
|
||||
// [SPECIES_HORSEA] = _("HORSEA"),
|
||||
// [SPECIES_SEADRA] = _("SEADRA"),
|
||||
// [SPECIES_GOLDEEN] = _("GOLDEEN"),
|
||||
// [SPECIES_SEAKING] = _("SEAKING"),
|
||||
// [SPECIES_STARYU] = _("STARYU"),
|
||||
// [SPECIES_STARMIE] = _("STARMIE"),
|
||||
// [SPECIES_MR_MIME] = _("MR. MIME"),
|
||||
// [SPECIES_SCYTHER] = _("SCYTHER"),
|
||||
// [SPECIES_JYNX] = _("JYNX"),
|
||||
// [SPECIES_ELECTABUZZ] = _("ELECTABUZZ"),
|
||||
// [SPECIES_MAGMAR] = _("MAGMAR"),
|
||||
// [SPECIES_PINSIR] = _("PINSIR"),
|
||||
// [SPECIES_TAUROS] = _("TAUROS"),
|
||||
// [SPECIES_MAGIKARP] = _("MAGIKARP"),
|
||||
// [SPECIES_GYARADOS] = _("GYARADOS"),
|
||||
// [SPECIES_LAPRAS] = _("LAPRAS"),
|
||||
// [SPECIES_DITTO] = _("DITTO"),
|
||||
// [SPECIES_EEVEE] = _("EEVEE"),
|
||||
// [SPECIES_VAPOREON] = _("VAPOREON"),
|
||||
// [SPECIES_JOLTEON] = _("JOLTEON"),
|
||||
// [SPECIES_FLAREON] = _("FLAREON"),
|
||||
// [SPECIES_PORYGON] = _("PORYGON"),
|
||||
// [SPECIES_OMANYTE] = _("OMANYTE"),
|
||||
// [SPECIES_OMASTAR] = _("OMASTAR"),
|
||||
// [SPECIES_KABUTO] = _("KABUTO"),
|
||||
// [SPECIES_KABUTOPS] = _("KABUTOPS"),
|
||||
// [SPECIES_AERODACTYL] = _("AERODACTYL"),
|
||||
// [SPECIES_SNORLAX] = _("SNORLAX"),
|
||||
// [SPECIES_ARTICUNO] = _("ARTICUNO"),
|
||||
// [SPECIES_ZAPDOS] = _("ZAPDOS"),
|
||||
// [SPECIES_MOLTRES] = _("MOLTRES"),
|
||||
// [SPECIES_DRATINI] = _("DRATINI"),
|
||||
// [SPECIES_DRAGONAIR] = _("DRAGONAIR"),
|
||||
// [SPECIES_DRAGONITE] = _("DRAGONITE"),
|
||||
// [SPECIES_MEWTWO] = _("MEWTWO"),
|
||||
// [SPECIES_MEW] = _("MEW"),
|
||||
// [SPECIES_CHIKORITA] = _("CHIKORITA"),
|
||||
// [SPECIES_BAYLEEF] = _("BAYLEEF"),
|
||||
// [SPECIES_MEGANIUM] = _("MEGANIUM"),
|
||||
// [SPECIES_CYNDAQUIL] = _("CYNDAQUIL"),
|
||||
// [SPECIES_QUILAVA] = _("QUILAVA"),
|
||||
// [SPECIES_TYPHLOSION] = _("TYPHLOSION"),
|
||||
// [SPECIES_TOTODILE] = _("TOTODILE"),
|
||||
// [SPECIES_CROCONAW] = _("CROCONAW"),
|
||||
// [SPECIES_FERALIGATR] = _("FERALIGATR"),
|
||||
// [SPECIES_SENTRET] = _("SENTRET"),
|
||||
// [SPECIES_FURRET] = _("FURRET"),
|
||||
// [SPECIES_HOOTHOOT] = _("HOOTHOOT"),
|
||||
// [SPECIES_NOCTOWL] = _("NOCTOWL"),
|
||||
// [SPECIES_LEDYBA] = _("LEDYBA"),
|
||||
// [SPECIES_LEDIAN] = _("LEDIAN"),
|
||||
// [SPECIES_SPINARAK] = _("SPINARAK"),
|
||||
// [SPECIES_ARIADOS] = _("ARIADOS"),
|
||||
// [SPECIES_CROBAT] = _("CROBAT"),
|
||||
// [SPECIES_CHINCHOU] = _("CHINCHOU"),
|
||||
// [SPECIES_LANTURN] = _("LANTURN"),
|
||||
// [SPECIES_PICHU] = _("PICHU"),
|
||||
// [SPECIES_CLEFFA] = _("CLEFFA"),
|
||||
// [SPECIES_IGGLYBUFF] = _("IGGLYBUFF"),
|
||||
// [SPECIES_TOGEPI] = _("TOGEPI"),
|
||||
// [SPECIES_TOGETIC] = _("TOGETIC"),
|
||||
// [SPECIES_NATU] = _("NATU"),
|
||||
// [SPECIES_XATU] = _("XATU"),
|
||||
// [SPECIES_MAREEP] = _("MAREEP"),
|
||||
// [SPECIES_FLAAFFY] = _("FLAAFFY"),
|
||||
// [SPECIES_AMPHAROS] = _("AMPHAROS"),
|
||||
// [SPECIES_BELLOSSOM] = _("BELLOSSOM"),
|
||||
// [SPECIES_MARILL] = _("MARILL"),
|
||||
// [SPECIES_AZUMARILL] = _("AZUMARILL"),
|
||||
// [SPECIES_SUDOWOODO] = _("SUDOWOODO"),
|
||||
// [SPECIES_POLITOED] = _("POLITOED"),
|
||||
// [SPECIES_HOPPIP] = _("HOPPIP"),
|
||||
// [SPECIES_SKIPLOOM] = _("SKIPLOOM"),
|
||||
// [SPECIES_JUMPLUFF] = _("JUMPLUFF"),
|
||||
// [SPECIES_AIPOM] = _("AIPOM"),
|
||||
// [SPECIES_SUNKERN] = _("SUNKERN"),
|
||||
// [SPECIES_SUNFLORA] = _("SUNFLORA"),
|
||||
// [SPECIES_YANMA] = _("YANMA"),
|
||||
// [SPECIES_WOOPER] = _("WOOPER"),
|
||||
// [SPECIES_QUAGSIRE] = _("QUAGSIRE"),
|
||||
// [SPECIES_ESPEON] = _("ESPEON"),
|
||||
// [SPECIES_UMBREON] = _("UMBREON"),
|
||||
// [SPECIES_MURKROW] = _("MURKROW"),
|
||||
// [SPECIES_SLOWKING] = _("SLOWKING"),
|
||||
// [SPECIES_MISDREAVUS] = _("MISDREAVUS"),
|
||||
// [SPECIES_UNOWN] = _("UNOWN"),
|
||||
// [SPECIES_WOBBUFFET] = _("WOBBUFFET"),
|
||||
// [SPECIES_GIRAFARIG] = _("GIRAFARIG"),
|
||||
// [SPECIES_PINECO] = _("PINECO"),
|
||||
// [SPECIES_FORRETRESS] = _("FORRETRESS"),
|
||||
// [SPECIES_DUNSPARCE] = _("DUNSPARCE"),
|
||||
// [SPECIES_GLIGAR] = _("GLIGAR"),
|
||||
// [SPECIES_STEELIX] = _("STEELIX"),
|
||||
// [SPECIES_SNUBBULL] = _("SNUBBULL"),
|
||||
// [SPECIES_GRANBULL] = _("GRANBULL"),
|
||||
// [SPECIES_QWILFISH] = _("QWILFISH"),
|
||||
// [SPECIES_SCIZOR] = _("SCIZOR"),
|
||||
// [SPECIES_SHUCKLE] = _("SHUCKLE"),
|
||||
// [SPECIES_HERACROSS] = _("HERACROSS"),
|
||||
// [SPECIES_SNEASEL] = _("SNEASEL"),
|
||||
// [SPECIES_TEDDIURSA] = _("TEDDIURSA"),
|
||||
// [SPECIES_URSARING] = _("URSARING"),
|
||||
// [SPECIES_SLUGMA] = _("SLUGMA"),
|
||||
// [SPECIES_MAGCARGO] = _("MAGCARGO"),
|
||||
// [SPECIES_SWINUB] = _("SWINUB"),
|
||||
// [SPECIES_PILOSWINE] = _("PILOSWINE"),
|
||||
// [SPECIES_CORSOLA] = _("CORSOLA"),
|
||||
// [SPECIES_REMORAID] = _("REMORAID"),
|
||||
// [SPECIES_OCTILLERY] = _("OCTILLERY"),
|
||||
// [SPECIES_DELIBIRD] = _("DELIBIRD"),
|
||||
// [SPECIES_MANTINE] = _("MANTINE"),
|
||||
// [SPECIES_SKARMORY] = _("SKARMORY"),
|
||||
// [SPECIES_HOUNDOUR] = _("HOUNDOUR"),
|
||||
// [SPECIES_HOUNDOOM] = _("HOUNDOOM"),
|
||||
// [SPECIES_KINGDRA] = _("KINGDRA"),
|
||||
// [SPECIES_PHANPY] = _("PHANPY"),
|
||||
// [SPECIES_DONPHAN] = _("DONPHAN"),
|
||||
// [SPECIES_PORYGON2] = _("PORYGON2"),
|
||||
// [SPECIES_STANTLER] = _("STANTLER"),
|
||||
// [SPECIES_SMEARGLE] = _("SMEARGLE"),
|
||||
// [SPECIES_TYROGUE] = _("TYROGUE"),
|
||||
// [SPECIES_HITMONTOP] = _("HITMONTOP"),
|
||||
// [SPECIES_SMOOCHUM] = _("SMOOCHUM"),
|
||||
// [SPECIES_ELEKID] = _("ELEKID"),
|
||||
// [SPECIES_MAGBY] = _("MAGBY"),
|
||||
// [SPECIES_MILTANK] = _("MILTANK"),
|
||||
// [SPECIES_BLISSEY] = _("BLISSEY"),
|
||||
// [SPECIES_RAIKOU] = _("RAIKOU"),
|
||||
// [SPECIES_ENTEI] = _("ENTEI"),
|
||||
// [SPECIES_SUICUNE] = _("SUICUNE"),
|
||||
// [SPECIES_LARVITAR] = _("LARVITAR"),
|
||||
// [SPECIES_PUPITAR] = _("PUPITAR"),
|
||||
// [SPECIES_TYRANITAR] = _("TYRANITAR"),
|
||||
// [SPECIES_LUGIA] = _("LUGIA"),
|
||||
// [SPECIES_HO_OH] = _("HO-OH"),
|
||||
// [SPECIES_CELEBI] = _("CELEBI"),
|
||||
// [SPECIES_OLD_UNOWN_B] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_C] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_D] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_E] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_F] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_G] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_H] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_I] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_J] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_K] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_L] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_M] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_N] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_O] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_P] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_Q] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_R] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_S] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_T] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_U] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_V] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_W] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_X] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_Y] = _("?"),
|
||||
// [SPECIES_OLD_UNOWN_Z] = _("?"),
|
||||
// [SPECIES_TREECKO] = _("TREECKO"),
|
||||
// [SPECIES_GROVYLE] = _("GROVYLE"),
|
||||
// [SPECIES_SCEPTILE] = _("SCEPTILE"),
|
||||
// [SPECIES_TORCHIC] = _("TORCHIC"),
|
||||
// [SPECIES_COMBUSKEN] = _("COMBUSKEN"),
|
||||
// [SPECIES_BLAZIKEN] = _("BLAZIKEN"),
|
||||
// [SPECIES_MUDKIP] = _("MUDKIP"),
|
||||
// [SPECIES_MARSHTOMP] = _("MARSHTOMP"),
|
||||
// [SPECIES_SWAMPERT] = _("SWAMPERT"),
|
||||
// [SPECIES_POOCHYENA] = _("POOCHYENA"),
|
||||
// [SPECIES_MIGHTYENA] = _("MIGHTYENA"),
|
||||
// [SPECIES_ZIGZAGOON] = _("ZIGZAGOON"),
|
||||
// [SPECIES_LINOONE] = _("LINOONE"),
|
||||
// [SPECIES_WURMPLE] = _("WURMPLE"),
|
||||
// [SPECIES_SILCOON] = _("SILCOON"),
|
||||
// [SPECIES_BEAUTIFLY] = _("BEAUTIFLY"),
|
||||
// [SPECIES_CASCOON] = _("CASCOON"),
|
||||
// [SPECIES_DUSTOX] = _("DUSTOX"),
|
||||
// [SPECIES_LOTAD] = _("LOTAD"),
|
||||
// [SPECIES_LOMBRE] = _("LOMBRE"),
|
||||
// [SPECIES_LUDICOLO] = _("LUDICOLO"),
|
||||
// [SPECIES_SEEDOT] = _("SEEDOT"),
|
||||
// [SPECIES_NUZLEAF] = _("NUZLEAF"),
|
||||
// [SPECIES_SHIFTRY] = _("SHIFTRY"),
|
||||
// [SPECIES_NINCADA] = _("NINCADA"),
|
||||
// [SPECIES_NINJASK] = _("NINJASK"),
|
||||
// [SPECIES_SHEDINJA] = _("SHEDINJA"),
|
||||
// [SPECIES_TAILLOW] = _("TAILLOW"),
|
||||
// [SPECIES_SWELLOW] = _("SWELLOW"),
|
||||
// [SPECIES_SHROOMISH] = _("SHROOMISH"),
|
||||
// [SPECIES_BRELOOM] = _("BRELOOM"),
|
||||
// [SPECIES_SPINDA] = _("SPINDA"),
|
||||
// [SPECIES_WINGULL] = _("WINGULL"),
|
||||
// [SPECIES_PELIPPER] = _("PELIPPER"),
|
||||
// [SPECIES_SURSKIT] = _("SURSKIT"),
|
||||
// [SPECIES_MASQUERAIN] = _("MASQUERAIN"),
|
||||
// [SPECIES_WAILMER] = _("WAILMER"),
|
||||
// [SPECIES_WAILORD] = _("WAILORD"),
|
||||
// [SPECIES_SKITTY] = _("SKITTY"),
|
||||
// [SPECIES_DELCATTY] = _("DELCATTY"),
|
||||
// [SPECIES_KECLEON] = _("KECLEON"),
|
||||
// [SPECIES_BALTOY] = _("BALTOY"),
|
||||
// [SPECIES_CLAYDOL] = _("CLAYDOL"),
|
||||
// [SPECIES_NOSEPASS] = _("NOSEPASS"),
|
||||
// [SPECIES_TORKOAL] = _("TORKOAL"),
|
||||
// [SPECIES_SABLEYE] = _("SABLEYE"),
|
||||
// [SPECIES_BARBOACH] = _("BARBOACH"),
|
||||
// [SPECIES_WHISCASH] = _("WHISCASH"),
|
||||
// [SPECIES_LUVDISC] = _("LUVDISC"),
|
||||
// [SPECIES_CORPHISH] = _("CORPHISH"),
|
||||
// [SPECIES_CRAWDAUNT] = _("CRAWDAUNT"),
|
||||
// [SPECIES_FEEBAS] = _("FEEBAS"),
|
||||
// [SPECIES_MILOTIC] = _("MILOTIC"),
|
||||
// [SPECIES_CARVANHA] = _("CARVANHA"),
|
||||
// [SPECIES_SHARPEDO] = _("SHARPEDO"),
|
||||
// [SPECIES_TRAPINCH] = _("TRAPINCH"),
|
||||
// [SPECIES_VIBRAVA] = _("VIBRAVA"),
|
||||
// [SPECIES_FLYGON] = _("FLYGON"),
|
||||
// [SPECIES_MAKUHITA] = _("MAKUHITA"),
|
||||
// [SPECIES_HARIYAMA] = _("HARIYAMA"),
|
||||
// [SPECIES_ELECTRIKE] = _("ELECTRIKE"),
|
||||
// [SPECIES_MANECTRIC] = _("MANECTRIC"),
|
||||
// [SPECIES_NUMEL] = _("NUMEL"),
|
||||
// [SPECIES_CAMERUPT] = _("CAMERUPT"),
|
||||
// [SPECIES_SPHEAL] = _("SPHEAL"),
|
||||
// [SPECIES_SEALEO] = _("SEALEO"),
|
||||
// [SPECIES_WALREIN] = _("WALREIN"),
|
||||
// [SPECIES_CACNEA] = _("CACNEA"),
|
||||
// [SPECIES_CACTURNE] = _("CACTURNE"),
|
||||
// [SPECIES_SNORUNT] = _("SNORUNT"),
|
||||
// [SPECIES_GLALIE] = _("GLALIE"),
|
||||
// [SPECIES_LUNATONE] = _("LUNATONE"),
|
||||
// [SPECIES_SOLROCK] = _("SOLROCK"),
|
||||
// [SPECIES_AZURILL] = _("AZURILL"),
|
||||
// [SPECIES_SPOINK] = _("SPOINK"),
|
||||
// [SPECIES_GRUMPIG] = _("GRUMPIG"),
|
||||
// [SPECIES_PLUSLE] = _("PLUSLE"),
|
||||
// [SPECIES_MINUN] = _("MINUN"),
|
||||
// [SPECIES_MAWILE] = _("MAWILE"),
|
||||
// [SPECIES_MEDITITE] = _("MEDITITE"),
|
||||
// [SPECIES_MEDICHAM] = _("MEDICHAM"),
|
||||
// [SPECIES_SWABLU] = _("SWABLU"),
|
||||
// [SPECIES_ALTARIA] = _("ALTARIA"),
|
||||
// [SPECIES_WYNAUT] = _("WYNAUT"),
|
||||
// [SPECIES_DUSKULL] = _("DUSKULL"),
|
||||
// [SPECIES_DUSCLOPS] = _("DUSCLOPS"),
|
||||
// [SPECIES_ROSELIA] = _("ROSELIA"),
|
||||
// [SPECIES_SLAKOTH] = _("SLAKOTH"),
|
||||
// [SPECIES_VIGOROTH] = _("VIGOROTH"),
|
||||
// [SPECIES_SLAKING] = _("SLAKING"),
|
||||
// [SPECIES_GULPIN] = _("GULPIN"),
|
||||
// [SPECIES_SWALOT] = _("SWALOT"),
|
||||
// [SPECIES_TROPIUS] = _("TROPIUS"),
|
||||
// [SPECIES_WHISMUR] = _("WHISMUR"),
|
||||
// [SPECIES_LOUDRED] = _("LOUDRED"),
|
||||
// [SPECIES_EXPLOUD] = _("EXPLOUD"),
|
||||
// [SPECIES_CLAMPERL] = _("CLAMPERL"),
|
||||
// [SPECIES_HUNTAIL] = _("HUNTAIL"),
|
||||
// [SPECIES_GOREBYSS] = _("GOREBYSS"),
|
||||
// [SPECIES_ABSOL] = _("ABSOL"),
|
||||
// [SPECIES_SHUPPET] = _("SHUPPET"),
|
||||
// [SPECIES_BANETTE] = _("BANETTE"),
|
||||
// [SPECIES_SEVIPER] = _("SEVIPER"),
|
||||
// [SPECIES_ZANGOOSE] = _("ZANGOOSE"),
|
||||
// [SPECIES_RELICANTH] = _("RELICANTH"),
|
||||
// [SPECIES_ARON] = _("ARON"),
|
||||
// [SPECIES_LAIRON] = _("LAIRON"),
|
||||
// [SPECIES_AGGRON] = _("AGGRON"),
|
||||
// [SPECIES_CASTFORM] = _("CASTFORM"),
|
||||
// [SPECIES_VOLBEAT] = _("VOLBEAT"),
|
||||
// [SPECIES_ILLUMISE] = _("ILLUMISE"),
|
||||
// [SPECIES_LILEEP] = _("LILEEP"),
|
||||
// [SPECIES_CRADILY] = _("CRADILY"),
|
||||
// [SPECIES_ANORITH] = _("ANORITH"),
|
||||
// [SPECIES_ARMALDO] = _("ARMALDO"),
|
||||
// [SPECIES_RALTS] = _("RALTS"),
|
||||
// [SPECIES_KIRLIA] = _("KIRLIA"),
|
||||
// [SPECIES_GARDEVOIR] = _("GARDEVOIR"),
|
||||
// [SPECIES_BAGON] = _("BAGON"),
|
||||
// [SPECIES_SHELGON] = _("SHELGON"),
|
||||
// [SPECIES_SALAMENCE] = _("SALAMENCE"),
|
||||
// [SPECIES_BELDUM] = _("BELDUM"),
|
||||
// [SPECIES_METANG] = _("METANG"),
|
||||
// [SPECIES_METAGROSS] = _("METAGROSS"),
|
||||
// [SPECIES_REGIROCK] = _("REGIROCK"),
|
||||
// [SPECIES_REGICE] = _("REGICE"),
|
||||
// [SPECIES_REGISTEEL] = _("REGISTEEL"),
|
||||
// [SPECIES_KYOGRE] = _("KYOGRE"),
|
||||
// [SPECIES_GROUDON] = _("GROUDON"),
|
||||
// [SPECIES_RAYQUAZA] = _("RAYQUAZA"),
|
||||
// [SPECIES_LATIAS] = _("LATIAS"),
|
||||
// [SPECIES_LATIOS] = _("LATIOS"),
|
||||
// [SPECIES_JIRACHI] = _("JIRACHI"),
|
||||
// [SPECIES_DEOXYS] = _("DEOXYS"),
|
||||
// [SPECIES_CHIMECHO] = _("CHIMECHO"),
|
||||
// };
|
||||
|
|
@ -8263,62 +8263,62 @@
|
|||
{
|
||||
"min_level": 3,
|
||||
"max_level": 3,
|
||||
"species": "SPECIES_MEWTWO"
|
||||
"species": "SPECIES_CLEFAIRY"
|
||||
},
|
||||
{
|
||||
"min_level": 3,
|
||||
"max_level": 3,
|
||||
"species": "SPECIES_MEWTWO"
|
||||
"species": "SPECIES_CLEFAIRY"
|
||||
},
|
||||
{
|
||||
"min_level": 3,
|
||||
"max_level": 3,
|
||||
"species": "SPECIES_MEWTWO"
|
||||
"species": "SPECIES_CLEFAIRY"
|
||||
},
|
||||
{
|
||||
"min_level": 3,
|
||||
"max_level": 3,
|
||||
"species": "SPECIES_MEW"
|
||||
"species": "SPECIES_CLEFAIRY"
|
||||
},
|
||||
{
|
||||
"min_level": 2,
|
||||
"max_level": 2,
|
||||
"species": "SPECIES_MEW"
|
||||
"species": "SPECIES_MIMIKYU"
|
||||
},
|
||||
{
|
||||
"min_level": 2,
|
||||
"max_level": 2,
|
||||
"species": "SPECIES_MEW"
|
||||
"species": "SPECIES_MIMIKYU"
|
||||
},
|
||||
{
|
||||
"min_level": 3,
|
||||
"max_level": 3,
|
||||
"species": "SPECIES_SCYTHER"
|
||||
"species": "SPECIES_MIMIKYU"
|
||||
},
|
||||
{
|
||||
"min_level": 3,
|
||||
"max_level": 3,
|
||||
"species": "SPECIES_SCYTHER"
|
||||
"species": "SPECIES_MIMIKYU"
|
||||
},
|
||||
{
|
||||
"min_level": 4,
|
||||
"max_level": 4,
|
||||
"species": "SPECIES_SCYTHER"
|
||||
"species": "SPECIES_MIMIKYU"
|
||||
},
|
||||
{
|
||||
"min_level": 4,
|
||||
"max_level": 4,
|
||||
"species": "SPECIES_SCYTHER"
|
||||
"species": "SPECIES_MIMIKYU"
|
||||
},
|
||||
{
|
||||
"min_level": 5,
|
||||
"max_level": 5,
|
||||
"species": "SPECIES_SCYTHER"
|
||||
"species": "SPECIES_MIMIKYU"
|
||||
},
|
||||
{
|
||||
"min_level": 4,
|
||||
"max_level": 4,
|
||||
"species": "SPECIES_SCYTHER"
|
||||
"species": "SPECIES_MIMIKYU"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@
|
|||
|
||||
// Combination of RSE's Day-Care (re-used on Four Island), FRLG's Day-Care, and egg_hatch.c
|
||||
|
||||
extern const struct Evolution gEvolutionTable[][EVOS_PER_MON];
|
||||
|
||||
struct EggHatchData
|
||||
{
|
||||
|
|
@ -605,7 +604,7 @@ static void Debug_AddDaycareSteps(u16 numSteps)
|
|||
|
||||
u8 GetNumLevelsGainedFromDaycare(void)
|
||||
{
|
||||
if (GetBoxMonData(&gSaveBlock1Ptr->daycare.mons[gSpecialVar_0x8004], MON_DATA_SPECIES) != 0)
|
||||
if (GetBoxMonData(&gSaveBlock1Ptr->daycare.mons[gSpecialVar_0x8004].mon, MON_DATA_SPECIES) != 0)
|
||||
return GetNumLevelsGainedForDaycareMon(&gSaveBlock1Ptr->daycare.mons[gSpecialVar_0x8004]);
|
||||
|
||||
return 0;
|
||||
|
|
@ -651,14 +650,17 @@ static u16 GetEggSpecies(u16 species)
|
|||
|
||||
// Working backwards up to 5 times seems arbitrary, since the maximum number
|
||||
// of times would only be 3 for 3-stage evolutions.
|
||||
for (i = 0; i < EVOS_PER_MON; i++)
|
||||
for (i = 0; i < 5; i++)
|
||||
{
|
||||
found = FALSE;
|
||||
for (j = 1; j < NUM_SPECIES; j++)
|
||||
{
|
||||
for (k = 0; k < EVOS_PER_MON; k++)
|
||||
const struct Evolution *evolutions = GetSpeciesEvolutions(j);
|
||||
if (evolutions == NULL)
|
||||
continue;
|
||||
for (k = 0; evolutions[k].method != EVOLUTIONS_END; k++)
|
||||
{
|
||||
if (gEvolutionTable[j][k].targetSpecies == species)
|
||||
if (SanitizeSpeciesId(evolutions[k].targetSpecies) == species)
|
||||
{
|
||||
species = j;
|
||||
found = TRUE;
|
||||
|
|
@ -1650,7 +1652,7 @@ static void AddHatchedMonToParty(u8 id)
|
|||
SetMonData(mon, MON_DATA_IS_EGG, &isEgg);
|
||||
|
||||
pokeNum = GetMonData(mon, MON_DATA_SPECIES);
|
||||
GetSpeciesName(name, pokeNum);
|
||||
StringCopy(name, GetSpeciesName(pokeNum));
|
||||
SetMonData(mon, MON_DATA_NICKNAME, name);
|
||||
|
||||
pokeNum = SpeciesToNationalPokedexNum(pokeNum);
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@
|
|||
#include "constants/pokemon.h"
|
||||
#include "constants/items.h"
|
||||
|
||||
extern struct Evolution gEvolutionTable[][EVOS_PER_MON];
|
||||
|
||||
struct EvoInfo
|
||||
{
|
||||
|
|
@ -546,14 +545,19 @@ static void CB2_TradeEvolutionSceneUpdate(void)
|
|||
static void CreateShedinja(u16 preEvoSpecies, struct Pokemon* mon)
|
||||
{
|
||||
u32 data = 0;
|
||||
if (gEvolutionTable[preEvoSpecies][0].method == EVO_LEVEL_NINJASK && gPlayerPartyCount < PARTY_SIZE)
|
||||
const struct Evolution *evolutions = GetSpeciesEvolutions(preEvoSpecies);
|
||||
if (evolutions == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (evolutions[0].method == EVO_LEVEL_NINJASK && gPlayerPartyCount < PARTY_SIZE)
|
||||
{
|
||||
s32 i;
|
||||
struct Pokemon* shedinja = &gPlayerParty[gPlayerPartyCount];
|
||||
|
||||
CopyMon(&gPlayerParty[gPlayerPartyCount], mon, sizeof(struct Pokemon));
|
||||
SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_SPECIES, &gEvolutionTable[preEvoSpecies][1].targetSpecies);
|
||||
SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_NICKNAME, gSpeciesInfo[gEvolutionTable[preEvoSpecies][1].targetSpecies].speciesName);
|
||||
SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_SPECIES, &evolutions[1].targetSpecies);
|
||||
SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_NICKNAME, GetSpeciesName(evolutions[1].targetSpecies));
|
||||
SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_HELD_ITEM, &data);
|
||||
SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_MARKINGS, &data);
|
||||
SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_ENCRYPT_SEPARATOR, &data);
|
||||
|
|
@ -570,8 +574,8 @@ static void CreateShedinja(u16 preEvoSpecies, struct Pokemon* mon)
|
|||
CalculateMonStats(&gPlayerParty[gPlayerPartyCount]);
|
||||
CalculatePlayerPartyCount();
|
||||
|
||||
GetSetPokedexFlag(SpeciesToNationalPokedexNum(gEvolutionTable[preEvoSpecies][1].targetSpecies), FLAG_SET_SEEN);
|
||||
GetSetPokedexFlag(SpeciesToNationalPokedexNum(gEvolutionTable[preEvoSpecies][1].targetSpecies), FLAG_SET_CAUGHT);
|
||||
GetSetPokedexFlag(SpeciesToNationalPokedexNum(evolutions[1].targetSpecies), FLAG_SET_SEEN);
|
||||
GetSetPokedexFlag(SpeciesToNationalPokedexNum(evolutions[1].targetSpecies), FLAG_SET_CAUGHT);
|
||||
|
||||
if (GetMonData(shedinja, MON_DATA_SPECIES) == SPECIES_SHEDINJA
|
||||
&& GetMonData(shedinja, MON_DATA_LANGUAGE) == LANGUAGE_JAPANESE
|
||||
|
|
@ -983,7 +987,7 @@ static void Task_EvolutionScene(u8 taskId)
|
|||
{
|
||||
// Selected move to forget
|
||||
u16 move = GetMonData(mon, var + MON_DATA_MOVE1);
|
||||
if (IsHMMove2(move))
|
||||
if (IsMoveHM(move))
|
||||
{
|
||||
// Can't forget HMs
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_TABLE_START]);
|
||||
|
|
@ -1384,7 +1388,7 @@ static void Task_TradeEvolutionScene(u8 taskId)
|
|||
{
|
||||
// Selected move to forget
|
||||
u16 move = GetMonData(mon, var + MON_DATA_MOVE1);
|
||||
if (IsHMMove2(move))
|
||||
if (IsMoveHM(move))
|
||||
{
|
||||
// Can't forget HMs
|
||||
BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_TABLE_START]);
|
||||
|
|
|
|||
|
|
@ -693,6 +693,11 @@ u8 ItemId_GetSecondaryId(u16 itemId)
|
|||
return gItems[SanitizeItemId(itemId)].secondaryId;
|
||||
}
|
||||
|
||||
u32 ItemId_GetFlingPower(u32 itemId)
|
||||
{
|
||||
return gItems[SanitizeItemId(itemId)].flingPower;
|
||||
}
|
||||
|
||||
const u8 *ItemId_GetEffect(u32 itemId)
|
||||
{
|
||||
if (itemId == ITEM_ENIGMA_BERRY)
|
||||
|
|
|
|||
|
|
@ -816,30 +816,30 @@ static void MoveLearnerInitListMenu(void)
|
|||
static void PrintMoveInfo(u16 move)
|
||||
{
|
||||
u8 buffer[50];
|
||||
BlitMenuInfoIcon(2, gBattleMoves[move].type + 1, 1, 4);
|
||||
BlitMenuInfoIcon(2, gMovesInfo[move].type + 1, 1, 4);
|
||||
|
||||
if (gBattleMoves[move].power < 2)
|
||||
if (gMovesInfo[move].power < 2)
|
||||
{
|
||||
PrintTextOnWindow(3, gText_ThreeHyphens, 1, 4, 0, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
ConvertIntToDecimalStringN(buffer, gBattleMoves[move].power, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
ConvertIntToDecimalStringN(buffer, gMovesInfo[move].power, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
PrintTextOnWindow(3, buffer, 1, 4, 0, 0);
|
||||
}
|
||||
|
||||
if (gBattleMoves[move].accuracy == 0)
|
||||
if (gMovesInfo[move].accuracy == 0)
|
||||
{
|
||||
PrintTextOnWindow(3, gText_ThreeHyphens, 1, 18, 0, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
ConvertIntToDecimalStringN(buffer, gBattleMoves[move].accuracy, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
ConvertIntToDecimalStringN(buffer, gMovesInfo[move].accuracy, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
PrintTextOnWindow(3, buffer, 1, 18, 0, 1);
|
||||
}
|
||||
ConvertIntToDecimalStringN(buffer, gBattleMoves[move].pp, STR_CONV_MODE_LEFT_ALIGN, 2);
|
||||
ConvertIntToDecimalStringN(buffer, gMovesInfo[move].pp, STR_CONV_MODE_LEFT_ALIGN, 2);
|
||||
PrintTextOnWindow(4, buffer, 2, 2, 0, 0);
|
||||
PrintTextOnWindow(5, gMoveDescriptionPointers[move - 1], 1, 0, 0, 0);
|
||||
PrintTextOnWindow(5, gMovesInfo[move].description, 1, 0, 0, 0);
|
||||
}
|
||||
|
||||
static void LoadMoveInfoUI(void)
|
||||
|
|
|
|||
|
|
@ -733,7 +733,7 @@ void ListMenu_LoadMonIconPalette(u8 palOffset, u16 speciesId)
|
|||
|
||||
void ListMenu_DrawMonIconGraphics(u8 windowId, u16 speciesId, u32 personality, u16 x, u16 y)
|
||||
{
|
||||
BlitBitmapToWindow(windowId, GetMonIconPtr(speciesId, personality, 1), x, y, 32, 32);
|
||||
BlitBitmapToWindow(windowId, GetMonIconPtr(speciesId, personality), x, y, 32, 32);
|
||||
}
|
||||
|
||||
void ListMenuLoadStdPalAt(u8 palOffset, u8 palId)
|
||||
|
|
|
|||
|
|
@ -4459,7 +4459,7 @@ void Task_AbilityCapsule(u8 taskId)
|
|||
}
|
||||
gPartyMenuUseExitCallback = TRUE;
|
||||
GetMonNickname(&gPlayerParty[tMonId], gStringVar1);
|
||||
StringCopy(gStringVar2, gAbilityNames[GetAbilityBySpecies(tSpecies, tAbilityNum)]);
|
||||
StringCopy(gStringVar2, gAbilitiesInfo[GetAbilityBySpecies(tSpecies, tAbilityNum)].name);
|
||||
StringExpandPlaceholders(gStringVar4, askText);
|
||||
PlaySE(SE_SELECT);
|
||||
DisplayPartyMenuMessage(gStringVar4, 1);
|
||||
|
|
@ -4546,7 +4546,7 @@ void Task_AbilityPatch(u8 taskId)
|
|||
}
|
||||
gPartyMenuUseExitCallback = TRUE;
|
||||
GetMonNickname(&gPlayerParty[tMonId], gStringVar1);
|
||||
StringCopy(gStringVar2, gAbilityNames[GetAbilityBySpecies(tSpecies, tAbilityNum)]);
|
||||
StringCopy(gStringVar2, gAbilitiesInfo[GetAbilityBySpecies(tSpecies, tAbilityNum)].name);
|
||||
StringExpandPlaceholders(gStringVar4, askText);
|
||||
PlaySE(SE_SELECT);
|
||||
DisplayPartyMenuMessage(gStringVar4, 1);
|
||||
|
|
@ -5111,26 +5111,14 @@ void ItemUseCB_PPUp(u8 taskId, TaskFunc func)
|
|||
|
||||
u16 ItemIdToBattleMoveId(u16 item)
|
||||
{
|
||||
u16 tmNumber = item - ITEM_TM01;
|
||||
|
||||
return gTMHMMoves[tmNumber];
|
||||
}
|
||||
|
||||
bool8 IsMoveHm(u16 move)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < NUM_HIDDEN_MACHINES - 1; ++i) // no dive
|
||||
if (gTMHMMoves[i + NUM_TECHNICAL_MACHINES] == move)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
return (ItemId_GetPocket(item) == POCKET_TM_CASE) ? gItems[item].secondaryId : MOVE_NONE;
|
||||
}
|
||||
|
||||
bool8 MonKnowsMove(struct Pokemon *mon, u16 move)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < MAX_MON_MOVES; ++i)
|
||||
for (i = 0; i < MAX_MON_MOVES; i++)
|
||||
{
|
||||
if (GetMonData(mon, MON_DATA_MOVE1 + i) == move)
|
||||
return TRUE;
|
||||
|
|
@ -5138,6 +5126,18 @@ bool8 MonKnowsMove(struct Pokemon *mon, u16 move)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 BoxMonKnowsMove(struct BoxPokemon *boxMon, u16 move)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < MAX_MON_MOVES; i++)
|
||||
{
|
||||
if (GetBoxMonData(boxMon, MON_DATA_MOVE1 + i) == move)
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void DisplayLearnMoveMessage(const u8 *str)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, str);
|
||||
|
|
@ -5410,8 +5410,6 @@ static void Task_TryLearningNextMoveAfterText(u8 taskId)
|
|||
Task_TryLearningNextMove(taskId);
|
||||
}
|
||||
|
||||
#define SOME_OFFSET 6
|
||||
|
||||
void ItemUseCB_RareCandy(u8 taskId, TaskFunc func)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
|
|
|
|||
|
|
@ -138,8 +138,6 @@ static void ItemPrintFunc_OrderedListMenu(u8 windowId, u32 itemId, u8 y);
|
|||
static void Task_DexScreen_RegisterNonKantoMonBeforeNationalDex(u8 taskId);
|
||||
static void Task_DexScreen_RegisterMonToPokedex(u8 taskId);
|
||||
|
||||
#include "data/pokemon_graphics/footprint_table.h"
|
||||
|
||||
const u32 sCategoryMonInfoBgTiles[] = INCBIN_U32("graphics/pokedex/mini_page.4bpp.lz");
|
||||
const u32 sKantoDexTiles[] = INCBIN_U32("graphics/pokedex/kanto_dex_bgtiles.4bpp.lz");
|
||||
const u32 sNatDexTiles[] = INCBIN_U32("graphics/pokedex/national_dex_bgtiles.4bpp.lz");
|
||||
|
|
@ -201,7 +199,6 @@ const u16 sBlitTiles_WideEllipse[] = INCBIN_U16("graphics/pokedex/blit_wide_elli
|
|||
static const u8 gExpandedPlaceholder_PokedexDescription[] = _("");
|
||||
|
||||
#include "data/pokemon/pokedex_text.h"
|
||||
#include "data/pokemon/pokedex_entries.h"
|
||||
|
||||
static const struct BgTemplate sBgTemplates[] = {
|
||||
{
|
||||
|
|
|
|||
2424
src/pokemon.c
2424
src/pokemon.c
File diff suppressed because it is too large
Load Diff
|
|
@ -28,892 +28,6 @@ const u16 gMonIconPalettes[][16] = {
|
|||
INCBIN_U16("graphics/pokemon/icon_palettes/pal5.gbapal")
|
||||
};
|
||||
|
||||
// const u8 *const gMonIconTable[] = {
|
||||
// [SPECIES_NONE] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_BULBASAUR] = gMonIcon_Bulbasaur,
|
||||
// [SPECIES_IVYSAUR] = gMonIcon_Ivysaur,
|
||||
// [SPECIES_VENUSAUR] = gMonIcon_Venusaur,
|
||||
// [SPECIES_CHARMANDER] = gMonIcon_Charmander,
|
||||
// [SPECIES_CHARMELEON] = gMonIcon_Charmeleon,
|
||||
// [SPECIES_CHARIZARD] = gMonIcon_Charizard,
|
||||
// [SPECIES_SQUIRTLE] = gMonIcon_Squirtle,
|
||||
// [SPECIES_WARTORTLE] = gMonIcon_Wartortle,
|
||||
// [SPECIES_BLASTOISE] = gMonIcon_Blastoise,
|
||||
// [SPECIES_CATERPIE] = gMonIcon_Caterpie,
|
||||
// [SPECIES_METAPOD] = gMonIcon_Metapod,
|
||||
// [SPECIES_BUTTERFREE] = gMonIcon_Butterfree,
|
||||
// [SPECIES_WEEDLE] = gMonIcon_Weedle,
|
||||
// [SPECIES_KAKUNA] = gMonIcon_Kakuna,
|
||||
// [SPECIES_BEEDRILL] = gMonIcon_Beedrill,
|
||||
// [SPECIES_PIDGEY] = gMonIcon_Pidgey,
|
||||
// [SPECIES_PIDGEOTTO] = gMonIcon_Pidgeotto,
|
||||
// [SPECIES_PIDGEOT] = gMonIcon_Pidgeot,
|
||||
// [SPECIES_RATTATA] = gMonIcon_Rattata,
|
||||
// [SPECIES_RATICATE] = gMonIcon_Raticate,
|
||||
// [SPECIES_SPEAROW] = gMonIcon_Spearow,
|
||||
// [SPECIES_FEAROW] = gMonIcon_Fearow,
|
||||
// [SPECIES_EKANS] = gMonIcon_Ekans,
|
||||
// [SPECIES_ARBOK] = gMonIcon_Arbok,
|
||||
// [SPECIES_PIKACHU] = gMonIcon_Pikachu,
|
||||
// [SPECIES_RAICHU] = gMonIcon_Raichu,
|
||||
// [SPECIES_SANDSHREW] = gMonIcon_Sandshrew,
|
||||
// [SPECIES_SANDSLASH] = gMonIcon_Sandslash,
|
||||
// [SPECIES_NIDORAN_F] = gMonIcon_NidoranF,
|
||||
// [SPECIES_NIDORINA] = gMonIcon_Nidorina,
|
||||
// [SPECIES_NIDOQUEEN] = gMonIcon_Nidoqueen,
|
||||
// [SPECIES_NIDORAN_M] = gMonIcon_NidoranM,
|
||||
// [SPECIES_NIDORINO] = gMonIcon_Nidorino,
|
||||
// [SPECIES_NIDOKING] = gMonIcon_Nidoking,
|
||||
// [SPECIES_CLEFAIRY] = gMonIcon_Clefairy,
|
||||
// [SPECIES_CLEFABLE] = gMonIcon_Clefable,
|
||||
// [SPECIES_VULPIX] = gMonIcon_Vulpix,
|
||||
// [SPECIES_NINETALES] = gMonIcon_Ninetales,
|
||||
// [SPECIES_JIGGLYPUFF] = gMonIcon_Jigglypuff,
|
||||
// [SPECIES_WIGGLYTUFF] = gMonIcon_Wigglytuff,
|
||||
// [SPECIES_ZUBAT] = gMonIcon_Zubat,
|
||||
// [SPECIES_GOLBAT] = gMonIcon_Golbat,
|
||||
// [SPECIES_ODDISH] = gMonIcon_Oddish,
|
||||
// [SPECIES_GLOOM] = gMonIcon_Gloom,
|
||||
// [SPECIES_VILEPLUME] = gMonIcon_Vileplume,
|
||||
// [SPECIES_PARAS] = gMonIcon_Paras,
|
||||
// [SPECIES_PARASECT] = gMonIcon_Parasect,
|
||||
// [SPECIES_VENONAT] = gMonIcon_Venonat,
|
||||
// [SPECIES_VENOMOTH] = gMonIcon_Venomoth,
|
||||
// [SPECIES_DIGLETT] = gMonIcon_Diglett,
|
||||
// [SPECIES_DUGTRIO] = gMonIcon_Dugtrio,
|
||||
// [SPECIES_MEOWTH] = gMonIcon_Meowth,
|
||||
// [SPECIES_PERSIAN] = gMonIcon_Persian,
|
||||
// [SPECIES_PSYDUCK] = gMonIcon_Psyduck,
|
||||
// [SPECIES_GOLDUCK] = gMonIcon_Golduck,
|
||||
// [SPECIES_MANKEY] = gMonIcon_Mankey,
|
||||
// [SPECIES_PRIMEAPE] = gMonIcon_Primeape,
|
||||
// [SPECIES_GROWLITHE] = gMonIcon_Growlithe,
|
||||
// [SPECIES_ARCANINE] = gMonIcon_Arcanine,
|
||||
// [SPECIES_POLIWAG] = gMonIcon_Poliwag,
|
||||
// [SPECIES_POLIWHIRL] = gMonIcon_Poliwhirl,
|
||||
// [SPECIES_POLIWRATH] = gMonIcon_Poliwrath,
|
||||
// [SPECIES_ABRA] = gMonIcon_Abra,
|
||||
// [SPECIES_KADABRA] = gMonIcon_Kadabra,
|
||||
// [SPECIES_ALAKAZAM] = gMonIcon_Alakazam,
|
||||
// [SPECIES_MACHOP] = gMonIcon_Machop,
|
||||
// [SPECIES_MACHOKE] = gMonIcon_Machoke,
|
||||
// [SPECIES_MACHAMP] = gMonIcon_Machamp,
|
||||
// [SPECIES_BELLSPROUT] = gMonIcon_Bellsprout,
|
||||
// [SPECIES_WEEPINBELL] = gMonIcon_Weepinbell,
|
||||
// [SPECIES_VICTREEBEL] = gMonIcon_Victreebel,
|
||||
// [SPECIES_TENTACOOL] = gMonIcon_Tentacool,
|
||||
// [SPECIES_TENTACRUEL] = gMonIcon_Tentacruel,
|
||||
// [SPECIES_GEODUDE] = gMonIcon_Geodude,
|
||||
// [SPECIES_GRAVELER] = gMonIcon_Graveler,
|
||||
// [SPECIES_GOLEM] = gMonIcon_Golem,
|
||||
// [SPECIES_PONYTA] = gMonIcon_Ponyta,
|
||||
// [SPECIES_RAPIDASH] = gMonIcon_Rapidash,
|
||||
// [SPECIES_SLOWPOKE] = gMonIcon_Slowpoke,
|
||||
// [SPECIES_SLOWBRO] = gMonIcon_Slowbro,
|
||||
// [SPECIES_MAGNEMITE] = gMonIcon_Magnemite,
|
||||
// [SPECIES_MAGNETON] = gMonIcon_Magneton,
|
||||
// [SPECIES_FARFETCHD] = gMonIcon_Farfetchd,
|
||||
// [SPECIES_DODUO] = gMonIcon_Doduo,
|
||||
// [SPECIES_DODRIO] = gMonIcon_Dodrio,
|
||||
// [SPECIES_SEEL] = gMonIcon_Seel,
|
||||
// [SPECIES_DEWGONG] = gMonIcon_Dewgong,
|
||||
// [SPECIES_GRIMER] = gMonIcon_Grimer,
|
||||
// [SPECIES_MUK] = gMonIcon_Muk,
|
||||
// [SPECIES_SHELLDER] = gMonIcon_Shellder,
|
||||
// [SPECIES_CLOYSTER] = gMonIcon_Cloyster,
|
||||
// [SPECIES_GASTLY] = gMonIcon_Gastly,
|
||||
// [SPECIES_HAUNTER] = gMonIcon_Haunter,
|
||||
// [SPECIES_GENGAR] = gMonIcon_Gengar,
|
||||
// [SPECIES_ONIX] = gMonIcon_Onix,
|
||||
// [SPECIES_DROWZEE] = gMonIcon_Drowzee,
|
||||
// [SPECIES_HYPNO] = gMonIcon_Hypno,
|
||||
// [SPECIES_KRABBY] = gMonIcon_Krabby,
|
||||
// [SPECIES_KINGLER] = gMonIcon_Kingler,
|
||||
// [SPECIES_VOLTORB] = gMonIcon_Voltorb,
|
||||
// [SPECIES_ELECTRODE] = gMonIcon_Electrode,
|
||||
// [SPECIES_EXEGGCUTE] = gMonIcon_Exeggcute,
|
||||
// [SPECIES_EXEGGUTOR] = gMonIcon_Exeggutor,
|
||||
// [SPECIES_CUBONE] = gMonIcon_Cubone,
|
||||
// [SPECIES_MAROWAK] = gMonIcon_Marowak,
|
||||
// [SPECIES_HITMONLEE] = gMonIcon_Hitmonlee,
|
||||
// [SPECIES_HITMONCHAN] = gMonIcon_Hitmonchan,
|
||||
// [SPECIES_LICKITUNG] = gMonIcon_Lickitung,
|
||||
// [SPECIES_KOFFING] = gMonIcon_Koffing,
|
||||
// [SPECIES_WEEZING] = gMonIcon_Weezing,
|
||||
// [SPECIES_RHYHORN] = gMonIcon_Rhyhorn,
|
||||
// [SPECIES_RHYDON] = gMonIcon_Rhydon,
|
||||
// [SPECIES_CHANSEY] = gMonIcon_Chansey,
|
||||
// [SPECIES_TANGELA] = gMonIcon_Tangela,
|
||||
// [SPECIES_KANGASKHAN] = gMonIcon_Kangaskhan,
|
||||
// [SPECIES_HORSEA] = gMonIcon_Horsea,
|
||||
// [SPECIES_SEADRA] = gMonIcon_Seadra,
|
||||
// [SPECIES_GOLDEEN] = gMonIcon_Goldeen,
|
||||
// [SPECIES_SEAKING] = gMonIcon_Seaking,
|
||||
// [SPECIES_STARYU] = gMonIcon_Staryu,
|
||||
// [SPECIES_STARMIE] = gMonIcon_Starmie,
|
||||
// [SPECIES_MR_MIME] = gMonIcon_Mrmime,
|
||||
// [SPECIES_SCYTHER] = gMonIcon_Scyther,
|
||||
// [SPECIES_JYNX] = gMonIcon_Jynx,
|
||||
// [SPECIES_ELECTABUZZ] = gMonIcon_Electabuzz,
|
||||
// [SPECIES_MAGMAR] = gMonIcon_Magmar,
|
||||
// [SPECIES_PINSIR] = gMonIcon_Pinsir,
|
||||
// [SPECIES_TAUROS] = gMonIcon_Tauros,
|
||||
// [SPECIES_MAGIKARP] = gMonIcon_Magikarp,
|
||||
// [SPECIES_GYARADOS] = gMonIcon_Gyarados,
|
||||
// [SPECIES_LAPRAS] = gMonIcon_Lapras,
|
||||
// [SPECIES_DITTO] = gMonIcon_Ditto,
|
||||
// [SPECIES_EEVEE] = gMonIcon_Eevee,
|
||||
// [SPECIES_VAPOREON] = gMonIcon_Vaporeon,
|
||||
// [SPECIES_JOLTEON] = gMonIcon_Jolteon,
|
||||
// [SPECIES_FLAREON] = gMonIcon_Flareon,
|
||||
// [SPECIES_PORYGON] = gMonIcon_Porygon,
|
||||
// [SPECIES_OMANYTE] = gMonIcon_Omanyte,
|
||||
// [SPECIES_OMASTAR] = gMonIcon_Omastar,
|
||||
// [SPECIES_KABUTO] = gMonIcon_Kabuto,
|
||||
// [SPECIES_KABUTOPS] = gMonIcon_Kabutops,
|
||||
// [SPECIES_AERODACTYL] = gMonIcon_Aerodactyl,
|
||||
// [SPECIES_SNORLAX] = gMonIcon_Snorlax,
|
||||
// [SPECIES_ARTICUNO] = gMonIcon_Articuno,
|
||||
// [SPECIES_ZAPDOS] = gMonIcon_Zapdos,
|
||||
// [SPECIES_MOLTRES] = gMonIcon_Moltres,
|
||||
// [SPECIES_DRATINI] = gMonIcon_Dratini,
|
||||
// [SPECIES_DRAGONAIR] = gMonIcon_Dragonair,
|
||||
// [SPECIES_DRAGONITE] = gMonIcon_Dragonite,
|
||||
// [SPECIES_MEWTWO] = gMonIcon_Mewtwo,
|
||||
// [SPECIES_MEW] = gMonIcon_Mew,
|
||||
// [SPECIES_CHIKORITA] = gMonIcon_Chikorita,
|
||||
// [SPECIES_BAYLEEF] = gMonIcon_Bayleef,
|
||||
// [SPECIES_MEGANIUM] = gMonIcon_Meganium,
|
||||
// [SPECIES_CYNDAQUIL] = gMonIcon_Cyndaquil,
|
||||
// [SPECIES_QUILAVA] = gMonIcon_Quilava,
|
||||
// [SPECIES_TYPHLOSION] = gMonIcon_Typhlosion,
|
||||
// [SPECIES_TOTODILE] = gMonIcon_Totodile,
|
||||
// [SPECIES_CROCONAW] = gMonIcon_Croconaw,
|
||||
// [SPECIES_FERALIGATR] = gMonIcon_Feraligatr,
|
||||
// [SPECIES_SENTRET] = gMonIcon_Sentret,
|
||||
// [SPECIES_FURRET] = gMonIcon_Furret,
|
||||
// [SPECIES_HOOTHOOT] = gMonIcon_Hoothoot,
|
||||
// [SPECIES_NOCTOWL] = gMonIcon_Noctowl,
|
||||
// [SPECIES_LEDYBA] = gMonIcon_Ledyba,
|
||||
// [SPECIES_LEDIAN] = gMonIcon_Ledian,
|
||||
// [SPECIES_SPINARAK] = gMonIcon_Spinarak,
|
||||
// [SPECIES_ARIADOS] = gMonIcon_Ariados,
|
||||
// [SPECIES_CROBAT] = gMonIcon_Crobat,
|
||||
// [SPECIES_CHINCHOU] = gMonIcon_Chinchou,
|
||||
// [SPECIES_LANTURN] = gMonIcon_Lanturn,
|
||||
// [SPECIES_PICHU] = gMonIcon_Pichu,
|
||||
// [SPECIES_CLEFFA] = gMonIcon_Cleffa,
|
||||
// [SPECIES_IGGLYBUFF] = gMonIcon_Igglybuff,
|
||||
// [SPECIES_TOGEPI] = gMonIcon_Togepi,
|
||||
// [SPECIES_TOGETIC] = gMonIcon_Togetic,
|
||||
// [SPECIES_NATU] = gMonIcon_Natu,
|
||||
// [SPECIES_XATU] = gMonIcon_Xatu,
|
||||
// [SPECIES_MAREEP] = gMonIcon_Mareep,
|
||||
// [SPECIES_FLAAFFY] = gMonIcon_Flaaffy,
|
||||
// [SPECIES_AMPHAROS] = gMonIcon_Ampharos,
|
||||
// [SPECIES_BELLOSSOM] = gMonIcon_Bellossom,
|
||||
// [SPECIES_MARILL] = gMonIcon_Marill,
|
||||
// [SPECIES_AZUMARILL] = gMonIcon_Azumarill,
|
||||
// [SPECIES_SUDOWOODO] = gMonIcon_Sudowoodo,
|
||||
// [SPECIES_POLITOED] = gMonIcon_Politoed,
|
||||
// [SPECIES_HOPPIP] = gMonIcon_Hoppip,
|
||||
// [SPECIES_SKIPLOOM] = gMonIcon_Skiploom,
|
||||
// [SPECIES_JUMPLUFF] = gMonIcon_Jumpluff,
|
||||
// [SPECIES_AIPOM] = gMonIcon_Aipom,
|
||||
// [SPECIES_SUNKERN] = gMonIcon_Sunkern,
|
||||
// [SPECIES_SUNFLORA] = gMonIcon_Sunflora,
|
||||
// [SPECIES_YANMA] = gMonIcon_Yanma,
|
||||
// [SPECIES_WOOPER] = gMonIcon_Wooper,
|
||||
// [SPECIES_QUAGSIRE] = gMonIcon_Quagsire,
|
||||
// [SPECIES_ESPEON] = gMonIcon_Espeon,
|
||||
// [SPECIES_UMBREON] = gMonIcon_Umbreon,
|
||||
// [SPECIES_MURKROW] = gMonIcon_Murkrow,
|
||||
// [SPECIES_SLOWKING] = gMonIcon_Slowking,
|
||||
// [SPECIES_MISDREAVUS] = gMonIcon_Misdreavus,
|
||||
// [SPECIES_UNOWN] = gMonIcon_UnownA,
|
||||
// [SPECIES_WOBBUFFET] = gMonIcon_Wobbuffet,
|
||||
// [SPECIES_GIRAFARIG] = gMonIcon_Girafarig,
|
||||
// [SPECIES_PINECO] = gMonIcon_Pineco,
|
||||
// [SPECIES_FORRETRESS] = gMonIcon_Forretress,
|
||||
// [SPECIES_DUNSPARCE] = gMonIcon_Dunsparce,
|
||||
// [SPECIES_GLIGAR] = gMonIcon_Gligar,
|
||||
// [SPECIES_STEELIX] = gMonIcon_Steelix,
|
||||
// [SPECIES_SNUBBULL] = gMonIcon_Snubbull,
|
||||
// [SPECIES_GRANBULL] = gMonIcon_Granbull,
|
||||
// [SPECIES_QWILFISH] = gMonIcon_Qwilfish,
|
||||
// [SPECIES_SCIZOR] = gMonIcon_Scizor,
|
||||
// [SPECIES_SHUCKLE] = gMonIcon_Shuckle,
|
||||
// [SPECIES_HERACROSS] = gMonIcon_Heracross,
|
||||
// [SPECIES_SNEASEL] = gMonIcon_Sneasel,
|
||||
// [SPECIES_TEDDIURSA] = gMonIcon_Teddiursa,
|
||||
// [SPECIES_URSARING] = gMonIcon_Ursaring,
|
||||
// [SPECIES_SLUGMA] = gMonIcon_Slugma,
|
||||
// [SPECIES_MAGCARGO] = gMonIcon_Magcargo,
|
||||
// [SPECIES_SWINUB] = gMonIcon_Swinub,
|
||||
// [SPECIES_PILOSWINE] = gMonIcon_Piloswine,
|
||||
// [SPECIES_CORSOLA] = gMonIcon_Corsola,
|
||||
// [SPECIES_REMORAID] = gMonIcon_Remoraid,
|
||||
// [SPECIES_OCTILLERY] = gMonIcon_Octillery,
|
||||
// [SPECIES_DELIBIRD] = gMonIcon_Delibird,
|
||||
// [SPECIES_MANTINE] = gMonIcon_Mantine,
|
||||
// [SPECIES_SKARMORY] = gMonIcon_Skarmory,
|
||||
// [SPECIES_HOUNDOUR] = gMonIcon_Houndour,
|
||||
// [SPECIES_HOUNDOOM] = gMonIcon_Houndoom,
|
||||
// [SPECIES_KINGDRA] = gMonIcon_Kingdra,
|
||||
// [SPECIES_PHANPY] = gMonIcon_Phanpy,
|
||||
// [SPECIES_DONPHAN] = gMonIcon_Donphan,
|
||||
// [SPECIES_PORYGON2] = gMonIcon_Porygon2,
|
||||
// [SPECIES_STANTLER] = gMonIcon_Stantler,
|
||||
// [SPECIES_SMEARGLE] = gMonIcon_Smeargle,
|
||||
// [SPECIES_TYROGUE] = gMonIcon_Tyrogue,
|
||||
// [SPECIES_HITMONTOP] = gMonIcon_Hitmontop,
|
||||
// [SPECIES_SMOOCHUM] = gMonIcon_Smoochum,
|
||||
// [SPECIES_ELEKID] = gMonIcon_Elekid,
|
||||
// [SPECIES_MAGBY] = gMonIcon_Magby,
|
||||
// [SPECIES_MILTANK] = gMonIcon_Miltank,
|
||||
// [SPECIES_BLISSEY] = gMonIcon_Blissey,
|
||||
// [SPECIES_RAIKOU] = gMonIcon_Raikou,
|
||||
// [SPECIES_ENTEI] = gMonIcon_Entei,
|
||||
// [SPECIES_SUICUNE] = gMonIcon_Suicune,
|
||||
// [SPECIES_LARVITAR] = gMonIcon_Larvitar,
|
||||
// [SPECIES_PUPITAR] = gMonIcon_Pupitar,
|
||||
// [SPECIES_TYRANITAR] = gMonIcon_Tyranitar,
|
||||
// [SPECIES_LUGIA] = gMonIcon_Lugia,
|
||||
// [SPECIES_HO_OH] = gMonIcon_HoOh,
|
||||
// [SPECIES_CELEBI] = gMonIcon_Celebi,
|
||||
// [SPECIES_OLD_UNOWN_B] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_C] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_D] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_E] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_F] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_G] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_H] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_I] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_J] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_K] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_L] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_M] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_N] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_O] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_P] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_Q] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_R] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_S] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_T] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_U] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_V] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_W] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_X] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_Y] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_OLD_UNOWN_Z] = gMonIcon_QuestionMark,
|
||||
// [SPECIES_TREECKO] = gMonIcon_Treecko,
|
||||
// [SPECIES_GROVYLE] = gMonIcon_Grovyle,
|
||||
// [SPECIES_SCEPTILE] = gMonIcon_Sceptile,
|
||||
// [SPECIES_TORCHIC] = gMonIcon_Torchic,
|
||||
// [SPECIES_COMBUSKEN] = gMonIcon_Combusken,
|
||||
// [SPECIES_BLAZIKEN] = gMonIcon_Blaziken,
|
||||
// [SPECIES_MUDKIP] = gMonIcon_Mudkip,
|
||||
// [SPECIES_MARSHTOMP] = gMonIcon_Marshtomp,
|
||||
// [SPECIES_SWAMPERT] = gMonIcon_Swampert,
|
||||
// [SPECIES_POOCHYENA] = gMonIcon_Poochyena,
|
||||
// [SPECIES_MIGHTYENA] = gMonIcon_Mightyena,
|
||||
// [SPECIES_ZIGZAGOON] = gMonIcon_Zigzagoon,
|
||||
// [SPECIES_LINOONE] = gMonIcon_Linoone,
|
||||
// [SPECIES_WURMPLE] = gMonIcon_Wurmple,
|
||||
// [SPECIES_SILCOON] = gMonIcon_Silcoon,
|
||||
// [SPECIES_BEAUTIFLY] = gMonIcon_Beautifly,
|
||||
// [SPECIES_CASCOON] = gMonIcon_Cascoon,
|
||||
// [SPECIES_DUSTOX] = gMonIcon_Dustox,
|
||||
// [SPECIES_LOTAD] = gMonIcon_Lotad,
|
||||
// [SPECIES_LOMBRE] = gMonIcon_Lombre,
|
||||
// [SPECIES_LUDICOLO] = gMonIcon_Ludicolo,
|
||||
// [SPECIES_SEEDOT] = gMonIcon_Seedot,
|
||||
// [SPECIES_NUZLEAF] = gMonIcon_Nuzleaf,
|
||||
// [SPECIES_SHIFTRY] = gMonIcon_Shiftry,
|
||||
// [SPECIES_NINCADA] = gMonIcon_Nincada,
|
||||
// [SPECIES_NINJASK] = gMonIcon_Ninjask,
|
||||
// [SPECIES_SHEDINJA] = gMonIcon_Shedinja,
|
||||
// [SPECIES_TAILLOW] = gMonIcon_Taillow,
|
||||
// [SPECIES_SWELLOW] = gMonIcon_Swellow,
|
||||
// [SPECIES_SHROOMISH] = gMonIcon_Shroomish,
|
||||
// [SPECIES_BRELOOM] = gMonIcon_Breloom,
|
||||
// [SPECIES_SPINDA] = gMonIcon_Spinda,
|
||||
// [SPECIES_WINGULL] = gMonIcon_Wingull,
|
||||
// [SPECIES_PELIPPER] = gMonIcon_Pelipper,
|
||||
// [SPECIES_SURSKIT] = gMonIcon_Surskit,
|
||||
// [SPECIES_MASQUERAIN] = gMonIcon_Masquerain,
|
||||
// [SPECIES_WAILMER] = gMonIcon_Wailmer,
|
||||
// [SPECIES_WAILORD] = gMonIcon_Wailord,
|
||||
// [SPECIES_SKITTY] = gMonIcon_Skitty,
|
||||
// [SPECIES_DELCATTY] = gMonIcon_Delcatty,
|
||||
// [SPECIES_KECLEON] = gMonIcon_Kecleon,
|
||||
// [SPECIES_BALTOY] = gMonIcon_Baltoy,
|
||||
// [SPECIES_CLAYDOL] = gMonIcon_Claydol,
|
||||
// [SPECIES_NOSEPASS] = gMonIcon_Nosepass,
|
||||
// [SPECIES_TORKOAL] = gMonIcon_Torkoal,
|
||||
// [SPECIES_SABLEYE] = gMonIcon_Sableye,
|
||||
// [SPECIES_BARBOACH] = gMonIcon_Barboach,
|
||||
// [SPECIES_WHISCASH] = gMonIcon_Whiscash,
|
||||
// [SPECIES_LUVDISC] = gMonIcon_Luvdisc,
|
||||
// [SPECIES_CORPHISH] = gMonIcon_Corphish,
|
||||
// [SPECIES_CRAWDAUNT] = gMonIcon_Crawdaunt,
|
||||
// [SPECIES_FEEBAS] = gMonIcon_Feebas,
|
||||
// [SPECIES_MILOTIC] = gMonIcon_Milotic,
|
||||
// [SPECIES_CARVANHA] = gMonIcon_Carvanha,
|
||||
// [SPECIES_SHARPEDO] = gMonIcon_Sharpedo,
|
||||
// [SPECIES_TRAPINCH] = gMonIcon_Trapinch,
|
||||
// [SPECIES_VIBRAVA] = gMonIcon_Vibrava,
|
||||
// [SPECIES_FLYGON] = gMonIcon_Flygon,
|
||||
// [SPECIES_MAKUHITA] = gMonIcon_Makuhita,
|
||||
// [SPECIES_HARIYAMA] = gMonIcon_Hariyama,
|
||||
// [SPECIES_ELECTRIKE] = gMonIcon_Electrike,
|
||||
// [SPECIES_MANECTRIC] = gMonIcon_Manectric,
|
||||
// [SPECIES_NUMEL] = gMonIcon_Numel,
|
||||
// [SPECIES_CAMERUPT] = gMonIcon_Camerupt,
|
||||
// [SPECIES_SPHEAL] = gMonIcon_Spheal,
|
||||
// [SPECIES_SEALEO] = gMonIcon_Sealeo,
|
||||
// [SPECIES_WALREIN] = gMonIcon_Walrein,
|
||||
// [SPECIES_CACNEA] = gMonIcon_Cacnea,
|
||||
// [SPECIES_CACTURNE] = gMonIcon_Cacturne,
|
||||
// [SPECIES_SNORUNT] = gMonIcon_Snorunt,
|
||||
// [SPECIES_GLALIE] = gMonIcon_Glalie,
|
||||
// [SPECIES_LUNATONE] = gMonIcon_Lunatone,
|
||||
// [SPECIES_SOLROCK] = gMonIcon_Solrock,
|
||||
// [SPECIES_AZURILL] = gMonIcon_Azurill,
|
||||
// [SPECIES_SPOINK] = gMonIcon_Spoink,
|
||||
// [SPECIES_GRUMPIG] = gMonIcon_Grumpig,
|
||||
// [SPECIES_PLUSLE] = gMonIcon_Plusle,
|
||||
// [SPECIES_MINUN] = gMonIcon_Minun,
|
||||
// [SPECIES_MAWILE] = gMonIcon_Mawile,
|
||||
// [SPECIES_MEDITITE] = gMonIcon_Meditite,
|
||||
// [SPECIES_MEDICHAM] = gMonIcon_Medicham,
|
||||
// [SPECIES_SWABLU] = gMonIcon_Swablu,
|
||||
// [SPECIES_ALTARIA] = gMonIcon_Altaria,
|
||||
// [SPECIES_WYNAUT] = gMonIcon_Wynaut,
|
||||
// [SPECIES_DUSKULL] = gMonIcon_Duskull,
|
||||
// [SPECIES_DUSCLOPS] = gMonIcon_Dusclops,
|
||||
// [SPECIES_ROSELIA] = gMonIcon_Roselia,
|
||||
// [SPECIES_SLAKOTH] = gMonIcon_Slakoth,
|
||||
// [SPECIES_VIGOROTH] = gMonIcon_Vigoroth,
|
||||
// [SPECIES_SLAKING] = gMonIcon_Slaking,
|
||||
// [SPECIES_GULPIN] = gMonIcon_Gulpin,
|
||||
// [SPECIES_SWALOT] = gMonIcon_Swalot,
|
||||
// [SPECIES_TROPIUS] = gMonIcon_Tropius,
|
||||
// [SPECIES_WHISMUR] = gMonIcon_Whismur,
|
||||
// [SPECIES_LOUDRED] = gMonIcon_Loudred,
|
||||
// [SPECIES_EXPLOUD] = gMonIcon_Exploud,
|
||||
// [SPECIES_CLAMPERL] = gMonIcon_Clamperl,
|
||||
// [SPECIES_HUNTAIL] = gMonIcon_Huntail,
|
||||
// [SPECIES_GOREBYSS] = gMonIcon_Gorebyss,
|
||||
// [SPECIES_ABSOL] = gMonIcon_Absol,
|
||||
// [SPECIES_SHUPPET] = gMonIcon_Shuppet,
|
||||
// [SPECIES_BANETTE] = gMonIcon_Banette,
|
||||
// [SPECIES_SEVIPER] = gMonIcon_Seviper,
|
||||
// [SPECIES_ZANGOOSE] = gMonIcon_Zangoose,
|
||||
// [SPECIES_RELICANTH] = gMonIcon_Relicanth,
|
||||
// [SPECIES_ARON] = gMonIcon_Aron,
|
||||
// [SPECIES_LAIRON] = gMonIcon_Lairon,
|
||||
// [SPECIES_AGGRON] = gMonIcon_Aggron,
|
||||
// [SPECIES_CASTFORM] = gMonIcon_Castform,
|
||||
// [SPECIES_VOLBEAT] = gMonIcon_Volbeat,
|
||||
// [SPECIES_ILLUMISE] = gMonIcon_Illumise,
|
||||
// [SPECIES_LILEEP] = gMonIcon_Lileep,
|
||||
// [SPECIES_CRADILY] = gMonIcon_Cradily,
|
||||
// [SPECIES_ANORITH] = gMonIcon_Anorith,
|
||||
// [SPECIES_ARMALDO] = gMonIcon_Armaldo,
|
||||
// [SPECIES_RALTS] = gMonIcon_Ralts,
|
||||
// [SPECIES_KIRLIA] = gMonIcon_Kirlia,
|
||||
// [SPECIES_GARDEVOIR] = gMonIcon_Gardevoir,
|
||||
// [SPECIES_BAGON] = gMonIcon_Bagon,
|
||||
// [SPECIES_SHELGON] = gMonIcon_Shelgon,
|
||||
// [SPECIES_SALAMENCE] = gMonIcon_Salamence,
|
||||
// [SPECIES_BELDUM] = gMonIcon_Beldum,
|
||||
// [SPECIES_METANG] = gMonIcon_Metang,
|
||||
// [SPECIES_METAGROSS] = gMonIcon_Metagross,
|
||||
// [SPECIES_REGIROCK] = gMonIcon_Regirock,
|
||||
// [SPECIES_REGICE] = gMonIcon_Regice,
|
||||
// [SPECIES_REGISTEEL] = gMonIcon_Registeel,
|
||||
// [SPECIES_KYOGRE] = gMonIcon_Kyogre,
|
||||
// [SPECIES_GROUDON] = gMonIcon_Groudon,
|
||||
// [SPECIES_RAYQUAZA] = gMonIcon_Rayquaza,
|
||||
// [SPECIES_LATIAS] = gMonIcon_Latias,
|
||||
// [SPECIES_LATIOS] = gMonIcon_Latios,
|
||||
// [SPECIES_JIRACHI] = gMonIcon_Jirachi,
|
||||
// [SPECIES_DEOXYS] = gMonIcon_Deoxys,
|
||||
// [SPECIES_CHIMECHO] = gMonIcon_Chimecho,
|
||||
// [SPECIES_EGG] = gMonIcon_Egg,
|
||||
// [SPECIES_UNOWN_B] = gMonIcon_UnownB,
|
||||
// [SPECIES_UNOWN_C] = gMonIcon_UnownC,
|
||||
// [SPECIES_UNOWN_D] = gMonIcon_UnownD,
|
||||
// [SPECIES_UNOWN_E] = gMonIcon_UnownE,
|
||||
// [SPECIES_UNOWN_F] = gMonIcon_UnownF,
|
||||
// [SPECIES_UNOWN_G] = gMonIcon_UnownG,
|
||||
// [SPECIES_UNOWN_H] = gMonIcon_UnownH,
|
||||
// [SPECIES_UNOWN_I] = gMonIcon_UnownI,
|
||||
// [SPECIES_UNOWN_J] = gMonIcon_UnownJ,
|
||||
// [SPECIES_UNOWN_K] = gMonIcon_UnownK,
|
||||
// [SPECIES_UNOWN_L] = gMonIcon_UnownL,
|
||||
// [SPECIES_UNOWN_M] = gMonIcon_UnownM,
|
||||
// [SPECIES_UNOWN_N] = gMonIcon_UnownN,
|
||||
// [SPECIES_UNOWN_O] = gMonIcon_UnownO,
|
||||
// [SPECIES_UNOWN_P] = gMonIcon_UnownP,
|
||||
// [SPECIES_UNOWN_Q] = gMonIcon_UnownQ,
|
||||
// [SPECIES_UNOWN_R] = gMonIcon_UnownR,
|
||||
// [SPECIES_UNOWN_S] = gMonIcon_UnownS,
|
||||
// [SPECIES_UNOWN_T] = gMonIcon_UnownT,
|
||||
// [SPECIES_UNOWN_U] = gMonIcon_UnownU,
|
||||
// [SPECIES_UNOWN_V] = gMonIcon_UnownV,
|
||||
// [SPECIES_UNOWN_W] = gMonIcon_UnownW,
|
||||
// [SPECIES_UNOWN_X] = gMonIcon_UnownX,
|
||||
// [SPECIES_UNOWN_Y] = gMonIcon_UnownY,
|
||||
// [SPECIES_UNOWN_Z] = gMonIcon_UnownZ,
|
||||
// [SPECIES_UNOWN_EMARK] = gMonIcon_UnownExclamationMark,
|
||||
// [SPECIES_UNOWN_QMARK] = gMonIcon_UnownQuestionMark
|
||||
// };
|
||||
|
||||
// const u8 gMonIconPaletteIndices[] = {
|
||||
// [SPECIES_NONE] = 0,
|
||||
// [SPECIES_BULBASAUR] = 1,
|
||||
// [SPECIES_IVYSAUR] = 1,
|
||||
// [SPECIES_VENUSAUR] = 1,
|
||||
// [SPECIES_CHARMANDER] = 0,
|
||||
// [SPECIES_CHARMELEON] = 0,
|
||||
// [SPECIES_CHARIZARD] = 0,
|
||||
// [SPECIES_SQUIRTLE] = 0,
|
||||
// [SPECIES_WARTORTLE] = 2,
|
||||
// [SPECIES_BLASTOISE] = 2,
|
||||
// [SPECIES_CATERPIE] = 1,
|
||||
// [SPECIES_METAPOD] = 1,
|
||||
// [SPECIES_BUTTERFREE] = 0,
|
||||
// [SPECIES_WEEDLE] = 1,
|
||||
// [SPECIES_KAKUNA] = 2,
|
||||
// [SPECIES_BEEDRILL] = 2,
|
||||
// [SPECIES_PIDGEY] = 0,
|
||||
// [SPECIES_PIDGEOTTO] = 0,
|
||||
// [SPECIES_PIDGEOT] = 0,
|
||||
// [SPECIES_RATTATA] = 2,
|
||||
// [SPECIES_RATICATE] = 1,
|
||||
// [SPECIES_SPEAROW] = 0,
|
||||
// [SPECIES_FEAROW] = 0,
|
||||
// [SPECIES_EKANS] = 2,
|
||||
// [SPECIES_ARBOK] = 2,
|
||||
// [SPECIES_PIKACHU] = 2,
|
||||
// [SPECIES_RAICHU] = 0,
|
||||
// [SPECIES_SANDSHREW] = 2,
|
||||
// [SPECIES_SANDSLASH] = 2,
|
||||
// [SPECIES_NIDORAN_F] = 2,
|
||||
// [SPECIES_NIDORINA] = 2,
|
||||
// [SPECIES_NIDOQUEEN] = 2,
|
||||
// [SPECIES_NIDORAN_M] = 2,
|
||||
// [SPECIES_NIDORINO] = 2,
|
||||
// [SPECIES_NIDOKING] = 2,
|
||||
// [SPECIES_CLEFAIRY] = 0,
|
||||
// [SPECIES_CLEFABLE] = 0,
|
||||
// [SPECIES_VULPIX] = 2,
|
||||
// [SPECIES_NINETALES] = 1,
|
||||
// [SPECIES_JIGGLYPUFF] = 0,
|
||||
// [SPECIES_WIGGLYTUFF] = 0,
|
||||
// [SPECIES_ZUBAT] = 2,
|
||||
// [SPECIES_GOLBAT] = 2,
|
||||
// [SPECIES_ODDISH] = 1,
|
||||
// [SPECIES_GLOOM] = 0,
|
||||
// [SPECIES_VILEPLUME] = 0,
|
||||
// [SPECIES_PARAS] = 0,
|
||||
// [SPECIES_PARASECT] = 0,
|
||||
// [SPECIES_VENONAT] = 0,
|
||||
// [SPECIES_VENOMOTH] = 2,
|
||||
// [SPECIES_DIGLETT] = 2,
|
||||
// [SPECIES_DUGTRIO] = 2,
|
||||
// [SPECIES_MEOWTH] = 1,
|
||||
// [SPECIES_PERSIAN] = 1,
|
||||
// [SPECIES_PSYDUCK] = 1,
|
||||
// [SPECIES_GOLDUCK] = 2,
|
||||
// [SPECIES_MANKEY] = 1,
|
||||
// [SPECIES_PRIMEAPE] = 2,
|
||||
// [SPECIES_GROWLITHE] = 0,
|
||||
// [SPECIES_ARCANINE] = 0,
|
||||
// [SPECIES_POLIWAG] = 0,
|
||||
// [SPECIES_POLIWHIRL] = 0,
|
||||
// [SPECIES_POLIWRATH] = 0,
|
||||
// [SPECIES_ABRA] = 2,
|
||||
// [SPECIES_KADABRA] = 2,
|
||||
// [SPECIES_ALAKAZAM] = 2,
|
||||
// [SPECIES_MACHOP] = 0,
|
||||
// [SPECIES_MACHOKE] = 2,
|
||||
// [SPECIES_MACHAMP] = 0,
|
||||
// [SPECIES_BELLSPROUT] = 1,
|
||||
// [SPECIES_WEEPINBELL] = 1,
|
||||
// [SPECIES_VICTREEBEL] = 1,
|
||||
// [SPECIES_TENTACOOL] = 2,
|
||||
// [SPECIES_TENTACRUEL] = 2,
|
||||
// [SPECIES_GEODUDE] = 1,
|
||||
// [SPECIES_GRAVELER] = 1,
|
||||
// [SPECIES_GOLEM] = 1,
|
||||
// [SPECIES_PONYTA] = 0,
|
||||
// [SPECIES_RAPIDASH] = 0,
|
||||
// [SPECIES_SLOWPOKE] = 0,
|
||||
// [SPECIES_SLOWBRO] = 0,
|
||||
// [SPECIES_MAGNEMITE] = 0,
|
||||
// [SPECIES_MAGNETON] = 0,
|
||||
// [SPECIES_FARFETCHD] = 1,
|
||||
// [SPECIES_DODUO] = 2,
|
||||
// [SPECIES_DODRIO] = 2,
|
||||
// [SPECIES_SEEL] = 2,
|
||||
// [SPECIES_DEWGONG] = 2,
|
||||
// [SPECIES_GRIMER] = 2,
|
||||
// [SPECIES_MUK] = 2,
|
||||
// [SPECIES_SHELLDER] = 2,
|
||||
// [SPECIES_CLOYSTER] = 2,
|
||||
// [SPECIES_GASTLY] = 2,
|
||||
// [SPECIES_HAUNTER] = 2,
|
||||
// [SPECIES_GENGAR] = 2,
|
||||
// [SPECIES_ONIX] = 2,
|
||||
// [SPECIES_DROWZEE] = 2,
|
||||
// [SPECIES_HYPNO] = 1,
|
||||
// [SPECIES_KRABBY] = 2,
|
||||
// [SPECIES_KINGLER] = 2,
|
||||
// [SPECIES_VOLTORB] = 0,
|
||||
// [SPECIES_ELECTRODE] = 0,
|
||||
// [SPECIES_EXEGGCUTE] = 0,
|
||||
// [SPECIES_EXEGGUTOR] = 1,
|
||||
// [SPECIES_CUBONE] = 1,
|
||||
// [SPECIES_MAROWAK] = 1,
|
||||
// [SPECIES_HITMONLEE] = 2,
|
||||
// [SPECIES_HITMONCHAN] = 2,
|
||||
// [SPECIES_LICKITUNG] = 1,
|
||||
// [SPECIES_KOFFING] = 2,
|
||||
// [SPECIES_WEEZING] = 2,
|
||||
// [SPECIES_RHYHORN] = 1,
|
||||
// [SPECIES_RHYDON] = 1,
|
||||
// [SPECIES_CHANSEY] = 0,
|
||||
// [SPECIES_TANGELA] = 0,
|
||||
// [SPECIES_KANGASKHAN] = 1,
|
||||
// [SPECIES_HORSEA] = 0,
|
||||
// [SPECIES_SEADRA] = 0,
|
||||
// [SPECIES_GOLDEEN] = 0,
|
||||
// [SPECIES_SEAKING] = 0,
|
||||
// [SPECIES_STARYU] = 2,
|
||||
// [SPECIES_STARMIE] = 2,
|
||||
// [SPECIES_MR_MIME] = 0,
|
||||
// [SPECIES_SCYTHER] = 1,
|
||||
// [SPECIES_JYNX] = 2,
|
||||
// [SPECIES_ELECTABUZZ] = 1,
|
||||
// [SPECIES_MAGMAR] = 0,
|
||||
// [SPECIES_PINSIR] = 2,
|
||||
// [SPECIES_TAUROS] = 2,
|
||||
// [SPECIES_MAGIKARP] = 0,
|
||||
// [SPECIES_GYARADOS] = 0,
|
||||
// [SPECIES_LAPRAS] = 2,
|
||||
// [SPECIES_DITTO] = 2,
|
||||
// [SPECIES_EEVEE] = 2,
|
||||
// [SPECIES_VAPOREON] = 0,
|
||||
// [SPECIES_JOLTEON] = 0,
|
||||
// [SPECIES_FLAREON] = 0,
|
||||
// [SPECIES_PORYGON] = 0,
|
||||
// [SPECIES_OMANYTE] = 0,
|
||||
// [SPECIES_OMASTAR] = 0,
|
||||
// [SPECIES_KABUTO] = 2,
|
||||
// [SPECIES_KABUTOPS] = 2,
|
||||
// [SPECIES_AERODACTYL] = 0,
|
||||
// [SPECIES_SNORLAX] = 1,
|
||||
// [SPECIES_ARTICUNO] = 0,
|
||||
// [SPECIES_ZAPDOS] = 0,
|
||||
// [SPECIES_MOLTRES] = 0,
|
||||
// [SPECIES_DRATINI] = 0,
|
||||
// [SPECIES_DRAGONAIR] = 0,
|
||||
// [SPECIES_DRAGONITE] = 2,
|
||||
// [SPECIES_MEWTWO] = 2,
|
||||
// [SPECIES_MEW] = 0,
|
||||
// [SPECIES_CHIKORITA] = 1,
|
||||
// [SPECIES_BAYLEEF] = 1,
|
||||
// [SPECIES_MEGANIUM] = 1,
|
||||
// [SPECIES_CYNDAQUIL] = 1,
|
||||
// [SPECIES_QUILAVA] = 1,
|
||||
// [SPECIES_TYPHLOSION] = 1,
|
||||
// [SPECIES_TOTODILE] = 2,
|
||||
// [SPECIES_CROCONAW] = 2,
|
||||
// [SPECIES_FERALIGATR] = 2,
|
||||
// [SPECIES_SENTRET] = 2,
|
||||
// [SPECIES_FURRET] = 2,
|
||||
// [SPECIES_HOOTHOOT] = 2,
|
||||
// [SPECIES_NOCTOWL] = 2,
|
||||
// [SPECIES_LEDYBA] = 0,
|
||||
// [SPECIES_LEDIAN] = 0,
|
||||
// [SPECIES_SPINARAK] = 1,
|
||||
// [SPECIES_ARIADOS] = 0,
|
||||
// [SPECIES_CROBAT] = 2,
|
||||
// [SPECIES_CHINCHOU] = 2,
|
||||
// [SPECIES_LANTURN] = 0,
|
||||
// [SPECIES_PICHU] = 0,
|
||||
// [SPECIES_CLEFFA] = 0,
|
||||
// [SPECIES_IGGLYBUFF] = 1,
|
||||
// [SPECIES_TOGEPI] = 2,
|
||||
// [SPECIES_TOGETIC] = 2,
|
||||
// [SPECIES_NATU] = 0,
|
||||
// [SPECIES_XATU] = 0,
|
||||
// [SPECIES_MAREEP] = 2,
|
||||
// [SPECIES_FLAAFFY] = 0,
|
||||
// [SPECIES_AMPHAROS] = 0,
|
||||
// [SPECIES_BELLOSSOM] = 1,
|
||||
// [SPECIES_MARILL] = 2,
|
||||
// [SPECIES_AZUMARILL] = 2,
|
||||
// [SPECIES_SUDOWOODO] = 1,
|
||||
// [SPECIES_POLITOED] = 1,
|
||||
// [SPECIES_HOPPIP] = 1,
|
||||
// [SPECIES_SKIPLOOM] = 1,
|
||||
// [SPECIES_JUMPLUFF] = 2,
|
||||
// [SPECIES_AIPOM] = 2,
|
||||
// [SPECIES_SUNKERN] = 1,
|
||||
// [SPECIES_SUNFLORA] = 1,
|
||||
// [SPECIES_YANMA] = 1,
|
||||
// [SPECIES_WOOPER] = 0,
|
||||
// [SPECIES_QUAGSIRE] = 0,
|
||||
// [SPECIES_ESPEON] = 2,
|
||||
// [SPECIES_UMBREON] = 2,
|
||||
// [SPECIES_MURKROW] = 2,
|
||||
// [SPECIES_SLOWKING] = 0,
|
||||
// [SPECIES_MISDREAVUS] = 0,
|
||||
// [SPECIES_UNOWN] = 0,
|
||||
// [SPECIES_WOBBUFFET] = 0,
|
||||
// [SPECIES_GIRAFARIG] = 1,
|
||||
// [SPECIES_PINECO] = 0,
|
||||
// [SPECIES_FORRETRESS] = 2,
|
||||
// [SPECIES_DUNSPARCE] = 2,
|
||||
// [SPECIES_GLIGAR] = 2,
|
||||
// [SPECIES_STEELIX] = 0,
|
||||
// [SPECIES_SNUBBULL] = 0,
|
||||
// [SPECIES_GRANBULL] = 2,
|
||||
// [SPECIES_QWILFISH] = 0,
|
||||
// [SPECIES_SCIZOR] = 0,
|
||||
// [SPECIES_SHUCKLE] = 1,
|
||||
// [SPECIES_HERACROSS] = 2,
|
||||
// [SPECIES_SNEASEL] = 0,
|
||||
// [SPECIES_TEDDIURSA] = 0,
|
||||
// [SPECIES_URSARING] = 2,
|
||||
// [SPECIES_SLUGMA] = 0,
|
||||
// [SPECIES_MAGCARGO] = 0,
|
||||
// [SPECIES_SWINUB] = 2,
|
||||
// [SPECIES_PILOSWINE] = 2,
|
||||
// [SPECIES_CORSOLA] = 0,
|
||||
// [SPECIES_REMORAID] = 0,
|
||||
// [SPECIES_OCTILLERY] = 0,
|
||||
// [SPECIES_DELIBIRD] = 0,
|
||||
// [SPECIES_MANTINE] = 2,
|
||||
// [SPECIES_SKARMORY] = 0,
|
||||
// [SPECIES_HOUNDOUR] = 0,
|
||||
// [SPECIES_HOUNDOOM] = 0,
|
||||
// [SPECIES_KINGDRA] = 0,
|
||||
// [SPECIES_PHANPY] = 0,
|
||||
// [SPECIES_DONPHAN] = 0,
|
||||
// [SPECIES_PORYGON2] = 0,
|
||||
// [SPECIES_STANTLER] = 2,
|
||||
// [SPECIES_SMEARGLE] = 1,
|
||||
// [SPECIES_TYROGUE] = 2,
|
||||
// [SPECIES_HITMONTOP] = 2,
|
||||
// [SPECIES_SMOOCHUM] = 1,
|
||||
// [SPECIES_ELEKID] = 1,
|
||||
// [SPECIES_MAGBY] = 1,
|
||||
// [SPECIES_MILTANK] = 1,
|
||||
// [SPECIES_BLISSEY] = 1,
|
||||
// [SPECIES_RAIKOU] = 0,
|
||||
// [SPECIES_ENTEI] = 2,
|
||||
// [SPECIES_SUICUNE] = 0,
|
||||
// [SPECIES_LARVITAR] = 1,
|
||||
// [SPECIES_PUPITAR] = 0,
|
||||
// [SPECIES_TYRANITAR] = 1,
|
||||
// [SPECIES_LUGIA] = 0,
|
||||
// [SPECIES_HO_OH] = 1,
|
||||
// [SPECIES_CELEBI] = 1,
|
||||
// [SPECIES_OLD_UNOWN_B] = 0,
|
||||
// [SPECIES_OLD_UNOWN_C] = 0,
|
||||
// [SPECIES_OLD_UNOWN_D] = 0,
|
||||
// [SPECIES_OLD_UNOWN_E] = 0,
|
||||
// [SPECIES_OLD_UNOWN_F] = 0,
|
||||
// [SPECIES_OLD_UNOWN_G] = 0,
|
||||
// [SPECIES_OLD_UNOWN_H] = 0,
|
||||
// [SPECIES_OLD_UNOWN_I] = 0,
|
||||
// [SPECIES_OLD_UNOWN_J] = 0,
|
||||
// [SPECIES_OLD_UNOWN_K] = 0,
|
||||
// [SPECIES_OLD_UNOWN_L] = 0,
|
||||
// [SPECIES_OLD_UNOWN_M] = 0,
|
||||
// [SPECIES_OLD_UNOWN_N] = 0,
|
||||
// [SPECIES_OLD_UNOWN_O] = 0,
|
||||
// [SPECIES_OLD_UNOWN_P] = 0,
|
||||
// [SPECIES_OLD_UNOWN_Q] = 0,
|
||||
// [SPECIES_OLD_UNOWN_R] = 0,
|
||||
// [SPECIES_OLD_UNOWN_S] = 0,
|
||||
// [SPECIES_OLD_UNOWN_T] = 0,
|
||||
// [SPECIES_OLD_UNOWN_U] = 0,
|
||||
// [SPECIES_OLD_UNOWN_V] = 0,
|
||||
// [SPECIES_OLD_UNOWN_W] = 0,
|
||||
// [SPECIES_OLD_UNOWN_X] = 0,
|
||||
// [SPECIES_OLD_UNOWN_Y] = 0,
|
||||
// [SPECIES_OLD_UNOWN_Z] = 0,
|
||||
// [SPECIES_TREECKO] = 1,
|
||||
// [SPECIES_GROVYLE] = 0,
|
||||
// [SPECIES_SCEPTILE] = 1,
|
||||
// [SPECIES_TORCHIC] = 0,
|
||||
// [SPECIES_COMBUSKEN] = 0,
|
||||
// [SPECIES_BLAZIKEN] = 0,
|
||||
// [SPECIES_MUDKIP] = 0,
|
||||
// [SPECIES_MARSHTOMP] = 0,
|
||||
// [SPECIES_SWAMPERT] = 0,
|
||||
// [SPECIES_POOCHYENA] = 2,
|
||||
// [SPECIES_MIGHTYENA] = 2,
|
||||
// [SPECIES_ZIGZAGOON] = 2,
|
||||
// [SPECIES_LINOONE] = 2,
|
||||
// [SPECIES_WURMPLE] = 0,
|
||||
// [SPECIES_SILCOON] = 2,
|
||||
// [SPECIES_BEAUTIFLY] = 0,
|
||||
// [SPECIES_CASCOON] = 2,
|
||||
// [SPECIES_DUSTOX] = 1,
|
||||
// [SPECIES_LOTAD] = 1,
|
||||
// [SPECIES_LOMBRE] = 1,
|
||||
// [SPECIES_LUDICOLO] = 1,
|
||||
// [SPECIES_SEEDOT] = 1,
|
||||
// [SPECIES_NUZLEAF] = 1,
|
||||
// [SPECIES_SHIFTRY] = 0,
|
||||
// [SPECIES_NINCADA] = 1,
|
||||
// [SPECIES_NINJASK] = 1,
|
||||
// [SPECIES_SHEDINJA] = 1,
|
||||
// [SPECIES_TAILLOW] = 2,
|
||||
// [SPECIES_SWELLOW] = 2,
|
||||
// [SPECIES_SHROOMISH] = 1,
|
||||
// [SPECIES_BRELOOM] = 1,
|
||||
// [SPECIES_SPINDA] = 1,
|
||||
// [SPECIES_WINGULL] = 0,
|
||||
// [SPECIES_PELIPPER] = 0,
|
||||
// [SPECIES_SURSKIT] = 2,
|
||||
// [SPECIES_MASQUERAIN] = 0,
|
||||
// [SPECIES_WAILMER] = 2,
|
||||
// [SPECIES_WAILORD] = 0,
|
||||
// [SPECIES_SKITTY] = 0,
|
||||
// [SPECIES_DELCATTY] = 2,
|
||||
// [SPECIES_KECLEON] = 1,
|
||||
// [SPECIES_BALTOY] = 1,
|
||||
// [SPECIES_CLAYDOL] = 0,
|
||||
// [SPECIES_NOSEPASS] = 0,
|
||||
// [SPECIES_TORKOAL] = 1,
|
||||
// [SPECIES_SABLEYE] = 2,
|
||||
// [SPECIES_BARBOACH] = 0,
|
||||
// [SPECIES_WHISCASH] = 0,
|
||||
// [SPECIES_LUVDISC] = 0,
|
||||
// [SPECIES_CORPHISH] = 0,
|
||||
// [SPECIES_CRAWDAUNT] = 0,
|
||||
// [SPECIES_FEEBAS] = 2,
|
||||
// [SPECIES_MILOTIC] = 0,
|
||||
// [SPECIES_CARVANHA] = 0,
|
||||
// [SPECIES_SHARPEDO] = 0,
|
||||
// [SPECIES_TRAPINCH] = 1,
|
||||
// [SPECIES_VIBRAVA] = 1,
|
||||
// [SPECIES_FLYGON] = 1,
|
||||
// [SPECIES_MAKUHITA] = 2,
|
||||
// [SPECIES_HARIYAMA] = 1,
|
||||
// [SPECIES_ELECTRIKE] = 1,
|
||||
// [SPECIES_MANECTRIC] = 0,
|
||||
// [SPECIES_NUMEL] = 1,
|
||||
// [SPECIES_CAMERUPT] = 0,
|
||||
// [SPECIES_SPHEAL] = 2,
|
||||
// [SPECIES_SEALEO] = 2,
|
||||
// [SPECIES_WALREIN] = 0,
|
||||
// [SPECIES_CACNEA] = 1,
|
||||
// [SPECIES_CACTURNE] = 1,
|
||||
// [SPECIES_SNORUNT] = 2,
|
||||
// [SPECIES_GLALIE] = 0,
|
||||
// [SPECIES_LUNATONE] = 1,
|
||||
// [SPECIES_SOLROCK] = 0,
|
||||
// [SPECIES_AZURILL] = 2,
|
||||
// [SPECIES_SPOINK] = 0,
|
||||
// [SPECIES_GRUMPIG] = 2,
|
||||
// [SPECIES_PLUSLE] = 0,
|
||||
// [SPECIES_MINUN] = 0,
|
||||
// [SPECIES_MAWILE] = 2,
|
||||
// [SPECIES_MEDITITE] = 0,
|
||||
// [SPECIES_MEDICHAM] = 0,
|
||||
// [SPECIES_SWABLU] = 0,
|
||||
// [SPECIES_ALTARIA] = 0,
|
||||
// [SPECIES_WYNAUT] = 0,
|
||||
// [SPECIES_DUSKULL] = 0,
|
||||
// [SPECIES_DUSCLOPS] = 0,
|
||||
// [SPECIES_ROSELIA] = 0,
|
||||
// [SPECIES_SLAKOTH] = 2,
|
||||
// [SPECIES_VIGOROTH] = 2,
|
||||
// [SPECIES_SLAKING] = 1,
|
||||
// [SPECIES_GULPIN] = 1,
|
||||
// [SPECIES_SWALOT] = 2,
|
||||
// [SPECIES_TROPIUS] = 1,
|
||||
// [SPECIES_WHISMUR] = 0,
|
||||
// [SPECIES_LOUDRED] = 2,
|
||||
// [SPECIES_EXPLOUD] = 2,
|
||||
// [SPECIES_CLAMPERL] = 0,
|
||||
// [SPECIES_HUNTAIL] = 0,
|
||||
// [SPECIES_GOREBYSS] = 0,
|
||||
// [SPECIES_ABSOL] = 0,
|
||||
// [SPECIES_SHUPPET] = 0,
|
||||
// [SPECIES_BANETTE] = 0,
|
||||
// [SPECIES_SEVIPER] = 2,
|
||||
// [SPECIES_ZANGOOSE] = 0,
|
||||
// [SPECIES_RELICANTH] = 1,
|
||||
// [SPECIES_ARON] = 2,
|
||||
// [SPECIES_LAIRON] = 2,
|
||||
// [SPECIES_AGGRON] = 2,
|
||||
// [SPECIES_CASTFORM] = 0,
|
||||
// [SPECIES_VOLBEAT] = 0,
|
||||
// [SPECIES_ILLUMISE] = 2,
|
||||
// [SPECIES_LILEEP] = 2,
|
||||
// [SPECIES_CRADILY] = 0,
|
||||
// [SPECIES_ANORITH] = 0,
|
||||
// [SPECIES_ARMALDO] = 0,
|
||||
// [SPECIES_RALTS] = 1,
|
||||
// [SPECIES_KIRLIA] = 1,
|
||||
// [SPECIES_GARDEVOIR] = 1,
|
||||
// [SPECIES_BAGON] = 2,
|
||||
// [SPECIES_SHELGON] = 2,
|
||||
// [SPECIES_SALAMENCE] = 0,
|
||||
// [SPECIES_BELDUM] = 0,
|
||||
// [SPECIES_METANG] = 0,
|
||||
// [SPECIES_METAGROSS] = 0,
|
||||
// [SPECIES_REGIROCK] = 2,
|
||||
// [SPECIES_REGICE] = 2,
|
||||
// [SPECIES_REGISTEEL] = 2,
|
||||
// [SPECIES_KYOGRE] = 2,
|
||||
// [SPECIES_GROUDON] = 0,
|
||||
// [SPECIES_RAYQUAZA] = 1,
|
||||
// [SPECIES_LATIAS] = 0,
|
||||
// [SPECIES_LATIOS] = 2,
|
||||
// [SPECIES_JIRACHI] = 0,
|
||||
// [SPECIES_DEOXYS] = 0,
|
||||
// [SPECIES_CHIMECHO] = 0,
|
||||
// [SPECIES_EGG] = 1,
|
||||
// [SPECIES_UNOWN_B] = 0,
|
||||
// [SPECIES_UNOWN_C] = 0,
|
||||
// [SPECIES_UNOWN_D] = 0,
|
||||
// [SPECIES_UNOWN_E] = 0,
|
||||
// [SPECIES_UNOWN_F] = 0,
|
||||
// [SPECIES_UNOWN_G] = 0,
|
||||
// [SPECIES_UNOWN_H] = 0,
|
||||
// [SPECIES_UNOWN_I] = 0,
|
||||
// [SPECIES_UNOWN_J] = 0,
|
||||
// [SPECIES_UNOWN_K] = 0,
|
||||
// [SPECIES_UNOWN_L] = 0,
|
||||
// [SPECIES_UNOWN_M] = 0,
|
||||
// [SPECIES_UNOWN_N] = 0,
|
||||
// [SPECIES_UNOWN_O] = 0,
|
||||
// [SPECIES_UNOWN_P] = 0,
|
||||
// [SPECIES_UNOWN_Q] = 0,
|
||||
// [SPECIES_UNOWN_R] = 0,
|
||||
// [SPECIES_UNOWN_S] = 0,
|
||||
// [SPECIES_UNOWN_T] = 0,
|
||||
// [SPECIES_UNOWN_U] = 0,
|
||||
// [SPECIES_UNOWN_V] = 0,
|
||||
// [SPECIES_UNOWN_W] = 0,
|
||||
// [SPECIES_UNOWN_X] = 0,
|
||||
// [SPECIES_UNOWN_Y] = 0,
|
||||
// [SPECIES_UNOWN_Z] = 0,
|
||||
// [SPECIES_UNOWN_EMARK] = 0,
|
||||
// [SPECIES_UNOWN_QMARK] = 0
|
||||
// };
|
||||
|
||||
const struct SpritePalette gMonIconPaletteTable[] = {
|
||||
{ gMonIconPalettes[0], POKE_ICON_BASE_PAL_TAG + 0 },
|
||||
{ gMonIconPalettes[1], POKE_ICON_BASE_PAL_TAG + 1 },
|
||||
|
|
@ -1018,7 +132,7 @@ u8 CreateMonIcon(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subprior
|
|||
struct MonIconSpriteTemplate iconTemplate =
|
||||
{
|
||||
.oam = &sMonIconOamData,
|
||||
.image = GetMonIconPtr(species, personality, extra),
|
||||
.image = GetMonIconPtr(species, personality),
|
||||
.anims = sMonIconAnims,
|
||||
.affineAnims = sMonIconAffineAnims,
|
||||
.callback = callback,
|
||||
|
|
@ -1048,7 +162,7 @@ u8 CreateMonIcon_HandleDeoxys(u16 species, SpriteCallback callback, s16 x, s16 y
|
|||
.paletteTag = POKE_ICON_BASE_PAL_TAG + gSpeciesInfo[species].iconPalIndex,
|
||||
};
|
||||
|
||||
iconTemplate.image = GetMonIconTiles(species, extra);
|
||||
iconTemplate.image = GetMonIconTiles(species, 0);
|
||||
spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority);
|
||||
|
||||
UpdateMonIconFrame(&gSprites[spriteId]);
|
||||
|
|
@ -1108,17 +222,26 @@ u16 MailSpeciesToIconSpecies(u16 species)
|
|||
}
|
||||
}
|
||||
|
||||
const u8 *GetMonIconTiles(u16 species, bool32 extra)
|
||||
const u8 *GetMonIconTiles(u16 species, u32 personality)
|
||||
{
|
||||
const u8 *iconSprite = gSpeciesInfo[species].iconSprite;
|
||||
if (species == SPECIES_DEOXYS && extra == TRUE)
|
||||
iconSprite += 0x400;
|
||||
const u8 *iconSprite;
|
||||
|
||||
if (species > NUM_SPECIES)
|
||||
species = SPECIES_NONE;
|
||||
|
||||
if (gSpeciesInfo[species].iconSpriteFemale != NULL && IsPersonalityFemale(species, personality))
|
||||
iconSprite = gSpeciesInfo[species].iconSpriteFemale;
|
||||
else if (gSpeciesInfo[species].iconSprite != NULL)
|
||||
iconSprite = gSpeciesInfo[species].iconSprite;
|
||||
else
|
||||
iconSprite = gSpeciesInfo[SPECIES_NONE].iconSprite;
|
||||
|
||||
return iconSprite;
|
||||
}
|
||||
|
||||
const u8 *GetMonIconPtr(u16 species, u32 personality, bool32 extra)
|
||||
const u8 *GetMonIconPtr(u16 species, u32 personality)
|
||||
{
|
||||
return GetMonIconTiles(GetIconSpecies(species, personality), extra);
|
||||
return GetMonIconTiles(GetIconSpecies(species, personality), personality);
|
||||
}
|
||||
|
||||
void DestroyMonIcon(struct Sprite *sprite)
|
||||
|
|
|
|||
|
|
@ -938,7 +938,7 @@ static void SpriteCB_HeldMon(struct Sprite *sprite)
|
|||
sprite->y = gStorage->cursorSprite->y + gStorage->cursorSprite->y2 + 4;
|
||||
}
|
||||
|
||||
static u16 TryLoadMonIconTiles(u16 species)
|
||||
static u16 TryLoadMonIconTiles(u16 species, u32 personality)
|
||||
{
|
||||
u16 i, offset;
|
||||
|
||||
|
|
@ -964,7 +964,7 @@ static u16 TryLoadMonIconTiles(u16 species)
|
|||
gStorage->iconSpeciesList[i] = species;
|
||||
gStorage->numIconsPerSpecies[i]++;
|
||||
offset = 16 * i;
|
||||
CpuCopy32(GetMonIconTiles(species, TRUE), (void *)(OBJ_VRAM0) + offset * 32, 0x200);
|
||||
CpuCopy32(GetMonIconTiles(species, personality), (void *)(OBJ_VRAM0) + offset * 32, 0x200);
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
|
@ -992,7 +992,7 @@ struct Sprite *CreateMonIconSprite(u16 species, u32 personality, s16 x, s16 y, u
|
|||
|
||||
species = GetIconSpecies(species, personality);
|
||||
template.paletteTag = PALTAG_MON_ICON_0 + gSpeciesInfo[species].iconPalIndex;
|
||||
tileNum = TryLoadMonIconTiles(species);
|
||||
tileNum = TryLoadMonIconTiles(species, personality);
|
||||
if (tileNum == 0xFFFF)
|
||||
return NULL;
|
||||
|
||||
|
|
|
|||
|
|
@ -405,7 +405,7 @@ static void MultiMove_SetIconToBg(u8 x, u8 y)
|
|||
|
||||
if (species != SPECIES_NONE)
|
||||
{
|
||||
const u8 *iconGfx = GetMonIconPtr(species, personality, 1);
|
||||
const u8 *iconGfx = GetMonIconPtr(species, personality);
|
||||
u8 palNum = GetValidMonIconPalIndex(species) + 8;
|
||||
BlitBitmapRectToWindow4BitTo8Bit(gStorage->multiMoveWindowId, iconGfx, 0, 0, 32, 32, 24 * x, 24 * y, 32, 32, palNum);
|
||||
}
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user